Open Sim Description Status and Plans Science Advisor

  • Slides: 29
Download presentation
Open. Sim Description, Status, and Plans Science Advisor Workshop June 1 -2, 2006 Clay

Open. Sim Description, Status, and Plans Science Advisor Workshop June 1 -2, 2006 Clay Anderson, Ayman Habib, Pete Loan, and Scott Delp

What is Open. Sim? Object-Oriented Framework for the Simulation, Control, and Analysis Open. Sim,

What is Open. Sim? Object-Oriented Framework for the Simulation, Control, and Analysis Open. Sim, Gait Workflow Open. Sim API CVODE, Root. Solve, SQP, SA, LAPACK, Simbody Developers: Clay Anderson (Framework) Ayman Habib (Applications) Peter Loan (Musculographics / SIMM) Saryn Goldberg, May Liu, Ilse Jonker, Jen Hicks, Chand John, … …

Original Plan (Nuclear Bomb)

Original Plan (Nuclear Bomb)

Chief Design Goals • Speed • Shareable code • Extensibility • Different Entry Levels

Chief Design Goals • Speed • Shareable code • Extensibility • Different Entry Levels – Algorithms – Modeling API – Scripting – Graphical User Interface Matlab!

Open. Sim API RKF 5 -6 CVODE … Simbody

Open. Sim API RKF 5 -6 CVODE … Simbody

Some Code • Like SIMM Dynamics Pipeline but using C++. • Platform independent –

Some Code • Like SIMM Dynamics Pipeline but using C++. • Platform independent – Windows – Mac – Linux – Other Unix flavors • CMake is a cross-platform compile system (www. cmake. org) • Swig is an automated wrapper generation facility – Java

Lowering the barrier for developers and users • Examples – Sample code – Templates

Lowering the barrier for developers and users • Examples – Sample code – Templates for extending Open. Sim (analyses, actuators, controllers) • Documentation – Open. Sim Developer’s Guide – Open. Sim API Reference (Doxygen) • Streamlined installation • Training – Workshops directed at solving your problems • Graphical User Interface (GUI)

Making Simulation Accessible- Open. Sim GUI Animation Playback Data, Model, and Simulation Navigator 3

Making Simulation Accessible- Open. Sim GUI Animation Playback Data, Model, and Simulation Navigator 3 D Visualization using VTK Plotting Simulation Progress Command Scripting Window

Investigations and Workflows • Investigation- equivalent to something you’d normally write in a main

Investigations and Workflows • Investigation- equivalent to something you’d normally write in a main routine – Optimization study – Inverse dynamics study • Workflow- a set of investigations – Gait Workflow – Subject-specific Simulation Workflow

Gait Workflow Step -1 Preprocess Experimental Data

Gait Workflow Step -1 Preprocess Experimental Data

Execution of the Gait Workflow currently % scale –Setup 900045_setup_scale. xml (seconds) % ik

Execution of the Gait Workflow currently % scale –Setup 900045_setup_scale. xml (seconds) % ik –Setup 900045_setup_ik. xml (minute) % rra –Setup 900045_setup_rra. xml (10 minutes) % cmc –Setup 900045_setup_cmc. xml (10 minutes) % perturb –Setup 900045_setup_perturb. xml (hours) Should we develop facilities for executing workflows in a GUI? – Main Open. Sim GUI – Stand-alone wizard

Preliminary Release Schedule April 2006 Open. Sim 0. 5 (alpha) documenting and testing June

Preliminary Release Schedule April 2006 Open. Sim 0. 5 (alpha) documenting and testing June 2006 Open. Sim 0. 6 (alpha) Mar 2007 Open. Sim 0. 9 (beta) • • Use of Open. Sim name space Consistency in class names and file storage Dependent on SIMM and SDFast Sept 2006 Open. Sim 0. 7 (alpha) • • API supports SIMM modeling features, switching dynamics engines and integrators SIMM muscles native GUI for visualizing models with muscles Wizard for executing the gait workflow Dec 2006 Open. Sim 0. 8 (alpha) • • • Simbody and CVODE available in Open. Sim 80% of SIMM modeling features in GUI No more dependence on SIMM / SDFast Streamlined installation documenting and broader testing June 2007 Open. Sim 1. 0 • • • 80% SIMM functionality Simbody, CVODE Gait Workflow Documentation Examples and pre-made simulations Materials for a short course August 2007 Dissemination Event • Tutorials adjunct to ASBAnnual Meeting

