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