0
$\begingroup$

The messages are going through for the color image and depth image topics but not for the point cloud topic. I'm using a parameter bridge between ros2 rviz2 and gazebo ignition fortress. I'm including screenshots and commands of my setup for reference. I found an SDF model for intel realsense D435 on the gazebo ignition fuel (now gazebo sim app) website and modified it to make it work with my setup. I'm working with wsl 2 and ubuntu 22 on windows 10 using a remote desktop setup to access the complete GUI of linux but as far as my understanding goes, that's not causing any issues in this case. I tried looking up similar issues but the ones that i found either had unclear resolutions or were about ros1 rviz1 and gazebo classic.

Terminal commands:

~$ ign gazebo demo-01-A.sdf

~$ ros2 run ros_gz_bridge parameter_bridge /rgbd_camera/image@sensor_msgs/msg/[email protected] /rgbd_camera/camera_info@sensor_msgs/msg/[email protected] /rgbd_camera/depth_image@sensor_msgs/msg/[email protected] /rgbd_camera/points@sensor_msgs/msg/[email protected]

~$ ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 foo bar

Terminals errors/warnings.

[INFO] [1718021042.349432548] [rviz]: Message Filter dropping message: frame 'Intel-RealSense-D435_openrobotics/link/Intel-RealSense-D435_openrobotics' at time 818.497 for reason 'discarding message because the queue is full'

[WARN] [1718017917.892458549] []: Old-style arguments are deprecated; see --help for new-style arguments

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' Service [] is not valid. libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)

libEGL warning: NEEDS EXTENSION: falling back to kms_swrast libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)

libEGL warning: NEEDS EXTENSION: falling back to kms_swrast

gazebo ignition fortress and ros2 rviz2

point cloud settings for ros2 rviz2

$\endgroup$

1 Answer 1

1
$\begingroup$

I was able to make the point cloud data go through the parameter bridge after defining the correct fixed frame of reference for ros2 rviz2. My plain simulation world with gazebo ignition fortress had the virtual camera model placed on top of a simple cube. To avoid any future confusion, i must mention that i hadn't used either joint tag or frame tag anywhere in my setup. The virtual camera model had a name tag, a link tag inside the name tag & a sensor tag inside the link tag. Based on that order, the fixed frame of reference was "model_name/link_name/sensor_name" (which is "Intel-RealSense-D435_openrobotics/d435_link/rgbd_camera" for my setup). I didn't need the "tf" (transform) data for making my setup work. Both the depth and image data was already able to go through the parameter bridge even without defining the fixed frame of reference. On a related note, a seemingly obvious but important thing to remember is that no data is gonna flow through the parameter bridge when the simulation world is paused.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.