工业机器人线激光手眼标定:基于圆柱约束的非线性优化实践
线激光传感器扫过圆柱体时,会在传感器坐标系下获得一系列圆弧点云。圆柱体的轴线在空间中是一条直线。当机器人带着传感器从不同角度扫描圆柱时,虽然传感器获得的点云位姿各异,但它们在下都应该指向同一个物理圆柱。通过建立观测点到圆柱表面的距离模型,我们可以通过最优化算法反推手眼矩阵。
第一章:基本原理
线激光传感器扫过圆柱体时,会在传感器坐标系下获得一系列圆弧点云。
-
几何约束: 圆柱体的轴线在空间中是一条直线。
-
标定思路: 当机器人带着传感器从不同角度扫描圆柱时,虽然传感器获得的点云位姿各异,但它们在世界坐标系下都应该指向同一个物理圆柱。通过建立观测点到圆柱表面的距离模型,我们可以通过最优化算法反推手眼矩阵
第二章:标定步骤
第一步:数据采集
-
固定圆柱体的位置。
-
控制机器人移动,使线激光从多个不同的姿态(建议至少 5-10 组)扫描圆柱体。
-
记录每组数据:
-
机器人位姿: T_base_tool: x, y, z, rx, ry, rz(从机器人控制器读取)。
-
激光点云数据: P_sensor: x,y(传感器测得的圆弧点)。
-
第二步:圆柱特征提取
对每一帧激光扫描线进行圆拟合,提取:
-
圆心在传感器坐标系下的坐标。
-
或者直接保留所有属于圆柱表面的点。
第三步:建立优化方程
我们要寻找一个变换矩阵,使得所有采样点变换到基座坐标系后,到拟合出的圆柱轴线的距离之和最小。
数学描述如下:
假设 P_sensor 是传感器坐标系下的点,将其转换到基座坐标系:

约束条件是 P_base 到圆柱轴线的距离应等于圆柱半径 R。
第四步:非线性优化
使用 Levenberg-Marquardt (LM) 或 Gauss-Newton 算法,同时解算出:
-
手眼矩阵(旋转和平移)。
-
圆柱在基座坐标系下的位置和方向。
-
圆柱的半径 R 和 轴线。
第三章:算法复现结果
椭圆拟合结果
使用11个点进行标定

去除误差较大的点:
标定结果


更多推荐


所有评论(0)