NASA-Tensegrity-Robotics-Toolkit / NTRTsim

The NASA Tensegrity Robotics Toolkit Simulator, a physics based simulator to research the design and control of tensegrity robots.
Apache License 2.0
162 stars 81 forks source link

Selective Collision Response between Cylinders and Ground Plane #216

Open zaktherobot opened 7 years ago

zaktherobot commented 7 years ago

I have recently rediscovered a potential simulation issue with cylinders and the ground plane.

In the following video (within the first 15 seconds), you can see the issue:

https://drive.google.com/open?id=0B-zbEExDXevaWWwzdWhzejlPTkE

The collision detection for the cylinder geometry fails on the ground plane and the simulation overcompensates, causing this twitching behavior. I believe that this will occur frequently when cylinder geometries are vertical on the ground plane, but I haven't setup a basic test case outside my own testbed. I also think this is just inherent to the Bullet physics engine.

I believe that this can be fixed with putting another geometry (such as a sphere) on the ends of the rods, and I will update this issue if that is the case. We would like to have a way to address this problem long term however.

EDIT: Performing a test on a tgBoxGround instead of tgPlaneGround seems to fix this issue in the short term. I no longer see the same compensating jumps on the cylinders for similar movements. The same issue still occurs for tgPlaneGround however.