Ubuntu14.04 + KinectV2驱动安装 以及 Ros接口(基于网上方法试错 改进版)

一 前言

本来是没打算写这篇博客的,但由于自己快临近毕业了,然后自己大论文方向是视觉SLAM与惯导融合方法研究,因为需要配置ORBSLAM2,因此需要在Ubuntu系统下用到Kinect。早在去年我就安装过KinectV1以及KinectV2驱动,但时隔一年,自己很久没怎么接触这快,发现自己回过头,换个电脑就忘了怎么配置了,因此想写下这篇博客记录下配置方法,为以后师弟师妹们节省配置时间。

KinectV2 在Ros下的使用配置主要分为两块:

(1)、先要安装对应的驱动;

(2)、然后安装Ros接口即可;

二 安装驱动libfreenect2

1、建议首先在\home下建个Kinect_V2文件夹

 

1 mkdir Kinect_V2

 

2、使用git clone 驱动libfreenect2的源代码,或者自己去 https://github.com/OpenKinect/libfreenect2.git 网站下载代码

1 git clone https://github.com/OpenKinect/libfreenect2.git

3、然后安装依赖项,需要事先安装好opencv2.4.x版本,一般如果事先安装了Ros,会自动安装opencv2.4.8版本,不确定的同学可以使用 pkg-config --modversion opencv  语句查询

1 sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev

4、然后需要安装libusb

1 sudo apt-add-repository ppa:floe/libusb
2 sudo apt-get update
3 sudo apt-get install libusb-1.0-0-dev

5、接着安装GLFW3,运行下面指令,不过一般不会成功

1 sudo apt-get install libglfw3-dev

运行上面这条指令,应该是会报错找不到 libglfw3-dev 

需要使用下面的命令来解决:

1 cd libfreenect2/depends
2 sh install_ubuntu.sh
3 sudo dpkg -i libglfw3*_3.0.4-1_*.deb

可是在执行第2句指令时应该还是会报错:

 

应该是会返回404错误的,原因是 http://archive.ubuntu.com/ubuntu/pool/universe/g/glfw3/ 这个网站没有 libglfw3_3.0.4-1_amd64.deb 这个版本的包,所以我是将install_ubuntu.sh这个文件的 1 wget -N $REPO/pool/universe/g/glfw3/libglfw3_3.0.4-1_${ARCH}.deb 2 wget -N $REPO/pool/universe/g/glfw3/libglfw3-dev_3.0.4-1_${ARCH}.deb 两条语句改成了 1 wget -N $REPO/pool/universe/g/glfw3/libglfw3_3.1.2-3_${ARCH}.deb 2 wget -N $REPO/pool/universe/g/glfw3/libglfw3-dev_3.1.2-3_${ARCH}.deb 这两句,也就是换成了 libglfw3_3.1.2-3_amd64.deb 版本

当然也可以直接在上述那个URL下载好对应版本放在对应文件夹下!

接着还是运行以下指令安装:

1 sh install_ubuntu.sh
2 sudo dpkg -i libglfw3*_3.1.2-3_*.deb

6、如需要安装OpenCL和OpenGL可以参考 https://blog.csdn.net/myhALAN/article/details/53039233?locationNum=10&fps=1 这位同学的博客,但是一般情况下不要安装。

7、安装好上述的依赖项,第三方库,接着就是编译libfreenect2的源代码了

1 cd ~/Kinect_v2/libfreenect2/
2 mkdir build
3 cd build
4 cmake ..
5 make
6 sudo make install

不出意外应该是不会报错了!

三 测试驱动是否安装成功

在build下面有个bin文件夹,放置生成的输出文件,插上kinect,然后运行。此时黄灯变成白色的,表示有驱动。

注意:只能用于USB3.0的接口,好在台式机和笔记本都有3.0的口。

1 cd build/bin
2 ./bin/Protonect

但是应该会报错,错误忘了截图了,不过大概意思是权限问题,解决方法:

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

此时在使用 sudo ./bin/Protonect 指令就可以成功看到KinectV2的图像了,我的显示图像如下:

Congratulation,顺便忽略我实验室的乱,哈哈!

四 ROS接口安装

1、对于已经安装好Ros Indigo的Ubuntu14.04来说,安装接口就很简单了,使用下面的命令:

1 cd Kinect_V2
2 mkdir -p kinect_ws/src
3 cd kinect/src
4 git clone https://github.com/code-iai/iai_kinect2.git
5 cd iai_kinect2
6 rosdep install -r --from-paths .
7 cd ~/Kinect_V2/kinect_ws
8 catkin_make -DCMAKE_BUILD_TYPE="Release"

上面指令是下载了 iai_kinect2 接口源代码并进行了编译安装,应该问题不大!

2、添加环境到 ~/.bashrc 文件下,可以运行一下命令:

1 gedit ~/.bashrc

然后添加 source /home/crise/Kinect_v2/kinect_ws/devel/setup.bash 到文件最后,注意使用自己setup.bash 的路径!

3、测试接口了

1 roslaunch kinect2_bridge kinect2_bridge.launch

如果遇到了错误,报没有device错误之类的,重启电脑即可解决。接着重开一个新的终端,执行以下指令:

1 rosrun kinect2_viewer kinect2_viewer

便可得到图像了,我的图如下,Congratulation and enjoy it !!!

接下来就是Kinect_V2标定配准了,欢迎订阅!

posted @ 2018-11-05 20:08  LCrise  阅读(996)  评论(0编辑  收藏  举报