Hi friends,
I have been trying to simulate some simple legged robots walking on the ground. While the system works perfectly in most cases, I do observe the simulation for some robots seems weird and buggy, or in plain English, robots seem to be floating and flying.
More details of the simulation setup:
- All the objects (robot links and floor) used in simulation (both visualization and collision) are boxes.
- Motors (ChLinkMotorRotationTorque) were added to each joint, and they are under PI position control. The target position of each motor at each step are the same across the 4 simulations.
- The collision between parts on legs are disabled.
- Before each simulation, I did a self-collision check on each robot. The check happened after adding all objects to the ChSystem and before the first ChIrrApp::DoStep() call.
- I used ChSystemNSC as simulation system.
So right now I really have no clue on what makes those robots floating and flying around in simulation. And if this is not something I can easily fix, I wonder if there are anyway that I can detect the happening of those weird simulations in code.
Thank you!
Michael