opensim description, status, and plans science advisor workshop june 1-2, 2006

Post on 31-Dec-2015

23 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

OpenSim Description, Status, and Plans Science Advisor Workshop June 1-2, 2006. Clay Anderson , Ayman Habib, Pete Loan, and Scott Delp. What is OpenSim?. Object-Oriented Framework for the Simulation, Control, and Analysis. OpenSim, Gait Workflow. OpenSim API. CVODE, RootSolve, SQP, SA, - PowerPoint PPT Presentation

TRANSCRIPT

OpenSimDescription, Status, and Plans

Science Advisor WorkshopScience Advisor WorkshopJune 1-2, 2006June 1-2, 2006

Clay Anderson, Ayman Habib, Pete Loan, and Scott Delp

What is OpenSim?

M o d e l i n gPhysics, mathematics, logic

Ap p l i c a t i o n sProblem solving

Co mpu t a t i o nResource management

SimTK.or g

Developers:Clay Anderson (Framework)Ayman Habib (Applications)Peter Loan (Musculographics / SIMM)

OpenSim API

OpenSim, Gait Workflow

CVODE, RootSolve, SQP, SA,LAPACK, Simbody

Saryn Goldberg, May Liu, Ilse Jonker, Jen Hicks, Chand John, … … … …

Object-Oriented Framework for the Simulation, Control, and Analysis

Original Plan (Nuclear Bomb)

Chief Design Goals

• Speed

• Shareable code

• Extensibility

• Different Entry Levels– Algorithms

– Modeling API

– Scripting

– Graphical User Interface

Matlab!

Simbody

RKF 5-6 CVODE …

OpenSim API

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 for extending OpenSim (analyses, actuators, controllers)

• Documentation– OpenSim Developer’s Guide

– OpenSim API Reference (Doxygen)

• Streamlined installation

• Training– Workshops directed at solving your problems

• Graphical User Interface (GUI)

Making Simulation Accessible- OpenSim GUI

3D Visualization using VTK

Command and Scripting Window

Animation Playback

Data, Model,and Simulation

Navigator

Simulation Progress Plotting

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

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 OpenSim GUI

– Stand-alone wizard

Preliminary Release Schedule

April 2006 OpenSim 0.5 (alpha)

June 2006 OpenSim 0.6 (alpha)• Use of OpenSim name space

• Consistency in class names and file storage

• Dependent on SIMM and SDFast

Sept 2006 OpenSim 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 OpenSim 0.8 (alpha)• Simbody and CVODE available in OpenSim

• 80% of SIMM modeling features in GUI

• No more dependence on SIMM / SDFast

documenting and testing

Mar 2007 OpenSim 0.9 (beta)• Streamlined installation

documenting and broader testing

June 2007 OpenSim 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 OpenSim?– 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 Research Grant U54 GM072970.

NIH HD45109, HD38962, HD33929

Why use OpenSim?

• 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 MoCap

– CMC, …

• Analyses

• Extensible (plugins)

– New actuators, controllers, analyses, …

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

78 kg, 1.78 m

19 DOF, 92 Muscles (Delp, 1990)

~1° Tracking Accuracy

~20 min computer time

3 dofhips

1 dofankles

3 dofback

1 dofknees

6 dofpelvis

1.18 m/s

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

emergent behavior.

Generating a simulation that replicates a subject’s gait cycle.

x Solving for the 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)

)]()([)]()([)()(* expexpexp tqtqktqtqkTtqTtq pv

velocityerrors

positionerrors

x

Computed Muscle Control

Step 2: Solve for Muscle Excitations

a) Integrate forward by T (0.010) to compute and .

b) Solve static optimization problem to find to achieve .

c) Root solve to find the muscle excitations that will generate .

)(min Ttfmus

)(max Ttfmus

)(* Ttfmus

)(* Ttq

)(* Ttfmus

x

x

Computed Muscle Control

Step 3: Integrate from t to t+T

x

Computed Muscle Control

Repeat Steps 1, 2, and 3, until the final time is reached.

Step 3Step 2Step 1

x

Different Causes Suggest Different Treatments

Number of 3D, Muscle-Actuated Simulations of Gait

0

25

50

75

100

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

Yamaguchi & Zajac(9 Muscles)

Anderson & Pandy(54 Muscles)

Liu, Jonkers, Arnold,Thelen, Anderson, Delp(92 Muscles)Number

Hase et al.,Sellers et at.

(~60 Muscles)

Perturbation analysis

2

( , ) ( , )( ) 2 m m i m i

m i mm

x F F t t x F t tx t F

t F

*Hold other active forces constant

0.020sect

1.0F N

Comparison of Joint Moments

All Subjects All Speeds

-6000

-4000

-2000

0

FAST SS SLOW XSLOW

-25

0

25

50

75

100

FAST SS SLOW XSLOW

GRAVITYVELOCITYMUSCLES

% o

f to

tal

Average Knee AccelerationExtension Phase

ext

d

eg/s

2

fle

x

Knee Extension in Early Swing for 6 Subjects at 4 Speeds

top related