环境:
ubuntu 20.04
ros1 noetic
ros2 foxy
最近在跑orb_slam3,用的奥比中光astra pro ms rgbd深度相机,咸鱼买的,一百多,在ros1 noetic版可以采集到彩色图像和深度图像,在ros2 foxy版就是采集不到彩色图像,只能采集深度图和红外图,但是orb_slam3需要彩色图和深度图话题,所以只能用ros1_bridge把图像从ros1转到ros2了,下面是实现过程。
ros1 noetic安装过程参考我上期博客:
奥比中光Astra Pro RGBD深度摄像机在ros1 noetic版采集彩色图像和深度图像_JT_BOT的博客-CSDN博客
现在的机器人系统是ros1 noetic ros2 foxy,打开终端需要选进哪个版本
这里选1 进入ros2 foxy
ros1-bridge安装命令(传递标准消息可以直接安装,如果是自定义消息需要下载编译源码):
sudo apt install ros-$ROS_DISTRO-ros1-bridge ($ROS_DISTRO可以自动按本机的版本选择版本)
打开终端选2进入ros1,输入命令打开摄像头:
source ~/ros1_ws/devel/setup.bash
roslaunch astra_camera astra_pro.launch
打开终端选1进入ros2:
打开ros1-bridge 需要先source ros1 在source ros2 然后在跑ros1-bridge
source ~/ros1_ws/devel/setup.bash
source ~/ros2_ws/install/setup.bash
ros2 run ros1_bridge dynamic_bridge --bridge-all-topics
再打开一个终端:
彩色图像和深度图像在ros2 rviz2接收成功,ros1 通过ros1-bridge 向ros2传递话题成功。