手头有个kinect2放了两年多了,拿出来用用。网上安装教程特别多,看的眼花缭乱,后来发现只要老老实实照着官方文档的安装要求走就没啥问题了。
我的环境:ubuntu16.04;ros kinetic;显卡是一个Intel® HD Graphics 520和AMD firepro系列的绘图卡,绘图卡在这方面有点冷门,安装的时候我暂且不考虑它,就只用渣渣核显吧;最后,系统是运行在ros2go的系统。
官方的两个包如下:
Kinect2的驱动 libfreenect2 https://github.com/OpenKinect/libfreenect2.git
ROS包 iai_kinect2 https://github.com/code-iai/iai_kinect2.git
主要就是跟着官方安装要求走了一遍,安装如下
安装libfreenect2
cd ~/catkin_ws/src
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev
sudo apt-get install beignet-dev
sudo apt-get install libopenni2-dev
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
sudo apt-get install openni2-utils && sudo make install-openni2 && NiViewer2
测试一下
./bin/Protonect cpu
./bin/Protonect gl
./bin/Protonect cl
这里有两个问题注意一下,一个是很多人遇到的./bin/Protonect测试的时候显示no device,这个问题可以考虑一下插的usb口是不是usb3.0,kinect2比较金贵,只能在usb3.0口运行。有时候已经是usb3.0了kinect2也会闹小脾气检测不到设备,重新插拔,或者换个插口就好了。
另一个是./bin/Protonect的时候报错bash: ./bin/Protonect: No such file or directory
这个只要进入正确的路径即可
cd ~/catkin_ws/src/libfreenect2/build
安装iai_kinect2
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"
测试一下
roslaunch kinect2_bridge kinect2_bridge.launch
rosrun kinect2_viewer kinect2_viewer