当前位置:首页 期刊杂志

基于改进Q学习的机械臂实时障碍规避方法

时间:2024-06-19

吴戴燕,刘世林

(1.安徽六安技师学院 机电工程系,安徽 六安 237001;2.安徽工程大学 电子工程学院,安徽 芜湖 241000)

0 引言

当前,机器人被广泛用于日常生活和工业任务中,以满足极端环境下的复杂需求,例如装配、交通、手术、太空探索等[1]。为实现人与机器人的紧密协作,必须采取以安全为核心的控制策略,实现人与机器人的安全共存[2]。

从目前的研究成果看,机械臂障碍物规避的规划方法包括机械臂的柔性机械设计、基于外感受传感器的碰撞检测和反应策略等[3-4]。如熊志金等[5]提出采用径向基(Radial Basis Function,RBF)神经网络算法逼近滑模控制器输出误差,以规避障碍物并提高控制系统输出和运动稳定性。此外,研究人员还提出了很多基于势场方法的实时规划算法[6-7],此类方法将虚拟排斥场与障碍物相关联以实现规避,并将引力场与目标相关联,以抵达目标。COLOMBO等[8]提出了基于参数化无撞轨迹的实时自适应运动规划算法,并根据机器人传感器发现的环境变化对参数进行更新。于思淼等[9]提出了虚拟弹簧概念以生成无碰撞运动轨迹,并结合了人类行为模式预测。

深度学习提供了操纵、处理和分析数据的新方式,在一些情况下甚至取得了优于人类专家的表现。增强学习是机器学习的分支,其尝试通过环境交互得到最优行为策略。将深度学习与增强学习相结合,有助于解决机械臂障碍物规避问题中因奖励信号的稀疏性造成的数据维度和可扩展性问题,提高采样效率和通用性[10]。

对于机器人系统,基于深度神经网络(Deep Neural Network,DNN)进行Q函数逼近的无模型方法被证明是有用的[11-12]。因此,本文利用深度增强学习(Deep Reinforcement Learning,DRL)技术处理碰撞规避问题,并在场景中考虑了存在入侵机械臂工作空间的障碍物。与大部分碰撞规避方法不同,文中所提方法是无模型方法,其显著降低了设计和实施的工作量。此外,此方法克服了离线轨迹生成以及在线更新执行过程中产生的相关问题。

1 机械臂与深度增强学习

多关节机器人是当前比较常用的机器人类型,也被称为机械臂。机械臂可表述为通过电机驱动关节移动的一系列连杆。其每个关节表示一个轴,为相邻连杆之间受控的相对移动提供额外的自由度(Degree of Freedom,DoF)。通常自动度数等于关节数量,末端受动器为附着在结构末端的辅具,以完成实际任务。根据不同应用,末端受动器可被设计为改锥、电刷等其他机械设备。连杆为连接基座、关节或末端执行器的刚性或类刚性组件,并负责承载结构负载。

增强学习是机器学习的分支,通过动态自动试错得到最大化收益的最优行为策略,其通用模型如图1所示,在学习中根据状态变化进行惩罚或奖励。

图1 增强学习模型

当智能体处于某个状态中时,它可根据当前策略选择行动,并从环境中接收执行该动作的奖励。通过学习奖励,智能体转移到新状态,选择新的行动,并对该过程反复迭代。在机器人控制领域,通常无法得到在所有情况下都正确且有代表性的期望行为样本,因此奖励通常是较弱的稀疏信号。在增强学习中,智能体仅根据稀疏时延奖励,学习如何在环境中行动。

传统的增强学习受限于简单状态表征,DRL使得智能体可以利用神经网络对策略进行表征,从高维非结构化输入数据中制定决策。在机械臂控制中,DRL的目的是训练深度策略神经网络,以检测能够完成任务的最优指令序列。使用DRL的机械臂控制流程图如图2所示,其中,输入为当前状态,包括机械臂关节角度、末端受动器位置及其推衍信息,例如速度和加速度等;策略网络的输出为可实施到每个执行器的控制指令代表的行动,例如转向或速度命令。当机械臂完成任务时,生成正向奖励。利用这些延迟弱信号,寻找机械臂操控的最优控制策略。

