ROS下Kinect2的驱动安装

搭建环境:ubuntu 16.04+ROS kinetic

一.ubuntu连接kinect v2

1.下载libfreenect2源码

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2

2.安装编译工具

sudo apt-get install build-essential cmake pkg-config

3.安装libusb.版本必须 >= 1.0.20.

sudo apt-get install libusb-1.0-0-dev

4. 安装TurboJPEG

sudo apt-get install libturbojpeg libjpeg-turbo8-dev

5.安装OpenGL

  sudo apt-get install libglfw3-dev

6.安装OpenCL(Intel GPU)

sudo apt-get install beignet-dev

7.安装VAAPI

sudo apt-get install libva-dev libjpeg-dev

8.安装OpenNI2

sudo apt-get install libopenni2-dev

9.编译&测试

cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
**设定udev rules:** 
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

重新插拔Kinect的usb线,

运行lsusb,如果下面出现
Bus 002 Device 003: ID 045e:02c4 Microsoft Corp.
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 
就说明连上了。

./bin/Protonect

折腾了好久,一直出现设备未见测到,是因为kinect数据线只能接usb3.0,即蓝色usb口,台式机没有。

二.iai-kinect2

1 建立工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make

利用命令行从Github上面下载工程源码到工作空间内src文件夹内:

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"

在ROS kinetic 版本下编译iai_kinect2会存在下面的错误:

/opt/ros/kinetic/include/opencv-3.2.0-dev/opencv2/flann/saving.h:113:63: error: exception handling disabled, use -fexceptions to enable
throw FLANNException("Invalid index file, cannot read");

出现这个问题的原因是kinetic版本默认使用的OpenCV-3.2。有一个编译选项在以前版本是没问题的,在OpenCV-3.2就有点问题。这就是-fexceptions
解决方法

把 iai_kinect2/kinect2_registration/CMakeLists.txt的66行删掉:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")

但是如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:

catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"

三. 在ROS中获取Kinect2的数据

source ~/catkin_ws/devel/setup.bash
roslaunch kinect2_bridge kinect2_bridge.launch

在另外一个命令行中, 输入rostopic list, 可以查看到该节点发布出来的Topic, 还可以输入
source ~/catkin_ws/devel/setup.bash
rosrun kinect2_viewer kinect2_viewer sd cloud, 来开启一个Viewer查看数据。

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xu1129005165/article/details/78528470