一种面向动态环境的机器人寻径在线控制方法

文档序号:10511441阅读:362来源:国知局
一种面向动态环境的机器人寻径在线控制方法
【专利摘要】本发明公开了一种面向动态环境的机器人寻径在线控制方法,包括:1)环境和参数初始化;2)由机器人的基本动作集合和抽象动作集合构成机器人的可选动作,初始化所有的状态?动作的评估值;所述抽象动作集合中的每个抽象动作为可中断的抽象动作;3)生成随机障碍物;4)通过动作选择模块及更新模块选择动作并对状态?动作的评估值更新;5)若到达终点状态,转向步骤6),否则进行步骤4);6)满足条件时结束本次任务,否则转向步骤3)。本发明通过引入中断机制,能够在线控制机器人使其能够将抽象动作应用到动态不确定的环境中,灵活应对动态环境,从而使得机器人能够解决复杂、动态环境下的任务,在提高效率的同时拓展应用环境。
【专利说明】
一种面向动态环境的机器人寻径在线控制方法
技术领域
[0001] 本发明涉及一种机器人寻径在线控制方法,属于机器学习领域,具体涉及一种面 向动态环境的可中断抽象动作的机器人寻径在线控制方法。
【背景技术】
[0002] 随着机器人应用领域的不断拓展,机器人所面临的任务越来越复杂。尽管很多算 法能够对机器人可能执行的行为进行预先设计和编程,但是当面临复杂的任务,以及机器 人所要面对的环境无法完全探测并且会动态发生变化时,存在各种不确定性。设计人员往 往不能事先对动态变化的环境做出有效预测,从而无法根据环境的实际情况合理地控制机 器人的动作和行为。因此,设计一种能够根据环境的动态变化而调整机器人控制,继而完成 复杂的任务的方法及装置显得尤为重要。
[0003] 以路径规划和学习为代表的强化学习 (Reinforcement Learning)采用不断试错 式的学习方式以获取最优的行为策略,目前已经产生的众多强化学习方法在机器人行为学 习方面表现出了良好的学习性能。然而,在解决大数据大规模问题时,传统的强化学习方法 性能会急剧下降,因为强化学习是通过机器人不断地与环境交互来进行学习,所以当问题 规模扩大时,算法的复杂度会急剧上升,机器人就需要大量的时间和经验来与环境进行交 互以获得好的策略。
[0004] 包括分层强化学习、核方法和函数近似等方法在内的很多方法可以用来解决数据 规模大这一难题。在其中,分层强化学习的方法是一种重要的常用方法。不同于核方法和函 数逼近器,分层强化学习能将充分利用机器人之前学习到的经验,用来解决某一个问题域 中的所有或部分任务集合。对这些经验以时间抽象是分层强化学习中的一类重要的方法, 利用时间抽象,机器人可以关注更高层策略的选择,从而减少选择行为所需的时间。
[0005] 基于时间抽象的分层强化学习近些年也产生了很多高性能的算法,经典的学习算 法如Macro-QJacro-Q算法能够让机器人利用给定的抽象动作来进行高效的学习,从本质 上改善了传统Q学习的性能。
[0006] 时间抽象是指将若干个动作封闭在一起,视为单个抽象动作。一个抽象动作通常 需要几个时间步来完成。由于时间抽象的定义限制,使得抽象动作在被机器人采用时,不能 够在执行抽象动作的中途再执行其他动作,这个定义大大的局限了抽象动作的应用环境, 尤其是机器人执行任务的环境为一个动态变化的环境时,Macro-Q学习将变得效率低下。

【发明内容】

