Gazebo | Ignition | Community
Ask Your Question

Model "disables" after ODE message (LCP internal error s<=0)

asked 2021-11-13 03:36:12 -0500

SIA gravatar image

updated 2021-11-15 01:54:03 -0500

Hi, I'm having a very odd problem with my model in gazebo. I have a URDF file which is spawned into gazebo with spawn_urdf node. It has a planar move plugin with which I drive my robot. (the robot is not realistic because I just want to learn how to work with gmapping and slam). My robot description is basically a cylinder with a box on it, floating 1m above ground, with Hakuyo and IMU sensor (which don't affect behavior) and a planar move plugin:

    <plugin name="object_controller" filename="">

I used a teleop node to command velocity to plugin, and when I realized there is a problem, tried to command velocity manually with rostopic pub insted:

rostopic pub /round_object/cmd_vel geometry_msgs/Twist "linear:
  x: 0.0
  y: 0.0
  z: 0.0
  x: 0.0
  y: 0.0
  z: 0.1"

that resulted same, which is the following error:

ODE Message 3: LCP internal error, s <= 0 (s=-0.0000e+00)

And after some time the model will be re-spawned in the origin of world, not responding to any command, and all joints are disappeared.

I'd appreciate your thoughts on this, and how to solve it.


EDIT (11/15/2021): I solved the problem temporarily by making my model "kinematic". yet the question is still unanswered that what causes this problem and what is the correct method to solve it.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-11-22 11:19:56 -0500

Check your inertias. Since you have primitive geometries, it's easy to calculate some valid values. Wikipedia can give you the equations for each geometry.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2021-11-13 03:36:12 -0500

Seen: 53 times

Last updated: Nov 22 '21