我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,关于怎么使用安装kinect2的安装以及使用的都在github上有着详细的说明

Kinect2 开源驱动:libfreenect2

kinect2--> ros的bridge:iai_kinect2

安装
安装libfreenect2,这个libfreenect2据说是它的驱动包,希望是稳定的,放在home目录下;
git clone https://github.com/OpenKinect/libfreenect2.git
安装好libfreenect2的依赖项

sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev

安装libusb
sudo apt-add-repository ppa:floe/libusb
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev
 

安装GLFW3

cd libfreenect2/depends
sh install_ubuntu.sh
sudo dpkg -i libglfw3*_3.0.4-1_*.deb

不要用sudo apt-get install安装glfw3,但可以用sudo apt-get remove libglfw3-dev卸载它。

所有以包形式安装的包都可以sudo apt-get remove来卸载它

接着编译库
cd ..
mkdir build && cd build
cmake ..
make
sudo make install
这时候插上kinect的数据线

运行lsusb,如果下面出现Bus 002 Device 003: ID 045e:02c4 Microsoft Corp.
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 就说明连上了。
运行

./bin/Protonect

如果提示no device connected,是因为你的虚拟机默认设置是接usb2.0的口,而kinect v2要接usb3.0的口,所以要做出更改,但是用虚拟机装的ubuntu是连不上kinect的。

如果是要重装或是重新编译libfreenect2,则
cd
sudo rm -rf /usr/local/include/libfreenect2
cd /usr/local/lib
sudo rm -rf libfreenect2.so libfreenect2.so.0.2 libfreenect2.so.0.2.0
cd OpenNI2/Drivers
sudo rm -rf libfreenect2-openni2.so  libfreenect2-openni2.so.0
ROS接口安装

对于已经安装了Ros Indigo的Ubuntu14.04来说,使用下面的命令
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"
rospack profile

 
rosdep install -r --from-paths .这一步可能会报错,但这个报错是正常的,不用管,不会影响最终结果。

接下来可以测试了。

新打开一个终端,运行

cd ~/catkin_ws/
catkin_make
source ./devel/setup.bash
cd src
roslaunch kinect2_bridge kinect2_bridge.launch

获取Kinect数据

再新打开一个终端,运行

rosrun kinect2_viewer kinect2_viewer

就可以正常显示图像了

一般在使用前 ,我们都会矫正,就是所谓的计算相机的内外参数,一般使用的方法都是张正友标定法的理论,理论知识就不在赘述,其实当时看都是能看懂的一旦让自己完全从头推理就懵逼了

首先呢我们的矫正步骤就是,我们得有标定模板,这如果你之前下载了iai_kinect2在kinect2_calibration文件下是有标定模板的  你可以随意打印一个模板等着后期的标定使用

那么我就按照github的教程教你如果去矫正kinect2  以下 就是github给出的具体的步骤,对于其中的参数我们一般按照要求给就OK了,对于kienct 2的标定并不需要说把红外发射器给遮住  然后使用红外LED去矫正的,这是针对kinect1的,之前我矫正过kinect1  确实是需要把红外发射装置给遮住,然后才能矫正深度信息,

Detailed steps:

  1. If you haven't already, start the kinect2_bridge with a low number of frames per second (to make it easy on your CPU): rosrun kinect2_bridge kinect2_bridge _fps_limit:=2  (这一步就是要启动ROS的kienct 2的驱动货都kienct2的原始数据)
  2. create a directory for your calibration data files, for example: mkdir ~/kinect_cal_data; cd ~/kinect_cal_data(这是为了创建一个文件,存储我们用于矫正的照片)
  3. Record images for the color camera: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color   (这命令就是开始矫正深度相机的RGB相机,对于后面的参数我们可以知道chess5x7x0.03(是棋盘的大小  可以用尺子量一下的) record(记录保存下下) color)
  4. Calibrate the intrinsics: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate color
  5. Record images for the ir camera: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record ir
  6. Calibrate the intrinsics of the ir camera: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate ir
  7. Record images on both cameras synchronized: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record sync
  8. Calibrate the extrinsics: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate sync
  9. Calibrate the depth measurements: rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate depth
  10. Find out the serial number of your kinect2 by looking at the first lines printed out by the kinect2_bridge. The line looks like this: device serial: 012526541941
  11. Create the calibration results directory in kinect2_bridge/data/$serial: roscd kinect2_bridge/data; mkdir 012526541941
  12. Copy the following files from your calibration directory (~/kinect_cal_data) into the directory you just created: calib_color.yaml calib_depth.yaml calib_ir.yaml calib_pose.yaml
  13. Restart the kinect2_bridge and be amazed at the better data.

还要好多就不在写了

通常遇到最多的就是这种问题,但是这个问题并不影响我们的矫正

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

真正影响我们的是我们输入的参数  比如ROS的开发包给例子是使用棋盘格6*8的棋盘,正方形的边长为0.03米  但是我们的棋盘可能并并不是那么小的,这时候要使用我们的

棋盘的话就要注意给的参数了。比如用的是长有9个,款有7个正方形的标定棋盘,这时候我们的参数是6*8*0.05,参数一定要给准确,不然会出现错误的 啊、

