[ROS2] image_transport only advertising raw option
Hi,
I created a ROS2 stereo camera node using image transport. I have two publisher:
m_publisher_left_image = image_transport::create_publisher(this, "stereo/left/image_raw");
m_publisher_right_image = image_transport::create_publisher(this, "stereo/right/image_raw");
m_publisher_left_info = this->create_publisher<sensor_msgs::msg::CameraInfo>("stereo/left/camera_info", 10);
m_publisher_right_info = this->create_publisher<sensor_msgs::msg::CameraInfo>("stereo/right/camera_info", 10);
When I start the node on my laptop I can see the following topics with ros2 topic list:
/stereo/left/camera_info
/stereo/left/image_raw
/stereo/left/image_raw/compressed
/stereo/left/image_raw/compressedDepth
/stereo/left/image_raw/theora
/stereo/right/camera_info
/stereo/right/image_raw
/stereo/right/image_raw/compressed
/stereo/right/image_raw/compressedDepth
/stereo/right/image_raw/theora
Now I run the exact same code on a Jetson Nano, also using eloquent distro but I can only see
/stereo/left/camera_info
/stereo/left/image_raw
/stereo/right/camera_info
/stereo/right/image_raw
I install eloquent via debian packages in late Nov on my laptop. On the Jetson it was installed on 6th Jan.
I would be glad if someone could explain me the cause of the different behavior.
Do you have the image transport plugins installed on your jetson nano?
Yes, I have.
Edit: I have just realized that it says amd64 for all my packages. Shouldn't it be arm64? I installed ros2 according to the eloquent (debian packages) tutorial.
If you're on the Jetson you should have arm64 assuming you're running an arm64 os image. The plugins certainly won't load if they are the wrong architecture.
Sounds like we have a diagnosis!
It works now. I thought image_transport_plugins should be installed with eloquent, for me it did not.