基于Q学习算法的移动机器人避障控制策略

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Q学习算法的移动机器人避障控制策略

【摘要】提出基于Q学习算法的移动机器人避障控制策略,能使移动机器人在不确定环境中顺利躲避障碍物,以最佳路径到达最终目标。将BP神经网络结合到Q学习算法中,采用人工势场法来确定强化函数值,并利用Boltzmann 分布方法实现随机动作选取。仿真试验结果证明了此种控制策略具有良好的可行性。

【关键词】移动机器人;强化学习;Q学习算法;避障

1.引言

在实际的环境中,机器人的无碰撞路径规划是智能机器人研究的重要课题之一。Elisha Sacks详细地介绍了路径规划的前期研究工作[1]。在障碍空间中,机器人运动规划的高度复杂性使得这一问题至今未能很好的解决。特别对于不确定的动态环境下避障轨迹的生成是较为困难的。

本研究应用强化学习算法来实现移动机器人的路径规划。强化学习是机器人通过学习来完成任务,它是将动态规划和监督学习结合起来的一种新的学习方法,通过机器人与环境的试错交互,借助于来自成功和失败经验的奖励和惩罚信号不断改进机器人的自治能力,从而到达最终目标,并容许后评价。在强化学习中,Q学习算法是从有延迟的回报中获取最优控制策略的方法[2]。自从Watkins 提出Q学习算法并证明其收敛性后[3],该算法在强化学习研究领域中受到了人们的普遍关注。Wiliam 利用HEDGER算法实现了Q函数值的更新,并把此算法成功地应用在移动机器人上,从而实现了Q学习算法在连续状态和空间的求解问题[4]。Takahashi提出了连续值的Q学习方法,可以用来估计连续的动作值,但此方法只能实现简单的动作,有待于进一步的研究。我们将BP人工神经网络与Q学习算法相结合,采用人工势场法确定强化函数值和Boltzmann分布方法选取动作。利用这种控制策略得到的仿真结果证明,移动机器人能够在不确定环境下,有效地躲避障碍物,沿着最佳路径到达目标。

2.强化学习

强化学习是一种重要的机器学习方法,同时也是连接主义学习的一种。在与复杂不确定环境交互作用时,它是决策者寻找最小耗费费用的方法。RL起源于人工智能领域的试凑学习。强化学习不同于监督学习,在监督学习中,对每次输入而言,相应的期望输出是已知的,即学习系统知道它的实际输出与期望输出的差值。然后通过真实输出和参考输出的差值来修改参数。在强化学习中,接收的信号是对一个行为的评价,这个评价可能是正、负或者零。这个信号表示不用告诉系统怎么做,而是系统自己决定做什么。机器人用这个信号决定到达目标的策略。强化学习算法如下所述:

1)在每个离散时间步t,机器人感知到当前状态x(t),

2)在这个状态选择可能活动中的一个动作a(t),

3)给出一个强化信号,并产生一个新的后继状态x(t+1),

4)t<—t+1,

5)如果信号的状态是最终的状态,那么停止运动,如果不是则返回2)步。

若X是机器人可感知到其环境的不同状态的集合,A是一个可执行动作的集合。强化信号r(t)是在状态x(t)选择动作a(t)的结果。

强化学习的目标函数是最优控制策略π:X→A,它在给定当前状态X集合中的x时,从集合A中输出一个合适的动作a。

通常,最优控制策略采用两种方法计算:第一种是策略重复,直接对策略进行操作;第二种是值重复,寻找最优值函数。这两个方法分别给出了专门的强化学习算法。

3. BP神经网络与Q学习算法结合

3.1 Q学习算法

Q学习算法是求解信息不完全马尔可夫决策过程的一种有效的强化学习方法,也可以将其视为一种异步动态规划方法。Q学习算法用Q (x,a)函数来表达在每个状态之下的每种动作的效果。有限马尔可夫决策问题的模型如下:在每个离散时间步k=1,2,…,控制器观察马氏过程的状态为xk,选择决策ak,收到即时回报rk,并使系统转移到下一个后继状态yk,转移概率为Pxy(a),则控制的目的是寻求极大化回报期望值的最优控制策略,0≤γ<1为折扣因子。给定一个策略π,定义Q值为:

(1)

其中:

(2)

定义,其中π*表示最优策略,b为在状态y下所对应的动作。Q学习的目的就是在转移概率和所获回报函数未知的情况下来估计最优策略的Q值。

在初始阶段学习中,Q可能是不准确地反映了它们所定义的策略,初始值Q (x,a)对所有的状态和动作假定是给出的。Q学习系统结构不同于AHC (Adaptive Heuristic critic)算法的结构,采用Q学习的智能系统只有一个决策单元,同时起到动作的评价及选择作用,这样有利于移动机器人根据外界环境实时

选择相应的动作。

3.2 Q学习算法的实现

Q函数的实现方法主要有两种方式:一种是采用神经网络方法;另一种是采用lookup表格方法。采用lookup表格方法,就是利用表格来表示Q函数,当在环境状态集合下,智能系统可能的动作集合A较大时,Q (x,a)需要占用大量的内存空间,而且也不具有泛化能力。那么,在一个合理的时间里,访问所有的状态和检测到所有的动作,将变得十分困难。因此,在一个连续的状态空间和一个离散的动作空间的情况下,用BP人工神经网络来实现Q学习算法。

应用神经网络实现Q学习的关键是学习算法的确定。根据Q函数的定义可以简化为:

(3)

只有在得到最优策略的前提下上式才成立。在学习阶段,误差信号为:

(4)

其中,Q(xt+1,at)表示下一状态所对应的Q值,其中ΔQ通过调整网络的权值使误差尽可能小一些。

4.强化函数和动作选取

4.1强化函数

移动机器人总共配置3个超声波传感器,采用人工势场法来确定强化函数值。其基本思想是将机器人在环境中的运动视为一种虚拟的人工受力场中的运动。障碍物对机器人产生斥力,而目标点对机器人产生引力,引力和斥力的合力作为机器人的加速力来控制机器人的运动方向和计算机器人的位置。该法结构简单,便于低层的实时控制,在实时避障和平滑轨迹控制方面,得到了广泛应用。F(t)为机器人所受的斥力的合力,相邻时刻受力之差为

(5)

故奖励函数r(t)可表示为:

(6)

r(t)=-1表明移动机器人离障碍物较近,应该得到惩罚;r(t)=1表明移动机器人离障碍物较远,应该得到奖励;r(t)=0表明移动机器人距离障碍物的相对位置没变化,即不得到奖励,也不得到惩罚。

相关文档
最新文档