[0007] 本发明的发明目的是提供一种面向动态环境的机器人寻径在线控制方法,能够在 线地控制机器人使其能够将抽象动作应用到动态不确定的环境中,灵活应对动态环境,从 而使得机器人能够解决复杂、动态环境下的任务,在提高效率的同时拓展应用环境。
[0008] 为达到上述发明目的,本发明采用的技术方案是:一种面向动态环境的机器人寻 径在线控制方法,包括以下步骤: 1) 环境和参数初始化:设定机器人的运行环境、机器人到达目标的奖赏值以及用于更 新值的步长参数、折扣因子参数; 2) 设计预先给定的抽象动作集合,由机器人的基本动作集合和所述抽象动作集合构成 机器人的可选动作,同时初始化所有的状态-动作的评估值; 3) 生成随机障碍物; 4) 通过动作选择模块及更新模块指导机器人选择动作并对状态-动作的评估值更新; 当动作选择模块处理的动作为抽象动作时,引入中断机制,通过对完成抽象动作和中断抽 象动作选择新的动作这两种方法的结果进行比较,确定是否执行中断; 5) 若本次动作到达终点状态,转向步骤6),否则继续进行步骤4); 6) 若满足任务结束条件,结束本次任务,否则转向步骤3)。
[0009] 上述技术方案中,步骤1)中所述运行环境包括环境的边界、任务的起点位置、终点 位置、环境中固定的障碍物的位置,并将每一个位置看作一个状态。
[0010] 步骤2)所述抽象动作集合中的每个抽象动作由以下三部分组成:初始状态集、内 部策略和终止条件。
[0011] 步骤3)中,通过随机生成障碍物模拟现实动态环境。
[0012] 步骤4)中所述动作选择模块中,具体处理方法包括以下步骤: ① 根据状态-动作的评估值,采用ε -greedy动作选择方法得到动作; ② 如果得到的动作是抽象动作,则转向步骤③,否则转向步骤④; ③ 比较按照抽象动作执行得到的状态-动作的评估值和中断抽象动作选择新的动作得 到的状态值函数,若后者结果更优,则进入步骤⑤,否则执行步骤⑥; ④ 直接采取动作,并进入步骤⑤; ⑤ 记录得到的奖赏以及下一个状态-动作的评估值,采用更新模块更新评估值; ⑥ 若满足抽象动作的结束条件,转向步骤⑤,若不满足抽象动作的结束条件,则继续执 行该抽象动作,转向步骤③。
[0013] 所述更新模块的具体处理方法包括以下步骤: (1) 根据动作选择模块,获得机器人在状态St处执行了动作〇得到的奖赏值贫,以及下 一个状态-动作的评估值; (2) 更新上一个状态-动作的评估值,其更新公式为式(1)和(2); δ = ·γ4 -f s"}-$f5£,〇): ( 1 ) 式中,y为折扣因子,k表示动作o执行完毕所需要的时间,mas。. 表示在状态 处所有的状态-动作值中取最大的值,S表示机器人采取了动作〇之后计算得到 的评估值增量; Q<5-r.〇} Q<5-r.〇} -i- (2) 式中,α表示步长参数,表示在状态St处采取动作〇得到的评估值。
[0014] 优选的技术方案,步骤③中,按照抽象动作执行得到的状态-动作的评估值为 中断抽象动作选择新的动作得到的状态值函数为: Mi (3) 其中Ιφ?.表示机器人在状态S处选择抽象动作〇'的概率,獄表示在状态S处选择 抽象动作〇'后得到的评估值; 如果VM? 妁,则中断抽象动作选择新的动作结果更优。
[0015] 由于上述技术方案运用,本发明与现有技术相比具有下列优点: 本发明突破了传统概念中时间抽象将若干个动作封闭在一起,视为单个抽象动作的概 念限制,创造性地在抽象动作中引入了中断机制,克服了现有技术的偏见,具备创造性。
[0016] 本发明基于动态环境下机器人寻径在线控制方法,通过引入中断机制,能够在线 控制机器人,使其能够将抽象动作应用到动态不确定的环境中,灵活应对动态环境,从而使 得机器人能够解决复杂、动态环境下的任务,在提高效率的同时拓展应用环境。
【附图说明】
[0017] 图1为本发明实施例中基于动态环境下机器人寻径在线控制方法的总流程图; 图2为实施例中动作选择模块的流程图; 图3为实施例中更新模块的流程图; 图4为基于动态环境下机器人寻径在线控制装置的示意图。
【具体实施方式】
[0018] 下面结合附图及实施例对本发明作进一步描述: 实施例:参照图1所示,一种面向动态环境的可中断抽象动作的机器人寻径在线控制方 法,具体包括以下步骤: 1) 环境和参数初始化:设定机器人的运行环境、机器人到达目标的奖赏值以及用于更 新值的步长参数、折扣因子参数,其中运行环境包括环境的边界、任务的起点位置、终点位 置、环境中固定的障碍物的位置,并将每一个位置看作一个状态; 2) 设计预先给定的抽象动作集合,将该抽象动作集合加入到机器人的可选动作中,同 时初始化所有的状态-动作的评估值〇〗,其中抽象动作集合中的每个抽象动作由以下三 部分组成:初始状态集,内部策略和终止条件; 3 )随机生成一定数量的障碍物用来模拟动态环境,障碍物的总数量 __〖?轉扣_辨__,其中表示固定障碍物的数量,|_丨|_^ 表示随机生成的障碍物的数量; 4) 通过动作选择模块及更新模块指导机器人选择动作并对状态-动作的评估值 更新; 5) 若本次动作到达终点状态,转向步骤6),否则继续转向步骤4); 6) 若满足任务结束条件,结束本次任务,否则转向步骤3)。
[0019] 本发明中的动作与传统的动作不一样的是,除了抽象动作,还有基本动作,当机器 人选择到的动作是基本动作时,便会按照选择的动作去执行;当机器人选择到的动作是抽 象动作时,便会按照选择到的抽象动作去执行,抽象动作是基本动作按照一定顺序组成的 序列,一般来说,抽象动作都不能在一个时间步(time step)内完成(time step是机器人采 取一个基本动作所花费的时间),而基本动作一般都可以在一个time step内完成;参照图2 所示,步骤4)中动作选择模块的具体处理方法包括以下步骤: 1) 根据状态-动作的评估值j,采用ε - grssd.y动作选择方法得到动作; 2) 如果得到的动作是抽象动作,则转向步骤3),否则转向步骤4); 3) 比较按照抽象动作执行得到的状态-动作的评估值Q!Xe)和中断抽象动作选择新的 抽象动作得到的状态值函数V(sD,若满足fC#,___,进入步骤5),否则执行步骤6),其中 状态值函数戰辑如下所示: _祿.:=?擔⑶ 其中樣表示机器人在状态S选择抽象动作故的概率,?表示在状态S处选择动 作故后得到的评估值; 4) 直接采取动作,并进入步骤5); 5) 记录得到的奖赏以及下一个状态-动作的评估值,进入评估值更新模块; 6) 若满足抽象动作的结束条件,转向步骤5),若不满足抽象动作的结束条件,则继续执 行该抽象动作,转向步骤3)。
[0020] 参照图3所示,本发明步骤4)中更新模块的具体处理方法包括以下步骤: 1) 由动作选择模块得到奖赏值以及下一个状态-动作的评估值; 2) 根据数据按照公式1和公式2来更新上一个状态-动作的评估值Q(s.e),其更新公式 如下;
其中植表示机器人在状态爲处执行了动作?得到的奖赏,?表示折扣因子,k表示动作〇 执行完毕所需要的时间,表示在状态%*处所有的状态-动作值靡的中取 最大的值,S表示机器人采取了动作孩之后计算得到的评估值增量; Ο/?μ、)-_μ、) +涵⑵ 其中§表示步长参数,:鱗式:.樣表示在状态~处采取动作0得到的评估值。
[0021] 按照本发明方法来进行状态-动作的评估值的初始化,参数的设定,评估值的更新 以及动作选择,机器人便可高效的利用抽象动作来寻径,通过比较评估值灵活的改变抽象 动作的执行,能够有效的解决抽象动作在动态环境下容易被阻塞而导致整个学习过程停滞 的后果,同时还能充分利用到使用抽象动作带来的好处,加快机器人的学习效率。
【主权项】
1. 一种面向动态环境的机器人寻径在线控制方法,其特征在于,包括以下步骤: 1) 环境和参数初始化:设定机器人的运行环境、机器人到达目标的奖赏值以及用于更 新值的步长参数、折扣因子参数; 2) 设计预先给定的抽象动作集合,由机器人的基本动作集合和所述抽象动作集合构成 机器人的可选动作,同时初始化所有的状态-动作的评估值; 3) 生成随机障碍物; 4) 通过动作选择模块及更新模块指导机器人选择动作并对状态-动作的评估值更新; 当动作选择模块处理的动作为抽象动作时,引入中断机制,通过对完成抽象动作和中断抽 象动作选择新的动作这两种方法的结果进行比较,确定是否执行中断; 5) 若本次动作到达终点状态,转向步骤6),否则继续进行步骤4); 6 )若满足任务结束条件,结束本次任务,否则转向步骤3 )。2. 根据权利要求1所述的面向动态环境的机器人寻径在线控制方法,其特征在于:步骤 1) 中所述运行环境包括环境的边界、任务的起点位置、终点位置、环境中固定的障碍物的位 置,并将每一个位置看作一个状态。3. 根据权利要求1所述的面向动态环境的机器人寻径在线控制方法,其特征在于:步骤 2) 所述抽象动作集合中的每个抽象动作由以下三部分组成:初始状态集、内部策略和终止 条件。4. 根据权利要求1所述的面向动态环境的机器人寻径在线控制方法,其特征在于:步骤 4)中所述动作选择模块中,具体处理方法包括以下步骤: ① 根据状态-动作的评估值,采用ε-greedy动作选择方法得到动作; ② 如果得到的动作是抽象动作,则转向步骤③,否则转向步骤④; ③ 比较按照抽象动作执行得到的状态-动作的评估值和中断抽象动作选择新的动作得 到的状态值函数,若后者结果更优,则进入步骤⑤,否则执行步骤⑥; ④ 直接采取动作,并进入步骤⑤; ⑤ 记录得到的奖赏以及下一个状态-动作的评估值,采用更新模块更新评估值; ⑥ 若满足抽象动作的结束条件,转向步骤⑤,若不满足抽象动作的结束条件,则继续执 行该抽象动作,转向步骤③。5. 根据权利要求1或4所述的面向动态环境的机器人寻径在线控制方法,其特征在于: 所述更新模块的具体处理方法包括以下步骤: (1) 根据动作选择模块,获得机器人在状态st处执行了动作〇得到的奖赏值_,以及下一 个状态-动作的评估值; (2) 更新上一个状态-动作的评估值,其更新公式为式(1)和(2); ::在奸禮..一 幾(1) 式中J为折扣因子,k表示动作〇执行完毕所需要的时间,辑?表示在状态― 处所有的状态-动作值中取最大的值,δ表示机器人采取了动作〇之后计算得到的 评估值增量; :?? :?? + :0: (2 ) 式中,α表示步长参数,0(^4表示在状态St处采取动作〇得到的评估值。6.根据权利要求4所述的面向动态环境的机器人寻径在线控制方法,其特征在于:步骤 ③中,按照抽象动作执行得到的状态-动作的评估值为QG 中断抽象动作选择新的动作得到的状态值函数为: Η 參¥ Φ 鴻獅(3) 其中_5;4^表示机器人在状态S处选择抽象动作〇'的概率,的表示在状态S处选择 抽象动作〇'后得到的评估值; 如果¥4) >讲?),则中断抽象动作选择新的动作结果更优。
【文档编号】G05D1/12GK105867427SQ201610238109
【公开日】2016年8月17日
【申请日】2016年4月18日
【发明人】朱斐, 伏玉琛, 刘全, 陈冬火, 黃蔚
【申请人】苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1