视觉SLAM——D435i运行VINS-MONO
一.安装Realsense SDK
下载source(不需要下载到catkin_ws/src,这不是ROS功能包)
git clone https://github.com/IntelRealSense/librealsense
AI助手
安装依赖项
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
AI助手
请在librealsense源目录下进行Intel Realsense权限脚本的配置,并详细说明其操作步骤
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
AI助手
Install and integrate patched kernel modules into: Instructions for installing across various Ubuntu versions: Please note that this guide applies specifically to Ubuntu 14, 16, and 18 LTS versions. Additionally, be sure to disconnect any Realsense modules before proceeding. Furthermore, all configurations must be carried out within the librealsense directory.**
./scripts/patch-realsense-ubuntu-lts.sh
sudo dmesg | tail -n 50
AI助手
基于cmake的编译,-DBUILD_EXAMPLES=true 这个选项表示带演示和教程的
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
AI助手
测试:进入/librealsense/build/examples/capture,试一下效果
./rs-capture
AI助手
二.安装ROS Wrapper
cd ~/catkin_ws/src
git clone https://github.com/intel-ros/realsense.git
cd ..
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
AI助手
测试:
roslaunch realsense2_camera rs_rgbd.launch
AI助手
上一行代码若报以下错误:

则在终端中输入以下指令,安装rgbd_launch的功能包依赖
sudo apt-get install ros-melodic-rgbd-launch
AI助手
三.安装VINS-Mono
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ..
catkin_make
AI助手
四.在D435i上运行VINS-Mono
1.修改realsense包里的rs_camera.launch文件


2.修改VINS-Mono包里的realsense_color_config.yaml文件


第二处我自己的相机内参为:
fx: 614.3472290039062
fy: 613.3615112304688
cx: 314.36767578125
cy: 239.8182830810547
AI助手
五.运行VINS-Mono
roslaunch realsense2_camera rs_camera.launch
roslaunch vins_estimator realsense_color.launch
roslaunch vins_estimator vins_rviz.launch
AI助手
运行结果(GIF动图):

注意事项1:
配置好ROS后,默认会集成OpenCV库。因此无需额外进行OpenCV的编成步骤。若不遵循此建议进行配置,则可能在运行vins时遇到'catkin_make'错误。即便如此操作也容易导致问题。这通常会导致版本冲突和兼容性问题。
配置好ROS后,默认会集成OpenCV库。因此无需额外进行 OpenCV 的编成步骤。若不遵循此建议进行配置,则可能在运行 vins 时遇到 'catkin_make' 错误。即便如此操作也容易导致问题。这通常会导致版本冲突和兼容性问题。
注意事项2:
通常情况下,在运行vins-mono时会遇到错误(尤其是当roslaunch realsense2_camera rs_camera.launch完成后),这可能是因为D435i设备未正确发布IMU数据)。这时可以通过rostopic list命令在终端中列出所有订阅的topic信息,并查看是否有与IMU相关的Topic被发布。
注意事项3:
在运行roslaunch vins_estimator realsense_color.launch时会遇到OpenCV错误提示信息,则通常情况下,在运行roslaunch realsense2_camera rs_camera.launch时所获取的图像尺寸与被vins-mono处理所需的尺寸存在不一致问题。必须特别注意这一点。
注意事项4:
相机静止不动而轨迹持续偏离的原因可能是长时间运行导致D435i工作时温度过高进而引发IMU出现温度漂移。
福利-配置好参数的reaksense D435i和vins-mono功能包:
链接:https://pan.baidu.com/s/1ElovTbhEo5ncD5vzt0veMg 密码: p4sd
参考博文:从零开始使用Realsense D435i运行VINS-Mono
重点参考博文:Realsense D435i 在ubuntu上安装SDK与ROS Wrapper 运行ORB-SLAM2、RTAB和VINS-Mono
参考博文:cv2.error: /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp:304: error: (-215)
参考博文:Could not find the required component ‘ddynamic_reconfigure‘.问题解决
重点参考博文:SLAM疑难篇之特别篇:Ubuntu18.04从零开始配置并跑通VINS-MONO全流程
参考博文:W: GPG 错误:http://mirrors.ustc.edu.cn/ubuntu trusty Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 40976EAF437D0
参考博文:ubuntu18.04安装IntelRealsense D435的SDK及相机标定记录
参考博文:RealSense D435i数据录制 VINS离线运行
参考博文:Android+RealSense D435i数据录制 VINS离线运行
重点参考博文:Ubuntu下OpenCV版本切换
参考博文:Ubuntu18.04 编译安装ceres库及学习简单编写程序测试
