机器人任务执行方法、装置、机器人及存储介质与流程

文档序号:31625991发布日期:2022-09-24 00:38阅读:165来源:国知局
机器人任务执行方法、装置、机器人及存储介质与流程

1.本技术涉及通信领域,具体而言,涉及一种机器人任务执行方法、装置、机器人及存储介质。


背景技术:

2.随着人工成本提升及机器人智能化技术日渐成熟,越来越多的机器人被应用在一定场景下解决特定问题。例如,清洁机器人主要完成家庭及典型商用场景的清洁工作,其核心工作内容是对目标场景完成遍历清扫工作。清洁机器人的核心功能体现在机器人的路径规划,尤其全覆盖路径规划能够反映机器人的智能程度及市场应用前景。
3.目前,清洁机器人的全覆盖路径规划主要采用以下两种方法:
4.1、基于人工教学(训练)方法:使用者首先教学(训练)一条全覆盖目标区域路径,清洁机器人完全跟踪教学(训练)路径从而完成整个覆盖清扫过程。由于机器人行走路径由人决定,所以机器人教学路径可以轻松避开结构化复杂场景。此方案其一般应用于结构化复杂场景,例如货架,高空复杂障碍物等,参见图1所示。
5.2、基于边界全覆盖方法:首先教学(训练)一个边界,清洁机器人根据边界约束在包络区域内进行完全自主规划全覆盖规划,机器人根据规划路径,完成清扫结果。但是,由于清扫区域包络的环境不可确定性,在结构化场景较为复杂场景,机器人很难完全自主完成全覆盖式清扫,此方案通常应用于结构化较为简单的场景(开阔大堂,广场等),参见图2所示。
6.对于第1种方法而言,对环境适应性强,但是一旦教学(训练)完毕,路径将不能更改,而其中由于人为失误所造成的部分区域重复会导致效率低下,且造成清扫设备的不必要磨损。对于第2种方法而言,仅适用于结构化较为简单的场景环境,其适应能力较弱,应用场景非常有限。


技术实现要素:

