How to get the Ground Truth Pose of robot in Isaac simulator ( Please help me.. )

I want to get the ground truth pose of robot based on ros2 in isaac simulator.
( If it’s impossible, It doesn’t have to be ros2 based… )

So until now, i was trying to make the tf message ( map to base_link) based on omnigraph.
But I only reproduced omnigraph to receive tf message like ( map to odom, odom to base_link …)

However, I found the information that tf data is not ground truth.

  1. Isaac PoseTree Inconsistent worldTrobot - Carter Sim - #2 by d20.hall
  2. Setting Up Transformations — Navigation 2 1.0.0 documentation
    → in here, they said transform (map → odom) is usually provided by a different ROS package dealing with localization and mapping such as AMCL ( below figure )

  • **If then, Is there any method that can get the ground truth pose of robot in isaac simulator based on ros2? ( If it’s impossible, It doesn’t have to be ros2 based.) **

To sum up :

  • I want to get the gt pose of robot using ros2 in isaac sim.
  • Is there any methods for getting the GT Pose using ros2?
  • And also Is tf data ground truth? ( I understood above page said that is not gt…). If then, How can i get the gt?
  • I also found there is get_world_pose() function, So if i use this function, Could i get the gt pose?

If Anyone who know this problem, Please help me!!
( I heard that these questions are related to SDK… so I’m uploading this topic in here… ! )
Thank you so much!

The TF data is ground truth, you can use the ROS2 transform tree node, if the parent prim is left blank it will publish the world pose for a rigid body.

https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_ros2_tf.html#tf-tree-publisher

1 Like