SIMM (Software for Interactive Musculoskeletal Modeling) is a powerful toolkit that allows users to model, animate, and measure 3D musculoskeletal figures. The musculoskeletal models include an accurate representation of bones, muscles, joints, ligaments, and other physical structures that can be manipulated by the user through a graphical interface. These models can be used to simulate any number of movements, such as walking, cycling, running, jumping, weight lifting, and throwing.
Modules embedded within SIMM include:
- Motion Capture Importer - SIMM can import motion capture files (C3D, TRB, TRC) for playback and measurement. It can also import data in real-time from a Motion Analysis system and animate a 3D model while the data is being captured.
- Gait Reporting - The Motion Reporter tool creates reports on a set of motions, including gait. The reports contain averages, standard deviations, and comparison of data. For gait reports, the tool calculates gait events and automatically divides the recorded motions into left and right strides. Formatted Excel graphs are included for easy comparison or study of data.
- Scripting - The Scripting tool executes scripts with commands to load models and motion data, perform dynamic simulations, and create plots and reports. Scripts can also be used to save SIMM tool settings so that they're restored the next time you start SIMM or load a particular model.
- Model Scaling - The Scaling Utility automatically scales a generic model to match any size individual, based on measurements it makes from a static motion capture trial. All model components, including muscle paths, are scaled with the body segments.
- Dynamic Simulation - With the dynamics module, users can perform forward and inverse dynamic simulation on any SIMM model. The simulations can be controlled from within the SIM GUI or as a standalone program. All of the source code for the simulations is accessible for the user, allowing them to be modified or enhanced as needed.
- Muscle Wrapping - Users are able to interactively define spheres, ellipsoids, cylinders, and torii for muscle-tendon actuators to wrap over. Muscle paths are automatically calculated over these objects, allowing muscle lengths, forces, and movement arms to be accurately calculated for the wrapped muscle.
- Live Plots - Live plots of muscle properties are updated whenever any property of the muscle changes. This allows users to instantly observe the effects of moving an attachment point, wrap object, or any other property on the length, moment arm, and force of the muscle.
- Bone Deformations - Users can warp bones into new shapes to model various types of bony deformities such as tibial torsion or femoral anteversion.
- Video import/export - Motion data videos can be imported and played on a virtual screen during motion animation. This allows for easy comparison of the model animation and live video. Videos can also be exported from the model window to an AVI file.
- Skins - In SIMM, skins refers to 3D polygonal surfaces linked to one or more body segments. By linking to one or more body segments, the skin can be made to deform when the joints move. The skins can be used to represent anatomical skin, muscle surfaces, ligaments or other surfaces. They can also be rendered with texture maps for enhanced realism.
- GUI - Updated user interface elements make it easy to interact with a model as well as change the display properties of the bones, muscles, and other components. SIMM now has support for "drag and drop" making it easy to load models or motion data and perform functions such as adding bones or running scripts.
- OpenSim Compatibility - SIMM can connect with OpenSim, an open-source software system that lets users create and measure dynamic simulations of movement. OpenSim extends SIMM's capabilities by providing additional dynamics features including residual reduction and computed muscle control. OpenSim can import and export SIMM models, allowing users to take advantage of the features of both applications.