APP下载

空间软体机械臂的两阶段神经网络控制方法

2023-02-09崔朝臣黄奕勇

控制理论与应用 2023年12期
关键词:软体波纹管驱动器

崔朝臣,张 翔,熊 丹,韩 伟,黄奕勇

(军事科学院国防科技创新研究院,北京 100071)

1 引言

随着航天工业的高速发展,人类的空间活动日益增多[1],尤其近些年商业卫星的发射数量连年增多,不免发生损坏的情况.若不加干涉,不仅会造成经济损失,同时会产生太空垃圾,占用轨道资源[2].因此,对损坏卫星进行维护或实施抓捕是未来空间发展的重要研究方向.另外,受火箭发射成本和体积的限制,传统刚性空间机械臂不适用于商业卫星在轨服务或抓捕等场景.柔性机械臂作为一种刚性机电一体化空间机械臂的替代品,近年来引起了人们的广泛关注.与机电机器人相比,软机器人的性能除了具有较轻的质量、低廉的价格,还具有可压缩、操控灵活、高安全性等特征[3],使其更加适用于空间操作场景.虽然柔性机械臂具有上述优点,但软体机器人高度柔顺的多材料结构、非线性的物理化学性质,及由于其连续性而具有无限个自由度等特点,使得对其进行[4]体动力学建模更具挑战性.虽然已经有很多学者探索了各种方法来控制软机器人[5],但典型的大变形和无限自由度使其难以精确控制[6].

针对软体机械臂动力学建模问题,国内外学者做了一系列探索.就目前提出的模型而言,解决软体机器人动力学建模与控制的一种有效的方法是使用来自各种形式的外部来源的大型数据集[7].同时,神经网络已被证明是解决包括机器人在内的不同应用领域中各种非线性问题的有效工具.Braganza等[8]首次将神经网络算法用于软体机器人的控制中,利用前馈神经网络补偿系统的动态不确定性,试图减少不确定性边界.Giorelli等[9]对绳驱软体机械臂进行逆运动学建模,将机械臂末端作为模型的输入,绳子的张力作为输出,建立映射关系.Thuruthel等[10]介绍了一种利用神经网络的方法,用于在任务空间中闭环运动学控制连续机械臂,其中输入为末端执行器的姿态.Hyatt等[11]使用学习的非线性离散时间模型实现了六自由度软机器人的精确控制.

考虑到软体机械人的结构特征,可将其控制理解为从根部到末端的依次贯序决策问题.对于序列问题,相较于反向传播(back propagation,BP)神经网络等模型,使用善于处理时序数据的模型更为合适.Transformer作为时序数据处理领域的优秀模型,近些年在视频处理、自然语言处理、医药等领域得到广泛应用并取得巨大成就[12],但其在软体机器人控制领域却鲜有学者尝试.Alkhodary和Gur[13]提出一种基于Transformer的软体机械臂模型,用于软体机器人控制.但是在输入端只将末端位置作为输入,导致模型无法学习到在某一末端位置下,软体臂不同部位姿态,即逆运动学求解过程.这种方式虽然可以通过给定末端位姿输出软体臂驱动量,但由于缺乏逆运动学求解过程,削弱了神经网络模型的表达能力.

针对该问题,为充分利用神经网络模型强大的表达与逼近能力,本文提出了一种端到端两阶段的神经网络架构.该架构首先通过给定末端位置进行逆运动学求解,解算出软体机械臂关键关节处的位置,得到期望软体臂的姿态;进而,通过软体臂的姿态对相应的驱动输入进行映射,进行机械臂控制,从而得到从给定末端位置解算出软体臂驱动输入量.本文通过引入逆运动学求解阶段模型,引入末端位置与软体机械臂每个部分所对应的位置关系,进行数据增强,以提升模型的表达能力.同时,根据软体机械臂的结构特征,提出一种异步Transformer执行策略,将输入输出按照软体机械臂的结构顺序依次执行,使模型更符合软体机械臂的物理机理.本文整体框架如图1所示.

图1 基于两阶段神经网络架构的空间软体机械臂控制框架Fig.1 Control framework for space soft manipulator based on two-stage neural network architecture

本文的其余部分组织如下: 第2节简要介绍了本研究中使用的软体机械臂运动学模型;第3节介绍了基于两阶段神经网络架构的逆运动学模型和异步Transformer执行策略;第4节对实验数据集、实验流程和评价指标进行了概述;第5节给出了与神经网络逆运动学求解有关的结果.论文最后简要讨论了第5节的结果.

