掌桥专利:专业的专利平台
掌桥专利
首页

一种基于隐空间插值的柔性线缆状态预测与控制系统

文献发布时间:2023-06-19 19:30:30


一种基于隐空间插值的柔性线缆状态预测与控制系统

技术领域

本发明涉及机器人装配的技术领域,尤其是指一种基于隐空间插值的柔性线缆状态预测与控制系统。

背景技术

在机器人市场规模不断扩大的背景下,智能机器人的应用前景广泛。工业机器人在自动化装配中承担着重要的角色。装配作为自动化生产制造的最后一个环节,目前已实现自动化或半自动化。目前自动化装配中涉及的物体一般为刚性物体。刚性物体在受控过程中不易产生形变,因此,在操控任务中一般只考虑其位姿状态,在仿真环境中容易对其进行建模。柔性线缆是具有非线性特性的柔性物体,在各电气系统间起着传递电力与信号的作用,其本身具有结构复杂、规格繁多、多品种、小批量、制造过程自动化程度低等特点。柔性线缆具有明显的非线性特征,在环境中与刚性体力学特征不同。通常在非线性因素较弱的系统中,可以对柔性线缆进行简化甚至忽略,然而,在追求高稳定和高可靠性的设备中,这种处理方式可能会引起较大的误差。目前线缆建模的常用方法有:基于质点弹簧模型的方法、基于弹性细杆力学模型的方法、有限元模型的方法等,但存在建模精度低或计算量大等缺点,因此建立柔性线缆的仿真环境较为困难。

传统的机器人装配技能学习主要采用示教器编程、离线编程等,这样学习到的技能单一,适用范围小,只能够完成预设好的特定任务,而且不能够与外界环境进行交互,不具备理解环境的能力和学习技能的能力。如果在装配任务中外部环境发生了变化,机器人的操作并不能做出相应的改变来完成新的任务,需要重新更改预设程序,导致程序的可复用性差。具备学习能力的智能机器人,通常称为“智能体”。在复杂可变的环境中,强化学习、模仿学习已经成为智能体学习技能的通用方法。强化学习方法一般可以分为在线强化学习、离线强化学习。在线强化学习需要智能体能与真实的环境进行互动并通过获取更高的奖励更新智能体的行为策略,在真实场景的操纵任务中进行探索可能会产生危险的行为,而在仿真环境中学习到的技能又难以迁移到真实场景中;离线强化学习需要大量智能体与环境互动的轨迹数据,智能体从轨迹数据中学习行为策略,但容易受到轨迹数据与真实环境分布差异的影响,对数据集质量要求高。模仿学习从专家的轨迹数据中学习,但不涉及奖励函数,通常可分为行为克隆和逆强化学习。行为克隆通过监督学习的方法学习直接学习专家技能,这种方法效率高,但存在误差累积、泛化性差等缺点;逆强化学习则先学习奖励函数,并使用学习到的奖励函数指导行为策略的学习,其泛化能力较强,但在训练过程中其效果难以收敛到最佳。

综上所述,若智能体在真实场景中通过在线强化学习获取操纵技能,在进行动作探索的过程中容易产生危险的行为,例如机械臂的碰撞等;而离线强化学习及模仿学习需要大量机器人较优轨迹数据或专家操纵机器人的演示数据,人为采集较优的轨迹数据或专家演示数据需要大量的时间成本;并且,同时操纵两个及以上的机械臂会给操纵者带来很大程度上的认知困难,所以当前难以获取多机械臂的专家示范数据。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提出了一种基于隐空间插值的柔性线缆状态预测与控制系统,该系统能够自动采集机器人执行随机动作的轨迹序列,克服了传统示教学习中需要采集专家示范数据的困难;基于变分自编码器,学习轨迹序列中线缆状态图像的隐空间,通过在隐空间进行插值来获得当前线缆状态和目标线缆状态之间的中间状态,作为下时刻的目标,避免了传统强化学习中轨迹的偏离;基于行为克隆的思想,通过监督学习对轨迹序列中的状态转移进行建模,得到行为策略模型;通过下时刻目标预测与行为策略模型,该系统提高了动作执行的效率和行为策略的泛化能力。

为实现上述目的,本发明所提供的技术方案为:一种基于隐空间插值的柔性线缆状态预测与控制系统,包括:

轨迹数据集采集模块,用于生成机器人动作,并记录机器人动作及执行动作前后的线缆状态原始图像,进而得到机器人操控柔性线缆过程的原始轨迹序列,包括每个时刻的线缆状态原始图像及机器人动作;

状态图像预处理模块,用于对线缆状态原始图像进行预处理,得到线缆状态图像;

下一时刻线缆状态预测模块,利用变分自编码器学习线缆状态图像的隐空间,通过Wasserstein距离对隐空间进行约束,基于隐空间插值的方法生成下一时刻线缆状态图像,并通过计算Wasserstein距离选取下一时刻线缆状态图像;

行为策略模块,利用卷积神经网络学习相邻时刻线缆状态图像间执行的机器人动作,根据当前时刻线缆状态图像及下一时刻线缆状态图像生成当前时刻机器人动作。

进一步,所述轨迹数据集采集模块包括动作生成子模块和轨迹记录子模块,具体情况如下:

在所述动作生成子模块中,随机生成机器人动作的运动方向数组,运动方向数组的长度为机器人动作的维度,数组中每个值的取值为-1或1,分别表示沿正方向或反方向;随机生成机器人动作的幅度数组,幅度数组的长度为机器人动作的维度,数组中每个值为非负数;将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;

所述动作生成子模块在采集原始轨迹序列的过程中,使用总相对位移数组记录机器人的机械臂相对初始位置的总相对位移,使用总相对位移阈值对总相对位移数组中每个值的上、下限进行约束;在时间步T=0时刻,将总相对位移数组初始化为0,然后,随机生成机器人动作的运动方向数组及幅度数组,将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;在每个时刻,若总相对位移数组与机器人动作对应索引值之和均在总相对位移阈值的范围内,视为动作有效,机器人执行该动作,更新时间步T,更新总相对位移数组,更新机器人动作幅度数组,使用上时刻的动作方向数组及更新后的幅度数组对应索引值相乘,得到新时刻的机器人动作;否则,视为该动作无效,同时更新动作方向数组及幅度数组,将其对应索引值相乘来重新选取机器人动作,直至生成的机器人动作有效;

所述轨迹记录子模块记录在采集原始轨迹序列的过程中,将每个时刻摄像头拍摄的线缆状态原始图像保存为jpg格式,将所述动作生成子模块生成的每个时刻机器人动作写入文件中,得到机器人在操控柔性线缆过程中的原始轨迹序列。

进一步,所述状态图像预处理模块具体执行以下操作:

裁剪:根据柔性线缆在线缆状态原始图像中的位置,将线缆状态原始图像进行裁剪;

提取:基于线缆及背景的颜色特征,过滤图像中的背景信息得到线缆状态掩码图像;

膨胀:使用大小为h×h的窗口进行图像膨胀,两个h分别代表窗口的像素高度及宽度,得到的结果即为线缆状态图像。

进一步,所述下一时刻线缆状态预测模块为变分自编码器结构,包含编码器和解码器,具体情况如下:

所述编码器和解码器均由4个卷积块、2个残差卷积块及1个全连接层构成;所述卷积块由2个卷积核大小为3×3的卷积层、2个BatchNorm层和2个LeakyReLU激活层构成;所述残差卷积块在卷积块的基础上增加了一个残差分支;

