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

任务执行方法、机器人、存储介质及计算机程序产品与流程

2022-06-08 11:07:48 来源:中国专利 TAG:


1.本发明实施例涉及信息处理技术领域,尤其涉及一种任务执行方法、机器人、存储介质及计算机程序产品。


背景技术:

2.目前,在存在大量简单重复劳动的领域中,自动化机器人的使用越来越普遍,其中,在仓储货运场景下,需要大量使用自动化机器人。随着仓储货运领域的不断发展,货物运输机器人的种类也越来越多,完成的工业现场也越来越复杂。在实际应用中,机器人需要完成一系列复杂的工作任务,任务的调度及管理对于机器人安全稳定高效的运行尤为重要。
3.然而,在相关技术中,为了满足多种复杂任务的需求,通常为每一种任务都配置一种调度方法,因此,机器人内部的任务调度设计变得复杂且不灵活,无法适应多种仓储货运项目下多种场景的需求。同时,为每一种任务单独配置一种调度方法,也增大了机器人软件平台的开发和维护难度。


技术实现要素:

4.本发明实施例提供一种任务执行方法、机器人、存储介质及计算机程序产品,以灵活且高效的完成机器人任务的执行。
5.本发明实施例第一方面提供了一种任务执行方法,所述方法包括:
6.按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,其中,最低层级对应于所述机器人自身配备的硬件执行机构;
7.在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
8.可选地,由高到低的多个层级为第1层级至第n层级;按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,包括:
9.将第1层级至第n层级逐个作为当前层级,对机器人控制系统下发的任务进行当前层级拆解,得到所述任务在当前层级的子任务群组;
10.对所述任务在当前层级的任务参数和所述任务在上一层级的任务参数进行兼容处理,为所述任务在当前层级的子任务群组中各个子任务添加兼容处理后的任务参数;
11.将所述任务在当前层级的携带任务参数的子任务群组存储到当前层级对应的子任务列表中。
12.可选地,所述方法还包括:
13.采集所述机器人的周围环境信息和/或任务执行情况;
14.根据所述机器人的周围环境信息和/或任务执行情况,对所述任务在当前层级的至少一个子任务添加属性参数。
15.可选地,由高到低的多个层级为第1层级至第n层级;在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,包括:
16.将第1层级至第n-1层级逐个作为当前层级,从当前层级对应的子任务列表中,查询所述任务在当前层级的子任务群组包括的各个子任务各自的状态;
17.在查询到所述任务在当前层级的子任务为可发送状态时,调度由当前层级的子任务拆解得到的下一层级的子任务群组,直至将第n-1层级作为当前层级时,调度所述任务在第n层级的至少一个子任务;
18.根据所述任务在第n层级的至少一个子任务,控制所述机器人自身配备的硬件执行机构执行对应的动作。
19.可选地,在查询到所述任务在当前层级的子任务为可发送状态时,调度由当前层级的子任务拆解得到的下一层级子任务群组,包括:
20.在查询到所述任务在当前层级的子任务为可发送状态时,检测所述子任务是否具有预先配置的属性参数;
21.在所述子任务的属性参数为条件触发属性的情况下,当满足所述条件触发属性对应的触发条件时,调度由所述子任务拆解得到的下一层级的子任务群组;和/或
22.在所述子任务的属性参数为延时属性的情况下,当延迟所述延时属性对应的时长时,调度由所述子任务拆解得到的下一层级的目标子任务群组;
23.所述方法还包括:
24.在所述子任务的属性参数为中断属性的情况下,逐层级返回所述任务在当前层级中断的消息。
25.可选地,所述方法还包括:
26.检测所述任务在当前层级的子任务群组中各个子任务分别是否已完成;
27.当所述任务在当前层级的子任务群组中各个子任务均已完成时,向上一层返回所述任务在当前层级的子任务群组已完成,直至所述任务在第1层级的子任务群组已完成时,输出所述任务已完成的消息。
28.本发明实施例第二方面提供了一种任务执行装置,所述装置包括:
29.拆解模块,用于按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,其中,最低层级对应于所述机器人自身配备的硬件执行机构;
30.调度模块,用于在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
31.可选地,由高到低的多个层级为第1层级至第n层级;所述拆解模块包括:
32.拆解子模块,用于将第1层级至第n层级逐个作为当前层级,对机器人控制系统下发的任务进行当前层级拆解,得到所述任务在当前层级的子任务群组;
33.任务参数添加子模块,用于对所述任务在当前层级的任务参数和所述任务在上一
层级的任务参数进行兼容处理,为所述任务在当前层级的子任务群组中各个子任务添加兼容处理后的任务参数;
34.子任务存储子模块,用于将所述任务在当前层级的携带任务参数的子任务群组存储到当前层级对应的子任务列表中。
35.可选地,所述装置还包括:
36.采集模块,用于采集所述机器人的周围环境信息和/或任务执行情况;
37.属性参数添加模块,用于根据所述机器人的周围环境信息和/或任务执行情况,对所述任务在当前层级的至少一个子任务添加属性参数。
38.可选地,由高到低的多个层级为第1层级至第n层级;所述调度模块包括:
39.查询子模块,用于将第1层级至第n-1层级逐个作为当前层级,从当前层级对应的子任务列表中,查询所述任务在当前层级的子任务群组包括的各个子任务各自的状态;
40.调度子模块,用于在查询到所述任务在当前层级的子任务为可发送状态时,调度由当前层级的子任务拆解得到的下一层级的子任务群组,直至将第n-1层级作为当前层级时,调度所述任务在第n层级的至少一个子任务;
41.控制子模块,用于根据所述任务在第n层级的至少一个子任务,控制所述机器人自身配备的硬件执行机构执行对应的动作。
42.可选地,所述调度子模块包括:
43.检测单元,用于在查询到所述任务在当前层级的子任务为可发送状态时,检测所述子任务是否具有预先配置的属性参数;
44.条件调度单元,在所述子任务的属性参数为条件触发属性的情况下,当满足所述条件触发属性对应的触发条件时,调度由所述子任务拆解得到的下一层级的子任务群组;和/或
45.延时调度单元,用于在所述子任务的属性参数为延时属性的情况下,当延迟所述延时属性对应的时长时,调度由所述子任务拆解得到的下一层级的目标子任务群组;
46.所述装置还包括:
47.中断消息返回模块,用于在所述子任务的属性参数为中断属性的情况下,逐层级返回所述任务在当前层级中断的消息。
48.可选地,所述装置还包括:
49.检测模块,检测所述任务在当前层级的子任务群组中各个子任务分别是否已完成;
50.完成消息返回模块,用于当所述任务在当前层级的子任务群组中各个子任务均已完成时,向上一层返回所述任务在当前层级的子任务群组已完成,直至所述任务在第1层级的子任务群组已完成时,输出所述任务已完成的消息。
51.本发明实施例第三方面提供一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明第一方面所述的任务执行方法的步骤。
52.可选地,所述机器人自身配备有以下至少一种硬件执行机构:定位机构、导航机构、顶升机构、辊筒机构、显示屏、人机交互组件。
53.本发明实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序/
指令,该计算机程序/指令被处理器执行时实现如本发明第一方面所述的任务执行方法。
54.本发明实施例第五方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本发明第一方面所述的任务执行方法。
55.本发明实施例提供的任务执行方法,按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中;在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
56.其中,本发明实施例可以对任意任务进行逐层拆解,适应于所有任务,可以对任意复杂的任务进行拆解。本发明实施例还可以对任意任务进行逐层级调度,各个层级相互独立,按照子任务层级秩序井然地完成调度过程,直至控制机器人自身配置的硬件执行机构,执行对应的动作,从而完成对应的任务。由此,本发明实施例所提供任务执行方法可以适应于任何机器人任务的调度设计,从而使得机器人可以灵活且高效的完成所有任务的执行。
附图说明
57.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
58.图1是本发明实施例的一种机器人控制系统通信过程示意图;
59.图2是本发明实施例的一种任务执行方法的流程图;
60.图3是本发明实施例的另一种任务执行方法的流程图;
61.图4是本发明实施例的一种的任务执行装置的结构框图。
具体实施方式
62.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
63.参照图1,示出了机器人控制系统通信过程,在实际应用环境中,用户可以通过任务控制系统制定实际所需的任务指令,下发至机器人控制系统,而机器人控制系统对应多个机器人,因此,用户可以对多个机器人同时制定不同的任务,并且,在用户下发的任务指令中可以包括一系列相关联的复杂任务。
64.由此可见,相关技术中为每一种任务都配置一种调度方法的技术方案,在面对实际应用中复杂多样的机器人任务时,无法灵活且高效地实现机器人任务的执行。
65.基于此,本发明实施例提供了一种灵活且高效的任务执行方法,本发明实施例提供的任务执行方法具有以下特点:
66.1、各个层级之间相互独立,耦合性低,对于后期的扩展及定位问题及其方便。
67.2、通过分层设计将上层的复杂任务逐步拆解,依次解析直至到独立的硬件执行机构,当硬件执行机构完成任务后再依次反向反馈到上层模块。
68.3、使用多个层级调度列表,每个层级的调度列表包含不同作用。每个层级的调度
列表都有自己的调度管理机制,相互之间独立控制。
69.4、将上层控制指令与机器人内部调用分开,有专门对接上层控制系统的接收单元,也有内部总体的任务管理单元,可以方便适应上层控制系统与机器人内部的不同时机的扩展需求。
70.5、对新场景和新需求,可以方便的完成扩充,可以有效降低开发成本,降低对新场景的软件二次开发压力。
71.以下,对本发明实施例提供的任务执行方法进行详细解释,参照图2,示出了本发明实施例的一种任务执行方法的流程图,本发明实施例的一种任务执行方法,应用于机器人,具体可以包括以下步骤:
72.s101,按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,其中,最低层级对应于所述机器人自身配备的硬件执行机构。
73.本发明实施例中,机器人控制系统是一个总控服务器,机器人控制系统配置有前端交互界面,以供工作人员通过在前端交互界面的操作生成控制指令,以对机器人进行控制。本发明实施例中,机器人控制系统,还可以接收来自任务控制系统的任务指令。
74.本发明实施例中,在不同的应用场景下,可能有不同的任务控制系统,任务控制系统可以对当前应用场景下所有的任务进行统一的管理,在这种情况下,可以由任务控制系统向机器人控制系统下发需要执行的任务,并结合工作人员在前端交互界面的输入操作生成对应于具体的机器人的任务指令并发送。
75.本发明实施例中,机器人控制系统在接收到任务控制系统下发的任务指令后,可以将该任务指令下发到对应的机器人,机器人在接收到该任务后,可以对该任务进行逐层拆解,直至拆解得到机器人自身配置的硬件执行机构可以直接识别并执行的动作。
76.本发明实施例中,机器人内部存在独立的接收单元,可以接收来自机器人控制系统的任务指令,并进行转义,将该任务指令转换为机器人的任务管理单元可以识别的语言,以发送到任务管理单元进行任务调度。
77.本发明实施例中,所述机器人自身配备的硬件执行机构包括以下至少一者:定位机构、导航机构、顶升机构、辊筒机构、显示屏、人机交互组件。
78.本发明实施例中,机器人自身配置的硬件执行结构,是可以控制机器人执行具体动作的硬件控制模块。
79.本发明实施例中,机器人在完成该任务的逐层拆解后可以将每一层级拆解得到的子任务,存储到该层级对应的子任务列表中,以便于后续的任务调度。其中,在任务的拆解过程中,依据任务的难度,任一层级的拆解结果均可以为一个或多个子任务。也就是说,在任一层级,均可以将来自上一层级的任务拆解为一个或多个子任务。
80.本发明实施例中,各个不同的层级所关注的任务内容不同,例如:在最高层级,只需关注来自机器人任务控制系统的任务指令包括哪些内容(例如:将物料从a点运输到b点),在中间层级,则需要关注执行该任务需要用到哪些数据(例如:将物料从a点运输到b点需要用到a点到b点的地图数据),在最底层,则需要关注执行该任务具体需要用到哪些执行机构(例如将物料从a点运输到b点需要用到机器人的导航控制模块,底盘控制模块,定位模块)。
81.为了便于理解,以一个例子进行解释:
82.机器人在接收到任务(task)之后,对task进行拆解得到一个或多个一级子任务(duty),并保存到duty列表中,又对每一个duty进行拆解,得到一个或多个消息(message),并对应保存到message列表中,又对每一个message进行拆解,得到一个或多个动作(action),并对应保存到action列表中,action列表中的action可以直接被硬件执行机构识别并执行。
83.在本实施例中,在对任务进行拆解时,可以根据各个层级的作用在每个层级添加对应的任务参数。
84.继续以将物料从a点运输到b点为例进行解释。
85.当机器人在接收到task(将物料从a点运输到b点)之后,拆解得到一个duty,此时,duty层可以添加a点到b点的区域地图作为任务参数。继续对该duty进行拆解得到两个message(message 1:从a到o点,和,message 2:从o点到b点)。此时可以对其中的message 1添加从a点到o点的路线数据作为任务参数,对其中的message 2添加从o点到b点的路线数据作为任务参数。对于message 1又可以拆解得到两个action(action 1:装载物料,action 2:行驶),此时,可以对其中的action 2添加机器人自身的行驶速度范围作为任务参数。对于action 2则可以将其发送到底盘控制模块进行执行。
86.在执行任务时,机器人对该任务进行逐层调度,在调度到action时,将该action发送到对应的硬件执行机构执行,在完成action中的所有action后,表示机器人完成该任务。
87.可见,在本发明实施例中,每个层级的作用不同,所关心的相关参数也不同,各个层级之间相互控制,便于后续的扩展和故障定位。并且,在本发明实施例中,每个层级都有自己的调度列表和调度管理机制,可以各自独立对调度列表进行管理和维护。从而将复杂的任务化繁为简,并形成合理有序的调度管理。
88.在一种可选的实施例中,上述步骤s101包括以下子步骤:
89.s1011,将第1层级至第n层级逐个作为当前层级,对机器人控制系统下发的任务进行当前层级拆解,得到所述任务在当前层级的子任务群组。
90.s1012,对所述任务在当前层级的任务参数和所述任务在上一层级的任务参数进行兼容处理,为所述任务在当前层级的子任务群组中各个子任务添加兼容处理后的任务参数。
91.本发明实施例中,兼容处理是指结合本层级的任务参数和上一层级的任务参数,得到兼容的任务参数。
92.s1013,将所述任务在当前层级的携带任务参数的子任务群组存储到当前层级对应的子任务列表中。
93.本发明实施例中,由于对任务进行了逐层拆解,相应的,每一层级的子任务所需关注的任务参数也各不相同,可以在每一层级引入相应的任务参数。
94.本发明实施例中,每一次进行拆解时,均可以在上一层级的任务参数的基础上,结合本层级的任务参数,得到兼容的任务参数,并添加到本层级的子任务中。
95.仍然以上述例子进行解释:
96.以任务参数为机器人行走速度为例,假设存在一个从a点到b点的行走任务,在task层级,该任务的任务参数为机器人控制系统指定的速度值:1米每秒。在duty层级,引入
了具体的从a点到b点的地图参数,其中,限制从a点到b点之间的行驶速度不能超过0.8米每秒,则此时,在duty层对速度值进行兼容处理后,确定的速度值为0.8米每秒,则可以为duty添加速度值为0.8米每秒的任务参数。
97.s102,在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
98.本发明实施例中,可以按照由高到低的多个层级对每一层级的子任务进行逐层调度,以执行该任务。
99.本发明实施例中,在对每个子任务列表进行调度时,都可以先对该子任务列表进行锁定,再从该子任务列表中调度相应的子任务。以避免出现同时读写的问题,以免出现存储数据的混乱。
100.具体的,上述步骤s102可以包括以下子步骤:
101.s1021,将第1层级至第n-1层级逐个作为当前层级,从当前层级对应的子任务列表中,查询所述任务在当前层级的子任务群组包括的各个子任务各自的状态。
102.本发明实施例中,子任务对应的状态是指该子任务的调度状态,具体可以为:可发送状态、完成状态、结束状态、中断状态、延时状态、运行状态等。其中,可发送状态,指的是该子任务可以发送到下一层级进行调度。完成状态,指的是该子任务以执行完成。结束状态是指该子任务被强制结束。中断状态,是指该子任务执行被中断。延时状态,是指该子任务的执行需要等待延时时长。运行状态,是指该子任务正在被执行。
103.s1022,在查询到所述任务在当前层级的子任务为可发送状态时,调度由当前层级的子任务拆解得到的下一层级的子任务群组,直至将第n-1层级作为当前层级时,调度所述任务在第n层级的至少一个子任务。
104.本发明实施例中,子任务群组指的是在第n层级拆解得到的多个子任务组成的群组。
105.示例的,由message拆解得到的多个action可以组成一个action群组,并与该message相对应。
106.可选地,本发明实施例中,步骤s1022包括以下子步骤:
107.在查询到所述任务在当前层级的子任务为可发送状态时,检测所述子任务是否具有预先配置的属性参数。
108.预先配置的属性参数可以包括:条件触发属性、延时属性、中断属性等。
109.本发明实施例中,可以对每个子任务预先配置属性参数。其中,条件触发属性指的是,该子任务需要在满足对应条件的情况下,方能进行调度。延时属性指的是,该子任务需要进行相应时长的延时,方能进行调度。中断属性指的是中断该子任务的调度。
110.具体的,在所述子任务的属性参数为条件触发属性的情况下,当满足所述条件触发属性对应的触发条件时,调度由所述子任务拆解得到的下一层级的子任务群组。
111.本发明实施例中,当查询到子任务的状态为可发送状态时,需要进一步检测该子任务是否具有预先配置的属性参数,在属性参数为条件触发属性的情况下,如果当前不满足对应的触发条件,则即使该子任务为可发送状态,也不能对该子任务进行调度。
112.在所述子任务的属性参数为延时属性的情况下,当延迟所述延时属性对应的时长
时,调度由所述子任务拆解得到的下一层级的目标子任务群组。
113.本发明实施例中,在属性参数为延时属性的情况下,如果当前不满足对应的延时时长,则即使该子任务为可发送状态,也不能对该子任务进行调度。
114.在所述目标子任务的属性参数为中断属性的情况下,逐层级返回所述任务在第n层级中断的消息。
115.本发明实施例中,在所述子任务的属性参数为中断属性的情况下,逐层级返回所述任务在当前层级中断的消息。
116.本发明实施例中,通过对子任务预先配置属性参数,丰富了各个子任务的执行条件,使得机器人对任务的调度形式更加灵活,任务的执行更加符合实际情况。
117.s1023,根据所述任务在第n层级的至少一个子任务,控制所述机器人自身配备的硬件执行机构执行对应的动作。
118.本发明实施例中,第n层级的子任务可以控制机器人自身配备的硬件执行机构执行相应的动作。
119.示例地:底盘控制模块可以控制机器人的底盘执行相应的动作,机械臂控制模块可以控制机械臂执行相应的动作。
120.本发明实施例中,执行机构是整个机器人内部的任务调度的软件最底层功能,可以完成独立的单一功能。当多个执行机构依次完成对应的功能时可以执行完成复杂的任务。
121.参照图3,示出了本发明实施例的另一种任务执行方法的流程图,本发明实施例的一种任务执行方法,应用于机器人,具体可以包括以下步骤:
122.s201,按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,其中,最低层级对应于所述机器人自身配备的硬件执行机构。
123.s202,在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
124.步骤s201-s202与上述步骤s101-s102类似,在此不再赘述。
125.s203,采集所述机器人的周围环境信息和/或任务执行情况。
126.本发明实施例中,机器人在执行任务的过程中,可以持续采集机器人的周围环境信息,以及该任务的任务执行情况,从而用户可以根据实际的周围环境信息和/或任务执行情况,对该任务的调度进行调整,以适应实际需求。
127.本发明实施例中,周围环境信息指的是,机器人所处环境的相关信息,例如障碍物信息、地图信息等。
128.s204,根据所述机器人的周围环境信息和/或任务执行情况,对所述任务在当前层级的至少一个子任务添加属性参数。
129.本发明实施例中,可以根据机器人的周围环境信息和/或任务执行情况,对该任务的子任务的属性参数进行扩展。
130.本实施例中,可以扩展的子任务的属性参数与上述预先配置的属性参数类似,包括:条件触发属性、延时属性、中断属性等。
131.本发明实施例中,可以根据机器人的实时状况,对子任务的属性参数进行扩展,以适应实时状态,使得任务的执行更加灵活,以满足不同情况下的任务调度要求。
132.本发明实施例中,由于各个层级是相互独立的,耦合性低,且支持在各个层级扩展子任务的属性参数,因此,当出现新场景和新需求时,可以便捷的进行相应层级的扩展,降低二次开发的成本。
133.仍然以上述例子进行解释:
134.假设当任务调度到action层级时,在对action 1进行调度时,发现action1对应的机械臂被占用,则此时,可以预估该机械臂被占用的时间,为该action 1添加延时属性,延时到该机械臂空闲时,继续对action 1进行调度。
135.s205,检测所述任务在当前层级的子任务群组中各个子任务分别是否已完成。
136.s206,当所述任务在当前层级的子任务群组中各个子任务均已完成时,向上一层返回所述任务在当前层级的子任务群组已完成,直至所述任务在第1层级的子任务群组已完成时,输出所述任务已完成的消息。
137.本发明实施例中,在当前层级的所有子任务完成时,可以向上一层级上报相应任务已完成的信息,只是得到第一层级的子任务群组全部完成时,辨明该任务执行完成。
138.仍然以上述例子进行解释:
139.假设由message 1拆解得到action 1、action 2
……
action n,当action1-action n均完成时,可以向上一层级上报message 1已完成的信息。
140.对于message层级、duty层级、task层级而言,依次类推,当所有的task均完成时,表明该任务完成,则输出已完成信息。
141.本发明实施例中,在所有子任务均完成时,才上报完成信息,无需在每一个子任务完成时,均进行上报,可以节约通信开销。
142.本发明实施例中,通过逐层级上报完成信息,使得机器人可以有条不紊的对任务的完成情况进行监控,当每个层级的所有子任务均完成时,确定任务完成信息,使得任务的执行不会出现疏漏。此外,当任务执行出现异常时,也可以快速发现异常原因。
143.基于同一发明构思,本发明实施例提供一种任务执行装置。参考图4,图4是本发明实施例提供的任务执行装置的示意图。如图4所示,该装置包括:
144.拆解模块401,用于按照由高到低的多个层级,对机器人控制系统下发的任务进行逐层级拆解,将每一层级的拆解结果存储到该层级对应的子任务列表中,其中,最低层级对应于所述机器人自身配备的硬件执行机构;
145.调度模块402,用于在检测到针对所述任务的调度时,按照由高到低的所述多个层级,对每一层级的子任务列表进行逐层调度,直至控制所述机器人自身配备的硬件执行机构执行对应的动作,进而完成所述任务。
146.可选地,由高到低的多个层级为第1层级至第n层级;所述拆解模块401包括:
147.拆解子模块,用于将第1层级至第n层级逐个作为当前层级,对机器人控制系统下发的任务进行当前层级拆解,得到所述任务在当前层级的子任务群组;
148.任务参数添加子模块,用于对所述任务在当前层级的任务参数和所述任务在上一层级的任务参数进行兼容处理,为所述任务在当前层级的子任务群组中各个子任务添加兼容处理后的任务参数;
149.子任务存储子模块,用于将所述任务在当前层级的携带任务参数的子任务群组存储到当前层级对应的子任务列表中。
150.可选地,所述装置还包括:
151.采集模块,用于采集所述机器人的周围环境信息和/或任务执行情况;
152.属性参数添加模块,用于根据所述机器人的周围环境信息和/或任务执行情况,对所述任务在当前层级的至少一个子任务添加属性参数。
153.可选地,由高到低的多个层级为第1层级至第n层级;所述调度模块402包括:
154.查询子模块,用于将第1层级至第n-1层级逐个作为当前层级,从当前层级对应的子任务列表中,查询所述任务在当前层级的子任务群组包括的各个子任务各自的状态;
155.调度子模块,用于在查询到所述任务在当前层级的子任务为可发送状态时,调度由当前层级的子任务拆解得到的下一层级的子任务群组,直至将第n-1层级作为当前层级时,调度所述任务在第n层级的至少一个子任务;
156.控制子模块,用于根据所述任务在第n层级的至少一个子任务,控制所述机器人自身配备的硬件执行机构执行对应的动作。
157.可选地,所述调度子模块包括:
158.检测单元,用于在查询到所述任务在当前层级的子任务为可发送状态时,检测所述子任务是否具有预先配置的属性参数;
159.条件调度单元,在所述子任务的属性参数为条件触发属性的情况下,当满足所述条件触发属性对应的触发条件时,调度由所述子任务拆解得到的下一层级的子任务群组;和/或
160.延时调度单元,用于在所述子任务的属性参数为延时属性的情况下,当延迟所述延时属性对应的时长时,调度由所述子任务拆解得到的下一层级的目标子任务群组;
161.所述装置还包括:
162.中断消息返回模块,用于在所述子任务的属性参数为中断属性的情况下,逐层级返回所述任务在当前层级中断的消息。
163.可选地,所述装置还包括:
164.检测模块,检测所述任务在当前层级的子任务群组中各个子任务分别是否已完成;
165.完成消息返回模块,用于当所述任务在当前层级的子任务群组中各个子任务均已完成时,向上一层返回所述任务在当前层级的子任务群组已完成,直至所述任务在第1层级的子任务群组已完成时,输出所述任务已完成的消息。
166.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
167.本发明实施例第三方面提供一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现上述任一实施例所述的任务执行方法中的步骤。
168.可选地,所述机器人自身配备有以下至少一种硬件执行机构:定位机构、导航机构、顶升机构、辊筒机构、显示屏、人机交互组件。
169.本发明实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序/
指令,该计算机程序/指令被处理器执行时实现上述任一实施例所述的任务执行方法中的步骤。
170.本发明实施例第五方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述任一实施例所述的任务执行方法。
171.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
172.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
173.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
174.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
175.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
176.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
177.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
178.以上对本发明所提供的一种任务执行方法、机器人、存储介质及计算机程序产品,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术
人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献