2 气囊型软体机械臂简介

本文使用的软体机械臂采用3节软体驱动器串联结构(见图2),每节软体臂由3个均匀排布的波纹管并行排列组成,每节的横截面见图3.每节软体臂之间采用气囊连接,可以通过充气量控制其伸缩,每节并联的波纹管之间采用刚性材料进行连接.软体臂在运动过程中,波纹管之间的刚性材料保持不变,确保3个波纹管并联组合的软体臂具备整体指向性.每个波纹管可单独充气进行控制,通过多个波纹管的串并联以及连接气囊协同冲入不同气压可使机械臂在空间中完成复杂的运动[14].本文使用的软体机械臂为采用带约束的多驱动器类型.下面将针对该类型进行输入气压与软体机械臂末端运动关系构建动力学模型.

图2 软体机械臂Fig.2 Soft arm

图3 并联波纹管横截面图Fig.3 Cross section of parallel bellows

2.1 带约束单驱动器动力学建模

带有约束的多动力软体臂是在单驱动力驱动器动力模型上进行的扩展.下面对软体机械臂进行单驱动器动力学建模.带有刚性约束的单节驱动器由3个并联的气囊呈60°均匀分布并联构成,在每个波纹管的轴线方向布置N个约束架对波纹管进行固定,确保3个波纹管之间的相对位置保持恒定.同时这N个刚性约束又将波纹管等长度分割为小节,每个小节冲入的气压值大小相同.从软体机械臂的固定端开始,对每一小节波纹管在刚性约束下的力学行为进行分析.考虑到波纹管之间均匀排列,可知3根波纹管在刚性约束条件下具有相同的运动行为.本文在固定端和第1个刚性约束框建立坐标系,分别取B0,B1为原点,原点指向三角形对边中点的方向为x轴,取固定端和刚性约束框平面xy平面,x轴逆时针转动90°为y轴,xyz构成右手直角坐标系,如图4 所示.

图4 相邻两个平面上的直角坐标系Fig.4 A rectangular coordinate system in two adjacent planes

在图4中,波纹管固定在两个平面间,设波纹管的弯曲角度为α,末端的弯曲角度为θ,则由x0y0z0到x1y1z1的旋转矩阵为H,矩阵变换公式如式(1)所示:

由于x0y0z0和x1y1z1的坐标系原点不重合,因此上式应进行一定量平移,如式(2)所示:

2.2 带有刚性约束框的多节软体驱动器串联模型

本文使用软体机械臂为3节带有刚性约束框的软体驱动器串联组成,下面以该机械臂为例构建运动学模型.串联部分采用充气气囊约束,约束部件厚度为T1-2,T2-3.设3节软体驱动器中的波纹管外半径分别为rout,1,rout,2,rout,3,内半径分别为rin,1,rin,2,rin,3,单节波纹管的原始长度分别为L0,1,L0,2,L0,3,弹性系数为k1,k2,k3,相邻两个波纹管中心之间的水平距离分别为a1,a2,a3.第1节软体驱动器中3个波纹管施加的气压分别为第2节中3个波纹管施加气压分别为第3节中3个波纹管施加气压分别为3个软体驱动器的节数分别为N1,N2,N3.

据第2.1节模型,计算得到每节软体驱动器中各段相对底部坐标系的三维坐标,其中3节软体驱动器底部坐标系分别为x01y01z01,x02y02z02,x03y03z03.已知第2节软体驱动器上各段在x02y02z02坐标系上的坐标表示为r*,将其转换到x01y01z01坐标系中,可得

式中H2=括号外面的下标2表示在第1节软体驱动器中计算得到的.根据式(4)-(5),得到带有刚性约束框的3节软体驱动器串联后末端中心位移与波纹管输入气压之间的关系,从而建立气囊型软体机械臂的运动学模型如下:

3 基于两阶段神经网络架构的软体机械臂视觉伺服控制框架

在软体机械臂控制任务中,为使所构建软体臂模型符合视觉伺服实际场景,本文提出一种两阶段神经网络架构的空间软体机械臂控制方法: 1)两阶段神经网络架构: 第1阶段通过末端期望位置推理出每节臂的位置,第2阶段通过每节臂的位置推理出所对应的充气气压,通过这种分阶段的方式,实现逆运动学求解过程的数据增强;2)异步Transformer执行策略:将本文软体臂结构与正运动学模型抽象为一种序列模型,将1)中所述两阶段策略与Transformer架构相结合,构建出基于Transformer的两阶段软体机械臂控制模型,利用该架构在处理序列问题上的优势充以分学习软体臂结构空间上的依赖关系.