在所述下一时刻线缆状态预测模块的训练阶段,在轨迹数据集采集模块得到的原始轨迹序列基础上,使用状态图像预处理模块处理原始轨迹序列中的线缆状态原始图像,将处理后的轨迹序列记为τ={s

其中,D

在所述下一时刻线缆状态预测模块的训练阶段,每遍历一遍训练集视为训练的一轮,保留每一轮的模型权重文件用于测试阶段;

在所述下一时刻线缆状态预测模块的测试阶段,对于每一轮的模型权重,加载到模型中,接着,取轨迹序列τ中的任意两个线缆状态图像,分别视其为当前时刻线缆状态图像s

式中,z

在所述下一时刻线缆状态预测模块的测试阶段,对于隐空间低维表征集合{z

进一步,测试后的下一时刻线缆状态预测模块,针对状态图像预处理模块得到的当前时刻线缆状态图像s

z

式中,α为(0,1)区间上的随机值;z

将z

进一步,所述行为策略模块由1个卷积核大小7×7的卷积块、3个卷积核大小为3×3的卷积块、1个自适应平均池化层及1个全连接层构成,其中,第2和第3、第3和第4、第4和第5个卷积块之间各有一个最大池化层;所述卷积块由1个卷积层、1个BatchNorm层和1个ReLU激活层组成;所述最大池化层的池化窗口大小为2×2,边缘填充大小为1;

在所述行为策略模块的训练阶段,在轨迹数据集采集模块得到的原始轨迹序列基础上,使用状态图像预处理模块处理原始轨迹序列中的线缆状态原始图像,将处理后的轨迹序列记为τ={s

进一步,训练后的行为策略模块,将当前时刻线缆状态图像s

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明在真实环境中机器人执行的随机动作轨迹上学习智能体行为策略,减少了收集专家示范轨迹、制作高质量示范数据集带来的成本。

2、本发明提出了针对柔性线缆状态图像预处理方法,预处理中裁剪、对背景的剔除减少了无关特征的学习,而膨胀步骤使得线缆的形状特征变得更为明显,能够快速提高隐空间学习的效率,而得到的隐空间也更为合理,为低维表征间的插值提供可用性。

3、本发明提出了一种柔性线缆状态隐空间合理性测试方案,重点关注在隐空间低维表征之间进行插值后生成的图像的合理性,而不仅仅关注隐空间低维表征的重建效果。

4、本发明利用变分自编码器学习线缆状态的隐空间,对下一时刻线缆状态进行约束,从而进一步对智能体执行的动作进行约束,避免智能体在动作空间过度探索,降低了由于真实环境与训练环境的分布误差导致的动作偏离的可能性,实现了动作执行的高效性。

5、本发明利用机器人在真实环境中的交互感知,通过神经网络捕获线缆受机器人操控前后的形变效果对机器人动作进行预测,降低了对线缆进行建模带来的额外误差。

6、本发明的各个模块化部分,可以更改网络的结构、机器人动作维度,可以与其它领域如实例分割、激光雷达探测相结合,有利于迁移到复杂的场景和应用中去。

附图说明

图1为本发明系统的训练阶段示意图。

图2为本发明系统的部署阶段示意图。

图3为状态图像预处理模块的流程图。

图4为状态图像预处理模块的结果示意图。

图5为下一时刻线缆状态预测模块的原理图。

图6为下一时刻线缆状态预测模块的结构图。

图7为下一时刻线缆状态预测模块的测试结果图。

图8为行为策略模块的结构图。

图9为行为策略模块的训练损失曲线图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

本实施例公开了一种基于隐空间插值的柔性线缆状态预测与控制系统,采用ABBYuMi双臂机器人、分辨率为1920×1080的RGB摄像头、柔性线缆搭建应用场景,其包括以下功能模块:

轨迹数据集采集模块,用于生成机器人动作,并记录机器人动作及执行动作前后的线缆状态原始图像,进而得到机器人操控柔性线缆过程的原始轨迹序列,包括每个时刻的线缆状态原始图像及机器人动作;

状态图像预处理模块,用于对线缆状态原始图像进行预处理,得到线缆状态图像;

下一时刻线缆状态预测模块,利用变分自编码器学习线缆状态图像的隐空间,通过Wasserstein距离对隐空间进行约束,基于隐空间插值的方法生成下一时刻线缆状态图像,并通过计算Wasserstein距离选取下一时刻线缆状态图像;

行为策略模块,利用卷积神经网络学习相邻时刻线缆状态图像间执行的机器人动作,根据当前时刻线缆状态图像及下一时刻线缆状态图像生成当前时刻机器人动作。

本实例提及的机器人动作维度为4,分别表示机器人左臂在x轴的位移、左臂在y轴的位移、右臂在x轴上的位移、右臂在y轴上的位移,机器人动作取值范围为[-20,20],单位为毫米,取值大于0表示沿正方向移动,取值小于0表示沿反方向移动。

如图1和图2所示,所述轨迹数据集采集模块仅用于系统的训练阶段,负责采集机器人操控柔性线缆过程中的原始轨迹序列,轨迹序列中包括线缆状态原始图像及机器人动作,为实现上述功能,模块分为动作生成子模块及轨迹记录子模块。在所述动作生成子模块中,动作生成子模块中,随机生成机器人动作的运动方向数组,运动方向数组的长度为机器人动作的维度,数组中每个值的取值为-1或1,分别表示沿正方向或反方向;随机生成机器人动作的幅度数组,幅度数组的长度为机器人动作的维度,数组中每个值取值范围为[0,20];将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;

所述动作生成子模块在进行轨迹数据集采集的过程中,用总相对位移数组记录机械臂每个自由度相对初始位置移动距离及方向,并使用总相对位移阈值对总位移数组进行约束,本实例中,总相对位移阈值上限为[100,150,100,150],下限为[-50,-150,-50,-150]。在时间步T=0时刻,将总相对位移向量的4个维度初始化为0,然后,随机生成机器人动作的运动方向数组及幅度数组,将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;在每个时刻,若总相对位移数组与机器人动作对应索引值之和均在总相对位移阈值的范围内,视为动作有效,机器人执行该动作,更新时间步T,更新总相对位移数组,更新机器人动作幅度数组,使用上时刻的动作方向数组及更新后的幅度数组对应索引值相乘,得到新时刻的机器人动作;否则,视为该动作无效,同时更新动作方向数组及幅度数组,将其对应索引值相乘来重新选取机器人动作,直至生成的机器人动作有效;

所述轨迹记录子模块记录每个时刻摄像头拍摄的分辨率为1920×1080的线缆状态原始图像,保存为jpg文件格式中,将所述动作生成子模块生成的机器人动作写入至txt文件,得到机器人在操控柔性线缆过程中的原始轨迹序列,本实例共采集了3001张线缆状态原始图像及3000个机器人动作。

如图3和图4所示,所述状态图像预处理模块首先将分辨率为1920×1080的线缆状态原始图像裁剪为分辨率为270×270的图像,然后基于颜色特征过滤图像中的背景信息得到线缆状态掩码图像,最后使用大小为5×5的窗口进行图像膨胀,最终所得的线缆状态图像作为所述状态图像预处理模块的结果。

所述状态图像预处理模块处理原始轨迹序列中的线缆状态原始图像,将处理后的轨迹序列记为τ={s

如图5所示,所述下一时刻线缆状态预测模块由编码器和解码器组成。如图6所示,所述编码器和解码器均由4个卷积块、2个残差卷积块及1个全连接层构成。所述卷积块由2个卷积核大小为3×3的卷积层、2个BatchNorm层和2个LeakyReLU激活层构成;所述残差卷积块在卷积块的基础上增加了一个残差分支。

在所述下一时刻线缆状态预测模块的训练阶段,将轨迹序列τ中的所有线缆状态图像{s

其中,D

在所述下一时刻线缆状态预测模块的训练阶段,每遍历一遍训练集视为训练的一轮,保留每一轮的模型权重文件用于测试阶段。本实例共保存了200轮模型权重的文件。

在所述下一时刻线缆状态预测模块的测试阶段,对于每一轮的模型权重,加载到模型中,接着,取轨迹序列τ中的任意两个线缆状态图像,分别视其为当前时刻线缆状态图像s

式中,z

如图8所示,所述行为策略模块由1个卷积核大小7×7的卷积块、3个卷积核大小为3×3的卷积块、1个自适应平均池化层及1个全连接层构成,其中,第2和第3、第3和第4、第4和第5个卷积块之间各有一个最大池化层;所述卷积块由1个卷积层、1个BatchNorm层和1个ReLU激活层组成;所述最大池化层的池化窗口大小为2×2,边缘填充大小为1;网络的输入大小为2×224×224,输出大小为机器人动作维度为4。

在所述行为策略模块的训练阶段,在轨迹序列τ={s

如图1所示,在本系统的部署阶段,将状态图像预处理模块、经训练及测试的下一时刻线缆状态预测模块、训练后的行为策略模块进行整合,搭建柔性线缆状态预测与控制系统,完成柔性线缆控制任务。

在时间步T=0时刻,向系统输入目标线缆状态原始图像,通过状态图像预处理模块得到目标线缆状态图像s

在每个时刻,通过摄像头读取当前时刻线缆状态原始图像并输入到状态图像预处理模块中,得到当前时刻线缆状态图像s

测试后的下一时刻线缆状态预测模块,对于当前时刻线缆状态图像s

z

式中:α为(0,1)区间上的随机值。

将z

训练后的行为策略模块,将当前时刻线缆状态图像s

综上所述,本发明能够让智能体在随机生成的轨迹中学习柔性线缆的控制技能,避免在学习行为策略的过程中智能体直接在真实场景中与环境进行交互。在本发明中,通过预测下时刻的线缆状态来对智能体执行的动作进行约束,保证了动作执行的高效性及控制过程的稳定性。本发明具有广泛的研究和实际应用价值,值得推广。

以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

技术分类

06120115938111