Bumpy motion of wheel robot

Hello.

I had constructed in Isaac Sim a simple wheel robot model consisting of a hull and 4 wheels are assembled to the hull by revolute joints. The weight of the hull is 40 kg, one wheel is 12 kg, i.e. the masses differ slightly. I did the experiment was that the robot rolled down from an inclined plane with a slope of 10 degrees. I got results:

  1. There was a “bumpy” motion, although in accordance with the recommendations (17. Rigging Robots — Omniverse Robotics documentation ) cylinders were chosen as colliders for wheels.
  2. Decreasing the physics step did not lead to the disappearance of this phenomenon (I took the step of the physics engine equal to 1/600.0).
  3. I did such experiment in CoppeliaSim. All the engines available in CoppeliaSim (ode, Bullet 2.78, Bullet 2.83, Newton) ensured stable smooth movement of the robot.

Does anyone have any idea why this is happening?

Hi,

  1. Does the size of the cylinder and its origin match with the wheel? (Make sure that the collider for the wheel mesh is disabled and both the Cylinder shape and the wheel mesh are under the same transform. If the origins don’t match there will be bumpy motion)
  2. Turn on the collider visualization and select the wheel, does the collision approximation appear correct?
  3. Check the location of the revolute joint (it should be at the origin of the wheel)

It would be helpful if you could share an image/gif of the motion.

Hi, @rchadha. Thank you for your fast response.
I think it’s enough to attach the stage:
simple_robot.usd (22.3 KB)
And video from camera that is connected with robot hull:

There is jittering through movement.

Hi @pme1976

To use the exact collision meshes it is necessary to enable the Custom Geometry flag for each wheel (which is not enabled by default in your .usd and is approximated by a convex hull), as indicated in the docs…

https://docs.omniverse.nvidia.com/app_create/prod_extensions/ext_physics/rigid-bodies.html#collision-settings under Shapes

PhysX supports exact representations for Cube, Capsule, and Sphere shapes, so no approximations are required. By default, the Cone and Cylinder shapes are approximated with a convex hull. However, PhysX supports exact representation of the Cone and Cylinder as well if you enable the Custom Geometry flag in their Collider settings. Note that enabling the Custom Geometry flag currently incurs a performance penalty in a (by default) GPU simulation because part of the collision code runs on the CPU.

Also, (https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_advanced_rigging_robot.html#assign-collision-meshes): 17.3.3. Assign Collision Meshes, point 5:

Right click on the cylinder and Add → Physics → Collider. In the collider properties, check the ‘Custom Geometry’ option.

2 Likes

Hi, @toni.sm.
Thank you so much for your reply. I was inattentive when I read the manual. Please forgive me. Thanks to you, my problem has been solved. Once again: thank you very much.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.