一种路径规划方法及相关设备

文档序号:25688044发布日期:2021-06-30 00:03阅读:66来源:国知局
一种路径规划方法及相关设备

1.本申请实施例涉及导航领域,尤其涉及一种路径规划方法及相关设备。


背景技术:

2.机器人有着广泛的应用,例如家庭、农业、工业、军事等各个领域都具有移动机器人的身影。而在控制机器人移动的研究领域中的三大核心是机器人的定位、任务的分配和路径规划技术。其中,路径规划是机器人到达任务目标、完成任务内容的首要条件。例如:家庭服务型清洁机器人需要对室内环境进行合理的路径规划以完成清洁任务;农业采摘机器人需要路径规划才能在农作物间穿行以完成采摘任务;工业机器人也需要进行路径规划才能在共享工作空间中完成给定的任务。
3.q

learning算法是强化学习中的重要算法,相关技术中,将q

learning算法应用于机器人系统的路径规划。q

learning算法的学习过程是一个迭代的过程,在机器人基于q

learning算法进行导航时,首先要进行预训练,即在真实的应用环境对应的栅格地图上添加一个虚拟机器人,虚拟机器人通过不断地移动,基于当前位置向某一选定方向移动特定距离,并生成在该位置下对该方向移动特定距离所对应的状态动作值函数(q值),并将该状态动作值函数添加至q值表,逐步更新q值表,直到更新得到最终的q值表。真实的机器人设备在实际应用场景中进行路径规划时,基于预先训练得到的q值表进行路径导航。
4.现有的q

learning算法使用应用环境对应的栅格地图训练得到的q值表,该q值表仅适用于该应用环境中,当应用环境出现新的障碍物时,基于q

learning算法得到的原有q值表会部分失效,导致机器人无法完成任务。


技术实现要素:

