Prepared by Prof. Tommy Chang and Jay Prajapati

In this tutorial, you will learn how to use the ros1_bridge package to enable communication between ROS1 (Noetic) and ROS2 (Humble). This is useful when transitioning from ROS1 to ROS2, as it allows nodes from both ecosystems to exchange messages seamlessly.

Dependencies

  1. Ubuntu 22.04 Jammy
  2. ROS2 Humble (Default ROS in system)
  3. ROS Noetic (In Docker)
  4. ros1_bridge (in default ROS Humble system)

Installation

1. Set up a Ubuntu 22.04 system.

Ubuntu 22.04.3 LTS (Jammy Jellyfish)

2. Install ROS2 Humble.

Ubuntu (Debian packages) — ROS 2 Documentation: Humble documentation

3. Set up ROS1 Noetic and ros1_bridge package using docker.

Now let's set the ROS1 Noetic and ros1_bridge using docker. If you have Docker installed you can skip to the Build the ros-humble-ros1-bridge package step.

Install Docker (for native Ubuntu)

sudo apt install docker.io 

sudo usermod  -aG docker $USER   # add yourself to the "docker" group
newgrp docker  # or logout and re-login completely (not just opening a new terminal)