小强ROS机器人教程(8)___kinect1代 ROS驱动测试与安装
小强底盘输出一个12v电源(DC头,贴有“kinect供电”标签)用于kinect 供电。
1.libfreenect测试
将小强主机接入显示器和键盘,在小强主机上新开一个命令终端输入
freenect-glview
可以看到如下图的类似界面
2.ROS驱动测试
关闭步骤1中的程序,新开一个命令窗口,使用freenect_launch启动相关kinect节点
roslaunch freenect_launch freenect-xyz.launch
新开1个窗口打开rviz
rviz
选择需要显示的内容,例如kinect的rgb图像和深度点云,显示效果如下 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的输出图像了 再进行外设权限配置操作
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文件:
- processing.launch.xml:安装一系列nodelets去处理来自RGB-D driver(openni_camera or freenect_camera的数据,还可以设定参数简化处理nodelets图像。
- 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