图2 使用DRL的机械臂控制流程图

2 机械臂障碍规避方法

2.1 智能体和环境

在每个时间步t,将智能体和环境建模为st∈S,其中,S为状态空间,包含系统所有相关信息。从给定状态出发,智能体执行动作at∈A,A表示动作空间。每个动作会扰动环境,改变其状态。智能体在进入下一个时间步t+1之前,接收奖励r∈R,R为奖励空间,然后根据动力系统ρ(st+1|st,at)移动至新状态st∈S。S和A可以是连续集,也可以是离散集。从状态到动作的映射取决于策略π,策略可以是确定性的,也可以是概率性的。对于给定的控制任务,将学习过程分为多个训练轮,其中,智能体与环境交互,以尝试完成任务目标,或者在重置前执行固定数量的时间步。

2.2 奖励和策略

奖励rt为标量反馈信号,表示智能体在时间步t的效果评估。智能体的目标是最大化其接收到的长期(预期)累积奖励。对于有效时间范围内的临时任务T,预期累积奖励Rt定义为

式(1)中,0≤γ≤1为折扣率,以使近期奖励的优先级高于远期奖励。系统模型使用状态和动作集合以及环境转变概率矩阵定义的马尔可夫决策过程(Markov Decision Process,MDP)。给定当前状态s、行动a和下一个状态s′,下一次奖励的预期值定义为

式(2)中,策略π(a|s)表示智能体在状态s时执行动作a的概率。从特定状态开始,遵循策略π的预期累积奖励被称为价值函数。

2.3 问题定义

在训练过程中,需要测量关节位置q,关节速度,目标点位置pt,末端受动器位置pe,障碍物位置po,以及障碍物速度o。假定末端受动器和目标的位置是已知的,并能够正确估计出障碍物的位置。由此,将状态空间S定义为

动作空间A定义为

奖励函数是通过三个因素的加权和所定义的标量函数。这三个因素分别为末端受动器和目标点之间的距离、动作的幅度以及障碍物与机械臂的距离,定义为

本文使用Huber损失函数[13]计算末端受动器和目标点之间的距离RT,定义为

式(6)中,d为机械臂尖与目标之间的欧氏距离,δ为平滑度参数。

机械臂执行动作的幅度RA计算为动作向量a的范数的平方,即

动作幅度对奖励起负面作用,因此应鼓励较小幅度的动作。机械臂和障碍物之间的距离RO为

式(8)中,dref为常数,以使得0

2.4 利用与探索的权衡

MDP要求环境转变概率模型是完全可观察的,但在机器人系统中,该信息常会不可用,因此需要一个不同的学习模型。Q学习[14]是离策略算法,直接逼近最优动作值函数Q*,且不受当前遵循策略的影响。在选择动作时,智能体可通过随机选择一个动作并忽略以往知识,来执行概率为ε的环境探索。

在包含大量状态的连续动作问题中,Q学习未必可行。Q学习的优点是不需要环境的先验模型即可自主学习,但对最优解的收敛速度较慢,不能满足实时应用需求。在这种情况下,可利用动作值函数(Q函数)的参数近似器来解决该问题[15]。参数近似器可通过深度神经网络(DNN)构建。DNN是参数函数,可对复杂的非线性关系建模。考虑参数化的动作值函数(st,at|θQ)为

式(10)中,yt为目标,即

式(11)中,θQ为行动价值函数的参数,β为随机行为策略,以使得at=β(st),ρβ为策略β下的状态访问频率。

2.5 改进Q学习算法

归一化优势函数支持在连续动作空间中使用Q学习,其理念是设计Q函数,以使得可以在每次更新过程中简单计算出最大的,即使用DNN分别输出和,优势函数被参数化为4次函数,如下:

式(12)中,P(x|θP)为通过L(s|θ)L(s|θ)T参数化的正定方阵,L为下三角矩阵,其元素来自神经网络的线性激活函数。Q函数在动作中是4次函数,通过计算最大值可得:

