Using Custom Robot with Isaac SDK and Navigation Module


I am trying to develop and distribute an isaac app to a custom robot that I’ve built to make use of the isaac sdk navigation GEM; the robot uses a lidar and RGB-D camera as well as a custom wheelbase. I tried to study the sample code given for the carter hardware example to figure out how the physical parameters of the carter robot (position of wheelbase relative to center of mass, dimensions of robot) were passed to the app, but could not find where this was.

Would the RobotShapeComponent cpp and hpp files under the planner package (/isaac/sdk/packages/planner/) be the correct way of inputting the custom robot shape into the app? Is it possible to provide an example of a custom robot shape and wheel base implemented into an app?

Yousuf Baker

SphericalRobotShapeComponent should let you model your robot as a set of spheres for the purposes of collision checking which should work well. Carter has differential drive (two fixed wheels that can turn independently) and the navigation stack expects these kinematics when generating trajectories and modeling for motion planning. If your wheel base is driven the same way, most of the stack should work as-is. Are you running into any specific issues or just making sure there are no major blockers?