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

Check out the Installation Instructions


Coming soon: pip install!

Explore the Examples

Check out the Examples, or 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.


When citing SoMo, use this citation:

   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},

Cited In…

SoMo has enabled other work:

  • C.B. Teeple, R.C. St. Louis, M.A Graule, and R.J. Wood, Digit Arrangement for Soft Robotic Hands: Enhancing Dexterous In-Hand Manipulation, In Review, IROS 2021

  • C.B. Teeple, G.R. Kim, M.A Graule, and R.J. Wood, An Active Palm Enhances Dexterity for Soft Robotic In-Hand Manipulation, ICRA 2021

SoMo in Action