1 在ROS官网搜索kinect(link:http://wiki.ros.org/kinect)
图1
选择推荐的,freenect_stack,点开超级连接,如图2所示,
图2 选择kinect tag
产看依赖关系,和overview可知,ROS接口和微软kinect需要使用libfreenect library,因此需要先安装libfreenect library,在ros官网搜索libfreenect
2 安装libfreenect库
在ros官网查找到libfreenect后,在source:git https://github.com/ros-drivers/libfreenect.git (branch: ros-devel),中ros-devel分支中下载libfreenect库,安装方法如下,因为用clone下载的方式速度比较慢,所以直接下载zip,放到一个你想放的位置,解压(我的是放在Downloads中,libfreenect-ros-devel)
$ cd libfreenect-ros-devel/
$ mkdir build
$ cd build
$ cmake -L ..
$ make
# if you don't have `make` or don't want color output
# cmake --build .
编译成功后,libfreenect库就安装结束了
3 安装freenect_stack PKG
通过1中页面的github网址下载到~/catkin_ws/src文件夹下,
$ cd ~/catkin_ws
$ catkin_make
这次编译会报错,提示缺少rgbd_launch的pkg或者依赖关系,这是我们需要安装rgbd_launch的依赖关系,在ros页面搜索它,如下图3所示
图3 选择melodic tag
根据依赖关系,依次安装缺少的依赖包,安装完成后要构建节点。
注意这边的依赖关系比较繁琐,一层套一层,一定要理清楚,不要乱来。
4 上述1,2,3步全部完成后,通过roslaunch cmd-line调用该节点,通过rqt_image查看实时图像
$ roslaunch freenect_launch freenect.launch # freenect是kinect的官方运行包
在新的命令窗口运行,查看摄像头传回的图像
$ rosrun rqt_image_view rqt_image_view
注意,如果看不到图像,是黑色的框,通过左上角切换监控的模式即可。
5 注意在运行新的命令窗口时,要重新配置你ros版本的环境