当前位置: 代码迷 >> 综合 >> ubuntu16.04下kinect2驱动安装以及用ROS包iai_kinect2采集图像
  详细解决方案

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

热度:121   发布时间:2023-10-11 18:38:11.0

安装环境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

5) 安装OpenGL

  sudo apt-get install libglfw3-dev

6) 安装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。

  相关解决方案