120 likes | 360 Views
MEGN 536 – Computational Biomechanics. Prof. Anthony Petrella Musculoskeletal Modeling & Inverse Dynamics. MSM: Computing Muscle Forces. With ID problem for arm curl… Six equations (3 per body): Six unknowns: F Ex , F Ey , M E , F Ox F Oy , M O Determinate system
E N D
MEGN 536 – Computational Biomechanics Prof. Anthony Petrella Musculoskeletal Modeling & Inverse Dynamics
MSM: Computing Muscle Forces • With ID problem for arm curl… • Six equations (3 per body): • Six unknowns: FEx, FEy, ME, FOxFOy, MO • Determinate system • Add muscle forces… • Same eq’s + more unknowns • Indeterminatesystem • Need optimization shoulder hand elbow
MSM: Computing Muscle Forces • Reaction moment (joint torque) is created by muscle forces spanning the joint • Reaction force is created by resultant of muscle forces and contact force Muscle Forces & Contact Inverse Dynamics
MSM: Biarticular Muscles • Works the same way as uniarticular case • Consider all muscle forces that cross the joint Muscle Forces & Contact Inverse Dynamics
MSM: Muscle Moment Arms • Muscle moment arm is perpendicular distance between joint center and muscle line of action • The vector for the cross product can point to any location on muscle line of action • Moment arm is perpendicular… …but cross product takes care of this automatically
MSM: Muscle Recruitment Problem • Muscle forces make MSM system indeterminate, also referred to as redundant system… • For example, several knee extensor muscles contribute to extensor moment… no unique solution • How to decide distribution of force among “parallel” muscles? This is referred to as the muscle recruitment problem • Something like… min (ai) strong muscles do work first • How about… min max(ai) extreme sharing across all m’s • Most common… min (aip = 2 or 3) a reasonable balance, there is sharingamong muscles, but strong still work a bit more • AnyBody default… min (ai3)
Muscle Recruitment: Optimization Problem • Design vector: {ai} = vector of muscle activations • Objective function: G = (ai3) • Recall… forces expressed as F = a * Strength, where activation restricted to range [0,1] • Lower bound (0): muscle forces cannot be negative • Upper bound (1): muscles have finite strength • Constraints: • 0 ≤ ai≤ 1 (can be two inequality constraints or LB + UB) • Muscle forces must also satisfy moment equation(s)… (equality constraint(s))
Muscle Recruitment: Optimization Problem • Constraints: • Muscle forces must also satisfy moment equation(s)… (equality constraint(s)) • If you want to use Aeq and beq, you must expand the cross products into scalar components so the constraint equations are linear • If you wish to use the rxf() function for the moments, you’ll need to implement a non-linear constraint function (which is easy and the better way to do it)
Muscle Recruitment: Optimization Problem • Non-linear constraints… from the MATLAB Help: