FourAxisRobotCalibration 四轴机器人标定

根据点在机器人坐标系下的坐标和相机坐标系下的坐标,求解出相机坐标系到机器人坐标系下的转换矩阵。运算过程只用到Pose的 X Y Z 。标定结果以 Pose 类型形式呈现。

算子参数

  • 结果坐标/result_pose:设置标定结果 Pose 在 3D 视图中的可视化属性。

    • icon_visOn 打开标定结果 Pose 可视化。

    • icon_visOff 关闭标定结果 Pose 可视化。

    • icon_size 设置标定结果 Pose 的尺寸大小。取值范围:[0.001~10]。默认值:0.1。

数据信号输入输出

输入:

  • poses_in_rob

    • 数据类型:PoseList

    • 输入内容:点在机器人坐标系的坐标组

  • poses_in_cam

    • 数据类型:PoseList

    • 输入内容:点在相机坐标系下的坐标组

说明

建议使用6~8组(或更多组)棋盘格标定板坐标组数据。最少不低于4组,否则无法计算。

输出:

  • result_pose

    • 数据类型:Pose

    • 输出内容:手眼标定结果

功能演示

使用 FourAxisRobotCalibration 算子获得相机坐标系与四轴机器人坐标系的手眼标定的结果。

步骤1:算子准备

添加 Trigger、Load ( 2个 )、FourAxisRobotCalibration算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 算子名称 → PointInRob

    • 类型 → pose

    • 文件 → icon_more→ 选择pose文件名 ( example_data/FourAxisRobotCalibration/PointInRobList.txt )

    • 坐标列表 → icon_visOn 可视

  2. 设置 Load_1 算子参数:

    • 算子名称 → PointInCam

    • 类型 → pose

    • 文件 → icon_more→ 选择pose文件名 ( example_data/FourAxisRobotCalibration/PointInCamList.txt )

    • 坐标 → icon_visOn 可视

  3. 设置 FourAxisRobotCalibration 算子参数:结果坐标 → icon_visOn可视

步骤3:连接算子

image-20230725141803926

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

  1. 运行结果显示如下,3D 视图中分别展示了 Load(PointInRob)、Load(PointInCam)、FourAxisRobotCalibration 算子的可视化结果。

    image-20230725142049506

  2. 查看日志,显示标定结果和误差值。

    image-20230727094807090

    以上图为例:

  • result_pose 为标定结果 Pose,与算子 FourAxisRobotCalibration 输出一致。

  • positional error 为标定位置误差(与输入数据单位一致,本例中为“米”)。

说明

精度误差值符合项目需求即标定完成,若误差略大,超过项目需求可再次重复标定流程,录制更多数据进行标定。若反复多次标定结果均不理想,需结合硬件设备性能考虑精度需求。手眼标定误差由相机误差和机械臂误差叠加。若标定误差巨大,有可能是录入数据格式或顺序不正确,详见RVS 进阶教程 -> 四轴机器人手眼标定