I am using isaac_ros_visual_slam version 4.1.0 on ROS 2 Jazzy with the standard r2b_cafe dataset. While the SLAM node successfully performs tracking and publishes high-frequency odometry on visual_slam/tracking/odometry, all PointCloud2 topics (specifically visual_slam/vis/observations_cloud) remain empty or are never published, while only the visual_slam/vis/landmarks_cloud topic shows data.
Environment Details:
- Platform: x86_64
- OS: Ubuntu 24.04 LTS
- GPU: NVIDIA Ampere (RTX series, Compute Capability 8.6)
- NVIDIA Driver: 580.126.09
- CUDA: 13
- Isaac ROS Version: 4.1.0 (Jazzy)
- ROS 2 Version: Jazzy Jalisco
- Python: 3.12
My configuration for ros2 launch:
context:
rosbag2_player_config:
storage:
uri: "${ISAAC_ROS_WS}/datasets/r2b_cafe"
play:
rate: 1.0
delay: 1.0
loop: false
read_ahead_queue_size: 1000
visual_slam_config:
enable_image_denoising: false
rectified_images: false
enable_slam_visualization: true
enable_observations_view: true
enable_landmarks_view: true
base_frame: "base_link"
odom_frame: "odom"
map_frame: "map"
override_publishing_stamp: false
publish_map_to_odom_tf: true
publish_odom_to_base_tf: true
enable_localization_n_mapping: true
camera_optical_frames: ["HAWK_0:left_rgb", "HAWK_0:right_rgb"]
image_jitter_threshold_ms: 50.0
nodes:
- name: tf_static_publisher_left
package: tf2_ros
executable: static_transform_publisher
arguments:
- "--x"
- "0"
- "--y"
- "0"
- "--z"
- "0"
- "--roll"
- "0"
- "--pitch"
- "0"
- "--yaw"
- "0"
- "--frame-id"
- "base_link"
- "--child-frame-id"
- "HAWK_0:left_rgb"
- name: tf_static_publisher_right
package: tf2_ros
executable: static_transform_publisher
arguments:
- "--x"
- "0"
- "--y"
- "0.05"
- "--z"
- "0"
- "--roll"
- "0"
- "--pitch"
- "0"
- "--yaw"
- "0"
- "--frame-id"
- "base_link"
- "--child-frame-id"
- "HAWK_0:right_rgb"
- name: rosbag2_player
package: rosbag2_transport
plugin: rosbag2_transport::Player
parameters:
- ${rosbag2_player_config}
extra_arguments:
- use_intra_process_comms: true
remappings:
- {from: hawk_0_left_rgb_image, to: raw/image_left}
- {from: hawk_0_left_rgb_camera_info, to: raw/camera_info_left}
- {from: hawk_0_right_rgb_image, to: raw/image_right}
- {from: hawk_0_right_rgb_camera_info, to: raw/camera_info_right}
- {from: /tf_static, to: /tf_static_unused}
- name: VisualSlamNode
package: isaac_ros_visual_slam
plugin: nvidia::isaac_ros::visual_slam::VisualSlamNode
parameters:
- ${visual_slam_config}
remappings:
- {from: visual_slam/image_0, to: raw/image_left}
- {from: visual_slam/camera_info_0, to: raw/camera_info_left}
- {from: visual_slam/image_1, to: raw/image_right}
- {from: visual_slam/camera_info_1, to: raw/camera_info_right}
- {from: visual_slam/tracking/odometry, to: visual_slam/tracking/odometry}
- {from: visual_slam/vis/observations_cloud, to: visual_slam/vis/observations_cloud}
This is my frames, when I am using the tf2_tools:
Information about these topics during the launch file:
/tf:---- transforms: - header: stamp: sec: 1677602737 nanosec: 241082368 frame_id: odom child_frame_id: base_link transform: translation: x: -2.0894250869750977 y: -0.27180561423301697 z: 24.227458953857422 rotation: x: -0.006779739661128582 y: -0.0015924859391927965 z: 0.004476052727360864 w: 0.9999657314481545 ---
-
tf_statictransforms: - header: stamp: sec: 1776674711 nanosec: 295177468 frame_id: base_link child_frame_id: HAWK_0:right_rgb transform: translation: x: 0.0 y: 0.05 z: 0.0 rotation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 --- transforms: - header: stamp: sec: 1776674711 nanosec: 295470099 frame_id: base_link child_frame_id: HAWK_0:left_rgb transform: translation: x: 0.0 y: 0.0 z: 0.0 rotation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 ---
Detailed description of the issue:
I am trying to obtain data from the visual_slam/vis/observations_cloud topic. However, when checking it using ros2 topic echo and ros2 topic hz, I do not receive any information — the topic exists, but no messages are being published.
At the same time, other topics are working correctly:
visual_slam/tracking/odometryvisual_slam/tracking/slam_pathvisual_slam/vis/landmarks_cloud
All of these contain valid data. The issue occurs specifically with PointCloud2-type topics, in particular visual_slam/vis/observations_cloud, which remains empty.
I would like to understand the reason for this:
- Is it an issue in my configuration?
- Is the dataset not suitable for generating such data?
- Or does :contentReference[oaicite:0]{index=0} currently not support publishing this topic in this version?
I am also confused about TF behavior.
In my configuration, I set:
publish_map_to_odom_tf: true
publish_odom_to_base_tf: true
During the first launch (in Foxglove Studio), I observed a correct TF chain:
map → odom → base_link → HAWK_0 → HAWK_0:left_rgb
However, even in this case, the observations_cloud topic remained empty.
After restarting the system without any changes in the configuration, the connection between map and odom disappeared, and I do not understand why this is happening.
Question:
I would greatly appreciate help in understanding:
- why no data is being published to
visual_slam/vis/observations_cloud, - whether this is related to configuration, dataset, or limitations of the implementation,
- and how to correctly obtain data from this topic.
