主要包括:
1.安装过程不要连接相机
2.不要在虚拟机安装
3.连接相机时使用usb3.0与笔记本连接
主要参考:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
git clone https://github.com/IntelRealSense/librealsense
cd librealsense
网不好时可手动下载master分支压缩包,效果一样。
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
官网教程通过脚本安装,执行**./scripts/setup_udev_rules.sh**但是我的系统在用这个方法安装时,会一直卡顿没有进程。最终我的安装方式如下,网不好的时候就开热点:
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
执行命令cd ~/librealsense/build/examples/capture/,进入/librealsense/build/examples/capture目录下,在此位置下打开终端执行./rs-capture或者用realsense-viewer查看相机效果。
参照https://blog.csdn.net/zxl970921/article/details/114953858会出现ddynamic包找不到情况,具体问题可根据编译提示解决,该博客所需文件已保存到百度云。
catkin_ws为已存在工作空间
cd catkin_ws/src
官网:https://github.com/IntelRealSense/realsense-ros
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..
cd ..
catkin_make
若提示缺少的ddynamic_reconfigure库,下载https://github.com/pal-robotics/ddynamic_reconfigure好以后,把代码放到Catkin工作空间的src文件夹下,catkin_make即可。
最后别忘了source ~/.bashrc更新一下
将相机连接到笔记本的3.0接口,以D435i双目+imu相机为例测试
roslaunch realsense2_camera rs_d435_camera_with_model.launch
查看此时的topic list
rostopic list
/camera/color/camera_info
/camera/color/image_raw
/camera/color/metadata
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/metadata
/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2
/camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/gyro/imu_info
/camera/gyro/metadata
/camera/gyro/sample
/camera/accel/imu_info
/camera/accel/metadata
/camera/accel/sample
/diagnostics
其中,在launch文件中有一些topic的开关测试可针对性设置为true或者false。
roslaunch realsense2_camera rs_t265.launch
查看发布话题,同样的,在launch文件中有一些topic的开关测试可针对性设置为true或者false。
rostopic list
/camera/odom/sample
/camera/accel/sample
/camera/gyro/sample
/camera/fisheye1/image_raw
/camera/fisheye2/image_raw
1.可以用rviz选择话题查看,注意fix frame
2.可以指令查看:rqt_image_view选择话题查看
rs-enumerate-devices | grep Serial
roslaunch realsense2_camera rs_multiple_devices.launch serial_no_camera1:= serial_no_camera2:=
roslaunch realsense2_camera rs_multiple_devices.launch serial_no_camera1:=109122071794 serial_no_camera2:=952322110650
或者
开两个终端
roslaunch realsense2_camera rs_camera.launch camera:=cam_1 serial_no:=
roslaunch realsense2_camera rs_camera.launch camera:=cam_2 serial_no:=
…
参考:https://zhaoxuhui.top/blog/2020/09/09/intel-realsense-d435i-installation-and-use.html
(1)IMU信息的融合
前面的Topic List里也看到了,D435i可以输出陀螺仪和加速度计的信息,我们可以分开读取,也可以将/camera/gyro/sample和/camera/accel/sample两个Topic合并到一起,叫做/camera/imu,这样一个Topic里既有陀螺仪的数据也有加速度计的数据。具体方法也很简单,还是修改Launch文件里的配置选项。在rs_camera.launch文件中找到unite_imu_method这个参数,把它的值可以设置为copy或者linear_interpolation,这样再次启动rs_camera节点启动D435i就可以在Topic列表里看到/camera/imu这个Topic了。
(2)深度图对齐问题
D435i可以输出原始的深度图(/camera/depth/image_rect_raw)以及和单目RGB影像对齐的深度图(/camera/aligned_depth_to_color/image_raw),这两个深度图是不一样的。在采集数据的时候尤其需要注意。比如在采集RGBD数据的时候需要的是对齐的深度,如果不小心采成了原始深度,那基本就是不能用的了。如何输出对齐的深度图,也非常简单,修改Launch文件里的配置选项。在rs_camera.launch文件中找到align_depth这个参数,把它的值可以设置为true即可。(设置这个选项之前,记得打开enable_depth,要不然是没有数据的)
(3)D435i的分辨率与帧率
单目相机(RGB影像):分辨率:320×180,320×240,424×240,640×360,640×480,848×480,960×540,1280×720,1920×1080;帧率:6,15,30,60
双目红外相机(灰度影像&深度影像):分辨率:256×144,424×240,480×270,640×360,640×400,640×480,848×100,848×480,1280×720,1280×800;帧率:6,15,25,30,60,90,100,300
IMU(加速度计&陀螺仪):加速度计帧率:63,250;陀螺仪帧率:200,400
(4)数据采集的常规流程
这里简单给出一些D435i数据采集的建议。首先,如果要采RGBD数据,那么一定要记得录对齐后的深度,而非原始输出深度。第二,如果采集场景是较暗或者较小的场景,那么可能会有很多红外斑点出现在双目红外影像中。如果想用双目影像做视觉SLAM,那么一定记得关闭红外发射器。
下面以一个利用D435i进行单目RGB、红外双目、IMU数据采集的过程为例,介绍一般流程与步骤。
首先明确要采集的数据类型、影像的大小、帧率、深度是否对齐等信息,这些都在rs_camera.launch文件的对应参数里设置。
然后,在终端中输入roslaunch realsense2_camera rs_camera.launch启动D435i。启动以后如果需要关闭红外发射器,按照上面提到的第三点进行操作即可。
然后,利用rqt_image_view进行可视化。可以打开多个rqt_image_view节点,分别查看RGB影像、左右红外影像等。
最后,打开终端,输入rosbag record /camera/color/image_raw /camera/infra1/image_rect_raw /camera/infra2/image_rect_raw /camera/imu,这样就开始录制了。录制完成后,按Ctrl+C保存退出即可。