This rep is a ros2 humble package in Docker that transfer ros1 noetic topics into ros2 humble ones. It is the implementation of https://github.com/TommyChangUMD/ros-humble-ros1-bridge-builder. In fact, it contains two Docker images:
- ros-humble-ros1-bridge-builder from https://github.com/TommyChangUMD/ros-humble-ros1-bridge-builder, which is
humble_bridge_builder - ros-humble desktop that run ros-humble-ros1-bridge-builder
git clone --recurse-submodules git@github.com:EEEManchester/ros2_bridge_ros1.git cd humble_bridge_builder
docker build . -t ros-humble-ros1-bridge-builderthen we should obtain a Docker image ros-humble-ros1-bridge-builder, and then we run create_bridge_pkg.sh to create the ros-humble-ros1-bridge-builder pkg in the folder ros_bridge_shared
bash build_image.shwhich will create a ros-humble-desktop image whos name is ros2_humble_bridge.
we run the following command
bash run_containerand we share the folder ros_bridge_shared inside ros-humble-desktop container. In this case, the container's name is ros2_humble_bridge_container. Note that, we use the host network setting to enable the container use the network of the host machine.
Lets assume that you run a ros1 noetic application also in a Docker container on your host machine with its ros master uri being ROS_MASTER_URI=http://localhost:11311/
In side ros2_humble_bridge_container, we first run two source commands which are
source /opt/ros/humble/setup.bash
source /bridge/ros-humble-ros1-bridge/install/local_setup.bash and we set ROS_MASTER_URI as the address in Step 2.1, after which we can run the node as
export ROS_MASTER_URI=http://localhost:11311
ros2 run ros1_bridge dynamic_bridge --bridge-all-topicsTill now, all the ros1 noetic topics should be transfered into ros2 humble. We should be able to see them in the container ros2_humble_bridge_container.