ROS下Kinect2的驱动安装
2017-11-14 11:09
267 查看
搭建环境:ubuntu 16.04+ROS kinetic
折腾了好久,一直出现设备未见测到,是因为kinect数据线只能接usb3.0,即蓝色usb口,台式机没有。
利用命令行从Github上面下载工程源码到工作空间内src文件夹内:
在ROS kinetic 版本下编译iai_kinect2会存在下面的错误:
出现这个问题的原因是kinetic版本默认使用的OpenCV-3.2。有一个编译选项在以前版本是没问题的,在OpenCV-3.2就有点问题。这就是-fexceptions
解决方法
把 iai_kinect2/kinect2_registration/CMakeLists.txt的66行删掉:
但是如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:
![](http://img.blog.csdn.net/20171114110719988?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHUxMTI5MDA1MTY1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
一.ubuntu连接kinect v2
1.下载libfreenect2源码
git clone https://github.com/OpenKinect/libfreenect2.git cd libfreenect2
2.安装编译工具
sudo apt-get install build-essential cmake pkg-config
3.安装libusb.版本必须 >= 1.0.20.
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(Intel GPU)
sudo apt-get install beignet-dev
7.安装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 **设定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. 就说明连上了。 ./bin/Protonect
折腾了好久,一直出现设备未见测到,是因为kinect数据线只能接usb3.0,即蓝色usb口,台式机没有。
二.iai-kinect2
1 建立工作空间
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd .. catkin_make
利用命令行从Github上面下载工程源码到工作空间内src文件夹内:
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"
在ROS kinetic 版本下编译iai_kinect2会存在下面的错误:
/opt/ros/kinetic/include/opencv-3.2.0-dev/opencv2/flann/saving.h:113:63: error: exception handling disabled, use -fexceptions to enable throw FLANNException("Invalid index file, cannot read");
出现这个问题的原因是kinetic版本默认使用的OpenCV-3.2。有一个编译选项在以前版本是没问题的,在OpenCV-3.2就有点问题。这就是-fexceptions
解决方法
把 iai_kinect2/kinect2_registration/CMakeLists.txt的66行删掉:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
但是如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:
catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"
三. 在ROS中获取Kinect2的数据
source ~/catkin_ws/devel/setup.bash roslaunch kinect2_bridge kinect2_bridge.launch 在另外一个命令行中, 输入rostopic list, 可以查看到该节点发布出来的Topic, 还可以输入 source ~/catkin_ws/devel/setup.bash rosrun kinect2_viewer kinect2_viewer sd cloud, 来开启一个Viewer查看数据。
相关文章推荐
- ubuntu 16.04 安装ROS Kinect v2的驱动
- 在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge
- 完整安装kinect2驱动libfreenect2和ros包iai_kinect2
- ubuntu 14.04 ROS + kinect v2 driver安装方法;安装驱动时遇到的问题及解决方法(2)
- ubuntu 14.04 ROS + kinect v2 driver安装方法;安装驱动时遇到的问题及解决方法(1)
- 基于ROS平台的移动机器人-5-Kinect2驱动的安装和ROS下的测试
- ubuntu 16.04 ROS + kinect v2 driver安装方法;安装驱动时遇到的问题及解决方法(1)
- ubuntu14.04下安装kinect2驱动及ROS接口(搬运)
- ubuntu 16.04 ROS + kinect v2 driver安装方法;安装驱动时遇到的问题及解决方法(2)
- 在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge
- ROS下Kinect2的驱动安装及简单应用
- indigo ROS安装GPS驱动
- ros中安装kinect的一个总结
- ros 安装webcam驱动
- KinectV2+Ubuntu 14.04+Ros 安装教程
- Ubuntu16.04+ROS安装hokuyo驱动
- [ROS]激光驱动安装
- kinect v1 在 ROS indigo 安装:openni+ros接口
- ubuntu14.04下安装kinect1的驱动libfreenect
- 安装Kienct驱动后出现"no ready kinect found" 解决方案