1. 引言
随着科学技术的不断发展,尤其是机器人技术的飞速进步,传统编程方式(如示教器编程、离线编程) [1]已无法满足效率和通用性要求。研究机器人如何减少编程时间和自主适应环境变化的问题变得十分必要。
机器人编程大致可分为传统编程[2]和示教学习[3]两类。传统编程能够预设动作,指令机器人完成任务,但对操作人员的专业知识要求较高,且不易更改。而示教学习不仅能完成预定动作,还能动态适应不同工作环境或场景。示教学习通常从单个或少量示教轨迹中提取运动特征,并在新场景下复现这些特征[4]。冯等[5]人开发了基于GMM/GMR模仿学习方法,用于装配任务的学习,GMM/GMR能够对多个人类示教轨迹进行编码,并通过回归获得广义的运动轨迹。然而,回归路径存在多个冗余转弯,且不能泛化到新的目标点位置。为了应对任务起点或终点的显著变化,Ti等[6]人开发了一种结合DMP和GMM/GMR的方法,使回归路径平滑并泛化到新目标。Li等[7]人采用GMM进行数据分类和拆解技能表征,通过GMR进行数据回归拟合,再使用DMP泛化到新目标,从而实现不同终点的机器人拆解路径学习。然而,这些方法在复现过程中仍存在示教轨迹形状特征遭到破坏、与原始示教轨迹相似性不高的问题。
为了解决上述问题,提出一种基于GMM和JA的轨迹学习与泛化方法。首先通过高斯混合模型以及高斯混合回归获得最优的示教轨迹,引入JA模型[8]从优化角度学习生成具有一定泛化能力的复现轨迹,实现任务位置约束下的起点或终点的轨迹泛化,最后,设计仿真实验对所提方法进行验证。结果表明,该方法有效解决了上述问题,相较于传统的GMM-DMP方法,泛化轨迹与示教轨迹的相似性显著提高,验证了所提方法的有效性。
2. 方法
2.1. 高斯混合回归模型
高斯混合模型(GMM)是多个高斯分布乘以对应权重线性组合而成的模型。
其概率密度函数如下:
(1)
其中,单个高斯分布的概率密度函数为:
(2)
其中
为输入示教数据点集合,K为高斯簇个数,
为第i个高斯分布的权重系数,
为第i个高斯分布的均值向量,
为第i个高斯分布的协方差矩阵,D为数据点的维度,根据数据初始化高斯混合模型参数
,通过E步和M步的迭代。
E-步:计算每个样本属于每个高斯分布的后验概率:
(3)
M-步:根据E-步计算得到的后验概率更新模型参数:
重复进行E-步和M-步,直到模型参数收敛或达到预定的迭代次数。
高斯混合回归(GMR)在处理高维数据上表现出更好的稳健性。GMR通过构建GMM,并推导出每个高斯分布的条件概率密度和回归函数,从而建立回归模型,实现对复杂数据的回归拟合,其联合概率密度函数:
(4)
其中:
条件概率密度和回归函数为:
(5)
(6)
最终高斯混合回归的表达式为:
(7)
2.2. 平滑度与准确性模型(Jerk Accuracy Model,JA模型)
针对高斯混合模型在处理不同终点或变化轨迹时泛化能力不足的问题,JA模型通过优化生成的轨迹,提高了其平滑度和几何不变性,从而增强了泛化能力,使生成的轨迹能更好地适应不同的终点位置,提供有效的轨迹预测和生成。JA模型的优化目标是找到一个再现轨迹
,使其在平滑性和准确性之间达到平衡。优化目标函数的形式如下:
(8)
其中
为再现轨迹,表示在时间t处的轨迹值,
为示范轨迹,表示在时间t处的轨迹值,
为生成轨迹
的三阶导数,即加加速度(jerk),表示轨迹的平滑程度。
为再现轨迹与示范轨迹之间的误差,
为平滑度与准确性之间的权重参数,T为时间步长度。
约束条件:
起点条件:生成轨迹
在
处的值、速度和加速度必须与参考轨迹x在起点处的一致。
终点条件:生成轨迹
在
处的值、速度和加速度必须与参考轨迹x在终点处的一致,
表示目标点,可以设置不同的目标点来泛化到不同的位置,JA模型的优化问题可以视为一个边值问题(Boundary Value Problem, BVP),来解这个边值问题,从而得到最优轨迹
。
3. 实验验证
本文通过手写体字母轨迹复现泛化对比实验以及在仿真环境中进行拆解减速器上螺丝的泛化实验来验证所提方法的有效性。
3.1. 验证评价指标
为了直观地量化实验结果,验证轨迹学习与泛化实验中所生成的学习轨迹与示教轨迹的相似性,提出使用均方根误差(Mean Squared Error, MSE)和动态时间规整DTW [9]来作为验证效果的评价指标,均方误差的公式如下:
(9)
其中:n是样本的数量,
是第i个样本的真实值,
是第i个样本的预测值。均方误差计算的是所有样本中预测值与真实值之间的平方差的平均值。均方误差越小,表示模型的预测值与真实值之间的差距越小,模型的性能越好。
动态时间规整(DTW)公式如下:
(10)
(11)
(12)
其中,两时间序列为
和
,
表示
和
之间的距离,
表示从
到
的最小累积距离,通过动态规划计算两个序列之间的最小累积对齐距离
,数值越接近0,则轨迹相似性越高。
3.2. 手写字母轨迹学习实验
为了验证基于GMM和JA的轨迹学习与泛化方法有效性,本节使用公共数据集[10]中字母G的5条轨迹进行轨迹学习和泛化实验。实验结果如图1所示,使用GMM和GMR对演示(灰色曲线)进行建模,然后设置泛化的目标点从(0, 0)到(0, 2),使用JA进行泛化,再现的轨迹准确地泛化到了(0, 2),并保留了演示的特性。与GMM-DMP方法相比,GMM-DMP方法结果如图2所示。使用RMSE (均方根误差)、DTW (动态时间规整)来估计泛化精度,值GMM-JA计算为1.535 mm、2.401 mm,值GMM-DMP计算为5.132 mm、6.302 mm,结果表明GMM-JA方法在与示教轨迹的相似度方面显著优于GMM-DMP方法。
Figure 1. G-trajectory learning and generalization based on GMM-JA
图1. 基于GMM-JA的G轨迹学习与泛化
Figure 2. G-trajectory learning and generalization based on GMM-DMP
图2. 基于GMM-DMP的G轨迹学习与泛化
3.3. 螺丝拆解实验
为验证该算法在实际应用中的可靠性,进行仿真场景机器人拆解减速器上的螺丝实验。本文使用的机器人操作平台主要由UR5协作机器人、控制器、型材工作台、螺丝拆解电批以及外部PC操作终端等部分组成,如图3所示,首先拆解减速器上端盖的螺丝是第一步,减速器上端盖有四个螺丝,根据拆解点位1的黑色示教轨迹,需要泛化到拆解点位2、3、4,这样无需重新拖动机器人获取新的示教路径,重新定位。
Figure 3. Robotic arm disassembly screw workstation
图3. 机械臂拆解螺丝工作平台
首先拖动虚拟UR5机械臂末端进行引导示教,获取的3维坐标数据作为散点形式的示教数据,再对其进行预处理优化,得到原始的示教轨迹数据。然后对采集的6条末端轨迹并进行GMM聚类,GMR回归,得到最优的示教轨迹,效果如图4所示。
Figure 4. Disassembly screw trajectory learning based on GMM-GMR
图4. GMM-GMR拆解螺丝轨迹学习
为了验证基于GMM-JA的轨迹学习与泛化方法比传统GMM-DMP的方法与示教轨迹的相似性更高,设计了从拆解轨迹点位1到拆解点位2、3、4的泛化轨迹实验,实验效果如图5、6所示,两种实验方法均实现了泛化到达目标终点,而图5基于GMM-JA算法所得的轨迹更为接近示教轨迹形状。
Figure 5. Disassembly screw generalization based on GMM-JA
图5. 基于GMM-JA拆解螺丝泛化轨迹
Figure 6. Disassembly screw generalization based on GMM-DMP
图6. 基于GMM-DMP拆解螺丝泛化轨迹
为验证两种方法所生成轨迹与示教轨迹的相似性,本文使用RMSE和DTW评价指标进行评估,如表1所示。
Table 1. Evaluation of disassembly screw trajectory similarity
表1. 拆解螺丝轨迹相似度评估
|
GMM-JA |
GMM-DMP |
拆解位2 |
拆解位3 |
拆解位4 |
拆解位2 |
拆解位3 |
拆解位4 |
RMSE |
1591.18 |
697.39 |
2278.05 |
3316.03 |
1931.04 |
4213.55 |
DTW |
980.73 |
653.76 |
986.58 |
5865.17 |
3238.62 |
5522.25 |
结合表1中数据能够更为直观地看出,基于GMM-JA的算法所得到的泛化轨迹与示教轨迹的相似性更高。
4. 结论
本文提出的基于GMM和JA的轨迹学习与泛化方法,在手写字母轨迹和机器人螺丝拆解仿真实验中表现出色。与传统的GMM-DMP方法相比,该方法显著提高了泛化轨迹与示教轨迹的相似性,并增强了轨迹的泛化能力,有效解决了机器人任务位置变化时的重定位和编程效率低问题,验证了所提方法的有效性。