CN110480635B - 一种用于多机器人的控制方法及控制*** - Google Patents
一种用于多机器人的控制方法及控制*** Download PDFInfo
- Publication number
- CN110480635B CN110480635B CN201910734588.6A CN201910734588A CN110480635B CN 110480635 B CN110480635 B CN 110480635B CN 201910734588 A CN201910734588 A CN 201910734588A CN 110480635 B CN110480635 B CN 110480635B
- Authority
- CN
- China
- Prior art keywords
- robot
- command
- action
- execution
- robots
- 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.)
- Active
Links
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
-
- 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
-
- 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
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Manipulator (AREA)
Abstract
本发明公开一种用于多机器人的控制方法及控制***,该方法步骤包括:S1.接收对目标多机器人的控制命令;S2.将控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令;S3.将标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中对机器人的控制指令、机器人传感信息的机器人信息通过共享数据库进行数据通信并实时更新共享数据库。本发明能够实现多机器人控制,且具有控制实现简便、灵活以及精确度高等优点。
Description
技术领域
本发明涉及多机器人***控制技术领域,尤其涉及一种用于多机器人的控制方法及控制***。
背景技术
随着机器人技术的快速发展,机器人被应用于各个领域当中来代替人类劳动,且随着人工智能和模式识别与机器人技术的结合,机器人控制的发展趋势变成从人类控制到自主控制。人机混合控制介于人类控制与自主控制之间,对于人机混合控制而言,如何使得人类的指令能够方便,无歧义的被机器人所理解,是目前所面临的难题。
指挥和控制多机器人***是一项非常有挑战性的任务,若指挥命令的复杂度过低,会让指挥者的意图无法完全表达,指令越简单,对机器人的智能程度要求则越高,而指挥命令复杂度过高,虽然能够在各种抽象程度上表达出指挥者的意图,但是也会给指挥者增加不必要的负担,尤其是在指挥一个多机器人***时候更是如此。
对于异构机器人集群的控制,目前通常是采用集中式控制方式实现,即由集中控制器统一存放所有的计算资源,集中式对所有的数据进行处理,然后分配任务给各机器人,机器人本身不具备自主决策能力,但是该类方式主要存在以下问题:
1、随着机器人的增加以及异构性复杂度的增加,***模型复杂度会急剧上升。
2、***模型复杂度的增加,同时会使得计算量增加,交互信息膨胀,每增加一台机器人,都需要频繁修改通信协议以及相关决策,才能保证机器人之间能正常通信与合作。
3、随着机器人的增加,针对单机器人的控制指令会给指挥者带来极大的指挥负担;
4、控制方案没有统一标准,不同的开发者开发的软件无法通用,在不同的机器人平台上还需要重新根据协议编写程序。
针对上述问题,有从业者提出基于Scheme语言设计用于多机器人协调的分布式执行程序,它们侧重于多智能体***的监督控制,采用基于行为的控制方法:预定义一组基本行为,指挥者选择其中一个智能体,但是该类方法在面对一个更大的智能体群体,更复杂或更多的行为时仍然是不适用的,该类方法不具备可扩展性,行为的增加会给指挥者带来极大的负担,即当机器人数量较多时,仍然无法很好的指挥与控制多机器人***。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够实现多机器人控制且控制实现简便、灵活以及精确度高的用于多机器人的控制方法及控制***。
为解决上述技术问题,本发明提出的技术方案为:
一种用于多机器人的控制方法,步骤包括:
S1. 接收对目标多机器人的控制命令,所述控制命令为包括执行对象、执行动作以及动作目的的自然语言语句;
S2. 将步骤S1接收到的控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令;
S3. 分布式控制:将步骤S2转换得到的标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中所述共享数据库为所有机器人共享的分布式实时数据库,对机器人的控制指令、机器人传感信息的机器人信息通过所述共享数据库进行数据通信并实时更新所述共享数据库。
作为本发明的进一步改进:所述控制指令为基于上下文无关语言的控制指令。
作为本发明的进一步改进,所述步骤S2的具体步骤包括:将接收到的控制指令进行分词,再进行语义角色标注,其中关键词为执行对象、执行动作、动作目的以及执行时间,分别对应于语义角色中的主语、谓语、地点状语和时间状语,得到包含执行对象、执行动作、动作目的以及执行时间的标准格式指令。
作为本发明的进一步改进,所述步骤S3中将标准格式指令进行分解的步骤包括:所述步骤S1前还包括预先为共享数据库的词典中每个词语配置对应的词汇标记,对指令进行分解时,根据词典中的所述词汇标记与词语的对应关系,将命令解析成机器人可执行的指令。
作为本发明的进一步改进,还包括预先在所述共享数据库中设置用于确定执行动作的词汇树的步骤,具体步骤为:由战术词汇以及动作词汇两种词汇的层级关系来构建所述词汇树,其中所述动作词汇为对应机器人基本动作的低级命令,所述战术词汇为对应具体任务目标的高级命令,所述战术词汇对应多个所述动作词汇的组合。
作为本发明的进一步改进:所述步骤S1中当需要对机器人发送控制指令时,根据所需的任务目标选取对应的战术词汇,以及根据所述战术词汇选取基本的动作词汇;所述步骤S3中转换为机器人可执行的指令时,具体通过搜索所述词汇树,判断所需执行指令为高级命令还是低级命令,如果是低级命令则直接执行,如果为高级命令则再进行分解,按照分解后的低级命令进行执行。
作为本发明的进一步改进,所述步骤S1前还包括预先在所述共享数据库中设置用于确定执行对象的角色树的步骤,具体步骤为:为每个机器人角色构建一个所述角色树,所述角色树中以机器人的角色名字为根节点、用于描述机器人的角色信息的动作词汇为子节点,所述角色信息包括机器人节点所具备的动作执行能力。
作为本发明的进一步改进:所述步骤S3中转换为机器人可执行的指令时,具体通过搜索所述角色树,确定哪些机器人具备能力完成所需任务以完成任务的分配,再将转换后的指令发送给分配的各目标机器人。
作为本发明的进一步改进:当需要在所述共享数据库中加入新机器人时,在机器人节点中加入以角色名字为根节点、动作词汇为子节点的子角色树,将更新后的角色树同步到所述共享数据库中,并且在所述共享数据库中开辟一块空间用来给新机器人与群体进行信息交互,完成新机器人到机器人群体当中的接入;当需要删除机器人角色时,在所述角色树中找到对应角色名字的节点后进行尾递归删除,并将所述共享数据库中对应内存释放掉。
一种用于多机器人的控制***,包括依次连接的输入层、接口层和行为层,所述输入层接收对目标多机器人的控制指令,所述控制命令为包括执行对象、执行动作、动作目的以及执行时间的自然语言语句,所述接口层将所述输入层接收到的控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令,所述行为层将所述接口层转换得到的标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中所述共享数据库为所有机器人共享的分布式实时数据库,对机器人的控制指令、机器人传感信息的机器人信息通过所述共享数据库进行数据通信并实时更新所述共享数据库。
与现有技术相比,本发明的优点在于:
1、本发明通过接收控制指令转化为标准格式指令,再基于各机器人的共享数据库转化为机器人可执行的指令,控制各机器人执行相应的指令动作,可以实现对多机器人***的通用控制,基于自然语言语句即可实现与多机器人的交互,指挥者只需要将指挥意图表达出来,即可以将抽象的意图转化成为低层次的机器人可执行的指令,使得指挥者可以不用考虑低层次的原子操作,而只需要关注自己的任务目标即可,从而能够方便的实现各种不同机器人组成的机器人集群的指挥和控制,使得对于机器人***的控制能够像指挥人一样简单,允许指挥者轻松地控制多机器人活动。
2、本发明通过将控制指令输入、标准指令转换以及机器人可执行指令转换进行分层实现,同时通过一个分布式实时共享数据库实现机器人群体的数据交互,由该数据库同时更新所有机器人的数据,该数据库数据库存在于所有的机器人中,即所有机器人在任意时刻能够获得所有机器人的数据,可以实现对多机器人的分布式控制,每台机器人只需要计算与自己相关的信息,而不必如传统的集中式控制方式需要对所有的数据进行处理,可以灵活、高效的实现对异构机器人的通用控制,且基于分布式控制方式可以很方便地增加和减少机器人,从而可以适用于数量众多的多机器人***中。
3、本发明进一步基于上下文无关语言控制多机器人,可以实现无歧义的命令以及将机器人模块化的协议,基于上下文无关语言指挥多机器人***,能够很好的让指挥者的意图表达出来,同时也能减轻指挥者的负担。
4、本发明进一步在共享数据库中构建词汇树实现多种层级的方式控制机器人,通过搜索词汇树确定机器人的执行动作,由行为级命令可以很方便的指挥单机器人,由任务级命令对应多条指令,可以方便的让机器人自主执行任务级的命令,有效解决了机器人增多带来的控制负担问题。
5、本发明进一步在共享数据库中构建角色树,通过搜索角色树,确定哪些机器人具备能力完成所需任务以完成任务的分配,可以方便地让机器人从群体中快速接入与分离,能够灵活适用于不同的机器人***指挥多机器人。
附图说明
图1是本实施例用于多机器人的控制方法的实现流程示意图。
图2是本实施例中构建的用于多机器人的控制***的结构原理示意图。
图3是本实施例中控制***实现人机交互的原理示意图。
图4是本发明具体应用实施例中构建的词汇树结构示意图。
图5是本实施例中数据交互的原理示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例用于多机器人的控制方法的步骤包括:
S1. 接收对目标多机器人的控制命令,控制命令为包括执行对象、执行动作以及动作目的的自然语言语句;
S2. 将步骤S1接收到的控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令;
S3. 分布式控制:将步骤S2转换得到的标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中所述共享数据库为所有机器人共享的分布式实时数据库,对机器人的控制指令、机器人传感信息的机器人信息通过所述共享数据库进行数据通信并实时更新所述共享数据库。
本实施例通过将包括执行对象、执行动作、动作目的以及执行时间的控制指令转化为标准格式指令,再基于各机器人的共享数据库转化为机器人可执行的指令,控制各机器人执行相应的指令动作,可以实现对多机器人***的通用控制,基于自然语言语句即可实现与多机器人的交互,指挥者只需要将指挥意图表达出来,即可以将抽象的意图转化成为低层次的机器人可执行的指令,使得指挥者可以不用考虑低层次的原子操作,而只需要关注自己的任务目标即可,从而能够方便的实现各种不同机器人组成的机器人集群的指挥和控制,使得对于机器人***的控制能够像指挥人一样简单,允许指挥者轻松地控制多机器人活动。
本实施例通过将控制指令输入、标准指令转换以及机器人可执行指令转换进行分层实现,同时通过一个分布式实时共享数据库实现机器人群体的数据交互,由该数据库同时更新所有机器人的数据,该数据库数据库存在于所有的机器人中,即所有机器人在任意时刻能够获得所有机器人的数据,可以实现对多机器人的分布式控制,每台机器人只需要计算与自己相关的信息,而不必如传统的集中式控制方式需要对所有的数据进行处理,可以灵活、高效的实现对异构机器人的通用控制,且基于分布式控制方式可以很方便地增加和减少机器人,从而可以适用于数量众多的多机器人***中。
本实施例中控制指令为基于上下文无关语言的控制指令,即单机器人控制的命令符合上下文无关语法,基于上下文无关语言实现一种无歧义的命令以及一种将机器人模块化的协议,上下文无关语言是一种基于递归的思想来表述计算机语言符号集的定义规范。
对于异构机器人集群而言,控制命令需要具备无歧义性、可扩展性以及信息的交互性,其中无歧义是整个命令***的核心。根据乔姆斯基语法体系,将语法分为0型、1型、2型和3型语法,自然语法对应于0型语法,上下文相关语法、上下文无关语法和正规语法分别对应1型、2型和3型语法,其中自然语法和上下文相关语法很难消除歧义,上下文无关语法相对而言较容易做到消除歧义,正规语法是无歧义的。从指挥者的意图表达来看,自然语法和上下文相关语法是最佳选择,这两种语法可以抽象的表达指挥者的意图,并且对于指挥者而言使用自然语言表达命令是很自然的想法,但是对于计算机而言,解析语法需要消耗时间,正规语法的时间复杂度为线性时间,上下文无关语法识别的时间复杂度为多项式时间,上下文相关语法的时间复杂度为NP完全问题,自然语法则无法确定。本实施例考虑到命令的无歧义性以及当前计算机的性能,使用上下文无关语法,上下文无关语法的形式简单,便于人和机器处理,具有多项式时间复杂度,并且可以通过下推自动实现机器识别。
上下文无关语言在某种程度上可以视为受限的自然语言,在一定的规则下,输入自然语言就可以转化为相应的上下文无关语言。本实施例基于上下文无关语言指挥多机器人***,能够很好的让指挥者的意图表达出来,同时也能减轻指挥者的负担。
本实施例中基于上下文无关语法的控制命令,具体该命令和控制词汇语法包含5W(Who, What, Where, When, Why)的概念,即对应执行对象、执行动作、动作目的、执行时间以及原由,在构建任务的时候,需要包含至少一个What,Who表示任务分配对象和执行者,Where和When表示任务的空间和时间约束,Why是考虑到多人指挥,需要其他指挥者知晓当前指挥者的意图而增加的字段。通过使用上下文无关语言来指挥异构的机器人群体,能够充分发挥异构机器人的能力,同时不同种类的机器人能够方便、快速的加入群体以及从群体中分离。
为了满足上述需求,本实施例所采用的上下文无关语言配置具备以下特性:
1)可以发布无歧义的指令
2)命令可以根据需求扩展,具备可扩展性
3)是用于人机交互的一种标准指令格式
4)支持多通道的输入
5)方便人去控制指挥机器人。
本实施例具体采用简化语法,单机器人控制的命令格式具体为 SVOAC,其中S为主语,表示命令执行者(执行对象),V表示动词(执行动作),O表示动作对象与目的,大致对应上述5W (Who, What,Where, When, Why),其中SVO为必须成分。举例来说,①若控制命令为“二号去原点”,该命令是一条合法命令,其中“二号”为主语S,“去”是动词V,“原点”表示动作目的O;②若控制命令为“二号去”则不是一条合法指令,句子成分中没有表示动作目的的O。
本实施例控制命令产生式的格式具体为:
Sent-> SVO | SVOA | SVOAC
其中,S对应为主语,V对应为谓语,O对应为宾语,A对应为状语,C对应为宾补,分别对应5W(Who, What,Where, When, Why)。状语一般为时间状语,表命令执行的时间,宾补为补充说明,一般指代5W中的Why。
上述产生式Sent表示符合 SVO或者SVOA或者SVOAC的都符合语法,即只要符合这三者任意一条就视为合法语法。
本实施例基于上下文无关语言,通过使用简化的语法,使得该语言无法进行有歧义的展开,从而达到无歧义的目标,实现一种无歧义的命令控制语言,可以适用于单指挥者甚至是多指挥者的多机器人***控制场合中,当存在多个指挥者时,通过无歧义的命令可以确保指挥者能够同时接收到其他指挥者无歧义的指挥意图。
本实施例对机器人的控制指令可以为文本形式,也可以为自然语言的语音或手势等形式,如在某些必要的场景,需要用语音或者手势等方式来控制机器人群体,若为语音或手势等,则将语音或手势先经过解码后,转换为对应的命令文本即可。
本实施例在定义上下文无关语言基础之上,具体基于开源的ROS(Robotoperating system)框架开发如图2所示的控制***完成人机交互功能,通过该控制***可以表达指挥者的抽象意图,允许指挥者发出动作级和任务级的指令,可以应用于多机器人***中,使得单个指挥者可以很方便地指挥和控制整个多机器人***,让指挥者免于处理单个机器人的行动细节。
如图2所示,本实施例中控制***采取了分层模型,从上往下为输入层、接口层(Interface)和行为层,其中输入层接收来自GUI的控制指令,接口层负责将GUI中的输入转化成包含执行对象、执行动作、动作目的以及执行时间的标准格式指令,行为层收到接口层发送过来的命令,将命令使用各机器人之间的共享数据库进行分解,转化为机器人可执行的指令,即控制机器人的实际行动。通过上述分层的模型,可以很方便地增加和减少机器人,即只需要在接口层中动态地改变相应的接口命令即可。
如图3所示,本实施例中GUI具体为一个名为Coach的节点,其中两个共享数据库为同一数据库,指挥者与机器人之间通过Coach连接起来,通过Coach输入命令,再将命令转化为标准格式命令;标准格式命令中具有5W元素,再将命令进行分解,将高级命令转化为机器人能够执行的指令。本实施例中机器人具备一定的自主能力,可以是由信息驱动的半自主机器人,本身具备一定的能力完成复杂的任务,指挥者在下达命令的时候,根据指令需求以及机器人自身情况,进行任务分配。
本实施例中,步骤S2的具体步骤包括:将接收到的控制指令进行分词,再进行语义角色标注,其中关键词为执行对象、执行动作、动作目的以及执行时间,即who,when,where和what,分别对应于语义角色中的主语、时间状语、地点状语和谓语,如上述SVOAC,得到包含执行对象、执行动作、动作目的以及执行时间的标准格式指令。人机交互中很自然的想法是用自然语言去控制机器人,本实施例中命令以自然语言的形式输入,通过中文自然语言处理,将句子进行分词,再进行语义角色标注,由语义角色中的主语、时间状语、地点状语和谓语得到关键词who,when,where和what,从而可以将一段自然语言转化成为对应5W的标准命令。
本实施例具体在共享数据库内存储有一个总词典,上述经过第一次分词之后,再根据总词典进行强制分词,可以保证一些自造词不会被分错。
本实施例在接收到控制指令时,还包括对接收的语句进行语法检查步骤,使得只接收符合语法规则的句子,当句子合法的时候,如上述通过语法树将句子切分成不同的成分,每个不同的成分表示机器人可执行指令的关键字,后续再将这些关键字转换为机器人可执行的指令,若不合法,则反馈语法错误信息。具体如上述,控制命令若符合 SVO或者SVOA或者SVOAC,即为合法语法,否则不合法。
本实施例中,步骤S3中将标准格式指令进行分解的步骤包括:预先为共享数据库的词典中每个词语配置对应的词汇标记,对指令进行分解时,根据词典中的词汇标记与词语的对应关系,将命令解析成机器人可执行的指令。
本实施例中词汇标记具体分为两种:一种是核心标记,即为标记关键词:Who、When、What、Where、Why,另一种是自定义标记,具体根据任务情况动态添加,其中每个自定义标记都会被纳入到词典当中,词典中的每个词语都有相应的标记。在解析命令的时候,通过词典中的词汇标记与词语的对应关系,将命令解析成机器人能够执行的指令。
本实施例中,步骤S1前还包括预先在共享数据库中设置用于确定执行动作的词汇树的步骤,具体步骤为:由战术词汇以及动作词汇两种词汇的层级关系来构建词汇树,其中动作词汇为对应机器人基本动作的低级命令,战术词汇为对应具体任务目标的高级命令,战术词汇对应多个动作词汇的组合。当需要进行机器人控制时,可以根据所需的任务目标选取战术词汇,根据战术词汇选取基本的动作词汇,则通过简单的高级命令战术词汇,即可以方便的让机器人自主执行任务级的命令,有效解决了机器人增多带来的控制负担问题,且战术词汇与动作词汇都是根据特定的任务目标选取,可以保证词汇能够满足控制需求。
在具体应用实施例中构建的词汇树如图4所示,词汇树包含战术词汇和动作词汇两种词汇,其中战术词汇是根据具体任务确定的高级命令,是由动作词汇组合而成的,动作词汇包含机器人基本的动作,比如移动,避障等行为,词汇树中的词汇是可以被机器人执行的。通过在确定好机器人以及机器人能力的基础之上,将机器人的描述方式写入词汇树中,可以根据不同机器人不同能力来指挥。步骤S1当需要对机器人发送控制指令时,根据所需的任务目标选取对应的战术词汇,以及根据战术词汇选取基本的动作词汇,控制命令的核心语法规则即将任务分配给对应的机器人单元,如上述,Sent-> SVOAC 大致对应 Who,What,Where, When, Why,其中What为机器人词汇树上的词汇,即通过What来表达机器人可以直接执行的命令;步骤S3中目标机器人按照转换后的指令执行所需任务时,具体通过搜索词汇树,判断所需执行指令为高级命令还是低级命令,如果是低级命令则直接执行,如果为高级命令则再进行分解,按照分解后的低级命令进行执行。即对于行为级的任务,机器人直接执行,对于任务级的命令,机器人需要自主计算和决策,本实施例基于共享数据库,执行任务级命令时,每台机器人只需要计算与自己相关的信息,而不需如传统的集中式控制方式需要对所有的数据进行处理。
本实施例通过构建词汇树,可以基于多种层级的方式控制机器人,由动作词汇构成的行为级命令可以很方便的指挥单机器人,对应单条指令,比如移动、旋转等,由战术词汇构建的任务级命令对应多条指令,机器人根据相应的指令可以完成复杂的任务,比如防守,围捕等。
本实施例中,步骤S1前还包括预先在共享数据库中设置用于确定执行对象的角色树的步骤,具体步骤为:为每个机器人角色构建一个角色树,角色树中以机器人的角色名字为根节点、用于描述机器人的角色信息的动作词汇为子节点,角色信息包括机器人节点所具备的动作执行能力。角色树与上述词汇树类似,其中每个角色都通过动作词汇描述出来,步骤S3中目标机器人按照转换后的指令执行所需任务时,具体通过搜索角色树,确定哪些机器人具备能力完成所需任务以完成任务的分配,即当一条命令下达后,在任务分配阶段,通过搜索角色树,在角色树中找到Who,确定哪些机器人具备能力完成相应任务,完成任务的分配。
本实施例加入新机器人时,当需要在共享数据库中加入新机器人时,在机器人root节点中加入以角色名字为根节点、动作词汇为子节点的子角色树,将角色树同步到共享数据库中,并且在共享数据库中开辟一块空间,用来给新机器人与群体进行信息交互,这样新机器人就接入到机器人群体当中了,删除角色时,在角色树中,找到角色名字的节点,进行尾递归删除,并且将共享数据库中相应内存释放掉,可以方便的实现机器人节点的接入以及删除。在实际应用时,上述操作只需要在GUI中进行简单的操作即可完成。由于共享数据库是所有机器人共享,因而只要在共享数据库中删除相应的角色树,那么群体中其他机器人将无法知道相应机器人的信息,同时指挥者下达的信息也无法通过共享数据库下达给相应的机器人,将机器人加入群体中同理,因此通过在共享数据库中加入、删除相应的角色树,可以方便的增加、减少被控制的机器人。
为便于自然语言能够方便的指挥与控制多机器人***,本实施例在共享数据库中分别设置词汇标记、词汇树和角色树,所有机器人都共同使用着同一份数据库的数据,该数据库是实时更新的,发布的指令与机器人传感信息的返回都是通过这个共享数据库进行数据通信,数据交互具体如图5所示,基于共享数据库可以方便地让机器人从群体中快速接入与分离,能够灵活的适用于不同的机器人***指挥多机器人。
在具体应用实施例中,上述共享数据库基于TCP/IP协议,在传输层中,对数据进行了重新编码,再以相同的方式进行解码,且数据库中定义的基本数据类型与C语言中的基础数据类型一致,使得只需要不同的机器人使用分布式共享实时数据库就能获得结构化的信息,进一步通过类似反射的方式,通过数据内容获得相应的数据结构,使得可以在无协议的状态下获得任意结构化的信息。
标准命令中具体包含了5W,为了方便解析命令,本实施例定义Who为任务的执行者,首先在角色树中找到Who,然后查找When、Where以及What,When为执行时间,除了立即执行与定时执行之外,还能循环执行任务,例如巡逻任务,需要循环执行;Where表示任务执行者的目的地,要实现这个功能需要机器人具备全局定位能力,否则机器人无法知道自身与目的地之间的相对位置关系;Where可以用固定的坐标表示出来,也可以使用动态目标位置,当使用动态位置的时候,机器人需要对目标的位置进行估计,在进行追踪任务时,还需要保持固定的距离;What本应该用来描述任务,但是考虑到是人机交互,本实施例直接用来作为战术词汇或者动作词汇的载体。
本实施例在执行命令的流程中通过搜索角色树,具体根据角色的能力以及状态对角色分配任务,如果任务分配失败,则会将结果报告给GUI以让指挥者知晓,实现人机交互控制的具体配置包括:
1、根据特定任务目标,选取战术词汇,战术词汇为高级命令,如跟随、巡逻、防守等命令。
2、根据战术词汇,选取基本的动作词汇,动作词汇为低级命令,比如移动、转向等命令。
3、加入新机器人时,以who为根节点,动作词汇为子节点的树加入角色树中,然后同步数据库。
4、删除机器人时,在角色树中找到角色名字的节点,进行尾递归删除,然后同步数据库。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种用于多机器人的控制方法,其特征在于,步骤包括:
S1.接收对目标多机器人的控制命令,所述控制命令为包括执行对象、执行动作以及动作目的的自然语言语句;
S2.将步骤S1接收到的控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令;
S3.分布式控制:将步骤S2转换得到的标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中所述共享数据库为所有机器人共享的分布式实时数据库,对机器人的控制指令、机器人传感信息的机器人信息通过所述共享数据库进行数据通信并实时更新所述共享数据库。
2.根据权利要求1所述的用于多机器人的控制方法,其特征在于,所述控制命令为基于上下文无关语言的控制命令。
3.根据权利要求1所述的用于多机器人的控制方法,其特征在于,所述步骤S2的具体步骤包括:将接收到的控制命令进行分词,再进行语义角色标注,其中关键词为执行对象、执行动作、动作目的以及执行时间,分别对应于语义角色中的主语、谓语、地点状语和时间状语,得到包含执行对象、执行动作、动作目的以及执行时间的标准格式指令。
4.根据权利要求1所述的用于多机器人的控制方法,其特征在于,所述步骤S3中将标准格式指令进行分解的步骤包括:预先为共享数据库的词典中每个词语配置对应的词汇标记,对指令进行分解时,根据词典中的所述词汇标记与词语的对应关系,将所述标准格式指令解析成机器人可执行的指令。
5.根据权利要求1~4中任意一项所述的用于多机器人的控制方法,其特征在于,所述步骤S1前还包括预先在所述共享数据库中设置用于确定执行动作的词汇树的步骤,具体步骤为:由战术词汇以及动作词汇两种词汇的层级关系来构建所述词汇树,其中所述动作词汇为对应机器人基本动作的低级命令,所述战术词汇为对应具体任务目标的高级命令,所述战术词汇对应多个所述动作词汇的组合。
6.根据权利要求5所述的用于多机器人的控制方法,其特征在于,所述步骤S1中当需要对机器人发送控制命令时,根据所需的任务目标选取对应的战术词汇,以及根据所述战术词汇选取基本的动作词汇;所述步骤S3中目标机器人按照转换后的指令执行所需任务时,具体通过搜索所述词汇树,判断所需执行指令为高级命令还是低级命令,如果是低级命令则直接执行,如果为高级命令则再进行分解,按照分解后的低级命令进行执行。
7.根据权利要求5所述的用于多机器人的控制方法,其特征在于,所述步骤S1前还包括预先在所述共享数据库中设置用于确定执行对象的角色树的步骤,具体步骤为:为每个机器人角色构建一个所述角色树,所述角色树中以机器人的角色名字为根节点、用于描述机器人的角色信息的动作词汇为子节点,所述角色信息包括机器人节点所具备的动作执行能力。
8.根据权利要求7所述的用于多机器人的控制方法,其特征在于,所述步骤S3中转换为机器人可执行的指令时,具体通过搜索所述角色树,确定哪些机器人具备能力完成所需任务以完成任务的分配,再将转换后的指令发送给分配的各目标机器人。
9.根据权利要求7或8所述的用于多机器人的控制方法,其特征在于,当需要在所述共享数据库中加入新机器人时,在机器人节点中加入以角色名字为根节点、动作词汇为子节点的子角色树,将更新后的角色树同步到所述共享数据库中,并且在所述共享数据库中开辟一块空间用来给新机器人与群体进行信息交互,完成新机器人到机器人群体当中的接入;当需要删除机器人角色时,在所述角色树中找到对应角色名字的节点后进行尾递归删除,并将所述共享数据库中对应内存释放掉。
10.一种用于多机器人的控制***,其特征在于包括依次连接的输入层、接口层和行为层,所述输入层接收对目标多机器人的控制命令,所述控制命令为包括执行对象、执行动作以及动作目的的自然语言语句,所述接口层将所述输入层接收到的控制命令转换为包含执行对象、执行动作以及动作目的的标准格式指令,所述行为层将所述接口层转换得到的标准格式指令使用各机器人之间的共享数据库进行分解,得到指令的执行对象、执行动作以及动作目的,并转换为机器人可执行的指令发送给对应的各目标机器人,各目标机器人按照转换后的指令执行所需任务,其中对机器人的控制指令、机器人传感信息的机器人信息通过所述共享数据库进行数据通信并实时更新所述共享数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910734588.6A CN110480635B (zh) | 2019-08-09 | 2019-08-09 | 一种用于多机器人的控制方法及控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910734588.6A CN110480635B (zh) | 2019-08-09 | 2019-08-09 | 一种用于多机器人的控制方法及控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110480635A CN110480635A (zh) | 2019-11-22 |
CN110480635B true CN110480635B (zh) | 2020-12-04 |
Family
ID=68549652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910734588.6A Active CN110480635B (zh) | 2019-08-09 | 2019-08-09 | 一种用于多机器人的控制方法及控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110480635B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273659A (zh) * | 2020-01-21 | 2020-06-12 | 杭州大数云智科技有限公司 | 一种用于移动机器人示教运行的部署应用方案 |
CN112990727A (zh) * | 2021-03-26 | 2021-06-18 | 中国人民财产保险股份有限公司深圳市分公司 | 一种机器人任务执行控制方法、装置、***及介质 |
CN113268893B (zh) * | 2021-07-19 | 2021-10-01 | 中国科学院自动化研究所 | 基于连通保持约束的群体围捕方法及装置 |
CN113771033A (zh) * | 2021-09-13 | 2021-12-10 | 中冶赛迪技术研究中心有限公司 | 多机器人站点集成控制***、方法、设备和介质 |
CN114310898B (zh) * | 2022-01-07 | 2022-09-06 | 深圳威洛博机器人有限公司 | 一种机器手同步控制***及控制方法 |
CN116494242B (zh) * | 2023-06-01 | 2024-07-09 | 广州东焊智能装备有限公司 | 一种基于机器人***的交叉耦合控制方法 |
CN117021117B (zh) * | 2023-10-08 | 2023-12-15 | 电子科技大学 | 一种基于混合现实的移动机器人人机交互与定位方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824870B2 (en) * | 2017-06-29 | 2020-11-03 | Accenture Global Solutions Limited | Natural language eminence based robotic agent control |
CN107563653B (zh) * | 2017-09-08 | 2020-04-28 | 中国人民解放军国防科技大学 | 一种多机器人全覆盖任务分配方法 |
CN107717986A (zh) * | 2017-09-25 | 2018-02-23 | 珠海市领创智能物联网研究院有限公司 | 一种智能机器人的控制方法 |
CN108333941A (zh) * | 2018-02-13 | 2018-07-27 | 华南理工大学 | 一种基于混合增强智能的云机器人协作学习方法 |
CN109002037B (zh) * | 2018-06-27 | 2021-03-23 | 中国人民解放军国防科技大学 | 一种基于深度学习的多机器人协同路径跟随方法 |
-
2019
- 2019-08-09 CN CN201910734588.6A patent/CN110480635B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110480635A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110480635B (zh) | 一种用于多机器人的控制方法及控制*** | |
US20180300310A1 (en) | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system | |
EP1126436B1 (en) | Speech recognition from multimodal inputs | |
Williams et al. | A framework for resolving open-world referential expressions in distributed heterogeneous knowledge bases | |
Meriçli et al. | An interactive approach for situated task specification through verbal instructions | |
KR102641240B1 (ko) | 인공 지능 추론 장치 및 방법 | |
Eppe et al. | Application-Independent and Integration-Friendly Natural Language Understanding. | |
Angleraud et al. | Coordinating shared tasks in human-robot collaboration by commands | |
Maurtua et al. | Enhancing safe human-robot collaboration through natural multimodal communication | |
CN110354503B (zh) | 事件触发方法、装置以及终端 | |
US11999063B1 (en) | Robot systems, methods, control modules, and computer program products that leverage large language models | |
WO2024152642A1 (zh) | 基于推理链路自主进化策略的视觉语言导航方法及装置 | |
Iovino et al. | Interactive disambiguation for behavior tree execution | |
Pramanick et al. | Enabling human-like task identification from natural conversation | |
Hsiao et al. | Object schemas for grounding language in a responsive robot | |
Touraine et al. | A framework to manage multimodal fusion of events for advanced interactions within virtual environments | |
KR102610431B1 (ko) | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 | |
Giachos et al. | A contemporary survey on intelligent human-robot interfaces focused on natural language processing | |
CN113255373A (zh) | 一种基于Rasa框架的ARM侧离线对话***、装置及存储介质 | |
Wang et al. | RoboNLU: advancing command understanding with a novel lightweight bert-based approach for service robotics | |
CN115023695A (zh) | 更新用于人工智能的训练示例 | |
Andraos | DMR: a semantic robotic control language | |
WO2023206267A1 (zh) | 调整自然语言语句的方法、装置及存储介质 | |
Liu et al. | Chunfang Liu, Xiaoli Li and All Other Authors Are with Faculty of Information and Technology, Beijing University of Technology, Beijing, China cfliu1985@ 126. com, lixiaolibjut@ bjut. edu. cn, xueailin@ emails. bjut. edu. cn | |
CN115526164A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |