CN117400243A - 一种用于巡检机器人的自主任务编排调度***及方法 - Google Patents
一种用于巡检机器人的自主任务编排调度***及方法 Download PDFInfo
- Publication number
- CN117400243A CN117400243A CN202311397026.XA CN202311397026A CN117400243A CN 117400243 A CN117400243 A CN 117400243A CN 202311397026 A CN202311397026 A CN 202311397026A CN 117400243 A CN117400243 A CN 117400243A
- Authority
- CN
- China
- Prior art keywords
- action
- node
- task
- inspection
- scheduling
- 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
- 238000007689 inspection Methods 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000009471 action Effects 0.000 claims abstract description 271
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000012800 visualization Methods 0.000 claims abstract description 21
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 11
- 238000013480 data collection Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 19
- 238000000547 structure data Methods 0.000 claims description 10
- 230000000007 visual effect Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 4
- 238000009529 body temperature measurement Methods 0.000 description 3
- 239000003245 coal Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
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/1679—Programme controls characterised by the tasks executed
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明公开的用于巡检机器人的自主任务编排调度***及方法,涉及巡检机器人控制技术领域,该***包括集控平台和可视化工具,任务编排模块和调度***通过可视化工具进行操作。任务编排模块接收集控平台下发的任务并转换为调度***可处理的编排文件,编排解析模块将编排文件解析为描述多个巡检任务的动作树传递给任务分解模块;任务分解模块拆分动作树传递给调度引擎模块;调度引擎模块遍历动作树,控制巡检机器人执行动作;巡检机器人搭载传感器,数据通过数据收集模块传输至调度引擎,最终上传至可视化工具展示。本发明基于动作树进行业务逻辑处理,具有稳定可靠、扩展性强、可视化清晰等优点,解决了巡检任务可视化和交互的高度自由。
Description
技术领域
本发明涉及巡检机器人控制技术领域,具体涉及一种用于巡检机器人的自主任务编排调度***及方法。
背景技术
巡检机器人作为一种自动化设备,广泛应用于工业生产、环境监测等领域。目前机器人巡检有几类常用的模式:全站巡检、例行巡检和特殊巡检等。全站巡检是指对检测场地内所有已录入的有效测点进行周期性的全量巡检,也是一种较为常见的巡检方式,不需要人工干预,每天定时定点的重复执行;例行巡检是指通过人工方式选择指定的某些测点加入巡检任务,周期性的执行例行巡检操作;而特殊巡检是指针对某些可能存在隐患的测点,选择测点让机器人执行一次性的巡检任务。
传统的巡检机器人控制方法存在着复杂性高、可扩展性差等问题。在一些电力、煤矿等无人巡检场景下,需要巡检的各种设备是基于场内(变电站、煤炭厂)固定的电力设备,前期部署配置后后期很少变更,其执行过程也很少需要人参与,完全自主化进行巡检。
目前给巡检机器人下发巡检任务一般是通过上层集控平台等进行任务配置和选择,传统的派发方式,是上层***通过HTTP传输JSON格式的任务数据给机器人任务***,然后由调度***进行对任务进行分解处理,分解后的各种任务数据再传递给任务执行模块,最后任务执行模块将各个任务传递给机器人各种传感器,并接收传感器数据进行汇总巡检数据,其原理如图1所示。
采用上述传统的巡检任务派发机制,发现会有如下缺点:
问题1:使用上述流程派发任务,每新增一个巡检任务或者修改一个巡检任务,需要在上层***中进行编辑修改,人工参与度高,灵活性差;
问题2:上述流程执行期间,对于业务处理大量使用状态机机制,当执行内容需要在多个状态中执行时,各个状态下都需要放置执行内容的逻辑,当业务逻辑代码分散在各处时就不太好维护了,特别是对于复杂的机器人***,并且状态机难以脚本化和可视化;
问题3:巡检任务需求***,巡检需求也百花齐放,不同场景下的巡检任务往往需要重新开发与适配,对上层***的兼容性和复用性有很大限制;
问题4:上层***在编辑修改各种巡检任务的时候,可视化程度不高,没法直观的进行编辑修改,几乎完全是文字形式进行处理,容易出错。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种用于巡检机器人的自主任务编排调度***及方法,高稳定性、高性能、高扩展性和高度可视化的巡检任务编排、调度过程人机交互方式,解决了巡检任务可视化和交互的高度自由。
技术方案:本发明所述用于巡检机器人的自主任务编排调度***,应用层,运行有集控平台和可视化工具,所述集控平台用于下发巡检任务,所述可视化工具包括任务编排工具和调度引擎工具;
业务层,运行有任务编排模块和调度***,且分别通过所述任务编排工具、调度引擎工具进行可视化操作,所述任务编排模块用于接收所述集控平台下发的巡检任务,通过所述任务编排工具将巡检任务转换为所述调度***能够处理的编排文件;所述调度***包括编排解析模块、任务分解模块、调度引擎模块和数据收集模块,所述编排解析模块获取所述任务编排模块转换后的编排文件,将编排文件解析为用于描述多个巡检任务的动作树,然后传输至所述任务分解模块;所述任务分解模块按照巡检任务拆分动作树,生成每个巡检任务的树结构并传递给所述调度引擎模块;所述调度引擎模块用于遍历每个巡检任务的树结构,控制巡检机器人按照树结构执行动作;
硬件层,包括巡检机器人搭载的传感器,经所述数据收集模块将传感器采集的数据传输至所述调度引擎模块,所述调度引擎模块上传至所述可视化工具进行展示。
进一步完善上述技术方案,所述巡检任务为json格式数据结构,所述任务编排模块将json格式数据结构转换为xml格式的编排文件,所述xml格式的编排文件通过树形结构数据进行表达。
进一步地,所述树形结构数据包含N个巡检任务对应的树结构,每个树结构包括任务根节点、动作组节点、动作叶子节点,所述任务根节点对应巡检任务设置,每个任务根节点下级包含一个或若干个动作组节点,每个动作组节点下级包含一个或若干个动作叶子节点,所述动作叶子节点用于生成控制指令以控制巡检机器人执行动作,接收巡检机器人执行动作后的反馈数据。
进一步地,所述调度引擎模块编排巡检任务的过程包括:依次编排N个巡检任务的树结构,按照编排顺序执行巡检任务;或在依次编排的基础上,通过优先级设定,***优先级更高的巡检任务,暂停当前正在执行的巡检任务,执行优先级更高的巡检任务。
进一步地,所述动作组节点嵌套有若干个子动作组节点,所述子动作组节点包含一个或若干个动作叶子节点。
进一步地,每个动作组节点或子动作组节点下级的所述动作叶子节点具有串行或并行的动作属性,所述子动作组节点的动作属性能够继承父级的动作组节点,或采用自定义的动作属性。
进一步地,在所述树结构中,采用深度优先原则,查询当前优先级最高的动作组节点,与当前正在执行的动作组节点比较优先级,若相同,执行当前动作组节点下级的动作叶子节点,若不同,则将当前动作组节点修改为查询到的动作组节点,执行查询到的动作组节点下级的动作叶子节点。
进一步地,每组动作组的执行过程中,按照调度引擎、任务根节点、动作组节点、动作叶子节点进行遍历后再依次返回到上层的调度引擎,其中,根据动作组节点属性确定动作叶子节点的遍历方式,若动作属性为串行,该动作组节点下级的第一个动作叶子节点遍历完成后,依次返回动作组节点、任务跟节点、调度引擎,再进行该动作组节点下级第二个动作叶子节点的遍历,若动作属性为并行,遍历完该动作组节点下级所有的动作叶子节点后,再返回动作组节点、任务跟节点、调度引擎。
进一步地,每个动作叶子节点的执行过程均采用有限状态机模型,动作叶子节点的状态机能够自定义若干个状态,每个状态对应有处理函数,状态之间根据定义的业务逻辑切换,在每个巡检任务中,根据定义的逻辑,多次遍历进入状态机,每次遍历切换不同状态,直到最终状态为执行完成。
采用上述用于巡检机器人的自主任务编排调度***进行巡检机器人自主任务编排调度的方法,包括如下步骤:
接收集控平台下发的格式的巡检任务信息;
将接收到的巡检任务信息解析成xml格式编排文件,形成包含N个巡检任务的树形结构数据,所述树形结构数据包括:xml根节点ActionTree,其属性有id和name,id代表节点唯一编号,name代表该节点名称;任务根节点Task,其属性有id和name,id代表节点唯一编号,name代表该节点名;动作组节点Item,其属性有id、 name和parallel,id代表节点唯一编号,name代表该节点名,parallel属性代表其下的动作叶子节点是同步执行还是异步执行;动作叶子节点Action,其属性有id、action和param,id代表节点唯一编号,action属性代表执行动作的类名,param属性代表执行该动作需要传入的参数列表;
读取树形结构数据,按照巡检任务进行拆分,构建每个巡检任务对应的动作树,包括任务根节点、动作组节点和动作叶子节点;
依次遍历N个巡检任务对应的动作树,每个动作树的遍历过程按照调度引擎、任务根节点、动作组节点进行,根据动作组节点的动作属性对其下级的动作叶子节点进行遍历后再依次返回到上层的调度引擎,若动作属性为串行,该动作组节点下级的第一个动作叶子节点遍历完成后,返回到上层的调度引擎,再进行该动作组节点下级第二个动作叶子节点的遍历;若动作属性为并行,遍历完该动作组节点下级所有的动作叶子节点后,再返回到上层的调度引擎;
根据动作叶子节点生成的控制指令控制巡检机器人执行动作,接收巡检机器人执行动作后的反馈数据。
进一步地,每个动作叶子节点均采用有限状态机模型,每次遍历都会返回一种状态,最终状态为执行完成,执行过程中能够自定义若干个状态,每个状态对应有处理函数,状态之间切换根据定义的业务逻辑。
有益效果:与现有技术相比,本发明的优点在于:本发明基于动作树的树性结构组织业务逻辑处理单元,具有稳定可靠、扩展性强、可视化清晰等优点,任务编排模块和调度***分别通过所述任务编排工具、调度引擎工具进行可视化操作,解决了巡检任务可视化和交互的高度自由;采用xml格式的编排文件,任务编排或者新增任务只需要编辑编排文件即可,主体代码无需改动,扩展性、灵活性高,对于各种巡检场景兼容性极高;编排文件格式完全自定义,能提高解析稳定性和安全性。所有任务的编排和调度可在不修改代码情况进行全部展示,可视化程度高。调度引擎工具的可视化方便人机交互,能够全局掌控机器人巡检的自动化过程。创新性的将树结构和状态机有机的结合起来了,使得各自的优先发挥到最大。
附图说明
图1是传统方式任务派发流程示意图;
图2是本发明整体框架图;
图3是本发明中巡检任务编排流程图;
图4是本发明中调度引擎执行流程图;
图5是本发明中动作树串行执行顺序动态图;
图6是本发明中动作树并行执行顺序动态图;
图7是本发明中叶子节点执行状态机图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
一、名词解释:
巡检点:巡检机器人执行巡检任务的过程中,到达的某个位置,该位置需要调整机器人位姿进行特定设备的数据采集。
巡检设备:在巡检点上面,需要采集数据的特定设备,比如电流表、液位计等。
动作树:动作树是一种用于描述和控制复杂行为的图形化工具。它基于有向无环图结构,将机器人的行为划分为各个节点,通过节点之间的连接关系构建出一棵树形结构。动作树具有层次化、可扩展性强等特点,适用于描述巡检机器人的复杂行为。在这里特指描述巡检机器人巡检任务的整个巡检过程的一系列动作行为。
巡检任务:巡检机器人接收到的平台下发的需要执行巡检的任务。通常一次巡检任务中包含了很多巡检点,每个巡检点位上又包含了很多巡检设备。
动作组:在动作树中以中间节点存在,一个动作组下面可以由多个动作组成。
动作:在动作树中以叶子节点存在,是不可再分割的原子节点,即一个一个具体需要执行的动作,比如拍照动作、测温动作、算法识别动作等等,可以无限扩展。
串行/并行执行:在动作组上的一个属性,表示在动作组下面的所有动作从左到右依次串行或者并行执行。
二、***整体设计
本发明提供的用于巡检机器人的自主任务编排调度***,如图2所示,根据业务架构分层,可以分为三个层次:
在应用层,主要是外部平台比如集控平台,用于下发、配置巡检任务,下发给机器人去执行;另一部分为可视化工具,比如可视化编排工具和调度引擎可视化工具,前者是用户任务编排的可视化操作的程序,后者是提供给运维人员可视化查看机器人调度引擎(动作树执行工作流)工作流程的工具。
在业务层,主要是机器人本体的运行模块,包括任务编排模块以及整个调度***,调度***又细分为编排解析模块、任务分解模块、调度引擎模块和数据收集模块。
其中,任务编排模块主要负责外部平台下发的巡检任务,将这些任务信息编排成内部程序可以识别的数据结构,接收外部平台的数据一般是json格式,通过http协议传输,任务编排模块接收到json数据后,将之解析成xml格式的编排文件格式,然后传递给调度***,调度***随后执行处理该巡检任务。
调度***中的编排解析模块负责解析xml格式的编排文件,将文件内容转换为动作树这样的树形数据结构,然后传递给任务分解模块,将一个xml文件中多个巡检任务拆分出不同的树结构,再将这些拆分的树结构传递给调度引擎模块去依次执行。数据收集模块负责收集机器人搭载的各种传感器数据,汇总到调度引擎中进行处理。
在硬件层,主要是机器人搭载的各种传感器硬件,这些硬件采集的数据会由数据收集模块进行收集汇总,供调度引擎模块进行处理,并最终上传到应用层去进行展示。
三、巡检任务编排流程
巡检任务编排,主要是将外部平台传递过来的json数据转化成一颗树形的内部数据结构,树结构包括:任务根节点、动作组节点、各种动作的叶子节点,动作组节点是可以嵌套的,即一个动作组节点下还可以包括多个子动作组节点,每个动作组节点下面可以编排若干个动作叶子节点,叶子节点是原子节点,无法进行拆分了。
最终这颗树形结构能用xml格式进行描述,调度引擎读取到这个xml格式的数据结构就可以进行对树的遍历执行。
对于动作组,其下面的叶子节点是可以指定串行执行还是并行执行,串行执行的意思是遍历动作组的时候先遍历最左边的叶子节点,然后依次遍历右边的叶子节点,是一个叶子一个叶子串起来遍历执行的;并行执行的意思是遍历动作组的时候,其下面的所有叶子节点是同时进行遍历执行的,即将下面所有的叶子节点并行执行处理。
叶子节点,即动作节点,一般是执行机器人控制逻辑的原子单元,给机器人各种传感器发送控制指令,并接收传感器的实时数据进行反馈存储。叶子节点内部是个小型的状态机模型,其记录了多个处理状态,然后在每次遍历的时候切换到不同的状态,最终是一个完成状态,这个状态就代表此叶子节点处理完了。这里创新性的将树结构和状态机有机的结合起来了,使得各自的优先发挥到最大。
调度引擎模块中可以依次排N多个巡检任务树结构,执行完了巡检任务1,就执行巡检任务2,执行完了就执行巡检任务3。当然,也可以***一个优先级高的巡检任务N,如图3所示,将巡检任务N***到了巡检任务3之前执行,如果原来巡检任务3正在执行的话,则先暂停当前正在执行的优先执行巡检任务N这个任务。
四、巡检任务调度流程
如图4所示,这是调度引擎执行的一个整体流程图,先基于深度优先原则,遍历寻找最左边的叶子节点,如果查询到了,取出该所属的动作组,与当前正在执行的动作组比较,是否相同,如果相同,则执行当前动作组;如果不同,将当前动作组修改为寻找到的动作组,然后执行这个动作组下面的各个叶子节点,然后休眠20ms,接着继续去查找最左边叶子节点的动作组。如此反复,即可依次遍历图3的树中的所有叶子节点,所有叶子节点执行完了就代表巡检任务就执行完成了。
如图5所示的动作树串行执行顺序动态图,由图5中可以看出,调度引擎在遍历到动作组的时候,是串行去遍历叶子节点的:
1:引擎根节点遍历到任务根节点;
2:任务根节点遍历到动作组节点;
3:因为动作组的属性为串行,则先遍历左边的叶子节点;
4:左边叶子节点遍历完后,一直返回到引擎根节点,一直到编号6;
7:引擎根节点再次遍历到任务根节点;
8:任务根节点遍历到动作组节点;
9:这时候动作组节点去遍历右边的叶子节点;
10:然后右边的叶子节点遍历完后,一直返回到引擎根节点,一直到编号12。
这样的一套遍历流程,能够使用可视化工具方便的展现出来,实时查看程序当前的执行流程,方便调试以及定位问题。
如图6所示的动作树并行执行顺序动态图,由图6中可以看出,调度引擎在遍历到动作组的时候,是并行去遍历叶子节点的:
1:引擎根节点遍历到任务根节点;
2:任务根节点遍历到动作组节点;
3:因为动作组的属性为并行,则底下两个叶子节点是一起遍历的,代表两个叶子节点上的动作是一起执行的;
4:两个叶子节点都遍历完后,就一直返回到引擎根节点,一直到编号6。
这样的一套遍历流程,能够使用可视化工具方便的展现出来,实时查看程序当前的执行流程,方便调试以及定位问题。
如图7所示的动作叶子节点执行状态机示意图,每个叶子节点的处理过程都是一个有限状态机,每次遍历都会返回一种状态,最终一个状态永远是执行完成,期间执行过程中可以自定义若干个状态,每个状态都对应有个处理handler即处理函数。
例如:巡检机器人拍照测温这个业务流程,分解到动作叶子节点的状态机中,其业务状态分为以下几种:初始状态、拍照状态、测温状态、结束(执行完成)状态。整体的执行过程如下步骤:当调度引擎第一次遍历到该叶子节点的时候,该节点进行初始状态的处理,然后状态机返回初始状态;调度引擎发现不是执行完成状态,则等到下一次调度继续第二次遍历到该叶子节点,该节点进行第二个状态即拍照状态的业务处理,机器人进行一次拍照操作,然后状态机返回拍照状态;调度引擎发现不是执行完成状态,则等到下一次调度继续第三次遍历到该叶子节点,该节点进行第三个状态即测温状态的业务处理,机器人进行一次测温操作,然后状态机返回测温状态;调度引擎发现不是执行完成状态,则等到下一次调度继续第四次遍历到该叶子节点,该节点进行最后一个状态的业务处理,最后状态机返回结束(执行完成)状态;调度引擎发现是执行完成状态,则标记此叶子节点执行完成,下次不会再遍历该叶子节点了。至此该叶子(业务处理)节点在四种状态的切换中处理完业务逻辑后其使命结束了。
各个状态之间的切换,依赖于不同业务逻辑,有的业务逻辑处理过程简单只需要2-3个状态;有的业务逻辑处理过程复杂可能需要8-9个状态不等,这完全依赖于不同需求的业务逻辑,完全自定义,非常灵活,具有无限扩展性。
五、动作树编排文件格式解析说明
动作树编排的xml格式文件说明如下:
ActionTree:xml根节点,其属性有id和name,id代表节点唯一id;name代表该节点名称;
Task:任务根节点,其属性有id和name,代表含义和上面一样;
Item:动作组节点,其属性有id和name,代表含义和上面一样;另外有个parallel属性,代表其下的叶子节点是同步执行还是异步执行;
Action:叶子动作节点,原子节点,属性由id代表节点唯一id;action属性代表执行动作的类名,该类需要在代码实现中自己实现业务逻辑;param属性代表执行该动作需要传入的参数列表,格式为json字符串,内容也是根据业务自定义的。
由上述几种节点可以看出,每个节点上面都有id这个属性,此id属性均为全局唯一并且不重复的uuid,由生成uuid函数生成一个全局唯一的uuid字符串,并且每个节点上的id属性各自独立,互相没有关联性。
以下代码中编排了两个巡检任务:全面巡检和特殊巡检。其中每个巡检任务下有些动作组是并行执行的,有些动作组是串行执行的。
<Actem>Tree id="uuid" name="MainTree">
<Task id="uuid" name="全面巡检">
<Item id="uuid" name="巡检准备阶段"parallel="false">
<Action id="uuid" action="TCActionLiftArmGotoCommand"param="{\"pos\":0})"
<Action id="uuid" action="TCActionptzInitCommand"param="{\"pos\":0}"/>
<Action id="uuid" action="TCActionptzRotateCommand"param="{\"pos\":0}"/>
</Item>
<Item id="uuid"name="巡检移动阶段" parallel="true">
<Action id="uuid"action="TCActionGotoCommand"param="{\"pos\":100}" />
<Action id="uuid" action="TCActionPtzRotateCommand"param="{\"pos\":60) " />
</Item>
<Item id="uuid” name="巡检结束阶段" parallel="false">
<Action id="uuid"action="TCActionLiftArmGotoCommand"param="{\ "pos\":0}" />
<Action id="uuid"action="TCActionptzInitCommand"param="{\"pos\":0}" />
<Action id="uuid" action="TCActionptzRotateCommand"param="{\"pos\":0}" />
</Item>
</Task>
<Task id="uuid" name="特殊巡检">
<Item id="uuid" name="巡检准备阶段" parallel="false">
<Action id="uuid" action="TCActionLiftArmGotoCommand"param="{\"pos\":0}” />
<Action id="uuid" action="TCActionptzInitCommand"param="{\"pos\":0}"/>
<Action id="uuid" action="TCActionptzRotateCommand"param="{"pos\":0}" />
</Item><Item id="uuid" name="巡检移动阶段" parallel="true"
<Action id="uuid" action="TCActionGotoCommand” param="{\"pos\":100}"/>
<Action id="uuid" action="TCActionptzRotateCommand” param="{\"pos\"":60}" />
</Item>
<Item id="uuid" name="巡检结束阶段" parallel="false">
<Action id="uuid" action="TCActionLiftArmGotoCommand"param="{ \""pos\":0} " />
<Action id="uuid" action="TCActionptzInitCommand"param="{\"pos\":0}"/>
<Action id="uuid" action="TCActionptzRotateCommand"param="{ \"pos\":0}"/>
</Item>
</Task>
</ActionTree>
通过构建这样格式的xml文件,一方面可以用可视化的工具去编辑,另一方面可以手动编辑xml文件,然后传递导入到调度***,***就可以进行解析调度处理,并方便可视化工具进行呈现。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (10)
1.一种用于巡检机器人的自主任务编排调度***,其特征在于,包括:
应用层,运行有集控平台和可视化工具,所述集控平台用于下发巡检任务,所述可视化工具包括任务编排工具和调度引擎工具;
业务层,运行有任务编排模块和调度***,且分别通过所述任务编排工具、调度引擎工具进行可视化操作,所述任务编排模块用于接收所述集控平台下发的巡检任务,通过所述任务编排工具将巡检任务转换为所述调度***能够处理的编排文件;所述调度***包括编排解析模块、任务分解模块、调度引擎模块和数据收集模块,所述编排解析模块获取所述任务编排模块转换后的编排文件,将编排文件解析为用于描述多个巡检任务的动作树,然后传输至所述任务分解模块;所述任务分解模块按照巡检任务拆分动作树,生成每个巡检任务的树结构并传递给所述调度引擎模块;所述调度引擎模块用于遍历每个巡检任务的树结构,控制巡检机器人按照树结构执行动作;
硬件层,包括巡检机器人搭载的传感器,经所述数据收集模块将传感器采集的数据传输至所述调度引擎模块,所述调度引擎模块上传至所述可视化工具进行展示。
2.根据权利要求1所述的用于巡检机器人的自主任务编排调度***,其特征在于:所述巡检任务为json格式数据结构,所述任务编排模块将json格式数据结构转换为xml格式的编排文件,所述xml格式的编排文件通过树形结构数据进行表达。
3.根据权利要求2所述的用于巡检机器人的自主任务编排调度***,其特征在于:所述树形结构数据包含N个巡检任务对应的树结构,每个树结构包括任务根节点、动作组节点、动作叶子节点,所述任务根节点对应巡检任务设置,每个任务根节点下级包含一个或若干个动作组节点,每个动作组节点下级包含一个或若干个动作叶子节点,所述动作叶子节点用于生成控制指令以控制巡检机器人执行动作,接收巡检机器人执行动作后的反馈数据。
4.根据权利要求3所述的用于巡检机器人的自主任务编排调度***,其特征在于:所述调度引擎模块编排巡检任务的过程包括:依次编排N个巡检任务的树结构,按照编排顺序执行巡检任务;或在依次编排的基础上,通过优先级设定,***优先级更高的巡检任务,暂停当前正在执行的巡检任务,执行优先级更高的巡检任务。
5.根据权利要求4所述的用于巡检机器人的自主任务编排调度***,其特征在于:所述动作组节点嵌套有若干个子动作组节点,所述子动作组节点包含一个或若干个动作叶子节点。
6.根据权利要求5所述的用于巡检机器人的自主任务编排调度***,其特征在于:每个动作组节点或子动作组节点下级的所述动作叶子节点具有串行或并行的动作属性,所述子动作组节点的动作属性能够继承父级的动作组节点,或采用自定义的动作属性。
7.根据权利要求3所述的用于巡检机器人的自主任务编排调度***,其特征在于:在所述树结构中,采用深度优先原则,查询当前优先级最高的动作组节点,与当前正在执行的动作组节点比较优先级,若相同,执行当前动作组节点下级的动作叶子节点,若不同,则将当前动作组节点修改为查询到的动作组节点,执行查询到的动作组节点下级的动作叶子节点。
8.根据权利要求6所述的用于巡检机器人的自主任务编排调度***,其特征在于:每组动作组的执行过程中,按照调度引擎、任务根节点、动作组节点、动作叶子节点进行遍历后再依次返回到上层的调度引擎,其中,根据动作组节点属性确定动作叶子节点的遍历方式,若动作属性为串行,该动作组节点下级的第一个动作叶子节点遍历完成后,依次返回动作组节点、任务跟节点、调度引擎,再进行该动作组节点下级第二个动作叶子节点的遍历,若动作属性为并行,遍历完该动作组节点下级所有的动作叶子节点后,再返回动作组节点、任务跟节点、调度引擎。
9.根据权利要求1所述的用于巡检机器人的自主任务编排调度***,其特征在于:每个动作叶子节点的执行过程均采用有限状态机模型,动作叶子节点的状态机能够自定义若干个状态,每个状态对应有处理函数,状态之间根据定义的业务逻辑切换,在每个巡检任务中,根据定义的逻辑,多次遍历进入状态机,每次遍历切换不同状态,直到最终状态为执行完成。
10.根据权利要求1所述的用于巡检机器人的自主任务编排调度***进行巡检机器人自主任务编排调度的方法,其特征在于,包括如下步骤:
接收集控平台下发的格式的巡检任务信息;
将接收到的巡检任务信息解析成xml格式编排文件,形成包含N个巡检任务的树形结构数据,所述树形结构数据包括:xml根节点ActionTree,其属性有id和name,id代表节点唯一编号,name代表该节点名称;任务根节点Task,其属性有id和name,id代表节点唯一编号,name代表该节点名;动作组节点Item,其属性有id、 name和parallel,id代表节点唯一编号,name代表该节点名,parallel属性代表其下的动作叶子节点是同步执行还是异步执行;动作叶子节点Action,其属性有id、action和param,id代表节点唯一编号,action属性代表执行动作的类名,param属性代表执行该动作需要传入的参数列表;
读取树形结构数据,按照巡检任务进行拆分,构建每个巡检任务对应的动作树,包括任务根节点、动作组节点和动作叶子节点;
依次遍历N个巡检任务对应的动作树,每个动作树的遍历过程按照调度引擎、任务根节点、动作组节点进行,根据动作组节点的动作属性对其下级的动作叶子节点进行遍历后再依次返回到上层的调度引擎,若动作属性为串行,该动作组节点下级的第一个动作叶子节点遍历完成后,返回到上层的调度引擎,再进行该动作组节点下级第二个动作叶子节点的遍历;若动作属性为并行,遍历完该动作组节点下级所有的动作叶子节点后,再返回到上层的调度引擎;
根据动作叶子节点生成的控制指令控制巡检机器人执行动作,接收巡检机器人执行动作后的反馈数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311397026.XA CN117400243A (zh) | 2023-10-26 | 2023-10-26 | 一种用于巡检机器人的自主任务编排调度***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311397026.XA CN117400243A (zh) | 2023-10-26 | 2023-10-26 | 一种用于巡检机器人的自主任务编排调度***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117400243A true CN117400243A (zh) | 2024-01-16 |
Family
ID=89492171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311397026.XA Pending CN117400243A (zh) | 2023-10-26 | 2023-10-26 | 一种用于巡检机器人的自主任务编排调度***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117400243A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040243281A1 (en) * | 2002-03-15 | 2004-12-02 | Masahiro Fujita | Robot behavior control system, behavior control method, and robot device |
CN110587601A (zh) * | 2019-08-20 | 2019-12-20 | 广西诚新慧创科技有限公司 | 一种应用于智能巡检机器人的控制*** |
CN111427320A (zh) * | 2020-04-03 | 2020-07-17 | 无锡超维智能科技有限公司 | 一种智能工业机器人分布式统一调度管理平台 |
CN112235419A (zh) * | 2020-12-09 | 2021-01-15 | 之江实验室 | 基于行为树的机器人云平台执行引擎和执行方法 |
CN112549029A (zh) * | 2020-12-03 | 2021-03-26 | 天津(滨海)人工智能军民融合创新中心 | 一种基于行为树的机器人行为控制方法及装置 |
CN113541315A (zh) * | 2021-07-21 | 2021-10-22 | 国网信通亿力科技有限责任公司 | 变电信息综合处理*** |
CN114755984A (zh) * | 2022-03-18 | 2022-07-15 | 达而观信息科技(上海)有限公司 | 一种自动化流程机器人的调度方法、调度***及自动化流程机器人 |
CN116203957A (zh) * | 2023-02-24 | 2023-06-02 | 立得空间信息技术股份有限公司 | 一种巡检和运输机器人作业任务管理方法及*** |
-
2023
- 2023-10-26 CN CN202311397026.XA patent/CN117400243A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040243281A1 (en) * | 2002-03-15 | 2004-12-02 | Masahiro Fujita | Robot behavior control system, behavior control method, and robot device |
CN110587601A (zh) * | 2019-08-20 | 2019-12-20 | 广西诚新慧创科技有限公司 | 一种应用于智能巡检机器人的控制*** |
CN111427320A (zh) * | 2020-04-03 | 2020-07-17 | 无锡超维智能科技有限公司 | 一种智能工业机器人分布式统一调度管理平台 |
CN112549029A (zh) * | 2020-12-03 | 2021-03-26 | 天津(滨海)人工智能军民融合创新中心 | 一种基于行为树的机器人行为控制方法及装置 |
CN112235419A (zh) * | 2020-12-09 | 2021-01-15 | 之江实验室 | 基于行为树的机器人云平台执行引擎和执行方法 |
CN113541315A (zh) * | 2021-07-21 | 2021-10-22 | 国网信通亿力科技有限责任公司 | 变电信息综合处理*** |
CN114755984A (zh) * | 2022-03-18 | 2022-07-15 | 达而观信息科技(上海)有限公司 | 一种自动化流程机器人的调度方法、调度***及自动化流程机器人 |
CN116203957A (zh) * | 2023-02-24 | 2023-06-02 | 立得空间信息技术股份有限公司 | 一种巡检和运输机器人作业任务管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11175643B2 (en) | Rich contextualization of automation data | |
CN105786912B (zh) | 数据采集转换方法及装置 | |
CN103970121B (zh) | 一种分布式卫星自动化测试框架*** | |
CN112651520B (zh) | 基于数据和知识驱动的工业物联网设备协同管控*** | |
Lynn et al. | Rapidly deployable MTConnect-based machine tool monitoring systems | |
KR102543064B1 (ko) | Rpa 기반 제조환경 모니터링 서비스 제공 시스템 | |
CN105739417B (zh) | 一种运载火箭全箭测发控信息可定制监控的监控***及其监控方法 | |
CN106021816A (zh) | 一种基于行为树的分布式***行为仿真分析工具的实现方法 | |
CN116485576A (zh) | 一种航空制造业知源大脑数据智能制造管理平台 | |
Cortés et al. | Digital Pyramid: An approach to relate industrial automation and digital twin concepts | |
CN112540975B (zh) | 一种基于petri网的多源异构数据质量检测方法及*** | |
CN104181896A (zh) | 一种基于物联网的工控采集状态监控*** | |
Farooqui et al. | From factory floor to process models: A data gathering approach to generate, transform, and visualize manufacturing processes | |
Terpstra et al. | KA process support through generalised directive models | |
CN116415386A (zh) | 一种基于实时数据驱动的数字孪生产线可视化*** | |
CN106096159A (zh) | 一种云平台下的分布式***行为仿真分析***的实现方法 | |
Naumann et al. | Automatic generation of robot applications using a knowledge integration framework | |
CN117400243A (zh) | 一种用于巡检机器人的自主任务编排调度***及方法 | |
Osadchy et al. | Research of DIKW and 5C architectural models for creation of cyber-physical production systems within the concept of Industry 4.0 | |
Landherr et al. | Intelligent management of manufacturing knowledge: Foundations, motivation scenario and roadmap | |
CN115202281A (zh) | 分析装置及其控制方法、分析*** | |
Xavier et al. | An interactive learning approach on digital twin for deriving the controller logic in IEC 61499 standard | |
Nilsson et al. | Ontology for robotics: A roadmap | |
CN115033253A (zh) | 一种深度学习模型的云边协同训练和部署***及方法 | |
CN113835387A (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 |