Advertisement

ubuntu16.04下kinect2驱动安装以及用ROS包iai_kinect2采集图像

阅读量:

安装环境ubuntu16.04, ROS kinetic

经常用kinect2,环境来回搭建了N次了,虽然内容很小白,但是时间还是容易忘,每次换新环境搭就要看下冗长的官网,略显繁琐,故此简记下!

1. kinect2的驱动libfreenect2的安装

1)下载kinect2在linux下的驱动libfreenect2,可以进如下链接手动下载,也可以用git clone指令下载

复制代码
    https://github.com/OpenKinect/libfreenect2
    
    代码解释
复制代码
 git clone https://github.com/OpenKinect/libfreenect2.git

    
 cd libfreenect2
    
    
    
    
    代码解释

2)安装编译的工具

复制代码
    sudo apt-get install build-essential cmake pkg-config
    
    代码解释

3)安装libusb,对于ubuntu16.04版本需要大于1.0

复制代码
    sudo apt-get install libusb-1.0-0-dev
    
    代码解释

4)安装TurboJPEG

复制代码
    sudo apt-get install libturbojpeg libjpeg-turbo8-dev
    
    代码解释
  1. 安装OpenGL
复制代码
      sudo apt-get install libglfw3-dev
    
    代码解释
  1. 安装OpenCL
复制代码
    sudo apt-get install beignet-dev
    
    代码解释

7)安装CUDA

Nvidia驱动安装详见后续补充贴

8)安装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 //会安装生成一个文件夹名为freenect2的库
    
 **设定设备的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. 
    
 就说明连上了。
    
 然后运行以下指令进行测试,显示视频窗口,表示驱动安装成功
    
 sudo chmod +x ./bin/Protonect
    
 ./bin/Protonect
    
 ./bin/Protonect cpu
    
 ./bin/Protonect gl
    
 ./bin/Protonect cl
    
  
    
    
    
    
    代码解释

运行OpenNI2测试(可选操作):

复制代码
 sudo apt-get install openni2-utils

    
 sudo make install-openni2
    
 NiViewer2
    
    
    
    
    代码解释

可以根据环境选择 cl,cuda等模式。

至此kinect2在linux下的驱动安装完毕,下面简记下与iai_kinect2的结合使用来采集图像

2. iai_kinect2安装,标定kinetct2并采集数据

前提1:完成第1部分的驱动安装

前提2:安装ROS。本文环境是已经安装了ROS kinetic环境。此处假定你也已经搭建完ROS环境

1)建立ROS 工作空间,下载源码并编译

复制代码
 mkdir -p ~/kinect2_ws/src

    
 cd ~/kinect2_ws/src/
    
 git clone https://github.com/code-iai/iai_kinect2.git //下载源码到src中
    
 cd iai_kinect2
    
 rosdep install -r --from-paths .
    
 cd ~/catkin_ws
    
 catkin_make -DCMAKE_BUILD_TYPE="Release"
    
    
    
    
    代码解释

如果你当时安装驱动libfreenect2时不是默认的 _$HOME/freenect2 _路径或者标准的 /usr/local位置,你需要在catkin_make编译时添加路径确认

复制代码
    -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2
    
    代码解释

2)运行测试

复制代码
 roslaunch kinect2_bridge kinect2_bridge.launch

    
 rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud.
    
    
    
    
    代码解释

3)利用iai_kinect2进行相机标定

标定暂略

4)数据采集并保存

复制代码
 roslaunch kinect2_bridge kinect2_bridge.launch

    
 另外打开一个终端:
    
 mkdir save_data
    
 cd save_data
    
 rosrun kinect2_viewer kinect2_viewer
    
    
    
    
    代码解释

在图片窗口按空格键则保存一帧照片到save_data中,默认分别同时保存一帧pcd点云,depth,color,depth&&color 图。分辨率默认一致,960x640。想要更改可详见iai_kinect2中的viewer.cpp。

全部评论 (0)

还没有任何评论哟~