• 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标定配准了,欢迎订阅!

  • 相关阅读:
    win10 uwp 如何判断一个对象被移除
    win10 uwp 如何判断一个对象被移除
    上传代码 CodePlex
    上传代码 CodePlex
    如何使用 Q#
    让 AE 输出 MPEG
    让 AE 输出 MPEG
    解决 vs 出现Error MC3000 给定编码中的字符无效
    解决 vs 出现Error MC3000 给定编码中的字符无效
    PHP date_date_set() 函数
  • 原文地址:https://www.cnblogs.com/Crise2018/p/9911197.html
Copyright © 2020-2023  润新知