小强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 https://github.com/OpenKinect/libfreenect
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://git.bwbot.org/publish/rgbd_launch
cd ..
catkin_make

c. 安装freenect_stack

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

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

小强主页 返回目录

results matching ""

    No results matching ""