5.本申请实施例第一方面提供了一种路径规划方法,其特征在于,应用于机器人设备,所述方法包括:
6.步骤1、获取所述机器人设备的应用环境的栅格地图,及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数;
7.步骤2、在所述栅格地图中确定所述机器人设备的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;
8.步骤3、确定所述起始点为第一位置;
9.步骤4、基于所述第一位置对应的状态动作值函数确定第一移动方向;
10.步骤5、判断所述机器人设备向所述第一移动方向移动所述特定距离后所到达的位置是否存在新障碍物,所述新障碍物为所述栅格地图上不存在的障碍物,若不存在所述新障碍物,则执行步骤6;若存在所述新障碍物,则执行步骤7;
11.步骤6、控制所述机器人设备从所述第一位置向所述第一移动方向移动所述特定距离后到达第二位置,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一
位置,返回执行步骤4;若所述第二位置为所述目标点,执行步骤9;
12.步骤7、在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向,控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置;若所述第三位置不是所述目标点,则执行步骤8;若所述第三位置为所述目标点,则执行步骤9;
13.步骤8、基于所述第三位置判断所述机器人设备是否绕过所述新障碍物;若所述机器人设备未绕过所述新障碍物,将所述第三位置作为新的第一位置,则返回执行步骤7;若所述机器人设备已绕过所述新障碍物,将所述第三位置确定为新的第一位置,则返回执行步骤4;
14.步骤9、结束流程。
15.基于本申请实施例第一方面所提供的路径规划方法,可选的,所述在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向,包括:
16.确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
17.若所述可移动方向的数量为1,则所述机器人设备确定所述可移动方向为所述第二方向;
18.若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
19.若所述随机数小于所述预设值,则确定所述目标移动规则为避障规则,所述机器人设备基于避障规则确定所述第二移动方向;
20.若所述随机数大于等于预设值,则确定所述目标移动规则为随机规则,所述机器人设备在多个所述可移动方向中随机确定一个为所述第二移动方向。
21.基于本申请实施例第一方面所提供的路径规划方法,可选的,所述机器人设备基于避障规则确定所述第二移动方向,包括:
22.获取所述机器人设备在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离;
23.确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述第二移动方向。
24.基于本申请实施例第一方面所提供的路径规划方法,可选的,所述基于所述第三位置判断所述机器人设备是否绕过所述新障碍物,包括:
25.判断所述第三位置与所述目标点之间的欧氏距离是否小于所述新障碍物与所述目标点之间的欧氏距离;
26.若所述第三位置与所述目标点之间的欧氏距离小于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备已绕过所述新障碍物;
27.若所述第三位置与所述目标点之间的欧氏距离大于或等于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备未绕过所述新障碍物。
28.基于本申请实施例第一方面所提供的路径规划方法,可选的,其特征在于,控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,包
括:
29.控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,并计算所述机器人设备在所述第一位置向所述第二移动方向移动所述特定距离所对应的状态动作值函数;
30.所述方法还包括:基于所述状态动作值函数更新所述q值表。
31.本申请实施例第二方面提供了一种路径规划方法,包括:
32.步骤1、获取机器人设备的应用环境的栅格地图及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数;
33.步骤2、在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,所述起始点为所述虚拟机器人当前所在的位置,所述目标点为所述虚拟机器人希望到达的位置;
34.步骤3、确定所述起始点为所述第一位置;
35.步骤4、在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向;
36.步骤5、驱动所述虚拟机器人从所述第一位置向所述目标移动方向移动所述特定距离到达第二位置;
37.步骤6、基于所述q值表计算所述虚拟机器人向所述目标移动方向移动所述特定距离对应的状态动作值函数,并将所述状态动作值函数更新至所述q值表;
38.步骤7、判断所述第二位置是否为所述目标点,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回执行步骤4;若所述第二位置是所述目标点,执行步骤8;
39.步骤8、结束流程。
40.基于本申请实施例第二方面所提供的路径规划方法,可选的,所述在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向,包括:
41.确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
42.若所述可移动方向的数量为1,则确定所述可移动方向为所述目标移动方向;
43.若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
44.若所述随机数小于所述预设值,则基于避障规则确定所述目标移动方向;
45.若所述随机数大于等于预设值,则在多个所述可移动方向中随机确定一个为所述目标移动方向。
46.基于本申请实施例第二方面所提供的路径规划方法,可选的,所述基于避障规则确定所述目标移动方向,包括:
47.获取所述虚拟机器人在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离;
48.确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述目标移动
方向。
49.基于本申请实施例第二方面所提供的路径规划方法,可选的,所述在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,包括:
50.在所述初始栅格地图上添加多个具有探索能力的虚拟机器人并设置所述多个虚拟机器人的起始点及目标点,所述多个虚拟机器人具有相同的目标点;
51.所述将所述状态动作值函数更新至所述q值表,包括:
52.对不同虚拟机器人同一探索动作对应的状态动作值函数进行知识共享,获得共享后的状态动作值函数;
53.将所述共享后的状态动作值函数更新至所述q值表。
54.本申请实施例第三方面提供了一种路径规划设备,包括:应用于机器人设备,所述方法包括:
55.获取单元,用于获取所述机器人设备的应用环境的栅格地图,及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数;
56.确定单元,用于在所述栅格地图中确定所述机器人设备的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;
57.起始点确定单元,用于确定所述起始点为第一位置;
58.第一移动方向确定单元,用于基于所述第一位置对应的状态动作值函数确定第一移动方向;
59.新障碍物判断单元,用于判断所述机器人设备向所述第一移动方向移动所述特定距离后所到达的位置是否存在新障碍物,所述新障碍物为所述栅格地图上不存在的障碍物,若不存在所述新障碍物,则触发第二位置移动单元;若存在所述新障碍物,则触发第三位置移动单元;
60.第二位置移动单元,用于控制所述机器人设备从所述第一位置向所述第一移动方向移动所述特定距离后到达第二位置,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回触发第一移动方向确定单元;若所述第二位置为所述目标点,触发结束单元;
61.第三位置移动单元,用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向,控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置;若所述第三位置不是所述目标点,则触发绕过判断单元;若所述第三位置为所述目标点,则触发结束单元;
62.绕过判断单元,用于基于所述第三位置判断所述机器人设备是否绕过所述新障碍物;若所述机器人设备未绕过所述新障碍物,将所述第三位置作为新的第一位置,则返回触发第三位置移动单元;若所述机器人设备已绕过所述新障碍物,将所述第三位置确定为新的第一位置,则返回触发第一移动方向确定单元;
63.结束单元,用于结束流程。
64.基于本申请实施例第三方面所提供的路径规划设备,可选的,所述第三位置移动单元用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目
标移动规则确定第二移动方向,包括:
65.第三位置移动单元,用于确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
66.若所述可移动方向的数量为1,则所述机器人设备确定所述可移动方向为所述第二方向;
67.若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
68.若所述随机数小于所述预设值,则确定所述目标移动规则为避障规则,所述机器人设备基于避障规则确定所述第二移动方向;
69.若所述随机数大于等于预设值,则确定所述目标移动规则为随机规则,所述机器人设备在多个所述可移动方向中随机确定一个为所述第二移动方向。
70.基于本申请实施例第三方面所提供的路径规划设备,可选的,所述机器人设备基于避障规则确定所述第二移动方向,包括:
71.获取所述机器人设备在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离;
72.确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述第二移动方向。
73.基于本申请实施例第三方面所提供的路径规划设备,可选的,所述绕过判断单元用于,基于所述第三位置判断所述机器人设备是否绕过所述新障碍物,包括:
74.判断单元用于,判断所述第三位置与所述目标点之间的欧氏距离是否小于所述新障碍物与所述目标点之间的欧氏距离;
75.若所述第三位置与所述目标点之间的欧氏距离小于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备已绕过所述新障碍物;
76.若所述第三位置与所述目标点之间的欧氏距离大于或等于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备未绕过所述新障碍物。
77.基于本申请实施例第三方面所提供的路径规划设备,可选的,所述第三位置移动单元,用于控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,包括:
78.第三位置移动单元,用于控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,并计算所述机器人设备在所述第一位置向所述第二移动方向移动所述特定距离所对应的状态动作值函数;
79.所述设备还包括:更新单元,用于基于所述状态动作值函数更新所述q值表。
80.本申请实施例第四方面提供了一种路径规划设备,包括:
81.获取单元,用于获取机器人设备的应用环境的栅格地图及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数;
82.添加单元,用于在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;
83.起始点确定单元,用于确定所述起始点为所述第一位置;
84.目标移动方向确定单元,用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向;
85.第二位置移动单元,用于驱动所述虚拟机器人从所述第一位置向所述目标移动方向移动所述特定距离到达第二位置;
86.状态动作值函数更新单元,用于基于所述q值表计算所述虚拟机器人向所述目标移动方向移动所述特定距离对应的状态动作值函数,并将所述状态动作值函数更新至所述q值表;
87.目标点判断单元,用于判断所述第二位置是否为所述目标点,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回触发目标移动方向确定单元;若所述第二位置是所述目标点,触发结束单元;
88.结束单元,用于结束流程。
89.基于本申请实施例第四方面所提供的路径规划设备,可选的,所述目标移动方向确定单元,用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向,包括:
90.所述目标移动方向确定单元,用于确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
91.若所述可移动方向的数量为1,则确定所述可移动方向为所述目标移动方向;
92.若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
93.若所述随机数小于所述预设值,则基于避障规则确定所述目标移动方向;
94.若所述随机数大于等于预设值,则在多个所述可移动方向中随机确定一个为所述目标移动方向。
95.基于本申请实施例第四方面所提供的路径规划设备,可选的,所述基于避障规则确定所述目标移动方向,包括:
96.获取所述虚拟机器人在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离;
97.确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述目标移动方向。
98.基于本申请实施例第四方面所提供的路径规划设备,可选的,所述添加单元用于,在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,包括:
99.所述添加单元用于,在所述初始栅格地图上添加多个具有探索能力的虚拟机器人并设置所述多个虚拟机器人的起始点及目标点,所述多个虚拟机器人具有相同的目标点;
100.状态动作值函数更新单元,用于将所述状态动作值函数更新至所述q值表,包括:
101.状态动作值函数更新单元,用于对不同虚拟机器人同一探索动作对应的状态动作值函数进行知识共享,获得共享后的状态动作值函数;
102.将所述共享后的状态动作值函数更新至所述q值表。
103.本申请实施例第五方面提供了一种路径规划设备,包括:
104.中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
105.所述存储器为短暂存储存储器或持久存储存储器;
106.所述中央处理器配置为与所述存储器通信,在所述路径规划设备上执行所述存储器中的指令操作以执行如本申请实施例第一方面中任意一项所述的方法。
107.本申请实施例第六方面提供了一种路径规划设备,包括:
108.中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
109.所述存储器为短暂存储存储器或持久存储存储器;
110.所述中央处理器配置为与所述存储器通信,在所述路径规划设备上执行所述存储器中的指令操作以执行如本申请实施例第二方面中任意一项所述的方法。
111.本申请实施例第七方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
112.本申请实施例第八方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第二方面中任意一项所述的方法。
113.本申请实施例第九方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
114.本申请实施例第十方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请实施例第二方面中任意一项所述的方法。
115.从以上技术方案可以看出,本申请实施例具有以下优点:本方案提供了一种基于q

