Environment:
- Linux Mint 20.1 (based on Ubuntu 20.04)
- I use zsh instead of bash, see oh-my-zsh.
- ROS1 Noetic installed according to http://wiki.ros.org/noetic/Installation/Ubuntu
- ROS2 Foxy installed according to https://docs.ros.org/en/foxy/Installation.html
- other versions should be ALMOST the same
setup the following shell functions for conveniency, this is totally optional. If you don’t do this, just replace the content later. Also note to replace the distro name of the correct version.
# in ~/.zshrc or ~/.zshenv or ~/.bashrc if you use bash
function activate_ros1 {
source /opt/ros/noetic/setup.zsh
}
function activate_ros2 {
source /opt/ros/foxy/setup.zsh
}
Steps
On 1st terminal (ROS1)
activate_ros1
roscore
On 2nd terminal (ROS1)
activate_ros1
rosbag play <blablabla.bag>
On 3rd terminal (ROS1) (optional)
activate_ros1
rostopic list # to list all messages
rostopic info <topic_name> # to show details of interested message, remember its message type for later use.
On 4th terminal (ROS1+ROS2)
sudo apt-get install ros-foxy-ros1-bridge # may need to change distro name; you only need to do this once.
then
activate_ros1 # first do this
activate_ros2 # then do this, ignore the warning
ros2 run ros1_bridge dynamic_bridge
On 5th terminal (ROS2)
activate_ros2
ros2 topic echo <topic_name> <message_type> # from the 3rd terminal, note the <message_type> is a must.
or run your own program.