Stereo visual odometry to ROS

Hello,

Below is my initial question about connecting the visual odometry example with ROS. In the mean time I have found that message type for odometry and from SVO example are not the same. My current approach is connecting to the tracker Proto3D message to publish it over ros bridge, I will post update if it works.

Sorry for the inconvenience caused by the first question.

[EDITED]
Hello,

I am trying to connect the Stereo Visual Odometry example using ros_bridgepackage in order to publish the data to a ROS topic. I went through the ROS bridge example with navigation flatsim and it worked. My current approach to the solution is to add a ros_bridge subgraph:
{
“name”: “ros_bridge”,
“subgraph”: “packages/ros_bridge/apps/ros_to_navigation_bridge.subgraph.json”
},
to the stereo_visual_odometry_grayscale.subgraph.json. I believe that I fail at connecting the Stereo Visual Odometry node with the ros_bridge edge: “ros_converters/OdometryToRos/proto”, but I am not sure what is the name of the odometry message transmitted by the Stereo Visual Odometry node.

In the attachment are BUILD and visual odometry json file that I use to run the application.

The command that I use to start the application is: bazel run //packages/visual_slam/apps:svo_realsense

I have just started learning about Isaac SDK, so I am not sure if this approach is the one to take. Any help would be much appreciated, thanks!

BUILD (4.0 KB) stereo_visual_odometry_grayscale.subgraph.json (5.8 KB)

1 Like

Hello,

I have tested the approach described above. In order to pass the pose message to ROS I used the PoseMessageToRos example from ros_bridge. One needs to change the type of the expected Proto message from ‘PoseTreeEdgeProto’ to ’ Pose3dProto’, in both PoseMessageToRos.cpp and PoseMessageToRos.hpp. Afterwards, handling of the incoming message should be adapted to the new format well. In the attachment is the upated .cpp file for reference.

Lastly one needs to add the PoseMessageToRos codelet to the application .json file as explained in the ros_bridge example.

I hope somebody finds this useful :).

PoseMessageToRos.cpp (1.6 KB)

1 Like