在ubuntu16.04+ROS下安装Kinect V2驱动

2 篇文章 0 订阅
2 篇文章 0 订阅

在ubuntu16.04下安装Kinect V2驱动

创建工作空间

由于我是将这个驱动安装在工作空间下的,因此首先就需要创建一个工作空间:
详细的可以去查找资料,这就把全部过程代码放上就是了

mkdir  -p ~/catkin_ws/drive/src
cd catkin_ws/drive/src/
catkin_init_workspace 
cd ..
catkin_make
sudo gedit ~/.bashrc
最后一行添加:source ~/catkin_ws/drive/devel/setup.bash
source ~/.bashrc

安装驱动

该部分是根据github上的资料整理得来,可以需要看完整版本的可以通过这个进入git去查看
以下是整理的在ubuntu16.04的环境下安装的指令

cd ~/catkin_ws/drive/src
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install

若是想用第三方的程序来查找使用libfreenect2的话需要执行下列指令:

cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2

然后设置运行规则

sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

测试

连接好kinect,运行下列命令进行测试

sudo ./bin/Protonect

注意这条指令需要以超级用户的权限运行(官网没说,害得找问题找了半天),如果不以该方式运行,直接运行./bin/Protonect指令,则会报错如下:

~/catkin_ws/drive/src/libfreenect2/build$ ./bin/Protonect
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./bin/Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 8 usb devices connected
[Error] [Freenect2Impl] failed to open Kinect v2: @3:3 LIBUSB_ERROR_ACCESS Access denied (insufficient permissions)
[Info] [Freenect2Impl] found 0 devices
no device connected!

但是每次都这么使用root权限启动,会很麻烦,而且在后面使用设备的时候会经常出错。
通过分析是由于ubuntu下,对于硬件设备的读取都需要root权限。因此可以考虑将该设备的USB口的权限赋予最大。实际实现过程如下:
首先进入之前操作过程中添加的设备启动规则文件中去:

cd /etc/udev/rules.d/

然后修改90-kinect2.rules文件中的USB接口的权限(MODE)为最高权限0777,然后保存,重新插上USB接头就可以了。以后就不用使用root权限启动了。

测试结果:
在这里插入图片描述

安装与ROS的接口工具与库

该部分即安装iai-kinect2包,可以参考github上的readme。为的是使在ROS上方便使用,这是kinect2与ROS的接口。

安装IAI Kinect2

执行代码如下:

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"

而在执行rosdep install -r --from-paths .该代码的时候常常会出现以下报错
注意:该命令最后有个点 “ . ”。

~/catkin_ws/drive/src/iai_kinect2$ rosdep install -r --from-paths .
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
kinect2_viewer: Cannot locate rosdep definition for [kinect2_bridge]
iai_kinect2: Cannot locate rosdep definition for [kinect2_registration]
kinect2_calibration: Cannot locate rosdep definition for [kinect2_bridge]
kinect2_bridge: Cannot locate rosdep definition for [kinect2_registration]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully

只要把该命令更换为以下命令就可以了

rosdep install --from-paths ~/catkin_ws/drive/src/iai_kinect2 --ignore-src -r

最后运行下列指令就可以看到图像了:

roslaunch kinect2_bridge kinect2_bridge.launch
rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值