由此能够最大化Q(s,a)的动作a可表示为

基于归一化优势函数的连续Q学习如算法1所示,其中,TN和PN网络分别表示目标网络和预定义网络,以使用当前预测参数和过去目标参数来更新当前目标参数。噪声元素D为随机过程,将其添加到动作中以加快探索。整个过程通过重放缓冲RB采集训练过程中生成的所有样本i={st,at,rt,st+1}。小批MB中包含了从RB随机采集的固定数量样本,可利用单位方差和零均值进行归一化。最后,系数γ、η和τ分别为折扣因子、学习因子和更新因子。

算法1:提出的改进Q学习算法,如下:

3 实验与分析

为了验证所提方案的性能,使用模拟器V-REF模拟用于训练过程的物理环境。使用TensorFlow实施模拟器和归一化优势函数(Normalized Advantage Functions,NAF)算法,并将其连接到V-REP的远程API。使用的 PC 配置为 i7 4790 K 4 GHz,16 GB RAM,NVIDIA GTX 1080 GPU,4 GB DRAM。

3.1 参数设置

超参数指的是为了调整学习环境必须要设置的所有元素。本文训练过程中探索数值设定如下:噪声类型D表示在每个时间步向动作添加随机过程,以保持对环境的探索,实验使用Ornstein-Uhlenbeck噪声,噪声比例设为1,噪声衰减因子表示噪声在训练过程中的衰减速度,设为0.01。NAF学习算法中,更新因子τ设为0.001,折扣因子γ设为0.99,学习率η设为0.001。奖励函数相关参数中,c1、c2、c3分别为机械臂到目标的距离、动作幅度、到障碍物的距离的权重,设c1=1 000,c2=100,c3=60;δ为Huber损失参数,设为0.1;参考距离dref为障碍物与机械臂主体之间的默认最小距离,设为0.2;指数式衰减因子p表示机械臂与障碍物间距离增加时的负面奖励的衰减,设为8。

3.2 仿真场景

在环境中加入虚拟障碍物,即半径r=0.3 m的球体。机械臂的末端执行器必须触碰到空间中的一个点(目标点)。在该任务中,障碍物以不可预测的方式移动,机械臂必须避免发生碰撞。为执行评估,将目标点置于与地面平行的机器人的正前方的平面上,以模拟机械臂交互的生产线。障碍物表示为沿线性路径移动的球体,将障碍物放置于目标点和机械臂之间。

实验场景列举如下:

(1)场景1:固定目标,确定性移动障碍物。目标点的位置在每个周期都是相同的,障碍物以恒定速度从线性路径的一端移动至另一端。

(2)场景2:固定目标,随机移动障碍物。目标点的位置在每个周期均是相同的,障碍物沿路径随机移动,代表障碍物的球体在一段时间间隔内的任何时间均可改变方向或停止不动。

(3)场景3:随机目标,确定性移动障碍物。在每个周期开始时对目标点位置进行随机初始化,障碍物以确定性的方式来回移动。

(4)场景4:随机目标,随机移动障碍物。在每个周期开始时对目标点位置进行随机初始化,障碍物沿路径随机移动。

在所有实验中,记录下每个周期的总奖励和平均损失函数。此外,在仿真的每个周期,对机械臂尖与目标之间的距离的范数以及机械臂与障碍物之间距离的范数进行检索,以更好地展示机械臂在一轮训练中的行为特性。

3.3 结果分析

首先,测试所提方案在场景2中的障碍规避性能,该场景中包含固定目标和随机移动障碍物。总奖励函数的曲线如图3所示。从图中可以看出,所有实验的累积奖励收敛至最大值,机械臂学习到如何高效完成该任务的方式。这得益于所提方案中利用了归一化优势函数,它支持在连续空间中进行Q学习,实现了利用和探索的最优平衡,在确保当前奖励最大化的前提下提高了长期奖励的性能。

图3 总奖励曲线图

