CN115502975A - 一种机器人调度方法、装置、电子设备及存储介质 - Google Patents
一种机器人调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115502975A CN115502975A CN202211227140.3A CN202211227140A CN115502975A CN 115502975 A CN115502975 A CN 115502975A CN 202211227140 A CN202211227140 A CN 202211227140A CN 115502975 A CN115502975 A CN 115502975A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- robot
- synchronous
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000001360 synchronised effect Effects 0.000 claims abstract description 72
- 230000010365 information processing Effects 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 16
- 230000003213 activating effect Effects 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000004088 simulation Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013515 script Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种机器人调度方法、装置、电子设备及存储介质。该方法包括:从各关联机器人对应的各控制器节点中确定主节点,并根据主节点确定各控制器节点的信息处理时刻和同步生效时刻;在信息处理时刻,各控制器节点获取与控制器节点关联的远程节点任务信息;在同步生效时刻,通过各关联机器人的本地调度器根据远程节点任务信息执行各关联机器人的目标任务。通过运行本发明实施例所提供的技术方案,可以解决现有多机器人调度概念和逻辑较为复杂,且若不借助离线仿真工具,将很难操作,同时单控制器多机器人控制的局限性也很大的问题,取得了降低多机器人调度的难度以及提高多机器人调度的效率的有益效果。
Description
技术领域
本发明涉及机器人技术,尤其涉及一种机器人调度方法、装置、电子设备及存储介质。
背景技术
现有机器人的作业程序大多是由脚本构成,其脚本语法多符合高级编程语言的特点,如python、Pascal等。作业脚本放置控制器的存储介质中,当控制器需要执行程序时,以文本的形式读取脚本字符串并解析执行。部分控制器会将脚本字符串通过词法、语法分析处理为中间码的形式,再通过虚拟机模块执行中间码,来顺序运行脚本所表达的动作。
对于单个机器人的顺序单任务作业脚本的解决方案属于比较成熟的技术。但是对于多机器人作业程序,大多数机器人控制器不具备多机器人动作的联合编程,基本上通过第三方,如PLC、IPC等上位机进行协调控制。如ABB机器人的MultiTasking和MultiMove模块可以较为方便同步控制多台机械手对于多机器人控制,但其必须要求多个机械手臂连接到同一个控制器中,且最多仅允许4个,对于较大工作范围,甚至移动机器人作业平台上的多机器人作业脚本协同将无能为力,且需要配合MultiTasking的同步功能来配合实现半联动和联动同步的实现。ABB对于多机器人调度是可用的,但从用户易用性上看,其概念和逻辑较为复杂,且若不借助离线仿真工具,将很难操作,同时单控制器多机器人控制的局限性也很大。
发明内容
本发明提供一种机器人调度方法、装置、电子设备及存储介质,以实现降低多机器人调度的难度以及提高多机器人调度的效率。
根据本发明的一方面,提供了一种机器人调度方法,该方法包括:
从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;
在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;
在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
根据本发明的另一方面,提供了一种机器人调度装置,该装置包括:
时刻确定模块,用于从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;
任务信息获取模块,用于在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;
目标任务执行模块,用于在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的机器人调度方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的机器人调度方法。
本发明实施例的技术方案,通过从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。解决了现有多机器人调度概念和逻辑较为复杂,且若不借助离线仿真工具,将很难操作,同时单控制器多机器人控制的局限性也很大的问题,取得了降低多机器人调度的难度以及提高多机器人调度的效率的有益效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
图1为本发明实施例一提供的一种机器人调度方法的流程图;
图2为本发明实施例二提供的一种机器人调度方法的流程图;
图3为本发明实施例三提供的一种机器人调度方法的流程图;
图4为本发明实施例三提供的一种任务图形化界面的示意图;
图5为本发明实施例四提供的一种机器人调度装置的结构示意图;
图6为用来实施本发明实施例的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种机器人调度方法的流程图,本实施例可适用于多个机器人调度情况,该方法可以由本发明实施例所提供的机器人调度装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的机器人调度方法,包括:
步骤110、从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻。
其中,关联机器人为存在关联关系的机器人,例如为处于同一局域网中的机器人,本实施例对此不进行限制。
每个关联机器人均对应各自的控制器节点,可以采用数据分发服务(DataDistribution Service,DDS)标准方案,将各关联机器人的本地调度器及本地资源管理单元的状态和操作端口,开放到授信的多机器人局域网中,从而使得各控制器节点互相连接。其中,本地调度器负责在本地按照任务属性协调驱动单个本地任务调度或多个本地任务的协同调度。每个任务可以作为一个独立单元,根据任务属性与操作系统的一个或多个物理CPU进行绑定,充分利用了多核并行计算的优点。本地资源管理单元,用于负责分管本地系统模块的可操作对象,如本地物理IO、机械臂、通讯端口等,其受本地调度器管理,本地调度器按照任务需要将合适的本地系统资源调配到合适的任务单元上。
可以从各控制器节点中随机或采用预设选取方法选择一个控制器节点作为主节点,本实施例对此不进行限制。当某一控制器节点作为主节点时,其它控制器节点则作为从节点。
信息处理时刻为控制器节点对信息接收和发送的时刻,可以通过同步生效时刻为机器人生效获取的信息并启动相应处理流程的时刻。每个控制器节点对应的信息处理时刻和同步生效时刻相同。
根据主节点确定各控制器节点的信息处理时刻和同步生效时刻,即以主节点的时间为准进行同步。例如采用IEEE1588同步机制使得从节点的时间与主节点同步,从而确定相应的信息处理时刻和同步生效时刻。其中,信息处理时刻和同步生效时刻可以为固定时刻,本实施例对此不进行限制。
本实施例中,可选的,根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻,包括:
根据所述主节点确定同步启动时刻,根据所述同步启动时刻和预设同步周期确定所述信息处理时刻;
根据所述信息处理时刻和各所述控制器节点的预设时间间隔确定所述同步生效时刻。
同步启动时刻为各控制器节点的同步状态启动的时刻,记为Tstart。根据主节点确定同步启动时刻,即由主节点确定同步启动时刻并向其它从节点发送,使得各控制器节点的时钟到达Tstart时均进入同步状态。
根据同步启动时刻和预设同步周期确定信息处理时刻,可以为每个控制器节点均设置同步周期,记为Tcycle,同步周期为执行同步流程的周期。则信息处理时刻可以为Tstart+n*Tcycle,其中n≥1。
预设时间间隔可以为同步有效偏置时间,记为Toff,每个控制器节点对应的同步有效偏置时间可以不同,可以根据实际信息传输工况确定,例如若某一控制器节点获取信息的速度较慢,则可将该控制器节点的Toff设置较长,使得所有控制器节点均可完整接收信息。则同步生效时刻Tsync可以为Tstart+n*Tcycle+Toff,其中n≥1。
通过将控制器节点同步,并根据实际传输工况配置合适的预设时间间隔,使得对于各分布式控制器节点的本地调度器拥有同时生效且完整的任务数据,。避免若每个控制器节点设置相同的同步生效时刻,导致控制器节点还未完全接收到信息就开始同步处理目标任务,导致目标任务处理失败。提高信息传输的有效性、实时性和同步性,提高目标任务处理的成功率。
步骤120、在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息。
在信息处理时刻,各控制器节点分别获取与控制器节点关联的远程节点任务信息,远程节点任务信息为远程节点发送的与当前控制器节点相关的任务信息。例如,控制器节点A发送远程节点任务信息至控制器节点B,需要在控制器节点A对应的机器人A移动至C点时,控制器节点B对应的机器人B开始移动。
该远程节点任务信息由除当前控制器节点外的其它控制器节点利用DDS或OPCUA等数据分发技术发送至局域网中,由当前控制器节点订阅得到;同时当前控制器节点还可以通过数据分发技术向局域网中其它控制器节点发送发布本地调度器及资源管理单元状态和操作命令,使得其它控制器节点获得远程节点任务信息。为了进一步提高控制器节点的实时性,可以对DDS的QOS设置不同参数获得更高更可靠的策略,并可利用但不限于EtherCAT EOE、TSN等技术在物理或链路层提高同步性能。
步骤130、在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
目标任务为关联机器人需要执行的任务,可以为单任务,也可以为多任务,本实施例对此不进行限制。
各关联机器人根据各自获得的远程节点任务信息,将远程节点任务信息添加至目标任务对应的任务总信息中,由各自的本地调度器根据任务总信息在同步生效时刻同步执行相应的目标任务,从而达到多机器人联动执行任务的效果。可选的,在当前控制器节点的目标任务执行后,更新待发布至其它控制器节点的调度指令和输出数据,以提高联动调度的效率。
本实施例所提供的技术方案,通过从各关联机器人对应的各控制器节点中确定主节点,并根据主节点确定各控制器节点的信息处理时刻和同步生效时刻,将各控制器节点的关键时刻进行统一,便于后续实现多机器人的同步调度。
在同步生效时刻,通过各关联机器人的本地调度器各自根据远程节点任务信息执行各关联机器人的目标任务,避免单控制器同时控制多个机器人逻辑较为复杂,导致增加控制难度、可控制数量有局限性等问题。通过各控制器节点拥有的同时生效的任务信息和调度时刻,实现多机器人同步调度,降低多机器人调度的难度以及提高多机器人调度的效率。
实施例二
图2为本发明实施例二提供的一种机器人调度方法的流程图,本技术方案是针对通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务的过程进行补充说明的。与上述方案相比,本方案具体优化为,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务,包括:
通过将所述远程节点任务信息同步至所述本地调度器,获取关联远程任务的远程任务信息;
根据所述远程任务信息从本地资源管理器中获取任务执行资源;
根据所述任务执行资源和所述本地调度器,按照本地调度流程执行所述目标任务。具体的,机器人调度方法的流程图如图2所示:
步骤210、从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻。
步骤220、在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息。
步骤230、在所述同步生效时刻,通过将所述远程节点任务信息同步至所述本地调度器,获取关联远程任务的远程任务信息。
通过将远程节点任务信息同步至本地调度器,即将其它控制器节点的调度信息同步至本地调度器中,使得本地调度信息与远程调度信息进行结合,得到关联远程任务的远程任务信息。
其中关联远程任务为与当前关联机器人相关的远程任务,远程任务信息可以包括关联远程任务的同步状态、任务请求、输出数据等。示例性的,关联机器人B执行目标任务B,关联机器人B对关联机器人A发送与目标任务B相关的远程节点任务信息,以使关联机器人A执行目标任务A,则对于关联机器人A而言,目标任务B为关联机器人A的关联远程任务。
步骤240、根据所述远程任务信息从本地资源管理器中获取任务执行资源。
根据远程任务信息从资源管理器中获取任务执行资源,即根据远程任务信息,或根据远程任务信息和本地任务信息,从本地资源管理器中请求相应资源,本地资源管理器根据请求分配任务执行资源,以后续根据任务执行资源和本地调度流程执行目标任务。例如通过本地调度器从获取远程任务信息和本地任务信息中获取目标任务的任务同步状态和资源状态,根据任务同步状态和资源状态以及任务需求,本地资源管理器将合适的本地系统资源调配至目标任务对应的目标任务执行器,例如为CPU。其中,任务同步状态可以为目标任务在之前任务执行周期的任务执行状态,资源状态可以为目标任务在之前任务周期获取的资源情况。
步骤250、根据所述任务执行资源和所述本地调度器,按照本地调度流程执行目标任务。
根据任务执行资源和本地调度器,按照本地调度流程执行目标任务可以为:本地调度器更新当前任务执行周期对目标任务执行器的输入信息来源,即更新数据来源;目标任务执行器获取执行目标任务时产生的输出信息的传递位置。本地调度器根据任务执行资源驱动目标任务执行器执行任务执行周期的目标任务,当前目标任务执行器向传递位置返回输出信息,以进行后续处理。
本实施例中,可选的,根据所述任务执行资源和所述本地调度器,按照本地调度流程执行所述目标任务,包括:
若所述目标任务中存在高优先级任务,则分配所述任务执行资源中的第一执行资源至高优先级任务执行器,并按照预设指令周期驱动所述高优先级任务执行器执行所述高优先级任务;
若所述目标任务中存在低优先级任务,则分配所述任务执行资源中的第二执行资源至低优先级任务执行器,并按照预设指令周期驱动所述低优先级任务执行器执行所述目标任务中的低优先级任务。
其中,高优先级任务为需要优先处理的任务,高优先级任务执行器用于处理高优先级任务。若目标任务中存在高优先级任务,本地调度器从本地资源管理器中请求与高优先级任务关联的相应资源,本地资源管理器根据请求分配任务执行资源中的第一执行资源至高优先级任务执行器。本地调度器可以更新当前预设指令周期对高优先级任务执行器的输入信息来源,即更新数据来源;高优先级任务执行器获取执行高优先级任务时产生的输出信息的传递位置。本地调度器根据第一任务执行资源驱动高优先级任务执行器执行预设指令周期的高优先级任务,高优先级任务执行器向传递位置返回输出信息。
其中,低优先级任务为需要延后处理的任务,可以为在高优先级任务处理后或处理完成后进行处理的任务,本实施例对此不进行限制。低优先级任务执行器用于处理低优先级任务,可以为与高优先级任务执行器不同的CPU。若目标任务中存在低优先级任务,本地调度器从本地资源管理器中请求与低优先级任务关联的相应资源,本地资源管理器根据请求分配任务执行资源中的第二执行资源至低优先级任务执行器。本地调度器可以更新当前预设指令周期对低优先级任务执行器的输入信息来源,即更新数据来源;低优先级任务执行器获取执行低优先级任务时产生的输出信息的传递位置。本地调度器根据第二任务执行资源驱动低优先级任务执行器执行预设指令周期的低优先级任务,低优先级任务执行器向传递位置返回输出信息。
现有技术中通过操作系统调度任务,使得每个任务独立各自运行,而本技术方案中利用本地调度器根据任务的优先级来驱动执行实际存在于独立任务执行器内的目标任务,可以实现多任务处理,并且当目标任务为多任务时,使得任务调度执行动作顺序更加明确,提高任务执行的条理性。
本发明实施例通过远程任务信息从本地资源管理器中获取任务执行资源,根据任务执行资源和本地调度流程执行目标任务,在远程任务数据同步的基础上,将远程任务虚拟为本地任务由本地调度器进行调度,实现分布式任务调度,从而实现多机器人同步调度。
实施例三
图3为本发明实施例三提供的一种机器人调度方法的流程图,本技术方案是通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务的过程进行补充说明的。与上述方案相比,本方案具体优化为,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务,包括:若所述本地调度器确定同步条件信号被激活,则根据预设同步关系表激活同步触发信号;其中所述同步关系表用于描述单个同步条件信号与至少两个同步触发信号的关系;
根据所述同步触发信号执行所述目标任务中的至少两个子任务。具体的,机器人调度方法的流程图如图3所示:
步骤310、从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻。
步骤320、在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息。
步骤330、在所述同步生效时刻,若各所述关联机器人的本地调度器确定同步条件信号被激活,则根据预设同步关系表激活同步触发信号;其中所述同步关系表用于描述单个同步条件信号与至少两个同步触发信号的关系。
其中,预设同步关系表用于描述一个同步条件信号与多个同步触发信号间的关系。当本地调度器检测到任务的同步条件信号被激活时,更新表中对应的同步触发信号的激活状态。当同步触发信号未被激活时,可不执行目标任务。
步骤340、根据所述同步触发信号执行所述目标任务中的至少两个子任务。
根据同步触发信号驱动本地调度器在指令周期内执行相应的子任务,当指令周期结束,可以取消对应的同步触发信号的激活状态。
本实施例中,可选的,还包括:
在任务图形化界面中,通过第一预设形状描述所述同步条件信号;
通过第二预设形状描述所述同步条件信号;
通过所述第一预设形状与所述第二预设形状的预设连接方式描述所述子任务间的同步关系。
其中任务图形化界面用于以图形化的方式描述任务的执行逻辑,通过第一预设形状描述同步条件信号,第一预设形状可以为竖线或实心点,本实施例对此不进行限制。通过第二预设形状描述同步条件信号,第二预设形状可以为箭头,本实施例对此不进行限制。
通过第一预设形状与第二预设形状的预设连接方式描述子任务间的同步关系,可以为将第一预设形状与第二预设形状通过曲线连接,以描述不同子任务间的同步关系。
图4为本发明实施例三提供的一种任务图形化界面的示意图,如图4所示,描述的是当子任务1等待2s结束时,子任务2开始执行关节运动到位置1;当关节运动到位置1开始时,子任务1开始执行等待4s。第一预设形状为竖线或实心点,第二预设形状为箭头,通过竖线与箭头曲线连接或实心点与箭头曲线连接,表明为同步触发,表明子任务1与子任务2之间的同步关系。
通过预设连接方式描述多个任务的同步关系,取代传统利用变量或者命令的形式的同步语义描述,更加直观简单,易于理解,提高任务图形逻辑描述的有效性。
本实施例中,可选的,还包括:
若所述目标任务满足预设任务类型,则通过预设条件触发器判断是否满足任务触发条件;
若满足,则执行所述目标任务中的即时响应任务;
发送任务驱动,激活并执行所述目标任务中的延时响应任务。
预设任务类型,可以为具有一个真假返回值的条件表达式用以判定是否启动响应的任务,例如为受注册的事件或中断任务。
若任务满足预设任务类型,则通过预设条件触发器判断是否满足任务触发条件,例如若预设条件触发器为条件表达式的载体,则在每个调度循坏周期内都会通过预设条件触发器检查触发条件。
当触发条件满足时,立即执行即时响应任务,其中,即时响应任务为触发条件满足时需要立即执行的任务。当即时响应任务进行响应后,可发送一个任务驱动,激活延时响应任务的执行,若不发送,则不激活延时响应任务。其中,延时响应任务为无须立刻响应触发条件满足的任务,任务内容可以与即时响应任务不同,此后即时响应任务可以不受本地调度器控制一直运行至任务结束。激活延时响应任务后,延时响应任务可以通过本地调度器循环执行多个周期。
需要说明的是,即时响应任务和延时响应任务的具体执行方式与本发明实施例中描述的单个任务的执行方式相同。
通过将目标任务分为即时响应任务和延时响应任务来分别处理,即时响应任务用以处理高响应要求的动作,而延后响应动作任务通过本地调度器来驱动处理响应要求低的动作,提高了任务执行的灵活性。既确保了任务执行的即时性,满足响应要求高的场景要求,又保证了任务执行不影响其他任务的调度,提高了任务执行效率。
本发明实施例通过单个激活的同步条件信号激活多个同步触发信号,使得根据同步触发信号执行目标任务中的至少两个子任务,从而可通过发送单个信号实现多任务的同步执行,无需对多个任务分别发送执行信号,提高多任务执行的效率。
实施例四
图5为本发明实施例四提供的一种机器人调度装置的结构示意图。该装置可以由硬件和/或软件的方式来实现,可执行本发明任意实施例所提供的一种机器人调度方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置包括:
时刻确定模块510,用于从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;
任务信息获取模块520,用于在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;
目标任务执行模块530,用于在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
在上述各技术方案的基础上,可选的,所述时刻确定模块,包括:
信息处理时刻确定单元,用于根据所述主节点确定同步启动时刻,根据所述同步启动时刻和预设同步周期确定所述信息处理时刻;
同步生效时刻确定单元,用于根据所述信息处理时刻和各所述控制器节点的预设时间间隔确定所述同步生效时刻。
在上述各技术方案的基础上,可选的,所述目标任务执行模块,包括:
远程任务信息获取单元,用于通过将所述远程节点任务信息同步至所述本地调度器,获取关联远程任务的远程任务信息;
任务执行资源获取单元,用于根据所述远程任务信息从本地资源管理器中获取任务执行资源;
目标任务执行单元,用于根据所述任务执行资源和所述本地调度器,按照本地调度流程执行所述目标任务。
在上述各技术方案的基础上,可选的,所述目标任务执行单元,包括:
高优先级任务执行子单元,用于若所述目标任务中存在高优先级任务,则分配所述任务执行资源中的第一执行资源至高优先级任务执行器,并按照预设指令周期驱动所述高优先级任务执行器执行所述高优先级任务;
低优先级任务执行子单元,用于若所述目标任务中存在低优先级任务,则分配所述任务执行资源中的第二执行资源至低优先级任务执行器,并按照预设指令周期驱动所述低优先级任务执行器执行所述目标任务中的低优先级任务。
在上述各技术方案的基础上,可选的,所述装置还包括:
触发条件满足判断模块,用于若所述目标任务满足预设任务类型,则通过预设条件触发器判断是否满足任务触发条件;
即时响应任务执行模块,用于若所述触发条件满足判断模块判断为满足,则执行所述目标任务中的即时响应任务;
延时响应任务执行模块,用于发送任务驱动,激活并执行所述目标任务中的延时响应任务。
在上述各技术方案的基础上,可选的,所述目标任务执行模块,包括:
触发信号激活单元,用于若所述本地调度器确定同步条件信号被激活,则根据预设同步关系表激活同步触发信号;其中所述同步关系表用于描述单个同步条件信号与至少两个同步触发信号的关系;
子任务执行单元,用于根据所述同步触发信号执行所述目标任务中的至少两个子任务。
在上述各技术方案的基础上,可选的,所述装置还包括:
同步条件信号描述单元,用于在任务图形化界面中,通过第一预设形状描述所述同步条件信号;
同步条件信号描述单元,用于通过第二预设形状描述所述同步条件信号;
同步关系描述单元,用于通过所述第一预设形状与所述第二预设形状的预设连接方式描述所述子任务间的同步关系。
实施例五
图6示出了可以用来实施本发明实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如机器人调度方法。
在一些实施例中,机器人调度方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的机器人调度方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行机器人调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种机器人调度方法,其特征在于,包括:
从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;
在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;
在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
2.根据权利要求1所述的方法,其特征在于,根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻,包括:
根据所述主节点确定同步启动时刻,根据所述同步启动时刻和预设同步周期确定所述信息处理时刻;
根据所述信息处理时刻和各所述控制器节点的预设时间间隔确定所述同步生效时刻。
3.根据权利要求1所述的方法,其特征在于,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务,包括:
通过将所述远程节点任务信息同步至所述本地调度器,获取关联远程任务的远程任务信息;
根据所述远程任务信息从本地资源管理器中获取任务执行资源;
根据所述任务执行资源和所述本地调度器,按照本地调度流程执行所述目标任务。
4.根据权利要求3所述的方法,其特征在于,根据所述任务执行资源和所述本地调度器,按照本地调度流程执行所述目标任务,包括:
若所述目标任务中存在高优先级任务,则分配所述任务执行资源中的第一执行资源至高优先级任务执行器,并按照预设指令周期驱动所述高优先级任务执行器执行所述高优先级任务;
若所述目标任务中存在低优先级任务,则分配所述任务执行资源中的第二执行资源至低优先级任务执行器,并按照预设指令周期驱动所述低优先级任务执行器执行所述目标任务中的低优先级任务。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标任务满足预设任务类型,则通过预设条件触发器判断是否满足任务触发条件;
若满足,则执行所述目标任务中的即时响应任务;
发送任务驱动,激活并执行所述目标任务中的延时响应任务。
6.根据权利要求1所述的方法,其特征在于,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务,包括:
若所述本地调度器确定同步条件信号被激活,则根据预设同步关系表激活同步触发信号;其中所述同步关系表用于描述单个同步条件信号与至少两个同步触发信号的关系;
根据所述同步触发信号执行所述目标任务中的至少两个子任务。
7.根据权利要求6所述的方法,其特征在于,还包括:
在任务图形化界面中,通过第一预设形状描述所述同步条件信号;
通过第二预设形状描述所述同步条件信号;
通过所述第一预设形状与所述第二预设形状的预设连接方式描述所述子任务间的同步关系。
8.一种机器人调度装置,其特征在于,包括:
时刻确定模块,用于从各关联机器人对应的各控制器节点中确定主节点,并根据所述主节点确定各所述控制器节点的信息处理时刻和同步生效时刻;
任务信息获取模块,用于在所述信息处理时刻,各所述控制器节点获取与所述控制器节点关联的远程节点任务信息;
目标任务执行模块,用于在所述同步生效时刻,通过各所述关联机器人的本地调度器根据所述远程节点任务信息执行各所述关联机器人的目标任务。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的机器人调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的机器人调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211227140.3A CN115502975A (zh) | 2022-10-09 | 2022-10-09 | 一种机器人调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211227140.3A CN115502975A (zh) | 2022-10-09 | 2022-10-09 | 一种机器人调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115502975A true CN115502975A (zh) | 2022-12-23 |
Family
ID=84508329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211227140.3A Pending CN115502975A (zh) | 2022-10-09 | 2022-10-09 | 一种机器人调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115502975A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117621091A (zh) * | 2024-01-26 | 2024-03-01 | 深圳威洛博机器人有限公司 | 一种机器人的步态协同控制方法及系统 |
-
2022
- 2022-10-09 CN CN202211227140.3A patent/CN115502975A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117621091A (zh) * | 2024-01-26 | 2024-03-01 | 深圳威洛博机器人有限公司 | 一种机器人的步态协同控制方法及系统 |
CN117621091B (zh) * | 2024-01-26 | 2024-04-09 | 深圳威洛博机器人有限公司 | 一种机器人的步态协同控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025205B (zh) | 一种分布式系统中的训练模型的方法及设备 | |
Tan et al. | Coupling task progress for mapreduce resource-aware scheduling | |
US20070168082A1 (en) | Task-based robot control system for multi-tasking | |
CN104536835B (zh) | 一种热备份实时控制系统中自适应任务调度方法 | |
CN103197968A (zh) | 一种融合同步异步特点的线程池处理方法及系统 | |
Saksena et al. | Guidelines for automated implementation of executable object oriented models for real-time embedded control systems | |
CN107220107B (zh) | 一种多时钟多任务并行实时仿真系统及方法 | |
EP3594809A1 (en) | Control system for microkernel architecture of industrial server and industrial server comprising the same | |
CN106293919A (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
KR20020022049A (ko) | 태스크 스케줄링 및 메시지 패싱 | |
CN110795254A (zh) | 一种基于php处理高并发io的方法 | |
US20210042155A1 (en) | Task scheduling method and device, and computer storage medium | |
CN114091672B (zh) | 分布式模型推理方法及装置、电子设备和介质 | |
CN115502975A (zh) | 一种机器人调度方法、装置、电子设备及存储介质 | |
CN116197919B (zh) | 机器人控制系统及控制方法 | |
Ashjaei et al. | End-to-end resource reservations in distributed embedded systems | |
Ogawa et al. | Efficient approach to ensure temporal determinism in automotive control systems | |
EP4235424A1 (en) | Resource control method for function computing, device, and medium | |
CN111767059A (zh) | 深度学习模型的部署方法、装置、电子设备和存储介质 | |
CN106154876A (zh) | 一种智能机器人及机器人操作系统 | |
CN109445847B (zh) | 工业服务器微内核架构实现方法 | |
CN110716791B (zh) | 一种实时虚拟化系统及其执行方法 | |
US20200073351A1 (en) | Approach and mechanism for execution of critical system operations | |
Gutiérrez García et al. | Prioritizing remote procedure calls in Ada distributed systems | |
CN116893893B (zh) | 一种虚拟机调度方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100 Applicant after: Jieka Robot Co.,Ltd. Address before: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100 Applicant before: SHANGHAI JAKA ROBOTICS Ltd. |