VINS-Fusion+RTABMap的三维稠密重建
之前教程介绍的双目SLAM和VIO获得的都是稀疏点云,无法运用于避障与运动规划。为此,我们需要把视觉里程计与深度相机的深度图进行融合,从而进行三维稠密重建,这里以VINS-Fusion+RTABMap为例进行介绍。
下载并配置RTABMap
sudo apt install ros-melodic-rtabmap* #或kinetic
sudo apt install ros-melodic-octomap* #或kinetic
sudo cp ~/XTDrone/sensing/slam/vio/VINS-Fusion/config/xtdrone_sitl/rgbd.rviz /opt/ros/melodic/share/rtabmap_ros/launch/config/
启动仿真
前面的步骤与VINS-Fusion的启动仿真一致,注意把仿真launch文件的iris_stereo_camera换成iris_realsense_camera,这样才能有深度图数据。而后启动rtabmap
cd ~/PX4_Firmware/launch/
gedit indoor1.launch
roslaunch px4 indoor1.launch
cd ~/catkin_ws
bash scripts/xtdrone_run_vio.sh
roslaunch vins rtabmap_vins.launch
/rtabmap/octomap_binary
/rtabmap/grid_map
/rtabmap/octomap_grid
由于VINS-Fusion发布的是Odometry类型的话题,我们要将其对应转为PX4所需的话题
cd ~/XTDrone/sensing/slam/vio
python vins_transfer.py iris 0
然后建立通信,键盘控制起飞
cd ~/XTDrone/communication
python multirotor_communication.py iris 0
cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel
VINS-Fusion+RTABMap的三维稠密重建