learning算法的导航方法,本方案通过当机器人探测到环境中出现新障碍物时使用目标移动规则对机器人进行路径规划并进行移动,直到机器人绕过新障碍物,并使用q值表再次进行导航过程,直至达到终点,通过本方案使得使用q

learning算法进行导航的机器人可以应对存在新障碍物的环境,提高了q

learning算法进行导航的适用性,提高了路径规划过程的效率。
附图说明
116.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
117.图1为本申请路径规划方法实施例的一个流程示意图;
118.图2为本申请第二移动方向确定过程实施例的一个流程示意图;
119.图3为本申请q值表更新过程实施例的一个流程示意图;
120.图4为本申请路径规划方法实施例的一个流程示意图;
121.图5为本申请目标移动方向确定过程实施例的一个流程示意图;
122.图6为本申请q值表更新过程实施例的一个流程示意图;
123.图7为本申请路径规划设备实施例的一个结构示意图;
124.图8为本申请路径规划设备实施例的一个结构示意图;
125.图9为本申请路径规划设备实施例的另一个结构示意图;
126.图10为本申请路径规划设备实施例的另一个结构示意图。
具体实施方式
127.本申请实施例提供了一种路径规划方法,用于机器人设备在额外添加了新障碍物的环境下进行导航,以便机器人设备可以应对存在新障碍物的环境,提高了q

learning算法进行导航的适用性。
128.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
129.本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
130.需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
131.q

learning学习算法是由watkins在1989年提出来的,其是强化学习算法中的一个重要算法。q

learning算法下的机器人不知道整体的环境,只知道当前状态下可选择的动作集合,通常需要构建一个即时奖励回报矩阵,用于表示从状态s到下一状态s'的动作奖励值,状态动作值函数q即为q(s,a)就是在某一时刻的s状态下,采取动作a能够获得收益的期望。通过构建计算出指导机器人行动的q值表(或称之为q矩阵)。在经过多次探索后会生成与环境相匹配的q值表。后续机器人可根据该q值表确定最优路径并进行路径规划。
132.然而这种依据所生成的q值表进行路径规划的方式在机器人导航过程中无法应对动态环境,尤其是障碍物增加的环境会导致机器人陷入死角或到达目标点所消耗的时间过长,为解决上述问题,本申请实施例提供了一种路径规划方法,请参阅图1,本申请路径规划方法的一个实施例包括:步骤101

