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 2i /dt T1 moment arms, distribution as sumptions M di/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.