0
$\begingroup$

Rosanswers logo

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.


Originally posted by tlaci on ROS Answers with karma: 48 on 2020-01-14

Post score: 1


Original comments

Comment by stevemacenski on 2020-01-14:
Do you have the image transport plugins installed on your jetson nano?

Comment by tlaci on 2020-01-15:
Yes, I have.

ros-eloquent-image-transport-plugins/bionic 2.2.1-1bionic.20191213.060222 amd64
A set of plugins for publishing and subscribing to sensor_msgs/Image topics in representations other than raw pixel data.

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.

Comment by tfoote on 2020-01-15:
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.

Comment by stevemacenski on 2020-01-15:
Sounds like we have a diagnosis!

Comment by tlaci on 2020-01-16:
It works now. I thought image_transport_plugins should be installed with eloquent, for me it did not.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I reinstalled eloquent choosing the right architecture. Somehow it is a problem if amd64 is listed in the brackets too, maybe because it finds amd64 packages first.

sudo sh -c 'echo "deb [arch=arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

After that I installed image_transport_plugins and now it works fine.


Originally posted by tlaci with karma: 48 on 2020-01-16

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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