步骤109。
133.101、获取机器人设备的应用环境的栅格地图,及栅格地图对应的q值表。
134.获取所述机器人设备的应用环境的栅格地图,及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数(q值)。q值表为基于当前应用环境预先训练获得,具体的,可在当前应用环境所对应的栅格地图上添加虚拟机器人,并基于初始q值表进行更新,进而获得栅格地图所对应的q值表,q值表的更新过程可基于随机规则进行更新,也可基于固定规则驱动虚拟机器人移动进行更新,或者基于本文下述图4所对应的路径规划方法更新所获得的q值表。具体可依据实际规则进行设置,此处不做限定。q值表在地图上任意位置均有对应不同方向的状态动作值函
数,机器人设备在进行路径规划时,对当前所在位置各个方向所对应的状态动作值函数的大小进行判断,选择较大的状态动作值函数对应的方向进行移动。
135.102、在栅格地图中确定所述机器人设备的起始点及目标点。
136.在所述栅格地图中确定所述机器人设备的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;值得注意的是,机器人设备的目标点与q值表的训练过程中所设置的虚拟机器人的目标点应当一致,以保证q值表发挥路径指引作用。
137.103、确定起始点为第一位置。
138.确定起始点为第一位置。确定机器人设备的出发位置即起始点为第一位置,以便执行后续步骤。
139.104、基于第一位置对应的状态动作值函数确定第一移动方向。
140.机器人设备基于第一位置对应的状态动作值函数确定第一移动方向。机器人设备基于当前所在位置查询q值表,获得在当前位置所对应的多个状态动作值函数,各个状态动作值函数分别表示在机器人设备在当前状态下向不同方向移动所能获得的奖励值,状态动作值函数越大,说明向该方向移动所获得的奖励值越多,越能靠近终止点,确定其中状态动作值函数最大的方向为第一移动方向,以使得机器人设备尽可能的靠近终止点。
141.105、判断机器人设备向第一移动方向移动特定距离后所到达的位置是否存在新障碍物。
142.判断所述机器人设备向所述第一移动方向移动所述特定距离后所到达的位置是否存在新障碍物,所述新障碍物为所述栅格地图上不存在的障碍物,若不存在所述新障碍物,则执行步骤106,若存在所述新障碍物,则执行步骤107。
143.在确定机器人设备应执行的下一动作后,需要判断执行该动作后所达到的位置是否存在新障碍物,新障碍物即为在q值表训练过程中不存在的障碍物,由于机器人设备所应用的实际环境可能为变化的环境,环境变化的表现为出现新的障碍物,这些新的障碍物在q值表的训练过程并未出现,因此基于q值表所提供的路径规划方案无法应对这一情况,基于此,在每次基于q值表进行路径规划时需要确定将要到达的位置是否存在新障碍物,若存在,则应对路径规划方式进行一定调整,以便绕过该新障碍物,即执行步骤107、在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于目标移动规则确定第二移动方向,控制机器人设备从第一位置向第二移动方向移动特定距离后到达第三位置。若不存在新障碍物,则说明原有q值表所记录的先验知识可以适用于当前环境,执行步骤106、控制机器人设备从第一位置向第一移动方向移动特定距离后到达第二位置,即依据q值表所记录的信息进行移动。
144.106、控制机器人设备移动至第二位置,判断第二位置是否为目标点。
145.控制所述机器人设备从所述第一位置向所述第一移动方向移动所述特定距离后到达第二位置,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回执行步骤104;若所述第二位置为所述目标点,执行步骤109;
146.机器人设备基于步骤104至步骤106的一个移动过程即相当于依据q表执行了一个q表上所记载的动作,从第一位置移动到了第二位置,机器人设备到达第二位置后需判断第二位置与目标点之间的关系,若第二位置与目标点相同,则说明机器人设备经过上述移动
过程已经到达了目的地,应结束整个流程,即执行步骤109、结束流程。若机器人设备未达到所述目标点,即第二位置与所述目标点不同,则机器人设备应当继续进行路径规划并移动,以便向目标点靠近,即将第二位置确定为新的第一位置,并返回执行步骤104。即将机器人设备当前所在的第二位置确定为第一位置,并依据该第一位置重复执行步骤104,查询q值表确定第一移动方以及执行后续步骤。以便于机器人设备多次移动,进而到达目标点。对于不存在新障碍物的环境,机器人设备可以循环执行步骤104至步骤106,进而到达目标点。
147.107、确定目标移动规则,控制机器人设备移动至第三位置,判断第三位置是否为目标点。
148.若机器人设备判断在第一移动方向上存在新障碍物,则在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向,控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置;若所述第三位置不是所述目标点,则执行步骤108;若所述第三位置为所述目标点,则执行步骤109;
149.若机器人设备判断在第一移动方向上存在新障碍物,则说明q值表所规划的路径无法应对当前环境,应选择其他方式作为路径规划的规则,并基于该规则指引机器人设备移动,即目标移动规则。本方案中提出的目标移动规则由避障规则和随机规则两部分组成。在实际执行中基于一定概率选择一种作为目标移动规则,并基于目标移动规则确定第二移动方向,进而进行移动,到达第三位置。
150.避障规则是具有固定规则的移动方式,即在尽量靠近目标点的前提下绕过新障碍物,在机器人设备当前所在位置可移动的几个方向中选择可以缩短机器人设备与目标点之间距离的移动方向作为移动方向。而随机规则为不出于任何目的进行移动,即在机器人设备可移动的几个方向中随机选择一个移动方向作为目标移动方向,这两种移动规则的选择方式可基于一定概率进行选择,具体的,可设置一个预设值β,并在选择时生成一个随机数,比较随机数与β的大小,若所生成的随机数小于β,则选择避障规则作为本次移动的目标移动规则,若所生成的随机数大于等于β,则选择随机规则作为本次移动的目标移动规则,具体的选择方式可依据实际情况而定,此处不做限定。
151.当环境出现新障碍物时,原有的q表所记载的先验知识不在适用,因此需要对当前环境进行再次的探索,机器人设备从第一位置移动到第三位置的过程即为探索过程,探索过程所采用的移动规则可为避障规则,也可为随机规则,避障规则是包含固定规则的移动方式,基于固定规则的移动方式是根据人类趋利避害的行为模式来驱动机器人前进的,但是由于规则太过固定,在仅使用避障规则的情况下,规则总是驱动机器人往目标点方向移动,通过绕弯来规避特殊布局的障碍物的灵活性不足,在一些较为复杂的环境中不够灵活,依据避障规则所包含的固定规则进行路径规划容易陷入固定规则所无法应对的死角中,造成探索失败,机器人设备无法到达目标点。而单独使用随机规则的方式进行路径规划机器人设备向目标点移动过程可能需要较多次移动,所消耗的时间较长,因此也存在一定的问题,基于上述问题,本方案提出以一定概率在两种移动规则中进行选择,进而使得机器人设备不会陷入死角中同时避免移动过程中消耗的时间过久。
152.机器人设备基于目标移动规则移动到第三位置后,需要判断第三位置与目标点之间的关系,若第三位置与目标点相同,则说明机器人设备经过上述移动过程已经到达了目
的地,应结束整个流程,即执行步骤109、结束流程。若机器人设备未达到所述目标点,即第三位置与所述目标点不同,则机器人设备应当判断当前所在位置是否绕过该新障碍物,以便基于判断结果进行后续的路径规划过程,即执行步骤108、基述第三位置判断机器人设备是否绕过新障碍物。
153.108、基述第三位置判断机器人设备是否绕过新障碍物。
154.机器人设备判断第三位置不同于目标点,则基于所述第三位置判断所述机器人设备是否绕过所述新障碍物;若所述机器人设备未绕过所述新障碍物,将所述第三位置作为新的第一位置,则返回执行步骤107;若所述机器人设备已绕过所述新障碍物,将所述第三位置确定为新的第一位置,则返回执行步骤104。
155.若机器人设备未绕过该新障碍物则新障碍物的存在仍会对q值表的使用产生影响,因此应继续进行探索,即将第三位置作为新的第一位置,返回执行步骤107,以便绕开所述新障碍物,若机器人设备已绕开该新障碍物,则基于机器人设备当前所在的位置q值表所记载的先验知识可以用于对机器人设备进行路径规划,新障碍物的存在不会对路径规划产生影响,因此可返回执行步骤104使用q值表进行路径规划,以使得机器人设备向目标点前进。
156.109、结束流程。
157.机器人设备已到达目的地,完成了整个路径规划过程。结束流程。
158.从以上技术方案可以看出,本申请实施例具有以下优点:本方案提供了一种基于q

learning算法的导航方法,本方案通过当机器人探测到环境中出现新障碍物时使用目标移动规则对机器人进行路径规划并进行移动,直到机器人绕过新障碍物,并使用q值表再次进行导航过程,直至达到终点,通过本方案使得使用q

learning算法进行导航的机器人可以应对存在新障碍物的环境,提高了q

learning算法进行导航的适用性。
159.基于图1所描述的实施例,下面对本方案中在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向步骤,即第二移动方向的确定过程进行详细描述,具体的,请参照图2,第二移动方向的确定过程可包括:步骤201至步骤206。
160.201、确定所述机器人设备在所述第一位置的可移动方向的数量。
161.确定机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;机器人设备检测在第一位置可移动方向的数量,即检测在机器人设备各个方向上相邻位置是否存在障碍物,若存在障碍物,则说明机器人设备不可向该方向移动,相邻位置不存在障碍物,则该位置所在方向即为可移动方向,确定相邻位置不存在障碍物的方向的数量,
162.本步骤的执行前提为已经存在新障碍物,因此可移动方向的数量为1至3,即在第一位置的相邻位置可能存在1个或3个障碍物,基于可移动方向的数量执行不同的策略,具体的若可移动方向的数量为1,则执行步骤202,若可移动方向的数量大于1,则执行步骤203。
163.202、若可移动方向的数量为1,则机器人设备确定可移动方向为第二方向。
164.若可移动方向的数量为1,则机器人设备确定可移动方向为第二方向。可移动方向的数量为1,即说明机器人设备仅有一条路径可以选择,此时无论依据何种移动规则确定的
移动方向均为该移动方向,因此可以将该移动方向确定为第二方向。
165.203、若可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值。
166.若可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值。若可移动方向的数量大于1则需要在避障规则和随机规则中选择一个作为目标移动规则,具体选择方式为生成一个预设范围内的随机数,并判断该随机数是否小于预设值β,随机数小于预设值,则选择避障规则作为目标移动规则,若随机数大于预设值,则选择随机规则作为目标移动规则,如β设置为0.9,生成随机数的范围设置为0

