【技术实现步骤摘要】
一种基于隐空间插值的柔性线缆状态预测与控制系统
[0001]本专利技术涉及机器人装配的
,尤其是指一种基于隐空间插值的柔性线缆状态预测与控制系统。
技术介绍
[0002]在机器人市场规模不断扩大的背景下,智能机器人的应用前景广泛。工业机器人在自动化装配中承担着重要的角色。装配作为自动化生产制造的最后一个环节,目前已实现自动化或半自动化。目前自动化装配中涉及的物体一般为刚性物体。刚性物体在受控过程中不易产生形变,因此,在操控任务中一般只考虑其位姿状态,在仿真环境中容易对其进行建模。柔性线缆是具有非线性特性的柔性物体,在各电气系统间起着传递电力与信号的作用,其本身具有结构复杂、规格繁多、多品种、小批量、制造过程自动化程度低等特点。柔性线缆具有明显的非线性特征,在环境中与刚性体力学特征不同。通常在非线性因素较弱的系统中,可以对柔性线缆进行简化甚至忽略,然而,在追求高稳定和高可靠性的设备中,这种处理方式可能会引起较大的误差。目前线缆建模的常用方法有:基于质点弹簧模型的方法、基于弹性细杆力学模型的方法、有限元模型的方法等,但存在建模精度低或计算量大等缺点,因此建立柔性线缆的仿真环境较为困难。
[0003]传统的机器人装配技能学习主要采用示教器编程、离线编程等,这样学习到的技能单一,适用范围小,只能够完成预设好的特定任务,而且不能够与外界环境进行交互,不具备理解环境的能力和学习技能的能力。如果在装配任务中外部环境发生了变化,机器人的操作并不能做出相应的改变来完成新的任务,需要重新更改预设程序,导致程序的可复用性差。 ...
【技术保护点】
【技术特征摘要】
1.一种基于隐空间插值的柔性线缆状态预测与控制系统,其特征在于,包括:轨迹数据集采集模块,用于生成机器人动作,并记录机器人动作及执行动作前后的线缆状态原始图像,进而得到机器人操控柔性线缆过程的原始轨迹序列,包括每个时刻的线缆状态原始图像及机器人动作;状态图像预处理模块,用于对线缆状态原始图像进行预处理,得到线缆状态图像;下一时刻线缆状态预测模块,利用变分自编码器学习线缆状态图像的隐空间,通过Wasserstein距离对隐空间进行约束,基于隐空间插值的方法生成下一时刻线缆状态图像,并通过计算Wasserstein距离选取下一时刻线缆状态图像;行为策略模块,利用卷积神经网络学习相邻时刻线缆状态图像间执行的机器人动作,根据当前时刻线缆状态图像及下一时刻线缆状态图像生成当前时刻机器人动作。2.根据权利要求1所述的一种基于隐空间插值的柔性线缆状态预测与控制系统,其特征在于,所述轨迹数据集采集模块包括动作生成子模块和轨迹记录子模块,具体情况如下:在所述动作生成子模块中,随机生成机器人动作的运动方向数组,运动方向数组的长度为机器人动作的维度,数组中每个值的取值为
‑
1或1,分别表示沿正方向或反方向;随机生成机器人动作的幅度数组,幅度数组的长度为机器人动作的维度,数组中每个值为非负数;将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;所述动作生成子模块在采集原始轨迹序列的过程中,使用总相对位移数组记录机器人的机械臂相对初始位置的总相对位移,使用总相对位移阈值对总相对位移数组中每个值的上、下限进行约束;在时间步T=0时刻,将总相对位移数组初始化为0,然后,随机生成机器人动作的运动方向数组及幅度数组,将运动方向数组和幅度数组的每个索引值对应相乘,得到机器人动作;在每个时刻,若总相对位移数组与机器人动作对应索引值之和均在总相对位移阈值的范围内,视为动作有效,机器人执行该动作,更新时间步T,更新总相对位移数组,更新机器人动作幅度数组,使用上时刻的动作方向数组及更新后的幅度数组对应索引值相乘,得到新时刻的机器人动作;否则,视为该动作无效,同时更新动作方向数组及幅度数组,将其对应索引值相乘来重新选取机器人动作,直至生成的机器人动作有效;所述轨迹记录子模块记录在采集原始轨迹序列的过程中,将每个时刻摄像头拍摄的线缆状态原始图像保存为jpg格式,将所述动作生成子模块生成的每个时刻机器人动作写入文件中,得到机器人在操控柔性线缆过程中的原始轨迹序列。3.根据权利要求1所述的一种基于隐空间插值的柔性线缆状态预测与控制系统,其特征在于,所述状态图像预处理模块具体执行以下操作:裁剪:根据柔性线缆在线缆状态原始图像中的位置,将线缆状态原始图像进行裁剪;提取:基于线缆及背景的颜色特征,过滤图像中的背景信息得到线缆状态掩码图像;膨胀:使用大小为h
×
h的窗口进行图像膨胀,两个h分别代表窗口的像素高度及宽度,得到的结果即为线缆状态图像。4.根据权利要求1所述的一种基于隐空间插值的柔性线缆状态预测与控制系统,其特征在于,所述下一时刻线缆状态预测模块为变分自编码器结构,包含编码器和解码器,具体情况如下:所述编码器和解码器均由4个卷积块、2个残差卷积块及1个全连接层构成;所述卷积块由2个卷积核大小为3
×
3的卷积层、2个BatchNorm层和2个LeakyReLU激活层构成;所述残差
卷积块在卷积块的基础上增加了一个残差分支;在所述下一时刻线缆状态预测模块的训练阶段,在轨迹数据集采集模块得到的原始轨迹序列基础上,使用状态图像预处理模块处理原始轨迹序列中的线缆状态原始图像,将处理后的轨迹序列记为τ={s0,a0,s1,a1,s2,a2,
…
,s
t
,a
t
,s
t+1
},其中s
t
为时间步T=t时刻的线缆状态图像,a
t
为时间步T=t时刻执行的机器人动作,s
t+1
为时间步T=t+1时刻的线缆状态图像;在所述下一时刻线缆状态预测模块的训练阶段,将轨迹序列τ中的所有线缆状态图像视为下一时刻线缆状态预测模块的训练集,从中随机取出线缆状态图像s,将其分辨率缩放至128
×
128并输入到编码器中,经4个卷积块、2个残差卷积块以及1个全连接层,得到均值向量μ及标准差向量σ,然后,服从高斯分布N(μ,σ)采样得到线缆状态图像在隐空间的低维表征z;所述解码器输入低维表征z,经1个全连接层、2个残差卷积块及4个卷积块,得到重建的线缆状态图像所述下一时刻线缆状态预测模块的损失函数表示如下:式中,D
KL
(N(μ,σ)||N(0,1))表示分布N(μ,σ)与分布N(0,1)的KL散度;在所述下一时刻线缆状态预测模块的训练阶段,每遍历一遍训练集视为训练的一轮,保留每一轮的模型权重文件用于测试阶段;在所述下一时刻线缆状态预测模块的测试阶段,对于每一轮的模型权重,加载到模型中,接着,取轨迹序列τ中的任意两个线缆状态图像,分别视其为当前时刻线缆状态图像s
current
及目标线缆状态图像s
goal
,分别输入到编码器中得到隐空间的均值向量μ
current
、μ
goal
和标准差向量σ
current
、σ
goal
,然后基于均值向量和标准差向量采样得到隐空间的低维表征z
current
、z
goal
,根据以下公式,对z
current
、z
goal
进行线性插值,得到N个均匀插值后的隐空间低维表征z
i
:式中,z
i
为第i个隐空间插值的低维表征;隐空间低维表征集合{z
i
}={z
i
|i=1,2,...,N},已知量为N、z
current
和z
goal
;在所述下一时刻线缆状态预测模块的测试阶段,对于隐空间低维表征集合{z
i
},输入到解码器中得到图像集合{s
i
}={s
i
|i=1,2,...,N},计算状态s
current
与s
goal
、s
current
与{s
i
}、s
goal
与{s
i
}的Wasserstein...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。