3.1 两阶段神经网络架构

当前利用神经网络进行软体机械臂逆运动学建模,通常采用末端位置或软体臂形状映射软体机械臂驱动量(如气压、液压、绳子位移量).通过末端位置映射驱动量的方法,由于在训练过程中损失了软体臂形状信息,在没有充分信息的情况下,模型对于驱动量的映射能力有限.另外基于软体臂的形状进行映射方式,由于实际软体机械臂在实际应用中,视觉感知系统只能给出软体臂末端的期望位置,而无法给出软体臂的形状,因而该方法难以进行实际应用.基于此,本文提出一种两阶段神经网络软体机械臂控制策略.

考虑到在真实应用中视觉伺服系统中感知部分只能够解算出目标的位置,因此,本文无法根据期望位置直观得出软体机械臂每一节的期望位置.在神经网络的训练过程中,应考虑到软体机械臂实际模型的物理约束.若只输入末端期望位置和当前气压状态的话,则无法保证得到的模型符合现实物理规律,因而无法应用在实际软体臂上,因此,本文提出一种两阶段神经网络训练方法.

第1阶段,本文使用的软体机械臂如第2节所述,软体机械臂分为3节,首先让模型学习到期望末端位置x1,y1,z1所对应的软体臂每段位置x1,y1,z1,x2,y2,z2,x3,y3,z3的映射关系为第1阶段.其中,上角标1,2,3分别表示软体机械臂第1,2,3节,第3节为软体臂末端节.

当两个阶段训练完成后,将第1阶段的网络与第2阶段的网络进行拼接,进行联合微调,将该阶段称为整体微调阶段,即Fine-Turning,此时模型可以实现遵循软体臂物理模型规律的映射.

3.2 异步Transformer执行策略

Alkhodary和Gur[13]将软体机械臂的运动轨迹理解为时间序列,采用Transformer对软体机械臂进行运动学建模.与该方法不同的是本文软体机械臂本体抽象为序列结构.如图5所示,第2节软体臂位置受第1节软体臂形变影响,第3节软体臂位置受第1节和第2节共同影响.因此,可以将3节软体臂表示为一个序列,同时,第1节位置由该节的3个波纹管内充气气压决定.选择每节软体臂末端作为该节的期望位置,则此时的序列可以表示为[τ1τ2τ3],τi代表期望末端位置下每节软体臂的期望位置与期望气压τi=[Pi Qi],其中Pi表示软体臂第i节末端的位置,Qi表示软体臂第i节中3根波纹管的充气气压,Qi=

图5 基于异步Transformer的软体机械臂位置计算Fig.5 Position computation for soft manipulators with asynchronous Transformers

本文提出的异步Transformer执行策略通过末端位置预测软体机械臂整体位置的步骤如图5所示,在第1阶段,通过期望位置即软体机械臂第3节末端位置p3对第2节末端位置p2进行预测,进一步地利用p3和p2联合对p1进行预测,通过第1阶段神经网络实现软体机械臂每节期望位置的数据增强.

异步Transformer执行策略通过软体臂每节臂位置预测每根波纹管气压值的步骤如图6.首先,利用p1对Q1=中每个波纹管的充气气压值进行预测,再将得到的Q1与p3,p2协同对Q2进行预测,最后通过Q1,Q2和p3,p2,p1对Q3进行预测.最终测到软体机械臂的逆运动学模型.

图6 基于异步Transformer的软体机械臂充气气压计算Fig.6 Pneumatic pressure calculation of soft manipulator based on asynchronous Transformer

3.3 基于异步Transformer的两阶段逆运动学模型构建

Transformer已经被证明是在时间序列处理任务中较为有效的方法[15],Transformer不仅在复杂度上优于常见的时间序列处理方法,如循环神经网络(recurrent neural network,RNN)、长短期记忆(long shortterm memory,LSTM)网络、门控循环单元(gate recurrent unit,GRU)等,且独特的矩阵运算方式,能够使模型支持并行计算,提升计算资源的利用率,加快模型的训练效率.另外,相较于RNN,LSTM,GRU通过隐层状态获取隐含的时间序列信息的方式,Transformer能够从整体角度出发捕获不同时刻数据与当前时刻的关联程度,规避了传统时间处理模型对较远时刻序列信息丢失的风险.

