参考教程
https://github.com/code-iai/iai_kinect2
前面的工作
需要已经安装好ROS,教程可见 https://blog.csdn.net/yucong96/article/details/88865721
需要已经安装好freenect2,教程可见 https://github.com/OpenKinect/libfreenect2
激活ROS环境
建立ROS工作环境
mkdir -p ./catkin_ws/src
cd catkin_ws
catkin_make
激活环境
source devel/setup.bash
若是zsh,则为
source devel/setup.zsh
下载iai_kinect2代码
cd catkin_ws/src
git clone https://github.com/code-iai/iai_kinect2.git
编译
cd iai_kinect2
rosdep install -r --from-paths .
cat ../../
catkin_make -DCMAKE_BUILD_TYPE="Release"
在第二步,会出现如下结果
![运行结果](https://i-blog.csdnimg.cn/blog_migrate/14065b301478bb15620fde694c065cc4.png)
它说系统是Linux Mint sonya,这它不认识,它只运行在Linux Ubuntu xenial。但实际上sonya就是基于xenial上的,因此没有问题,只要把这一命令改成
rosdep install -r --from-paths . --os=ubuntu:xenial
就行了。参考教程 https://blog.csdn.net/luanfei3717/article/details/82217047 。这样运行之后,会出现
![运行结果](https://i-blog.csdnimg.cn/blog_migrate/360106f747ca0502e79ae7995085d3ff.png)
虽然仍然找不到kinect2_bridge,但由于kinect2_bridge已经包含在iai_kinect2上了,因此这不影响后续编译。参考教程https://github.com/code-iai/iai_kinect2/issues/296
第四步,编译出错,提示找不到vtkproj4
![运行结果](https://i-blog.csdnimg.cn/blog_migrate/20534380d1efb58890a3b7c9fb33dc37.png)
按照 https://github.com/PointCloudLibrary/pcl/issues/1594 ,将/usr/lib/x86_64-linux-gnu中的libvtkCommonCore-6.2.so软链接成即可libvtkproj4.so,即
ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
这样就能编译通过了。
测试
roslaunch kinect2_bridge kinect2_bridge.launch
另开一个命令行,注意激活环境,然后
rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud
可以看到结果,说明安装成功。