1,即以90%的概率选择避障规则作为目标移动规则,10%的概率选择随机规则作为目标移动规则。
167.204、获取所述机器人设备在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离。
168.205、确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述第二移动方向。
169.若随机数小于预设值,则执行步骤204、获取所述机器人设备在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离。即对机器人设备基于可移动方向移动后所到达的位置与目标点之间的欧氏距离进行判断,若欧氏距离较小,则说明该位置距离目标点较近,执行步骤205、确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述第二移动方向。向该方向移动较为有利,具体的为降低计算复杂程度步骤204和步骤205可依据下述规则执行:
170.若机器人设备当前位置与目标点在x方向上的距离大于机器人设备当前位置与目标点在y方向上的距离且x方向的动作也在可执行列表里,则确定x方向为第二移动方向;
171.若机器人当前位置与目标点在y方向上的距离大于机器人当前位置与目标点在x方向上的距离且y方向的动作也在可执行列表里,则确定y方向为第二移动方向。
172.若机器人当前位置与目标点在y方向上的距离等于机器人当前位置与目标点在x方向上的距离且沿着向y方向和x方向向目标点移动的动作也在可执行列表里,则随机在x方向和y方向选取一个方向作为第二移动方向。
173.对于其他情况在可移动方向列表中随机地选取一个方向作为第二移动方向。
174.通过上述方式使得机器人设备沿第二移动方向进行移动时尽可能的减少了机器人设备与目标点之间的距离。
175.206、确定所述目标移动规则为随机规则,所述机器人设备在多个所述可移动方向中随机确定一个为所述第二移动方向。
176.若随机数大于预设值,则确定所述目标移动规则为随机规则,所述机器人设备在多个所述可移动方向中随机确定一个为所述第二移动方向。
177.通过上述方式使得机器人设备在第二移动方向的确定过程中既可为避障规则,也可为随机规则,避免了单独使用避障规则,机器人设备依据避障规则所包含的固定规则进行路径规划容易陷入固定规则所无法应对的死角中,造成探索失败,机器人设备无法到达目标点。或单独使用随机规则的方式进行路径规划机器人设备向目标点移动过程可能需要较多次移动,所消耗的时间较长等问题。使得机器人设备不会陷入死角中的同时避免移动过程中消耗的时间过久。提高了第二方向确定过程的可实施性,使得机器人设备更容易绕
过新障碍物。
178.基于图1所描述的实施例,在本方案执行的过程中,还可对所使用的q值表进行更新,具体的可参照图3,包括步骤301至步骤302。
179.301、计算机器人设备在第一位置向第二移动方向移动特定距离所对应的状态动作值函数。
180.本步骤在控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置后执行,基于该移动动作计算这一移动动作对应的状态动作值函数。具体的状态动作值函数计算方式包括:
181.q(s,a)=(1

α)q(s,a)+α[r+γmax
a

q(s,a

)]
[0182]
其中等号前的q(s,a)为更新后的状态动作函数值,α表示学习率,γ表示奖励衰减因子,s

是执行完动作a后的新状态,r为奖励值,a

表示机器人设备在s

状态下所能选择的动作,max
a

q(s

,a

)表示选择机器人设备在s

状态下选择最大的动作函数值。等号后的q(s,a)为更新前的状态动作函数值。基于上述方式计算每一次移动所产生的新的状态动作函数值。上述状态动作值函数的更新过程为q

learning算法执行过程中常用的更新算法,具体此处不做赘述。
[0183]
302、基于所述状态动作值函数更新所述q值表。
[0184]
基于所述状态动作值函数更新所述q值表。即将所产生的新的动作函数值替换原有q值表中所记载的状态动作值函数,以使得后续机器人设备可依据更新后的q值表进行路径路径规划,进而有效的利用前一机器人所产生的先验知识,提高路径规划效率。
[0185]
在使用q

learning算法进行路径规划时,首先需要基于应用环境进行训练,获得该环境所对应的q值表,在获取q值表的过程中,需要在应用环境所对应的栅格地图上添加虚拟机器人,并驱动虚拟机器人以一定规则移动,计算每次移动动作对应的q值,进而对q值表进行更新。然而驱动虚拟机器人进行移动的过程存在一定问题,具体的,现有的使虚拟机器人进行移动的规则包括随机规则和避障规则进行移动两种方式,然而依据避障规则所包含的固定规则进行路径规划容易陷入固定规则所无法应对的死角中,造成探索失败,虚拟机器人无法到达目标点。或单独使用随机规则的方式进行路径规划虚拟机器人向目标点移动过程可能需要较多次移动,生成可用的q值表过程所消耗的时间较长等问题。
[0186]
为解决上述问题,本申请提供一种路径规划方法,应用于基于q

