使用RGBD深度摄像头实现视觉里程计
1.准备
(1)一个Kinect一代摄像头,以装好驱动的
(2)你已经安装ROS机器人程序设计(第2版) 源代码,如果没有请自行安装:
https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition
(3)安装fovis
$ cd ~/catkin_ws/src
$ git clone https://github.com/srv/libfovis.git
$ git clone https://github.com/srv/fovis.git
$ cd libfovis
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig
$ cd ~/catkin_ws
$ catkin_make
2.运行
如果上面的步骤都没问题的话就可以执行看效果了:
roslaunch chapter5_tutorials fovis_demo.launch
正常运行的话,我们可以看到一下画面:
上图中,我在终端上输出了视觉里程计的数据,移动摄像头,可以得到摄像头轨迹的良好里程计估计。在图中,你可以看到RGBD点云输出,两个箭头指示里程计和摄像头当前位置。
PS:我在运行的过程中发现里程计经常会卡,多次检查了一番意识到从摄像头采集到图像然后经过计算转换成里程计,这个过程需要消耗很大的计算资源,查看tf树发现,摄像头和里程计的发布频率都明显的拉低,所以说,视觉里程计还是很让人GG的。