ROS 1 Bridge allows ROS 2 packages such as
luos_ros2 to communicate with a ROS 1 ecosystem. However, both ROS 1 and 2 need to be installed, and the bridge takes care of the translation.
This procedure has been tested with ROS 1 Noetic + ROS 2 Foxy and Python 3.8.2 in Ubuntu. It might work with older distributions, although it has not been tested.
Make sure you have first installed ROS 2 and managed to run the broker in ROS 2 with the command
ros2 launch luos_interface broker.launch.py.
We assume your ROS 2 workspace is
Then install ROS 1 Noetic on Ubuntu 20.04 ↗.
We assume your ROS 1 workspace is
The bridge has its own workspace that is to be compiled with colcon (ROS 2):
mkdir -p ~/ros1_bridge_ws/src cd ~/ros1_bridge_ws/src git clone -b foxy https://github.com/ros2/ros1_bridge.git source ~/ros_ws/devel/setup.bash source ~/ros2_ws/install/setup.bash cd ~/ros1_bridge_ws colcon build --packages-select ros1_bridge --cmake-force-configure --cmake-args -DBUILD_TESTING=FALSE
In terminal 1: ROS Core in workspace
source ~/ros_ws/devel/setup.bash roscore
In terminal 2: ROS 1 Bridge in workspace
source ~/ros1_bridge_ws/install/setup.bash ros2 run ros1_bridge dynamic_bridge --bridge-all-2to1-topics
In terminal 3: Luos broker in workspace
Plug some Luos services before starting the broker.
source ~/ros2_ws/install/setup.bash ros2 launch luos_interface broker.launch.py
In terminal 1: Your ROS 1 app in workspace
Let us consider that
rostopic is the ROS 1 app you want to run with Luos services.
source ~/ros_ws/devel/setup.bash rostopic list
You can then publish and subscribe to the available topics in ROS 1.