Sending ROS Odometry Messages with 3D Velocity via Action Graph

Hi Omniverse Team,

Here is the description of my environment.

Isaac Sim Version

4.2.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: RTX 4080 SUPER
  • Driver Version: 550.120

Topic Description

Detailed Description

I’m having some trouble sending 3D odometry through the Action Graph.

First, I created a test scene where a small ball performs circular motion at a speed of 180 degrees per second, as shown in the animation.

020

And, I used the ROS2 Publish Odometry node from omni.isaac.ros2_bridge to publish the odometry of the small sphere.

Then, I used the ros2 topic echo /odom command to observe the odometry, which is shown below:

---
header:
  stamp:
    sec: 5479
    nanosec: 283619100
  frame_id: odom
child_frame_id: base_link
pose:
  pose:
    position:
      x: 0.10348416864871979
      y: -0.47810259461402893
      z: 1.1034841537475586
    orientation:
      x: 0.6993221325516703
      y: 1.1920929431633377e-07
      z: -0.6993218941330818
      w: 0.1479778473606399
  covariance:
  - 0.0
  - 0.0
  ...
twist:
  twist:
    linear:
      x: -1.0619462728500366
      y: -0.4694446325302124
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: -127.32231903076172
  covariance:
  - 0.0
  - 0.0
  ...

I noticed that node can’t handle 3D linear (twist.linear) and angular (twist.angular) velocities—they only support movement on the XY plane.

Even when I input 3D velocity data for the rigid body directly, as shown in the image, it still doesn’t work.

I tried adjusting robotFront, but the node still couldn’t output 3D velocity messages. How can I adjust it to send 3D velocity messages?

Lastly, I have attached the test scene test-3d-odom.usd.zip (15.5 KB). Hopes can help me out—thanks, Omniverse Team!

Currently, only 2D odometry is supported. We will add support for 3D odometry in the future.

Thanks for your response. I look forward to the upcoming new features.


Actually, I am trying to use a generic ROS2 publisher to publish 3D odometry messages, but I’ve encountered some problems. As shown in the image below, directly publishing nav_msgs/msg/Odometry causes Isaac Sim to crash.

Other basic messages, like the typical velocity message geometry_msgs/msg/TwistStamped, work fine without any problems. Could I have made a mistake or missed something? Is there a way to fix this? This is my current test scenario test-3D-odom2.usd.zip (19.1 KB)
.