在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge

博主在安装的过程中参考了很多大神的博客,自己也走了很多弯路,现在把自己的经验和大家分享一下,希望对大家有一点帮助。
顺便说下,博主的电脑:Ubuntu16.04,AMD的显卡
Ubuntu16.04安装ROS_kinetic就不多说了,教程太多。可参考:
http://blog.csdn.net/weicao1990/article/details/52575314

下面主要说一下kinect2驱动和bridge的安装

Ps:安装最好参考官方文档

libfreenect2:https://github.com/OpenKinect/libfreenect2

iai_kinect2:https://github.com/code-iai/iai_kinect2#opencl-with-amd

1.安装libfreenect2

git clonehttps://github.com/OpenKinect/libfreenect2.git

cd libfreenect2

sudo apt-get install build-essential cmakepkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev

sudo apt-get install libglfw3-devlibopenni2-dev

cd ..

mkdir build && cd build

cmake .. -DENABLE_CXX11=ON

make

make install

sudo cp../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

安装OpenCL

这里说一下,虽然作者提示此项可选,但还是建议安装,因为iai_kinect2默认用的opencl做registration,而且不装的话后面还会出错。

博主第一次安装时,按照网上的教程来,没有装OpenCL,最后能够利用libfreenect2获取图像,但是利用ROS获取图像时,出现以下错误:

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第1张图片

最后看了好多博客,终于找到原因:kinect2默认是用opencl做registration,没办法,还是得装OpenCL

安装OpenCL之前,先得安装显卡驱动,一般有两种方法:
(1)下载官方驱动然后安装,博主的显卡是AMD的,需要去AMD官网下载最新的驱动,然后安装。博主试了一下,安装完驱动后,重启时发现卡死在登陆界面,输入密码后还是进不去,试了很多方法,无果,不想再折腾,果断弃之。
(2)去系统设置->软件与更新->附加驱动选择最新的驱动。Ubuntu16.04可以设置,Ubuntu14.04好像不行。

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第2张图片

装完驱动后,重启一下完成安装,然后在终端输入:
sudo apt-get install opencl-headers
至此,完成opencl的安装。

cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
sudo make install

测试:
./bin/Protonect cpu
./bin/Protonect gl
./bin/Protonect cl

运行结果如下所示:

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第3张图片

2.安装iai_kinect2

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"

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第4张图片

设置环境变量:
source devel/setup.bash

接下来进行测试,打开kinect接口:
roslaunch kinect2_bridge kinect2_bridge.launch

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第5张图片

新建一个终端,显示运行图像
rosrun kinect2_viewer kinect2_viewer

在Ubuntu16.04_ROS_kinetic上安装kinect2的驱动和bridge_第6张图片

你可能感兴趣的:(SLAM)