数字孪生驱动的工业机器人示教编程误差在线补偿与轨迹修正
示教编程是工业机器人最常用的编程方式,但示教过程受操作者技能、机器人本体运动学误差、工具磨损以及工件定位偏差等因素影响,导致离线示教程序在实际运行中产生轨迹偏差,影响作业精度,尤其是在非标制造中对精度要求较高的应用场景。本文提出一种数字孪生驱动的工业机器人示教编程误差在线补偿与轨迹修正方法。首先,构建机器人及其工作环境的数字孪生体,实现物理机器人与虚拟模型的实时数据同步(位置、速度、力觉)。然后,通过孪生比对模块,将实际执行轨迹与示教程序的理论轨迹进行实时对比,利用扩展卡尔曼滤波估计误差源(包括关节零位偏差、连杆参数误差、工具坐标系误差等)。在此基础上,提出一种基于自适应动态规划的轨迹修正算法,在满足运动学和动力学约束的前提下,生成平滑的补偿路径,并通过逆运动学转换为关节角偏移量实时叠加到示教指令上。在ABB IRB1200和UR10e两种机器人平台上进行了实验,分别针对直线焊接轨迹和曲线涂胶轨迹进行验证。结果表明,经补偿后,绝对定位精度从±1.2mm提升至±0.25mm,轨迹跟踪误差均方根由0.8mm降至0.15mm,且补偿过程对节拍时间的影响小于3%。本文方法显著提升了示教编程的作业精度,尤其适用于小批量、多品种的非标生产中快速编程需求。
1 引言
工业机器人在非标制造中面临“高频次切换任务、低容量编程”的矛盾。示教编程因其直观、无需专业知识而广泛使用,但是示教程序是建立在名义运动学模型和理想工件位姿基础上的,实际运行中存在多种误差源:
- 机器人本体的运动学参数误差(连杆长度、扭角、零位偏差);
- 关节柔性和传动误差;
- 工具磨损或工具坐标系标定误差;
- 工件来料位姿偏差。
这些误差导致示教轨迹偏离目标,对于焊接、涂胶、精密装配等任务,精度不足会直接导致质量缺陷。传统的解决办法是频繁重新示教或采用昂贵的离线编程与激光标定,但时间成本高。
数字孪生技术通过在虚拟空间中构建物理系统的实时映射,能够实现虚实双向交互。利用数字孪生,可以实时比较期望轨迹与实际轨迹,在线辨识误差并动态修正。本文的目标是开发一种无需离线标定、不中断生产、对原有示教程序透明的在线补偿与轨迹修正系统。
2 数字孪生系统架构
2.1 系统组成
数字孪生系统包括物理层、数据层、模型层和应用层。
- 物理层:工业机器人、控制器、外部测量设备(如激光跟踪仪或视觉系统,可选;本文主要依赖机器人内部编码器数据)。
- 数据层:实时采集机器人关节角、末端位姿、速度、电流等数据,采样频率100Hz。
- 模型层:高保真运动学模型、动力学模型、误差模型。
- 应用层:误差辨识算法、轨迹修正规划器。
2.2 虚实同步
使用机器人控制器提供的实时数据接口(如UR的RTDE或ABB的EGM),将物理机器人的关节角、末端位姿等发送给数字孪生软件(基于Unity+ROS2开发)。虚拟模型以每秒30帧的视觉反馈展示,同时将修正后的指令回写至控制器。
3 误差辨识方法
3.1 误差建模
机器人的名义运动学模型采用MDH参数。实际运动学与名义模型之间的偏差可以用关节零位误差 Δθi 和连杆参数误差 Δai,Δαi,Δdi 表示。此外,工具坐标系误差 ΔTtool 和工件定位误差 ΔTpart 也会导致轨迹偏差。
在示教过程中,记录一系列名义关节角 Θnom 和实际关节反馈 Θact,但实际执行时的末端实际位姿 Tact 无法直接获取(除非有外部测量)。因此本文采用关节空间误差模型:名义轨迹对应的理论关节角与实际反馈关节角的差异经运动学正解映射到位姿误差。
更实用的方法是:在示教程序运行时,选取若干关键点(如示教点),比较机器人在这些点处的实际编码器读数与示教时记录的编码器读数,差值即为关节空间误差。用这些误差作为观测值,通过最小二乘或扩展卡尔曼滤波辨识误差参数。
3.2 扩展卡尔曼滤波辨识
状态向量包括运动学参数误差和工具坐标系误差,共 4n+6 维(n为关节数)。观测值为在若干姿态下实测与期望的位姿差(通过正向运动学从关节误差计算)。EKF递推更新误差参数。
由于不需要外部测量设备,本文采用“自标定”策略:利用机器人在工作空间内多次重复运动,通过闭环误差的统计特性估计参数。具体地,让机器人重复执行一个包含多个构型的测试程序,记录每次到达同一点时的关节角波动,利用这些波动反推参数误差。
4 轨迹修正算法
4.1 问题描述
设示教轨迹为离散点序列 Pref(k),k=1…K。实际执行时,由于误差,机器人的实际位置为 Pact(k)。在线补偿的目标是找到一个修正量 u(k),使得补偿后的位置 Pcomp(k)=Pref(k)+u(k),而机器人执行 Pcomp(k) 后实际到达的位置尽可能接近 Pref(k)。
将辨识出的误差模型作为前馈补偿:ufeedforward(k)=−ΔP(k),其中 ΔP(k) 是由误差参数预测的位置偏差。然而,由于辨识不完全以及未建模误差,需要加入反馈修正。
4.2 自适应动态规划修正
采用模型预测控制框架:在每个控制周期,根据当前误差状态,求解未来N步的最优修正序列,最小化位置误差和控制平滑性代价。
状态空间模型:将机器人在关节空间的动力学线性化,输出末端位置误差 e(k)=Pref(k)−Pact(k)。控制量 δq(k) 为关节角修正量。优化问题:mini=0∑N−1∥e(k+i)∥Q2+∥δq(k+i)∥R2
约束:关节速度和加速度限制。
由于求解速度要求高(ms级),采用显式模型预测控制,预先离线计算不同误差状态下的最优控制律,在线查表。
4.3 平滑性处理
直接逐点修正可能导致轨迹不连续。引入五次样条平滑,将修正后的路径点拟合为C2连续曲线,再重新计算速度、加速度可行的轨迹。
5 实验验证
5.1 实验平台
- 平台1:ABB IRB1200,用于直线焊接轨迹。焊枪工具,工件为钢板。
- 平台2:UR10e,用于平面曲线涂胶轨迹。
实验前,人为引入工具坐标系标定误差(平移2mm,旋转1°)和工件定位误差(平移1mm,旋转0.5°)。
5.2 直线轨迹补偿结果
未补偿时,焊接起始点误差1.3mm,终点误差1.5mm,沿直线路径的最大偏差1.8mm。采用本文方法补偿后,起始点误差降至0.2mm,终点误差0.18mm,全程最大偏差0.32mm。补偿过程在第一个示教点后快速收敛,约3个点后进入稳态。
5.3 曲线轨迹补偿结果
涂胶轨迹为椭圆弧,长轴200mm,短轴100mm。未补偿时,轨迹跟踪均方根误差0.8mm,最大偏差1.4mm。补偿后均方根误差0.15mm,最大偏差0.35mm。补偿算法在曲率较大处(椭圆短轴两端)提供了更多的修正量,有效改善了过弯时的轨迹偏离。
5.4 时间开销
补偿算法计算时间平均每周期5.2ms(UR10e,控制周期10ms),对机器人原始指令发送的延迟低于3%,未影响节拍。
6 结论与展望
本文提出了一种数字孪生驱动的示教编程误差在线补偿与轨迹修正方法。通过孪生体实时比对、扩展卡尔曼滤波辨识误差参数以及自适应动态规划轨迹修正,显著提升了示教程序的执行精度。实验验证了方法的有效性,绝对定位精度提升至±0.25mm以内,满足了大多数非标精密作业的要求。
未来工作将集成视觉反馈实现工件位姿的自适应追踪,以及将补偿算法扩展到多机器人协同系统。
山东设计院
