本发明涉及机器人,特别是涉及一种路径规划方法、装置及一种机器人。
背景技术:
1、随着机器人技术的不断发展,机器人被广泛应用于生产、生活的多种场景中,执行针对指定区域的全覆盖作业,例如:在家庭中,使用机器人对客厅地面进行清洁;在工程中,使用机器人对指定区域的地面进行施工等。在机器人执行上述对指定区域的全覆盖作业时,需要为机器人的移动路径进行规划,以使机器人按照所规划的移动路径移动并完成对指定区域的全覆盖作业。
2、在相关技术中,通常首先控制移动机器人在指定区域中进行移动,完成对指定区域的探索,确定目标区域,之后,基于探索得到的指定区域的区域环境信息为移动机器人规划关于目标区域的全覆盖路径。
3、然而,在现有技术中,对指定区域进行探索的过程需要耗费较长的时间,从而,导致为移动机器人规划关于指定区域的全覆盖路径所耗费的时间较长,效率较低。
技术实现思路
1、本发明实施例的目的在于提供一种路径规划方法、装置及一种机器人,以提高关于指定区域的全覆盖路径的规划效率。具体技术方案如下:
2、第一方面,本发明实施例提供了一种路径规划方法,所述方法包括:
3、确定移动机器人在指定区域中的起始位置,以及所述起始位置的周围区域的初始地图信息;
4、基于所述初始地图信息以及预设的当前移动方向,确定预设二叉树结构的当前父节点和所述当前父节点的子节点,并将所述起始位置确定为所述当前父节点中的起始路径点;
5、控制所述移动机器人沿所述当前移动方向移动,并基于移动过程中获取的所途经路径点周围区域的当前地图信息,在所述当前父节点和所述当前父节点的子节点中添加路径点;
6、当在所述当前移动方向上不存在属于所述当前父节点的未途经路径点时,从所添加的全部路径点中确定未途经的指定路径点,并控制所述移动机器人移动到所述指定路径点;
7、将所述指定路径点所属节点确定为新的当前父节点,并将预设的指定方向确定为新的当前移动方向,返回所述控制所述移动机器人沿所述当前移动方向移动的步骤,直至所添加的全部路径点中不存在未途经路径点。
8、可选的,一种具体实现方式中,在所述当在所述当前移动方向上不存在属于所述当前父节点的未途经路径点时,从所添加的全部路径点中确定未途经的指定路径点之前,所述方法还包括:
9、当所述移动机器人检测到障碍物时,确定所述障碍物的体积;
10、若所述体积不大于预设体积阈值,则控制所述移动机器人绕过所述障碍物,并沿所述当前移动方向继续移动;
11、若所述体积大于所述体积阈值,则确定在所述当前移动方向上不存在属于所述当前父节点的未途经路径点。
12、可选的,一种具体实现方式中,所述从所添加的全部路径点中确定未途经的指定路径点,包括:
13、将所添加的全部路径点中,与所述移动机器人的当前位置之间的距离最近的未途经路径点,确定为所述指定路径点。
14、可选的,一种具体实现方式中,所述从所添加的全部路径点中确定未途经的指定路径点,包括:
15、确定所述移动机器人所经过的各个目标节点;
16、若各个目标节点中,存在与所述移动机器人的当前位置的距离小于预设距离的未途经路径点,则将各个目标节点所包括的路径点中,与所述移动机器人的当前位置之间的距离小于所述预设距离的未途经路径点,确定为指定路径点。
17、可选的,一种具体实现方式中,若各个目标节点中不存在与所述移动机器人的当前位置的距离小于预设距离的未途经路径点,所述从所添加的全部路径点中确定未途经的指定路径点,包括:
18、若所述当前父节点的子节点中存在未途经路径点,则将所述当前父节点的子节点中的未途经路径点确定为指定路径点;或者,
19、将所添加的全部路径点中,与所述移动机器人的当前位置之间的距离最近的未途经路径点,确定为所述指定路径点。
20、可选的,一种具体实现方式中,所述方法还包括:
21、在所述移动机器人移动中,控制所述移动机器人执行预设任务。
22、第二方面,本发明实施例提供了一种路径规划装置,所述装置包括:
23、位置确定模块,用于确定移动机器人在指定区域中的起始位置,以及所述起始位置的周围区域的初始地图信息;
24、节点确定模块,用于基于所述初始地图信息以及预设的当前移动方向,确定预设二叉树结构的当前父节点和所述当前父节点的子节点,并将所述起始位置确定为所述当前父节点中的起始路径点;
25、控制模块,用于控制所述移动机器人沿所述当前移动方向移动,并基于移动过程中获取的所途经路径点周围区域的当前地图信息,在所述当前父节点和所述当前父节点的子节点中添加路径点;
26、指定路径点确定模块,用于当在所述当前移动方向上不存在属于所述当前父节点的未途经路径点时,从所添加的全部路径点中确定未途经的指定路径点,并控制所述移动机器人移动到所述指定路径点;
27、返回模块,用于将所述指定路径点所属节点确定为新的当前父节点,并将预设的指定方向确定为新的当前移动方向,触发所述控制模块。
28、可选的,一种具体实现方式中,所述装置还包括:
29、检测模块,用于在所述当在所述当前移动方向上不存在属于所述当前父节点的未途经路径点时,从所添加的全部路径点中确定未途经的指定路径点之前,当所述移动机器人检测到障碍物时,确定所述障碍物的体积;
30、移动模块,用于若所述体积不大于预设体积阈值,则控制所述移动机器人绕过所述障碍物,并沿所述当前移动方向继续移动;
31、确定模块,用于若所述体积大于所述体积阈值,则确定在所述当前移动方向上不存在属于所述当前父节点的未途经路径点。
32、可选的,一种具体实现方式中,所述指定路径点确定模块,具体用于:
33、将所添加的全部路径点中,与所述移动机器人的当前位置之间的距离最近的未途经路径点,确定为所述指定路径点。
34、可选的,一种具体实现方式中,所述指定路径点确定模块,具体用于:
35、确定所述移动机器人所经过的各个目标节点;
36、若各个目标节点中,存在与所述移动机器人的当前位置的距离小于预设距离的未途经路径点,则将各个目标节点所包括的路径点中,与所述移动机器人的当前位置之间的距离小于所述预设距离的未途经路径点,确定为指定路径点。
37、可选的,一种具体实现方式中,若各个目标节点中不存在与所述移动机器人的当前位置的距离小于预设距离的未途经路径点,所述指定路径点确定模块,具体用于:
38、若所述当前父节点的子节点中存在未途经路径点,则将所述当前父节点的子节点中的未途经路径点确定为指定路径点;或者,
39、将所添加的全部路径点中,与所述移动机器人的当前位置之间的距离最近的未途经路径点,确定为所述指定路径点。
40、可选的,一种具体实现方式中,所述装置还包括:
41、任务执行模块,用于在所述移动机器人移动中,控制所述移动机器人执行预设任务。
42、第三方面,本发明实施例提供了一种机器人,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
43、存储器,用于存放计算机程序;
44、处理器,用于执行存储器上所存放的程序时,实现上述任一方法实施例的步骤。
45、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例的步骤。
46、第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法实施例的步骤。
47、本发明实施例有益效果:
48、以上可见,应用本发明实施例提供的方案,在为移动机器人规划关于指定区域的全覆盖路径时,可以首先将移动机器人放置在指定区域的任一位置处,之后,可以确定移动机器人在指定区域中的起始位置,以及起始位置的周围区域的初始地图信息;然后,可以基于初始地图信息以及预设的当前移动方向,确定预设二叉树结构的当前父节点和当前父节点的子节点,并将起始位置确定为当前父节点中的起始路径点;进而,可以控制移动机器人沿当前移动方向移动,并基于移动过程中获取的所途经路径点周围区域的当前地图信息,在当前父节点和当前父节点的子节点中添加路径点;这样,当在当前移动方向上不存在属于当前父节点的未途经路径点时,可以从所添加的全部路径点中确定未途经的指定路径点,控制移动机器人移动到指定路径点;并将指定路径点所属节点确定为新的当前父节点,并将预设的指定方向确定为新的当前移动方向,返回控制移动机器人沿当前移动方向移动的步骤,直至所添加的全部路径点中不存在未途经路径点。
49、基于此,应用本发明实施例提供的方案,在为移动机器人规划关于指定区域的全覆盖路径时,可以基于在控制机器人移动的过程中获取到的地图信息,在预设二叉树结构的各个节点中不断添加路径点,这样,在控制移动机器人移动的过程中,可以在对指定区域进行探索的同时,基于探索得到的地图信息为移动机器人规划全覆盖路径,从而,在对指定区域探索完成时,对全覆盖路径的规划随之完成。这样,无需对指定区域进行全面探索之后,再为移动机器人规划全覆盖路径,节省了对指定区域进行探索的时间,从而,提高了关于指定区域的全覆盖路径的规划效率。