[发明专利]基于单链序贯回溯Q学习的移动机器人路径规划算法有效
申请号: | 201210234510.6 | 申请日: | 2012-07-06 |
公开(公告)号: | CN102799179A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 马昕;孙国强;许亚;宋锐;荣学文;李贻斌 | 申请(专利权)人: | 山东大学 |
主分类号: | G05D1/02 | 分类号: | G05D1/02 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 宁钦亮 |
地址: | 250100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于单链序贯回溯Q学习的移动机器人路径规划算法,是使用栅格法表示二维环境,每块环境区域都对应一个离散的位置表示,移动机器人在某一时刻的状态就表示为机器人所在环境位置,移动机器人的每一步搜索,都以非确定性马尔科夫决策过程的Q-学习迭代公式为基础,从单链的末端即当前状态的Q值开始逐步序贯回溯到单链的首端的Q值,直到到达目标状态,移动机器人循环往复地从初始状态开始寻找到达目标状态的路径,在搜索的每一步按照上述步骤,不断迭代和优化状态的Q值,直到收敛为止。本发明搜索最优路径需要的步数远少于经典Q-学习算法和Q(λ)算法,学习时间较短,学习效率较高,特别是对于大环境,优势更加明显。 | ||
搜索关键词: | 基于 单链序贯 回溯 学习 移动 机器人 路径 规划 算法 | ||
【主权项】:
1.一种基于单链序贯回溯Q学习的移动机器人路径规划算法,其特征是:使用栅格法表示二维环境,每块环境区域都对应一个离散的位置表示,移动机器人在某一时刻的状态就表示为机器人所在环境位置,按照移动机器人顺序通过的环境位置依次排列,形成移动机器人的状态单链,移动机器人的每一步搜索,都以非确定性马尔科夫决策过程的Q-学习迭代公式为基础,从单链的末端即当前状态的Q值开始逐步序贯回溯到单链的首端即初始位置的Q值,直到到达目标位置,移动机器人循环往复地从初始位置开始寻找到达目标位置的路径,在搜索的每一步按照上述步骤,不断迭代和优化状态的Q值,直到收敛为止;具体步骤如下:(1)建立状态单链:在每一t时刻,为移动机器人记忆矩阵M(t)增加一行M(t)←[st,at,rt,λt],其中st表示机器人的当前状态,当前状态就是机器人所在位置的坐标,st=[xt,yt]),at表示在当前状态下执行的动作,包括向上、向下、向左、向右、静止五个动作,分别表示为[0,1],[0,-1],[-1,0],[1,0],[0,0],动作集合表示为A,当前状态st与五个动作构成五个状态-动作对,每一个状态-动作对对应一个Q值Q(s,a),所有的Q(s,a)初始化为零,并根据步骤(2)中的迭代更新公式进行更新,根据贪婪策略选择动作at,即选择满足
也就是选择与当前状态st构成的五个状态-动作对的Q值最大的动作作为at,st+1表示执行动作at后下一时刻状态值,rt表示对动作at奖励值,如果执行at后的下一个坐标上有障碍物,则机器人下一时刻状态st+1仍为st的坐标值,奖励值rt=-0.2;如果执行at后的下一个坐标上没有障碍物,则st+1为该坐标,奖励值rt=-0.1;如果执行at后的下一个坐标是目标位置即终点,则奖励值rt=1;λt∈(0,1)表示学习率,只要λt∈(0,1),经过有限次迭代,Q-学习算法一定能够收敛于最优解,这里取λt=0.3;从初始时刻t=0到当前时刻t=n,所有的状态依序构成一个状态单链;(2)序贯回溯迭代:在t+1时刻,记忆矩阵M(t)增加一行新内容[st+1,at+1,rt+1,λt+1],并根据记忆矩阵中存储的状态链,用Q-学习迭代公式进行序贯回溯迭代更新:对于k=t,t-1,t-2,…,1,0,执行:Q t + 1 ( s k , a k ) ← ( 1 - λ k ) Q t ( s k , a k ) + λ k [ r k + γ max a k + 1 ∈ A Q t + 1 ( s k + 1 , a k + 1 ) ] , ]]> 其中,γ是折扣因子,反映了后续状态-动作对对应的Q值对状态单链中前面状态动作对Q-值的影响,使得某一状态的动作决策能够直接受到其后续状态的影响,γ∈(0,1),值越大,后续状态对状态单链中前面的状态动作选择影响越大,在移动机器人路径规划问题中,为了使状态单链中前面的动作选择对后续状态的Q值影响及时反馈回来,取γ=0.95;通过序贯回溯迭代,在t+1时刻不仅更新了状态st的Q值,也顺序地更新了状态单链中st前面的状态st-1,st-2,……,s2,s1,s0的Q值,迭代过程如下:
其中s0表示机器人的初始状态,s1表示t=1时机器人状态,……,sn表示t=n时机器人状态,箭头表示数据传递方向,所传递的数据包括奖励值rk和状态-动作对的Q值;这样,t+n时刻的状态-动作对(st+n,at+n)的Q值通过单链序贯回溯迭代更新t时刻机器人状态-动作对的Q值,Q t + n ( s t + n - 1 , a t + n - 1 ) ← ( 1 - λ t + n - 1 ) Q t + n - 1 ( s t + n - 1 , a t + n - 1 ) + λ t + n - 1 { r t + n - 1 + γ max a t + n ∈ A Q t + n ( s t + n , a t + n ) } , ]]>Q t + n ( s t + n - 2 , a t + n - 2 ) ← ( 1 - λ t + n - 2 ) Q t + n - 1 ( s t + n - 2 , a t + n - 2 ) + λ t + n - 2 { r t + n - 2 + γ max a t + n - 1 ∈ A Q t + n ( s t + n - 1 , a t + n - 1 ) } · · · ]]>· · · , Q t + n ( s t + 1 , a t + 1 ) ← ( 1 - λ t + 1 ) Q t + n - 1 ( s t + 1 , a t + 1 ) + λ t + 1 { r t + 1 + γ max a t + 2 ∈ A Q t + n ( s t + 2 , a t + 2 ) } , ]]>Q t + n ( s t , a t ) ← ( 1 - λ t ) Q t + n - 1 ( s t , a t ) + λ t { r t + γ max a t + 1 ∈ A Q t + n ( s t + 1 , a t + 1 ) } ; ]]> (3)寻找目标点:移动机器人在环境中每走一步,就会在记忆矩阵M(t)增加一行,并按照记忆矩阵,依次序贯迭代修正单链中前面所有状态-动作对所对应的Q值,直到到达目标位置,并更新完单链中所有状态-动作对对应的Q值,才会停止本次路径搜索;(4)机器人回到初始状态,在先前建立的Q值表基础上继续搜索,直到收敛,找到最优路径。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210234510.6/,转载请声明来源钻瓜专利网。