一种面向环境变化的移动机器人导航避障策略迁移方法及电子设备
- 国知局
- 2024-07-31 23:45:34
本发明涉及迁移强化学习下的域适应领域,特别是一种移动机器人完成导航避障任务过程中,面向环境变化的基于强化学习的多源策略迁移方法和电子设备。
背景技术:
1、移动机器人在现代社会中的工业、农业等众多领域都发挥着重要作用,导航避障技术是移动机器人研究的关键问题。通常面对移动机器人的导航方法需要通过对地图进行先验建模,再进行路径规划生成机器人的行为策略,而当环境发生变化时,原本训练得到的策略往往会在目标环境中失败,造成不良后果。基于强化学习的导航技术不需要依赖对地图的全局了解,但其作为一种试错学习,往往需要与环境大量的交互来获得复杂的行为策略,很难应用到错误代价高昂的领域,因此近年来涌现了很多使用迁移技术来减少训练成本,知识的迁移往往能够帮助机器学习模型更快地适应新场景。本发明关注迁移强化学习下的域适应问题,其定义为利用源环境中的交互和目标环境中的少量交互来获得在目标环境中收到高回报策略的问题,其中源环境通常是探索成本很低的电子模拟器,目标环境是探索成本高昂的现实应用场景。
2、目标环境由于各种不可预知的情况导致的环境变化,使得在源环境上训练出的策略很有可能在迁移后失败。目前一部分工作意在源环境训练出多条高质量且多样的策略,以便泛化到变化的目标环境当中。无监督策略学习算法diayn(diversity is all youneed)以无监督的方式生成一组策略,鼓励策略之间具备相互区别的状态;结构化最大熵强化学习smerl(structured maximum entropy reinforcement learning)则将diayn提出的奖励作为多样性辅助项,在策略满足近优条件时才优化策略之间的多样性;基于聚类选择的进化多样性优化算法edo-cs(evolutionary diversity optimization algorithm withclustering based selection)基于聚类算法和进化算法对策略多样性进行维持,将多样性奖励和环境奖励结合训练策略;奖励转换策略优化rspo(reward-switching policyoptimization)利用奖励切换的技巧,在策略轨迹相似时使用内在奖励鼓励探索,在轨迹差异较大时使用环境回馈奖励提高策略性能。这类算法由于生成的策略多样性是不可预知的,环境变化是不可预知的,均无法保证其解决目标任务的成功率。
3、另一部分工作意在对齐策略在源环境和目标环境中产生的状态轨迹分布。具有数据聚合的策略调整pada(policy adaptation with data aggregation)根据在目标环境中恢复源环境中状态轨迹的主要思想,对目标环境和源环境的动态差距进行了直接建模,每次选择能够使轨迹差异最小的动作,但其假设预先训练的源策略在源环境中生成的状态轨迹同样能够在目标环境中获得高回报;顾问增强的观察模仿学习ailo(advisor-augmentedimitation learning from observations)将源环境轨迹作为专家经验,使用一个“顾问”选择动作,产生接近源环境下一状态的状态。这些工作的问题在于,复原源环境的状态轨迹无法保证其在目标环境中也能够完成任务。基于分类器奖励的领域自适应darc(domainadaptation with rewards from classifiers)算法则从概率推理的角度出发,使用少量的目标环境经验样本训练分类器,在源环境中训练时使用分类器对奖励进行修正,鼓励机器人生成策略,该策略能够在源域中与目标域中实现相同的轨迹。以上的算法只训练了单一的策略,没有充分利用源环境。
技术实现思路
1、本发明针对现有技术不足,提供一种面向环境变化的移动机器人导航避障策略迁移方法,依靠对源环境的先验建模,快速适应目标环境含有未知障碍的导航避障任务。本发明通过生成多个策略提高泛化能力,并在多个策略均无法完成目标任务的情况下,使用少量的目标环境成本,在源环境中对策略进行调整,使得调整后的新策略应用到目标环境中后,其生成的轨迹对比其在源环境中生成的轨迹不会出现状态转移不一致的情况,并且可以成功完成目标任务。
2、为了实现上述目的,本发明所采用的技术方案是:一种面向环境变化的移动机器人导航避障策略迁移方法,包括以下步骤:
3、步骤1).对作业环境进行建模,根据作业任务设置任务起点s和任务终点g;相同任务下源环境和目标环境的任务起点和任务终点是一致的;
4、步骤2).在源环境训练的不同回合中随机指定目标gr,训练从任务起点s到随机目标gr的策略π(st||gr);
5、步骤3).训练完成后,在所述状态空间s中指定c组不同的必经状态序列,每组序列包含多个必经状态,按照序列顺序将必经状态依次替换为gr,驱使机器人按序到达所述必经状态,形成c条不同的轨迹;对于第i轨迹,使用模仿学习中的行为克隆算法实现一个能复现该轨迹的策略πi,存入初始策略集合π={π1,π2,…,πi,…,πc}中,i∈[1,c];
6、步骤4).将所述初始策略集中的所有策略在源环境中进行一次评估,得到轨迹集合其中,ti∈[0,li],li为轨迹τi的长度,li≤t,t为回合最大步数,是策略i在t时间步的状态,是策略i在t时间步采取的动作;
7、步骤5).将所述初始策略集中的第i个策略在目标环境中进行一次评估,评估的每一步都比较目标环境到达的状态跟源环境中到达的状态是否一致;当机器人到达源环境和目标环境中第一个状态转移不一致的位置时,将策略i在源环境中第t时间步的当前状态记为zi,添加zi到集合z中,将策略i在源环境中第t时间步到达的下一状态添加到集合b中;
8、步骤6).当机器人到达源环境和目标环境中第一个状态转移不一致的位置后,若将添加到集合b中;
9、其中,t<t'≤t,为动作空间,为策略i在目标环境中第t’时间步采取的动作,是策略i在t’时间步的当前状态,
10、为策略i在源环境中第t’时间步到达的下一状态,表示在状态空间中取使状态转移概率最大的状态st′+1,将st′+1赋值给是策略i在源环境中第t’时间步时的状态转移概率,
11、为策略i在目标环境中第t’时间步到达的下一状态,是当机器人在目标环境执行动作时所述目标环境反馈的状态;
12、步骤7).重复步骤6),直到t′=t;
13、步骤8).重复步骤5)、6)、7),直到i=c,集合z={z1,z2,…,zi,…,zc};
14、步骤9).从机器人在源环境经过的轨迹集合中选择起始状态sr和目标状态e;所述起始状态sr=zm,m=argmini∈[1,c]dis(zi,g),m表示在[1,c]内找到使dis(zi,g)最小的i值赋给m,dis(zi,g)为计算zi和g的距离函数;
15、所述目标状态e=mins∈cdis(sr,s),dis(sr,s)为计算sr和s的距离函数,x表示向量的第一维,y表示向量的第二维;候选目标状态s在序号不为m的轨迹包含的状态中选取,其中,第i条轨迹的候选目标状态s满足的条件包括:在轨迹i中位于状态zi之后;所有候选目标状态s的集合记为c;
16、所述目标状态e所在轨迹对应的序号记为n;
17、步骤10).在源环境中训练从所述起始状态sr到所述目标状态e的中间策略;当机器人到达目标状态e或任务终点g时,获得正反馈rg;当机器人完成目标环境中不会出现的状态转移时,赋予负奖励;
18、步骤11).将所述轨迹m中从任务起点s到达起始状态sr的轨迹、中间策略产生的从起始状态sr到目标状态e的轨迹、轨迹n中从目标状态e到任务终点g的轨迹合并成一条完整的轨迹,过滤其中的重复状态;
19、步骤12).将所述合并轨迹中的状态动作对作为专家经验样本,使用模仿学习中的行为克隆算法训练产生所述合并轨迹对应的策略πc+1,将πc+1加入初始策略集合π,删除初始策略集合π中的策略πn;
20、步骤13).重复步骤4)-步骤12),直到在步骤5)目标环境中评估时,找到一条机器人没有遇到状态转移不一致即成功完成任务的策略。
21、以上步骤中,步骤1)~步骤3)在源环境中生成包含c个策略的策略集合,不同的策略对应源环境中不同的成功轨迹,使用这些策略在目标环境进行评估,当遇到与源环境不一致的状态转移时,采取随机动作进行探索;
22、步骤4)~步骤10)在源环境的多条轨迹中选取起始状态和目标状态,在源环境中训练起始状态到目标状态的中间策略,训练过程中使用修改后的奖励函数;
23、步骤11)~步骤13)将从任务起点到起始状态、从起始状态到目标状态以及从目标状态到任务终点这三段轨迹合成一条完整轨迹,过滤轨迹中的重复状态,将得到的状态-动作元组作为专家经验,使用模仿学习训练得到一个新策略,更新策略集合,以上过程中除生成初始策略集合以外的步骤不断重复,直到找到一个目标环境中评估时能成功完成任务的策略。
24、根据本发明的实施例,还可以对本发明作进一步的优化,以下为优化后形成的技术方案:
25、在其中一个优选的实施例中,步骤2)中,使用深度q网络dqn(deep q-network)算法训练从任务起点s到随机目标点gr的策略。
26、在其中一个优选的实施例中,步骤2)中,源环境奖励函数为rg是一个正常数,为指示函数,在满足st+1=g时为1,st是t时间步的状态,at是t时间步采取的动作,st+1是t+1时间步的状态,
27、在其中一个优选的实施例中,步骤2)中,新的奖励函数设定如下:
28、r′(st,at,st+1)=r(st,at,st+1)-h(st,at,st+1)
29、其中,下标j表示向量的第j维,k为向量的最大维度。
30、在其中一个优选的实施例中,步骤5)中,目标环境到达的状态跟源环境中到达的状态是否一致的比较,具体步骤包括:
31、若则机器人到达源环境和目标环境中第一个状态转移不一致的位置,将所述标记为n_s,集合b=b∪{n_s};将策略i在第t时间步的当前状态标记为zi,并添加zi到集合z中,
32、为策略i在源环境中第t时间步到达的下一状态,表示在状态空间中取使状态转移概率最大的状态st+1,将st+1赋值给是策略i在源环境中第t时间步时的状态转移概率;
33、为策略i在目标环境中第t时间步到达的下一状态,是当机器人在目标环境执行动作时所述目标环境反馈的状态。
34、在其中一个优选的实施例中,所述回合最大步数t设置为75。
35、在其中一个优选的实施例中,步骤10)中,使用q-learning算法在源环境中训练从所述起始状态sr到所述目标状态e的中间策略;所述q-learning算法为:
36、
37、q(st,at)为状态动作值函数,r为环境反馈的奖励值,α为学习率,γ为折扣因子,a是从动作空间里面取的动作;
38、当机器人到达目标状态e或任务终点g时,获得正反馈rg;当机器人完成目标环境中不会出现的状态转移时,赋予负奖励。
39、在其中一个优选的实施例中,步骤10)中,当机器人完成目标环境中不会出现的状态转移时,赋予负奖励,所述负奖励函数如下:
40、
41、其中,×是乘法符号,表示当st+1等于g或e时为1,-为减号,表示当st+1属于b时为1。
42、基于同一个构思,本发明还提供一种电子设备,所述电子设备包括存储器、一个或多个处理器;所述存储器上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任一项所述方法的步骤。
43、与现有技术相比,本发明的有益效果是:
44、(1)使用多个源环境策略在目标环境评估,提高了迁移过程中的泛化能力,同时采取源策略动作和随机动作结合的方式,让移动机器人更大限度地探索状态空间,避免其陷入局部状态。
45、(2)在源环境训练中间轨迹,减少了目标环境中的训练成本。
46、(3)不断更新策略集合,利用先前已有的策略,生成更适用于目标环境的新策略。
本文地址:https://www.jishuxx.com/zhuanli/20240730/198440.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表