learning算法进行路径规划时q值表的更新过程。请参照图4,本申请路径规划方法实施例包括:步骤401至步骤408。
[0187]
401、获取机器人设备的应用环境的栅格地图及所述栅格地图对应的q值表。
[0188]
获取机器人设备的应用环境的栅格地图及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数。本步骤所获得的q值表可作为初始q值表及表中各个状态动作值函数(q值)均为0以便进行后续更新过程。
[0189]
402、在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点。
[0190]
在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点。所述起始点为所述虚拟机器人当前所在的位置,所述目标点为所述虚拟机器人希望到
达的位置;以便进行后续更新过程,值得注意的是目标点应与使用该q值表进行路径规划的实际机器人所希望达到的位置一致,以保证更新得到的q值表可以使用。
[0191]
403、确定起始点为第一位置。
[0192]
确定起始点为第一位置。确定机器人设备的出发位置即起始点为第一位置,以便执行后续步骤。
[0193]
404、在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向。
[0194]
本方案中提出的目标移动规则由避障规则和随机规则两部分组成。在实际执行中基于一定概率选择一种作为目标移动规则,并基于目标移动规则确定第二移动方向,进而进行移动,到达第三位置。
[0195]
避障规则是具有固定规则的移动方式,即在尽量靠近目标点的前提下绕过新障碍物,即在机器人设备当前所在位置可移动的几个方向中选择可以缩短机器人设备与目标点之间距离的移动方向作为移动方向。而随机规则为不出于任何目的进行移动,即在机器人设备可移动的几个方向中随机选择一个移动方向作为目标移动方向,这两种移动规则的选择方式可基于一定概率进行选择,具体的,可设置一个预设值β,并在选择时生成一个随机数,比较随机数与β的大小,若所生成的随机数小于β,则选择避障规则作为本次移动的目标移动规则,若所生成的随机数大于等于β,则选择随机规则作为本次移动的目标移动规则,具体的选择方式可依据实际情况而定,此处不做限定。
[0196]
405、驱动虚拟机器人从第一位置向目标移动方向移动特定距离到达第二位置。
[0197]
驱动虚拟机器人从第一位置向目标移动方向移动特定距离到达第二位置。进而完成一次移动过程,所述特定距离为基于q值表的设置而预先设定,一般的等于栅格地图中从一个点到相邻点的距离。
[0198]
406、基于q值表计算虚拟机器人向目标移动方向移动特定距离对应的状态动作值函数,并将状态动作值函数更新至q值表。
[0199]
基于q值表计算虚拟机器人向目标移动方向移动特定距离对应的状态动作值函数,并将状态动作值函数更新至q值表。
[0200]
具体的状态动作值函数计算方式包括:
[0201]
q(s,a)=(1

α)q(s,a)+α[r+γmax
a

q(s,a

)]
[0202]
其中等号前的q(s,a)为更新后的状态动作函数值,α表示学习率,γ表示奖励衰减因子s

是执行完动作a后的新状态,r为奖励值,a

表示机器人设备在s

状态下所能选择的动作,max
a

q(s

,a

)表示选择机器人设备在s

状态下选择最大的动作函数值。等号后的q(s,a)为更新前的状态动作函数值。基于上述方式计算每一次移动所产生的新的状态动作函数值。在计算得出本次移动动作所对应的状态动作值函数后,使用该状态动作值函数替换q表中原有的相应状态动作值函数,如原有q值表记录有q(a位置,左方向)=0,在移动后计算得出q(a位置,左方向)=0.1,则用q(a位置,左方向)=0.1替换q值表上的原有记录,进而完成q值表的更新过程。
[0203]
407、判断所述第二位置是否为所述目标点,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回执行步骤4;若所述第二位置是所述目标点,执行步骤8。
[0204]
判断所述第二位置是否为所述目标点,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回执行步骤404;即重复进行移动过程,并更新下一移动动作所对应的状态动作值函数。若所述第二位置是所述目标点,即说明虚拟机器人已达到目标点,执行步骤408,结束流程。
[0205]
408、结束流程。
[0206]
虚拟机器人到达目标点,完成了一轮对q值表的更新过程,结束流程。
[0207]
基于上述方式提供了一种路径规划方法,基于上述方法可以获得与应用环境相符合的q值表,同时避免了单独使用避障规则,机器人设备依据避障规则所包含的固定规则进行路径规划容易陷入固定规则所无法应对的死角中,造成探索失败,机器人设备无法到达目标点。或单独使用随机规则的方式进行路径规划机器人设备向目标点移动过程可能需要较多次移动,所消耗的时间较长等问题。使得q值表的获取过程速度较快。提高了q值表获取过程的可实施性,提高了路径规划过程的效率。
[0208]
可以理解的是,基于本方案所获得的q值表可应用于上述图1对应实施例下的路径规划流程中,具体此处不做限定。
[0209]
基于图4所描述的实施例,下面对本方案中在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定目标移动方向步骤,即目标移动方向的确定过程进行详细描述,具体的,请参照图5,目标移动方向的确定过程可包括:步骤501至步骤506。
[0210]
501、确定所述虚拟机器人在所述第一位置的可移动方向的数量。
[0211]
确定虚拟机器人在所述第一位置的可移动方向的数量,所述虚拟机器人向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;虚拟机器人检测在第一位置可移动方向的数量,即检测在虚拟机器人各个方向上相邻位置是否存在障碍物,若存在障碍物,则说明虚拟机器人不可向该方向移动,相邻位置不存在障碍物,则该位置所在方向即为可移动方向,确定相邻位置不存在障碍物的方向的数量。
[0212]
本步骤的执行前提为已经存在新障碍物,因此可移动方向的数量为1至3,即在第一位置的相邻位置可能存在1个或3个障碍物,基于可移动方向的数量执行不同的策略,具体的若可移动方向的数量为1,则执行步骤502,若可移动方向的数量大于1,则执行步骤503。
[0213]
502、若可移动方向的数量为1,则虚拟机器人确定可移动方向为目标移动方向。
[0214]
若可移动方向的数量为1,则虚拟机器人确定可移动方向为目标移动方向。可移动方向的数量为1,即说明虚拟机器人仅有一条路径可以选择,此时无论依据何种移动规则确定的移动方向均为该移动方向,因此可以将该移动方向确定为目标移动方向。
[0215]
503、若可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值。
[0216]
若可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值。若可移动方向的数量大于1则需要在避障规则和随机规则中选择一个作为目标移动规则,具体选择方式为生成一个预设范围内的随机数,并判断该随机数是否小于预设值β,随机数小于预设值,则选择避障规则作为目标移动规则,若随机数大于等于预设值,则选择随机规则作为目标移动规则,如β设置为0.9,生成随机数的范围设置为0

