文 闻, 周元子,2*, 周晓东, 陶 东
1. 北京控制工程研究所,北京 100094;
2. 精密转动和传动机构长寿命技术北京市重点实验室,北京 100094
机械臂具有自由度高、末端工具配置灵活等特点,被广泛应用于空间操控领域,一个典型应用便是对目标航天器或空间碎片进行捕获[1].在捕获过程中,通常需要操控机械臂对目标施加作用力使得目标速度降至和己方航天器相同,此外,为了保证操作安全,需要尽可能减小捕获过程中目标对己方航天器的影响[2].
为减小目标速度,常用方法是在抓取目标后控制机械臂末端进行运动跟踪[3]以实现对目标减速或消旋,而为了减小目标对己方航天器作用力的影响,往往需要在抓捕完成后针对形成连接的组合体系统施加稳定控制.通常,这些稳定控制方法无法避免碰撞瞬间产生的冲击力,而是把航天器和机械臂整体作为控制对象进行自适应控制或鲁棒控制,从而尽可能减小冲击力、目标残余动量产生的不利影响.例如文献[4]采用基于动力学模型的鲁棒控制算法对机械臂与目标联合系统实现镇定控制,而文献[5]针对漂浮基座上空间机械臂抓取自由目标的问题,提出了一种基于系统动力学模型的自适应鲁棒控制方法.另一种减小捕获过程冲击影响的方法是在碰撞过程中就对机械臂施加主动柔顺控制.对于配备了机械臂的航天器而言,通过设计各种主动柔顺控制方法实现柔顺捕获可以很大程度上降低碰撞冲击力对航天器的影响,从而简化航天器本体的控制策略.在各类柔顺控制方法中,利用阻抗控制来减小交互作用力是最常见的方法.文献[6]针对机械臂捕获自旋卫星提出了一种基于航天器基座和机械臂动力学模型的消旋与稳定控制方法,控制效果受到阻抗控制器参数的影响.文献[7]构建了一种基于空间机械臂运动状态和关节力矩测量的碰撞力观测器,为阻抗控制器提供碰撞力输入以实现柔顺行为,但是这种间接测量碰撞力的方法无法对碰撞做出快速反应.文献[8]研究了机械臂追赶自由漂浮目标的问题,在机械臂接触目标时设置适当的跟踪速度,同时利用阻抗控制器实现与目标的连续接触.还有学者在阻抗控制的基础上,设计了机械臂末端参考轨迹自适应调节策略以进一步改善交互性能.如文献[9]提出了一种基于关节力矩变化进行碰撞预测并调整机械臂末端参考位置以适应碰撞力的方法,但是由于该方法没有利用力传感器信息,只有当控制系统检测到机械臂关节在外力作用下产生微小位移后才进行运动调整,因此同样难以减小碰撞瞬间的冲击力.
无论是针对“航天器—目标”组合体的稳定控制方法还是针对机械臂的阻抗控制方法,通常都依赖对机械臂、航天器、目标的动力学模型、接触模型以及阻抗控制模型中大量参数的有效估计,而未来空间操控的发展趋势是针对未知目标实现自主、智能的任务规划和决策.近年来,智能控制方法伴随着深度强化学习技术的快速发展也有了更广泛的应用[10],例如,如文献[11-12]将强化学习方法用于对空间目标的捕获控制.在各种智能控制方法中,深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法[13]能够很好地解决连续动作空间上的强化学习问题,因此在许多涉及机器人控制的领域取得了不错的效果.例如文献[14]提出了一种将阻抗控制算法和用DDPG算法相结合的智能柔顺装配策略.文献[15]将DDPG方法用于空间双机械臂的协同捕获规划.
本文在深度强化学习框架下利用DDPG方法能够解决连续状态、动作空间问题的优势,提出了一种适用于空间机械臂的柔顺控制方法,以实现在捕获碰撞瞬间减小冲击力和降低目标速度的目标.设计了基于深度神经网络和确定性策略的智能柔顺控制器,使用符合人类手臂柔顺交互规律的奖励函数在仿真环境中对控制器进行训练,最终使得机械臂仅利用末端工具对目标施加接触力即可实现柔顺捕获.通过不同条件下的捕获仿真验证了这种不依赖模型的智能控制方法的有效性.
人类利用手臂、手掌对飞行目标进行抓捕是通过手眼协调来完成的,如图1所示,这一简单技能是在人类成长过程中通过不断练习逐渐获得的.在学习过程中,人类会利用视觉预判目标的动量,如果目标动量过大则在与目标接触的瞬间让手掌与目标一起同向运动以减小冲击.当手掌与目标接触后,通过感知目标与手掌之间的接触力来调节手臂运动从而保持和目标连续接触,并持续施加阻力以降低目标速度,直到最后目标被手掌捕获.通过练习,人类很快就能学会如何适当地调节手臂的阻抗与速度.本文通过学习人类捕获目标时的这种力与速度的调节机制,利用深度神经网络及DDPG算法,设计适用于空间机械臂捕获在轨飞行目标的智能柔顺控制器.
图1 人类手臂捕获运动目标过程
图2给出了本文使用机械臂进行运动目标捕获的场景示意.在捕获时,机械臂末端安装有力传感器,当检测到碰撞冲击力后,如果控制器具有上文中描述的人类经验,则会控制末端工具与目标之间保持连续接触而不脱离,同时不断对目标施加作用力并跟随目标实现同向移动.本文设计的控制器直接输出关节控制力矩,因此在进行训练时需要学会机械臂的运动控制策略以及类人柔顺交互控制策略.这些控制策略最终都需要借助DDPG算法框架中的深度神经网络来实现.
图2 机械臂捕获运动目标示意
DDPG算法是LILLICRAP等[13]对确定性策略梯度(deterministic policy gradient,DPG)方法进行改造进而提出的一种基于行动者-评论家(Actor-Critic)框架的算法,图3给出了该算法的学习框架,包含了行动者(Actor)网络(即动作价值函数Q(s,a|θQ))和评论家(Critic)网络(即确定性策略函数μ(s|θμ)),每个网络又由一个在线更新网络和一个目标网络组成.它采用“经验回放”技巧解决了样本独立同分布的要求,使得智能体能够在小批量样本中学习.在学习过程中,采用离线学习机制:使用随机策略在环境中探索,将产生样本存放到经验回放区中,训练时随机抽取样本来更新网络参数.此外,DDPG方法还借助独立的目标网络解决了用神经网络实现强化学习算法的训练稳定性问题.通过对两个目标神经网络的权重进行“软”更新而不是直接从在线更新网络中复制,使得目标网络参数不断逼近在线更新网络参数,从而提高学习过程的稳定性.
图3 DDPG算法的学习框架结构
本文采用DDPG算法在虚拟环境进行大量捕获仿真以获得机械臂柔顺捕获策略.在学习过程中,需要不断改进策略以获得最大的奖励.在仿真环境中,一个训练回合中的每一步行动者网络都要根据机械臂自身的各种状态信息输出控制力矩,通过不断地进行捕获仿真以便在末端工具与目标的大量交互过程中学到不同状态下最优的力矩控制策略.文中对“最优”的评价标准是捕获交互过程中产生的冲击力越小越好,即实现“柔顺”,同时捕获结束时目标的速度越接近零越好,即实现“捕获”.
当完成柔顺捕获控制的训练后,图3中的在线行动者网络可直接作为智能柔顺控制器用于机械臂控制.本文根据捕获目标时的环境状态、机械臂控制量数目以及控制问题的复杂程度,对DDPG算法中的4个深度神经网络结构进行了设计.其中,在线行动者网络和在线评论家网络均采用了三层线性全连接神经网络的结构,而两个目标网络的结构和在线网络完全一致.
评论家网络的结构如图4(b)所示,该网络输入除包括行动者网络的18个输入量外,还包括6维主动控制力矩.网络中全连接层的神经元数量同样设为600,输出层维数为1,即“状态-动作”的价值,各隐层的激活函数采用ReLU函数,输出层不设置激活函数.
图4 DDPG算法中行动者网络和评论家网络的结构
图5为本文采用的控制方案,控制器的核心为1个深度神经网络(即在线行动者网络μ(s|θμ)),由于其输入的各物理量取值范围不同,因此需要对输入的向量进行归一化处理.控制器输出为关节控制力矩,由于双曲正切激活函数的取值范围为(-1~1),因此还需要将输出控制力矩映射到合适的区间.
图5 基于DDPG方法的柔顺控制方案
本文设计控制器的核心思想是模仿人类捕获目标时的动作协调机制,从而达到类似的柔顺效果.根据强化学习的基本原理,需要设计合适的奖励函数.奖励函数对期望的行为给出正回报,对不期望的行为给出负回报,通过训练使得控制器在多次交互中学会产生能够获取较大回报的行为.因此,奖励函数应当鼓励那些能够使目标经过交互作用后速度降为0的控制行为,同时鼓励那些能够驱动机械臂末端工具顺应目标运动、从而减小冲击力的控制行为.本文设计奖励函数r形式如式(1)所示.
(1)
式(1)中,va为目标的飞行速度,vr为机械臂末端工具和目标之间的相对速度.奖励函数的第一项鼓励机械臂末端工具产生和目标运动方向一致的跟随运动以降低碰撞冲击力,第二项在目标速度接近0时设置了分段奖励,越接近0获得的奖励也越大,式(1)中最后一项为训练过程中当前回合内上一步控制器输出控制力矩的平方和,旨在惩罚控制器产生过大的控制力矩以减小不必要的动作.否则,训练时机械臂往往会产生大幅度动作而不利于实现末端精细柔顺控制.
在神经网络训练过程中,判断一个回合结束的标志为:
1)被捕获目标的运动速度小于给定阈值;
2)力传感器检测到的碰撞力大于设定的阈值;
3)目标被反弹朝着其它方向运动超出一定范围;
4)末端工具越来越远离目标并超出一定范围;
5)机械臂连杆发生碰撞或者关节角度超限.
本文在Simulink软件中建立了仿真环境,利用Matlab软件的多体系统工具箱实现了6自由度机械臂和目标模型的建立,利用其神经网络工具箱和强化学习工具箱实现了图3中行动者网络和评论家网络的搭建,最后进行了智能柔顺控制器的训练和测试.
图6是本文所采用的串联型机械臂的构型,机械臂具备6个主动关节.本文仅通过末端工具与目标的接触来对目标进行捕获,而非夹持或锁定目标来阻止目标运动或逃逸.这与参考文献[8]的研究思路是一致的,能够简化机械臂与目标之间的接触动力学建模.为了评价柔顺控制对碰撞冲击力的影响,在末端工具和末端关节之间设置了1个虚拟力传感器,用来测量捕获过程目标对机械臂产生的冲击力,其坐标系如图6所示.
图6 6自由度空间机械臂结构示意
设与机械臂固联的航天器位姿固定,目标质量为40 kg.训练时,设目标以固定初始运动速度v0=0.1 m/s沿-Z方向抵近机械臂,二者间的碰撞力由Simulink的空间接触力模块进行计算.
为验证基于DDPG算法的智能柔顺控制器的优势,针对捕获过程进行了相同初始条件下施加不同控制方案的捕获仿真,分别包括:锁定机械臂关节使得目标与末端工具直接碰撞、采用固定参数的阻抗控制方案进行捕获、采用参考轨迹自适应阻抗控制方案进行捕获以及采用智能柔顺控制方案进行捕获.
机械臂与目标产生碰撞时,其接触过程的动力学方程可写为
(2)
(3)
此时机械臂的期望动力学特性变为
(4)
式(3)中,
(5)
Md、Bd、Kd给出了期望的阻抗关系,x为末端位置,xref为参考轨迹.
利用式(3)便可以向机械臂各关节施加基于传感器测量信息的主动控制力矩以改变机械臂相对目标的表征惯量、刚度和阻尼特性,其控制框图如图7所示.在目标飞行方向上,机械臂的动力学模型转换为和“质量—弹簧—阻尼”系统等价的形式,如图8所示.
图7 机械臂阻抗控制框图
图8 施加阻抗控制后机械臂的动力学等价形式
参考文献[17],将主动控制力矩设为
(6)
则机械臂的期望动力学特性变为
(7)
(8)
仿真时,对于上述两种阻抗控制方案,设定机械臂末端工具在碰撞前保持不动.4种不同控制方案的捕获仿真结果如图9、图10所示.由图9可知,在机械臂关节锁定情况下,目标与末端工具碰撞过程的冲击力最大接近350 N.固定参数的阻抗控制方案能够在一定程度上降低碰撞交互瞬间的冲击力.参考轨迹自适应阻抗控制器可根据力反馈立刻改变参考轨迹,从而进一步减小碰撞冲击力.智能柔顺控制器作用下捕获过程产生的最大冲击力是4种情况中最小的.从图10中目标的速度变化可知,关节锁定时碰撞导致目标几乎被反弹,捕获任务失败,而在智能柔顺控制作用下目标速度几乎降为0,且目标也没有产生反向运动.因此,经过训练的智能柔顺控制器能够获得更好的柔顺捕获性能.
图9 4种不同控制作用下捕获过程最大冲击力的变化
图10 捕获过程目标速度的变化
在对智能柔顺控制器进行训练时,目标质量设为40 kg,速度设为-0.1 m/s,为评估已经训练好的控制器对不同状态目标的捕获适应性,本文也针对不同目标质量和运动速度的情况进行了仿真.
图11和图12是目标初始速度为-0.2 m/s时捕获仿真得到的冲击力和目标速度变化情况,当目标速度增加一倍时,对于两种基于阻抗控制原理的控制器,捕获过程最大冲击力变化较大,而智能柔顺控制器很好地保证了最大冲击力没有明显的增大.在图12中,当捕获结束后,智能柔顺控制器和参考轨迹自适应阻抗控制器对目标的减速效果基本一致.
图13和图14是目标质量为80 kg时捕获仿真得到的冲击力和目标速度变化情况,可以看出当目标质量增加一倍时,智能柔顺控制器仍然能够很好地保证了最大冲击力在200N附近.在图14中,当捕获结束后,3种主动柔顺控制器都实现了对目标的减速作用.此外,由图9、图11和图13可知,智能柔顺控制器在捕获碰撞过程中和目标不断接触产生了多次碰撞,实现了通过增加接触时间以减小单次碰撞的冲击力的效果.
图11 捕获不同速度目标过程的最大冲击力变化
图12 捕获不同初始速度目标过程的目标速度变化
图13 捕获不同质量目标过程的最大冲击力变化
图14 捕获不同质量目标过程的目标速度变化
本文提出了一种基于DDPG算法的空间机械臂柔顺捕获控制方法,基于人臂捕获目标时的柔顺调节思想设计了强化学习所需的奖励函数,控制器采用深度神经网络实现.在仿真环境中进行了控制器的训练,最终实现了良好的柔顺捕获效果.和传统基于阻抗控制原理的柔顺控制方案相比,本文提出的方法能有效减小碰撞瞬间产生的最大冲击力并促使目标停止运动.该方法不依赖机械臂、目标的动力学模型,同时,在对训练中未出现的不同状态目标进行捕获时也具有较好的适应性.