深度相机性价比较高的要属奥比中光的Astra Pro,对标微软的D435,能采集彩色图像,深度图像,红外图像,如果只是做实验或者只是拿来玩玩,在咸鱼入手一个也就一二百,可玩性非常高。想拿他跑一下ORB_SLAM3,但是在ros2 foxy版用尽各种办法就是不能同时采集彩色图像和深度图像,下面记录一下在ros1采集彩色图像和深度图像的过程,看看能不能通过ros1_bridge把彩色和深度图像传到ros2。
环境:ubuntu 20.04 ros2 foxy版
摄像头:Astra Pro MS
一 安装ros1 noetic版
一键安装ros命令:
wget http://fishros.com/install -O fishros && . fishros
ros1 ros2 机器人双系统安装完成,以后每次打开终端都需要选一下启动foxy或者noetic。
打开2个终端 选2 nodtic,分别输入下面命令,启动成功,ros1 ros2 双系统安装完成。
roscore
rosrun turtlesim turtlesim_node
二 安装摄像头
下载程序:https://developer.orbbec.com.cn/download.html?id=181
打开README.md按步骤安装。
安装依赖:
sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager\
ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher libgoogle-glog-dev libusb-1.0-0-dev libeigen3-dev
安装libuvc:
git clone https://github.com/libuvc/libuvc.git
cd libuvc
mkdir build && cd build
cmake .. && make -j4
sudo make install
sudo ldconfig
创建ros工作空间:
mkdir -p ~/ros1_ws/src
把上面下载的摄像头程序复制到src文件夹下
编译:
cd ~/ros_ws
catkin_make
安装udev rules:
cd ~/ros_ws
source ./devel/setup.bash
roscd astra_camera
./scripts/create_udev_rules
sudo udevadm control --reload && sudo udevadm trigger
(其实上面安装udev rules的代码的意思是把56-orbbec-usb.rules这个文件复制到
/etc/udev/rules.d/这个文件夹下,可以不用上面的代码自己直接复制,完成后的样式。)
开启摄像头:
cd ros1_ws
source ./devel/setup.bash
roslaunch astra_camera astra_pro.launch
rviz查看:
cd ros1_ws
source ./devel/setup.bash
rviz
rviz --add--by topic 通过话题添加。
打开终端查看话题:
彩色图像和深度图像都显示了出来,
/camera/color/image_raw 彩色图像话题
/camera/depth/image_raw 深度图像话题
摄像头安装结束。