We would like to create a training/simulation environment for a tracked robot.
Putting wheels under the model is not a satisfying option as the robot needs to overcome various obstacles including stairs.
Is there a way in ISAAC Sim to facilitate such a feature?
basically we have a tracked robot which should be used in rescue robotics.
The robot has to overcome various obstacles in real life including debris from collapsed buildings, staircases, …
When I use virtual wheels for moving the robot in the simulation, it can not overcome such obstacles.
To Speed up development with SLAM/Navigation we would like to use Isaac Sim as a virtual training environment, but we want to be as close to reality as possible. Therefore we would need a true tracked robot simulation.
Hi, simulating tracked robots is possible. We experimented with an excavator model and with the right timestep and number of iterations, it should work. A sample of a single track is attached to this message, I hope that helps to get started. The model used as an example is available online, I just added the physics to it. https://grabcad.com/library/caterpillar-390f-l-1
You might need to enable Scene Graph Instancing to make the sample scene work. The easiest way to do this is to enable the PhysX Fabric extension. Maybe that’s already enabled in Isaac Sim, I usually create the models in USD Composer. TrackSampleF.zip (676.0 KB)
@twidmer I am unable to get your model to move. I have imported it in Isaac Sim, but it is not moving. Even when I pick it up in the air it just stays there. There is no option to add rigid body to it from the Add → Physics menu.
UPDATE
So after dragging it from the Content viewer it works. Before I dragged it from the Ubuntu’s file viewer straight into Isaac Sim, and it didn’t drive when I played the simulation.
Thank you for the update.
Unfortunately this solution is so resource intensive that it kills our simulation.
I understand that this is maybe the most realistic way in terms of physics, but maybe that´s not always needed.
In our case it would just help to have kind of a single element that behaves somehow like a conveyor belt which just transports the robot.
Unfortunately we don’t have a solution yet for track approximations. Conveyor belts can be simulated by specifying a surface velocity on rigid bodies, but this only works on kinematic rigid bodies so far. Dynamic rigid bodies cannot have a surface velocity. I forwarded your request internally such that we might add support for dynamic track approximations in the future.