OpenSim represents a freely available open source software system for modeling and simulation of movement. The system is provided by NCSSR (National Center for Simulation in Rehabilitation Research) which denotes a research department within Stanford University, California. The spectrum of possible application domains such as rehabilitation medicine, robotics, or games makes OpenSim interesting.
Recently, the project has published version 2.4 of OpenSim with improvements to usability, functionality and visualization. According to the OpenSim leads,
OpenSim 2.4 includes faster and more robust tools for Inverse Dynamics and Inverse Kinematics, new visualization tools, enhanced access for API users, and several usability improvements. In addition, we’ve verified that the results of Computed Muscle Control now match or exceed the quality of those achieved in OpenSim version 1.9.1.
How is the simulation and modeling tool structured? In particular, the software architecture of the OpenSim tool can be partitioned into two core parts, OpenSim and a tools layer that offers applications such as SimTrack:
OpenSim is built on top of core computational components that allow one to derive equations of motion for dynamical systems, perform numerical integration, and solve constrained non-linear optimization problems. In addition, OpenSim offers access to control algorithms (e.g., computed muscle control), actuators (e.g., muscle and contact models), and analyses (e.g., muscle-induced accelerations). OpenSim integrates these components into a modeling and simulation platform. Users can extend OpenSim by writing their own plug-ins for analysis or control, or to represent neuromusculoskeletal elements (e.g., muscle models). In a graphical user interface, the user is able to access a suite of high-level tools for viewing models, editing muscles, plotting results, and other functions. SimTrack, one of the OpenSim tools, enables accurate muscle-driven simulations to be generated that represent the dynamics of individual subjects.
The tools has been mainly developed in ANSI C+, while developers are also using Java for the User Interfaces. Binary distributions currently support the Windows platform, OS X, and Linux.
As building sophisticated tools like OpenSim requires large efforts and experiences, using open source has several benefits. The whole range of applications that need to simulate or model movements can leverage OpenSim and contribute to its improvement and evolution. All those interested in joining the OpenSim community can obtain information from the simtk.org web site. Information and more details on OpenSim itself are provided by the OpenSim web site as well as in an IEEE article.