Ubuntu14.04安装kinect2驱动
ROS下Kinect2的驱动安装及简单应用
微软KinectV2深度传感器在Ubuntu上的配置和使用
建立工作空间
mkdir -p ~/catkin/src
cd ~/catkin/src
catkin_init_workspace
cd ..
catkin_make
安装libfreenect2
- 下载 libfreenect2 源码
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
- 下载upgrade deb 文件
cd depends; ./download_debs_trusty.sh
- 安装编译工具
sudo apt-get install build-essential cmake pkg-config
- 安装 libusb. 版本需求 >= 1.0.20.
sudo dpkg -i debs/libusb*deb
- 安装 TurboJPEG
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
- 安装 OpenGL
sudo dpkg -i debs/libglfw3*deb
sudo apt-get install -f
sudo apt-get install libgl1-mesa-dri-lts-vivid
注:如果第三条指令出现了错误, 就直接忽略第三条指令。
- 安装 OpenCL (可选)
sudo apt-add-repository ppa:floe/beignet
sudo apt-get update
sudo apt-get install beignet-dev
sudo dpkg -i debs/ocl-icd*deb
- 验证OpenCL的安装: clinfo
- 安装 VAAPI (可选, Intel only)
sudo dpkg -i debs/{libva,i965}*deb;
sudo apt-get install
- 安装 OpenNI2 (可选)
sudo apt-add-repository ppa:deb-rob/ros-trusty && sudo apt-get update
sudo apt-get install libopenni2-dev
- Build
cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON
make
make install
针对上面cmake命令的说明, 第一个参数, 是特别指定安装的位置, 你也可以指定别的你觉得高兴的地方, 但一般标准的路径是上述示例路径或者/usr/local。 第二个参数是增加C++11的支持。
- 设定udev rules:
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ #将libfreenect2/platform/linux/udev/90-kinect2.rules复制过来
- 然后重新插拔Kinect2.
- 运行Demo程序:
./bin/Protonect
# 平时可以直接输入以下两条指令
cd ~/Downloads/libfreenect2/build
./bin/Protonect
cd libfreenect2/build
cmake .. -DBUILD_STREAMER_RECORDER=ON
make
make install
iai_kinect2
- 从Github上面下载工程源码到工作空间内src文件夹内:
cd ~/catkin/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin
catkin_make -DCMAKE_BUILD_TYPE="Release"
针对于上述命令中最后一行指令, 需要说明的是, 如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:
catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"
在ROS中获取Kinect2的数据
- source对应的目录写入~/.bashrc文件
source ~/catkin/devel/setup.bash
- 打开另一个终端使用roslaunch发起kinect2相关节点
cd ~/catkin
roslaunch kinect2_bridge kinect2_bridge.launch
- 开启一个Viewer查看数据
rosrun kinect2_viewer kinect2_viewer sd cloud
- 如果上面的指令执行没有反应的话,则source一下~/.bashrc文件,再执行
source ~/catkin/devel/setup.bash
iai_kinect2和libfreenect2的区别
- libfreenect2是kinect2的驱动
- iai_kinect2是Kinect2的ROS驱动程序。但它需要libfreenect2能够与Kinect2硬件进行通信,iai_kinect2可以建立在libfreenect2上,也可以使用别的驱动(OpenNI)。
补充:Ubuntu14.04安装openni2(针对kinect2)
安装
sudo apt-get install ros-indigo-openni2-camera
sudo apt-get install ros-indigo-openni2-launch
使用openni2_launch
roslaunch openni2_launch openni2.launch
rosrun rviz rviz #实时观看rgb、深度、点云
add camera、pointcloud2 选择正确的topic就可以实时看到xtion返回的数据了