Realsense d435i驱动安装、配置及校准

写在前面
本文是在ubuntu20.04下安装,其它版本大同小异。可能出现的问题,主要由各自安装相关库版本不一致导致,故问题不一,但一般很好解决,正常情况下不会出现。

Intel Realsense 深度摄像头D435i将D435强大的深度感知能力和惯性测量单元(IMU)结合起来,可满足RGBD、单目、双目slam研究与实战。本文介绍D435i相关工具安装、配置及校准,也是实战slam算法的前提,不可缺少的部分。实物如图所示:
Realsense d435i驱动安装、配置及校准_第1张图片

一、工具安装

D435i工具包括,Intel Realsense SDK2.0 和realsense-ros。

1.Intel Realsense SDK2.0
(1)下载源码
  • git clone https://github.com/IntelRealSense/librealsense.git
  • cd librealsense
(2)安装依赖
  • 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
(3)添加权限
  • sudo cp config/99-realsense-libusb.rules /etc/udev/rulesgger
  • sudo udevadm control --reload-rules && udevadm trigger
(4)编译、安装
  • mkdir build
  • cd build
  • cmake …
  • make
  • sudo make install
(5)测试
  • cd examples/capture
  • ./rs-capture

或者

  • realsense-viewer

安装成功后,sdk界面显示如下
Realsense d435i驱动安装、配置及校准_第2张图片

注:使用USB3.0接口。

2.安装realsense-ros

因后续需要使用ros进行双目、imu数据发布,因此需要安装realsense-ros。

(1)创建工作空间、下载源码及编译
  • mkdir -p realsense_ws/src
  • cd realsense_ws/src
  • git clone https://github.com/IntelRealSense/realsense-ros.git
  • git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
  • catkin_make
    编译完成,根据个人喜好,可永久添加source
  • echo “source /realsense_ws/devel/setup.bash” >> ~/.bashrc
  • source ~/.bashrc
(2)测试

若上一步未添加source,运行launch时需

  • source devel/setup.bash
  • roslaunch realsense2_camera rs_camera.launch

可查看发布的话题

  • rostopic list

如下图所示
Realsense d435i驱动安装、配置及校准_第3张图片

二、配置

因后续需要使用d435i进行vins_fusion实战,因此该配置为双目+imu,修改rs_camera.launch,具体如下。其它,如RGBD可以参照rs_rgbd.launch按需修改。

1. 
2.   
3.   
4.   
5.   
6.   
7.   
8. 
9.   
10.   
11.   
12. 
13.   
14.   
15.   
16. 
17.   
18.   
19.   
20.   
21. 
22.   
23.   
24.   
25. 
26.   
27.   
28.   
29.   
30.   
31.   
32.   
33.   
34. 
35.   
36.   
37.   
38. 
39.   
40.   
41. 
42.   
43.   
44. 
45.   
46.   
47.   
48.   
49.   
50.   
51.   
52.   
53.   
54.   
65. 
66.   
67.     
68.       
69.       
70.       
71.       
72.       
73. 
74.       
75.       
76.       
77.       
78.       
79. 
80.       
81.       
82.       
83. 
84.       
85.       
86.       
87. 
88.       
89.       
90.       
91. 
92.       
93.       
94.       
95.       
96. 
97.       
98.       
99.       
100.       
101.       
102.       
103.       
104.       
105. 
106.       
107.       
108.       
109.       
110.       
111.       
112.       
113.       
114.       
115.       
116.     
117.   
118. 
109. 

三、校准

d435i校准主要是针对双目相机内参、畸变及imu校准。

1.关闭结构光

d435i包含IR Project,用于辅助测量深度信息,而本文主要想通过单/双目完成slam实战,无需IR提供深度信息。但IR结构光会使成像有很多光斑,影响校准及后续双目使用,故需关闭。
修改rs_camera.launch

  • gedit rs_camera.launch

在参数后添加





 /camera/stereo_module/emitter_enabled: false



/camera/stereo_module/emitter_enabled: true

代码块意思为,启用rs_camera.launch时,默认关闭结构光。
当需要时,可使用以下方式打开

  • roslaunch realsense2_camera rs_camera.launch emitter_enable:=true
    默认关闭时,运行无需添加后面参数 emitter_enable:=true
2.相机内参、畸变校准

参看相机默认内参

  • source devel/setup.bash
  • roslaunch realsense_camera rs_camera.launch
  • rostopic echo /camera/infra1/camera_info
  • rostopic echo /camera/infra2/camera_info
    如下图所示:
    Realsense d435i驱动安装、配置及校准_第4张图片

注:这里特别注意,如果需要使用双目相机,话题如上,而不是/camera/color/camera_info

如图可知,默认提供了双目镜头内参,但没有畸变参数。由于后续需要使用kailbr,校准imu随机游走及相机与imu外参,故此处不使用自带工具进行相机内参校准。

3.imu六面校准

imu六面校准是指校准acc、gyro的零偏、尺度因子及非正交误差,realsense提供官方库。

(1)安装依赖
  • sudo pip3 install pyrealsense2
(2)运行

进入rs-imu-calibration文件夹

  • cd librealsense/tools/rs-imu-calibration
  • python rs-imu-calibration.py

如下图所示
Realsense d435i驱动安装、配置及校准_第5张图片

根据提示旋转六面。具体参照https://github.com/IntelRealSense/librealsense/blob/master/tools/rs-imu-calibration/README.md

注:1.为保证六面水平,可用realsense包装盒制作六面校准工装,2.采集每一面数据时,保证无振动干扰。

(3)保存、写入校准数据

六面数据采集完成后,提示:
Would you like to save the raw data?
输入yes,完成并写入硬件中。校准的数据保存在同目录下calibration.json中。

参考:

https://github.com/IntelRealSense/librealsense
https://github.com/IntelRealSense/realsense-ros
https://blog.csdn.net/Hanghang_article/details/103612300

你可能感兴趣的:(slam,计算机视觉,自动驾驶,机器人)