用自己的设备(realsense d435i)跑VINS-Fusion 还是有一些坑

操作环境

设备:MacBook pro 2019,realsense-d435i
系统:Ubuntu 16.04 lts

准备工作

标定

首先标定摄像头,这里用kalibr对摄像头和imu进行联合标定(需要将acc和gyro打包成一个imu topic),具体看Realsense d435i 驱动安装以及标定[Ubuntu 16 LTS]
先说说标定的坑吧,kalibr标定用的图片,或者yaml文件格式下载需要科学上网。d435i默认开启结构光,这样会导致特征提取不出来,目前做法是用东西遮住中间那个结构光传感器。

VINS-Fusion 安装编译

惯例—>>>vins-fusion wiki
跟着wiki走,应该会有一些坑,我是之前装好了,现在才发的博客。。过段时间我删掉重装。有坑我会更新

dependencies 安装

  1. ros我不说了
  2. ceres
#ceres dependencies
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
# - If you want to build Ceres as a *static* library (the default)
#   you can use the SuiteSparse package in the main Ubuntu package
#   repository:
sudo apt-get install libsuitesparse-dev
# - However, if you want to build Ceres as a *shared* library, you must(以下可选)
#   add the following PPA:
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update
sudo apt-get install libsuitesparse-dev

#开始编译ceres
git clone https://ceres-solver.googlesource.com/ceres-solver 
#如果无法科学上网,建议直接下载最新版的zip解压

tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-1.14.0
make -j3
make test
make install

VINS-Fusion

cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
#或者 echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

VINS-Fusion/config/下放着各种config文件,这里也有realsense-d435i的配置文件,但是肯定和我们手上的设备不一样,所以需要把前面标定的数据按照格式复制过来。

跑起来!

需要修改topic,两个做法用ros自带的方法重定位到新的topic
第二种,改源码
也是我用的办法
rostopic list 查看vins的topic
vscode 打开VINS-Fusion
ctrl+shift+f全局搜索
找到你需要修改的topic代码,直接修改。。重新编译

然后正式开始:

  1. 打开终端 ,用roslaunch 打开realsense摄像头
source ~/catkin_ws/devel/setup.bash
roslaunch realsense2_camera rs_camera.launch
  1. 又打开一个终端,用于打开rviz
source ~/catkin_ws/devel/setup.bash
roslaunch vins vins_rviz.launch
  1. 再开一个终端,跑起来
source ~/catkin_ws/devel/setup.bash
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/yourconfig_path/your_config_file.yaml 

三个终端运行成功的话,你的rviz会有数据,特征点和frame的pose。。

如果没有成功,检查一下你的标定文件。

你可能感兴趣的:(SLAM)