You are viewing the documentation for OpenSim 3.x. Are you looking for the latest OpenSim 4.0 Documentation?

Scripting in Python

Python wrapping is available from OpenSim 3.2, onward. The system architecture of Python & OpenSim must match (install 64-bit Python and 64-bit OpenSim) Python setup and configuration instructions are below.


Introduction to Python

Python is a widely used general purpose programming language. Python is free and open source, with a large user community that encourages sharing and user contributions. The Python language is very flexible, supporting object oriented and procedural styles of computing. The Python design philosophy also emphasizes code readability which makes sharing and using code easier than some other languages. 

Those from scientific and engineering backgrounds who are new to Python should check out the following resources to help get started with the language:

Whats available?

  • Access to the OpenSim API to create and simulate models 
  • Users can instantiate and run tools from setup files or programmatically 
  • Repeated/batch runs of tools
  • Users can write "main" programs similar to those written by C++ developers, while taking advantage of the Python environment and tools 
  • A visualizer for API users that can be invoked through Python

Limitations?

  • In this mode, there’s no access to the OpenSim plotter or the graphics window (use the model/API visualizer instead).
  • Some internal Simtk classes (that belong to the SimTK namespace and simbody internals) are not available for construction, but the most commonly used classes are available as of version 3.1 (SimTK::Vec3, Vector, Mat33, State, Inertia).

Available Example Scripts?

We are currently in the process of developing example Python scripts for OpenSim and will share these with the community soon.

 

Setting up your python scripting environment

Windows 

There are a couple different options for setting up Python on your Windows machine. You will need the main Python package, as well as NumPy and SciPy. Alternatively, there are applications that bundle all the required packages and include an interface for scripting.  

This setup guide assumes you will use Enthought Canopy. Canopy is relatively easy to setup and configure, has a well defined user interface, has extensive help directories and maintains many up-to-date libraries. Canopy is a proprietary python distribution that is free with an academic license. Continuum Anaconda is another free (to all) package that includes Python, NumPy, and SciPy.  You can also just set-up Python and the associated packages manually. We have tested all three methods. Make sure that you get 64-bit python if you are using 64-bit OpenSim libraries (and 32-bit python if using 32-bit OpenSim).

 

Package NameDownloadsCosts/licensing
Enthought Canopy

Academic licenses can be granted with a '.edu' email address. Basic package costs $199 per/year.
Continuum AnacondaBasic package is free to download and use, contains Python 2.7 and other dependent packages. Cleanly installs into a single directory on your machine.
Python 2.7

Free to use and download.

 

Installing Canopy and the "opensim" python package

 

 Click here to expand...

Download and Install Canopy

Visit the website, apply for an academic licence, download, and install.

 

Insert OpenSim into the System Path

Navigate to the system settings panel. Choose Advanced System Settings' then Environment Variables'. Check that OPENSIM_INSTALL_DIRECTORY\bin is in system variables Path, where OPENSIM_INSTALL_DIRECTORY is the directory where you installed the current version of OpenSim (e.g. C:/OpenSim 3.2). Delete any multiple OpenSim Path entries.

Configure Canopy to be your Default Python Environment

Make Canopy your default Python environment as multiple distributions of Python can exist on your system. Checking that Canopy is the default Python environment is achieved in the Canopy editor. Open the Editor and navigate to Edit > Preferences.

Detailed instructions can be found at .

Run the Setup File from Command Line

Open a command prompt (type cmd into the Windows run dialog box). Navigate to the OpenSim Installation folder and find the subfolder sdk which contains the script setup.py.

cd C:\OpenSim 3.2\sdk\python

Run the python script by typing:

python setup.py install

This will copy the required files and folders to a local directory associated with python libraries.

 

Test Installation

Test OpenSim in Canopy by typing;

import opensim


If there is no error, then the installation worked.

 

Having trouble?

 

If you are having trouble with getting python wrapping to work on Windows, the issue is almost certainly one of the following:
  1. You are trying to use 32-bit python with 64-bit OpenSim libraries. If you are using 64-bit OpenSim libraries, make sure to use 64-bit python.
  2. OpenSim's dll's are not on your PATH. In a command window, you could achieve this with a command like "set PATH=C:\OpenSim 3.2\bin;%PATH%"

Ubuntu

We assume that you will use Python through the terminal. Open a new terminal window. First, we'll acquire the necessary dependencies.

$ sudo apt-get install python-setuptools

Navigate to the sdk/python folder in your OpenSim installation. Assuming that OpenSim is installed into directory OPENSIM_HOME, perform the following:

$ cd $OPENSIM_HOME/sdk/python
$ sudo python setup.py install

The above assumes that you've defined an environment variable OPENSIM_HOME via a command like:

$ export OPENSIM_HOME=/home/<username>/opensim

The OpenSim libraries must be on your LD_LIBRARY_PATH:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OPENSIM_HOME/lib

You can place the above `export` commands in your `~/.bashrc` file so that they are set whenever you open up a new terminal.

You should be ready to use the Python wrapping now. Try the following from any directory:

$ python
...
>>> import opensim
>>> m = opensim.Model()

 

 

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.