RealSense on Dusty's Foxy Docker

Hello all,
I saw the topic Newbie: How to Use Intel Realsense in the ROS2 Foxy Docker Container on Jetson Nano, but I didn’t find the solution for the question.
I use Dusty’s docker but I face a number of problems during installation…
The apt-get doesnt’ find the packages for following commands:

sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev

How can I deal with it? The main purpose is to use shared memory (zero-copy) to run deepstream with realsense camera. We wanted to use docker with foxy to run two nodes on the shared memory and faced the problem of realsense installation…
Thank you in advance

Hi @mark60, it may be that these packages aren’t in the Ubuntu 18.04 apt repo and that you may need to build them from source, or add another apt repo which does contain them. Also, did you run apt-get update in the container before trying to install these?

1 Like

Thank you for your answer!
Yes, I ran apt-get update/upgrade…

Why are you asking about 18.04, doesn’t the docker run on 20.04? (At least it was what I saw in /etc/os-release)

If this is Jetson TX2 you are talking about, TX2 runs JetPack 4.x and Ubuntu 18.04.

Are you running a Docker container which matches your version of JetPack-L4T? Because those JetPack 4.x containers should be running Ubuntu 18.04.

1 Like

Maybe I’m missing something…
I wanted to run docker woth Foxy (Ubuntu 20.04) on JetPack 4.6 (Ubuntu 18.04).
Is it possible?

The Docker containers that we use on JetPack 4.x are still based on Ubuntu 18.04. If you don’t care about GPU acceleration, then you may be able to just use Ubuntu 20.04 inside the container, however I haven’t tried this.

1 Like

Ok, it was something I missed.

Maybe I’ll ask the main question. We want to be able to run RS D435 on Jetson with DeepStream for detections on ROS2 in high fps.
We wanted to use the zero-copy/shared memory for this and as we understand we need Foxy for this purpose. So we tried to use Foxy on Docker. Now I understand that this can provide us with shared memory, but the DeepStream won’t work, am I right?
What would you suggest us to do to solve our problem?
I think that the problem is common for robotics, isn’t it?

@mark60 what I would do is rebuild the ros:foxy container but use the deepstream-l4t container as a base instead - this will get you DeepStream in the container. Then you could try using these ros2_deepstream nodes for it:

Note that using a container isn’t strictly required - it just makes it easier to contain the source build. You could build/install ROS2 Foxy from source outside of container if you wished.

Thank you, we’ll try it!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.