环境:Ubuntu22.04,Ros2humble Ros1Noetic
简单叙述下流程:
git clone项目:https://github.com/ros2/ros1_bridge.git
在编译前,先设置环境变量,根据例程
在.bashrc文件下输入
export ROS1_INSTALL_PATH=/opt/ros/noetic export ROS2_INSTALL_PATH=/opt/ros/humble
然后在终端(未source任何Ro环境变量)先
source ${ROS1_INSTALL_PATH}/setup.bash
接着source Ros1工作空间下的bash文件
然后
source ${ROS2_INSTALL_PATH}/setup.bash
接着source Ros2工作空间下的bash文件
最后colcon build --symlink-install --packages-select ros1_bridge --cmake-force-configure来编译ros1_bridge项目
然后就可以跑官方给的demo了,若是想把ros2的topic一股脑发给ros1,并让ros1的topic list显示
可以在运行ros1_bridge时加--bridge-all-2to1-topics参数
ros2 run ros1_bridge dynamic_bridge --bridge-all-2to1-topics
务必注意一点:因为有两个Ros,所以终端的环境变量务必谨慎,避免污染!我的做法是在.bashrc文件里注释掉默认source的ros变量,在新终端里面,需要哪个就source哪个