本流程为工业量产级标准标定步骤 ,仅需1次离线标定(相机不松动终身有效),完美适配「眼在手上+油口位置随机」场景,满足插装精度≤0.5mm要求,可直接写入技术方案/作业指导书。
一、标定前提(工业现场必备)
1. 硬件准备
-
6轴工业/协作机械臂(已完成关节标定)
-
眼在手上安装:RGB-D相机刚性固定在机械臂末端(无晃动、无松动)
-
标定工具:12×9棋盘格标定板(精度0.01mm,工业级)
-
工控机:已部署OpenCV、ROS2、RGB-D相机SDK、手眼标定算法库
2. 核心标定目标
-
RGB 相机内参+畸变系数:消除图像畸变,保证像素精度
-
RGB-D深度配准:RGB图像与深度图对齐,深度值校正
-
Eye-in-Hand手眼标定 :求解「相机→机械臂末端」固定变换矩阵(核心)
二、步骤1:RGB相机内参标定(去畸变·基础标定)
目的
获取RGB相机内参矩阵(fx,fy,cx,cy) + 畸变系数(k1,k2,p1,p2),消除镜头畸变,保证图像特征提取准确。
实操步骤
- 固定标定板
将棋盘格标定板固定在现场不动(墙面/支架,无位移)
- 机械臂 带动相机采集图像
机械臂带动末端RGB-D相机,在标定板前方500 ++800mm**范围内,拍摄**15++ 20张不同角度图像:
-
左右偏移、上下偏移
-
小角度旋转(横滚/俯仰/偏航)
-
标定板充满画面70%以上,无模糊、无过曝
- 算法解算内参
工控机运行OpenCV棋盘格角点提取→自动解算内参+畸变系数
- 结果校验
重投影误差**≤0.1** 像素(合格),保存内参文件至工控机
三、步骤2:RGB-D深度标定(深度对齐·精度标定)
目的
-
实现RGB 图像与深度图像 像素 级对齐
-
校正深度值误差,保证3D坐标计算准确
实操步骤
- 深度零点校准
将标定板置于相机已知固定距离(如500mm) ,读取相机原始深度值,做零点偏移补偿
- 深度线性校正
在300~1000mm范围内,取5个标准距离 (300/500/700/900/1000mm),采集深度值,拟合深度线性校正公式
- RGB 与深度配准
运行相机SDK配准算法,将深度图映射到RGB图像坐标系,实现像素 一一对应
- 结果校验
深度误差**≤±0.2** mm(合格),保存深度校正参数
四、步骤3:Eye-in-Hand手眼标定(核心标定·眼在手上专用)
目的
求解相机坐标系 → 机械臂 末端坐标系 的固定齐次变换矩阵(T_cam2end)
只要相机不松动,该矩阵终身不变,无需重复标定。
实操步骤(工业标准Tsai-Lenz算法)
- 保持标定板固定
标定板位置全程不动(严禁触碰)
- 机械臂 采集位姿
机械臂带动末端相机,拍摄10~15组有效数据,每组需同步记录:
-
机械臂末端6D位姿(基坐标系下,从控制器读取)
-
相机拍摄的标定板棋盘格图像
-
位姿要求
-
标定板始终在相机视野内
-
机械臂姿态差异足够大(避免共线性)
-
无振动、无位移
-
-
算法解算手眼矩阵
运行Eye-in-Hand手眼标定算法,自动求解:
\[ T_{cam2end} = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} \]
- 结果校验
手眼标定误差**≤0.1mm**(合格),保存变换矩阵
五、步骤4:标定整体精度验证(工业插装必做)
目的
验证标定后3D定位精度,确保满足插枪要求
实操步骤
- 固定测试点
在标定板上选取1个圆心标记,作为测试目标点
- 随机位姿测试
机械臂带动相机飞到3个不同随机位姿,解算测试点3D坐标
- 精度判定
3次坐标误差**≤±0.3mm** → 标定合格,可投入使用
六、标定后现场使用规则(适配随机工作平面)
- 一次标定,终身使用
相机无松动、无拆卸,无需重复标定,适配任意随机位置
- 相机松动后处理
仅需重新执行「步骤1+步骤3」,5分钟完成重标
- 无工作平面标定
本方案不需要标定工作平面,靠实时RGB-D 3D位姿解算适配随机位置
七、标定数据通信与存储
-
内参/畸变/深度参数 → 工控机本地配置文件
-
手眼变换矩阵 → 机械臂控制器+工控机双备份
-
通信协议:ROS2/TCP/IP,实时调用标定参数
八、工业级关键要求
-
标定环境:无强光、无振动、无粉尘
-
标定板:必须使用工业陶瓷棋盘格,禁止打印纸
-
采集图像:清晰、无模糊、无反光
-
误差阈值:严格执行重投影误差≤0.1 像素 、手眼误差≤0.1mm
九、极简总结(技术方案话术)
本系统采用Eye-in-Hand眼在手上 安装方式,通过RGB 内参标定→RGB-D深度配准→手眼刚性标定 三步完成全流程标定,仅需1次离线操作,即可适配任意随机工作平面,满足工业插装场景**≤0.5mm**高精度定位需求