ros1_bridge Dockerfile to build one 15gb docker image with both ROS1/noetic and ROS2/humble on nvcr.io/nvidia/l4t-jetpack:r36.4.0.
It runs well on my Jetson AGX Orin 32gb dev kit that is running Jetpack 6.2 / 36.4.3
I built the docker image with this command.
docker build -t ros1_bridge:ros2 .
Here’s the Dockerfile.
Dockerfile.txt (6.6 KB)
Put the ros_entrypoint.sh
ros_entrypoint.sh.txt (30 Bytes)
in same directory as Dockerfile.
tmux is installed in image. Here are 4 tmux terminal based shell scripts that execute the ros1_bridge examples 1a, 1b, 3, and 4. didn’t do #2 as am running AGX via ssh.
ros1talk_ros2hear.sh.txt (1.9 KB)
ros2talk_ros1hear.sh.txt (1.8 KB)
ex3_AddTwoInts.sh.txt (2.0 KB)
ex4_AddTwoInts.sh.txt (2.4 KB)
Here’s a bash script to start the container. Please edit before use to change the volume mount to what makes sense in your environment.
docker run -it --rm --net=host --runtime nvidia --privileged --ipc=host -v $HOME/.git/rosbridge:/workspace ros1_bridge:ros2 bash
ros1bridge.sh.txt (135 Bytes)
Hope someone finds this useful.
Scott
PS: The tmux pane that executes “ros2 run ros1_bridge” emits a warning that is benign and just annoying: “failed to create 2to1 bridge for topic ‘/rosout’ with ROS 2 type ‘rcl_interfaces/msg/Log’ and ROS 1 type 'rosgraph_msgs/Log’”