图4给出了4种不同场景测试中的平均损失变化情况。从图中可以看出,平均损失函数曲线的波动变化非常低。这是因为所提方案使用了归一化优势函数的参数近似器技术,它在提高收敛速度的同时,实现了损失函数最小化。结果表明:利用所提方案,机械臂能够在实现目标和障碍规避之间做出最优决策。

图4 4种不同场景测试中的平均损失变化情况

图5给出了场景2中机械臂在任务执行过程中与目标和障碍物的距离变化。随着机械臂与障碍物间距离的缩短,机械臂会根据目标点调整自身位置,并向远离障碍物的方向移动,直到与障碍物重新保持安全距离。随着机器人逐渐靠近目标点,机械臂尖与目标点之间的距离缩短,并保持机器人位置不变,直到障碍物球体与机器人身体的距离缩短到危险距离。此时,机器人相对于目标而后退,直到障碍物移开并与机械臂保持一定距离。这是因为在所提方案中,障碍物规避的优先级始终是最高的,因此机械臂必须实时寻找到完全避开障碍物并抵达目标点的动作。结果表明:所提方案具有极高的安全性,有助于促进人机安全共存。场景1、场景2和场景4中的实验均观察到了相似的实验结果和机械臂行为特性。

图5 机械臂与目标和障碍物的距离

在机器人工作环境的平面横截面上计算出的奖励函数特征如图6所示。该平面与地面平行,高度与目标相同。目标点位置为(0.5,0.5),障碍物中心为(0.1,0)。为简单起见,假定机器人是一个在空间中移动的点,从图6中可看出,得到的函数是凹函数,数值小于0,且当机器臂尖被放置到目标点上时达到最大值。此外,随着机械臂离障碍物越近,函数值越小,达到了完全规避碰撞的要求,理论上支撑了本文的结论。

图6 奖励函数特征

3.4 迁移学习

在机器学习中,迁移学习指的是利用先前获得的知识完成不同的任务。经过大量训练周期后,实验评估了迁移学习的结果,考虑了3种不同方法:

(1)模型迁移:在初始化过程中对近似器参数进行复用。

(2)经验迁移:对重放缓冲区RB中包含的信息(即四元组{st,at,rt,st+1})进行复用。

(3)混合迁移:结合以上两点。

使用实验过程中获得的知识完成迁移,训练过程采用随机目标和障碍物确定性移动,任务为随机移动障碍物。图7给出了使用3种方法进行迁移学习的性能比较。其中,红色(下方一条折线)表示仅使用模型迁移;黑色(上方一条折线)表示仅使用经验迁移;蓝色(中间一条折线)表示使用混合迁移。从图中可以看出,使用经验迁移的学习过程显著提高了性能,整体奖励最高,混合迁移次之,而模型迁移的性能较差;同时还可以看出,奖励函数收敛速度较快,这也证明了所提方案中使用归一化优势函数和价值函数的近似器方法的有效性。

图7 3种迁移学习方法的性能比较

3.5 人机交互测试

为了测试碰撞规避性能,实验还利用简单的图像接口,对障碍物的方向进行了手动更改。图8给出了试图将障碍物靠近机械臂碰撞规避的实验结果。在该实验中,采用经验迁移,训练过程为确定性移动障碍物。实验人员尝试将障碍物与机械臂碰撞,但机器人学习到的知识能够规避障碍物。这证明了在所提方法中,机械臂能够利用迁移学习应对较为复杂的作业环境,并不断改善自身的障碍规避性能,确保人与机械臂协同作业时的安全性。

图8 手动障碍物的规避性能

4 结语

本文提出了基于深度增强学习的机械臂碰撞规避方案,能够满足在不同场景下机械臂实时规避障碍物的任务要求,有助于实现人机安全共存。同时,利用深度Q学习逼近最优策略以获得长期奖励最大化,且不受当前遵循策略的影响。其中,Q函数的参数近似器解决了Q学习收敛速度慢的问题,并结合归一化优势函数实现了机械臂动作空间的利用和探索的平衡。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!