完整安装kinect2驱动libfreenect2和ros包iai_kinect2

来源:互联网 发布:himall2.8官方版源码 编辑:程序博客网 时间:2024/06/15 23:22

环境:ubuntu16.04+Ros(kinetic)+cuda+kinect2 

 

1.安装ros,按照官网一般很顺利。 http://wiki.ros.org/kinetic/Installation/Ubuntu 

2.安装显卡驱动 

Ubuntu系统下 

系统设置——软件与更新——附加驱动——选相应显卡驱动——更新——重新启动 

3.安装cuda (这步是错误的,请看错误解决)

sudo apt-get  install nvidia-cuda-toolkit 

4.安装libfreenect2  链接  https://github.com/OpenKinect/libfreenect2 

硬件要求: 

(1)只支持usb3.0 

(2)显卡最好能支持OpenGL3.1,否则示例程序跑不了。 

 

错误出现和解决 

(1) make 

运行make出错,因为cuda只安装了toolkit包,找不到helper.math.h 

后来按照官网https://developer.nvidia.com/cuda-downloads,安装如下 

cd /home/cbc/下载 

sudo sh cuda_8.0.61_375.26_linux.run 

其中命令行提示,选择yes,no,参考http://www.linuxidc.com/Linux/2016-11/137561.htm 

进行环境配置 

gedit ~/.bashrc 

添加如下: 

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 
source ~/.bashrc 

可以通过如下命令检查路径: 
echo $PATH
输出结果如下,至少同时包含cuda路径和ros路径 
/opt/ros/kinetic/bin:/usr/local/cuda-8.0/bin

echo $LD_LIBRARY_PATH 

输出结果如下,至少同时包含cuda路径和ros路径 
/usr/local/cuda-8.0/lib :/home/cbc/catkin_ws/devel/lib:/opt/ros/kinetic/lib

还是不能make,具体的还是同一个.o文件生成出错,猜测是make之前一步cmake的的结果没有覆盖安装完整cuda前的结果。删掉build文件夹内的所有内容,再次cmake,再次make,成功。 
./bin/Protonect
可以运行。 
  
5.安装iai_kinect2   链接   https://github.com/code-iai/iai_kinect2 
安装步骤: 
cd ~/catkin_ws/src git clone https://github.com/code-iai/iai_kinect2.git cd iai_kinect2 rosdep install –r –from-path . cd ~/catkin_ws catkin_make –DCMAKE_BUILD_TYPE="Release" 


catkin_make出错,报错信息如下: 
 
/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");  

问题出在kinect_registration,在kinect_registration的package里,找到CmakeLists.txt,添加如下 
add_definitions( -fexceptions ) 


再次cmake,成功。 
 
然后: 
roslaunch kinect2_bridge kinect2_bridge.launch 



roslaunch kinect2_viewer kinect2_viewer







kinect2在ros下驱动安装成功。


原创粉丝点击