1.安装CMAKE3.4.1
安装参考链接:https://blog.csdn.net/u79501/article/details/62423296CMAKE版本对后续的安装有影响
2.安装ROS
选择Indigo.安装参考链接:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
同时创建自己的工作空间
- mkdir -p ~/catkin_ws/src
- cd ~/catkin_ws/src
- catkin_init_workspace
- cd ..
- catkin_make
3.配置驱动阶段
此部分参考博客:https://blog.csdn.net/sunbibei/article/details/51594824(只做参考,期间的坑导致重装系统至少5遍,才发现)
安装libfreenect2
3.1 下载 libfreenect2 源码
- git clone https://github.com/OpenKinect/libfreenect2.git
- cd libfreenect2
3.2 下载upgrade deb 文件
- cd depends; ./download_debs_trusty.sh
3.3 安装编译工具
- sudo apt-get install build-essential cmake pkg-config
3.4 安装 libusb. 版本需求 >= 1.0.20.
- sudo dpkg -i debs/libusb*deb
3.5 安装 TurboJPEG
- sudo apt-get install libturbojpeg libjpeg-turbo8-dev
3.6 安装 OpenGL
- sudo dpkg -i debs/libglfw3*deb
- sudo apt-get install -f
- sudo apt-get install libgl1-mesa-dri-lts-vivid
(If the last command conflicts with other packages, don’t do it.) 原文如上提示, 我在安装的时候, 第三条指令确实出现了错误, 就直接忽略第三条指令了。
3.7 重要说明
链接博客中提到的可选安装项OpenCL,对于没有GPU加速的千万不要安装,一旦安装ros会默认选GPU,而不是cpu,导致报错。(此处是大坑)3.8 Build
- cd ..
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON
- make
- make install
3.9 设定udev rules
- sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/, 然后重新插拔Kinect2.
3.10 执行测试
现在可以尝试运行Demo程序:
- ./bin/Protonect。
4. iai-kinect2
4.1 利用命令行从Github上面下载工程源码到工作空间内src文件夹内:
- 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"
注意:catkin_make -DCMAKE_BUILD_TYPE="Release"
执行这条指令时,发生报错:By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Eigen3", but CMake did not find one.
附上此问题的解决方案,见链接:https://blog.csdn.net/appleml/article/details/52742943
再次执行该命令,问题解决。
4.2 执行测试
应该先执行source ~/catkin_ws/devel/setup.bash,若对应已经写入~/.bashrc文件的同学,可以忽略。永久方法:
(1)终端输入:sudo gedit ~/.bashrc
(2)在bashrc最后输入 source ~/catkin_ws/devel/setup.bash(根据自己的路径作调整)
(3)关闭bashrc,重新打开终端即可。
打开第一个终端,输入:roscore
打开第二个终端,输入:roslaunch kinect2_bridge kinect2_bridge.launch
打开第三个终端,输入:rosrun kinect2_viewer kinect2_viewer sd cloud
yeah,成功啦!!