1,即以
90%的概率选择避障规则作为目标移动规则,10%的概率选择随机规则作为目标移动规则。
[0217]
504、获取所述虚拟机器人在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离。
[0218]
505、确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述目标移动方向。
[0219]
若随机数小于预设值,则执行步骤504、获取所述虚拟机器人在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离。即对虚拟机器人基于可移动方向移动后所到达的位置与目标点之间的欧氏距离进行判断,若欧氏距离较小,则说明该位置距离目标点较近,向该方向移动较为有利,执行步骤505、确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述目标移动方向。具体的,为降低计算复杂程度步骤504和步骤505可依据下述规则执行:
[0220]
若虚拟机器人当前位置与目标点在x方向上的距离大于虚拟机器人当前位置与目标点在y方向上的距离且x方向的动作也在可执行列表里,则确定x方向为目标移动方向;
[0221]
若机器人当前位置与目标点在y方向上的距离大于机器人当前位置与目标点在x方向上的距离且y方向的动作也在可执行列表里,则确定y方向为目标移动方向。
[0222]
若机器人当前位置与目标点在y方向上的距离等于机器人当前位置与目标点在x方向上的距离且沿着向y方向和x方向向目标点移动的动作也在可执行列表里,则随机在x方向和y方向选取一个方向作为目标移动方向。
[0223]
对于其他情况在可移动方向列表中随机地选取一个方向作为目标移动方向。
[0224]
通过上述方式使得虚拟机器人沿目标移动方向进行移动时尽可能的减少了虚拟机器人与目标点之间的距离。
[0225]
506、确定所述目标移动规则为随机规则,所述虚拟机器人在多个所述可移动方向中随机确定一个为所述目标移动方向。
[0226]
若随机数大于预设值,则确定所述目标移动规则为随机规则,所述虚拟机器人在多个所述可移动方向中随机确定一个为所述目标移动方向。
[0227]
通过上述方式使得虚拟机器人在目标移动方向的确定过程中即可为避障规则,也可为随机规则,避免了单独使用避障规则,机器人设备依据避障规则所包含的固定规则进行路径规划容易陷入固定规则所无法应对的死角中,造成探索失败,虚拟机器人无法到达目标点。或单独使用随机规则的方式进行路径规划虚拟机器人向目标点移动过程可能需要较多次移动,所消耗的时间较长等问题。使得虚拟机器人不会陷入死角中同时避免移动过程中消耗的时间过久。
[0228]
基于上述图4对应实施例,下面对本方案中q值表的更新过程进行详细描述,具体的,请参照图6,步骤402在执行时可在栅格地图上可以添加多个虚拟机器人,各个虚拟机器人的初始点可不同,但目标点相同,同时各个机器人分别依据上述图4对虚拟机器人的控制流程执行动作,各个虚拟机器人分别进行对q值表的更新,得到不同的状态动作值函数。
[0229]
601、对不同虚拟机器人同一探索动作对应的状态动作值函数进行知识共享,获得共享后的状态动作值函数。
[0230]
对不同虚拟机器人同一探索动作对应的状态动作值函数进行知识共享,获得共享
后的状态动作值函数。
[0231]
其中知识共享方法包括两种分别为:
[0232]
(1)q(s,a)=max(q
a1
(s,a),

,q
an
(s,a))
[0233]
(2)q(s,a)=q
a1
(s,a)+

