3D相机眼在手上的标定方法

浙江大学校长马琰铭:高等教育不能只"喂知识 ",AI时代要培养"**会提问,敢创造"**的人。

眼在手上就是相机装在机械手末端,随机械手一起动。目的是根据3D相机的数据求接触目标的3D坐标,通过标定的转换矩阵,求解出机械手的抓取坐标。

1、涉及的坐标系关系

如下图所示

机器人基坐标系 Base:机器人底座原点;

法兰坐标系 arm:机械手末端法兰;

相机坐标系 Cam:装在法兰上,和法兰刚性连接;

工具末端坐标系tool:显然机械臂在工作过程中,机械臂末端会搭载工具,而我们往往希望工具移动到某个位置,而不是机械臂末端运动到某个位置,这时我们就需要为工具建立一个它自己的坐标系,也就是工具末端坐标系。

手眼矩阵 HCamFlange​:固定不变(一次标定终身用);

工件位姿 HObjCam​:相机拍到的圆柱位姿。

如上图是一个机械臂,在关节末端附近安装了摄像头, 并搭配了机械夹爪作为工具

机械臂手眼标定就是要找出相机坐标系到末端关节坐标系的转换关系。

2、相机安装及标定要求

3D 相机 固定在机械手末端法兰,相机朝下 / 斜朝下拍摄要抓取的目标。

标定板固定不动,移动手眼在不同姿态,获取图像数据和末端关节的位姿。

3、标定工作原理

眼在手上(Eye-in-Hand)3D 相机标定,如下图所示,核心是用固定标定板 + 少量位姿 + 成熟求解器,快速算出相机到机械臂末端的固定变换矩阵。

首先将相机固连在机械臂末端,根据方程:A·X = X·B

A两次运动末端相对位姿(已知)

B两次运动相机相对标定板位姿(已知)

X待求手眼矩阵(相机到末端)

关系推到可参考https://blog.csdn.net/leo0308/article/details/141498200?spm=1011.2415.3001.5331

则可以得到物体在基坐标系下的位姿:

标定时, 我们要保持物体位置不变, 机械臂基座不动,那么Posebase就是不变的。通过移动机械臂到N(为了保证标定效果, N一般取10~20)个不同位姿, 那么就得到了N个位姿变换关系:

机器人基座的位姿是固定不变的,这个关系是我们能进行标定的核心。

即可得到经典的AX=XB,其中A和B是已知的, 求解X。 这个问题的求解方法有很多。opencv中也集成了响应的方法可以直接求解。

4、手眼标定步骤

step1:准备好一张棋盘格标定板, 放置在一个平整的工作面上, 保证机械臂的摄像头可以清晰地看到这个标定板。机械臂运动:带动相机到**8--12 个不同位姿。**保持标定板不动, 机械臂的基座不动,转动机械臂到任意位姿, 记录下当前机械臂的位姿,并保存当前摄像头拍摄的标定板图片。 重复这个过程10 ~20次。

注意:姿态差异大,避免共线、共面且标定板始终在视野内。

step2:数据同步:每位姿记录机器人的末端 6D 位姿、保存标定板图像和点云数据。

step3:求解:用算法解算 X=T_末端→相机;重投影误差≤0.1mm为合格。

step4:验证:换位姿测精度,误差稳定即完成。

注意:相机一定固定紧,不能有松动、晃动的情形,否则影响测量精度。

相关推荐
gaosushexiangji8 小时前
基于高速3D-DIC的风力叶片旋转工况下应变测量与振动模态分析
数码相机
格林威2 天前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
XMAIPC_Robot2 天前
RK3588四路1080P工业MIPI相机视觉网关,同时支持RK3588+FPGA的24路相机同步方案
人工智能·数码相机
吐了啊取名字太难3 天前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
科技圈快迅3 天前
科美锐(Komery)新手入门数码相机产品梳理:百元到千元,不同价位实际能买到什么
数码相机
OAK中国_官方4 天前
OAK相机 IMU 和外壳标定
数码相机
FrameNotWork4 天前
HarmonyOS 6.0 相机开发——拍照与录像
数码相机·华为·harmonyos
song150265372984 天前
M12 X-Code 8芯 PoE 相机/远程IO 针脚定义完整详解
数码相机
田里的水稻6 天前
FA_数字相机成像原理、分级和分类
运维·数码相机·机器人·自动驾驶
gaosushexiangji7 天前
基于多视角高速成像与体素建模的特斯拉线圈放电电弧三维重建实验研究
数码相机