Modeling of The Musculoskeletal System - 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

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 Will be covered in this Section III


II of EBME 309

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).
Example,
agonist agonist
the
Joint
(relaxes) (contracts
flexion
to flex arm)
upper Bone 2
insertion

arm and
antagonist
(contracts the lower arm rotate with respect to
each other about the elbow joint.
to extend
arm)
Muscles can only produce pull forces
antagonist
(relaxes)

extension
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
O u
Muscular
Joint Sub-System
LMT

rO FM
Vmt Lmt
u Fm
Fe
Z
Y vI/O
O'
rI Skeletal
I Sub-System
X 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 agonist-
antagonist pair may be described by a pair of
F3
rigid bodies (representing the bones) under
F1
the action of forces – both internal (such as
by muscles) and external (such as via a
interaction with the environment). Rigid
body models are defined using Newton’s G
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: W
W
F  ma (1)  F  ma CoM
: F1  F2  F3  Fn  W 
g
 aCoM
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

Mb1 the translational motion of bodies. There is


the equivalent law for the rotation of a

d2
d3 body about an axis passing through the
CoM:
d1
G
Mb2 F3
M G
 IGα (2)
W
 MG  F1  d1  F2  d2  F3  d3  In this equation M G
is the resultant
ccw  ve
(vector sum) of all the moments acting
Mb 1  Mb 2  W  0  IGα
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


agonist-antagonist pair – a flexor and an arm
extensor. Assume a moment Mp at the joint
caused by passive structures (such as
Lower
uf arm g
ligaments) that cross the joint. The upper
arms is held fixed in the horizontal position flexor θ
while the lower arm can rotate about the
elbow joint in the sagittal plane as shown. extensor Mp
We can show (later in this course) that the
ue elbow
dynamic equations that describe each muscle joint
in the model takes the form of two first
order ordinary differential equations (odes):
5

dai
 ai  fi (ai , ui ) (3)
dt
dFmi
 Fmi  fmi (Lmti , Vmti , ai ) (4)
dt

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 Tendon
ri (θ )
acceleration of the lower arm. We can show that Muscle
Insertion
the moment for each musculotendon can be written
as:

Joint θ Bone 2
Mi (θ , θ , ui )  ri (θ )Fi (Lmti (θ ), Lmti (θ )) (6)
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 ) (7)
Fme  fme (Lmte , Vmte , ae )

      
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)
x4 (t)  Fme (t) (8)
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 ) (9)
x5 (t)  θ (t)  x6

         
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


m joint
n muscle torques
neural i nputs forces
d2 i/dt d i/dt
F1 T1 1
u1
u2
u3 muscles moment M-1 1/s 1/s
un arms Tm m
Fn

Inverse Dynamics C alculations


m joint
n muscle torques
forces
d 2i /dt di/dt
F1 T1 1
moment
arms, M s s
distribution
as sumptions Tm m
Fn

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:

 
2
θˆ (t)  θ (t) dt
t2
J  (11)
t1
9

Here, θˆ (t) is the desired trajectory that we want to


track and θ (t) is the trajectory generated by the Simulated, θ (t)

Limb Angle
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
Desired θˆ(t)
the adjustments so that the error between the desired t

and current trajectories (θˆ (t)  θ (t)) decreases as we


t0 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 dx S
xS Objective and

MODEL dt
dxS Constraints
 f  x S , u, p, t  J(u), CE,I
dt

u0 u J(min)
Adjust No Yes Solution
Parameters C(sat)
Initialize ?
Parameter Optimization
Algorithm

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.

You might also like