Ubuntu 下Kinect2.0 驱动安装以及ROS下安装bridge

写在前面

刚入了,kinec2体感相机,迫不及待的想用它跑下slam的RGB-D接口,说干就干,硬件链接笔记本最主要的还是下载驱动,在后续进行开发,不说了 先上图!

Ubuntu 下Kinect2.0 驱动安装以及ROS下安装bridge

搭载环境

搭建环境:ubuntu 16.04         ROS kinetic   事先安装了 ROS以及 编译完成了ORB-SLAM2

pc:Dell E6440 i5 4g(有点low 不过没关系 能跑就行!)

一.ubuntu连接kinect 2

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 beignet-dev

8.安装OpenNI2

sudo apt-get install libopenni2-dev

9.编译&测试

// 接下来需要对libfreenect2进行编译 
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接口都是2.0的因此 无法使用 接着换了台笔记本重新安装。

这样驱动就算是装完了,运行之后会显示kinect传输进来的不同的图像

二.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中获取Kinect2的数据

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

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

//或者可以 运行
rosrun rviz rviz 
//打开里面的image节点 订阅相关的topic即可显示图像