Shared robot model and Collision shared problems in Navsim application Isaac SDK

I am trying to understand the meaning of the shared robot model. So the shared model has a SphericalRobotShapeComponent which is a collection of circles that represent the robot as a union of circles. Fine. What is the purpose of this?

I am trying to create my own navsim application for a MiR100 robot. I continuously get an error Collision Check has failed in the trajectory validation - I thought the error was in the way the SphericalRobotShapeComponent was defined. I spent two days tunning the circles in the SphericalRobotShapeComponent since no matter which circles I used, the problem still persisted.

About to give up on the circles and the SphericalRobotShapeComponent in general and DUE TO THE LACK OF DOCUMENTATION, I tried to experiment with the carter and str SphericalRobotShapeComponentand just randomly change the values of the circle centers and radiuses. I even completely changed the carter circles with the ones I defined for my MiR100 robot. To my surprise, the carter moved perfectly fine - without any errors.

Then I started to think, that the SphericalRobotShapeComponent is not used at all in the navsim application. Is it then just solely for visualization purposes in Isaac Sight? This should then be included in the documentation to save time for developers!!

Anyways - I am still struggling with the Collision Check issue - for a couple of weeks now. It’s really frustrating.

I would appreciate it if someone from NVIDIA would please contact me and help me solve this issue, otherwise, using the ros navigation stack or other algorithms seems a wiser choice than just spending days and days on solving an issue you do not know the reason for - just because of the lack of documentation and support. This is really frustrating.

@Hammad_M @ltorabi @hemals @nithish_ks

SphericalRobotShapeComponent represents an approximation of the robot shape as a union of spheres as the footprint of your robot for collision checking during navigation. This simplifies distance calculations as just L2 distance to a point where the sphere radius is the hull. You need to configure a set of spheres that covers your entire robot model.

The robot shape is not just used for visualization purposes, no. Changing the shape of Carter impacts how big the navigation stack thinks the robot is, but if there are no obstacles, it may not have made a difference.

The STR example is rectangular and modeled as a set of 8 circles (see /sdk/packages/flatsim/apps/str.config.json). Your robot seems like it could be similarly modeled.

Thank you for the answer @hemals. I have now created the SphericalRobotShapeComponent properly (I believe). However, I continuously still get an error Collision Check has failed in the trajectory validation - even on environments where there are no obstacles. I tried to tune the parameters for the CollisionCheck component, with no luck.

I tried to readjust the values of the lidars, with no luck.

Would it be possible to get some help with this privately?

I tried to run the cart delivery example with the STR robot, and sometimes it also gets the Collision Check has failed error. So I am not sure this is something that can be fixed, or if it’s an bug in the NVIDIA code.