通过第3.1节的分析可知,软体机械臂的控制具有序列特征,本文利用Transformer模型在处理序列数据中的优势,分别从第1阶段和第2阶段学习软体臂末端位置与每节末端位置的映射关系以及每节末端位置与每根波纹管充气气压值的映射关系.Transformer模型是由自注意力机制和前馈神经网络组成[16],自注意力机制主要是通过对特征矩阵进行计算,得到每个输入所对应的注意力权重[17],如下式:

式中:Q为查询矩阵;K为键值矩阵;V为值矩阵;dk为缩放因子,用于调节内积值的范围,其维度与Q和K一致.

在Transformer中通常采用多头自注意力机制,通过将多个自注意力通道获取不同软体机械臂运动空间模型对于输入序列不同位置的关注.提升了模型对于输入信息关注的多样性.多头注意力,如下式所示:

式中:Qi,Ki和Vi分别表示注意力头所对应的Query,Key,Value矩阵;i表示模型注意力头的数量;表示线性变换系数矩阵.

在多头注意力机制的基础上,通过增加求和、归一化等操作便构成了Transformer模型的主体架构,如图7所示.模型从结构上看可以分为位置编码、编码-解码器和全连接神经网络组成.编码-解码器由多头注意力机制和前馈神经网络构成[18].其中,在序列预测任务中,由于在解码时网络无法通过学习未来的标签进行网络调整,因此,在解码器中需要加入屏蔽器对未预测序列标签进行遮挡[19].

图7 Transformer模型结构示意图Fig.7 Diagram of the architecture of the Transformer model

基于两阶段神经网络的机械臂控制视觉伺服框架如表1的伪代码所示.在机械臂工作空间中放置目标,利用Vicon运动捕捉系统获得目标的位置,并将其转换到机械臂基坐标系下.将期望目标位置数据输入神经网络,输出机械臂期望气压,然后将气压值发送到机械臂充气阀控制软体臂运动,完成视觉伺服任务.

表1 基于两阶段神经网络架构的空间软体机械臂控制算法Table 1 Control algorithm for space soft manipulator based on two-stage neural network architecture

4 实验准备

4.1 数据集

为了训练模型,本文基于前文描述的正运动学模型生成了一个正运动学数据集以及一个真实数据集.正运动学模型的输入是软体臂每节充气气压值其中中j表示软体臂的第j节,i表示软体臂每节的第i根充气管.输出为软体臂每段末端三维空间坐标数据x1,y1,z1,x2,y2,z2,x3,y3,z3.考虑到软体机械臂的物理限制,本文在生成数据集时,气压范围设置在20000~40000 Pa之间,总共生成300万组数据.

使用软体臂正运动学模型生成的数据如图8所示.真实数据使用Vicon运动捕捉系统捕获事先在软体机械臂上安置的反光球的三维坐标得到.由于本实验所采用的软体机械臂刚度小,因此将机械臂通过悬吊系统进行悬吊,此时机械臂只能在平面摆动,因此,本文采集的实际数据为软体臂在二维平面的运动过程数据.采用间隔采样方式,采集数据量为60组.

图8 正运动学生成的仿真数据Fig.8 Simulation data generated by forward kinematics

4.2 评价指标

本文将实验得到的每根波纹管气压值输入到软体臂正运动学仿真模型中,计算期望气压值和预测气压值在软体机械臂正运动学中得到的软体机械臂末端位置在每一个轴上的误差以及在三维空间位置的绝对误差作为本文的评价指标,计算公式如下:

5 实验结果

5.1 对比实验

使用本文方法与经典的BP,LSTM进行对比实验,实验均采用两阶段网络.将网络计算出的波纹管气压值输入到正运动学仿真软件中进行测试,共记录了3000个测试样例,并对软体臂预测值和期望值在每个轴以及空间位置误差求平均值,实验结果如表2所示.

表2 不同方法对比Table 2 Comparison of different methods cm

表2显示了3种方法求取的每根波纹管气压值带入正运动学仿真模型后与期望位置在x轴、y轴、z轴方向上以及与期望的绝对误差的平均值.可以看出,LSTM相对于BP神经网络方法具有一定优势,验证了将软体机械臂设想为序列形式的可行性.另外,本文提出的方法相较于LSTM在各轴的误差均有提升.另外,本文方法在三维空间位置误差中取得了最优的结果,证明了异步Tranformer模型相对于LSTM和BP模型在软体机械臂逆运动学求解中具有优势.

5.2 消融实验

