一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器人控制方法、机器人控制装置及机器人与流程

2022-04-14 02:25:00 来源:中国专利 TAG:


1.本技术属于导航技术领域,尤其涉及一种机器人控制方法、机器人控制装置、机器人及计算机可读存储介质。


背景技术:

2.机器人的导航依赖于路径规划,其中,路径规划包含全局路径规划与局部路径规划。具体来说,前者用于对机器人移动至目标点进行整体规划;后者用于在以机器人当前位置为中心的一定范围内进行局部规划,可实现动态环境下的导航与避障。
3.通常情况下,随着机器人的不断移动,全局路径规划器与局部路径规划器都在不断进行相应计算,这需要大量的算力支撑。然而,在部分场景下,例如机器人执行送餐任务时,或者机器人深夜巡航时,机器人所处环境可能并不会发生较大变化,而机器人仍在不断的进行路径规划的相应计算,这导致机器人的算力被浪费。


技术实现要素:

4.本技术提供了一种机器人控制方法、机器人控制装置、机器人及计算机可读存储介质,可使得机器人在固定场景下执行任务时,节省机器人的算力。
5.第一方面,本技术提供了一种机器人控制方法,包括:
6.基于当前的全局路径控制机器人向目标点移动,其中,上述全局路径在初始状态下由起始点、上述目标点及预设的全局地图规划而得;
7.在上述机器人向上述目标点移动的过程中,获取上述机器人所处的局部区域的局部地图;
8.计算上述局部地图与区域地图的相似度,其中,上述区域地图为:在上述全局地图中与上述局部区域对应的地图;
9.若上述相似度大于预设的相似度阈值,则返回执行上述基于当前的全局路径控制机器人向目标点移动的步骤及后续步骤。
10.第二方面,本技术提供了一种机器人控制装置,包括:
11.控制模块,用于基于当前的全局路径控制机器人向目标点移动,其中,上述全局路径在初始状态下由起始点、上述目标点及预设的全局地图规划而得;
12.获取模块,用于在上述机器人向上述目标点移动的过程中,获取上述机器人所处的局部区域的局部地图;
13.计算模块,用于计算上述局部地图与区域地图的相似度,其中,上述区域地图为:在上述全局地图中与上述局部区域对应的地图;
14.上述控制模块,还用于在上述相似度大于预设的相似度阈值的情况下被再次触发运行。
15.第三方面,本技术提供了一种机器人,上述机器人包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时
实现如上述第一方面的方法的步骤。
16.第四方面,本技术提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
17.第五方面,本技术提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
18.本技术与现有技术相比存在的有益效果是:基于当前的全局路径控制机器人向目标点移动,其中,全局路径在初始状态下是由起始点、目标点及预设的全局地图规划而得的。在机器人向目标点移动的过程中,获取机器人所处的局部区域的局部地图,并计算上述局部地图与区域地图的相似度,其中,该区域地图为:在全局地图中与局部区域对应的地图。若计算所得的相似度大于预设的相似度阈值,则可以认为此时机器人所处的环境还没有发生较大的变化,也即至少局域区域中的实时环境与已记录的环境是近乎一样的。此时无需对局部路径规划器和全局路径规划器发起调用,也即不会重新规划全局路径和/或局部路径,只需要按照原来已规划好的全局路径继续向目标点移动即可,可以大大节省机器人的算力。
19.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术实施例提供的机器人控制方法的实现流程示意图;
22.图2是本技术实施例提供的机器人控制装置的结构框图;
23.图3是本技术实施例提供的机器人的结构示意图。
具体实施方式
24.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
25.为了说明本技术所提出的技术方案,下面通过具体实施例来进行说明。
26.下面对本技术实施例提供的一种机器人控制方法进行描述。该机器人控制方法应用于机器人;或者,该机器人控制方法也可应用于与机器人建立了通讯连接的控制设备,此处不对该机器人控制方法的执行主体作出限定。以该机器人控制方法应用于机器人为例,请参阅图1,该机器人控制方法包括:
27.步骤101,基于当前的全局路径控制机器人向目标点移动。
28.在室内场景或其它环境较少发生变化的场景下,机器人可预先通过gmapping算法或其它建图算法,构建出当前所处场景的全局地图,并将全局地图保存于机器人的本地存
储空间。
29.机器人在该场景内接收到任务后,可对该任务进行解析,获得该任务的目标点,该目标点为机器人执行该任务所需要前往的位置。同时,机器人还可通过定位算法对自身进行定位,获得该任务的起始点,该起始点即为机器人准备开始执行该任务时所处的位置。可以理解,为了顺利执行该任务,机器人需要从该起始点移动至目标点。
30.考虑到该场景内很可能存在一些障碍物影响到机器人的移动,为了让机器人能够最快速地到达目标点,机器人可规划出一条全局路径对自身进行导航。其中,该全局路径在初始状态下是根据起始点、目标点及全局地图规划而得的。也即,机器人首先会按照该初始状态下所规划而得的全局路径进行移动。
31.步骤102,在机器人向目标点移动的过程中,获取机器人所处的局部区域的局部地图。
32.在机器人向目标点移动的过程中,机器人的实时位置会不断发生更改。一般的机器人都配备有雷达等环境感知设备,机器人由此可通过环境感知设备的实时扫描获得其当前所处的局部区域的最新障碍物情况,并根据该最新障碍物情况得到局部地图。可以理解,该局部地图表示了机器人当前所处的局部区域的最新环境。
33.步骤103,计算局部地图与区域地图的相似度。
34.可以理解,如果机器人当前所处的局部区域的最新环境与原来的全局地图所表示的环境相比,没有出现较大变化,则可认为基于该原来的全局地图所构建的全局路径在当前仍然适用。在本技术实施例中,可通过计算局部地图与区域地图的相似度,来判断环境是否出现较大变化,其中,该区域地图指的是:在全局地图中,与局部区域对应的地图。
35.在一些示例中,可通过如下方式从全局地图中划定出区域地图:机器人在获取到局部地图后,可以计算出该局部地图的长度及宽度;考虑到一般局部地图是以机器人自身为中心而构建的,因而,机器人可获取自身当前所处的位置;基于以上所获得的这些参数,机器人可在全局地图中,以该当前所处的位置为中心,以该长度为区域地图的长度,以该宽度为区域地图的宽度,划定出对应的区域地图。其中,局部地图与全局地图所采用的比例尺相同。可以理解,该区域地图与该局部地图完全对应,只是该区域地图是全局地图中的一部分,表示的是该局部区域的原来环境,而该局部地图表示的是该局部区域当前的最新环境。
36.步骤104,若相似度大于预设的相似度阈值,则返回执行步骤101及后续步骤。
37.机器人可预先设定一相似度阈值。仅作为示例,该相似度阈值可以是0.95;当然,该相似度阈值也可以是其它数值,此处不作限定。当计算出的局部地图与区域地图的相似度大于该相似度阈值时,即认为局部区域的最新环境相比原来环境,并未发生较大变化。此时,不需要重新规划全局路径,也即原来的全局路径无更改,其仍适用于局部区域当前的最新环境。
38.可以理解,理想状态下,在初始规划好全局路径后,如果该全局路径上的各点所处的局部区域的最新环境与原来环境相比,均未发生较大变化,则步骤101-104会被反复执行。在这种理想状态下,只需规划一次全局路径(也即初始的一次),即可指引机器人安全抵达目标点,可大大节省机器人的算力。
39.在一些实施例中,在步骤103之后,当计算出的局部地图与区域地图的相似度小于或等于该相似度阈值时,即认为该局部区域的最新环境相比原来环境,发生了较大变化。此
时,机器人有一定可能需要重新规划全局路径,具体可通过如下方式确定重新规划全局路径的必要性:
40.基于局部地图,判断该全局路径在该局部区域中的路段是否存在障碍物;若该路段存在障碍物,则确认有必要重新规划全局路径;反之,若该路段不存在障碍物,则确认没有必要重新规划全局路径,也即此时仍可返回执行步骤101,按照原有的全局路径移动。下面阐述作出上述判断的依据:
41.局部地图表示的是局部区域的最新环境。由于本技术实施例中,机器人一直按照全局路径进行移动,而局部区域是机器人当前所处的区域,因而,原来的全局路径中,必然有一部分路段是落在了该局部区域内。机器人通过查阅该局部地图,即可判断这一部分落在局部区域内的路段上是否有障碍物。显然,如果该路段上有障碍物,那么该障碍物就会对机器人的移动造成阻碍。反之,如果该路段上没有障碍物,那么就可以说明该局部区域的环境变化发生在其它地方,这些其它地方的环境变化并不会影响到机器人的移动。
42.在一些实施例中,当路段存在障碍物时,机器人可通过如下过程重新规划全局路径:
43.首先,机器人可基于局部地图对全局地图进行更新。仅作为示例,可以直接将全局地图中区域地图这一部分替换为局部地图;也即,将局部地图覆盖至全局地图的对应位置。或者,也可以是基于局部地图与区域地图的差异部分,对全局地图进行标注,此处不对该全局地图的更新方式作出限定。
44.然后,机器人可基于其当前所处的位置、任务的目标点及更新后的全局地图重新规划全局路径。考虑到此时机器人已经从起始点移动到了当前所处的位置,因而在重新规划全局路径时,可不再考虑从起始点到目标点的路径,而是直接考虑当前所处的位置到目标点的路径。当然,机器人也可基于起始点、任务的目标点及更新后的全局地图重新规划全局路径,只是这种方式无法保障机器人当前所处的位置处于重新规划后的全局路径上,有一定的安全风险。
45.最后,机器人可返回执行步骤101及后续步骤,也即按照当前的全局路径继续向目标点移动。可以理解,在重新规划全局路径后,机器人移动时所依赖的当前的全局路径会更改为重新规划后所得的全局路径,也即最新的全局路径。
46.由上可知,在本技术实施例中,机器人在室内场景或其它环境较少发生变化的场景下,其自始至终均不会调用局部路径规划器;也即机器人全程都仅依赖于全局路径规划器所规划的全局路径。在机器人按照全局路径移动的过程中,只要机器人所处的环境还没有发生较大的变化,就按照原来已规划好的全局路径继续向目标点移动。而在机器人所处的环境发生较大变化时,如果原来已规划好的全局路径上没有障碍物,也仍按照该全局路径继续向目标点移动。实际上,在本技术实施例中,只有机器人所处的环境已发生较大的变化,且原来已规划好的全局路径上出现有障碍物时,机器人才会再次调用全局路径规划器,对全局路径进行重新规划,并按照重新规划的全局路径继续移动。可以看出,本技术实施例中,机器人只有极特殊的情况下才需要重新规划全局路径,这大大节省了机器人的算力。
47.在一些实施例中,机器人可通过如下方式计算局部地图与区域地图的相似度:
48.判断每个地图点对是否满足预设条件,统计满足该预设条件的地图点对的数量,并基于该数量及地图点对的总数量计算相似度。
49.下面先对地图点对进行介绍:由前文可知,区域地图与局部地图完全对应,二者拥有相同数量的地图点(也即像素点),且二者均表示了局部区域的环境情况。基于此,在区域地图及局部地图中,位置对应的两个地图点实际上均指向了局部区域的同一处,则该位置对应的两个地图点即可作为一个地图点对。其中,位置对应的两个地图点具体可以为:拥有相同坐标的两个地图点。仅作为示例,局部地图中,坐标为(x1,y1)的地图点为p
11
;区域地图中,坐标为(x1,y1)的地图点为p
21
;则该地图点p
11
及该地图点p
21
即构成了一个地图点对。
50.记区域地图中的地图点的数量为n,则局部地图中的地图点的数量也为n,二者可以构成n个地图点对,也即地图点对的总数量为n。为便于说明,针对任一地图点对,可将该地图点对中属于局部地图的地图点记作第一地图点,将该地图点对中属于区域地图的地图点记作第二地图点。
51.下面对机器人判断地图点对是否满足预设条件的过程作出说明:
52.机器人的预设条件中包括第一预设条件,其可通过如下方式判断某一地图点对是否满足该预设条件:获取该地图点对中的第一地图点的状态及第二地图点的状态,其中,地图点的状态用于表示该地图点是否空闲;然后,机器人可基于第一地图点的状态及第二地图点的状态,判断该地图点对是否满足第一预设条件,该第一预设条件具体为:该第一地图点的状态及该第二地图点的状态相同。
53.一般来说,地图中的各个地图点(也即像素点)有两种可能的状态:一种是空闲状态,在二值化后的地图中通常为白色,用于表示该地图点没有障碍物;另一种是非空闲状态,在二值化后的地图中通常为黑色,用于表示该地图点有障碍物。基于以上对地图点的状态的定义,即可通过第一地图点的状态、第二地图点的状态及第一预设条件,对局部区域内的环境是否出现较大变化进行判断。显然,只要某一地图点对满足该第一预设条件,则可直接确认该地图点对满足预设条件。
54.然而,环境变化除了可以是原本空闲的位置新增了障碍物之外,也可以是原本的障碍物被移除。可以理解,原本的障碍物被移除实际上并不会影响到机器人在原来的全局路径上的移动。基于此,机器人的预设条件中还包括第二预设条件,该第二预设条件可作为第一预设条件的补充。可以认为,只要某一地图点对满足第一预设条件及第二预设条件中的任意项,就可认为该地图点对满足预设条件。
55.考虑到第二预设条件为第一预设条件的补充,因而,通常情况下,机器人可以先判断地图点对是否满足第一预设条件,在该地图点对不满足第一预设条件时,再判断该地图点对是否满足第二预设条件,以节省机器人的算力。
56.机器人具体可基于地图点对中的第一地图点的状态,判断该地图点对是否满足第二预设条件,该第二预设条件为:该第一地图点的状态为预设状态。由前文可知,原本的障碍物被移除实际上并不会影响到机器人在原来的全局路径上的移动,因而这里的预设状态指的是:空闲状态。
57.为便于理解上述判断过程,下面以具体实例作出说明。
58.局部地图中的p
11
及区域地图中的p
21
构成了一个地图点对。在获取了p
11
及p
21
的状态后,共有四种情况:
59.第一种情况,p
11
为空闲状态,p
21
为空闲状态。通过判断可知,该地图点对满足第一预设条件。此种情况下,确定该地图点对满足预设条件。
60.第二种情况,p
11
为非空闲状态,p
21
为非空闲状态。通过判断可知,该地图点对满足第一预设条件。此种情况下,确定该地图点对满足预设条件。
61.第三种情况,p
11
为空闲状态,p
21
为非空闲状态。通过判断可知,该地图点对不满足第一预设条件,但满足第二预设条件。此种情况下,确定该地图点对满足预设条件。
62.第四种情况,p
11
为非空闲状态,p
21
为空闲状态。通过判断可知,该地图点对不满足第一预设条件,且不满足第二预设条件。此种情况下,确定该地图点对不满足预设条件。
63.在遍历所有的地图点对后,可统计出满足预设条件的地图点对的数量。基于满足预设条件的地图点对的数量,以及地图点对的总数量,可通过如下公式计算相似度:其中,s为相似度;m为满足预设条件的地图点对的数量;n在前文已有描述,为地图点对的总数量。
64.在一些实施例中,为进一步节省算力,在机器人接收到任务,获得该任务的起始点和目标点后,即可更新该起始点及该目标点的被调用次数。也即,确定当前是第几次基于该起始点及该目标点规划全局路径。如果该被调用次数已达到预设的次数阈值,则认为该起始点及该目标点是常用的任务点,此时可将规划所得的全局路径进行保存,以提高后续对常用的任务点的路径规划速度。需要注意的是,考虑到一般情况下,起始点和目标点互换时,所规划出的全局路径相同,因而,针对任意两个点,机器人在更新被调用次数时,实际并不考虑哪一点为起始点,哪一点为目标点。也即,机器人是将该目标点及该起始点作为一个组合(而非排列)进行考虑的。
65.仅作为示例,假定t1时刻,机器人的任务是从p0点到p1点,此时记调用次数为1;假定t2时刻,机器人的任务是从p1点到p0点,虽然此时与t1时刻相比,起始点及目标点发生了互换,机器人仍会更新其被调用次数,也即此时可记被调用次数为2;以此类推,只要被调用的点是p0及p1,不管是从p0点到p1点还是从从p1点到p0点,机器人都会对其被调用次数进行更新,直至该被调用次数达到预设的次数阈值时,即可保存对应的全局路径。
66.对应于前文所提出的机器人控制方法,本技术实施例提供了一种机器人控制装置。请参阅图2,本技术实施例中的机器人控制装置200包括:
67.控制模块201,用于基于当前的全局路径控制机器人向目标点移动,其中,上述全局路径在初始状态下由起始点、上述目标点及预设的全局地图规划而得;
68.获取模块202,用于在上述机器人向上述目标点移动的过程中,获取上述机器人所处的局部区域的局部地图;
69.计算模块203,用于计算上述局部地图与区域地图的相似度,其中,上述区域地图为:在上述全局地图中与上述局部区域对应的地图;
70.上述控制模块201,还用于在上述相似度大于预设的相似度阈值的情况下被再次触发运行。
71.可选地,上述计算模块203,包括:
72.判断单元,用于判断每个地图点对是否满足预设条件,其中,每个上述地图点对包括第一地图点及第二地图点,上述第一地图点为上述局部地图中的一个地图点,上述第二地图点为上述区域地图中的一个地图点,且上述第一地图点在上述局部地图的位置与上述第二地图点在上述区域地图中的位置相对应;
73.统计单元,用于统计满足上述预设条件的地图点对的数量;
74.计算单元,用于基于上述数量及上述地图点对的总数量计算相似度。
75.可选地,上述预设条件包括第一预设条件,上述判断单元,包括:
76.获取子单元,用于针对每个地图点对,获取上述地图点对中的第一地图点的状态及第二地图点的状态,其中,上述状态用于表示对应的地图点是否空闲;
77.第一判断子单元,用于基于上述第一地图点的状态及第二地图点的状态,判断上述地图点对是否满足上述第一预设条件,其中,上述第一预设条件为:上述第一地图点的状态及上述第二地图点的状态相同。
78.可选地,上述预设条件还包括第二预设条件;上述判断单元,还包括:
79.第二判断子单元,用于若上述地图点对不满足上述第一预设条件,则基于上述第一地图点的状态,判断上述地图点对是否满足上述第二预设条件,其中,上述第二预设条件为:上述第一地图点的状态为预设状态。
80.可选地,上述机器人控制装置200还包括:
81.判断模块,用于若上述相似度小于或等于预设的相似度阈值,则基于上述局部地图判断上述全局路径在上述局部区域中的路段是否存在障碍物;
82.上述控制模块201,还用于在上述路段不存在障碍物的情况下被再次触发。
83.可选地,上述机器人控制装置200还包括:
84.更新模块,用于若上述路段存在障碍物,则基于上述局部地图对上述全局地图进行更新;
85.重规划模块,用于基于上述机器人当前所处的位置、上述目标点及更新后的上述全局地图重新规划上述全局路径;
86.上述控制模块201,还用于在重新规划了上述全局路径的情况下被再次触发。
87.可选地,上述机器人控制装置200还包括:
88.统计模块,用于统计上述起始点及上述目标点的被调用次数;
89.保存模块,用于若上述被调用次数达到预设的次数阈值,则保存上述全局路径。
90.由上可见,通过本技术实施例,机器人在室内场景或其它环境较少发生变化的场景下,其自始至终均不会调用局部路径规划器;也即机器人全程都仅依赖于全局路径规划器所规划的全局路径。在机器人按照全局路径移动的过程中,只要机器人所处的环境还没有发生较大的变化,就按照原来已规划好的全局路径继续向目标点移动。而在机器人所处的环境发生较大变化时,如果原来已规划好的全局路径上没有障碍物,也仍按照该全局路径继续向目标点移动。实际上,在本技术实施例中,只有机器人所处的环境已发生较大的变化,且原来已规划好的全局路径上出现有障碍物时,机器人才会再次调用全局路径规划器,对全局路径进行重新规划,并按照重新规划的全局路径继续移动。可以看出,本技术实施例中,机器人只有极特殊的情况下才需要重新规划全局路径,这大大节省了机器人的算力。
91.本技术实施例还提供了一种机器人,请参阅图3,本技术实施例中的机器人3包括:存储器301,一个或多个处理器302(图3中仅示出一个)及存储在存储器301上并可在处理器上运行的计算机程序。其中,存储器301用于存储软件程序以及单元,处理器302通过运行存储在存储器301的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器302通过运行存储在存储器301的上述计算机程序时实
现以下步骤:
92.基于当前的全局路径控制机器人向目标点移动,其中,上述全局路径在初始状态下由起始点、上述目标点及预设的全局地图规划而得;
93.在上述机器人向上述目标点移动的过程中,获取上述机器人所处的局部区域的局部地图;
94.计算上述局部地图与区域地图的相似度,其中,上述区域地图为:在上述全局地图中与上述局部区域对应的地图;
95.若上述相似度大于预设的相似度阈值,则返回执行上述基于当前的全局路径控制机器人向目标点移动的步骤及后续步骤。
96.假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述将上述局部地图与区域地图进行比对,包括:
97.判断每个地图点对是否满足预设条件,其中,每个上述地图点对包括第一地图点及第二地图点,上述第一地图点为上述局部地图中的一个地图点,上述第二地图点为上述区域地图中的一个地图点,且上述第一地图点在上述局部地图的位置与上述第二地图点在上述区域地图中的位置相对应;
98.统计满足上述预设条件的地图点对的数量;
99.基于上述数量及上述地图点对的总数量计算相似度。
100.在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述预设条件包括第一预设条件,上述判断每个地图点对是否满足预设条件,包括:
101.针对每个地图点对,获取上述地图点对中的第一地图点的状态及第二地图点的状态,其中,上述状态用于表示对应的地图点是否空闲;
102.基于上述第一地图点的状态及第二地图点的状态,判断上述地图点对是否满足上述第一预设条件,其中,上述第一预设条件为:上述第一地图点的状态及上述第二地图点的状态相同。
103.在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述预设条件还包括第二预设条件,在上述判断上述地图点对是否满足上述第一预设条件之后,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
104.若上述地图点对不满足上述第一预设条件,则基于上述第一地图点的状态,判断上述地图点对是否满足上述第二预设条件,其中,上述第二预设条件为:上述第一地图点的状态为预设状态。
105.在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,在上述计算上述局部地图与区域地图的相似度之后,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
106.若上述相似度小于或等于预设的相似度阈值,则基于上述局部地图判断上述全局路径在上述局部区域中的路段是否存在障碍物;
107.若上述路段不存在障碍物,则返回执行上述基于当前的全局路径控制机器人向目标点移动的步骤及后续步骤。
108.在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,在上
述基于上述局部地图判断上述全局路径在上述局部地图中的路段是否存在障碍物之后,处理器302通过运行存储在存储器301的上述计算机程序时还实现以下步骤:
109.若上述路段存在障碍物,则基于上述局部地图对上述全局地图进行更新;
110.基于上述机器人当前所处的位置、上述目标点及更新后的上述全局地图重新规划上述全局路径;
111.返回执行上述基于当前的全局路径控制机器人向目标点移动的步骤及后续步骤。
112.在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础而提供的第七种可能的实施方式中,处理器302通过运行存储在存储器301的上述计算机程序时实现以下步骤:
113.统计上述起始点及上述目标点的被调用次数;
114.若上述被调用次数达到预设的次数阈值,则保存上述全局路径。
115.应当理解,在本技术实施例中,所称处理器302可以是cpu,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
116.存储器301可以包括只读存储器和随机存取存储器,并向处理器302提供指令和数据。存储器301的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器301还可以存储设备类别的信息。
117.由上可见,通过本技术实施例,机器人在室内场景或其它环境较少发生变化的场景下,其自始至终均不会调用局部路径规划器;也即机器人全程都仅依赖于全局路径规划器所规划的全局路径。在机器人按照全局路径移动的过程中,只要机器人所处的环境还没有发生较大的变化,就按照原来已规划好的全局路径继续向目标点移动。而在机器人所处的环境发生较大变化时,如果原来已规划好的全局路径上没有障碍物,也仍按照该全局路径继续向目标点移动。实际上,在本技术实施例中,只有机器人所处的环境已发生较大的变化,且原来已规划好的全局路径上出现有障碍物时,机器人才会再次调用全局路径规划器,对全局路径进行重新规划,并按照重新规划的全局路径继续移动。可以看出,本技术实施例中,机器人只有极特殊的情况下才需要重新规划全局路径,这大大节省了机器人的算力。
118.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
119.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
120.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
121.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
122.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
123.上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
124.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献