SoMo: Fast, Accurate Simulations of Continuum Robots in Complex Environments


SoMo is a light wrapper around pybullet that facilitates the simulation of continuum manipulators.

SoMo (SoftMotion) is a framework to facilitate the simulation of continuum manipulator motion in PyBullet physics engine. In SoMo, continuum manipulators are approximated as a series of rigid links connected by spring-loaded joints. SoMo makes it easy to create URDFs of such approximated manipulators and load them into pybullet’s rigid body simulator. With SoMo, environments with various continuum manipulators (such as hands with soft fingers or snakes) can be created and controlled with only a few lines of code.

Quick Install


Coming soon: pip install!

Explore the examples

Run any of the files in the examples folder. “examples/basic” is a great place to start!


If you have questions, or if you’ve done something interesting with this package, get in touch with Moritz Graule!

If you find a problem or want something added to the library, open an issue on Github.


   title={SoMo: Fast and Accurate Simulations of Continuum Robots in Complex Environments},
   author={Graule, Moritz A. and Teeple, Clark B and McCarthy, Thomas P and St. Louis, Randall C and Kim, Grace R and Wood, Robert J},
   booktitle={2021 IEEE International Conference on Intelligent Robots and Systems (IROS)},
   pages={In Review},