而且就是在同一个文件下使用命令,

转载于:https://www.cnblogs.com/li-yao7758258/p/7445429.html

kinect2的标定相关推荐

  1. 机器人抓取(五)—— 手眼标定 hand eye calibration

    1. 原理篇 参考:机器人手眼标定的基础理论分析 3D视觉之手眼标定 胡春旭:"手眼"结合完成物体抓取应用 在实际应用中,我们通常需要将相机观察到的外界环境中物体的姿态从相机坐标系 ...

  2. 【机器人手眼标定AX=XB(eye to hand和eye in hand)及平面九点法标定】

    一.背景 Calibration是机器人开发者永远的痛.虽然说方法说起来几十年前就有,但每一个要用摄像头的人都还是要经过一番痛苦的踩坑,没有轻轻松松拿来就效果好的包.其实人类不就是个手眼协调的先进&q ...

  3. 基于ROS机器人的3D物体识别与三维重建(五)ORB-SLAM2与RTAB-MAP三维重建

    Kinect2相机标定与点云数据获取 1 引言 2 ORB-SLAM2框架 2.1 简介 2.2 追踪线程 Tracking 2.3 局部建图 2.4 回环检测 3 RTAB-MAP框架 4 基于Ga ...

  4. IROS 2019 比赛记录

    IROS 2019 比赛记录--题目更新了 2019-12-5 IROS比赛内容更新(2019-10-17) 目前准备进展 仍需准备的工作及问题 IROS 比赛准备(2019-09-27) 任务二:把 ...

  5. 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建(一) 介绍篇 由来:清理电脑硬盘,发现了当时做毕设的一些资料,所以打算整理一下资料和代码写成专栏,记录下当时的暗金岁月,尽管现在实验室的做的项目已经不是这个方 ...

  6. 基于ROS机器人的3D物体识别与三维重建(三)基于ROS的3D物体识别

    Kinect2相机标定与点云数据获取 1.介绍 2 基于Gazebo搭建物体识别仿真环境 2.1 Gazebo简介 2.2 创建仿真环境 3 三维物体识别 3.1 基于模板匹配的物体识别流程 3.2 ...

  7. ROS kinetic安装、Kinect2驱动安装和配置

    转载自:ROS kinetic安装.Kinect2驱动安装和配置 直接看原帖,会更加舒适一些,粘过来没来得及将命令行单独排版. 为了以后的人可以少走弯路,我会尽可能的列出自己遇到的问题和解决方法. 提 ...

  8. 使用iai_kinect2标定kinectV2相机

    实验背景:因为需要制作bundlefusion需要的数据集,所以需要使用kinectV2相机获取rgbd图像,年前的时候在我的笔记本上安装了libfreenect2库和iai_kinect2,标定过一 ...

  9. 导 Kinect2库,opencv库,pcl库

    导 Kinect2库,opencv库,pcl库 Kinect2驱动安装:     https://blog.csdn.net/qq_15204179/article/details/107706758 ...

最新文章

  1. 倍增算法入门 超详细解答+LCA+RMQ(ST表)+例题剖析
  2. 场景法设计测试用例atm_软件测试零基础入门:常用八大测试用例设计方法,含案例...
  3. toolkit,phonetextbox中实现用户按回车键会换行
  4. 6 有序集合ZSet(Sorted Set)
  5. 【区块链基础知识系列】 第8课 区块链之零知识证明
  6. (转载)关于My97 datepicker与Angular ng-model绑定问题解决。
  7. C#中控件如何设置透明色
  8. python小白逆袭大神课程心得_python小白逆袭大神(深度学习7日训练营)——心得体会...
  9. win7工作组无法查看计算机名,WIN7下无法查看工作组计算机怎么办
  10. ADO.NETv2.0的一些特征
  11. 二叉树的基本操作(C)
  12. webdriver 等待页面加载完成_Python+selenium自动化之等待
  13. 开发聚合四方支付系统个人免签支付系统API四方系统支持定制
  14. 习惯养成android软件,7款好用的习惯养成与打卡APP推荐
  15. 雷卯MOSFET场效应管对应品牌料号替代
  16. 那些年你错过的SOA
  17. 高通平台 pmic—gpio修改(一)
  18. Python+Appium自动化测试-通过坐标定位元素
  19. 【SPARC】SPARC V8寄存器介绍
  20. QT5+zint库实现条形码条形码(一)

热门文章

  1. 需求调研计划_干货!如何做好一个BI项目的规划和需求定义?
  2. python3字符串操作_python3-字符串操作
  3. 【ORACLE SQL 语言】SQL语言四大类
  4. spring boot-The temporary upload location [ ] is not valid
  5. datagrid出现相同两组数据_数据分析之统计学
  6. JavaScript基础总结
  7. ubuntu python3.6_在 Ubuntu 16.04 LTS 系统上安装 Python 3.6
  8. 肇庆计算机那个中专学校好,肇庆中专学校排名,肇庆有哪些中专学校
  9. c语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出,从键盘上输入3个数,将它们按由大到小的顺序排列好输出...
  10. linux 重启_四步见证linux系统重启过程,小心操作,防止后悔!