当前位置: 首页 > news >正文

复现 RoboDK 机械臂几何校准(Staubli TX2‑90L / TX200)

Ceres Solver 为核心的几何标定实现,复现了 RoboDK 的机器人校准能力:在相同训练集上理论结果与 RoboDK 一致,在独立测试集的实测精度接近 Staubli 原厂

参考:RoboDK 机器人校准功能(https://robodk.com.cn/cn/robot-calibration)


特性

  • 支持 SDH 参数子集选择(每关节 α/a/θ/d 可独立选择)。
  • Base→WorldTool→Flange 外参与 DH 参数 联合估计
  • 残差为 TCP 三维位置(mm),输出统计与直方图对比。
  • 提供共垂线求解与可视化脚本,便于复核过程。

术语说明

  • 训练集(Training set):用于本算法与 RoboDK 共同辨识几何参数,包含 优化后 DH 参数基座到世界坐标系位姿 T_base^worldTCP 到法兰位姿 T_tcp^flange。由 3 个步骤的数据组成:

    1. 基座坐标系构建:26 组关节序列;
    2. TCP 构建:27 组关节序列;
    3. DH 校准与坐标系优化:≥60 组关节序列。
  • 测试集(Test set):在将辨识结果写入控制器后,用 ≥40 组 笛卡尔 TCP 位姿 验证机械臂的绝对定位精度

  • 执行方式:训练集与测试集均被转换为 Staubli VAL3 离线程序以驱动机器人(本工程不提供相应 VAL3 程序)。

  • 理论数值计算:以预设关节值经正向运动学求得 T_flange^base,再经坐标变换得到 T_tcp^world,与测量值作差得到位置残差。

给定关节角 J\mathbf{J}J 与前向运动学公式:
校准前(缺省 SDH)

Ttcpworld=Tbaseworld⋅Tflangebase(J)(默认 SDH)⋅Ttcpflange\;\mathbf T_{\text{tcp}}^{\text{world}}\;=\;\mathbf T_{\text{base}}^{\text{world}}\;\cdot\;\underset{\text{(默认 SDH)}}{\mathbf T_{\text{flange}}^{\text{base}}(\mathbf J)}\;\cdot\;\mathbf T_{\text{tcp}}^{\text{flange}}\;Ttcpworld=Tbaseworld(默认 SDH)Tflangebase(J)Ttcpflange

校准后(优化 SDH)
Ttcpworld′=Tbaseworld′⋅Tflangebase′(J)(优化 SDH)⋅Ttcpflange′\;{\mathbf T_{\text{tcp}}^{\text{world}}}'\;=\;{\mathbf T_{\text{base}}^{\text{world}}}'\;\cdot\;\underset{\text{(优化 SDH)}}{{\mathbf T_{\text{flange}}^{\text{base}}}'(\mathbf J)}\;\cdot\;{\mathbf T_{\text{tcp}}^{\text{flange}}}'\;Ttcpworld=Tbaseworld(优化 SDH)Tflangebase(J)Ttcpflange

校准效果

实验对象:TX2-90L 机械臂

机械臂简介与原厂精度

数据来源:robodk.com/robot/Staubli/TX2-90L

在这里插入图片描述

Staubli 原厂绝对定位精度:全工作空间 mean 0.07 mm、90%max 0.11 mm;在 508×508×508 mm 立方体子域内 mean 0.05 mm、90%max 0.08 mm。
数据来源:代码的工作路径/doc/TX2-90L/AbsoluteCalibrationQualityReport_TX2-90L.pdf

校准对比与结论

绝对定位精度图示(单位:mm)

图片1
本算法(训练集)校准前、后理论精度直方图
图片2
RoboDK(训练集)校准前、后理论精度直方图

绝对定位精度数据(单位:mm)
相同颜色为对比项。

算法数据集校准状态meanmax90%maxσnum of points
本算法训练集校准前(理论数值)0.4662830.8749760.6478410.1528510.91710860
训练集校准后(理论数值)0.0391630.0984290.0623820.0176920.10615360
测试集校准后(实际测量)0.05094660.10200010.083898440
RoboDK训练集校准前(理论数值)0.4660.8750.1540.92960
训练集校准后(理论数值)0.0390.0980.0180.09360

原始数据与报表见 代码的工作路径/RobotCalib/doc/TX2-90L/代码的工作路径/RobotCalib/results/TX2-90L/

要点:

  • 与 RoboDK 在同一训练集上的理论结果一致量级。
  • 写入控制器后的实测精度位于 Staubli 原厂报告立方体子域水平附近。
  • 测试集位姿分布与训练集不同,误差略有上浮,符合预期。

实验对象:TX200 机械臂

机械臂简介与原厂精度

数据来源:robodk.com/robot/Staubli/TX200

在这里插入图片描述

Staubli 原厂绝对定位精度:全工作空间 mean 0.17 mm、90%max 0.26 mm;在 847×847×847 mm 立方体子域内 mean 0.13 mm、90%max 0.18 mm。
数据来源:代码的工作路径/doc/TX200/AbsoluteCalibrationQualityReport_TX200.pdf

校准对比与结论

绝对定位精度图示(单位:mm)

图片1
本算法(训练集)校准前、后理论精度直方图
图片2
RoboDK(训练集)校准前、后理论精度直方图

绝对定位精度数据(单位:mm)
相同颜色为对比项。

算法数据集校准状态meanmax90%maxσnum of points
本算法训练集校准前(理论数值)1.2853612.1417031.6733690.3062901.837739107
训练集校准后(理论数值)0.1424120.4875900.2138810.0713940.428367107
测试集校准后(实际测量)0.1438180.5012940.24605744
RoboDK训练集校准前(理论数值)1.2692.1280.3092.196107
训练集校准后(理论数值)0.1420.4880.0720.358107

原始数据与报表见 代码的工作路径/RobotCalib/doc/TX200/代码的工作路径/RobotCalib/results/TX200/

要点:

  • 与 RoboDK 在同一训练集上的理论结果一致量级。
  • 实测精度位于原厂全域与立方体子域之间;由于训练/测试子域范围较原厂报告更大,误差略有放大属预期。
  • 测试集位姿分布更复杂,精度略低于训练集理论值。

总体结论
在 TX2-90L 与 TX200 两个样例上,本算法成功复现了 RoboDK 的校准能力;写入控制器后的实测绝对精度接近 Staubli 原厂校准水平。


技术服务

机械臂绝对精度/外参校准实战落地:提供线下的校准服务与线上的全量资料包(原理说明+完整代码+实测数据+软件操作+一线经验)。线上可持续答疑。

商业合作与答疑可加V,

【机械臂绝对精度/外参校准|工程落地服务(Ceres Solv】

http://www.dtcms.com/a/358611.html

相关文章:

  • 基于轴重转移补偿和多轴协调的粘着控制方法研究
  • 基于STM32单片机的OneNet物联网云平台农业土壤湿度控制系统
  • 【lua】模块基础及应用
  • 无网络安装来自 GitHub 的 Python 包
  • DETR:用Transformer革新目标检测的新范式
  • REST-assured 接口测试编写指南
  • 平衡树的左旋
  • 在 WSL2-NVIDIA-Workbench 中安装Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch(含完整环境验证)
  • 第二十六天-ADC基本原理
  • 学习大模型,还有必要学习机器学习,深度学习和数学吗
  • 苍穹外卖项目笔记day02
  • 嵌入式学习笔记--LINUX系统编程--DAY03进程控制
  • 在 .NET Core 中实现基于策略和基于角色的授权
  • 【系列10】端侧AI:构建与部署高效的本地化AI模型 第9章:移动端部署实战 - iOS
  • SpringAI应用开发面试剧本与技术知识全解析:RAG、向量数据库、多租户与企业落地场景
  • 【工具类】ssh使用案例
  • 26届秋招开始啦
  • UE5多人MOBA+GAS 56、WSL + Docker 编排 Linux 服务器与 Windows 客户端
  • 【PCIE系列】1---PCIE系统拓扑结构分析
  • 基于TCN-BiLSTM-SelfAttention神经网络的多输入单输出回归预测【MATLAB】
  • 得物25年春招-安卓部分编程题
  • Odoo与Django 的区别是什么?
  • Ztero文献管理工具插件设置——亲测有效
  • Python实现点云AABB和OBB包围盒
  • 合金电阻选型7大原则-华年商城
  • 趣味学RUST基础篇(结构体方法)
  • 软考中级习题与解答——第一章_数据结构与算法基础(2)
  • 线性代数理论——状态空间
  • uniapp开发 移动端使用字符串替换注意事项
  • CrystalDiskInfo 9.0 最新版安装步骤详解(从下载到查看硬盘状态)​