ORB_SLAM2+kinect2.0+Ubuntu14.04+ROS Indigo总结

来源:互联网 发布:glide源码原理 编辑:程序博客网 时间:2024/06/07 20:09

一:kinect2.0在Ubuntu14.04和ROS Indigo下运行

错误总结:

1.运行./bin/Protonect出现下面的错误,表示版本号不合适:

[Info] [Freenect2Impl] enumerating devices...[Info] [Freenect2Impl] 13 usb devices connected[Info] [Freenect2Impl] found valid Kinect v2 @2:4 with serial 005262641947[Info] [Freenect2Impl] found 1 devices[Error] [OpenGLDepthPacketProcessorImpl] GLFW error 65543 The requested client API version is unavailable[Error] [OpenGLDepthPacketProcessor] Failed to create opengl window.

解决方案:在Ubuntu中的“软件与跟新”软件中“附加驱动”选项中选择第一个“使用NVIDIA binary driver-version...”,完美解决。

2.验证

roslaunch kinect2_bridge kinect2_bridge.launch
出现下面的错误:

[kinect2_bridge.launch] is neither a launch file in package [kinect2_bridge] nor is [kinect2_bridge] a launch file name

解决方案:(跟新后关机重启才完美解决,每次运行launch文件都必须要运行source devel/setup.bash启动文件)

(1)安装3个依赖项:依赖包括:ROS Indigo (注意:ROS Indigo的iai_kienect包和ROS Kinect的 iai_kinect包不是一个) ,OpenCV 2.X,(注意:OpenCV3.X不能使iai_kinect正常工作),PCL1.7. x

(2)建立ros workspace:

      mkdir -p ~/iai_catkin_ws/src      cd ~/iai_catkin_ws/src      catkin_init_workspace      source devel/setup.bash

(3)下载iai_kinect2并编译:

cd ~/iai_catkin_ws/src/git clone https://github.com/code-iai/iai_kinect2.gitcd iai_kinect2rosdep install -r --from-paths .cd ~/iai_catkin_wscatkin_make -DCMAKE_BUILD_TYPE="Release"
(4)验证:
cd ~/iai_catkin_wssource devel/setup.bashroslaunch kinect2_bridge kinect2_bridge.launch

然后重新开一个新的终端,输入下面的语句就可以看到图像界面

cd ~/iai_catkin_wssource devel/setup.bashrosrun kinect2_viewer kinect2_viewer

参考资料:http://www.cnblogs.com/hitcm/p/5118196.html

http://www.itwendao.com/article/detail/225769.html


二:kinect2.0标定方法

具体的方案在官方的网站上有详细的过程,网站地址:https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration

遇到的问题:

问题一:运行rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color时出现:

[ERROR] Tried to advertise a service that is already advertised in this node [/kinect2_calib_1458721837266890808/compressed/set_parameters]

解决方案:There must be something wrong with your chess board or you didn't choose the image window.(检查一下你的棋盘格板是不是按照标定标准设置的,如果标定程序已经检测到了你棋盘格板,选定标定显示窗口,按空格即可)点击图像界面,同时按空格键保存,没按一次就会保存一个图像


问题二:标定深度的时候出现:[ERROR] [DepthCalibration::compareDists] no distance sample data!

解决方案:没有数据的意思,需要记录前面的三种数据,每种100张,需要至少两种距离

 标定注意事项:标定默认的是hd的分表率,一般会选择中等大小的qhd分辨率,需要在kinect2_calibration/kinect2_calibration.cpp的1311行中将K2_TOPIC_HD改为K2_TOPIC_QHD,然后重新编译本环境


三:使用kinect2.0在ROS下跑通ORB_SLAM2实例

主要参考博客:

https://github.com/raulmur/ORB_SLAM2

http://blog.csdn.net/rainvictor1/article/details/72854137

http://www.cnblogs.com/bigzhao/p/6635770.html











原创粉丝点击