对本文所提出的第1阶段、异步Transformer进行消融实验,设计了3组实验: 1)采用单阶段神经网络,即将软体机械臂末端作为输入,每根波纹管充气气压值作为输出进行实验,该组即为SS(single-stage);2)使用基于标准Tranformer模型的两阶段神经网络,即在第1阶段利用软体机械臂末端位置直接对其第1节、第2节位置进行预测;在第2阶段直接一次实现对9跟波纹管的预测,该组记为NT(normal-tranformer);3)使用单阶段网络,且网络为标准Tranformer,该组记为SSNT(single-stage-normal-tranformer).

表3展示了本文方法以及SS,NT,SSNT在Errorx,Errory,Errorz,Error上的均值.

表3 不同方法对比Table 3 Comparison of different methods cm

从表3可以看出,本文方法取得了最好的预测效果,单阶段模型表现效果最差,验证了两阶段神经网络的必要性.同时,在单阶段网络中,在增加了异步执行机制后相对于同步执行机制在三维位置误差指标上减少了0.67 cm,在两阶段网络中通过增加了异步执行机制后,比标准Tranformer在三维位置误差指标上减少了0.28 cm,验证了异步执行机制的有效性.

5.3 软体机械臂控制实验

为验证本文方法在软体机械臂上的适用性,在正运动学仿真程序和软体机械臂实体上进行实验.

首先,在正运动学仿真程序上进行验证.对其中一个实例进行了可视化,如图9所示.其中,图9(a)-(c)分别对该实例在两两轴投影的可视化,图9(d)是该样例在X-Y-Z三维空间的可视化,该样例的预测值与真实值的角度偏差为0.47 cm.图10对33个样例进行了可视化,可以直观看出期望值和预测值基本吻合.

图9 仿真软件中预测值与期望值对比Fig.9 Comparison of predicted value and expected value in simulation software

图10 多个样例三维可视化Fig.10 3D visualization of multiple examples

为验证本文方法的有效性,本文还利用实际软体机械臂进行测试,如图11所示.与真实数据的采集相同,在测试时使用悬吊机构将机械臂相应部分进行悬吊,使其能够沿着某一平面运动,在运动过程中悬吊系统能够自动跟随机械臂运动,以抵消重力对机械臂的作用.

图11 目标抓取验证Fig.11 Verification of target grasp

测试时,首先将待抓取目标置于软体臂可达域的任意位置,在待抓取目标上放置反光球,利用Vicon进行测量得到待抓取目标的真值.将该真值作为软体机械臂末端的期望位置输入到神经网络模型,通过模型推理得到软体机械臂每节应输入的气压值.

由于软体机械臂波纹管材料、使用寿命、悬吊位置以及实验环境的影响,使得软体臂运动学并不严格遵循理想的运动学模型.因此,在软体机械臂距离目标较远时,采用本文方法靠拢,当接近目标时由于系统误差的存在,需要通过比例-积分-微分控制(proportion integral differential,PID)控制方法进行微调,直至实现抓取操作.通过测试,利用本文方法进行粗调,再配合PID控制方法进行精调,能够实现对目标进行抓取.

6 结论

基于两阶段神经网络架构的空间软体机械臂控制方法通过第一阶段网络对机械臂末端到每一节位置的映射的策略进行数据增强,有助于提升逆运动学建模的效果.同时,提出的异步Transformer执行策略,通过将软体机械臂抽象为序列结构,在后续的预测中融入更多先验信息提升了模型的稳定性.通过软体机械臂仿真软件和实物测试,验证了本文方法的有效性.同时,不可忽视是由于软体机械臂加工工艺原因导致软体机械臂实物与理想运动学模型存在域间隙,需要在本文方法的基础上在控制过程末尾阶段配合PID算法进行微调.

本文在融合仿真数据和少量真实数据的情况下验证了两阶段神经网络模型用于软体机械臂控制的可行性.考虑到软体机械臂参数众多,很难有一个理想的模型能够消除与真实世界的域间隙,同时由于无法获取软体机械臂每个执行元件特性的高精度测量信息,因此在本文框架的基础上研究一种完全不依赖仿真模型的控制方法是未来工作的研究重点.

猜你喜欢

软体波纹管驱动器
蚯蚓软体机器人来到火星变身“农夫”
波纹管调节阀的设计与应用
晶格型模块化软体机器人自重构序列
会捉苍蝇的高速软体机器人问世
藏起驱动器号确保数据安全
公路桥梁箱梁塑料波纹管
压电陶瓷驱动器的迟滞特性
探讨钢波纹管涵施工技术
Mone1400 波纹管焊接工艺的研究
SiC基和Si基永磁同步电动机驱动器的比较