+q
an
(s,a)
[0234]
其中上述知识共享方法中a1、a2、...an为不同虚拟机器人;q
a1
(s,a)为a1虚拟机器人在s位置下执行a动作的状态动作值函数(q值),q
a2
(s,a)为a2虚拟机器人在s位置下执行a动作的状态动作值函数(q值),依次类推。知识共享方法(1)为选择最大的状态动作值函数作为共享后的状态动作值函数,相当于一言堂,以q值最大的为准。知识共享方法(2)为将各个虚拟机器人所获得的q值加和,对于q表内各个状态动作值函数均求和的情况,本方式相当于求平均值,选择更符合所有虚拟机器人认知的q值作为共享后的状态动作值函数。第二种知识共享方法在实际表现时效果较好,在实际实施过程中可依据自身需求进行选择。可以理解的是,状态动作值函数知识共享方法还可依据自身需求进行调整,具体可依据实际情况而定,此处不做限定。
[0235]
602、基于所述共享后的状态动作值函数更新q值表。
[0236]
将共享后的状态动作值函数更新q值表。以便后续机器人设备使用该q值表。具体的可将共享后的状态动作值函数作为新的状态动作值函数替换原有q值表中所记载的状态动作值函数,通过上述方式使得机器人设备使用的q值表中所记载的状态动作值函数为多个机器人所学习得到的先验知识共享获得,进一步的提高了q值表上所记载的状态动作值函数的准确性。
[0237]
上面对申请实施例中的路径规划方法进行了描述,下面对本申请实施例中的路径规划设备进行描述。请参阅图7,本申请的一个实施例包括:
[0238]
获取单元701,用于获取所述机器人设备的应用环境的栅格地图,及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的状态动作值函数;
[0239]
确定单元702,用于在所述栅格地图中确定所述机器人设备的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;
[0240]
起始点确定单元703,用于确定所述起始点为第一位置;
[0241]
第一移动方向确定单元704,用于基于所述第一位置对应的状态动作值函数确定第一移动方向;
[0242]
新障碍物判断单元705,用于判断所述机器人设备向所述第一移动方向移动所述特定距离后所到达的位置是否存在新障碍物,所述新障碍物为所述栅格地图上不存在的障碍物,若不存在所述新障碍物,则触发第二位置移动单元706;若存在所述新障碍物,则触发第三位置移动单元707;
[0243]
第二位置移动单元706,用于控制所述机器人设备从所述第一位置向所述第一移动方向移动所述特定距离后到达第二位置,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回触发第一移动方向确定单元704;若所述第二位置为所述目标点,触发结束单元709;
[0244]
第三位置移动单元707,用于在避障规则和随机规则中基于一定概率选择一种作
为目标移动规则,基于所述目标移动规则确定第二移动方向,控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置;若所述第三位置不是所述目标点,则触发绕过判断单元708;若所述第三位置为所述目标点,则触发结束单元709;
[0245]
绕过判断单元708,用于基于所述第三位置判断所述机器人设备是否绕过所述新障碍物;若所述机器人设备未绕过所述新障碍物,将所述第三位置作为新的第一位置,则返回触发第三位置移动单元707;若所述机器人设备已绕过所述新障碍物,将所述第三位置确定为新的第一位置,则返回触发第一移动方向确定单元704;
[0246]
结束单元709,用于结束流程。
[0247]
本实施例中,路径规划设备中各单元所执行的流程与前述图1所对应的实施例中描述的方法流程类似,此处不再赘述。
[0248]
可选的,所述第三位置移动单元用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定第二移动方向,包括:
[0249]
第三位置移动单元,用于确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
[0250]
若所述可移动方向的数量为1,则所述机器人设备确定所述可移动方向为所述第二方向;
[0251]
若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
[0252]
若所述随机数小于所述预设值,则确定所述目标移动规则为避障规则,所述机器人设备基于避障规则确定所述第二移动方向;
[0253]
若所述随机数大于等于预设值,则确定所述目标移动规则为随机规则,所述机器人设备在多个所述可移动方向中随机确定一个为所述第二移动方向。
[0254]
可选的,所述绕过判断单元用于,基于所述第三位置判断所述机器人设备是否绕过所述新障碍物,包括:
[0255]
判断单元用于,判断所述第三位置与所述目标点之间的欧氏距离是否小于所述新障碍物与所述目标点之间的欧氏距离;
[0256]
若所述第三位置与所述目标点之间的欧氏距离小于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备已绕过所述新障碍物;
[0257]
若所述第三位置与所述目标点之间的欧氏距离大于或等于所述新障碍物与所述目标点之间的欧氏距离,则认定所述机器人设备未绕过所述新障碍物。
[0258]
可选的,所述第三位置移动单元,用于控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,包括:
[0259]
第三位置移动单元,用于控制所述机器人设备从所述第一位置向所述第二移动方向移动所述特定距离后到达第三位置,并计算所述机器人设备在所述第一位置向所述第二移动方向移动所述特定距离所对应的状态动作值函数;
[0260]
所述设备还包括:更新单元,用于基于所述状态动作值函数更新所述q值表。
[0261]
本申请还提供了一种路径规划设备,请参照图8,包括:
[0262]
获取单元801,用于获取机器人设备的应用环境的栅格地图及所述栅格地图对应的q值表,所述q值表包括所述机器人设备在同一位置向不同方向移动特定距离时所对应的
状态动作值函数;
[0263]
添加单元802,用于在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,所述起始点为所述机器人设备当前所在的位置,所述目标点为所述机器人设备希望到达的位置;
[0264]
起始点确定单元803,用于确定所述起始点为所述第一位置;
[0265]
目标移动方向确定单元804,用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向;
[0266]
第二位置移动单元805,用于驱动所述虚拟机器人从所述第一位置向所述目标移动方向移动所述特定距离到达第二位置;
[0267]
状态动作值函数更新单元806,用于基于所述q值表计算所述虚拟机器人向所述目标移动方向移动所述特定距离对应的状态动作值函数,并将所述状态动作值函数更新至所述q值表;
[0268]
目标点判断单元807,用于判断所述第二位置是否为所述目标点,若所述第二位置不是所述目标点,将所述第二位置确定为新的第一位置,返回触发目标移动方向确定单元804;若所述第二位置是所述目标点,触发结束单元808;
[0269]
结束单元808,用于结束流程。
[0270]
本实施例中,路径规划设备中各单元所执行的流程与前述图4所对应的实施例中描述的方法流程类似,此处不再赘述。
[0271]
可选的,所述目标移动方向确定单元,用于在避障规则和随机规则中基于一定概率选择一种作为目标移动规则,基于所述目标移动规则确定所述虚拟机器人的目标移动方向,包括:
[0272]
所述目标移动方向确定单元,用于确定所述机器人设备在所述第一位置的可移动方向的数量,所述机器人设备向所述可移动方向移动所述特定距离后所到达的位置不存在障碍物;
[0273]
若所述可移动方向的数量为1,则确定所述可移动方向为所述目标移动方向;
[0274]
若所述可移动方向的数量大于1,则生成一个预设范围内的随机数,判断所述随机数是否小于预设值;
[0275]
若所述随机数小于所述预设值,则基于避障规则确定所述目标移动方向;
[0276]
若所述随机数大于等于预设值,则在多个所述可移动方向中随机确定一个为所述目标移动方向。
[0277]
可选的,所述基于避障规则确定所述目标移动方向,包括:
[0278]
获取所述虚拟机器人在所述第一位置向各个所述可移动方向后所达到的各个第二位置与与所述目标点之间的欧氏距离;
[0279]
确定各个所述欧氏距离中最小的欧氏距离所对应的可移动方向为所述目标移动方向。
[0280]
可选的,所述添加单元用于,在所述初始栅格地图上添加虚拟机器人并设置所述虚拟机器人的起始点及目标点,包括:
[0281]
所述添加单元用于,在所述初始栅格地图上添加多个具有探索能力的虚拟机器人并设置所述多个虚拟机器人的起始点及目标点,所述多个虚拟机器人具有相同的目标点;
[0282]
状态动作值函数更新单元,用于将所述状态动作值函数更新至所述q值表,包括:
[0283]
状态动作值函数更新单元,用于对不同虚拟机器人同一探索动作对应的状态动作值函数进行知识共享,获得共享后的状态动作值函数;
[0284]
将所述共享后的状态动作值函数更新至所述q值表。
[0285]
图9是本申请实施例提供的一种路径规划设备的结构示意图,该服务器900可以包括一个或一个以上中央处理器(central processing units,cpu)901和存储器905,该存储器905中存储有一个或一个以上的应用程序或数据。
[0286]
本实施例中,中央处理器901中的具体功能模块划分可以与前述图6中所描述的各单元的功能模块划分方式类似,此处不再赘述。
[0287]
其中,存储器905可以是易失性存储或持久存储。存储在存储器905的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器901可以设置为与存储器905通信,在服务器900上执行存储器905中的一系列指令操作。
[0288]
服务器900还可以包括一个或一个以上电源902,一个或一个以上有线或无线网络接口903,一个或一个以上输入输出接口904,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
[0289]
该中央处理器901可以执行前述图1所示实施例中路径规划方法所执行的操作,具体此处不再赘述。
[0290]
图10是本申请实施例提供的一种路径规划设备的结构示意图,该服务器1000可以包括一个或一个以上中央处理器(central processing units,cpu)1001和存储器1005,该存储器1005中存储有一个或一个以上的应用程序或数据。
[0291]
本实施例中,中央处理器1001中的具体功能模块划分可以与前述图7中所描述的各单元的功能模块划分方式类似,此处不再赘述。
[0292]
其中,存储器1005可以是易失性存储或持久存储。存储在存储器1005的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1001可以设置为与存储器1005通信,在服务器1000上执行存储器1005中的一系列指令操作。
[0293]
服务器1000还可以包括一个或一个以上电源1002,一个或一个以上有线或无线网络接口1003,一个或一个以上输入输出接口1004,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
[0294]
该中央处理器1001可以执行前述图4所示实施例中路径规划方法所执行的操作,具体此处不再赘述。
[0295]
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现路径规划的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如图1所述的路径规划方法。
[0296]
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现路径规划的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如图4所述的路径规划方法。
[0297]
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产
品销售或使用时,可以存储在相应的一个计算机可读取存储介质中或集成为计算机程序产品以便执行上述方法。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0298]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0299]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0300]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0301]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0302]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0303]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1