Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 OpenSim 4.0 will allow for greater access and flexibility to software builders, making possible what may have been impossible to in previous releases. Below is a list of 4.0 features and projects that these features may now enable. The OpenSim Developers workshop will be a great opportunity for those who are building or augmenting components, controllers , analyzes or models in OpenSim.  Though the workshop will predominantly use the new 4.0 API interface, people who are developing new tools for the OpenSim 3 releases are encouraged to apply. OpenSim 4.0 will allow for greater access and flexibility to software builders, making possible what may have been impossible to in previous releases. Below is a list of 4.0 features and projects that these features may now enable.

Features in version 4.0:

  1. Nested model components. Compose a complex model from simpler more robust/testable subcomponents; for example, a muscle model can be composed of standalone activation dynamics and fiber dynamics subcomponents As a result, components have a “path”; e.g., “soleus_r/fiber,” We also improved the mechanism for accessing the components within a model by either path name or type.

  2. Connectors between model components. Components depend on each other: joints connect two bodies, muscles need wrapping surfaces, etc. We have formalized the method for specifying the connections between components to make it easier to build modular models and to make these connections far less bug-prone.

  3. Reference Frames. Performing and reporting kinematic transforms is one of the most useful functions of a multibody model and defining reference frames is essential for transforming data. Frames are new abstraction for defining and attaching reference frames in OpenSim and they have the ability to re-express quantities (positions, velocities, etc.) defined in that Frame to any other Frame.

  4. Simulink-style wiring of signals between components. Each component can have Inputs and Outputs. Any model-computed value based on the state is a candidate as an Output, and can be wired to another component’s InputA Reporter is no longer an inflexible Analysis but a modular Component that reads from designated Outputs and writes to in-memory data tables of results. No more reading storage files just to access a computed quantity.

  5. Use any data file format you want. A new DataTable class replaces Storage as OpenSim’s primary container for simulation inputs and outputs. You can create a DataTable from any file format (CSV, C3D, MAT) using the new Adapter classes. Adapters convert files of various formats to DataTables consumable by OpenSim Solvers and Tools. DataTables generated by Solvers are can also written out to various files via an adapter.

  6. Save exact simulation results to a file. The new StatesTrajectory class allows perfect replay of simulations from ForwardDynamics and CMC  without loss of precision (as with states storage files) or of the values for non-continuous state variables (e.g. modeling options and discrete state variables).

  7. Compose your own “Study” by walking through States, realizing Model dynamics and accelerations and piping Outputs to Reporters and writing results to a file format of your choice.

  8. Extending OpenSim classes through Python (e.g., write your Analysis class in Python instead of C++).

...

OpenSim Development Week Agenda

This is a five day workshop. On the first day of the workshop, an overview of OpenSim 4.0 will be provided, with discussions, guided exercises and interactive lectures to introduce. The second day will be consist of guided exercises on contributing using GitHub and how you can incorporate collaboration and contribution to your project. Day three and four will be devoted to working on problems that you and other participants bring to the workshop. Day five will have group discussion and presentation about your workshop achievements and plans for wrapping up your development.

Expand
titleShow Daily Agenda

Day One – Monday, June 27

9:00 – 9:15 am     Welcome, Development Week Goals, Agenda

9:15 – 9:45 am    Talk: OpenSim 4.0 Introduction

9:45 – 10:00 am  Talk: What is the OpenSim Component Interface

10:00 – 10:45 am       Example - Model Composing and Visualizer   

 10:45 – 11:00 am  Break

 11:00 – 11:15 am  Talk: Running a Forward simulation

11:15 – 12:00 pm Example - Running a Forward simulation 

 12:00 – 1:00 pm     Lunch

 1:00 – 1:15 pm    Talk: Writing your own Component

1:15 – 2:00 pm  Example: Building a force or actuator

2:00 – 2:15 pm Talk: Assembling a Study

2:15 – 3:00 pm Example: Getting forces from your component

3:00 – 3:15 pm  Break

3:15 – 4:00 pm Participant Project Presentation

4:00 – 5:00 pm Stanford Walking Tour

5:00 –7:00 pm  Welcome Celebration at the Treehouse

 

Day Two – Tuesday, June 28

9:00 – 9:10pm  Agenda and Introduction for day two

9:10 – 9:45 am    Talk: Contributing to OpenSim

9:45 – 10:30 am  Example: Making and Reviewing Pull requests

10:30 – 10:45 am  BREAK

10:45 – 5:00 pm  Work on Projects

 

Day Three – Wednesday, June 29

9:00 – 5:00pm  Work on Projects         


Day Four – Thursday, June 30

9:00 – 5:00pm  Work on Projects

 

Day Five – Friday, July 1st

9:00 – 12:00pm  Work on Projects

12:00 – 1:00pm  LUNCH

1:00 – 2:00pm  Finalize Presentations

2:00 – 4:00pm  Presentations and Discussion

4:00 – 4:10pm  Final Remarks and Closing

4:10 – 7:00pm  Reception @ TBD


...