Advertisement

kinect2标定 Ubuntu16.04 ROS kinetic

阅读量:

这里默认你装好了kinect2驱动libfreenect2 和 ROS包 iai_kinect2

libfreenect2 和iai_kinect2安装请参考:http://www.ncnynl.com/archives/201703/1439.html

kinetic2标定我参考的这个:https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration#calibrating-the-kinect-one

这种标定方法是先保存(record)一些图片,然后再计算标定(calibrate)。

需要标定四样东西:color 彩色图像 ir 红外图像 sync 帧同步 depth 深度图像

前期准备需要打印好你的标定板,在上面第二个网址里下载

你爱选哪种就哪种,我选的9x11x0.02,打印好了贴在硬板上。注意那个乘号就是小写的x。注意后面运行命令时要改成你标定板一样的尺寸。9x10表示白色块和黑色块的相接的点或边,数过的黑白块不能重复数,宽上有9个黑白相接处,长上有11个。那个0.02还不知道什么意思,自己去查。

因为要事先保存图片,所以自己建立一个了文件吧,不然很乱的

mkdir ~/kinect_cal_data

cd ~/kinect_cal_data

待会你按空格键保存时,就会保存到你的命令运行的当前目录里面:

  • ESC, q: Quit
  • SPACE, s: Save the current image for calibration
  • l: decrease min and max value for IR value rage
  • h: increase min and max value for IR value rage
  • 1: decrease min value for IR value rage
  • 2: increase min value for IR value rage
  • 3: decrease max value for IR value rage
  • 4: increase max value for IR value rage

上面是一些操作快捷键,我就用到了空格键而已。

标定后的文件需要放到/home/robot/catkin_ws/src/iai_kinect2/kinect2_bridge/data这个文件夹里

开始标定:命令依次运行下去

调整帧率:

rosrun kinect2_bridge kinect2_bridge _fps_limit:=2

运行这条命令后注意看看设备串口号,我的设备串口号是这样的:

[ INFO] [Kinect2Bridge::initDevice] device serial:034011551247

在我的/home/robot/catkin_ws/src/iai_kinect2/kinect2_bridge/data的文件夹里建立一个文件夹,取名叫 034011551247

标定彩色摄像头:
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 record color
按几次空格键记录
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 calibrate color

会生成calib_color.yaml 文件

标定红外:
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 record ir
按几次空格键记录
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 calibrate ir

会生成calib_ir.yaml 文件

帧同步标定:
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 record sync
按几次空格键记录
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 calibrate sync
会生成calib_pose.yaml 文件

深度标定:
rosrun kinect2_calibration kinect2_calibration chess9x11x0.02 calibrate depth

会生成calib_depth.yaml 文件

然后再把calib_color.yaml calib_ir.yaml calib_pose.yaml calib_depth.yaml拷贝到/home/robot/catkin_ws/src/iai_kinect2/kinect2_bridge/data/034011551247文件夹中

标定搞定。

运行 roslaunch kinect2_bridge kinect2_bridge.launch

rosrun kinect2_viewer kinect2_viewer

看看效果。什么样的效果才算标定好了咧,这个我也不太清楚,运行上面两个命令,放一只手进去,试试看看手的彩色图像跟深图像是否重合。这个得对此标定,对比结果。另外我的机器在 rosrun kinect2_viewer kinect2_viewer命令后,后面有几次不出现图像框,我是重启计算机后,就能出现图像框了,不知道什么原因,希望大神留言,谢谢!

全部评论 (0)

还没有任何评论哟~