Some Questions… • Do we need additional concepts in Open. Sim? – sensors, contact,

Some Questions… • Do we need additional concepts in Open. Sim? – sensors, contact, … • How important is interfacing with Matlab? • What SIMM features are priorities? • What new things would be most compelling to you? – control, dynamic optimization, speed, … • When should we engage users? Who? • Are we being too ambitious? • Are there some simple wins, killer apps? • What should we be thinking about beyond the next year? – “Directed Reductionism” and Sherm’s Modeling Layer

Acknowledgements Supported by the National Institutes of Health through the NIH Roadmap for Medical

Acknowledgements Supported by the National Institutes of Health through the NIH Roadmap for Medical Research Grant U 54 GM 072970. NIH HD 45109, HD 38962, HD 33929

Why use Open. Sim? • Many of the capabilities of SIMM • Choice of

Why use Open. Sim? • Many of the capabilities of SIMM • Choice of dynamics engines – SD/Fast (proven, but costs and requires compile step) – Simbody (free, no compile step, everything but loop joints) • Choice of integrators – RKF, CVODE, … • Pipeline for creating simulations from Mo. Cap – CMC, … • Analyses • Extensible (plugins) – New actuators, controllers, analyses, …

Clinical Importance • Movement disorders are a challenging problem. • The causes are not

Clinical Importance • Movement disorders are a challenging problem. • The causes are not well understood. • Muscles are the targets of treatments. • Treatments are often unsuccessful. Asakawa et al. (2004) J Bone Jnt Surg

Subject-Specific Simulation 1. 18 m/s 3 dof back 3 dof hips 6 dof pelvis

Subject-Specific Simulation 1. 18 m/s 3 dof back 3 dof hips 6 dof pelvis 1 dof knees 1 dof ankles 78 kg, 1. 78 m 19 DOF, 92 Muscles (Delp, 1990) ~1° Tracking Accuracy ~20 min computer time

Simulations Generated with CMC Each generated with less than 10 minutes of CPU time.

Simulations Generated with CMC Each generated with less than 10 minutes of CPU time.

Limitations of CMC • CMC is a tracking algorithm, not well suited for predicting

Limitations of CMC • CMC is a tracking algorithm, not well suited for predicting emergent behavior. ü Generating a simulation that replicates a subject’s gait cycle. x Solving for theoretically most-efficient gait cycle. • CMC is dependent on the quality of the input data. – Kinematics – Ground reaction forces

Computed Muscle Control Step 1: Compute Desired Accelerations (PD Control) velocity errors position errors

Computed Muscle Control Step 1: Compute Desired Accelerations (PD Control) velocity errors position errors

Computed Muscle Control Step 2: Solve for Muscle Excitations a) Integrate forward by T

Computed Muscle Control Step 2: Solve for Muscle Excitations a) Integrate forward by T (0. 010) to compute b) Solve static optimization problem to find c) Root solve to find the muscle excitations and . to achieve that will generate . .

Computed Muscle Control Step 3: Integrate from t to t+T

Computed Muscle Control Step 3: Integrate from t to t+T

Computed Muscle Control Step 1 Step 2 Step 3 Repeat Steps 1, 2, and

Computed Muscle Control Step 1 Step 2 Step 3 Repeat Steps 1, 2, and 3, until the final time is reached.

Different Causes Suggest Different Treatments

Different Causes Suggest Different Treatments

Number of 3 D, Muscle-Actuated Simulations of Gait Liu, Jonkers, Arnold, Thelen, Anderson, Delp

Number of 3 D, Muscle-Actuated Simulations of Gait Liu, Jonkers, Arnold, Thelen, Anderson, Delp (92 Muscles) Number Yamaguchi & Zajac (9 Muscles) Anderson & Pandy (54 Muscles) Hase et al. , Sellers et at. (~60 Muscles)

Perturbation analysis *Hold other active forces constant

Perturbation analysis *Hold other active forces constant

Comparison of Joint Moments

Comparison of Joint Moments

% of total ext deg/s 2 flex Knee Extension in Early Swing for 6

% of total ext deg/s 2 flex Knee Extension in Early Swing for 6 Subjects at 4 Speeds Average Knee Acceleration Extension Phase All Subjects All Speeds