Uploaded by GAMR GAMR

Modeling of the musculoskeletal system - 1

advertisement
1
EBME 309 – Modeling of the musculoskeletal system
Motivation
Understand and be able to develop models describing the neuro-mechanical control of
movement.
This could find applications in:
 Rehabilitation Engineering:
 Designing interventions for movement disorders caused by injuries or disease.
 Designing prostheses for missing limbs
 Sports performance
 Sports Injury prediction
 Accident reconstruction
 Occupational Health
 Man/machine interfacing
 Etc.
Course Objective
The objectives of this section of the course are:

Understand and model neural control of the mechanical properties of skeletal
muscle


Model non-muscular contributions to movement control.
Be able to derive equations of motion for movement of rigid bodies (skeletal bones)
controlled by a set of muscles

Simulate the control of one movement of rigid bodies and make useful deductions
from the simulations.
Movement Control
Movement control involves three sub-systems – neural, muscular and skeletal. The neural
sub-system provides information and coordinates the planning, control and regulation of
movement. The muscular sub-system provides the motive power and ensures appropriate
stiffness in the system; while the skeletal sub-system provides support and allows for
appropriate interaction with the environment. Injury to any one of the three sub-systems
could impair the control, coordination or execution of the movement. Our objective is to
learn how to predict the impact of any of these occurring and how to design intervention
strategies to mitigate it. It should be noted that the ability to move is central to the
2
existence of every animal. Anything that impairs this ability could bring a drastic reduction
in the quality of life of the affected individual. One function of biomechanical engineers is to
find ways that could enhance the mobility of individuals affected by injury and disease. A
thorough understanding of the workings of the intact system will help discerning the
optimal ways to do this.
Covered in Section
II of EBME 309
Will be covered in this Section III
Motor Control: Neural, Muscular, and Skeletal Components
In this section we will concentrate on modeling the muscular and skeletal sub-systems. We
will first start with the former after we have completed a broad overview of what we will
cover.
Interaction between skeletal and Muscular sub-systems
Muscles provide the system with the forces to move the
origin
skeleton and overcome the interaction forces exerted by the
environment. Muscles do this by applying forces on the bones
of the skeleton. Muscles often attach to two bones that rotate
with respect to each other about a joint. The attachment
points are often named origin (on the bone closest to the
1
head) and insertion (on the bone furthest from the head).
agonist
(relaxes)
antagonist
(contracts
to extend
arm)
extension
Example,
agonist
(contracts
to flex arm)
flexion
the
upper
Joint
Bone 2
insertion
arm and
the lower arm rotate with respect to
each other about the elbow joint.
antagonist
(relaxes)
Muscles can only produce pull forces
on bones and not push forces, hence
3
for rotation of the bones in two directions, muscles must occur in pairs – called agonist
and antagonist. Which of the two contracts and which one relaxes is coordinated by the
CNS
Bone A
u
O
LMT
rO
Muscular
Sub-System
Joint
FM
Vmt
Lmt
u
Z
Y
Fe
Fm
vI/O
O'
rI
X
I
Skeletal
Sub-System
Bone B
VI/O||OI = VMT
central nervous system (CNS). It has been observed that the amount of force a muscle
produces is affected by its length and its velocity (rate at which it contracts) in addition to
the amount of neural excitation controlled by the CNS. The length and velocity are both
affected by the location of the bones the muscle attaches to in space and the rate at which
they are rotating relative to each other. This implies that there is some kind of feedback
interaction between the skeletal and muscular sub-systems that is organized by the CNS.
Example Model equations
The conceptual model of a typical two-joint
F2
system under the action of an agonistantagonist pair may be described by a pair of
rigid bodies (representing the bones) under
the action of forces – both internal (such as
F3
F1
by muscles) and external (such as via
a
interaction with the environment). Rigid
G
body models are defined using Newton’s
Second Law of motion – which states that
Fn
F4
the resultant force acting on a body is equal
to the mass of the body times its
acceleration:
F
 ma
W
(1)
 F  ma
CoM
: F1  F2  F3  Fn  W 
W
 aCoM
g
4
In this equation
F
is the resultant (vector sum) of all the forces acting on the body, m is
the mass of the body and a is the vector
F2
of the acceleration of the center of mass
α
F1
(CoM) G of the body. This law applies to
the translational motion of bodies. There is
Mb1
body about an axis passing through the
d3
d2
d1
the equivalent law for the rotation of a
CoM:
G
Mb2
F3
M
G
 IGα
(2)
W

ccw  ve
MG  F1  d1  F2  d2  F3  d3 
Mb 1  Mb 2  W  0  IGα
In this equation
M
G
is the resultant
(vector sum) of all the moments acting
about an axis through the CoM of the
body, IG is the mass moment of inertia of
the body about the same axis through the CoM and α is the vector of the angular
acceleration of the body about the same axis through the CoM. This law applies to the
rotational motion of bodies. We will examine methods for deriving these equations in cases
of one or two connected bodies. The forces generated by the muscles enter into the skeletal
equations via the left hand sides of equations (1) and (2); thereby affecting the motion of
the body.
Consider the one-body model actuated by an
upper
arm
agonist-antagonist pair – a flexor and an
extensor. Assume a moment Mp at the joint
caused by passive structures (such as
ligaments) that cross the joint. The upper
Lower
arm
uf
arms is held fixed in the horizontal position
g
θ
flexor
while the lower arm can rotate about the
elbow joint in the sagittal plane as shown.
We can show (later in this course) that the
dynamic equations that describe each muscle
in the model takes the form of two first
order ordinary differential equations (odes):
extensor
ue
Mp
elbow
joint
5
dai
dt
dFmi
dt
 ai  fi (ai , ui )
(3)
 Fmi  fmi (Lmti , Vmti , ai )
(4)
In these equations, ai , ui , Fmi , LMTi and VMTi are the activation, neural input or excitation,
force output, length and velocity respectively of muscle i. We can also show (later in the
course) that the general term for the dynamic equation for the single moving segment in
the model (the lower arm) takes the form:


 




Iθ  Mp θ , θ  Mg θ  Mf θ , θ , uf  Me θ , θ , ue  Mexternal
(5)
In this equation, I is the moment of inertia, Mp , Mg ,
Mf , Me and Mexternal are respectively the passive,
gravity, flexor, extensor and all other external
Muscle
moments acting on the lower arm (f refers to flexor
Fi
muscle and e refers to extensor muscle). θ , θ , θ are
respectively the angle, angular velocity and angular
Bone 1
acceleration of the lower arm. We can show that
ri (θ )
the moment for each musculotendon can be written
Tendon
Muscle
Insertion
as:
Mi (θ , θ , ui )  ri (θ )Fi (Lmti (θ ), Lmti (θ ))
Joint
(6)
θ
Bone 2
Muscle Moment Mi = ri (θ ) .Fi
Here ri (θ ) is the moment arm of the force
generated by muscle i about the elbow joint. A major chunk of the rest of this course will
examine how to derive and apply the odes above. Clearly for a given set of muscle neural
inputs uf (t) and ue (t) , the only way to determine the resulting motion is by numerically
solving the three sets of differential equations (3), (4) and (5). Thus for our system above
the overall number of odes is five (two for each muscle and one for the lower arm):
af  ff (af , uf )
ae  fe (ae , ue )
Fmf  fmf (Lmtf , Vmtf , af )
Fme  fme (Lmte , Vmte , ae )


 
(7)




Jθ  Mp θ , θ  Mg θ  Mf θ , θ , uf  Me θ , θ , ue  Mexternal
6
While the first four equations are suitable for integration using Runge-Kutta or other
similar integrators, the last equation is not; because it is a second order ode. To formalize
the equations so they are all first order odes, we introduce new variables, called state
variables xi (t) as follows:
x1 (t)  af (t)
x 2 (t)  ae (t)
x3 (t)  Fmf (t)
(8)
x4 (t)  Fme (t)
x5 (t)  θ (t)
x6 (t)  θ (t)
Now we can re-write the three differential equations as:
x1 (t)  af (t)  ff (x1 , uf )
x2 (t)  ae (t)  fe (x 2 , ue )
x3 (t)  Fmf (t)  fmf (Lmtf , Vmtf , x1 )
x4 (t)  Fme (t)  fme (Lmte , Vmte , x 2 )
x5 (t)  θ (t)  x6
 

 
(9)





