ubuntu16.04中安装Kinect v2的ROS接口出错

1.在上一篇安装libfreenect2成功之后,再安装Kinect v2的ROS接口如下:

cd ~/catkin_ws/src/ 
git clone https://github.com/code-iai/iai_kinect2.git 
cd iai_kinect2 
rosdep install -r --from-paths . 
cd ~/catkin_ws 
catkin_make -DCMAKE_BUILD_TYPE="Release"

2.在上述编译过程有一个地方一定会出错,一个地方有时会出错:

  • 出错的地方:rosdep ** ,会出错,但是并不影响后面的调用,官网上好像解释了一下,可以参考

  • 不一定出错的地方:catkin_make **,不一定出错是因为看别人的教程都没有说明这个问题,但是我安装编译的时候总是这里过不去,编译在25%的时候就出错返回了,后来一个一个去查看错误提示的时候发现了问题,当然也参考了网上一位热心网友的经验:

    出现的问题:

/opt/ros/kinetic/include/opencv-3.2.0-dev/opencv2/flann/saving.h:113:63: error: exception handling disabled, use -fexceptions to enable
throw FLANNException("Invalid index file, cannot read");

解决的办法:
======把 iai_kinect2/kinect2_registration/CMakeLists.txt的66行删掉======

出现这个问题的原因:
======kinetic版本默认使用的OpenCV-3.2。有一个编译选项在以前版本是没问题的,在opencv-3.2就有点问题。这就是-fexceptions

3.附加上一条经验教训:

  • Ubuntu16.04在重启之后发现桌面上菜单栏都不见了,但是终端还可以调用,想起自己之前安装Ubuntu 美化工具,可能导致桌面启动出现问题,做如下操作即可解决:
// 重设compiz设置
$ dconf reset -f /org/compiz/

// 重置compiz之后,重启unity:
$ setsid unity

//*** 就可以恢复原来的界面了***

你可能感兴趣的:(技术之路)