[ros-users] [Discourse.ros.org] [ROS Projects] Soft body robot simulation with bullet physics

Tully Foote ros.discourse at gmail.com
Tue Nov 22 22:51:49 UTC 2016

lucasw <http://discourse.ros.org/users/lucasw>
November 20

I have a bullet physics wrapper ros node that allows soft body structures
to be anchored to rigid bodies and simulated, this example shows a skid
steered vehicle with squishy cubical wheels (for no real reason other than
the cubes are easier to generate):


The soft bodies in that example don't have surfaces, in rviz the node
points and the link lattice connecting them to each other is visualized,
also the anchors to the 'motor' rigid bodies are shown as lines as well.

The rigid and soft body compounds are spawned through service calls, and in
the example a python script generates the wheels and chassis. Every
joint/constraint creates a rostopic that allows it to be controlled, in the
video separate velocities are being published to each wheel.

The soft bodies don't communicate anything other than rviz Markers to ros,
though I think bullet provides a center of mass (and orientation?) that
could be made into a tf frame. The rigid bodies positions are broadcast as

Currently face (3-node) and tetra (4-node) structures aren't fully
supported, just links (2-node).

The source is here:
github.com <https://github.com/lucasw/simple_sim_ros/tree/softbody>

simple_sim_ros - Minimally featured but fast ROS physics simulation
wrapping bullet

The idea of the bullet wrapping is that it hides nothing about bullet
(though only a small subset of the api is exposed) so it can be a platform
to experiment with it (and also the simulation boots in about a second and
dies with ctrl-c just as fast).

The main branch is pure rigid body simulation (https://www.youtube.com/
watch?v=URoyLptHvCU shows off a Stewart platform, support for closed chains
demonstrated), later it will be possible to specify whether the sim should
support soft bodies or not at launch time.

Visit Topic

More information about the ros-users mailing list