x6 (t)  θ (t)  Mp x5 , x6  Mg x5  Mf x5 , x6 , uf  Me x5 , x6 , ue  Mexternal / I
Now we have a set of 6 first order odes in which the right hand side is purely a function of
the inputs ( ue and uf ) and the state variables x1 (t), . . ., x6 (t) . These equations are now
easily coded for solution using any numerical integration routines such as Runge-Kutta, etc.
To stimulate the integration you need the inputs ue and uf as well as the initial condition
vector  x1 (0), . . ., x6 (0)  .
Types of Mathematical simulations with the model equations
There are two types of problems that we can solve using the dynamic equations above. In
the first case, the forces acting on the system (or the muscle inputs) are given and we are
required to determine the resulting motion. Such problems are called forward dynamic
simulation problems. If on the other hand the motion is given and we are required to
determine the forces (or the muscle inputs) that caused that motion, the problem is called
7
inverse dynamic simulation. There are also situations where the problem could arise as a
mixture of the two types of simulation.
Forward D ynamics Simulation
neural i nputs
u1
u2
u3
un
m joint
torques
n muscle
forces
F1
muscles
d2 i/dt
T1
moment
arms
Fn
M-1
d i/dt
1/s
1
1/s
m
Tm
Inverse Dynamics C alculations
m joint
torques
n muscle
forces
F1
Fn
d 2i /dt
T1
moment
arms,
distribution
as sumptions
M
di/dt
s
1
s
Tm
m
Both of these types of problems are common in biomechanics.
Use of optimization to solve unknown forces and/or muscle inputs
If the neural inputs to the muscles (example ue and uf above) are all known, then we can
do a forward dynamics simulation to determine the motion. Often, it is not known what
the inputs should be for a given desired motion. There are two common ways for
estimating the muscle inputs required to generate a given motion of the skeletal system:
1. By manual trial-and-error
2. By computational trial-and-error
8
The first way is difficult because the inputs to the muscles could be varying with time. In
addition, the larger the number of muscles, the more complex the problem becomes. The
second method relegates the problem to a computer. The technique used by computers to
solve the problem is through what is called optimization. A typical optimization problem
seeks to find a set of inputs that can make a certain quantity of interest as small (or as
large) as possible. This later quantity is called the objective function and the inputs to the
system that are manipulated to change the objective function are often called the decision
variables. The mathematical function that is used to solve the optimization problem is
called the optimizer. Additional information could be provided to the optimizer so that it’s
guesses will concentrate on fruitful regions of the search space. This additional information
takes the form of mathematical relationships called constraints. Constraints could be
equality (the relationship must equal a given value) or inequality (the relationship must be
satisfied within a specified boundary). A typical optimization problem statement takes the
form:
Find the set of variables (x1, x2, …, xn) that causes the function J(x1, x2,…, xn) to assume
a minimum value subject to the constraints f(x1, x2,…, xn) = 0, g1 <= g(x1, x2,…, xn) <=
g2 and xil <= xi <= xih. This statement can be summarized as follows:
Minimize J(x 1 , x 2 , ..., xm )
x1 ,x 2 ,...,xm
subject to:
(10)
f (x1 , x 2 , ..., xm )  0
gl  g(x1 , x 2 , ..., xm )  gu
xl  x i  x u
The functions f and g could be linear or nonlinear in the variables. The last constraint is
called a bound constraint as it requires that the variables must lie within specified lower
and upper bounds.
Example: Suppose we have a limb that rotates about a joint through an angle θ (t) and we
want to stimulate the muscles crossing that joint so as to make the limb follow a given
trajectory defined as θˆ (t) . The objective function for such a problem could take the form:
J

t2
t1


2
θˆ (t)  θ (t) dt
(11)
9
Here, θˆ (t) is the desired trajectory that we want to
current choice of muscle inputs. If the two do not agree,
then we adjust the muscle input and try again. The
function of the optimizer is to make intelligent choice of
Simulated, θ (t)
Limb Angle
track and θ (t) is the trajectory generated by the
Desired θˆ(t)
the adjustments so that the error between the desired
and current trajectories (θˆ (t)  θ (t)) decreases as we
t0
t
tf
make more adjustments to the muscle inputs.
The steps in solving the optimization problem for a typical musculoskeletal model problem
are summarized in the following flowchart:
MUSCULOSKELETAL
MODEL
dxS
 f  x S , u, p, t 
dt
u0
Initialize
Parameter
u
dx S
dt

Adjust
Parameters
Objective and
Constraints
xS
J(u), CE,I
No
Optimization
Algorithm
J(min)
C(sat)
?
Yes
Solution
There is a wide variety of optimizers in Matlab. Typical ones we will be using are fmincon
and patternsearch which are capable of handling nonlinear and bound constraints.
This completes our overview of what we will cover in the rest of the course. We are now
ready to examine these concepts in a little more detail.
Download