Sending robot Odometry information from Omniverse


I’m currently trying to get the ROS Navigation Stack working on omniverse.
I was able to move the robot using Omniverse’s ROS_JointState and ROS_PoseTree, and display it in Rviz using tf.
However, I can’t think of a good way to output the robot’s odometry from Omniverse.

I thought I could use the data published by ROS_JointState, but result is not good.

I also use the data subscribed by ROS_JointState, but there is too difference.

I would appreciate it if you could add the ability to send Odometry ROS topics in a future update.
Or does anyone have a better idea about Odometry?


I checked the data, and the data sent from JointStates is different, and there is a big blip, even though I’m moving at a constant speed.
(The X axis of LinearVelocity in Inspect Physics and the number on the left side of the terminal (the velocity of the new wheel_left_joint sent by JointStates) should be the same.)
This is a difficult cause to solve.
I’m assuming that the data shown in Inspect Physics is correct.
Is it a bug that this value is not sent in JointStates?


OK, I found a way.
The best way was to use the PoseTree(tf) data, but this would cause problems when other ROS applications referenced the tf.
I dealt with it by renaming the prims that make up the tf.

@N.sannomi Yes tf is the best way to get this information, you should be able to change the topic name from /tf to something else in the ROS PoseTree component. You can then write a tf republisher to pre/append to the published paths before merging with /tf