ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

小强ROS机器人教程(8)___kinect1代 ROS驱动测试与安装



  • 小强主页

    小强底盘输出一个12v电源(DC头,贴有“kinect供电”标签)用于kinect 供电。

    1.libfreenect测试

    将小强主机接入显示器和键盘,在小强主机上新开一个命令终端输入

    freenect-glview
    

    可以看到如下图的类似界面
    0_1489806026247_upload-2364da04-bc73-468a-b6c5-b5bfd1631171

    2.ROS驱动测试

    关闭步骤1中的程序,新开一个命令窗口,使用freenect_launch启动相关kinect节点

    roslaunch freenect_launch  freenect-xyz.launch
    

    新开1个窗口打开rviz

    rviz
    

    选择需要显示的内容,例如kinect的rgb图像和深度点云,显示效果如下
    0_1489467596893_1.png
    kienct各项功能的开启在/home/xiaoqiang/Documents/ros/src/freenect_stack/freenect_launch/launch/examples/freenect-xyz.launch里面

    <launch>
      <include file="$(find freenect_launch)/launch/freenect.launch">
        <arg name="camera"                          value="kinect" />
        <arg name="motor_processing"                value="true" />
        <arg name="audio_processing"                value="false" />
        <arg name="rgb_processing"                  value="true" />
        <arg name="ir_processing"                   value="false" />
        <arg name="depth_processing"                value="true" />
        <arg name="depth_registered_processing"     value="false" />
        <arg name="disparity_processing"            value="false" />
        <arg name="disparity_registered_processing" value="false" />
        <arg name="num_worker_threads"              value="4" />
      </include>
    </launch>
    

    通过设置true 或者false来开启、关闭相应功能

    3.下文将介绍kienct1代的ros驱动安装步骤

    2016年7月以后购买的用户不需要安装驱动,小强主机已经配置好kinect 1代驱动。

    需要安装三个软件:

    a.libfreenect
    b.rgbd_launch
    c.freenect_stack

    a. libfreenect

    先将kinect接入小强主机,然后打开一个命令行终端,输入下列代码

    cd Documents
    
    sudo apt-get install git-core cmake freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev
    
    git clone git://github.com/OpenKinect/libfreenect.git
    cd libfreenect
    mkdir build
    cd build
    
    # 重点来了,下面配置将使能kinect音频和解决安装路径问题
    cmake .. -DCMAKE_INSTALL_RPATH:STRING="/usr/local/bin;/usr/local/lib" -DBUILD_REDIST_PACKAGE=OFF
    
    make
    sudo make install
    sudo ldconfig /usr/local/lib64/
    sudo freenect-glview
    

    现在应该可以看到kinect的输出图像了
    0_1468223365846_kinect1.png
    再进行外设权限配置操作

    sudo adduser $xiaoqiang video //请将xiaoqiang换成自己电脑的账户名
    

    增加一个udev规则,先打开51-kinect.rules文件

    sudo gedit /etc/udev/rules.d/51-kinect.rules
    

    拷贝如下内容后保存退出

    # ATTR{product}=="Xbox NUI Motor"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666"
    # ATTR{product}=="Xbox NUI Audio"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666"
    # ATTR{product}=="Xbox NUI Camera"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
    # ATTR{product}=="Xbox NUI Motor"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE="0666"
    # ATTR{product}=="Xbox NUI Motor"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE="0666"
    # ATTR{product}=="Xbox NUI Motor"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE="0666"
    

    注销用户后重进系统,现在就能直接启用kinect了,不用sudo了

    freenect-glview
    

    b. 安装rgbd_launch

    rgbd_launch包含了驱动安装包openni_launch或 freenect_launch需要的通用launch文件。
    主要有两个重要的launch文件:

    1. processing.launch.xml:安装一系列nodelets去处理来自RGB-D driver(openni_camera or freenect_camera的数据,还可以设定参数简化处理nodelets图像。
    2. kinect_frames.launch:为 Kinect安装tf tree。也可以从openni_launch or freenect_launch内部启动该文件。

    rgbd_launch文件包含多个分散处理的launch文件。但只有 processing.launch.xml可以在外部修改使用。

    cd ~/Documents/ros/src
    git clone  https://github.com/ros-drivers/rgbd_launch.git
    cd ..
    catkin_make
    

    c. 安装freenect_stack

    cd ~/Documents/ros/src
    git clone  https://github.com/BlueWhaleRobot/freenect_stack.git
    cd ..
    catkin_make
    

    d. 驱动安装完成,现在可以在ROS中使用kinect了,例如在rviz中观看kinect输出的点云,参考本节开头的步骤2

    小强主页
    返回目录



  • @大水怪
    将 -DBUILD_REDIST_PACKAGE=OFF改成-DBUILD_REDIST_PACKAGE=ON后,可以编译完成,此时音频固件不会自动加载。请下载这份音频固件,放在这个目录下/usr/local/share/libfreenect/,现在启动freenect-micview可以成功开启麦克风。



  • @大水怪 sorry,没遇到过这种情况,如果你不需要kinect的音频输入,可以将命令中的-DBUILD_REDIST_PACKAGE=OFF去掉后重试



  • 请问
    “cmake … -DCMAKE_INSTALL_RPATH:STRING="/usr/local/bin;/usr/local/lib" -DBUILD_REDIST_PACKAGE=OFF

    make”
    这两行命令输入时,会卡主,一直显示“Downloading SystemUpdate.zip from http://www.xbox.com/system-update-usb”

    我手动下载该zip并且解压后仍然不能make,make时仍然重新下载 SystemUpdate。请教楼主如何解决。
    谢谢