You are viewing the documentation for OpenSim 2.4. Are you looking for the latest OpenSim 4.0 Documentation?
Site Index
Space Index
|
|||||||||||||||||||||||||||||||
0-93D ViewsThe 3D View windows allow you to visualize your models within OpenSim to inspect your models’ topologies or their kinematics during simulations. Topics covered in this section include: Creating and Naming 3D Views Navigating the 3D View Window User Prefe
|
AAbout OpenSimOpenSim provides a graphical user interface (GUI) and an application programming interface (API) for loading, manipulating, simulating, and analyzing neuromusculoskeletal models. Both are included in the binary releases that can be downloaded from the Op
Acknowledgements
Acknowledgments OpenSim was developed as a part of SimTK and funded by the Simbios http://simbios.stanford.edu National Center for Biomedical Computing through the National Institutes of Health and the NIH Roadmap for Medical Research, Grant U54 GM072970.
Adding New Functionality
There are four new functionalities covered in this guide that you may want to include: Next: Creating a Controller
Additional Resources and Help
You can learn more at the OpenSim project site at http://simtk.org/home/opensim http://simtk.org/home/opensim. The project site provides a forum for users to ask questions and share expertise. You can also get additional information in the following artic
Advanced Options
A few advanced options are also available through the Advanced… button of the curve creation panel. These are explained as follows: worddav08c1ea277be2fbd6b30d72593fbc5b32.png Rectify: Takes the absolute value of the quantity to be plotted Clamp: The valu
Analyses
The Analyze Tool enables you to analyze a model or simulation based on a number of inputs that can include time histories of model states, controls, and external loads applied to the model. A typical use case is to analyze an existing simulation, which ma
API Upgrade Notes for OpenSim 2.4
API Users should be aware of several changes to the OpenSim API in 2.4: A note to API users with existing plugins and main programs: Both OpenSim libraries and its dependency on Simbody libraries are being simplified and some libraries (such SimTKcpodes.
Appending Data to a Motion
To append data from a motion file to a motion that is already loaded into OpenSim: worddav4774858788423d9a52a5b2fa2126589f.png Expand the Motions branch in the Navigator. Right mouse click on the desired motion and select Append Data. OpenSim will open
Authors
Authors The following people have contributed to the information on this wiki by helping to develop the user and developer's guide, examples, and other materials: Frank Anderson Scott Delp Matt DeMers Eran Guendelman Ayman Habib Samuel Hamner Jennifer Hic
Available SimTk Numerical Methods
Most of the SimTK numerical methods you will need are wrapped by the OpenSim API, so you will not need to access them directly through SimTK. However, many such numerical methods are available if you need them. Some of the most commonly used are: Linear a
|
||||||||||||||||||||||||||||||
BBasic Geometry and MechanicsIn this section, we provide information on several basic SimTK classes, all based on the small Vec and Mat classes described above, that are used in the OpenSim API to deal with geometrical and mechanical concepts: Stations (points) Stations are simply po
Batch Processing with Matlab
Edith Arnold created a set of instructions and example materials to demonstrate how to do use Matlab to interact with OpenSim for batch processing. These files are hosted in the Downloads section of her SimTK project, The Musculoskeletal Modeler's Kitchen
Building API Examples
This page contains instructions on building example APIs. We will use the tug-of-war Example (Located in your OpenSimInstallationDirectory\sdk\APIExamples\ExampleMain folder) as an example. On Windows Prepare a working directory: Copy the example folder f
Building GUI Installer
Installer creation instructions ( as of 08/06/12). Pre-requisites on the Machine Software: VisualStudio 2008+ Pro. CMake 2.8.8 Swig 2.0.4 Netbeans 7.0.1 with JRE 1.6x Resource Hacker (reshacker) used to change the icons in the Netbeans generated installer
Building OpenSim from Source
This document provides instructions for building OpenSim from source. Please note the following: Steps and settings may vary depending on the configuration of your system. Building from source is challenging and, as a non-commercial entity, we have limite
Building the GUI
Prerequisites An installed version of the OpenSim libraries: these are either built from source then installed or downloaded and included with some distribution of OpenSim (that is consistent with the source you're using) Download NetBeans IDE with JD
|
CCat Neck ModelA model was constructed to represent the moment-generating characteristics of cat neck muscles. This model consisted of four components: bone geometry, muscle geometry, muscle force-generating parameters, and joint kinematics. The surfaces of the skull, C
Changing the Function Type
The Type box lets you change the type of function used to interpolate between the control points. Below is a description of each type. natCubicSpline – A natural cubic spline is a third-order function with second derivatives equal to zero at the first and
Checklist - Evaluating your Simulation
The following is a list of necessary, but not sufficient, questions for evaluating your simulation. You may not be able to answer "yes" to all of these questions, but if the answer is "no", you should be able to provide a plausible explanation to convince
Closing a Motion
To close a motion: worddave9df38aa0bde2fa6706e19e8d264dc90.png Expand the Motions branch in the Navigator. Right mouse click on the desired motion and select Close. Next: Saving a Model Previous: Appending Data to a Motion Home: Loading and Saving Models
CMC Settings Files and XML Tag Definitions
This section of the chapter covers how to control CMC execution. The properties governing execution are contained in XML files. The topics covered in this section include: CMC Setup File Execution of the CMC tool is controlled by properties specified in
Collecting Experimental Data
The sections below outline our suggestions for collecting high quality experimental data for use in analyzing human and animal motion and generating simulations. When you start collecting experimental data to analyze motion and generate dynamic simulation
Computed Muscle Control
In this section we will cover: Getting Started with CMC How CMC Works How to Use the CMC Tool' CMC Settings Files and XML Tag Definitions Next: Getting Started with CMC
Coordinate Controls and Poses
The topics included in this section are: Opening and Closing the Coordinates Window When you launch OpenSim, the Coordinates window is opened in the same panel as the Navigator window. As with other windows in OpenSim, you can move the Coordinates window
Coordinates and Utilities
The topics covered in this section include: Laboratory Coordinates Every set of (x, y, z) coordinates obtained from a motion capture system is given relative to some coordinate system. Typically, this coordinate system is called the laboratory coordinate
Coordinates Window
The Coordinates window displays all of the joint coordinates (degrees of freedom) in a model, and provides an interface for changing their values. It displays only the coordinates in the current model, which can be set using the Navigator window please vi
Creating a Controller
Overview In this section, we will add to the tug-of-war example from Chapter 2 by creating a controller that will calculate excitations for the two muscles in the model. The controller we will build computes excitations that naively try to track a desired
Creating a Controller Part One
The steps covered in part one are: Defining the desired trajectory of the model The desired trajectory for the model is a sinusoid that starts out exactly halfway in-between the left and right walls (at the origin z = 0), moves toward the right wall (to z
Creating a Controller Part Two
The steps covered in part two are: Writing the main() To run a forward dynamics simulation using our controller, we can write a main program (as in Chapter 2). Our main program below initializes the model, attaches a controller to the model, and runs a fo
Creating a Customized Actuator
In this exercise, we will create a specific type of actuator that implements a spring with controllable stiffness. The source code and associated files for this example come with the OpenSim 2.0 distribution under the directory: C:\Program Files\OpenSim 2
Creating a Customized Muscle Model
In this section, we will create a muscle model that characterizes fatigue. We will then adapt the example from Chapter 2 to use this new type of muscle model. The resulting source code and associated files for this example come with the OpenSim 2.0 distri
Creating an Actuator Part One
The steps covered in part one are: Creating Your New Class Setting up a working directory Before we examine the code, you will need to set up a working directory. This process is very similar to that described in Section 3.2. Launch CMake. Set the /Custom
Creating an Actuator Part Two
The steps covered in part two are: Using the ControllableSpring (toyLeg_example.cpp) We can now use the ControllableSpring class in an example to see its effects. The toyLeg_example.cpp file we have provided implements a toy leg model that is driven by a
Creating an Optimization
The steps to creating an optimization are: Overview In this section, we will write a main program to perform an optimization study using OpenSim. We will build it up in pieces, starting by programmatically loading an existing OpenSim model. The model will
Creating and Naming 3D Views
You can have as many 3D Views as needed in order to examine your models from various angles. Specific uses of the 3D View windows include: Visualization of objects associated with models, for example, forces and moments applied to a model Visualization o
Creating and Using Plugins
The general idea is that OpenSim is made up of a set of dynamic libraries (dlls on windows). User plugins are built as their own dlls. Each library "registers" a set of classes that it defines and are available for use. By writing a new library and using
Creating OpenSim GUI Modules
This content was developed by Hubert Soyer. Creating a module The user interface shipped with OpenSim is built upon the Netbeans Platform. For any GUI specific issues not concerning the access to OpenSim data, the Netbeans Platform documentation is the ri
Creating Your Own Analysis
In the previous chapter, we created a main program that built a new OpenSim model and performed a forward simulation on it. Another way to utilize the OpenSim API is to use it to create new kinds of objects that are not available in OpenSim. One particul
Creating Your Own Analysis Part One
The steps included in part one are: Build a Body Position Analysis from the Template In this example, you will learn how to a build and use an Analysis. The Analysis itself is a simple one that outputs the position of the center of mass of each body in th
Creating Your Own Analysis Part Two
Build a Body Position, Velocity, and Acceleration Analysis The Analysis from the previous section outputs a body's position. We will now extend it to also output the body's velocity and accelerations. Below, we will show you snippets of the existing code
Curve Creation Panel
The topics covered in this section include: Creating a Curve in the Plotter Curves displayed in the plot panel are either based on data generated by OpenSim (built-in curves) or read from an external source (external curves). The general process for creat
Custom Muscle Model Part One
The steps covered in part one are: The header file (LiuThelen2003Muscle.h) We start defining our new muscle model by creating a header file. The model will be based on Thelen2003Muscle, and will include fatigue effects as defined in the following paper: L
Custom Muscle Model Part Two
The steps covered in part two are: Example program To illustrate the new muscle model, we will modify the tug-of-war example described in Performing a Simulation so that a LiuThelen2003Muscle pulls against a Thelen2003Muscle. We will run two five-second f
|
||||||||||||||||||||||||||||||
DDebugging a plugin in Visual StudioHere a a few simple introductory steps to debugging an OpenSim plugin that you may be creating in the OpenSim API using Visual Studio: 1) Visual Studio Load the plug-in project file and Set compile mode to “Release with Debug Info” (RelWithDebInfo) 2)
Debugging in OpenSim
This page contains information and tips on debugging in OpenSim source code. In Visual Studio: To avoid building the entire test suite and just run a particular program/test case, do the following: Insert breakpoints in the program. Right click on the pro
Deformable Lower Extremity Model
We have developed a graphics-based model of the human lower extremity with a "deformable" femur. This model characterizes the geometry of the pelvis, femur, and proximal tibia, the kinematics of the hip and tibiofemoral joints, and the paths of the medial
Developer Pages
The following links are intended for project members of OpenSim using the source code. Please not before you proceed that it is strongly recommended that you use the API and write plugins. This saves you a great amount of overhead in building and further
Developer's Guide
Guide Overview OpenSim enables users to create computer models of the musculoskeletal system and create dynamic simulations of movement. Individuals who read this guide will learn advanced programming features of OpenSim through illustrations and exercise
Doxygen How-To
Introduction According to Wikipedia: Doxygen is a tool for writing software reference documentation. The documentation is written within code, and is thus relatively easy to keep up to date. Doxygen can cross reference documentation and code, so that the
Dynamics Theory and Publications
Simbody: multibody dynamics for biomedical research Michael Sherman, Ajay Seth, Scott L. Delp Procedia IUTAM 2 (2011) 241–261 Minimal formulation of joint motions for biomechanisms Ajay Seth, Michael Sherman, Peter Eastman, Scott Delp Nonlinear Dynamics
|
EEditing Attachment PointsThe paths of the muscles can be modified by selecting attachment points and moving them to new locations in the reference frames of the bodies to which they are attached. You can select multiple attachment points on multiple muscles and move them at the s
Editing Control Points
Controls points are used to define the shape of the function. The following operations are possible when working with control points: select: To select a control point, use ctrl+left mouse on the point. To select multiple points, use ctrl+shift+left mouse
Ellipsoid Wrapping Algorithms
To overcome numerical instabilities involved with computing the optimal path over the surface of an ellipsoid, OpenSim allows you to choose between three different algorithms for calculating muscle paths over ellipsoidal wrap objects. The hybrid method wo
Evaluating a Musculoskeletal Model
Getting Started: Defining your Research Goals for the Model What results do I need to answer my research question? What elements of a model might these results be sensitive to? In what ranges will my study be conducted and in what ranges has the model bee
Example - Estimating Joint Reaction Loads
Matt DeMers gave a webinar demonstrating how to use OpenSim to estimate Joint Reaction Loads. You can find a link to watch the webinar and get the example files here: http://www.stanford.edu/group/opensim/support/event_details.html?id=13&title=Webinar-E
Example - Forward Simulation of Stance and Swing
To present some of the tools and capabilities of OpenSim, we will use a simplified model (leg6dof9muscles.osim) throughout this example. The model consists of the pelvis, thigh, shank, and foot segments along with the psoas major, gluteus maximus, rectus
Example - Model Editing
Purpose In this example, you will add a body and an actuator to an existing OpenSim model by editing its xml file. You can find the model file (arm26.osim) in the examples folder under your OpenSim installation directory. You will need to download an XML
Examples and Tutorials
There are many tutorials and examples to help you learn how to use OpenSim. The examples listed below move from introductory to more advanced: Introductory Tutorials and Examples Tutorial 1 - Intro to Musculoskeletal Modeling Tutorial 2 - Simulation and
Excitation Editor
The Excitation Editor allows you to visually inspect and edit muscle excitation patterns. This can be useful when specifying the input for a forward dynamic simulation (Forward Dynamics) or when examining the outputs of a control algorithm that solves for
Excitation Editor Command Panel
The command panel in the top of the Excitation Editor window allows you to load excitations from an XML file, save them to files, or create a new set of excitations for the current model. Details about the specific commands are described below: Load…: Whe
Excitation Editor Control Panel
The control panel, located in the bottom-right of the Excitation Editor, allows you to apply operations to selected points in multiple curves, as well as to excitations as a whole. The control panel display reflects these different pieces of functionality
Excitation Tree and Excitation Grid Panel
The topics covered in this section include: Overview The excitation tree and the excitation grid panel are the parts of the Excitation Editor that allow you to control the layout of the muscle excitations (or controls, in general) that are displayed. They
Exporting a SIMM Model
To export an OpenSim model as a SIMM model: worddav98498f380103dc88159dd426b7f4cab5.png Select File → Export SIMM Model… from the OpenSim main menu bar. From the Export SIMM Model window that appears, click the folder icons to select the location to save
Exporting and Printing
The topics covered in this section include: Writing Data to External Files You can save the data representing the curves to use at a later time within OpenSim or to import into another application, such as Excel. The saved file uses the .sto format, text
Extending OpenSim’s Capabilities
Overview OpenSim provides several mechanisms for extending its existing capabilities by either adding new model elements, computing new quantities, or computing existing quantities in a new way. For example, you may want to model the drag acting on bodies
|
||||||||||||||||||||||||||||||
FForward DynamicsIn this section we will cover: Next: Getting Started with Forward Dynamics
Forward Simulation of Stance Phase
Creating a Muscle-Driven Simulation of the Stance Phase of Gait To present some of the tools and capabilities of OpenSim, we will use a simplified model (leg6dof9muscles.osim) throughout this example. The model consists of the pelvis, thigh, shank, and fo
Forward Simulation of Swing Phase
To present some of the tools and capabilities of OpenSim, we will use a simplified model (leg6dof9muscles.osim) throughout this example. The model consists of the pelvis, thigh, shank, and foot segments along with the psoas major, gluteus maximus, rectus
Forwards Dynamics Setup Files and XML Tags
The topics covered in this section include: Setup File and XML Tag Definitions These sample XML files are from the examples/Gait2354_Simbody directory and are part of the OpenSim distribution. Example: XML file for the setup file for forward dynamics <?xm
Frequently Asked Questions
Frequently asked question are broken up into 5 categories: It also contains quicklinks to the following buzz words (not all questions have buzz words): Frequently Asked Questions | Frequently Asked Questions | Frequently Asked Questions | Frequently Asked
Function Editor
The Function Editor allows you to view and modify the parameters of a model that are functions, such as the force-length curve of a muscle or a joint constraint function. The functions are defined using control points and a function type. You can add, del
|
GGait 2392 and 2354 ModelsGait 2392 and 2354 Models The Gait 2392 Model and Gait 2354 Model are three-dimensional, 23 degree-of-freedom computer model of the human musculoskeletal system. The models were created by Darryl Thelen, Univ. of Wisconsin-Madison, and Ajay Seth, Frank C
Gait 2392 Max Isometric Muscle Force
Comments on Gait2392 Max Isometric Muscle Force Samuel Hamner, September 12, 2008 There were some notes that were not transferred to the gait2392 model when it was converted from SIMM. The comment states "Includes the 43 muscles specified in the Del
General Modeling and Simulation Publications
OpenSim: Open-Source Software to Create and Analyze Dynamic Simulations of Movement Scott L. Delp, Frank C. Anderson, Allison S. Arnold, Peter Loan, Ayman Habib, Chand T. John, Eran Guendelman, and Darryl G. Thelen IEEE TRANSACTIONS ON BIOMEDICAL ENGINE
Getting OpenSim
OpenSim is available for download from Simtk.org. The following sections describe how you access OpenSim from the website: Log In to SimTK.org Download Installation Program Log In to SimTK.org image2011-11-23 11:11:54.png Connect your browser to the Simtk
Getting Started as a Developer
This section describes some basic technical background, the prerequisites to build and run the examples in the chapters to follow, and a step-by-step example: Next: Technical Background
Getting Started with Analyses
The topics covered in this section include: How it Works The Analyze Tool steps in time through a set of input data specifying the state of a model; at each time step, the tool runs a set of analyses on the model. Available analyses include: Kinematics: R
Getting Started with CMC
The purpose of Computed Muscle Control (CMC) is to compute a set of muscle excitations (or, more generally, actuator controls) that will drive a dynamic musculoskeletal model to track a set of desired kinematics in the presence of applied external forces
Getting Started with Forward Dynamics
Given the controls (e.g., muscle excitations) computed by the Computed Muscle Control (CMC) or another approach, the Forward Dynamics Tool can drive a forward dynamic simulation. A forward dynamics simulation is the solution (integration) of the different
Getting Started with Inverse Dynamics
The Inverse Dynamics (ID) Tool determines the generalized forces (e.g., net forces and torques) at each joint responsible for a given movement. Given the kinematics (e.g., states or motion) describing the movement of a model and perhaps a portion of the k
Getting Started with Inverse Kinematics
The Inverse Kinematics (IK) Tool steps through each time frame of experimental data and positions the model in a pose that "best matches" experimental marker and coordinate data for that time step. This "best match" is the pose that minimizes a sum of wei
Getting Started with RRA
The purpose of residual reduction is to minimize the effects of modeling and marker data processing errors that aggregate and lead to large nonphysical compensatory forces called residuals. Specifically, residual reduction alters the torso mass center of
Getting Started with Scaling
The Scale Tool alters the anthropometry of a model so that it matches a particular subject as closely as possible. Scaling is typically performed by comparing experimental marker data to virtual markers placed on a model. In addition to scaling a model, t
Getting Started with Static Optimization
Static optimization is an extension to inverse dynamics that further resolves the net joint moments into individual muscle forces at each instant in time. The muscle forces are resolved by minimizing the sum of squared (or other power) muscle activations.
Getting Started with the OpenSim Source
This page is a centralized reference of starting points for an OpenSim developer working directly with the OpenSim source code. We grant read access to anyone who requests it. If you only wish to have read access to the source code, you can skip steps 3 &
Graphical User Interface
This chapter introduces the basic components of the OpenSim Graphical User Interface (GUI), including menus, windows, and the toolbar: Next: Menus
Guide to OpenSim Workflow and Tools
Overview of the OpenSim Workflow Overview of the OpenSim Workflow Scaling Getting Started with Scaling Inverse Kinematics Getting Started with Inverse Kinematics Inverse Dynamics Getting Started with Inverse Dynamics Static Optimization Getting Started wi
|
||||||||||||||||||||||||||||||
HHow CMC WorksAt user-specified time intervals during a simulation, the CMC tool computes muscle excitation levels that will drive the generalized coordinates (e.g., joint angles) of a dynamic musculoskeletal model towards a desired kinematic trajectory. CMC does this
How Forward Dynamics Works
Musculoskeletal Model Dynamics In contrast to inverse dynamics where the motion of the model was known and we wanted to determine the forces and torques that generated the motion, in forward dynamics, a mathematical model describes how coordinates and th
How IAA Works
The topics covered in this section include: Equations of Motion The equations of motion (EOMs) of an OpenSim model are given by: IAA1.png , where M is the mass matrix, q, are the generalized coordinates, G, is the generalized force due gravity, V, is the
How Inverse Dynamics Works
The classical equations of motion may be written in the following form: InverseDynamics1.png where N is the number of degrees of freedom; InverseDynamics2.png are the vectors of generalized positions, velocities, and accelerations, respectively; InverseD
How Inverse Kinematics Works
The IK tool goes through each time step (frame) of motion and computes generalized coordinate values which positions the model in a pose that "best matches" experimental marker and coordinate values for that time step. Mathematically, the "best match" is
How RRA Works
The topics covered in this section include: Overview Residual reduction is a form of forward dynamics simulation that utilizes a tracking controller to follow model kinematics determined from the inverse kinematics. Computed muscle control (CMC) serves as
How Scaling Works
The topics covered in this section include: Overview Scaling is performed based on a combination of measured distances between x-y-z marker locations and manually-specified scale factors. The marker locations are usually obtained using motion capture equi
How Static Optimization Works
As described in Inverse Dynamics, the motion of the model is completely defined by the generalized positions, velocities, and accelerations. The Static Optimization Tool uses the known motion of the model to solve the equations of motion for the unknown g
How to Run an OpenSim Workshop
Define intended audience, topics, and agenda: Beginning vs. Advanced user Will participants bring their own projects and/or work on prepared examples and exercises? Beginning Workshops: Mix lecture, demo, and hands-on example Examples should ideally have
How to Use IAA Tool
The topics covered in this section include: Command-line Execution The Induced Acceleration Analysis is run using the command analyze -S <setup file name>, for example, analyze -S subject01_Setup_IAA.xml Setup Files and XML Tag Definitions Induced Acceler
How to Use the Analysis Tool
The topics covered in this section include: The Analyze Tool is accessed by selecting Tools -> Analyze… from the OpenSim main menu bar. Like all tools, the operations performed by the Analyze Tool apply to the current model. The name of the current model
How to Use the CMC Tool
How to Use the GUI The computed muscle control tool is accessed by selecting Tools → Computed Muscle Control… from the OpenSim main menu bar (figure below). Like all tools, the operations performed by the computed muscle control tool apply to the current
How to Use the Forward Dynamics Tool
How to Use the GUI The Forward Dynamics Tool is accessed by selecting Tools → Forward Dynamics… from the OpenSim main menu bar. Like all tools, the operations performed by the Forward Dynamics Tool apply to the current model. The name of the current model
How to Use the IK Tool
The topics covered in this section include: How to Use the GUI To launch the IK Tool: worddav81d5f61c602bdfb35ee9d49ff330780d.png Select Tools → Inverse Kinematics from the OpenSim main menu bar. The Settings pane is used to specify parameters related to
How to Use the Inverse Dynamics Tool
The topics covered in this section include: How to Use the GUI The inverse dynamics tool is accessed by selecting Tools → Inverse Dynamics… from the OpenSim main menu bar. Like all tools, the operations performed by the inverse dynamics tool apply to the
How to Use the RRA Tool
The topics covered in this section include: How to Use the GUI The computed muscle control tool is accessed by selecting Tools → Reduce Residuals … from the OpenSim menu. The RRA Tool is governed by three tabs: worddavd18af869ddf5417f2c3884beabd90208.png
How to Use the Scale Tool
The topics covered in this section include: How to Use the GUI The Scale Tool is accessed by: Select Tools → Scale Model... from the OpenSim main menu bar. You need the model you want to be scale to be current. To learn how to make a model current visit
How to Use the Static Optimization Tool
The topics covered in this section include: How to Use the GUI To launch the Static Optimization Tool, select Static Optimization… from the Tools menu. The Static Optimization Tool dialog window (figure below), like all other OpenSim tools, operates on th
Human Neck Model
The muscles of the neck generate movements of the head and help maintain stability of the cervical spine. We have used quantitative descriptions of muscle architecture and musculoskeletal geometry to develop a biomechanical model of the human neck. The mo
|
IID Settings Files and XML TagsThe topics covered in this section include: Setup File and XML Tag Definitions The settings file is an XML file whose tags specify properties to be used by OpenSim for the inverse dynamics analysis. The XML tags used are defined in the following sections.
IK Settings Files and XML Tag Definitions
The topics covered in this section include: Inverse Kinematics Setup File There are three properties that need to be specified in an inverse kinematics setup file: The model to which the IK solver is to be applied; The marker and coordinate error weightin
Importing a SIMM Model
Models that were created using Musculographics' SIMM (Software for Interactive Musculoskeletal Modeling) toolkit can be imported into OpenSim. To import a SIMM model: worddave64f4f301d375b147528f479ed1ac23b.png Select File → Import SIMM Model… from the Op
Induced Acceleration Analysis
The Induced Acceleration Analysis is used to compute accelerations caused or "induced" by individual forces acting on a model, for example, the contribution of individual muscle forces to the mass center acceleration. Typically, induced accelerations of g
Inputs and Outputs IAA
Inputs and Outputs The inputs for setting up the Analyze Tool consists of (see Analyses http://simtk-confluence.stanford.edu:8080/display/OpenSim/Analyses): OpenSim model [.osim file] (same as input to CMC) External loads [.xml file] applied to the model
Installation Guide
This section covers how to install OpenSim on a computer running one of the following Microsoft® Windows® operating systems: Vista®, XP, Windows 7. Next: Getting OpenSim
Installing OpenSim
To install OpenSim you will need to: Exit All Programs Run Installation Program Exit All Programs It is recommended that you exit all programs, especially existing copies of OpenSim, before you run the installation program. Also, you should temporarily di
Introducing OpenSim
This chapter gives an overview of the OpenSim software's capabilities and what is included in this user's guide. The topics covered in the section include: Next: Welcome to OpenSim
Inverse Dynamics
In this section we will cover: Getting Started with Inverse Dynamics How Inverse Dynamics Works How to Use the Inverse Dynamics Tool ID Settings Files and XML Tags Next: Getting Started with Inverse Dynamics
Inverse Kinematics
In this section, we provide a conceptual review of the inputs and outputs of the Inverse Kinematics (IK) tool, a set of troubleshooting tips and best practices, as well as how to use the IK tool in OpenSim: Getting Started with Inverse Kinematics How Inve
Inverse Kinematics Tasks File
The topics covered in this section include: The inverse kinematics (IK) tasks file is an external XML file containing the <IKTaskSet> referred to from the main Scale Setup File. In the example below, the IK tasks file is gait2354_Scale_Tasks.xml. The IK t
|
||||||||||||||||||||||||||||||
JJava NotesGeneral Preferences are stored in registry on windows, and elsewhere in linux. See this http://www.onjava.com/pub/a/onjava/synd/2001/10/17/j2se.html?page=2. Swing Text fields After a user edits a text field, the new value should be committed in response
Joint Reactions Analysis
The topics covered in this section include: JointReaction is an OpenSim Analysis for calculating the joint forces and moments transferred between consecutive bodies in a model. These forces and moments correspond to the internal loads carried by the joint
|
K |
||||||||||||||||||||||||||||||
LLicense for OpenSim 2.4The following license applies to OpenSim 2.4 Copyright (c) 2005-2011 Stanford University. All rights reserved. Use of OpenSim software in binary form is permitted provided that the following conditions are met. (1) The software is used only for non-comme
Linux Build
OUT OF DATE Building OpenSim in Linux Requirements See section on BioX Cluster below for additional things necessary to get it running in that environment CMake: download and install the binary one Xerces: Just download and install a xerces binaries and
Loading a Motion
To animate a model, load an associated motion file (file type: .mot) into OpenSim: worddav0f1d1dccff321dd9b66ccd06b58715b8.png Select File →Load Motion… from the OpenSim main menu bar. In the window that appears, locate and select the desired motion file
Loading and Saving Models and Motions
This section covers the basics of how to open and save an OpenSim model, how to load a motion into OpenSim, and how to import and export SIMM models within the OpenSim GUI: Next: Opening a Model
Lower Extremity Model
We have developed a seven segment, seven degree-of-freedom model of the human lower extremity to examine how surgical changes in musculoskeletal geometry and muscle architecture affect muscle force and its moment about the joints. This model represents a
Lower Extremity Model 2010
Lower Limb Extremity Model 2010 http://nmbl.stanford.edu/resources/images/gold_square.gif Download model here https://simtk.org/project/xml/downloads.xml?group_id=324#package_id494 The Lower Limb Extremity Model 2010 (Arnold 2009) is a three-dimensional c
|
MManual Scaling FileThe manual scale factors can be set using the <ScaleSet> and </ScaleSet> tags. <ScaleSet> is a set consisting of <Scale> tags, each of which gives manual scale factors as described below. An example of a manual scaling file is shown below: <scales> Tag Ea
Marker (.trc) Files
The topics covered in this section include: Overview The .trc (Track Row Column) file format was created by Motion Analysis Corporation to specify the positions of markers placed on a subject at different times during a motion capture trial. An example .t
Marker Editor
The Marker Editor gives you access to all of the markers in the current model. Markers are used by the Scale Tool to scale a generic model to fit a particular subject, and by the Inverse Kinematics Tool to solve for coordinate values corresponding to expe
Measurement-Based Scaling File
The topics covered in this section include: The measurement-based scaling file contains pairs of experimental markers, the distance between which are used to scale the generic musculoskeletal model. The experimental measurements used for scaling are speci
Menus
There are five drop-down menus available from the OpenSim main menu bar: File The File drop-down menu includes the following options which allow you to input and output information about models and motions: image2011-11-23 11:21:30.png Picture 3.png
Modeling and Simulation Best Practices
This section contains the following set of documents to help researchers evaluate musculoskeletal models and simulations of their movement:
Models Distributed with OpenSim
Segment Inertial Parameters are based on values in Anderson and Pandy, 1999 (see Theory section)
Motion (.mot) Files
The topics covered in this section include: Overview The .mot (motion) file format was created by the developers of SIMM (Software for Interactive Musculoskeletal Modeling). The .mot file format is compatible with both SIMM and OpenSim. A .mot file consis
MR-Based Models Lower Extremity Models
We have created models of three lower extremity cadaveric specimens and four subjects with cerebral palsy from MR images. The models characterize the geometry of the pelvis, femur, and proximal tibia, the kinematics of the hip and tibiofemoral joints, and
Multibody Dynamics Concepts (Simbody)
OpenSim's dynamics capability is based on the open-source Simbody package that is part of SimTK. Simbody is a full-featured, high-performance multibody dynamics toolset using internal coordinates (that is, generalized coordinates relating one body to the
Muscle Editor
The Muscle Editor gives you access to all of the parameters of the muscles and other actuators in the model. The paths of the muscles can be altered by selecting and moving attachment points in the 3D View window, and the force-generating parameters can b
Muscle Editor Panels
The topics included in this section include: The properties of a muscle are organized into panels within the Muscle Editor window, figure below. The Muscle Editor Panels shows all of the attachment points (fixed, via, and moving) that define the muscle pa
Muscle Model Theory and Publications
Muscle Model Equations by Frank Anderson Complete Description of the Thelen Muscle Model by Chand John
Musculoskeletal Models
Just as interactive graphics have enhanced engineering analysis and design, we have found that graphics-based musculoskeletal models are effective tools for visualizing human movement, analyzing the functional capacity of muscles, and designing improved s
|
||||||||||||||||||||||||||||||
NNavigating the 3D View WindowThe topics in this section include: Navigating the 3D View Window Each OpenSim 3D View window is a VTK window. VTK is an open source visualization package distributed by Kitware Inc. (www.kitware.com http://www.kitware.com). VTK windows come with a built-
Navigator Tree Nodes
The tree displayed in the Navigator window has nodes of many different types. Nodes can represent 1) a single object in the model or associated with the model or 2) collections of objects (for example, the node corresponding to the set of rigid bodies in
Navigator Window
The Navigator window shows you the set of models that have been loaded into OpenSim, along with their associated objects (such as motions), in a hierarchical, or tree, representation. Topics covered in this section include: Opening, Closing, and Using th
Netbeans UI
NetBeans UI General Definitions Component: a top component such as our explorer (navigator), coordinate viewer, messages window, etc. Mode: Defines a region of the application's split desktop which can contain a component. Mode type: Can be editor (AK
New Features in OpenSim 2.4
OpenSim 2.4 includes several improvements to the functionality, usability, and visualization abilities of the software package. We have also added new documentation. Functionality Improvements The quality of results of CMC in 2.4 matches or exceeds result
Node Commands (Context Menus)
This section describes the commands that are accessible through the different tree nodes. You can select the commands by right-mouse-clicking on a tree node to bring up the associated context menu. Since multiple nodes, potentially representing objects o
Numbers and Constants in SimTK
SimTK supports both float (single) and double precision, and is compiled with one of those as its default, which is then referred to in SimTK as type Real. SimTK::Real is simply a typedef to either the built-in float or double type. OpenSim always uses do
|
OObject-Specific CommandsThe following Object-Specific Commands are available: Model Node Motion Node Make Current Object-Specific Commands Sync. Motions Displaying Coordinate Axes for Body and Joint Nodes Enabling and Disabling Muscle and Constraint Nodes Displaying the Center o
Opening a Model
To open a musculoskeletal model written in the OpenSim format (file type: .osim): worddave5d36f38cf9df7e78357b31dbb462616.png Click File → Open Model… from the OpenSim main menu bar. In the window that appears, locate and select the desired model, and th
Opening and Restoring Excitation Editor
The topics covered in this section include: Opening the Excitation Editor Window The Excitation Editor allows the display and editing of muscle excitations and other control waveforms. In this example, the muscle excitations are organized into two columns
Opening and Restoring Function Editor
The topics covered in this section include: Opening the Editor The Function Editor window is opened by locating the function you want to modify and choosing the edit option. This will open (or pop, if it is already open) the Function Editor window and loa
Opening, Closing, and Using the Navigator Window
The Navigator window shows you the set of models that have been loaded into OpenSim, along with their associated objects (such as motions), in a hierarchical, or tree, representation. This is particularly useful for large biomechanical models, which would
OpenSim and NCSRR Logos
OpenSim Models UNDER CONSTRUCTION The topics covered in this section include: You can also find more information in the Example - Model Editing. Overview An OpenSim model represents the dynamics of a system of rigid bodies and joints that are acted upon by forces to pro
OpenSim Support - Version 2.4
Optimizers Optimizers Algorithms Ipopt https://projects.coin-or.org/Ipopt Algorithm paper is here http://www.research.ibm.com/people/a/andreasw/papers/ipopt.pdf and here http://www.optimization-online.org/DB_FILE/2004/03/836.pdf CFSQP lmdif LAPACK - supports line
Overview of the OpenSim Workflow
OpenSim has a broad range of capabilities for generating and analyzing musculoskeletal models and dynamic simulations. This chapter provides an overview of these capabilities and a list of resources to find more information about each component of the Ope
|
||||||||||||||||||||||||||||||
PPerforming a SimulationOverview In this chapter, we will write a main program to perform a forward dynamic simulation using the OpenSim API. We will build it up in pieces, starting from the simplest possible OpenSim model, a single block experiencing the force of gravity. In th
Performing a Simulation Part Four
The steps covered in part four are: Add a Prescribed Force To push the block during the tug-of-war, we create a prescribed force to apply to the block. The prescribed force is applied in the x-direction in the block body's frame. The point of application
Performing a Simulation Part One
The steps in part one are: Create an OpenSim Model To perform a simulation, we first create an OpenSim model and set its name in our main program. #include <OpenSim/OpenSim.h> using namespace OpenSim; int main() { try { // Create an OpenSim model and set
Performing a Simulation Part Three
The steps covered in part three are: Add Two Opposing Muscles To prevent the block from falling through the ground, we create two opposing muscles between the ground and block. Note that this must be done before the call to initSystem, or else the muscles
Performing a Simulation Part Two
The steps covered in part two are: Initialize the OpenSim Model System and Get the State An OpenSim model is backed by a SimTK::System (see Chapter 5), which actually performs the computations. As such, the model itself is a stateless object with the stat
Plot Summary Panel
The topics covered in this section include: The plot panel is the top part of the Plotter Window and includes the drawing area, title, legend, and axis labels shown in the section on the Plot Window. Customization of this area is done through a pop-up men
Plot Window
Opening and Closing the Plotter Window To open/close the Plotter window: http://simtk-confluence.stanford.edu:8080/download/attachments/1443121/worddav7aafad303df95b53ad80f4ad1c6a459f.png?version=1&modificationDate=1322082983075 To open: select Tools ->
Plotting
The plot tool allows you to run a set of standard analyses on a model and plot the results either for visual inspection within OpenSim or to export the results into other applications. In addition to plotting quantities, the tool also allows you to print
Pre-Processing Delaware Data
Pre-Processing Delaware Data These are Eran's notes so far... Chand John also has a lot of notes on this which hopefully can be incorporated here. Coordinate Systems To transform between coordinate systems, use e.g. transform_trcFile('SS_walking1_smo
Preparing Your Data
This chapter describes the formats for data files that can be imported into OpenSim. Generally, you must input the following types of data into OpenSim to generate simulations: Marker trajectories Ground reaction forces and moments and centers of pressure
Prerequisites
The topics covered in this section include: Overview The requirements and examples in this guide are targeted for users running Windows or Mac OSX with Windows BootCamp or VMWare since the OpenSim application and libraries are built for Windows. (Note, f
Previewing Motion Capture (Mocap) Data
Motion capture data can be previewed in OpenSim to verify that preprocessing was done correctly and that data is in agreement with the intended model. If you have multiple files representing different pieces of data, this tool allows you to verify that th
|
Q |
||||||||||||||||||||||||||||||
RRelease HistoryPrevious Releases v2.2.1, released on Apr. 7, 2011 v2.2.0, released on Dec. 1, 2010 v2.0.2, released on Apr. 23, 2010 v2.0.1, released on Feb. 9, 2010 v2.0 released on Dec. 31, 2009 v1.9.1 released on Sep. 1, 2009 v1.8.1 released on Mar. 4, 2009 v1.8 rele
Repository Layout
The subversion repository The subversion repository of OpenSim has the following layout: - Trunk: Work in progress, bleeding edge but comes at a price since it's constantly changing. If not one of the full time developers please contact either Ayman or
Residual Reduction Algorithm
The topics covered in this section are: Getting Started with RRA How RRA Works How to Use the RRA Tool Settings Files and XML Tag Definitions Next: Getting Started with RRA
RRA and CMC Theory and Publications
Theory Notes on RRA and CMC RRA COM Adjustment Calculations Notes by Chand John on the back-of-the-envelope calculations RRA uses to adjust the mass center of a model ISOBME 2006 Taiwan Abstract on RRA A conference abstract by Frank Anderson, et al. Gene
Running OpenSim
You can begin using OpenSim immediately after installation. To launch OpenSim: worddav354bbd8c8d775e2776e70a0cd4c51a8f.png Go to the folder you chose for the OpenSim shortcuts (e.g., All Programs > OpenSim). Click on the icon for OpenSim. Next: Graphical
|
SSample Responses - Defining your Research Goals for the ModelWhat results do I need to answer my research question? Joint angles Net joint moments Muscle forces Muscle fiber lengths Predicted control signal What elements of a model might these results be sensitive to? I am interested in muscle fiber length in the p
Saving a Model
To save a copy of a model: worddav560e7290602d899220d406097f93af9a.png Select File → Save Model As… from the OpenSim main menu bar. In the dialog box that appears, enter a name into the File name textbox, and then click Save. Be sure to include the fil
Scale Marker File
The topics covered in this section include: The scale marker file contains a list of the virtual markers that are placed on the body segments of the model. An example of a marker file is shown below. Example: XML file for a scale marker file <?xml version
Scale Setup File
The topics covered in this section include: There are 5 major sections to a scale setup file: execution parameters; subject-specific parameters (e.g., mass, height, age); parameters related to the generic model to scale; scaling properties; and marker pla
Scaling
In this section, we provide a conceptual review of the inputs and outputs of the Scale tool and a set of troubleshooting tips and best practices for scaling. Carefully scaling your model to match your subject is essential for getting good results from lat
Selecting Models and Muscles
The topics covered in this section include: Needed: graphic that defines the different parts: muscles/muscle points Muscle Paths and Muscle Points The path of a muscle is defined by a series of attachment points. In the simplest case, each attachment poin
Selection Filtering Window
When you press the Muscles… button from the curve creation panel, the dialog window shown below in Selection Filtering Window is displayed. This window is used in many places throughout OpenSim and allows users to select from a potentially long list of na
Settings Files and XML Tag Definitions
The settings files are XML files whose tags specify properties to be used by OpenSim for performing the residual reduction. The tags used for each type of settings file are defined in the following sections: RRA Setup File A setup file provides the high-l
SimTK Basics
The topics covered in this section include: Overview The OpenSim API uses the Simbios "simulation toolkit" SimTK as its low-level, domain-independent computational layer. Some familiarity with SimTK is required to use the OpenSim API because some of the S
SimTK Simulation Concepts
The figure below shows the primary objects involved in computational simulation of a physical system in SimTK: System, State, and Study. OpenSim creates and manages specific objects of these types that are suitable for the domain of neuromuscular biomecha
Simulation with OpenSim - Best Practices
Overview There is no scientific consensus on when a simulation is "good enough". Ultimately, you need to be sure you are asking the right question (such as “which muscles can contribute to knee flexion in this posture?”) and that your results are robust
Site Index
Snapshots and Movies Exporting models as images and animated movies easily is an important part of a modeling and simulation environment. OpenSim provides this capability, enabling the creation of snapshot images and custom movies with a click of a button. This chapter cover
Soccer Kick Example
This examples is for students and educators interested in how elements of a musculoskeletal model come together to generate simulations of human movement. The soccer kick is meant to be compelling, challenging, and fun, allowing students to experiment wi
Specifying External Loads in Tutorial 3
OpenSim 2.4 has a new process for applying external loads that is more flexible, but requires an additional set-up step. The External Loads setup file (subject01_walk1_grf.xml) needed in the Inverse Dynamics section of Tutorial 3 can be generated using th
Stanford and NCSRR Teaching Materials
Contributors and Acknowledgements These workshop materials were developed by members of the Neuromuscular Biomechanics Lab in the Department of Bioengineering at Stanford University, including Scott Delp, Ajay Seth, Jennifer Hicks, Ayman Habib, Jeff Reinb
Static Optimization
In this section we will cover: Getting Started with Static Optimization How Static Optimization Works How to Use the Static Optimization Tool Static Optimization Settings Files and XML Tags Next: Getting Started with Static Optimization
Static Optimization Settings Files and XML Tags
The topics covered in this section include: Setup File and XML Tag Definitions The settings file is an XML file whose tags specify properties to be used by OpenSim for the static optimization analysis. The XML tags used are defined in the following sectio
Step-by-Step Example
In this first example, you will go step-by-step through the entire process of setting up your build folder using CMake, opening and viewing the C++ code in Visual Studio, compiling your first executable, running it and viewing the results in OpenSim. The
Storage (.sto) Files
The .sto file format was created by the developers of OpenSim. It is very similar to the .mot file format, with two main differences: The time values in the time column of a .sto file do not have to be uniformly spaced The first column of a .sto file must
Supported Platforms
Supported Platforms The name OpenSim refers to two distinct entities, the OpenSim API (which is a C++ library of classes used for modeling and simulation of biological structures in Biomechanics) and the OpenSim application (GUI) which builds on the OpenS
|
||||||||||||||||||||||||||||||
TTaking Snapshots and Making MoviesThe topics covered in this section are: Taking a Snapshot To save the current view as an image: http://simtk-confluence.stanford.edu:8080/download/attachments/1443016/worddav69ad1a0910bf3cee4b9c641749d9777c.png?version=1&modificationDate=1322072536229 C
Teaching Materials
Overview The goal of this section is to compile the OpenSim teaching materials developed by researchers and educators at Stanford and other institutions: Stanford and NCSRR Teaching Materials How to Run an OpenSim Workshop Jeff Reinbolt's Course on Modeli
Technical Background
The topics covered in this section include: What is an API? An application programming interface (API) is a particular set of rules ('code') and specifications that software programs can follow to communicate with each other. It serves as an interface bet
Theory and Publications
Toolbar The information about the OpenSim toolbar covered in this section includes: Parts of the OpenSim Toolbar The toolbar is located at the top of the GUI and contains the model drop down menu, the motion textbox, the motion slider, and the video controls. The
Trademarks and Copyright
SimTK and Simbios are trademarks of Stanford University. The documentation for OpenSim is freely available and distributable under the MIT License http://www.opensource.org/licenses/mit-license.php. Copyright (c) 2009-2012 Stanford University Permission
Tutorial 1 - Intro to Musculoskeletal Modeling
Introduction to OpenSim Models of the musculoskeletal system enable one to study neuromuscular coordination, analyze athletic performance, and estimate musculoskeletal loads. OpenSim is open-source software that allows users to develop, analyze, and visua
Tutorial 2 - Simulation and Analysis of a Tendon Transfer Surgery
Purpose The purpose of this tutorial is to demonstrate how musculoskeletal models can be used to study orthopaedic surgical techniques and to illustrate how muscle moment arm, optimal muscle fiber length, and tendon slack length influence the variation of
Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics
Purpose The purpose of this tutorial is to demonstrate how OpenSim solves an inverse kinematics problem and an inverse dynamics problem using experimental data. To diagnose movement disorders and study human movement, biomechanists frequently ask human s
Tyrannosaurus Rex Model
We created a musculoskeletal model of the Tyrannosaurus Rex lower extremity that includes 10 degrees of joint freedom (flexion/extension, ab/adduction, and medial/lateral rotation) and 33 main muscle groups crossing the hip, knee, ankle, and toe joints of
|
UUpgrade Notes for OpenSim 2.4Converting your Model, Setup, and Data Files In version 2.4 we added a few tools to facilitate the conversion of files to the latest format: OpenSim 2.4 includes an auto conversion tool that tries to map objects from older file formats to the latest forma
Upper Extremity Model
We have developed a model of the upper extremity that includes 15 degrees of freedom representing the shoulder, elbow, forearm, wrist, thumb, and index finger, and 50 muscle compartments crossing these joints. The kinematics of each joint and the force-ge
User Preferences
You can alter display preferences for the 3D View window: worddav7ee44172fecd0c603ffa4800773cdc36.png Selecting Edit → Preferences… from the main OpenSim menu bar. In the Preferences window that appears, double click on the value of the option you want t
User's Guide
OpenSimLogoImage.jpg Welcome to the OpenSim User's Guide! To begin learning more about how to use the OpenSim software, step through the pages in this user guide. The chapters are listed below. Or if you know what you would like to read about, use the sea
Using Markers
The topics covered in this section include: The Marker Editor http://simtk-confluence.stanford.edu:8080/download/attachments/1443119/worddav948781d31f980fe21ab1793217724ddc.png?version=1&modificationDate=1322082982710 Selecting a Model to Edit Like all of
|
||||||||||||||||||||||||||||||
VVectors and MatricesThe topics covered in this section include: Overview SimTK has two different sets of classes for vector and matrix objects. You have seen types Vec3 (a 3-vector) and Vector (a variable-length vector) in OpenSim examples. Here we will discuss those in more
Verification and Validation of the OpenSim Software Package
We are constantly testing the OpenSim software to verify that our algorithms are producing physically accurate results and that changes and updates don't change simulation results in unexpected ways. All of these tests must pass before a new version of Op
Video Gallery
Below are video tutorials on the following sections: Introduction video pending Graphical User Interface video pending Scaling Set up: http://www.youtube.com/watch?v=V5f7OMkfRBs&list=PLFECE3229007D54F6&feature=plcp&context=C3deccf5FDOEgsToPDskJ9Z_urBZkIuw
VTK and JOGL
VTK and JOGL Switching from VTK to JOGL Need to implement: trackball tumbling, zoom, translation, etc. bounding boxes dragging objects save to AVI switches for different shading modes, and show/hide objects changing color, transparency need back to fro
|
WWelcome to OpenSimThis page provides an introduction to the capabilities and features of OpenSim and how to get started: What is OpenSim? http://simtk-confluence.stanford.edu:8080/display/OpenSim/Introducing+OpenSim#IntroducingOpenSim-WhatisOpenSim Capabilities http://simt
What's New in OpenSim 2.4?
What’s Covered in this Manual Organization of the User's Guide This manual is organized into four distinct sections. The first section covers installation of OpenSim. The next section describes how to use the basic components of the OpenSim graphical user interface (GUI). The third se
Windows
This section contains information about the four parts of the OpenSim window and one topic on formatting: Parts of the OpenSim Window Picture 14.png For more information on the View Window visit View Window For more information on the Navigator Window v
|
||||||||||||||||||||||||||||||
X |
Y |
||||||||||||||||||||||||||||||
ZZooming in the Plot AreaThe plot area that displays the function and its control points normally auto-scales to show all of the points. However, if you want to pan or zoom the view to focus on a particular area, there are several ways you can do this. Select a rectangular area –
|
!@#$ |
OpenSim is supported by the Mobilize Center , an NIH Biomedical Technology Resource Center (grant P41 EB027060); the Restore Center , an NIH-funded Medical Rehabilitation Research Resource Network Center (grant P2C HD101913); and the Wu Tsai Human Performance Alliance through the Joe and Clara Tsai Foundation. See the People page for a list of the many people who have contributed to the OpenSim project over the years. ©2010-2024 OpenSim. All rights reserved.