7.本技术的主要目的在于公开了一种机器人任务执行方法、装置、机器人及存储介质,以至少解决相关技术中全覆盖路径规划方法清洁效率低下,适应能力较弱,应用场景有限等问题。
8.根据本技术的一个方面,提供了一种机器人任务执行方法。
9.根据本技术的机器人任务执行方法包括:获取训练模式下的训练轨迹以及环境地图;结合所述环境地图和所述训练轨迹,生成机器人待执行任务的目标区域,其中,所述目标区域为所述机器人能自主完成任务的最大包络区域;控制所述机器人遍历所述目标区域,直至所述机器人完成所述待执行任务。
10.根据本技术的另一方面,提供了一种机器人任务执行装置。
11.根据本技术的机器人任务执行装置包括:获取模块,用于获取训练模式下的训练轨迹以及环境地图;生成模块,用于根据所述环境地图和所述训练轨迹,生成机器人待执行
任务的目标区域,其中,所述目标区域为所述机器人能自主完成任务的最大包络区域;执行模块,用于控制机器人遍历所述目标区域,直至所述机器人完成所述待执行任务。
12.根据本技术的又一方面,提供了一种机器人。
13.根据本技术的机器人包括:包括:存储器及处理器,上述存储器,用于存储计算机执行指令;上述处理器,用于执行上述存储器存储的计算机执行指令,使得上述机器人执行如上述任一项上述的方法。
14.根据本技术的再一方面,提供了一种计算机可读存储介质。
15.根据本技术的计算机可读存储介质包括:包括:存储器及处理器,上述存储器,用于存储计算机执行指令;上述处理器,用于执行上述存储器存储的计算机执行指令,使得上述机器人执行如上述任一项上述的方法。
16.根据本技术,获取教学(训练)模式下的训练轨迹和环境地图,自动生成机器人待执行任务(例如,清扫,洗地等任务)的目标区域,其中,上述目标区域为上述机器人能自主完成任务的最大包络区域。控制上述机器人遍历上述目标区域,直至上述机器人完成上述待执行任务。解决了相关技术中基于人工教学方法效率低下,基于边界全覆盖方法适应能力较弱,应用场景有限等问题,可以稳定高效地在多种环境区域执行任务,并可以适用于多种应用场景。
附图说明
17.图1是根据相关技术的基于教学方法实现路径规划的示意图;
18.图2是根据相关技术的基于边界全覆盖方法实现路径规划的示意图;
19.图3是根据本技术实施例的机器人任务执行方法的流程图;
20.图4是根据本技术优选实施例的教学模式下获取环境地图和训练轨迹的示意图;
21.图5根据本技术优选实施例的待执行任务的目标区域的示意图;
22.图6是根据本技术优选实施例的禁区范围及目标区域边界的示意图;
23.图7是根据本技术优选实施例的划分区域的示意图;
24.图8是根据本技术优选实施例的机器人遍历子区域执行任务的示意图;
25.图9是根据本技术优选实施例的子区域中两种遍历模式的示意图;
26.图10是根据本技术实施例的机器人任务执行装置的结构框图。
具体实施方式
27.下面结合说明书附图对本技术的具体实现方式做一详细描述。
28.根据本技术实施例,还提供了一种机器人任务执行方法。
29.图3是根据本技术实施例的机器人任务执行方法的流程图。如图3所示,该机器人任务执行方法包括:
30.步骤s301:获取训练模式下的训练轨迹以及环境地图;
31.步骤s302:根据上述环境地图和上述训练轨迹,生成机器人待执行任务的目标区域,其中,上述目标区域为上述机器人能自主完成任务的最大包络区域;
32.步骤s303:控制上述机器人遍历上述目标区域,直至上述机器人完成上述待执行任务。
33.相关技术中,对于人工教学(训练)方法,由于人的主观性,导致清扫区域的大量过度清扫与漏扫,因此该方法的效率和稳定性较低。对于基于边界全覆盖方法,包含复杂障碍物的区域(如图1所示)的应用场景中,由于清扫区域包络的环境不可确定性,该方法环境适应能力较弱。采用图1所示的方案,先获取教学(训练)模式下的训练轨迹和环境地图,结合训练轨迹和环境地图自动生成机器人待执行任务(例如,清扫,洗地等任务)的目标区域,其中,上述目标区域为上述机器人能自主完成任务的最大包络区域。控制上述机器人遍历上述目标区域,直至上述机器人完成上述待执行任务。可以稳定高效地在多种环境区域执行任务,并可以适用于多种应用场景。
34.其中,上述环境地图可以是基于世界坐标系建立的世界地图,进一步可以是2d栅格地图或者3d栅格地图等形式。
35.优选地,获取训练模式下的训练轨迹以及环境地图可以进一步包括:控制机器人从初始位置开始运动时,基于所述初始位置建立世界坐标系,并基于所述世界坐标系构建世界地图;在所述机器人运动过程中,记录所述机器人的训练轨迹、并记录所述训练轨迹上的至少一个目标位置信息,以及各个所述目标位置信息分别对应的业务操作(例如,业务操作包括:转动、手臂做动作、喷水、吸尘、绕行、打开相应设备等);在所述世界地图中绑定相关信息,其中,所述相关信息包括:所述训练轨迹、所述至少一个目标位置信息、以及各个所述目标位置信息分别对应的业务操作信息,与所述世界地图进行绑定。
36.在机器人建图阶段,机器人基于初始位置o建立世界坐标系,并基于该世界坐标系建立世界地图。例如,控制机器人从初始位置o出发和运动(例如,使用遥控等方式控制机器人运动),根据业务功能需求对工作场景进行局部覆盖或者遍历覆盖,并运行到目标位置a,在目标位置a执行相应的业务操作,机器人在执行上述操作的过程中,通过安装在机器人不同位置的多个传感器感知外界信息,如雷达传感器、视觉传感器、红外传感器、超声波传感器、碰撞传感器等,将各个传感器数据纵向映射到2d平面填充到栅格地图中;也可根据机器人机身高度,建立3d栅格地图,在使用时对3d栅格图降维处理,将3d栅格地图压缩为2d栅格地图。将机器人建立的栅格地图记录为map1,并将机器人的训练轨迹、目标位置a及在运动过程中执行的业务操作根据机器人实时坐标记录绑定到所建地图map1中。
37.同理,对于如目标位置b、目标位置c等等多个目标位置,重复执行上述操作,控制机器人从目标位置a运动至目标位置b、再从目标位置b运动至目标位置c,再从目标位置c运动至其他目标位置等一系列操作,在执行上述操作的过程中,机器人基于目标场景建立环境地图(例如,上述世界地图),目标位置如a、b、c等可以是人工基于业务需求选定,目标位置的数量可以大于0,且小于或者等于业务需求数量。
38.在所述机器人运动过程中,可以记录所述机器人的训练轨迹,例如,将训练轨迹上的各个路径点的坐标信息记录到list1中;并记录所述训练轨迹上的至少一个目标位置信息,以及各个所述目标位置信息分别对应的业务操作,例如,将目标位置a的坐标信息、以及与目标位置a对应的业务操作(可以以业务操作代码形式等)记录到list2中。之后,将list1和list2分别与map1进行绑定。
39.在完成目标场景的建图,并且记录所述机器人的训练轨迹、所述训练轨迹上的至少一个目标位置信息,以及各个所述目标位置信息分别对应的业务操作之后,控制机器人回到初始位置o。
40.优选地,上述步骤s302中,生成机器人待执行任务的目标区域可以进一步包括:在上述环境地图内,对上述训练轨迹进行膨胀,获取上述机器人能自主完成任务的最大包络区域。
41.在优选实施过程中,在所述环境地图(以栅格地图为例)内,对所述训练轨迹进行膨胀,获取所述机器人能自主完成任务的最大包络区域可以进一步包括以下处理:分别将所述训练轨迹左侧m层栅格和所述训练轨迹右侧n层栅格的栅格信息导入至新建的覆盖区域地图中,其中,所述机器人单次覆盖宽度等于m+n+1,m和n均为大于或者等于1的整数;在所述覆盖区域地图中提取覆盖区域的内包络及外包络,叠加所述内包络向内可膨胀区域,以及所述外包络向外可膨胀区域,得到所述机器人能自主完成任务的最大包络区域。
42.其中,上述m可以与n相等,m也可以与n不等,当m等于n时,表示沿训练轨迹向左右两侧膨胀的栅格区域对称,即向训练轨迹的左侧膨胀的栅格层数等于训练轨迹的右侧膨胀的栅格层数;例如,机器人单次覆盖宽度w,根据w=m+n+1可知,m=n=(w-1)/2。当m不等于n时,表示沿训练轨迹向左右两侧膨胀的栅格区域不对称,即向训练轨迹的左侧膨胀的栅格层数不等于训练轨迹的右侧膨胀的栅格层数。
43.例如,以家用小型扫地(兼拖地功能)机为例进行说明。对于家用小型扫地机通常可以使用app中虚拟方向键控制机器人运动,从而可以完成整个目标区域的清扫遍历,得到清扫目标区域的环境地图及清扫训练轨迹。如图4所示,其中(a)图为需要清扫的目标环境,其中包含复杂障碍物区域。(b)图示出了使用app控制小型扫地机完成遍历清扫的轨迹,可以看到教学(训练)轨迹完全避开了复杂障碍物区域,最终得到(c)图所示的栅格地图,以及(d)图所示的训练轨迹。
44.之后,基于栅格地图及教学(训练)轨迹,将训练轨迹进行膨胀,可以获取上述机器人能自主完成任务的上述最大包络区域,如图5所示。具体地,在栅格地图上,确定每一条训练轨迹需要外扩的栅格层数,例如,机器人单次覆盖宽度相当于m+n+1层栅格宽度,将训练轨迹分别向左侧扩展m层栅格,将训练轨迹分别向右侧扩展n层栅格。将外扩后区域内的栅格作为训练轨迹虚拟膨胀栅格,将训练轨迹虚拟膨胀栅格的信息导入新建的覆盖区域地图covermap中,在covermap中提取覆盖区域的内包络及外包络,叠加所述内包络向内可膨胀区域,以及所述外包络向外可膨胀区域,最终获取上述机器人能自主完成任务的最大包络区域。从图5中可以看出此最大包络区域完全覆盖了清扫区域且排除了机器人无法完全自主可完成的复杂障碍物区域。
45.优选地,在步骤s302的生成机器人待执行任务的目标区域之后,还可以包括以下处理:确定上述目标区域的边界,在上述目标区域的边界生成禁区围栏,其中,上述机器人在上述禁区围栏封闭的目标区域内执行任务。
46.在优选实施过程中,在机器人自主导航和绕障时,某些区域不需要机器人通过,例如,对于机器人执行拖地任务而言,不需要机器人通过地毯区域。例如,如图5所示的目标区域是联合清洁区域,当不需要机器人通过某些区域(即禁区范围)时,需要在目标区域的外部边界以及禁区范围内,设置禁区围栏,如图6中的阴影部分,就可以避免机器人执行任务时超出工作区域。需要说明的是,由于人工教学过程中机器人不会通过地毯、复杂区域、跌落区域等禁区,所以根据训练轨迹可确定相应的禁区范围,从而保证机器人不会通过这些区域。
47.优选地,步骤s301中,控制机器人遍历上述目标区域执行任务,直至上述机器人完成上述任务可以进一步包括:将上述目标区域划分为多个子区域;控制上述机器人遍历各个上述子区域执行任务,直至上述机器人在上述目标区域内完成上述待执行任务。
48.在优选实施过程中,当上述目标区域仍具有复杂的轮廓时,为了更利于机器人稳定高效地执行任务(例如,清扫,拖地等),可以将复杂的轮廓转变为更简单的轮廓,例如,对目标区域进行分区,得到多个子区域。例如,对于图5所示的目标区域,可以将整个目标区域划分为5个子区域,如图7所示。
49.智能分区可以采用如下方法:将环境栅格地图划分为多个栅格区域,相邻栅格区域部分重叠;在每个栅格区域中查找相交的线段,根据相交的线段确定候选区域;合并落入栅格区域重叠部分的候选区域,得到子区域划分结果。
50.智能分区也可以采用现有技术的bcd(boustrophedon cellular decomposition)算法来实现,bcd是一种栅格地图的划分方法,对整个目标清扫区域进行自动分区,其分区结果都可以使用牛耕式路径遍历,同时也可以采用回型路径遍历。
51.优选地,遍历各个上述子区域执行上述待执行任务,直至上述机器人在全部目标区域内完成上述待执行任务可以进一步包括:确定上述机器人对各个上述子区域执行任务的顺序;按照确定的顺序控制上述机器人逐个遍历上述子区域,直至上述机器人在全部上述子区域内完成上述待执行任务。
52.将上述目标区域划分为多个子区域之后,可以控制机器人在遍历各个上述子区域执行任务,直至上述机器人在上述目标区域内完成上述待执行任务。当然,对于多个机器人而言,可以并行独立在各个子区域内遍历执行任务,从而提高任务执行效率。优选地,也可以控制机器人逐个遍历各个子区域执行任务,即,在一个子区域内遍历完成任务后,再到下一个子区域内遍历完成任务。可以先确定机器人对各个上述子区域执行任务的顺序;在按照确定的顺序控制上述机器人逐个遍历上述子区域,直至上述机器人在全部上述子区域内完成上述待执行任务。例如,先确定机器人执行任务的起始位置,然后确定该位置最临界的是哪几个子区域,然后根据与这几个子区域的最小距离来判定机器人执行任务所经过的区域顺序。也可以根据顺时针或者逆时针方向等来确定各个子区域对应的任务执行顺序。
53.优选地,控制上述机器人遍历各个上述子区域执行任务,直至上述机器人在上述目标区域内完成上述待执行任务还可以进一步包括以下处理:
54.s1:根据上述机器人的初始定位信息,确定距离上述机器人最邻近的子区域;
55.s2:控制上述机器人遍历上述最邻近的子区域执行任务;
56.s3:在上述最邻近的子区域内完成任务之后,确定上述机器人任务执行完成时结束点的定位信息,确定距离该结束点最邻近的下一个子区域;
57.s4:循环执行s2至s3,直至上述机器人在上述目标区域的全部子区域内完成上述待执行任务。
58.例如,排序方式采用最邻近原则,每清扫完成一块区域,根据机器人当前的定位,选择距离机器人最近的区块作为下一个子区域(可以是子区域的边界距离机器人当前的定位最近,也可以是子区域的角点距离机器人当前的定位最近)。
59.具体地,可以确定机器人当前未执行任务的子区域的边界栅格点,遍历各个边界栅格点(也包括子区域的角点),计算每个边界栅格点与上述结束点的距离,例如,上述结束
点在基于世界坐标系的地图中坐标为x,一个边界栅格点在基于世界坐标系的地图中坐标为y(i),||y(i)-x||表示y(i)与x之间的范数,即欧式距离,i为自然数。将距离最近的边界栅格点所属的子区域作为下一个子区域;如果距离上述结束点最近的边界栅格点有多个,可以随机选择一个边界栅格点所属的子区域作为下一个子区域,或者,按照执行任务的方向(例如,顺时针方向或者逆时针方向等),从多个满足条件的子区域中选择一个子区域作为下一个子区域。
60.如图8所示,编号为1的子区域清扫完成以后机器人处于图示的结束点位置,则图8中右上侧编号为2的子区域的边界距离结束点最近,则在机器人遍历编号为1的子区域之后,控制机器人遍历上述编号为2的子区域执行任务。循环执行上述步骤,遍历完目标区域中的各个子区域从而在具有复杂轮廓的整个目标区域内完成任务。
61.优选地,在控制上述机器人遍历目标区域之前,还需要先判断选择遍历方式,例如,如图9中的(a)图所示,可以选择回形遍历方式,如图9中的(b)图所示,也可以选择弓形遍历方式,或者,采用混合型遍历方式(例如,图8中编号1、2、3、5的子区域采用弓形遍历方式、图9中编号4的子区域采用回形遍历方式)。
62.优选地,在步骤s302的生成机器人待执行任务的所述目标区域之前,还可以包括以下处理:接收指示所述机器人自主遍历所述目标区域的第一请求;载入所述世界地图以及与所界地图绑定的所述相关信息。则步骤s303中,控制所述机器人遍历所述目标区域,直至所述机器人完成所述待执行任务可以进一步包括:在所述目标区域范围内,重新执行遍历式路径规划;所述机器人自主跟踪遍历式路径规划后的路径,对于所述至少一个目标位置信息中的每一个目标位置信息,当所述机器人运动至该目标位置时,所述机器人执行与该目标位置信息对应的业务操作。
63.在优选实施过程中,当需要执行机器人自主遍历目标区域时,机器人接收到指示该机器人自主遍历所述目标区域的第一请求;载入对目标场景所建的世界地图(例如,2d栅格地图)map1及该世界地图上绑定的训练轨迹、至少一个目标位置信息以及各个所述目标位置信息分别对应的业务操作信息(例如,与map1绑定的list1和list2),首先在map1的基础上,将机器人建图过程中训练轨迹基于机器人自身水平尺寸(例如,机器人单次覆盖宽度等)进行膨胀后合并,形成机器人建图过程中覆盖区域地图covermap,并提取该覆盖区域地图covermap的内、外包络,叠加机器人可拓展膨胀区(例如,内包络向内可膨胀区域,所述外包络向外可膨胀区域)后,形成机器人最终的覆盖区域地图covermap。
64.机器人基于覆盖区域地图covermap,进行遍历式路径规划,其中,路径规划方式包括:一次性全图路径规划、实时局部路径规划。在重新执行遍历式路径规划后,得到机器人覆盖区域地图的路径规划轨迹。路径规划根据机器人运行方式可以包括:回形遍历方式、弓形遍历方式、及混合型(部分区域采用回形遍历方式、部分区域采用弓形遍历方式)。
65.机器人基于遍历式路径规划得到的轨迹自动驱动机器人进行运动,由于上述至少一个目标位置信息、以及各个目标位置信息分别对应的业务操作信息,均是与所述世界地图进行绑定的,对于该世界地图绑定的上述至少一个目标位置信息中的每一个目标位置信息,当所述机器人运动至该目标位置时,所述机器人执行与该目标位置的坐标信息对应的业务操作。例如,目标位置a的坐标信息对应的业务操作为转动一圈,当所述机器人运动至目标位置a时,机器人执行转动一圈的业务操作。在机器人最终实现全覆盖目标区域的遍历
之后,控制机器人回到初始点。机器人在执行自主遍历全覆盖目标区域的工作过程中,不断实时更新当前的环境地图,使得环境地图反映当前场景的实际情况。
66.在优选实施过程中,所述记录所述机器人的训练轨迹的步骤可以进一步包括:按照所述机器人遍历路径点的先后顺序,依次记录所述机器人的训练轨迹中各个路径点的位置信息;则在所述目标区域范围内,重新执行遍历式路径规划可以进一步包括:对于所述至少一个目标位置信息对应的所有目标点,按照在所述训练轨迹上目标点之间的距离,和/或,各个所述目标位置信息分别对应的业务操作信息之间的关联信息,分别将多个目标点划分至一组目标点集合中,得到至少一组目标点集合,并按照所述先后顺序确定所述至少一组目标点集合的每一组目标点集合中目标点的遍历顺序;在重新执行遍历式路径规划时,按照每一组目标点集合中的目标点的遍历顺序,对所述每一组目标点集合中的目标点执行点对点路径规划,或者,在重新规划的路径中保持每一组目标点集合对应的训练轨迹以及每一组目标点集合中的目标点的遍历顺序。
67.需要说明的是,在机器人具体实施过程中,对于某些目标位置信息对应的业务操作,是需要连贯执行的一系列业务操作,如果不考虑这些业务操作的逻辑性,可能会造成机器人执行任务的业务逻辑被打乱。例如,在目标位置1机器人需要执行打开喷水装置的业务操作,之后在目标位置2,目标位置3,目标位置4机器人需要连贯性执行喷水的业务操作。如果没有按照上述业务逻辑的顺序来进行路径规划,则无法保证机器人能顺利完成任务。因此,可以设置相应的策略,以保证器人执行任务的业务逻辑不被打乱。
68.优选地,上述按照在所述训练轨迹上目标点之间的距离,和/或,各个所述目标位置信息分别对应的业务操作信息之间的关联信息,分别将多个目标点划分至一组目标点集合中包括:
69.对于所述至少一个目标位置信息对应的所有目标点,在所述训练轨迹上分别确定每两个最接近的目标点之间的距离,当多个相邻目标点中每两个最接近的目标点之间的距离均小于第一预定距离阈值时,将所述多个相邻目标点确定为满足第一预定条件的目标点;
70.拆解机器人的业务功能得到至少一个业务操作,例如,机器人执行喷水功能可以拆解为打开喷水装置、执行喷水操作等业务操作。将具有关联关系的业务操作划分至同一个业务功能组中,预先建立包括一个或多个业务功能组的第一业务功能库,将记录的各个所述目标位置信息分别对应的业务操作与所述第一业务功能库进行匹配,根据匹配结果对各个所述目标位置信息分别对应的业务操作执行分组操作,并将分组后属于同一个业务功能组中的业务操作对应的目标位置信息所对应的目标点,确定为满足第二预定条件的目标点;
71.将满足所述第一预定条件,和/或,所述第二预定条件的目标点划定在一组目标点集合中。
72.即,可以采用三种方案:方案1、对于所述至少一个目标位置信息对应的所有目标点,可以按照在所述训练轨迹上目标点之间的距离,将所有目标点中满足第一预定条件的多个目标点划定在一组目标点集合中;例如,当多个相邻目标点1,2,3,4中,每两个最接近的目标点之间的距离均小于第一预定距离阈值时,将所述多个相邻目标点1,2,3,4划定在同一组目标点集合中,并按照原先机器人在训练轨迹上遍历这些目标点的先后顺序确定目
标点1,2,3,4的集合中各个目标点的遍历顺序;在重新执行遍历式路径规划时,对于该组目标点集合,如果上述遍历顺序是:目标点1、目标点2、目标点3、目标点4,则按照这个遍历顺序对目标点1,2,3,4执行点对点路径规划,即,先规划目标点1到目标点2的路径,接着规划目标点2到目标点3的路径,然后规划目标点3到目标点4的路径;或者,在重新规划的路径中保持原来的目标点1,2,3,4组成的这一段训练轨迹,并且保留这段路径的遍历顺序,即还是从目标点1到达目标点2,之后到达目标点3、最后到达目标点4,而不是相反的或者其他的遍历顺序。
73.方案2、按照各个所述目标位置信息分别对应的业务操作信息之间的关联信息,将所有目标点中满足第二预定条件的多个目标点划定在一组目标点集合中;例如,当记录的多个业务操作1,2,3,4,与预先建立第一业务功能库进行匹配,业务操作1、3、4具有一定的关联关系,匹配到了同一个业务功能组中,业务操作1、3、4对应的目标位置信息对应的目标点,确定为满足第二预定条件的目标点,将这些目标点划定在一组目标点集合中。在重新执行遍历式路径规划时,对于该组目标点集合,如果上述遍历顺序是:目标点1、目标点3、目标点4,则按照这个遍历顺序对目标点1,3,4执行点对点路径规划,即,先规划目标点1到目标点3的路径,接着规划目标点3到目标点4的路径;或者,在重新规划的路径中保持原来的目标点1,3,4组成的这一段训练轨迹,并且保留这段路径的遍历顺序,即还是从目标点1到达目标点3,之后到达目标点4,而不是相反的或者其他的遍历顺序。
74.方案3、同时满足第一预定条件和第二预定条件的多个目标点才划定在同一组目标点集合中,即,取满足第一预定条件的目标点和满足第二预定条件的目标点的交集。需要说明的是,对于方案1而言,如果仅考虑所述训练轨迹上目标点之间的距离,而不考虑业务操作之间的关联信息,在分组时可能存在一定的误差。同理,对于方案2而言,如果仅考虑业务操作之间的关联信息,而不考虑所述训练轨迹上目标点之间的距离,在分组时也可能存在一定的误差。如果将两种策略相结合,即采用方案3,将同时满足所述第一预定条件和所述第二预定条件的目标点划定在一组目标点集合中,可以尽可能地降低分组误差。
75.由此可见,在控制机器人运动并建立环境地图的阶段,可以将机器人的训练轨迹、机器人业务操作、机器人目标位置等信息绑定到环境地图上,形成信息集合。所述机器人需要自主遍历所述目标区域时,可以载入上述信息集合,对所述训练轨迹进行膨胀,获取所述机器人能自主完成任务的最大包络区域,具体地,可以将膨胀后的覆盖区域信息导入新建的覆盖区域地图,并提取该覆盖区域地图中覆盖区域的内、外包络,叠加机器人可膨胀区域后,得到最终的机器人覆盖区域地图,并在该覆盖区域地图的覆盖范围内重新执行路径规划,得到最优的路径覆盖轨迹,可以避免重复覆盖的问题。所述机器人自主跟踪遍历式路径规划后的路径,对于对应有业务操作的目标位置,当机器人运动至该目标位置时,机器人执行与该目标位置对应的业务操作。从而实现机器人遍历全覆盖目标区域的整套业务逻辑。
76.优选地,在获取训练模式下的训练轨迹以及环境地图之后,还可以包括以下处理:接收指示所述机器人自主遍历目标位置的第二请求;载入所述世界地图以及与所述世界地图绑定的所述相关信息;确定与所述第二业务请求对应的所述机器人需要自主遍历的一个或多个目标位置;将所述一个或多个目标位置和所述一个或多个目标位置对应的业务操作,加入待执行列表;对所述待执行列表中各个目标位置对应的目标点,执行路径规划操作得到所述机器人遍历目标位置的运动轨迹;所述机器人跟踪路径规划后的运动轨迹,当所
述机器人运动至所述一个或多个目标位置时,所述机器人执行与所述一个或多个目标位置对应的业务操作。
77.在优选实施过程中,当需要执行机器人自主遍历目标位置时,机器人接收指示所述机器人自主遍历目标位置的第二请求;机器人载入所建的目标场景建图(例如,上述世界地图)及地图上绑定的相关信息,包括:训练轨迹、至少一个目标位置信息以及各个所述目标位置信息分别对应的业务操作信息。之后需要确定与所述第二业务请求对应的所述机器人需要自主遍历的一个或多个目标位置,例如,基于业务需求,可以人工或由机器人自主选定需要遍历的一个或多个目标位置,并将所述一个或多个目标位置和所述一个或多个目标位置对应的业务操作,加入待执行列表,机器人对待执行列表中各个目标位置对应的目标点,执行路径规划操作得到所述机器人遍历目标位置的运动轨迹,例如,机器人可以基于该待执行列表中的目标位置形成的序列顺序,根据目标场景地图进行点对点式路径规划,或者,基于建图阶段的训练轨迹进行跟踪规划,得到机器人运动轨迹。
78.机器人基于上述路径规划得到的运动轨迹自动驱动机器人进行运动,由于上述至少一个目标位置信息、以及各个目标位置信息分别对应的业务操作信息,均是与所述世界地图进行绑定的,对于该世界地图绑定的上述至少一个目标位置信息中的每一个目标位置信息,当所述机器人运动至该目标位置时,所述机器人执行与该目标位置的坐标信息对应的业务操作。例如,目标位置b的坐标信息对应的业务操作为抬升右臂,当所述机器人运动至目标位置b时,机器人执行抬升右臂的业务操作。在机器人最终实现目标位置的遍历之后,控制机器人回到初始点。机器人在执行自主遍历目标位置的工作过程中,不断实时更新当前的环境地图,使得环境地图反映当前场景的实际情况。
79.优选地,上述记录所述机器人的训练轨迹的步骤可以进一步包括以下处理:按照所述机器人遍历路径点的先后顺序,依次记录所述机器人的训练轨迹中各个路径点的位置信息;则对所述待执行列表中各个目标位置对应的目标点,执行路径规划操作得到所述机器人遍历目标位置的运动轨迹的步骤可以进一步包括以下处理:对于所述待执行列表中各个目标位置对应的目标点,按照在所述训练轨迹上目标点之间的距离,和/或,所述待执行列表中各个目标位置分别对应的业务操作信息之间的关联信息,分别将多个目标点划定在一组目标点集合中,得到至少一组目标点集合,并按照所述先后顺序确定所述至少一组目标点集合的每一组目标点集合中目标点的遍历顺序;在执行路径规划操作时,对于划定的所有目标点集合中每一组目标点集合,分别按照该组目标点集合中各个目标点对应的所述遍历顺序对所述各个目标点执行点对点路径规划,或者,在规划的路径中保持所有目标点集合中每一组目标点集合对应的训练轨迹以及每一组目标点集合中各个目标点对应的遍历顺序。
80.优选地,对于所述待执行列表中各个目标位置对应的目标点,按照在所述训练轨迹上目标点之间的距离,和/或,所述待执行列表中各个目标位置分别对应的业务操作信息之间的关联信息,分别将多个目标点划定在一组目标点集合中可以进一步包括:
81.对于所述待执行列表中各个目标位置对应的目标点,在所述训练轨迹上分别确定每两个最接近的目标点之间的距离,当多个相邻目标点中每两个最接近的目标点之间的距离均小于第二预定距离阈值时,将所述多个相邻目标点确定为满足第三预定条件的目标点;
82.拆解机器人的业务功能得到至少一个业务操作,将具有关联关系的业务操作划分至同一个业务功能组,预先建立包括一个或多个业务功能组的第二业务功能库,将所述待执行列表中各个目标位置分别对应的业务操作与所述第二业务功能库进行匹配,根据匹配结果对所述待执行列表中各个目标位置分别对应的业务操作执行分组操作,并将分组后属于同一个业务功能组中的业务操作对应的目标位置信息所对应的目标点,确定为满足第四预定条件的目标点;
83.将满足所述第三预定条件,和/或,所述第四预定条件的目标点划定在一组目标点集合中。
84.同理,在机器人具体实施过程中,对于某些目标位置信息对应的业务操作,是需要连贯执行的一系列业务操作,为了避免机器人执行任务的业务逻辑被打乱,可以设置相应的策略。
85.例如,可以采用三种方案:
86.方案1、对于所述待执行列表中各个目标位置对应的目标点,按照在所述训练轨迹上目标点之间的距离,将满足第三预定条件的多个目标点划定在一组目标点集合中;
87.方案2、按照所述待执行列表中各个目标位置分别对应的业务操作信息之间的关联信息,将满足第四预定条件的多个目标点划定在一组目标点集合中;
88.方案3、同时满足第三预定条件和第四预定条件的多个目标点才划定在同一组目标点集合中,即,取满足第三预定条件的目标点和满足第四预定条件的目标点的交集。需要说明的是,对于方案1而言,如果仅考虑所述训练轨迹上目标点之间的距离,而不考虑业务操作之间的关联信息,在分组时可能存在一定的误差。同理,对于方案2而言,如果仅考虑业务操作之间的关联信息,而不考虑所述训练轨迹上目标点之间的距离,在分组时也可能存在一定的误差。如果将两种策略相结合,即采用方案3,将同时满足所述第三预定条件和所述第四预定条件的目标点划定在一组目标点集合中,可以尽可能地降低分组误差。
89.根据本技术实施例,还提供了一种机器人任务执行装置。
90.图10是根据本技术实施例的机器人任务执行装置的结构框图。如图10所示,根据本技术实施例的机器人任务执行装置包括:获取模块10,用于获取训练模式下的训练轨迹以及环境地图;生成模块12,用于根据上述环境地图和上述训练轨迹,生成机器人待执行任务的目标区域,其中,上述目标区域为上述机器人能自主完成任务的最大包络区域;执行模块14,用于控制机器人遍历上述目标区域,直至上述机器人完成上述待执行任务。
91.优选地,上述执行模块14可以进一步包括:划分单元140(图10中未示出),用于将上述目标区域划分为多个子区域;控制单元142(图10中未示出),用于控制上述机器人遍历各个上述子区域执行任务,直至上述机器人在上述目标区域内完成上述待执行任务。
92.需要说明的是,上述机器人任务执行装置中的各模块各单元相互结合的优选实施方式,具体可以参见图1至图9的描述,其实现方式与原理相同,此处不再赘述。
93.根据本技术实施例,还提供了一种机器人。
94.根据本技术的机器人包括:存储器及处理器,上述存储器,用于存储计算机执行指令;上述处理器,用于执行上述存储器存储的计算机执行指令,使得上述机器人执行如上述实施例提供的任务执行方法。具体可以参见图1至图9的描述,其实现方式与原理相同,不再赘述。
95.根据本技术实施例,还提供了一种计算机可读存储介质。
96.根据本技术的计算机可读存储介质存储有计算机执行指令,当处理器执行上述计算机执行指令时,实现如上述实施例提供的机器人任务执行方法。
97.本技术实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的机器人任务执行方法的计算机执行指令,具体可以参见图1至图9的描述,其实现方式与原理相同,不再赘述。
98.综上所述,借助本技术提供的上述实施方式,基于训练路径和栅格地图,生成所述机器人能自主完成任务的最大包络区域(即目标区域),并对目标区域进行智能分区,并对智能分区后的区域的任务执行顺序进行排序,在此基础之上自动选择适合每个区域的遍历方式(例如,弓形遍历方式或回型遍历方式等),在此基础上可以实现多个分散目标区域的合并,之后再将合并后的目标区域拆分成多个独立的分区,实现化零为整之后再化整为零的分总分设计思想。从而可以实现机器人稳定高效地对具有多种环境区域(例如,结构化复杂的环境区域)执行任务(例如,消杀、清扫,拖地等任务),并可以适用于多种应用场景。
99.并且,在控制机器人运动并建立环境地图的阶段,可以将机器人的训练轨迹、机器人业务操作、机器人目标位置等信息绑定到环境地图上,形成信息集合。当所述机器人需要自主遍历所述目标区域时,可以载入上述信息集合,基于上述获取机器人能自主完成任务的最大包络区域的方案,可以在最大包络区域内重新执行路径规划,得到最优的路径覆盖轨迹,可以避免重复覆盖的问题。并且,当所述机器人需要自主遍历目标位置时,可以基于目标位置及业务操作逻辑,在场景地图进行点对点式路径规划或者基于建图阶段运动轨迹的轨迹跟踪规划,得到机器人运动轨迹。
100.此外,机器人自主运动过程中,还可以实时更新环境地图,并基于环境地图的更新情况实时规划运动轨迹。
101.以上公开的仅为本技术的几个具体实施例,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1