1.2 国内外研究现状
1.2.1 深度强化学习的研究现状
传统的RL在解决一些简单的顺序控制问题时能够取得较好的效果,但是对于具有高维复杂状态空间的控制问题,采用RL很难获取状态的特征信息。对于RL在高维连续状态空间中存在的局限性,可以借助神经网络强大的非线性拟合能力从高维的状态数据中学习到多层次结构,实现状态特征的提取,再结合RL的决策能力达到控制效果。针对输入状态的不同类型,神经网络主要分为两大类,即提取图像特征信息的卷积神经网络(Convolutional Neural Network,CNN)[30]和提取普通特征向量信息的深度神经网络(Deep Neural Networks,DNN)。DRL在机器学习领域占有重要的地位,具有深度学习的感知能力、RL的分析能力和决策能力[31-32]。目前,DRL算法主要分为两大类:基于价值函数的DRL算法和基于策略的DRL算法。下面将对这两类算法的研究现状进行介绍。
1.基于价值函数的DRL算法
基于价值函数的DRL算法主要以深度Q网络(Deep Q-Network,DQN)为基础,利用神经网络提取输入状态的特征信息,通过网络中的激活函数对特征量进行非线性拟合,完成从输入状态信息到输出状态价值的映射。许多算法都是在DQN的基础上进行优化改进的,主要涉及算法层面的优化和网络结构的优化,本节重点对DQN和其他两个变体的算法原理与网络进行介绍。谷歌公司Minh团队结合卷积神经网络和RL中的Q-Learning算法,提出了DQN算法。该算法使用CNN代替RL算法中的Q表格,用于解决高维连续的控制问题,并将其应用到游戏中,完成从图像观测输入到控制策略输出的端对端控制,通过实验验证该算法具有较好的稳定性和实施性。在训练神经网络拟合状态价值的过程中,状态之间的强相关性容易导致网络难以收敛,稳定性欠缺[33]。针对上述问题,DQN算法引入了经验池(Replay Buffer)[34]和目标网络(Target Network)。
经验池中包含经验样本,经验样本来自智能体与环境交互过程中产生的奖励值、状态数据和执行策略等信息。在进行网络训练之前,先设定经验池容量,利用网络不断与环境交互,收集样本信息;当样本量到达设定值时,使用随机采样方法选取经验池中固定数量的数据来训练网络,经验池的设计能够解决单步数据在线更新网络的强相关性和非静态分布问题,使得网络能被更好地训练。
为了解决在更新Q网络的过程中同时获得Q值和更新Q网络带来的不稳定问题,引入一个目标网络,加强训练学习的稳定性,即从目标网络获取Q值,根据这个Q值进行参数更新和Q网络更新,根据设定的时间依照Q网络参数更新目标网络,如此进行迭代。价值迭代过程中如果一直采用当前轮迭代价值最大的动作,会导致一些较好的没有执行过的动作被忽略,因此,在训练选择最优动作时,需要针对环境设置探索率,避免陷入局部最优解。
DQN算法中对于Q值的获取通常采用贪婪策略,选择最大的Q值作为目标值,使用贪婪策略可以使Q值快速向可能的优化目标靠拢,但是容易造成Q值的过度估计,使网络模型的最终输出存在偏差。为了解决上述问题,谷歌公司的VanHasselt H.等[35]提出了一种双深度Q网络(Double-DQN)算法,通过解耦目标Q值动作的选择和目标Q值的计算,将目标Q值的计算和动作的选取分成两个部分,以解决Q值的过度估计问题。
当利用随机均匀采样解决经验池中数据量较大的控制问题时具有局限性,网络在训练过程中无法对均匀采样得到的数据进行区分,认为数据的价值是相等的。在经验池中的数据存在较大的随机性,机器人在训练过程中,获取的样本可能来自“失败的”样本集合,这样的样本不值得智能体关注,有的样本来自“成功的”样本集,智能体适合根据它们更新网络参数。随机样本采集虽然也能达到一定的学习效果,但是训练效果不够好。针对这种情况,Schaul T.等[36]提出了优先经验回放(Prioritized Experience Replay)机制,即在采集数据样本的时候,为样本附加优先权,即根据优先权大小决定每条样本数据采样后推送给智能体的概率,并有相应的概率保留在经验池中。将样本的优先权正比于样本的时间差分误差(TD Error),即时间差分误差越大,优先权越大,不同样本间的时间差分误差对网络训练过程产生的效果不同。时间差分误差与更新网络参数时的梯度计算有较大的关联性,时间差分误差决定了优先权大小,优先权大小决定了梯度计算,所以,采用优先采样方法能够使机器人训练速度和训练效果得到提升。
带有优先经验回放的DQN算法和DDQN算法基于样本数据的权重比进行采样学习能够提高训练速度、优化算法。许多学者在DQN的基础上对其网络结构进行设计更改,提出了一些较为有效的算法,其中,Wang Z.等[37]在DQN算法的基础上提出了一种竞争性网络结构(Dueling Network Structure)。竞争性网络结构将DQN中的Q网络分为两个部分:一部分是与状态变量相关的价值函数,另一部分是与状态变量和输出策略同时相关的优势函数。价值函数部分的网络结构实现对状态变量的非线性拟合,优势函数部分的网络结构表达了当前状态下各个动作相对的优劣程度。最终Q网络的输出由价值函数网络的输出和优劣函数网络的输出线性组合得到。添加优势函数能够减小Q值的范围,去除多余的输出策略,提高算法的收敛速度。
2.基于策略的DRL算法
DQN主要通过对Q网络中的参数更新进行学习,根据估计的Q值采取贪婪策略来选择策略输出,属于基于值函数的算法,在解决高维连续性输出问题上具有局限性。针对上述情况,Silver D.等[38]在策略梯度(Policy Gradient,PG)[39]的基础上提出了确定性策略梯度(Deterministic Policy Gradient,DPG)算法,该算法属于表演者—评论者(Actor-Critic)算法框架范畴,该算法从探索行为策略中学习确定性目标策略,保证算法具有充足的探索性,在高维状态空间中的实验效果优于随机策略算法,但是算法稳定性有待提高。
Lillicrap T.P.等[40]在确定性策略梯度算法的基础上,结合DQN和策略梯度,提出了深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,该算法具有深度Q网络中利用经验样本学习的优势,同时又具有确定性策略适用于高维连续动作空间的特点。DDPG算法采用Actor-Critic算法框架,共用4个网络结构:Actor网络、Actor目标网络、Critic网络、Critic目标网络。其中,Actor网络负责根据当前环境状态选择输出策略,用于与环境交互获取下一个状态和奖励值;Actor目标网络负责从经验池中采集下一个状态并生成下一个输出策略,Actor网络中的参数会定期复制给Actor目标网络;Critic网络负责根据当前环境状态和输出策略计算当前Q值;Critic目标网络负责根据下一个状态和下一个输出策略计算目标Q值。DDPG在DPG的基础上增加了随机量和软更新,解决了DPG算法探索和策略更新的稳定性问题。
在DRL算法中,无模型的策略搜索算法主要包括随机性策略和确定性策略,策略搜索算法相比于值函数算法,除了能够解决高维连续空间的问题,还具有策略参数化简单、收敛性更强的特点。在使用随机策略梯度算法时存在学习速率难以确定的问题,若学习率选择不当,则更新的参数所对应的策略不能引导模型正确输出。Schulman J.等[41]提出了一种能使策略性能单调上升的置信区域优化(Trust Region Policy Optimization,TRPO)算法,该算法利用优化方法在局部找到可让损失函数单调的步长,确保参数总朝着好的方向更新。但是,TRPO算法在实际运用中存在样本采用效率低、复杂网络结构下算法利用率低、网络参数更新过程计算量大等问题。
针对TRPO算法存在的问题,Schulman J.等[42]又提出了近端策略优化(Proximal Policy Optimization,PPO)算法,PPO算法相比TRPO算法在目标函数上做了改进,其在目标函数的基础上添加了自适应KL散度惩罚项,当KL过大时增加惩罚力度;过小时则减小惩罚力度。KL能够限制新旧策略之间的差异值以满足约束条件,使得策略能够稳定更新。Mnih V.等[43]针对深度强化学习过程中的学习不稳定问题,在强化学习Actor-Critic算法框架的基础上利用多线程提出了异步优势表演者—评论者(Asynchronous Advantage Actor-Critic,A3C)算法。该算法利用多个智能体(Agent)进行异步训练,每个智能体分别与环境进行交互学习,最终将每个智能体学习到的经验进行汇总共享,这种平行结构的训练方法能够实现异步并进的效果。Actor-Critic算法框架在强化学习中占据重要地位,利用Actor产生动作(Action)并与环境交互,Critic负责评估Actor的性能表现,并指导Actor执行下一阶段的动作。
以上分别从基于价值函数和基于策略两种角度对目前DRL的研究现状做了相关介绍,其他类型的DRL算法都是在上述算法基础上做相应改进的。上述算法的相关概念将在本书第2章做详细介绍。
1.2.2 机器人控制的研究现状
带有机械关节的机器人具有运动控制的技术特点。一般地,机器人姿态平衡控制、机器人持物平衡控制和机器人抓取控制是机器人研究的主要技术课题,本节对相关技术及存在的问题进行简单介绍。
1.机器人姿态平衡控制研究现状
对倒立摆轮式机器人的控制主要包括控制姿态平衡、控制前进平衡和控制转向平衡[44]。本书主要研究姿态平衡问题,姿态平衡是前进和转向的基础,通过对姿态平衡问题的研究能够更好地实现前进平衡和转向平衡,对机器人作业具有重要的意义。倒立摆轮式机器人系统作为一种动态稳定但静态不稳定的系统,具有高阶、不稳定、多变量、非线性和强耦合的特点,研究姿态平衡问题需要对系统特性进行分析,设计控制模型。(下面介绍的文献中虽然对倒立摆轮式机器人的称呼各不相同,但是机器人的结构基本一致。)
Johnson T.等[45]针对倒立摆双轮式机器人姿态平衡问题,建立系统动力学模型,采用知觉控制理论(Perceptual Control Theory,PCT)实现对机器人的姿态平衡控制。该研究先在仿真部分将机器人姿态平衡问题简化为倒立摆式小车系统中的摆杆平衡问题,在倒立摆式小车系统中设计并验证控制算法;随后将控制算法应用于实物平台,在实物平台中利用伺服电机转速计和陀螺仪采集机器人状态信息(姿态倾斜角度和移动位置)。倒立摆双轮式机器人如图1.1所示。
在图1.1中,①为倒立摆双轮式机器人侧面实物图;②为根据实物图绘制的机器人结构框架图;③为根据机器人部件抽象的倒立摆式小车示意图。从①中可以看出,机器人由底轮和躯干组成,底轮和躯干之间利用机械装置连接,电机驱动底轮运动,在运动过程中通过惯性带动躯干在竖直方向前后摆动。从②中可以看出,机器人在移动过程中需要控制躯干在竖直方向的俯仰角θ,使姿态保持平衡(当躯干垂直于水平面时,θ=0),x表示机器人从原点的线性位移。从③中可以看出,机器人在做直线运动时可将倒立摆双轮式机器人模型简化为倒立摆式小车模型。
图1.1 倒立摆双轮式机器人
针对倒立摆式辅助机器人存在的直线运行控制问题、姿态平衡控制问题和转向控制问题,Jeong S.H.等[46]建立了动力学模型,分析机器人系统特性,构建了状态反馈器,利用状态反馈器设计站姿和坐姿等实验。实验表明,状态反馈器方法能够解决倒立摆式辅助机器人的控制问题。倒立摆式辅助机器人如图1.2所示,倒立摆式辅助机器人与倒立摆双轮式机器人结构相似,从图1.2右图可以看出,机器人在移动过程中,通过控制躯干与竖直方向的倾斜角ψ来实现姿态平衡;通过控制躯干与水平方向的转向角ϕ来实现运动转向。当倒立摆式辅助机器人沿直线移动时,姿态的平衡问题与图1.1中倒立摆双轮式机器人的相同。
图1.2 倒立摆式辅助机器人
其他学者对于不同结构的倒立摆轮式机器人姿态平衡控制问题的研究也取得了相应的成果。1997年,卡耐基梅隆大学和香港大学的学者设计了一种陀螺稳定单轮机器人,并对其姿态平衡问题展开研究[48-49]。图库巴大学的学者根据倒立摆式运动特性设计出一种新的单轮机器人,该设计通过控制底轮的前后运动和加速度,实现对机器人姿态的平衡控制[50]。Lee J.H.等[50]基于倒立摆模型,设计了一种不同于常规单轮机器人驱动装置的单轮机器人,该研究用风扇产生的气压为控制机器人转向的驱动源,通过气压和底端直流电机的协作实现对机器人姿态的平衡控制。
以上学者在倒立摆轮式机器人的结构设计中均取得了相应的成果,机器人设计不仅要求合理的结构设计,还需要对机器人进行稳健的驱动控制和诸多算法设计。由于机器人系统具有较强的非线性特点,其结构和控制过程异常复杂,故对系统控制模型的建立往往需要采用一些较为灵巧的手段。由于机器人的控制模型多呈现非线性特点,故将机器人的非线性系统反馈到线性化控制器设计是机器人算法设计的热点之一,其控制特点是基于模型的状态或输出的反馈,将非线性系统的动态特性转换为线性的动态特性,然后采用传统控制算法进行控制[52-53]。对于倒立摆轮式机器人系统的姿态平衡问题,大部分学者将系统的动力学模型做了相应简化,在误差允许范围内将模型的非线性输出转换为线性输出,然后使用线性二次调节器(Linear Quadratic Regulator,LQR)算法设计系统的控制模型[54]。但是,当动力学模型比较复杂,特别是系统受到外界各种干扰时,线性化模型的输出有很大的不确定性,需要设计者反复计算和测试。
不考虑对非线性系统的反馈实现线性化,一些智能控制方法被用于机器人姿态平衡控制,主要包括模型预测(Model Predictive Control,MPC)[55]和模糊逻辑控制(Fuzzy Control,FC)[56]。以上两种控制方法在机器人姿态平衡控制中需要预先对机器人动态系统建立动力学模型,在动力学模型的基础上设计控制模型。MPC的原理可描述为:在系统运行过程中,根据当前获取的系统状态变量,在线求解一个有限时间开环优化问题,将得到的控制序列的第一个元素作用于被控制的对象,在状态替换过程中重复上述操作。在机器人姿态平衡控制中,将MPC作为系统控制器能够实现在线预测控制,允许优化当前时间点,同时又能考虑未来的时间点,另外,该控制器还具有较好的泛化性[57]。但是,在线预测在一定程度上会增加计算量,实时性有待提高,对硬件配置有较高的要求。FC是一种基于模糊数学思想的智能控制方法,常用于解决复杂多变量非线性系统问题。轮式机器人姿态平衡系统中模糊控制器的设计主要分为以下几个部分:设计隶属度函数、构建模糊规则、模糊推理和解模糊化[58-59]。在模糊控制中,输入量的选取、控制器参数的优化对于控制效果至关重要,模糊控制器中模糊规则和隶属度函数的建立依赖于设计者的经验,当系统受外界因素干扰变得较为复杂时,控制器的设计缺乏系统性,系统的控制精度和稳定性有待提高。
采用以上方法解决机器人的姿态平衡控制问题,需要先建立机器人动力学模型,利用动力学模型建立动力学环境,在动力学环境下对控制方法进行验证,并对方法中涉及的参数做相应的优化。
2.机器人持物平衡控制研究现状
在机器人作业中,机器人经过训练学习掌握灵巧的技能可以促进机器人技术的发展和应用,加强人类和机器人之间的协同合作。当机器人携带物体时,如何灵巧地平衡末端执行器上的移动物体,使物体处于平衡状态,需要研究人员根据控制目标设计巧妙的末端执行器结构和精确的控制模型。
针对上述问题,Lee K.K.等[21]在机器人末端装置上安装了球板系统,即在一个方形光滑平面上放置一个球体,球体可以在平面上以很小的滚动摩擦转动。机器人上的球板系统如图1.3所示。机器人的这种末端执行器有4个自由度:相互垂直的两个旋转自由度,可以使球板产生任意方向的倾斜角;两个平移自由度,使球板可以做水平方向的运动。球板实验可以设计多种控制,如使球体按照预定的轨迹和速度在球板上运动,也可以做多种平衡实验。
图1.3 机器人上的球板系统
图1.3右图为球板系统的结构简图,可以看出,球板在电机的旋转驱动下做角度、角速度和角加速度的控制,球体在重力作用下在球板平面上运动。该研究利用球体、球板和机器人之间的关系建立系统动力学模型,该模型在建立过程中分别考虑球板和球体产生的能量,借助接触式F/T传感器测量移动球体的位置和速度,并将其作为系统状态变量,根据系统动力学模型设计阻抗控制模型,利用阻抗模型控制球板运动,从而实现对球体的平衡控制。实验测试表明,当机器人球板系统存在外力干扰时,球体在球板上能够保持较好的平衡状态。
RYU K.等[16]在机器人末端设计了球杆结构,将其作为末端执行器,利用球杆结构的两个自由度,即一个倾斜角和一个平移运动实现对球体的位置控制,并在设定的位置范围内控制球体处于平衡状态。机器人上的球杆系统如图1.4所示。系统以球杆和小球作为被控对象,其动力学模型的建立考虑了球杆和小球的动能与势能。利用接触式F/T传感器测量球杆和小球的状态信息并将其作为系统的状态变量,将球杆的旋转角加速度和球杆中心点的移动加速度作为系统的输出控制量,设计带有观测器的状态反馈控制器使球体平衡到设定位置。平衡过程中需要机器人多关节协同操作,确保球杆在竖直平面和水平面存在运动。
图1.4 机器人上的球杆系统
图1.4右图为球杆系统简图,可以看出,机器人关节的旋转带动球杆倾斜角产生变化,从而使球体在z方向产生运动。球体在球杆上的运动轨迹与球板不同,球体在球板上的运动轨迹是在一个平面的,在球杆上是一条直线。对机器人持物平衡控制的研究,其他学者在控制模型的建立和执行机构的设计上也取得了相应成果,其中,Park J.H.等[59]在机器人末端设计了球板结构,将视觉传感器采集到的球体位置信息作为滑模控制器(Sliding Mode Control,SMC)的输入量,通过控制器实现对小球的位置控制。Spacek L.等[23]利用YuMi机器人实现对球板结构上小球位置的控制,分别对比了线性二次型最优控制器LQR、PD、LQ(Linear Quadratic)3种控制算法的控制精度。Chen Z.等[60]设计了一种灵巧的6关节移动机器人,在机器人顶部设计球板结构,并且保证机器人移动过程中能够平衡球体位置。Jin Z.等[61]在机器人末端设计了球杆结构,开发了一种人机协作控制方案,通过机器人和研究人员共同协作实现对球体的位置控制。
从系统模型角度分析,球板相对于球杆有更复杂的动力学模型;从控制方法角度分析,两者之间的区别在于球板在球杆的基础上增加了一个相同的控制器,球板需要控制板的两个倾斜角,而球杆只需要控制杆的一个倾斜角。在上述文献中,对球板或球杆的研究是实现移动球体在机器人末端执行器任何位置范围内保持平衡的关键。本书借鉴文献[16]的研究内容,在机器人末端设计球杆结构,将机器人球杆系统作为研究对象。下面我们将对球杆系统的研究现状和现有问题进行简单介绍。
球杆系统作为一种非线性、强耦合、欠驱动、开环不稳定的动态系统,被用于研究许多非线性最优控制问题[63]。借助经典控制理论,许多学者利用传统PID或改进PID作为球杆系统控制器,将球体位置和球杆角度与目标位置的偏差作为控制器输入,通过调整比例、积分、微分参数实现控制目标。实验结果表明,这些方法具有较好的准确性和稳健性[64-65]。但是,PID中参数的调整过度依赖研究人员的经验,当系统机械参数发生变化时,PID参数需要再次调整,这对控制灵活性有一定的影响。在现代控制理论中,LQR作为一种基于模型的控制方法,被广泛应用于球杆系统[66-67]。在球杆系统中利用LQR的前提是对系统的非线性化动态特性进行线性化,当系统受环境因素影响时,容易造成动态特性具有很强的非线性特征,此时线性化具有一定的难度,使用LQR存在局限性。
机器人姿态平衡控制问题和机器人球杆系统持物平衡控制问题,可以采用更多的智能控制方法来解决。自适应动态规划(Adaptive/Approximate Dynamic Programming,ADP)作为一种基于强化学习思路的迭代求解方法,在表演者—评论者算法框架下,利用策略迭代和值迭代等动态规划方法,实现对系统中性能指标函数和最优控制策略的逼近[68]。该方法的核心是强化学习理论、最优性原理和迭代策略,从控制系统状态空间中的性能指标函数入手,探索控制序列的控制效果,以得到最优控制策略[69]。在ADP的实际应用中,Dao P.N.等[69]针对存在输入扰动和未知参数的倒立摆轮式机器人系统,提出一种结合ADP和SMC的控制方法,用于提高机器人姿态平衡的控制效果。该方法在仿真试验阶段,采用二次型函数作为性能指标函数,通过函数逼近结构实现对性能指标函数和最优控制策略的逼近。Cui L.等[70]针对轮式机器人姿态平衡问题,提出了一种基于价值迭代算法生成数据驱动的自适应最优平衡控制器。该研究借助机器人的线性化模型,设计二次型性能指标函数,并对所提方法进行收敛性证明和稳定性分析。Van Nguyen T.等[71]针对轮式机器人姿态平衡问题,提出了一种基于ADP的控制方案。该研究采用二次型性能指标函数,根据机器人动力学模型建立动力学环境,在动力学环境下对所提方法的收敛性和稳定性进行证明。Ni Z.等[72]在双启发式动态规划(Dual Heuristic Dynamic Programming,DHP)的基础上提出了一种改进的Goal representation DHP(GrDHP)结构,其性能指标函数的定义采用二次型,以球杆系统作为实验对象,对比DHP和GrDHP的控制效果,实验结果表明,改进后的GrDHP结构具有较好的控制效果,球体能够在球杆的设定位置范围内保持平衡。Song R.[73]和Burghardt A.等[74]提出了一种新的ADP算法,用于解决一类确定性非仿射非线性时滞系统的最优控制问题,该方法将球杆系统作为仿真对象,将二次型性能指标函数作为迭代优化的目标函数,通过实验验证所提方法能够实现对小球的位置控制。
以上文献在仿真实验结果中均取得了较好的控制效果,但是利用ADP方法研究机器人姿态平衡控制问题和机器人球杆系统持物平衡控制问题,更应关注ADP方法的控制细节,目的是期望整个控制过程中状态空间的变化能够满足控制系统的详细要求,最终达到控制目标,这需要对性能指标函数中的效用函数有具体要求。上述文献在利用ADP求取系统的控制策略时,没有过多关注控制细节,在定义效用函数时绝大部分采用二次型性能指标函数,对效用函数和系统状态没有明确的关联性描述;另外,效用函数中的参数并未给出确定的设计方法,这些参数在影响效用函数的同时也决定了最终控制策略的效果。在非线性系统中如何设计一个与实际控制目标密切相关的效用函数,这方面的文献较少,这也是目前的研究方向。
部分学者采用强化学习作为控制方法,通过建立奖励函数,利用智能体和环境不断交互来更新控制策略,获得最大奖励值,从而确定最优控制策略。其中,Ruan X.等[75]针对机器人姿态平衡控制问题,提出了一种结合强化学习和模糊神经网络的控制方法。该方法借助Q-Learning理论,在平衡点附近设置稀疏奖励函数,通过仿真实验验证所提方法能够实现对机器人姿态平衡的控制。Zhong X.等[76]基于强化学习理论,提出了一种全局双重启发式动态规划(Goal representation Globalized Dual Heuristic Dynamic Programming,Gr-GDHP)方法,该方法在球杆系统平衡点附近设置稀疏奖励函数,当系统状态超过平衡点附近范围时,给予系统一定的惩罚。上述文献中奖励函数的建立不同于ADP中的性能指标函数,但是,对于奖励函数的设计如何有效解决系统的控制问题缺乏系统性的方法,大部分奖励函数的设计没有明确与系统控制细节之间的关系,设计较为稀疏,缺乏对奖励函数合理性的证明;另外,利用稀疏奖励函数训练产生的控制模型在实际控制中的效果有待提高。
针对上述文献中效用函数和稀疏奖励函数存在的问题,本书在强化学习理论的基础上提出了一种细节奖励机制,通过观察和分析特定控制系统中状态空间的不同角度,构建与状态细节相关联的测评函数,形成最终的细节奖励函数,然后替换效用函数和稀疏奖励函数。本书将在第4章和第5章中针对具体系统的控制目标设计细节奖励函数,结合深度强化学习理论,设计实验验证所提方法的有效性。
3.机器人抓取控制研究现状
当机器人面对结构化的操作环境和种类单一的物体时,通常采用定点示教编程的方式实现对目标物体的抓取。示教编程是一种在特定的应用场景下,通过人为引导机器人末端执行器到达目标位置的操作方式。系统能够记录和保存机器人运动的空间轨迹,机器人利用记录的轨迹可重复抓取定点物体。示教编程对目标物体和机器人末端执行器的位置信息有严格要求,当机器人或目标物体的位置发生改变时,需要重新示教完成抓取。在实际操作环境下,很难保证物体信息不受环境影响而发生变化,这就要求机器人位置能够跟随目标物体的位置信息做动态调整。目前,对机器人抓取控制的研究主要分为两类:基于解析法抓取[78]和基于数据驱动抓取[79]。其中,解析法需要对物体的几何形状进行解析,当机器人执行器和物体间的关系形成封闭状态时实现抓取;数据驱动抓取可以分为基于DL和基于DRL两类,其中,DL利用已有数据训练智能体学习抓取控制位姿,DRL则通过机器人与环境交互来学习抓取和控制位姿。
解析法需要提前将抓取物体的三维模型存入模型库,在抓取过程中通过视觉传感器获取物体图像信息(轮廓、角点等),将获取的信息和模型库中已存的模型进行对比分类,估计出物体位姿和机器人的最佳抓取位姿。解析法一般需要结合视觉伺服的反馈信息来控制机器人完成对目标物体的抓取。视觉伺服控制方法按状态输入的类型可以分为:基于位置的视觉伺服(PBVS)和基于图像的视觉伺服(IBVS)[80]。PBVS对采集到的图像进行特征提取,采用坐标转换估计机器人抓取位姿信息,将估计的位姿信息和期望的目标位姿信息之间的误差作为PBVS控制器输入,输出值经过机器人控制器直接控制机器人运动[81]。IBVS和PBVS之间的区别在于前者不需要对位姿信息进行估计,直接将采集图像和目标图像之间的差值作为IBVS控制器输入,输出值经过机器人控制器直接控制机器人运动,设计IBVS控制器的关键在于建立视觉空间和机器人运动空间的非线性映射关系[82]。视觉伺服系统如图1.5所示。
图1.5 视觉伺服系统
基于图像和位姿的两种视觉伺服系统都需要手动提取图像特征。另外,还应具备物体信息等先验条件。在PBVS系统中,需要对视觉采集系统和机器人系统进行位置标定,实现从图像像素坐标到笛卡儿空间坐标的转换。利用视觉伺服系统的闭环反馈控制能够提高抓取成功率,但是存在局限性,需要具备物体三维模型等先验知识。另外,视觉系统在采集物体信息后,需要将物体位姿和抓取位姿进行坐标转换,转换过程存在一定的误差,很难保证图像特征提取和位置标定的精度。针对上述问题,许多学者尝试基于DL实现对图像特征的提取、目标物体的位姿估计,完成从输入图像到输出抓取位姿的端对端控制。
关于DL的研究主要分为以下两个部分:①如何设计分层网络结构,实现对抓取任务的分步执行;②如何丰富网络输入变量,提取更多有用的特征信息。对于网络结构的研究,Lenz I.等[82]提出了一种滑窗式双神经网络级联结构,采用RGB-D图像作为网络输入,实现对目标物体的抓取,该结构中第一部分网络实现对目标抓取预选框的预测,将预测出的多个预选框进行初步评估,筛选出具有较高抓取成功率的预选框;第二部分网络对初步评估的预选框进行最优选择,确定最佳抓取位姿。周彪[83]和夏晶[84]对网络结构进行设计,分别采用深度残差神经网络和R-FCN网络作为主干网络,结合滑窗技术实现对目标物体的抓取。
在网络输入变量的研究中,许多学者采用多模态融合技术和网络级联思想设计出智能检测抓取方案。其中,Lenz I.等[82]对一级网络预测出的多个预选框进行初步评估,筛选出具有较高抓取成功率的预选框,然后将筛选出的预选框信息、框内对应的图像深度信息和表面法向量进行多模态融合,融合结果作为第二部分网络的输入,最终确定抓取位置和姿态。Zhang H.等[85]提出了一种结合视觉和触觉感知的混合网络结构,用于实现机器人的抓取检测;在收集的数据集和公共数据集中测试所提方法的有效性,并提出一种使用触觉数据的稳健方法来评估抓取稳定性。Kumra S.等[86]提出了一种多模态融合网络结构,将RGB图像和深度图像分别经过CNN网络提取特征值,并对提取到的特征值进行融合,再输入网络全连接层,实现对抓取框的回归预测,该网络结构在标准数据集中达到了89.21%的检测精度。
上述学者使用深度学习理论在机器人的检测抓取精度上取得了很好的成果。其中,关于深度学习中网络结构和网络输入类型的设计理念较为前沿。深度学习存在的局限性在于对数据集的要求较为严格,研究抓取过程中更多的工作是人工对于数据集的构建,这将会增加时间成本,另外,如果数据集中存在样本和标签不一致的情况将会影响网络中参数的更新。针对上述情况,许多学者尝试结合DL和RL来实现对机器人的抓取控制。
在基于DRL的抓取控制研究中,按状态输入类型主要分为基于图像观测输入和特征量输入。其中,图像观测输入可采用CNN网络对图像进行处理,提取图像目标特征后经过网络函数对特征做非线性拟合输出,将输出值结合RL理论,借助RL中奖励函数引导机器人完成控制目标。特征量输入则采用DNN对特征量做非线性拟合输出,再结合RL理论解决机器人从感知到决策的问题。
在基于图像观测输入的研究中,Kalashnikov D.等[87]将采集的环境状态图像作为状态输入,实现闭环视觉控制,在RL框架下,提出了一种可扩展的自监督学习方法QT-OPT,利用采集到的数据来训练更新Q网络,将最终训练得到的模型用于对未知物体的抓取,其抓取成功率高达96%。Quillen D.等[88]以七自由度机器人为研究对象,以RGB图像作为状态输入,对比基于离线策略(Off-Policy)下的不同深度强化学习算法(PCL、Monte Carlo、DDPG等)在实验中的测试效果,分析不同算法之间的差异性。实验结果表明,在相同的抓取任务下,基于Monte Carlo回报估计和离线策略组合的方法具有较好的实验效果。Clavera I.等[89]提出了一种基于模块化的转移方法,将图像观测输入到机器人动作输出这种“端对端”的控制方式进行分解,将任务中的先验知识作为部分状态量参与学习训练,提高网络收敛速度。另外,针对稠密奖励在训练过程中容易让学习到的策略陷于局部最优解的情况,提出奖励引导方法,并在实验中验证以上方法的有效性。基于QT-OPT的强化学习框架如图1.6所示。
图1.6 基于QT-OPT的强化学习框架
Valarezo Añazco E.等[90]提出一种抓取新框架用于实现对目标物体的抓取和重定位,该框架结合DRL和深度抓取概率网络(DPGN),利用抓取姿势和物体触摸区域的先验知识预测抓取成功概率。与普通的DRL算法相比,其所提框架在抓取苹果、灯泡、杯子等生活用品时,具有更高的成功率。Joshi S.等[91]针对视觉运动反馈的机器人抓取控制问题,在DRL框架下结合双深度Q-Learning理论和Grasp-Q-Network网络来学习抓取概率,建立视觉伺服机制,使用多视图融合方式获取环境信息,调整机器人的伺服电机指令。上述方法相比单视图方式,实验效果得到提升。Zhang H.等[26]提出了一种基于重要性加权自动编码器(IWAE)的高斯参数深度确定性策略梯度算法(Gaussian-DDPG),算法将原始视觉输入的高维信息压缩到隐藏空间,作为状态量的一部分传递给策略网络,实现机器人的自主抓取学习,该算法能够有效解决抓取任务中物体位置发生移动时产生偏差的问题。
基于特征量输入的研究中,Mahmood A.R.等[92]以UR5机器人作为实验对象,以目标点位置坐标信息为状态输入,分别利用TRPO、PPO、DDPG等多种DRL算法实现了机器人从起始点自动移动到目标位置点的功能,并对比了各算法的优缺点。Nair A.等[93]针对DRL中稀疏奖励在探索过程中存在的问题,采用了一种演示方法来解决,并将提出方法应用在DDPG算法中,利用机器人抓取木块任务验证了所提方法具有较好的学习效率。黄叶[94]针对机器人抓取任务,结合RL、控制理论和注意力机制,设计了一种基于PI控制的策略网络。黄叶所提方法先通过目标检测确定物体的位置信息,再将位置信息作为状态输入策略网络,最后输出机器人的执行动作。上述方法利用“分步控制”思想,先确定物体的位置信息,再采用RL理论训练学习。
上述研究中关于状态量输入的类型,需要针对具体任务进行分析,当抓取环境较为简单时,目标位置信息容易获取,采用特征量方式能够减少网络训练时间,提高学习效率;在复杂的非结构环境下,物体位置信息容易受外界因素影响,不能获得精确信息,此时采用图像观测作为状态输入能够保证DRL的稳定性和有效性。但是,将图像作为状态输入相比特征量而言,策略学习的时间将会增加。
随着DRL的发展,研究者们利用DL的表达能力和RL的决策能力使机器人在与环境不断交互的过程中学习抓取经验,从而解决机器人的抓取控制问题。目前,机器人在学习抓取控制过程中,存在训练次数较多、学习率较低、环境特征获取优势不明显、抓取成功率有待提高等问题,如何解决上述问题成为目前研究的一大热点。考虑学习缓慢和效率较低等问题,本书在第3章中以基于Actor-Critic算法框架的深度强化学习算法为载体,提出了一种对算法中网络预训练的方法,网络预训练能够保证正式训练时参数具有较好的适应性,在一定程度上减少网络训练时间,提高学习效率。本书将在第6章设计机器人抓取实验来验证网络预训练方法的有效性。