一种基于多粒度强化学习的六足机器人导航方法与流程

文档序号:16397819发布日期:2018-12-25 19:57阅读:441来源:国知局
一种基于多粒度强化学习的六足机器人导航方法与流程

本发明涉及一种六足机器人导航方法,尤其是一种基于多粒度强化学习的六足机器人导航方法。

背景技术

多足机器人其腿部具有多个自由度使运动的灵活性大大增强,因此具有更强的地形适应能力。与轮式、履带式移动机器人相比,多足机器人在地形不规则和崎岖不平等非结构性环境下的运输任务执行,跨越障碍有着明显的优势,在军事侦察、矿山开采、核能工业、星球探测、消防及营救、建筑业等领域有着广阔的应用前景。因此可以将多足机器人应用到写字楼配送中,但是写字楼地形环境由于人为因素存在可变性,因此有必要设计出一种基于多粒度强化学习的六足机器人导航方法,能够在环境变化的情况下依然能够进行实时环境导航。



技术实现要素:

本发明的目的在于:提供一种基于多粒度强化学习的六足机器人导航方法,能够在环境变化的情况下依然能够进行实时环境导航。

为了实现上述发明目的,本发明提供了一种基于多粒度强化学习的六足机器人导航方法,包括如下步骤:

步骤1,由机器人对环境进行初次学习,得到详细的细粒度条件的环境信息,再结合q学习算法得到状态动作表;

步骤2,当所处环境存在变化时,使用多粒度强化学习算法对所处新环境进行粗化,在粗化环境下,将原来的细粒度的状态动作表转化为粗粒度的状态动作表;

步骤3,使用多粒度迁移学习算法以及粗化后的状态动作表,对细粒度下的新环境进行重新学习和建图,将转化得到的粗粒度的状态动作表迁移到无损失的细粒度新环境下,作为细粒度强化的初始条件,再进行q学习获得新环境下的状态动作集合;

步骤4,利用新环境下的状态动作集合对六足机器人进行实时导航控制。

进一步地,步骤1中,得到状态动作表的具体步骤为:

步骤1.1,在matlab中建立六足机器人导航模型和所处环境模型;

步骤1.2,利用策略值函数来描述导航过程的预期收益为:

qπ(st,at)=e[rt|st,at](1)

式(1)中,rt为时刻t获得的折扣后的未来收益总和,π为避障的目标策略,由于避障的目标策略π是预设确定的,记为函数μ:s←a,s为状态空间,a为动作空间,st为状态空间s中的参数,at为动作空间a中的参数,再利用贝尔曼方程对式(1)进行处理得到:

q*(st,at)=e[r(st,at)+γmaxq*(st+1,a't+1)](2)

式(2)中,γ∈[0,1]为折扣因子,r(st,at)表示t时刻从环境获得的回报值,maxq*(st+1,a't+1)表示机器人下一个状态采取某个动作的最大回报值;

步骤1.3,建立贝尔曼方程逼近的q学习单步算法为:

式(3)中,rt+1是机器人在状态st+1采取动作at+1的最大回报值,γ为折扣因子,为学习率;

步骤1.4,根据构建的六足机器人导航模型以及所处环境模型,并利用建立的q学习单步算法获得学习好的状态动作值函数,再由状态动作值函数获得状态集合以及下一步所要采取的动作,从而由状态集合以及状态集合中各个状态下所对应的下一步所要采取的动作构成状态动作表。

进一步地,步骤2中,将原来的细粒度的状态动作表转化为粗粒度的状态动作表的具体算法为:

式(4)中,m为细粒度环境下的精度,n为粗粒度环境下的精度,此处精度的定义为像素的开平方,(i,j)为每个状态点的坐标,a为所允许采取的动作,qsa为细粒度下的q值,q(i,j,a)为粗粒度下的q值。

进一步地,步骤3中,多粒度迁移学习算法为:

式(5)中,m为细粒度环境下的精度,n为粗粒度环境下的精度,此处精度的定义为像素的开平方,(i,j)为每个状态点的坐标,a为所允许采取的动作,qsa为细粒度下的q值,q(i,j,a)为粗粒度下的q值。

本发明的有益效果在于:通过强化学习算法学习出变化环境中六足机器人在相应状态的最佳动作,并以此为基础,提高对变化环境的适应性;利用多粒度迁移学习机制,提高在环境变化的情况下的导航效率。

附图说明

图1为本发明的方法流程图。

具体实施方式

如图1所示,本发明公开的基于多粒度强化学习的六足机器人导航方法,包括如下步骤:

步骤1,由机器人对环境进行初次学习,得到详细的细粒度条件的环境信息,再结合q学习算法得到状态动作表;

步骤2,当所处环境存在变化时,使用多粒度强化学习算法对所处新环境进行粗化,在粗化环境下,将原来的细粒度的状态动作表转化为粗粒度的状态动作表;

步骤3,使用多粒度迁移学习算法以及粗化后的状态动作表,对细粒度下的新环境进行重新学习和建图,将转化得到的粗粒度的状态动作表迁移到无损失的细粒度新环境下,作为细粒度强化的初始条件,再进行q学习获得新环境下的状态动作集合;

步骤4,利用新环境下的状态动作集合对六足机器人进行实时导航控制。

在q学习过程中,先利用q学习学习出最优策略,在matlab中进行仿真时,为了保证q学习算法收敛,采用ε-greedy策略作为动作选择策略,在继承已学知识的基础上,还具有一定的探索能力。

其中,步骤1中,得到状态动作表的具体步骤为:

步骤1.1,在matlab中建立六足机器人导航模型和所处环境模型;

步骤1.2,利用策略值函数来描述导航过程的预期收益为:

qπ(st,at)=e[rt|st,at](1)

式(1)中,rt为时刻t获得的折扣后的未来收益总和,π为避障的目标策略,由于避障的目标策略π是预设确定的,记为函数μ:s←a,s为状态空间,a为动作空间,st为状态空间s中的参数,at为动作空间a中的参数,再利用贝尔曼方程对式(1)进行处理得到:

q*(st,at)=e[r(st,at)+γmaxq*(st+1,a't+1)](2)

式(2)中,γ∈[0,1]为折扣因子,r(st,at)表示t时刻从环境获得的回报值,maxq*(st+1,a't+1)表示机器人下一个状态采取某个动作的最大回报值;

步骤1.3,建立贝尔曼方程逼近的q学习单步算法为:

式(3)中,rt+1是机器人在状态st+1采取动作at+1的最大回报值,γ为折扣因子,为学习率;

步骤1.4,根据构建的六足机器人导航模型以及所处环境模型,并利用建立的q学习单步算法获得学习好的状态动作值函数,再由状态动作值函数获得状态集合以及下一步所要采取的动作,从而由状态集合以及状态集合中各个状态下所对应的下一步所要采取的动作构成状态动作表。

步骤2中,将原来的细粒度的状态动作表转化为粗粒度的状态动作表的具体算法为:

式(4)中,m为细粒度环境下的精度,n为粗粒度环境下的精度,此处精度的定义为像素的开平方,(i,j)为每个状态点的坐标,a为所允许采取的动作,qsa为细粒度下的q值,q(i,j,a)为粗粒度下的q值。

步骤3中,多粒度迁移学习算法为:

式(5)中,m为细粒度环境下的精度,n为粗粒度环境下的精度,此处精度的定义为像素的开平方,(i,j)为每个状态点的坐标,a为所允许采取的动作,qsa为细粒度下的q值,q(i,j,a)为粗粒度下的q值。多粒度迁移学习的制定,是为了提高环境细微变化情况下的迁移效果,尤其是在关键点发生变化的情况下。

强化学习控制中的迁移机制是通过多粒度迁移的方法学习出来的,而并非依赖于专家经验或者大量传统强化学习的实验结果;六足机器人避障过程被分解为确定当前状态和采取相应的最优动作这两个步骤;通过六足机器人视觉对环境信息进行采集,六足机器人在一个时间点可能会处于多个不同的状态,将所有状态的最优动作进行融合就可以得出六足机器人避障所需采取的动作。

本发明采用强化学习控制和多粒度迁移学习相结合的方法,可以有效的解决强化学习控制中计算量巨大这一问题。把六足机器人的导航信息转化为一个有限的状态集合,继而把六足机器人的导航过程看成一个马尔科夫决策过程,然后通过强化学习的方法,学习出六足机器人在相应状态所要采取的最优动作,并且在环境发生变化的情况下具有高效的路径选择策略。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1