zoukankan      html  css  js  c++  java
  • ubuntu连接kinect v2

    经过这个过程才悟到,有的时候不是方法不对,也不是问题解决的不对,只是因为配置问题,如果配置不对,自然会出现各种各样问题,不如一开始就确定配置。不过,如果不是经历了这个过程,我也不知道是因为我的配置问题导致的问题,哎。
    我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,用虚拟机装的ubuntu是不行的,会出现各种各样问题,因为虚拟机用的是它自带的驱动器,这显然是不行的。
    下面正式进入安装
    1.安装libfreenect2,这个libfreenect2据说是它的驱动包,希望是稳定的,放在home目录下;
    2.安装好libfreenect2的依赖项

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

    3.安装libusb
    sudo apt-add-repository ppa:floe/libusb
    sudo apt-get update
    一般由ppa命令获得许可后,都要update一下。
    sudo apt-get install libusb-1.0-0-dev
     
    4.安装GLFW3
    cd libfreenect2/depends
     
    sh install_ubuntu.sh
     
    sudo dpkg -i libglfw3*_3.0.4-1_*.deb
     

    depends下面就是有install_ubuntu.sh这个文件,sh它估计是弄路径吧。

    sudo dpkg -i libglfw3*_3.0.4-1_*.deb
    这个命令是一下子安装了四个包,在depends命令下是可以看到这几个包。
    不要用sudo apt-get install安装glfw3,但可以用sudo apt-get remove libglfw3-dev卸载它。
    所有以包形式安装的包都可以sudo apt-get remove来卸载它
    5.接着编译库
    cd ..
     
    mkdir build && cd build
     
    cmake ..
     
    make
     
    sudo make install
    7.测试
    这时候插上kinect的数据线
    运行lsusb,如果下面出现Bus 002 Device 003: ID 045e:02c4 Microsoft Corp.
    Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 就说明连上了。

    ./bin/Protonect
    如果提示no device connected,是因为你的虚拟机默认设置是接usb2.0的口,而kinect v2要接usb3.0的口,所以要做出更改,但是用虚拟机装的ubuntu是连不上kinect的。

    如果是要重装或是重新编译libfreenect2,则
    cd
    sudo rm -rf /usr/local/include/libfreenect2
    cd /usr/local/lib
    sudo rm -rf libfreenect2.so libfreenect2.so.0.2 libfreenect2.so.0.2.0
    cd OpenNI2/Drivers
    sudo rm -rf libfreenect2-openni2.so  libfreenect2-openni2.so.0
    ROS接口安装
    对于已经安装了Ros Indigo的Ubuntu14.04来说,使用下面的命令
    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"
    rospack profile
     

    rosdep install -r --from-paths .这一步可能会报错,但这个报错是正常的,不用管,不会影响最终结果。

    接下来可以测试了。

    测试

    新打开一个终端,运行

    cd ~/catkin_ws/
    catkin_make
    source ./devel/setup.bash
    cd src
    roslaunch kinect2_bridge kinect2_bridge.launch
    获取Kinect数据

    再新打开一个终端,运行

    cd ~/catkin_ws/
    catkin_make
    source ./devel/setup.bash
    cd src
    rosrun kinect2_viewer kinect2_viewer
    查看kinect数据
    参考文档:http://www.cnblogs.com/gaoxiang12/p/
  • 相关阅读:
    AJAX获取服务器当前时间
    Struts2的入门实例
    Java 测试技术3 Struts框架驱动(StrutsTestCase)
    Java单元测试技术1
    软件测试自动化:自动化工厂
    MySQL优化原理
    fetch_array()与fetch_assoc()的用法
    sometimesever js中创建数组,并往数组里添加元素
    将三维数组中的同名的键拆分成三维数组的每个数组中包括原来不同的二维数组的键...
    php serialize讲解与json性能测试
  • 原文地址:https://www.cnblogs.com/talugirl/p/5915156.html
Copyright © 2011-2022 走看看