CN117250945A - 机器人编队控制方法、装置、机器人及存储介质 - Google Patents
机器人编队控制方法、装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN117250945A CN117250945A CN202210726433.XA CN202210726433A CN117250945A CN 117250945 A CN117250945 A CN 117250945A CN 202210726433 A CN202210726433 A CN 202210726433A CN 117250945 A CN117250945 A CN 117250945A
- Authority
- CN
- China
- Prior art keywords
- robot
- neighbor
- motion state
- state information
- kth
- 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
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000002159 abnormal effect Effects 0.000 claims abstract description 192
- 238000004590 computer program Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 208000012661 Dyskinesia Diseases 0.000 description 1
- 235000006629 Prosopis spicigera Nutrition 0.000 description 1
- 240000000037 Prosopis spicigera Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本申请提供了一种机器人编队控制方法、装置、机器人及存储介质,该方法包括:针对机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,并根据第一运动状态信息,在确定第一邻居机器人异常时,确定第一邻居机器人的异常值,最后根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿。即本申请机器人编队中的各机器人可以根据邻居机器人发送的运动状态信息,分析邻居机器人是否异常,在确定邻居机器人异常时,根据该异常值对邻居机器人的异常运动进行及时补偿,可以有效降低异常机器人对机器人编队造成的影响,使得机器人编队存在异常时,依然可以准确实现预期编队,提高机器人编队的工作可靠性。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种机器人编队控制方法、装置、机器人及存储介质。
背景技术
机器人编队可以理解为通过协同控制方法对多个机器人进行控制的多机器人***,可以实现单体机器人无法执行的任务。
在实际应用过程中,机器人编队中的机器人可能会受到外界的攻击,或者自身故障原因,出现异常,这样会影响机器人编队的正常工作。为了解决该技术问题,目前提出了基于检测的控制方法,具体是,对机器人编队中出现异常的机器人进行检测,进而将异常机器人从机器人队列中剔除。
但是,目前的基于检测的控制方法,无法有效降低异常机器人对机器人编队所造成的影响。
发明内容
本申请提供一种机器人编队控制方法、装置、机器人及存储介质,可以有效降低异常机器人对机器人编队造成的影响,使得机器人编队存在异常时,依然可以准确实现预期编队,提高机器人编队的工作可靠性。
第一方面,本申请提供一种机器人编队控制方法,包括:
针对所述机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,所述第一邻居机器人为所述目标机器人在所述机器人编队中的一个邻居机器人,所述k为正整数;
根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值;
根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿。
第二方面,提供了一种机器人编队控制装置,包括:
接收单元,用于针对所述机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,所述第一邻居机器人为所述目标机器人在所述机器人编队中的一个邻居机器人,所述k为正整数;
确定单元,用于根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值;
补偿单元,用于根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿。
第三方面,提供了一种机器人,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第四方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面中任一方面或其各实现方式中的方法。
第五方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面中任一方面或其各实现方式中的方法。
第六方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面中任一方面或其各实现方式中的方法。
第七方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面中任一方面或其各实现方式中的方法。
综上,本申请针对机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,并根据第一运动状态信息,在确定第一邻居机器人异常时,确定第一邻居机器人的异常值,最后根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿。即本申请实施例中,机器人编队中的各机器人与邻居机器人可以相同通信,可以将自身的运动状态信息发送给邻居机器人,也可以接到来自邻居机器人的运动状态信息。这样,机器人编队中的各机器人可以根据邻居机器人发送的运动状态信息,分析邻居机器人是否异常,在确定邻居机器人异常时,确定该邻居机器人的异常值,并根据该异常值对邻居机器人的异常运动进行及时补偿,进而降低了异常机器人对机器人编队的影响。也就是说,本申请通过机器人编队中的各机器人进行相互异常检测和补偿,在不依赖全局信息以及全局控制器的情况下,能够抵消或弥补攻击或故障带来的影响,使得机器人编队存在异常时,依然可以准确实现预期编队,从而提高了整个机器人编队的控制可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例涉及的一种机器人编队的示意图;
图2为图1所示的机器人编队对应的拓扑图;
图3为本申请一实施例提供的机器人编队控制方法的流程示意图;
图4为本申请一实施例提供的机器人编队控制方法的流程示意图;
图5是本申请一实施例提供的机器人编队控制装置的示意性框图;
图6是本申请实施例提供的机器人的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
图1为本申请实施例涉及的一种机器人编队的示意图。机器人编队的应用主要包括编队队形的生成、保持、变换和路径规划与避障等,这些应用均基于图论基础。
机器人编队是通过通信图进行相互联系。通信图表明了各个节点之间的信息流。协同控制的目标是为各个节点设计控制协议,以保证所有节点在某种特定意义上的状态同步行为。在协同***中,任何控制协议都必须按照其所规定的图拓扑结构进行分布式控制,也就是说,每个节点的控制协议只允许依赖于关于该节点及其在图中的邻居节点的信息。在多机器人协同编队中,关注的是动态***的行为和相互作用,这些动态***通过通信网络的链接相互联系,该通信网络被建模为具有与***间允许的信息流相对应的有向边的图,编队中的每个机器人被建模为图中的节点,那么最基本的问题就变为了图拓扑如何与节点的本地反馈控制协议交互,以生成互连节点的整体行为。
将机器人编队中的每一个机器人作为拓扑图中的一个节点,机器人编队对应的拓扑图可以表示为G=(V,E),其中V={x1,…,xn}表示N个节点的集合,E表示边的集合。集合E中的元素(xi,xj)表示从节点xi指向xj的边,在编队中表示信息从机器人xi流向机器人xj。在一种示例中,图1所示的机器人编队的一种拓扑图如图2所示,其中箭头方向表示信息流的方向,例如图2中,机器人2和机器人3之间可以互相通信。
机器人编队对应的拓扑图中,每一个节点可以作为一个智能体,每个智能体遵循如公式(1)和公式(2)所示的双积分动态:
其中,ri(t)∈R和vi(t)∈R分别表示智能体i在时间t≥0的位置和速度,而ui(t)∈R表示智能体i在时间t的控制输入。
在本申请实施例中,智能体具有连续的时间动态,而输入应用于离散采样时间。
使用采样周期T进行离散化后,每个智能体遵循的双积分动态如公式(3)和公式(4)所示:
vi(k+1)=vi(k)+Tui(k),i=1,…,n (4)
其中,ri(k)、vi(k)和ui(k)分别表示智能体i在时间t=kT时的绝对位置、速度和控制输入。ri(k+1)和vi(k+1)分别表示智能体i在时间t=(k+1)T时的绝对位置和速度。
本申请实施例基于上述机器人编队的拓扑图,实现对机器人编队的控制,以有效降低异常机器人对机器人编队造成的影响,使得机器人编队存在异常时,依然可以准确实现预期编队,提高机器人编队的工作可靠性。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本申请一实施例提供的机器人编队控制方法的流程示意图,如图3所示,本申请实施例的方法包括:
S301、针对机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息。
其中,第一邻居机器人为目标机器人在机器人编队中的一个邻居机器人,k为正整数。
在一些实施例中,目标机器人为机器人编队中的任意一个机器人,也就是说,机器人编队中的每一个机器人均执行本申请实施例的控制方法,且每个机器人执行本申请实施例的控制方法的过程均相同。因此,为了便于描述,下面以机器人编队中的一个机器人为例进行说明,为了与后续其他机器人进行区分,将该机器人称为目标机器人。
在一些实施例中,目标机器人为机器人编队中的任意一个正常机器人,也就是说,本申请实施例中,使用正常机器人对异常机器人的运动进行补偿,以降低异常机器人对机器人编队的影响。在一种示例中,目标机器人为机器人编队中在第k时刻未出现异常的任意一个机器人,例如目标机器人在第k+1时刻向邻居机器人发送运动状态信息,邻居机器人根据目标机器人在第k+1时刻发送的运动状态信息,判断目标机器人为异常机器人还是为正常机器人,并将判断结果发送给目标机器人。这样目标机器人根据判断结果,在确定自身为正常机器人时,则执行本申请实施例的方法。
在一些实施例中,机器人编队中的机器人包括收发器和控制器,其中收发器用于接收邻居机器人发送的信息流,例如接收邻居机器人发送的运动状态信息,以及将本身的运动状态信息发送给邻居机器人。控制器用于根据生成的控制信息,控制机器人的运动状态。
在一些实施例中,控制器还可以包括编队协同控制器和补偿控制器,其中编队协同控制器用于生成控制输入信息,以使机器人在该控制输入信息的控制下完成在队列中的预期运动状态。其中补偿控制器用于控制该机器人对异常邻居机器人的运动进行补偿,以降低异常邻居机器人对编队的影响。
本申请实施例中,目标机器人的邻居机器人是指机器人编队中可以向该目标机器人传输信息流的机器人。例如图2所示的拓扑结构中,假设目标机器人为机器人3,则可以向机器人3发送信息流的机器人为机器人1、机器人2、机器人5和机器人6,因此,可以将机器人1、机器人2、机器人5和机器人6称为目标机器人的邻居机器人。
在本申请实施例中,目标机器人与每个邻居机器人进行信息实时交互,可以接收到每个邻居机器人发送的运动状态信息,进而根据每个邻居机器人发送的运动状态信息判断每个邻居机器人是否异常。若判断邻居机器人异常时,确定该异常的邻居机器人的异常值,进而根据异常值对该异常的邻居机器人的运动进行补偿,以降低该异常的邻居机器人对机器人编队的影响。由此可知,本申请实施例中,目标机器人对每个邻居机器人采用相同的措施进行运动补偿,因此,为了便于描述,在此以目标机器人中的一个邻居机器人为例进行说明,例如以第一邻居机器人为例进行说明。
本申请实施例对第一运动状态信息所包括的具体内容不做限制。
在一种示例中,第一运动状态信息包括第一邻居机器人在第k+1时刻的运动状态信息。
在一种示例中,第一运动状态信息包括第一邻居机器人在第k时刻的运动状态信息。
在一种示例中,第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息。其中,第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息是第一邻居机器人的N个第二邻居机器人在第k时刻发送给第一邻居机器人的。
在一种示例中,第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k+1时刻的运动状态信息。其中,第一邻居机器人的N个第二邻居机器人在第k+1时刻的运动状态信息是第一邻居机器人的N个第二邻居机器人在第k+1时刻发送给第一邻居机器人的。
在一种示例中,第一运动状态信息包括第一邻居机器人在第k+1时刻的运动状态信息,以及第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息。
在一种示例中,第一运动状态信息包括第一邻居机器人在第k时刻的运动状态信息,以及第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息。
在一种示例中,第一运动状态信息包括第一邻居机器人在第k+1时刻的运动状态信息,以及第一邻居机器人的N个第二邻居机器人在第k+1时刻的运动状态信息。
可选的,第一运动状态信息还可以包括其他的与运动状态相关的信息,本申请实施例对此不作限制。
在一些实施例中,若第一运动状态信息包括第一邻居机器人在第k+1时刻的运动状态信息时,本申请实施例对第一邻居机器人在第k+1时刻的运动状态信息所包括的具体内容不做限制,例如包括第一邻居机器人在第k+1时刻的速度、位置、加速度、控制输入信息等可以表示第一邻居机器人在第k+1时刻的运动状态的任意信息。
在一种具体示例中,第一邻居机器人在第k+1时刻的运动状态信息包括第一邻居机器人在第k+1时刻的速度、位置、第一控制输入信息中的至少一个。其中,第一控制输入信息可以理解为第一邻居机器人在第k+1时刻的控制输入信息。
示例性的,若第一邻居机器人在第k+1时刻的运动状态信息包括第一邻居机器人在第k+1时刻的速度、位置、第一控制输入信息时,则第一邻居机器人在第k+1时刻的运动状态信息可以表示为:
其中,i表示第一邻居机器人在机器人编队中的标识,Ψ1(k+1)表示第一邻居机器人在第k+1时刻的运动状态信息,表示第一机器人在第k+1时刻时,在机器人编队中的位置,vi(k+1)表示第一机器人在第k+1时刻的速度。ui(k+1)表示第一机器人在第k+1时刻的第一控制输入信息。
在一些实施例中,若第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息时,本申请实施例对N个第二邻居机器人在第k时刻的运动状态信息所包括的具体内容不做限制,例如包括N个第二邻居机器人中每一个第二邻居机器人在第k时刻的速度、位置、加速度、控制输入信息等可以表示每一个第二邻居机器人在第k时刻的运动状态的任意信息。
在一种具体示例中,N个第二邻居机器人在第k时刻的运动状态信息包括N个第二邻居机器人中每一个第二邻居机器人在第k时刻的速度和位置中的至少一个。
示例性的,若N个第二邻居机器人在第k时刻的运动状态信息包括N个第二邻居机器人中每一个第二邻居机器人在第k时刻的速度和位置时,则N个第二邻居机器人在第k时刻的运动状态信息可以表示为:
其中,j表示第一邻居机器人的第j个邻居机器人在N个邻居机器人中的标识,Ψ2(k)表示N个第二邻居机器人在第k时刻的运动状态信息,表示第一机器人的第j个邻居机器人在第k时刻的速度,/>表示第一机器人的第j个邻居机器人在第k时刻时,在机器人编队中的位置。
在一些实施例中,若第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息、以及第一邻居机器人在第k+1时刻的运动状态信息,且第一邻居机器人在第k+1时刻的运动状态信息包括所述第一邻居机器人在第k+1时刻的速度、位置和第一控制输入信息,N个第二邻居机器人在第k时刻的运动状态信息包括N个第二邻居机器人中每一个第二邻居机器人在第k时刻的速度和位置。此时,第一运动状态信息可以表示为:
其中,Ψi(k+1)表示第一运动状态信息。
在一些实施例中,第一邻居机器人在第k+1时刻的控制输入信息可以通过如下公式(5)确定:
其中,aij表示第j个第二邻居机器人与第一邻居机器人在拓扑图中边的权重。其中,若第j个第二邻居机器人与第一邻居机器人可以通信时,则确定aij等于预设值,该预设值为0到1的正数,若第j个第二邻居机器人与第一邻居机器人不可以通信时,则确定aij等于0。
其中α是一个正标量,ri(k+1)表示第一邻居机器人在第k+1时刻的绝对位置,Δi可以理解为第一邻居机器人在机器人编队中所需的相对位置。在申请实施例中,将/>作为第一邻居机器人在第k+1时刻时在机器人编队中的位置。
在一些实施例中,机器人以相同的速度形成编队,此时上述公式(5)的目标是二阶一致性,即机器人编队中的机器人满足下面公式(6)和公式(7):
本申请实施例中,机器人编队中的目标机器人接收到来自第一邻居机器人在第k+1时刻发送的第一运动状态信息后,执行如下S302的步骤。
S302、根据第一运动状态信息,在确定第一邻居机器人异常时,确定第一邻居机器人的异常值。
本申请实施例中,目标机器人在第k+1时刻接收到第一邻居机器人发送的第一运动状态信息后,根据该第一运动状态信息判断第一邻居机器人是否出现异常,若判断第一邻居机器人出现异常时,则确定该第一邻居机器人的异常值。
在一些实施例中,目标机器人可以根据第一运动状态信息,判断第一邻居机器人在第k+1时刻是否发生异常。
示例性的,若第一运动状态信息包括第一邻居机器人在第k+1时刻的运动状态信息时,则目标机器人可以将第一邻居机器人在第k+1时刻的运动状态信息与目标机器人在第k+1时刻的运动状态信息进行比较。例如,比较第一邻居机器人在第k+1时刻的速度与目标机器人在第k+1时刻的速度是否相同。若相同,则确定第一邻居机器人在第k+1时刻正常,若不相同,则确定第一邻居机器人在第k+1时刻异常。
在该实施例中,根据上述方法,若确定第一邻居机器人在第k+1时刻异常时,则确定第一邻居机器人在第k+1时刻的异常值,并根据该异常值,对第一邻居机器人在第k+1时刻的运动进行补偿。
在一些实施例中,上述S302包括如下步骤:
S302-A、根据第一运动状态信息,确定第一邻居机器人在第k时刻是否异常;
S302-B、在确定目标机器人在第k时刻异常时,确定第一邻居机器人在第k时刻的异常值。
在该实施例中,目标机器人根据第一邻居机器人在第k+1时刻发送的第一运动状态信息,确定第一邻居机器人在第k时刻是否异常,在确定目标机器人在第k时刻异常时,确定第一邻居机器人在第k时刻的异常值。也就是说,在该实施例中,目标机器人根据第一邻居机器人在第k+1时刻发送的第一运动状态信息,对第一邻居机器人在第k时刻的运动进行补偿。
下面对上述S302-A中根据第一运动状态信息,确定第一邻居机器人在第k时刻是否异常的具体过程进行介绍。
本申请实施例中,上述S302-A中根据第一运动状态信息,确定第一邻居机器人在第k时刻是否异常的方式至少包括如下几种:
方式一,若第一邻居机器人在第k+1时刻发送给目标机器人的第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,且N个第二邻居机器人中包括目标机器人时,则上述S302-A包括如下S302-A-11和S302-A-12的步骤:
S302-A-11、从N个第二邻居机器人在第k时刻的运动状态信息中,获取目标机器人在第k时刻的运动状态信息;
S302-A-12、将第一运动状态信息所包括的目标机器人在第k时刻的运动状态信息,与目标机器人保存的目标机器人在第k时刻的运动状态信息进行比较,确定第一邻居机器人在第k时刻是否异常。
在该方式一中,第一邻居机器人在第k+1时刻发送给目标机器人的第一运动状态信息中,包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,且目标机器人为N个第二邻居机器人中的一个机器人。也就是说,目标机器人为第一邻居机器人的邻居机器人,目标机器人在第k时刻将目标机器人在k时刻的运动状态信息发送给第一邻居机器人,在第k+1时刻,第一邻居机器人将目标机器人在第k时刻的运动状态信息作为N个第二邻居机器人在第k时刻的运动状态信息中的一部分,发送给了目标机器人。这样,目标机器人可以从第k+1时刻接收到的第一运动状态信息所包括的N个第二邻居机器人在第k时刻的运动状态信息中,获取目标机器人在第k时刻的运动状态信息。
接着,目标机器人将从第一运动状态信息中所获取的目标机器人在第k时刻的运动状态信息,与自身所保存的目标机器人在第k时刻的运动状态信息进行比较,确定第一邻居机器人在第k时刻是否异常。例如,若第一运动状态信息中所获取的目标机器人在第k时刻的运动状态信息,与自身所保存的目标机器人在第k时刻的运动状态信息完全相同,则确定第一邻居机器人在第k时刻正常。若第一运动状态信息中所获取的目标机器人在第k时刻的运动状态信息,与自身所保存的目标机器人在第k时刻的运动状态信息不完全相同,则确定第一邻居机器人在第k时刻异常。
举例说明,假设第一运动状态信息中所包括的目标机器人在第k时刻的运动状态信息为运动状态信息1,目标机器人自身包括的目标机器人在第k时刻的运动状态信息为运动状态信息2。本申请实施例对运动状态信息1和运动状态信息2所包括的具体内容不做限制。若运动状态信息1与运动状态信息2所包括的内容不完全一致,则说明第一邻居机器人所保存的运动状态信息1被篡改,则说明第一邻居机器人可以被攻击或自身出现故障,因此,确定第一邻居机器人异常。若运动状态信息1与运动状态信息2所包括的内容完全一致,则说明第一邻居机器人所保存的运动状态信息1未被篡改,则说明第一邻居机器人可以未受到攻击或自身未出现故障,因此,确定第一邻居机器人正常。
本申请实施例,对目标机器人在第k时刻的运动状态信息所包括的具体内容不做限制,例如,目标机器人在第k时刻的运动状态信息包括目标机器人在第k时刻的速度、位置、加速度、控制输入信息中的至少一个。这样,目标机器人可以将第一运动状态信息所包括的目标机器人在第k时刻的速度、位置、加速度、控制输入信息中的至少一个,与目标机器人自身保存的目标机器人在第k时刻的速度、位置、加速度、控制输入信息中的至少一个进行比较,以确定目标机器人在第k时刻是否正常。
在一些实施例中,若目标机器人在第k时刻的运动状态信息包括目标机器人在第k时刻的速度和位置,此时,上述S302-A-12中将第一运动状态信息所包括的目标机器人在第k时刻的运动状态信息,与目标机器人所保存的目标机器人在第k时刻的运动状态信息进行比较,确定第一邻居机器人在第k时刻是否异常,包括如下示例:
示例1,若第一运动状态信息所包括的目标机器人在第k时刻的速度和位置,与目标机器人所保存的目标机器人在第k时刻的速度和位置均一致,则说明第一邻居机器人对目标机器人在第k时刻的速度和位置信息未进行篡改,进而确定第一邻居机器人在第k时刻正常。
示例2,若第一运动状态信息所包括的目标机器人在第k时刻的速度和位置,与目标机器人所保存的目标机器人在第k时刻的速度和位置中的至少一个不一致,则说明第一邻居机器人对目标机器人在第k时刻的速度和位置信息进行篡改,进而确定第一邻居机器人在第k时刻异常。
举例说明,假设第一运动状态信息所包括的目标机器人在第k时刻的位置和速度记分别为和/>目标机器人自身包括的目标机器人在第k时刻的位置和速度记为和vj(k)。
若且/>则确定第一邻居机器人在第k时刻正常。
若和/或/>时,则确定第一邻居机器人在第k时刻异常。
目标机器人除了采用上述方式一,确定第一邻居机器人在第k时刻是否异常外,还可以根据如下方式二,确定第一邻居机器人在第k时刻是否异常。
方式二,若目标机器人除了接收第一邻居机器人在第k+1时刻发送的第一运动状态信息外,还接收到读第一邻居机器人在第k时刻发送的第二运动状态信息。此时,上述S302-A包括如下S302-A-21和S302-A-22的步骤:
S302-A-21、获取第一邻居机器人在第k时刻发送的第二运动状态信息;
S302-A-22、根据第一运动状态信息和第二运动状态信息,确定第一邻居机器人在第k时刻是否异常。
在该方式二,目标机器人根据第一邻居机器人在第k时刻发送的第二运动状态信息和第一运动状态信息,确定第一邻居机器人在第k时刻是否异常。也就是说,本申请实施例中,根据第一邻居机器人在前后两个相邻时刻发送的运动状态信息,来确定第一邻居机器人是否异常。
本申请实施例中,对上述S302-A-22根据第一运动状态信息和第二运动状态信息,确定第一邻居机器人在第k时刻是否异常的具体方式不做限制。
在一些实施例中,第一运动状态信息和第二运动状态信息包括速度和位置等。这样,可以将第k时刻发送的第二运动状态信息,与第k+1时刻发送的第一运动状态信息进行比较,以确定第一邻居机器人在第k时刻是否异常。例如,若目标机器人确定第一邻居机器人在第k时刻发送的第二运动状态信息,与第一邻居机器人在第k+1时刻发送的第一运动状态信息之间的关系符合预设要求,例如第一运动状态信息和第二运动状态信息所包括的速度相同,且所包括的位置差满足预设的位置差时,则确定第一邻居机器人在第k时刻正常。若第二运动状态信息与第一运动状态信息之间的关系不符合预设要求时,则确定第一邻居机器人在第k时刻异常。
本申请实施例对上述预设要求不做限制。
在一种示例中,机器人编队的预设编队为保持机器人编队中的各机器人进行同步运动,也就是说,机器人编队中的各机器人的速度相同。这样,则目标机器人可以将第k时刻接收到的第二运动状态信息与第k+1时刻接收到的第一运动状态信息进行比较,若第二运动状态信息与第一运动状态信息所包括的速度一致,则确定第一邻居机器人在第k时刻正常。若第二运动状态信息与第一运动状态信息所包括的速度不一致时,则确定第一邻居机器人在第k时刻异常。
在一些实施例中,若第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,第二运动状态信息包括第一邻居机器人在第k时刻的运动状态信息。此时,上述S302-A-22包括如下步骤:
S302-A-221、根据N个第二邻居机器人在第k时刻的运动状态信息和第一邻居机器人在第k时刻的运动状态信息,确定第一邻居机器人在第k时刻是否异常。
在该实施例中,若第一运动状态信息包括第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,第二运动状态信息包括第一邻居机器人在第k时刻的运动状态信息。此时,目标机器人从第一运动状态信息中获取N个第二邻居机器人在第k时刻的运动状态信息,从第二运动状态信息中,获取第一邻居机器人在第k时刻的运动状态信息,进而根据N个第二邻居机器人在第k时刻的运动状态信息和第一邻居机器人在第k时刻的运动状态信息,确定第一邻居机器人在第k时刻是否异常。
本申请实施例,对S302-A-221中根据N个第二邻居机器人在第k时刻的运动状态信息和第一邻居机器人在第k时刻的运动状态信息,确定第一邻居机器人在第k时刻是否异常的具体方式不做限制。
在一种可能的实现方式中,将N个第二邻居机器人在第k时刻的运动状态信息与第一邻居机器人在第k时刻的运动状态信息进行比较,确定第一邻居机器人在第k时刻是否异常。例如,将第一邻居机器人在第k时刻的运动状态信息与N个第二邻居机器人在第k时刻的运动状态信息进行比较,若第一邻居机器人在第k时刻的运动状态信息与N个第二邻居机器人在第k时刻的运动状态信息符合预设要求,则确定第一邻居机器人在第k时刻正常。若第一邻居机器人在第k时刻的运动状态信息与N个第二邻居机器人在第k时刻的运动状态信息不符合预设要求,则确定第一邻居机器人在第k时刻异常。
在另一种可能的实现方式,若第二邻居机器人在第k时刻的运动状态信息包括第二邻居机器人在第k个时刻的速度和位置,第一邻居机器人在第k时刻的运动状态信息包括第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息,此时,上述S302-A-221包括如下步骤:
S302-A-221-1、根据N个第二邻居机器人在第k个时刻的速度和位置,以及第一邻居机器人在第k个时刻的速度和位置,确定第一邻居机器人在第k个时刻的第三控制输入信息;
S302-A-221-1、若第三控制输入信息,与第二控制输入信息一致,则确定第一邻居机器人在第k时刻正常;
S302-A-221-1、若第三控制输入信息,与第二控制输入信息不一致,则确定第一邻居机器人在第k时刻异常。
在该实现方式中,若第二邻居机器人在第k时刻的运动状态信息包括第二邻居机器人在第k个时刻的速度和位置,第一邻居机器人在第k时刻的运动状态信息包括第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息时,则首先根据N个第二邻居机器人在第k个时刻的速度和位置,以及第一邻居机器人在第k个时刻的速度和位置,确定第一邻居机器人在第k个时刻的第三控制输入信息。接着,将计算得到的第三控制输入信息与第二运动状态信息所包括的第一邻居机器人在第k时刻的第二控制输入信息进行比较,以判断第一邻居机器人是否遵循预设的编码协同算法,进而确定第一邻居机器人在第k时刻是否异常。具体是,若计算得到的第三控制输入信息与第二运动状态信息所包括的第二控制输入信息一致时,则确定第一邻居机器人在第k时刻正常。若计算得到的第三控制输入信息与第二运动状态信息所包括的第二控制输入信息不一致时,则确定第一邻居机器人在第k时刻异常。
本申请实施例对S302-A-221-1中,根据N个第二邻居机器人在第k个时刻的速度和位置,以及第一邻居机器人在第k个时刻的速度和位置,确定第一邻居机器人在第k个时刻的第三控制输入信息的具体方式不做限制。
在一种可能的实现方式中,若第一邻居机器人在第k个时刻的速度和位置,分别与N个第二邻居机器人在第k个时刻的速度和位置一致时,则确定第一邻居机器人在第k个时刻的第三控制输入信息为0。
若第一邻居机器人在第k个时刻的速度和位置,分别与N个第二邻居机器人在第k个时刻的速度和位置不完成一致时,则确定第一邻居机器人在第k个时刻的速度与N个第二邻居机器人在第k个时刻的速度的差值,以及第一邻居机器人在第k个时刻的位置与N个第二邻居机器人在第k个时刻的速度的位置的差值。接着,根据速度的差值和位置的差值,确定第一邻居机器人在第k个时刻的第三控制输入信息,例如将速度的差值和位置的差值之和,确定为第一邻居机器人在第k个时刻的第三控制输入信息。
在另一种可能的实现方式中,则上述S302-A-221-1包括如下步骤:
S302-A-221-11、针对N个第二邻居机器人中的第j个第二邻居机器人,根据第一邻居机器人和第j个第二邻居机器人分别在第k个时刻的速度和位置,确定第一邻居机器人与第j个第二邻居机器人在第k个时刻的速度差值和位置差值;
S302-A-221-12、将速度差值与第一数值进行相乘后与位置差值进行相加,得到第二和值;
S302-A-221-13、将第二和值与负的第三数值进行相乘,得到第j个第二邻居机器人对应的控制输入信息,若第j个第二邻居机器人与第一邻居机器人之间可通信,则第三数值为大于0的预设值,若第j个第二邻居机器人与第一邻居机器人之间不可通信,则第三数值为0;
S302-A-221-14、将N个第二邻居机器人中,每个第二邻居机器人对应的控制输入信息之和,确定为第三控制输入信息。
在一种示例中,根据如下公式(8),确定第一邻居机器人在第k时刻的第三控制输入信息:
其中,ui(k)3为第一邻居机器人在第k时刻的第三控制输入信息,表示第一邻居机器人在第k时刻的位置,/>表示N个第二邻居机器人中第j个第二邻居机器人在第k时刻的位置,vi(k)表示第一邻居机器人在第k时刻的速度,vj(k)表示N个第二邻居机器人中第j个第二邻居机器人在第k时刻的速度,α为某一预设值,例如可以为1,aij为第三数值,表示第j个第二邻居机器人与第一邻居机器人在拓扑图中边的权重。其中,若第j个第二邻居机器人与第一邻居机器人可以通信时,则确定第三数值等于预设值,该预设值为0到1的正数,若第j个第二邻居机器人与第一邻居机器人不可以通信时,则确定第三数值等于0。
在该实现方式中,根据上述公式(8)确定出第一邻居机器人在第k个时刻的第三控制输入信息后,将计算得到的第三控制输入信息与第二运动状态信息所包括的第一邻居机器人在第k时刻的第二控制输入信息进行比较。具体是,若计算得到的第三控制输入信息与第二运动状态信息所包括的第二控制输入信息一致时,则确定第一邻居机器人在第k时刻正常。若计算得到的第三控制输入信息与第二运动状态信息所包括的第二控制输入信息不一致时,则确定第一邻居机器人在第k时刻异常。
本申请实施例中,目标机器人根据上述方式一或方式二,确定出第一邻居机器人在第k时刻异常时,则执行上述S302-B,确定第一邻居机器人在第k时刻的异常值。
本申请实施例对确定第一邻居机器人在第k时刻的异常值的具体方式不做限制。
在一些实施例中,将默认值,确定为第一邻居机器人在第k时刻的异常值。也就是说,若确定第一邻居机器人在第k时刻异常时,则确定第一邻居机器人在第k时刻的异常值为默认值,进而根据该默认值对第一邻居机器人在第k时刻的运动进行补偿。
在一些实施例中,上述S302-B包括如下步骤S302-B1:
S302-B1、根据第一运动状态信息,确定第一邻居机器人在第k时刻的异常值。
在该实施例中,目标机器人可以根据第一邻居机器人在第k+1时刻发送的第一运动状态信息,来确定第一邻居机器人在第k时刻的异常值,进而实现对第一邻居机器人在第k时刻的异常值的准确确定。
本申请实施例对上述S302-B1中,根据第一运动状态信息,确定第一邻居机器人在第k时刻的异常值的具体方式不做限制。
在一种可能的实现方式中,目标机器人将第一运动状态信息与自身在第k+1时刻的运动状态信息进行比较,以确定第一邻居机器人在第k的异常值。例如,第一运动状态信息包括第一邻居机器人在第k+1时刻的速度和位置时,则将第一邻居机器人在第k+1时刻的速度和位置与目标机器人在第k+1时刻的速度和位置进行比较,确定第一邻居机器人在第k时刻的异常值。示例性的,将将第一邻居机器人在第k+1时刻的速度和位置分布与目标机器人在第k+1时刻的速度和位置的差值之和,确定为第一邻居机器人在第k时刻的异常值。
在另一种可能的实现方式中,上述S302-B1包括如下步骤:
S302-B11、获取第一邻居机器人在第k时刻发送的第二运动状态信息;
S302-B12、根据第一运动状态信息和第二运动状态信息,确定第一邻居机器人在第k时刻的异常值。
在该实现方式中,目标机器人根据第一邻居机器人在第k时刻发送的第二运动状态信息,以及第k+1时刻发送的第一运动状态信息,确定第一邻居机器人在第k时刻的异常值。
本申请实施例对上述S302-B12中根据第一运动状态信息和第二运动状态信息,确定第一邻居机器人在第k时刻的异常值的具体实现方式不做限制。
示例1,若第一运动状态信息包括第一邻居机器人在第k+1时刻的速度和位置,第二运动状态信息包括第一邻居机器人在第k时刻的速度和位置。这样目标机器人可以根据第一邻居机器人在第k时刻的速度和第k+1时刻与第k时刻的时间差,预测出第一邻居机器人在第k+1时刻的位置。接着,根据第一邻居机器人在第k+1时刻的实际位置与预测出的位置的差异,以及第一邻居机器人在第k+1时刻的速度和在第k时刻的速度之间的差异,确定第一邻居机器人在第k时刻的异常值。
示例2,目标机器人根据如下S302-B121至S302-B123的步骤,确定第一邻居机器人在第k时刻的异常值:
S302-B121、根据第一运动状态信息,确定第一邻居机器人在第k时刻的速度偏差和位置偏差。
在一种可能的实现方式中,从第一运动状态信息中,获取第一邻居机器人在第k+1时刻的速度和位置,从第二运动状态信息中,获取第一邻居机器人在第k时刻的速度、位置和控制输入信息。接着,根据上述公式(3)和公式(4)分别计算出第一邻居机器人在第k+1时刻的速度和位置,进而将计算出的第一邻居机器人在第k+1时刻的速度与第一运动状态信息所包括的第一邻居机器人在第k+1时刻的速度的差值,确定为第一邻居机器人在第k时刻的速度偏差,将计算出的第一邻居机器人在第k+1时刻的位置与第一运动状态信息所包括的第一邻居机器人在第k+1时刻的位置的差值,确定为第一邻居机器人在第k时刻的位置偏差。
在另一种可能的实现方式中,若第一运动状态信息包括N个第二邻居机器人在第k时刻的速度,且N个第二邻居机器人中包括目标机器人时,则目标机器人从第一运动状态信息中,获取目标机器人在第k时刻的速度。接着,根据目标机器人所保存的目标机器人在第k时刻的速度,与第一运动状态信息所包括的目标机器人在第k时刻的速度的差值,确定第一邻居机器人在第k时刻的速度偏差。例如,将目标机器人所保存的目标机器人在第k时刻的速度,与第一运动状态信息所包括的目标机器人在第k时刻的速度的差值,确定为第一邻居机器人在第k时刻的速度偏差。
在另一种可能的实现方式中,若第一运动状态信息包括N个第二邻居机器人在第k时刻的位置,且N个第二邻居机器人中包括目标机器人时,则目标机器人从第一运动状态信息中,获取目标机器人在第k时刻的位置。接着,根据目标机器人保存的目标机器人在第k时刻的位置,与第一运动状态信息所包括的目标机器人在第k时刻的位置的差值,确定第一邻居机器人在第k时刻的位置偏差。例如,将目标机器人所保存的目标机器人在第k时刻的位置,与第一运动状态信息所包括的目标机器人在第k时刻的位置的差值,确定为第一邻居机器人在第k时刻的位置偏差。
需要说明的是,本申请实施例中,根据第一运动状态信息,确定第一邻居机器人在第k时刻的速度偏差和位置偏差的方式,除上述示例所示的几种方式外,还可以包括其他方式,本申请实施例对此不做限制。
S302-B122、根据第一运动状态信息和第二运动状态信息,确定第一邻居机器人在第k时刻的控制输入信息偏差。
在一种可能的实现方式中,若第一运动状态信息包括第一邻居机器人在第k+1时刻的控制输入信息,第二运动状态信息包括第一邻居机器人在第k时刻的控制输入信息。若机器人编队中的机器人在第k时刻和第k+1时刻做同步运动,即第一邻居机器人在第k+1时刻和第k时刻相对于目标机器人的速度和位置不变,也就是说,正常情况下,第一邻居机器人在第k时刻的控制输入信息与第k+1时刻的控制输入信息一致。基于此,目标机器人可以根据第一运动状态信息包括第一邻居机器人在第k+1时刻的控制输入信息与第二运动状态信息包括第一邻居机器人在第k时刻的控制输入信息的差值,确定第一邻居机器人在第k时刻的控制输入信息偏差。例如,将第一运动状态信息包括第一邻居机器人在第k+1时刻的控制输入信息与第二运动状态信息包括第一邻居机器人在第k时刻的控制输入信息的差值,确定为第一邻居机器人在第k时刻的控制输入信息偏差。
在另一种可能的实现方式中,根据N个第二邻居机器人在第k个时刻的速度和位置,以及第一邻居机器人在第k个时刻的速度和位置,确定第一邻居机器人在第k个时刻的第三控制输入信息,根据第二控制输入信息、与第三控制输入信息的差值,确定第一邻居机器人在第k时刻的控制输入信息偏差。
在该实现方式中,根据N个第二邻居机器人在第k个时刻的速度和位置,以及第一邻居机器人在第k个时刻的速度和位置,确定第一邻居机器人在第k个时刻的第三控制输入信息的具体过程可以参照上述S302-A-221-1的相关描述,在此不再赘述。
其中,根据第二控制输入信息、与第三控制输入信息的差值,确定第一邻居机器人在第k时刻的控制输入信息偏差的方式至少包括如下两种:
方式1,若目标邻居机器人对第一邻居机器人在第k时刻的控制输入偏差进行补偿,而第一邻居机器人的其他邻居机器人不对第一邻居机器人在第k时刻的控制输入偏差进行补偿时,则将第二控制输入信息、与第三控制输入信息的差值,确定第一邻居机器人在第k时刻的控制输入信息偏差。
方式2,若第一邻居机器人的N个第二邻居机器人对第一邻居机器人在第k时刻的控制输入偏差均进行补偿时,则目标机器人对第一邻居机器人在第k时刻的控制输入偏差进行补偿的值为第二控制输入信息与第三控制输入信息的差值的N分之一。也就是说,将第二控制输入信息、与第三控制输入信息的差值与N的比值,确定为目标机器人对应的第一邻居机器人在第k时刻的控制输入信息偏差。
S302-B123、根据第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差中的至少一个,确定第一邻居机器人在第k时刻的异常值。
根据上述S302-B121和S302-B122的步骤,确定出第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差,进而根据第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差中的至少一个,确定第一邻居机器人在第k时刻的异常值。
在一种示例中,将第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差之和的负数,确定为第一邻居机器人在第k时刻的异常值。
在另一种示例中,将第一数值与第一邻居机器人在第k时刻的速度偏差进行相乘后,再与第一邻居机器人在第k时刻的位置偏差相加,得到第一和值;将第一和值与负的第二数值相乘,得到第一乘积,若第一邻居机器人与目标机器人之间可通信,则第二数值为大于0的预设值,若第一邻居机器人与目标机器人之间不可通信,则第二数值为0;将第一乘积与第一邻居机器人在第k时刻的控制输入信息偏差相加,得到第一邻居机器人在第k时刻的异常值。
示例性的,根据如下公式(9)确定第一邻居机器人在第k时刻的异常值:
其中,表示第一邻居机器人在第k时刻的异常值,/>表示第一邻居机器人在第k时刻的速度偏差,/>表示第一邻居机器人在第k时刻的位置偏差,/>表示第一邻居机器人在第k时刻的控制输入信息偏差,aij为第二数值,α为第一数值。
目标机器人根据上述方法,确定出第一邻居机器人的异常值后,执行如下S303。
S303、根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿。
本申请实施例中,机器人编队中的各机器人与邻居机器人可以相同通信,可以将自身的运动状态信息发送给邻居机器人,也可以接到来自邻居机器人的运动状态信息。这样,机器人编队中的各机器人可以根据邻居机器人发送的运动状态信息,分析邻居机器人是否异常,在确定邻居机器人异常时,确定该邻居机器人的异常值,并根据该异常值对邻居机器人的运动进行及时补偿,进而降低了异常机器人对机器人编队的影响。且本申请实施例中,机器人编队中的各机器人通过相互异常检测和补偿,提高了整个机器人编队的控制可靠性。
本申请实施例对上述S303根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿的具体方式不做限制。
在一种可能的实现方式中,将上述确定第一邻居机器人的异常值作为目标机器人在第k+1时刻的控制输入信息的一部分,使得目标机器人根据该第一邻居机器人的异常值,对第一邻居机器人的运动进行补偿。
在另一种可能的实现方式中,上述S303包括如下步骤:
S303-A1、确定目标机器人在第k+1时刻的第四控制输入信息。
在一种可能的实现方式中,假设目标机器人有M个邻居机器人,目标机器人接收这M个邻居机器人中每个邻居机器人在第k+1时刻发送的运动状态信息。若M个邻居机器人中每个邻居机器人在第k+1时刻发送的运动状态信息均包括该邻居机器人在第k+1时刻的速度和位置。此时,目标机器人可以根据目标机器人在第k+1时间的速度和位置,以及M个邻居机器人中每个邻居机器人在第k+1时刻的速度和位置,确定目标机器人在第k+1时刻的第四控制输入信息。
在一种示例中,可以根据如下公式(10),确定出目标机器人在第k+1时刻的第四控制输入信息:
其中,ul4(k+1)表示目标机器人在第k+1时刻的第四控制输入信息,表示目标机器人在第k+1时刻的位置,/>表示M个邻居机器人中第m个邻居机器人在第k+1时刻的位置,vl(k+1)表示目标机器人在第k+1时刻的速度,vm(k+1)表示M个邻居机器人中第m个邻居机器人在第k+1时刻的速度。
需要说明的是,上述公式(10)只是一种示例,目标机器人还可以根据公式(10)的变形公式,或者其他的计算方法,确定出目标机器人在第k+1时刻的第四控制输入信息,本申请实施例对此不做限制。
S303-A2、根据第一邻居机器人的异常值和第四控制输入信息,确定目标机器人的目标控制输入信息。
本申请实施例中,目标机器人根据上述步骤,确定目标机器人在第k+1时刻的第四控制输入信息后,根据第一邻居机器人的异常值和第四控制输入信息,确定目标机器人的目标控制输入信息。
在一种实现方式中,将第一邻居机器人的异常值和第四控制输入信息之和,确定为目标机器人在第k+1时刻的目标控制输入信息。
在另一种实现方式中,为了降低运动补偿对机器人编队的影响,则目标机器人可以分多次对第一邻居机器人在第k时刻的运动进行补偿。即目标机器人通过多次补偿,将第一邻居机器人的异常值补偿至第四控制输入信息中,得到目标机器人的目标控制输入信息。
在该方式中,对目标邻居机器人通过多次补偿,将所述第一邻居机器人的异常值添加至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息的具体方式不做限制。
示例1,将第一邻居机器人的异常值划分为多等分,逐次将每一等分添加至第四控制输入信息中,得到目标机器人的目标控制输入信息。
示例2,根据预设的补偿周期Tc和第一邻居机器人的异常值,确定前Tc-1次补偿中每一次补偿的补偿值,以及第Tc次补偿的补偿值,Tc为大于1的正整数;根据前Tc-1次补偿中每一次补偿的补偿值以及第Tc次补偿的补偿值,将第一邻居机器人的异常值,分Tc次补偿至第四控制输入信息中,得到目标机器人的目标控制输入信息。
在该示例2的一种可能的实现方式中,在该补偿周期Tc内,将第一邻居机器人的异常值平均划分为多个等分,例如划分为Tc等分,将第k+1时刻到第k+Tc时刻内的时间段也划分为Tc等分,这样从第k+1时刻开始,每隔一段时间将相同等分的异常值添加在第四控制输入信息中,得到目标机器人的目标控制输入信息。
在该示例2的一种可能的实现方式中,在补偿周期Tc内,将第一邻居机器人的异常值通过Tc次补偿,添加到第四控制输入信息中,其中前Tc-1次补偿中每一次补偿的补偿值相同,第Tc次补偿的补偿值与前Tc-1次补偿的补偿值可以不同。
例如,将2倍的异常值与Tc-1的比值的负数,确定为前Tc-1次补偿中每一次补偿的补偿值。将第一邻居机器人的异常值确定为目标机器人在第Tc次补偿的补偿值。
示例性的,根据如下公式(11)确定前Tc-1次补偿中每一次补偿的补偿值:
其中,表示目标机器人在k+l时刻对第一邻居机器人在第k时刻的补偿值,或者为前Tc-1次补偿中每一次补偿的补偿值,用于补偿第一邻居机器人在第k时刻的输入误差。
示例性的,根据如下公式(12)确定第Tc次补偿的补偿值:
其中,表示目标机器人在k+Tc时刻对第一邻居机器人在k时刻的补偿值,或者为第Tc次补偿时的补偿值。
根据上述步骤,目标机器人将第一邻居机器人在第k时刻的异常值添加至到目标机器人在第k+1时刻的第四控制输入信息中,得到目标机器人的目标控制输入信息。接着,执行如下S303-A3的步骤。
S303-A3、根据目标控制输入信息进行运动,以对第一邻居机器人在第k时刻的运动进行补偿。
目标机器人在上述确定的目标控制输入信息的控制下进行运动,由于上述目标控制输入信息基于第一邻居机器人在第k时刻的异常值确定的,这样,目标机器人根据该目标控制输入信息进行运动时,可以补偿第一邻居机器人在第k时刻的异常运动,进而降低第一邻居机器人对整个机器人编队的影响,提高机器人编队的工作可靠性。
本申请实施例提供的机器人编队控制方法,针对机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,并根据第一运动状态信息,在确定第一邻居机器人异常时,确定第一邻居机器人的异常值,最后根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿。即本申请实施例中,机器人编队中的各机器人与邻居机器人可以相同通信,可以将自身的运动状态信息发送给邻居机器人,也可以接到来自邻居机器人的运动状态信息。这样,机器人编队中的各机器人可以根据邻居机器人发送的运动状态信息,分析邻居机器人是否异常,在确定邻居机器人异常时,确定该邻居机器人的异常值,并根据该异常值对邻居机器人的异常运动进行及时补偿,进而降低了异常机器人对机器人编队的影响。也就是说,本申请通过机器人编队中的各机器人进行相互异常检测和补偿,在不依赖全局信息以及全局控制器的情况下,能够抵消或弥补攻击或故障带来的影响,使得机器人编队存在异常时,依然可以准确实现预期编队,从而提高了整个机器人编队的控制可靠性。
在上述实施例的基础上,下面结合一具体的实施例对本申请实施例提供的机器人编队控制方法作进一步介绍。
图4为本申请一实施例提供的机器人编队控制方法的流程示意图,如图4所示,本申请实施例的方法包括:
S401、针对机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息。
其中,第一邻居机器人为目标机器人在机器人编队中的一个邻居机器人,k为正整数。
在一些实施例中,目标机器人为机器人编队中的任意一个机器人。
在一些实施例中,目标机器人为机器人编队中未出现异常的正常机器人。
上述S401的具体实现过程可以参照上述S301的具体描述,在此不再赘述。
S402、根据第一运动状态信息,确定第一邻居机器人是否异常。
若确定第一邻居机器人异常时,则执行如下S403的步骤。
若确定第一邻居机器人正常时,则执行如下S407的步骤。
上述S402的具体实现过程可以参照上述S302-A的具体描述,在此不再赘述。
S403、根据第一运动状态信息,确定第一邻居机器人的异常值。
上述S403的具体实现过程可以参照上述S302-B1的具体描述,在此不再赘述。
S404、判断第一邻居机器人的异常值是否小于或等于预设阈值。
若第一邻居机器人的异常值小于或等于预设阈值,则执行如下S405,对第一邻居机器人的运动进行补偿。
若第一邻居机器人的异常值大于预设阈值,则执行如下S506,将第一邻居机器人从机器人编队中剔除。
也就是说,本申请实施例中,若第一邻居机器人的异常值较小时,则对第一邻居机器人进行补偿,若第一邻居机器人的异常值较大时,则直接将该第一邻居机器人从机器人编队中剔除。
S405、根据第一邻居机器人的异常值,对第一邻居机器人进行运动补偿。
上述S405的具体实现过程可以参照上述S303的具体描述,在此不再赘述。
S406、将第一邻居机器人从机器人编队中剔除。
S407、不对第一邻居机器人进行补偿。
本申请实施例中,在确定第一邻居机器人异常时,确定该第一邻居机器人的异常值,若该异常值大于预设阈值,则不对该第一邻居机器人进行补偿,而是直接将该第一邻居机器人剔除机器人编队。若第一邻居机器人的异常值小于或等于预设阈值,则根据该异常值对第一邻居机器人进行运动补偿,进而提高了机器人编队的控制可靠性。
应理解,图3至图4仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
上文结合图3至图4,详细描述了本申请的方法实施例,下文结合图5至图6,详细描述本申请的装置实施例。
图5是本申请一实施例提供的机器人编队控制装置的示意性框图。该装置10可以为目标机器人或者为目标机器人中的一部分。
如图5所示,机器人编队控制装置10可包括:
接收单元11,用于针对所述机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,所述第一邻居机器人为所述目标机器人在所述机器人编队中的一个邻居机器人,所述k为正整数;
确定单元12,用于根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值;
补偿单元13,用于根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿。
在一些实施例中,所述第一运动状态信息包括所述第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息、以及所述第一邻居机器人在第k+1时刻的运动状态信息中的至少一个,所述N为正整数。
在一些实施例中,所述第一邻居机器人在第k+1时刻的运动状态信息包括所述第一邻居机器人在第k+1时刻的速度、位置、第一控制输入信息中的至少一个;或者,
所述N个第二邻居机器人在第k时刻的运动状态信息包括所述N个第二邻居机器人中每一个第二邻居机器人在第k时刻的速度和位置中的至少一个。
在一些实施例中,确定单元12,具体用于根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻是否异常;在确定所述目标机器人在第k时刻异常时,确定所述第一邻居机器人在第k时刻的异常值。
在一些实施例中,若所述第一运动状态信息包括所述第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,且所述N个第二邻居机器人中包括所述目标机器人时,则确定单元12,具体用于从所述N个第二邻居机器人在第k时刻的运动状态信息中,获取所述目标机器人在第k时刻的运动状态信息;将所述第一运动状态信息所包括的所述目标机器人在第k时刻的运动状态信息,与所述目标机器人保存的所述目标机器人在第k时刻的运动状态信息进行比较,确定所述第一邻居机器人在第k时刻是否异常。
在一些实施例中,若所述目标机器人在第k时刻的运动状态信息包括所述目标机器人在第k时刻的速度和位置,则确定单元12,具体用于若所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度和位置,与所述目标机器人所保存的所述目标机器人在第k时刻的速度和位置均一致,则确定所述第一邻居机器人在所述第k时刻正常;若所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度和位置,与所述目标机器人所保存的所述目标机器人在第k时刻的速度和位置中的至少一个不一致,则确定所述第一邻居机器人在所述第k时刻异常。
在一些实施例中,确定单元12,具体用于获取所述第一邻居机器人在第k时刻发送的第二运动状态信息;根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻是否异常。
在一些实施例中,若所述第一运动状态信息包括所述N个第二邻居机器人在第k时刻的运动状态信息,所述第二运动状态信息包括所述第一邻居机器人在第k时刻的运动状态信息,则确定单元12,具体用于根据所述N个第二邻居机器人在第k时刻的运动状态信息和所述第一邻居机器人在第k时刻的运动状态信息,确定所述第一邻居机器人在第k时刻是否异常。
在一些实施例中,若所述第二邻居机器人在第k时刻的运动状态信息包括所述第二邻居机器人在第k个时刻的速度和位置,所述第一邻居机器人在第k时刻的运动状态信息包括所述第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息,则确定单元12,具体用于根据所述N个第二邻居机器人在第k个时刻的速度和位置,以及所述第一邻居机器人在第k个时刻的速度和位置,确定所述第一邻居机器人在第k个时刻的第三控制输入信息;若所述第三控制输入信息,与所述第二控制输入信息一致,则确定所述第一邻居机器人在第k时刻正常;若所述第三控制输入信息,与所述第二控制输入信息不一致,则确定所述第一邻居机器人在第k时刻异常。
在一些实施例中,确定单元12,具体用于根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的异常值。
在一些实施例中,确定单元12,具体用于获取所述第一邻居机器人在第k时刻发送的第二运动状态信息;根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的异常值。
在一些实施例中,确定单元12,具体用于根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的速度偏差和位置偏差;根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的控制输入信息偏差;根据所述第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差中的至少一个,确定所述第一邻居机器人在第k时刻的异常值。
在一些实施例中,若所述第一运动状态信息包括所述N个第二邻居机器人在第k时刻的速度,且所述N个第二邻居机器人中包括所述目标机器人时,则确定单元12,具体用于从所述第一运动状态信息中,获取所述目标机器人在第k时刻的速度;根据所述目标机器人保存的所述目标机器人在第k时刻的速度,与所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度的差值,确定所述第一邻居机器人在第k时刻的速度偏差。
在一些实施例中,若所述第一运动状态信息包括所述N个第二邻居机器人在第k时刻的位置,且所述N个第二邻居机器人中包括所述目标机器人时,则确定单元12,具体用于从所述第一运动状态信息中,获取所述目标机器人在第k时刻的位置;根据所述目标机器人保存的所述目标机器人在第k时刻的位置,与所述第一运动状态信息所包括的所述目标机器人在第k时刻的位置的差值,确定所述第一邻居机器人在第k时刻的位置偏差。
在一些实施例中,若所述第二运动状态信息包括所述第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息,且所述第一运动状态信息包括所述N个第二邻居机器人在第k个时刻的速度和位置,则确定单元12,具体用于根据所述N个第二邻居机器人在第k个时刻的速度和位置,以及所述第一邻居机器人在第k个时刻的速度和位置,确定所述第一邻居机器人在第k个时刻的第三控制输入信息;根据所述第二控制输入信息、与所述第三控制输入信息的差值,确定所述第一邻居机器人在第k时刻的控制输入信息偏差。
在一些实施例中,确定单元12,具体用于将所述第二控制输入信息、与所述第三控制输入信息的差值与N的比值,确定为所述目标机器人对应的所述第一邻居机器人在第k时刻的控制输入信息偏差。
在一些实施例中,确定单元12,具体用于将第一数值与所述第一邻居机器人在第k时刻的速度偏差进行相乘后,再与所述第一邻居机器人在第k时刻的位置偏差相加,得到第一和值;将所述第一和值与负的第二数值相乘,得到第一乘积,若所述第一邻居机器人与所述目标机器人之间可通信,则所述第二数值为大于0的预设值,若所述第一邻居机器人与所述目标机器人之间不可通信,则所述第二数值为0;将所述第一乘积与所述第一邻居机器人在第k时刻的控制输入信息偏差相加,得到所述第一邻居机器人在第k时刻的异常值。
在一些实施例中,确定单元12,具体用于针对所述N个第二邻居机器人中的第j个第二邻居机器人,根据所述第一邻居机器人和所述第j个第二邻居机器人分别在第k个时刻的速度和位置,确定所述第一邻居机器人与所述第j个第二邻居机器人在第k个时刻的速度差值和位置差值;将所述速度差值与第一数值进行相乘后与所述位置差值进行相加,得到第二和值;将所述第二和值与负的第三数值进行相乘,得到所述第j个第二邻居机器人对应的控制输入信息,若所述第j个第二邻居机器人与所述第一邻居机器人之间可通信,则所述第三数值为大于0的预设值,若所述第j个第二邻居机器人与所述第一邻居机器人之间不可通信,则所述第三数值为0;将所述N个第二邻居机器人中,每个第二邻居机器人对应的控制输入信息之和,确定为所述第三控制输入信息。
在一些实施例中,补偿单元13,具体用于确定所述目标机器人在第k+1时刻的第四控制输入信息;根据所述第一邻居机器人的异常值和所述第四控制输入信息,确定所述目标机器人的目标控制输入信息;根据所述目标控制输入信息进行运动,以对所述第一邻居机器人在第k时刻的运动进行补偿。
在一些实施例中,补偿单元13,具体用于通过多次补偿,将所述第一邻居机器人的异常值添加至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息。
在一些实施例中,补偿单元13,具体用于根据预设的补偿周期T和所述第一邻居机器人的异常值,确定前T-1次补偿中每一次补偿的补偿值,以及第T次补偿的补偿值,所述T为大于1的正整数;根据所述前T-1次补偿中每一次补偿的补偿值以及所述第T次补偿的补偿值,将所述第一邻居机器人的异常值,分T次补偿至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息。
在一些实施例中,补偿单元13,具体用于将2倍的所述异常值与T-1的比值的负数,确定为所述前T-1次补偿中每一次补偿的补偿值。
在一些实施例中,补偿单元13,具体用于若所述第一邻居机器人的异常值小于或等于预设阈值,则对所述第一邻居机器人进行运动补偿;若所述第一邻居机器人的异常值大于所述预设阈值,则将所述第一邻居机器人从所述机器人编队中剔除。
在一些实施例中,所述目标机器人为所述机器人编队中的任意一个正常机器人。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图5所示的装置可以执行上述方法的实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图6是本申请实施例提供的机器人的示意性框图,该机器人用于执行上述方法实施例。
如图6所示,该机器人30可包括:
存储器31和处理器32,该存储器31用于存储计算机程序33,并将该程序代码33传输给该处理器32。换言之,该处理器32可以从存储器31中调用并运行计算机程序33,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序33中的指令执行上述方法步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器31包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序33可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器31中,并由该处理器32执行,以完成本申请提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序33在该机器人中的执行过程。
如图6所示,该机器人30还可以包括:
收发器34,该收发器34可连接至该处理器32或存储器31。
其中,处理器32可以控制该收发器34与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器34可以包括发射机和接收机。收发器34还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该机器人30中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。机器人的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该机器人执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (20)
1.一种机器人编队控制方法,其特征在于,包括:
针对所述机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,所述第一邻居机器人为所述目标机器人在所述机器人编队中的一个邻居机器人,所述k为正整数;
根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值;
根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值,包括:
根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻是否异常;
在确定所述目标机器人在第k时刻异常时,确定所述第一邻居机器人在第k时刻的异常值。
3.根据权利要求2所述的方法,其特征在于,若所述第一运动状态信息包括所述第一邻居机器人的N个第二邻居机器人在第k时刻的运动状态信息,所述N为正整数,且所述N个第二邻居机器人中包括所述目标机器人时,则所述根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻是否异常,包括:
从所述N个第二邻居机器人在第k时刻的运动状态信息中,获取所述目标机器人在第k时刻的运动状态信息,并将所述第一运动状态信息所包括的所述目标机器人在第k时刻的运动状态信息,与所述目标机器人保存的所述目标机器人在第k时刻的运动状态信息进行比较,确定所述第一邻居机器人在第k时刻是否异常;或者,
获取所述第一邻居机器人在第k时刻发送的第二运动状态信息,并根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻是否异常。
4.根据权利要求3所述的方法,其特征在于,若所述目标机器人在第k时刻的运动状态信息包括所述目标机器人在第k时刻的速度和位置,则所述将所述第一运动状态信息所包括的所述目标机器人在第k时刻的运动状态信息,与所述目标机器人所保存的所述目标机器人在第k时刻的运动状态信息进行比较,确定所述第一邻居机器人在第k时刻是否异常,包括:
若所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度和位置,与所述目标机器人所保存的所述目标机器人在第k时刻的速度和位置均一致,则确定所述第一邻居机器人在所述第k时刻正常;
若所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度和位置,与所述目标机器人所保存的所述目标机器人在第k时刻的速度和位置中的至少一个不一致,则确定所述第一邻居机器人在所述第k时刻异常。
5.根据权利要求3所述的方法,其特征在于,若所述第一运动状态信息包括所述N个第二邻居机器人在第k时刻的运动状态信息,所述第二运动状态信息包括所述第一邻居机器人在第k时刻的运动状态信息,则所述根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻是否异常,包括:
根据所述N个第二邻居机器人在第k时刻的运动状态信息和所述第一邻居机器人在第k时刻的运动状态信息,确定所述第一邻居机器人在第k时刻是否异常。
6.根据权利要求5所述的方法,其特征在于,若所述第二邻居机器人在第k时刻的运动状态信息包括所述第二邻居机器人在第k个时刻的速度和位置,所述第一邻居机器人在第k时刻的运动状态信息包括所述第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息,则所述根据所述N个第二邻居机器人在第k时刻的运动状态信息和所述第一邻居机器人在第k时刻的运动状态信息,确定所述第一邻居机器人在第k时刻是否异常,包括:
根据所述N个第二邻居机器人在第k个时刻的速度和位置,以及所述第一邻居机器人在第k个时刻的速度和位置,确定所述第一邻居机器人在第k个时刻的第三控制输入信息;
若所述第三控制输入信息,与所述第二控制输入信息一致,则确定所述第一邻居机器人在第k时刻正常;
若所述第三控制输入信息,与所述第二控制输入信息不一致,则确定所述第一邻居机器人在第k时刻异常。
7.根据权利要求2所述的方法,其特征在于,所述确定所述第一邻居机器人在第k时刻的异常值,包括:
根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的异常值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的异常值,包括:
获取所述第一邻居机器人在第k时刻发送的第二运动状态信息;
根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的异常值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的异常值,包括:
根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的速度偏差和位置偏差;
根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的控制输入信息偏差;
根据所述第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差中的至少一个,确定所述第一邻居机器人在第k时刻的异常值。
10.根据权利要求9所述的方法,其特征在于,若所述第一运动状态信息包括所述第一邻居机器人的N个第二邻居机器人在第k时刻的速度和位置,且所述N个第二邻居机器人中包括所述目标机器人时,则所述根据所述第一运动状态信息,确定所述第一邻居机器人在第k时刻的速度偏差和位置偏差,包括:
从所述第一运动状态信息中,获取所述目标机器人在第k时刻的速度和位置;
根据所述目标机器人保存的所述目标机器人在第k时刻的速度,与所述第一运动状态信息所包括的所述目标机器人在第k时刻的速度的差值,确定所述第一邻居机器人在第k时刻的速度偏差;
根据所述目标机器人保存的所述目标机器人在第k时刻的位置,与所述第一运动状态信息所包括的所述目标机器人在第k时刻的位置的差值,确定所述第一邻居机器人在第k时刻的位置偏差。
11.根据权利要求9所述的方法,其特征在于,若所述第二运动状态信息包括所述第一邻居机器人在第k个时刻的速度、位置和第二控制输入信息,且所述第一运动状态信息包括所述第一邻居机器人的N个第二邻居机器人在第k个时刻的速度和位置,则所述根据所述第一运动状态信息和所述第二运动状态信息,确定所述第一邻居机器人在第k时刻的控制输入信息偏差,包括:
根据所述N个第二邻居机器人在第k个时刻的速度和位置,以及所述第一邻居机器人在第k个时刻的速度和位置,确定所述第一邻居机器人在第k个时刻的第三控制输入信息;
根据所述第二控制输入信息、与所述第三控制输入信息的差值,确定所述第一邻居机器人在第k时刻的控制输入信息偏差。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第二控制输入信息、与所述第三控制输入信息的差值,确定所述第一邻居机器人在第k时刻的控制输入信息偏差,包括:
将所述第二控制输入信息、与所述第三控制输入信息的差值与N的比值,确定为所述目标机器人对应的所述第一邻居机器人在第k时刻的控制输入信息偏差。
13.根据权利要求9所述的方法,其特征在于,所述根据所述第一邻居机器人在第k时刻的速度偏差、位置偏差和控制输入信息偏差中的至少一个,确定所述第一邻居机器人在第k时刻的异常值,包括:
将第一数值与所述第一邻居机器人在第k时刻的速度偏差进行相乘后,再与所述第一邻居机器人在第k时刻的位置偏差相加,得到第一和值;
将所述第一和值与负的第二数值相乘,得到第一乘积,若所述第一邻居机器人与所述目标机器人之间可通信,则所述第二数值为大于0的预设值,若所述第一邻居机器人与所述目标机器人之间不可通信,则所述第二数值为0;
将所述第一乘积与所述第一邻居机器人在第k时刻的控制输入信息偏差相加,得到所述第一邻居机器人在第k时刻的异常值。
14.根据权利要求6或11所述的方法,其特征在于,所述根据所述N个第二邻居机器人在第k个时刻的速度和位置,以及所述第一邻居机器人在第k个时刻的速度和位置,确定所述第一邻居机器人在第k个时刻的第三控制输入信息,包括:
针对所述N个第二邻居机器人中的第j个第二邻居机器人,根据所述第一邻居机器人和所述第j个第二邻居机器人分别在第k个时刻的速度和位置,确定所述第一邻居机器人与所述第j个第二邻居机器人在第k个时刻的速度差值和位置差值;
将所述速度差值与第一数值进行相乘后与所述位置差值进行相加,得到第二和值;
将所述第二和值与负的第三数值进行相乘,得到所述第j个第二邻居机器人对应的控制输入信息,若所述第j个第二邻居机器人与所述第一邻居机器人之间可通信,则所述第三数值为大于0的预设值,若所述第j个第二邻居机器人与所述第一邻居机器人之间不可通信,则所述第三数值为0;
将所述N个第二邻居机器人中,每个第二邻居机器人对应的控制输入信息之和,确定为所述第三控制输入信息。
15.根据权利要求1-13任一项所述的方法,其特征在于,所述根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿,包括:
确定所述目标机器人在第k+1时刻的第四控制输入信息;
根据所述第一邻居机器人的异常值和所述第四控制输入信息,确定所述目标机器人的目标控制输入信息;
根据所述目标控制输入信息进行运动,以对所述第一邻居机器人在第k时刻的运动进行补偿。
16.根据权利要求15所述的方法,其特征在于,所述根据所述第一邻居机器人的异常值和所述第四控制输入信息,确定所述目标机器人的目标控制输入信息,包括:
通过多次补偿,将所述第一邻居机器人的异常值添加至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息。
17.根据权利要求16所述的方法,其特征在于,所述通过多次补偿,将所述第一邻居机器人的异常值添加至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息,包括:
根据预设的补偿周期T和所述第一邻居机器人的异常值,确定前T-1次补偿中每一次补偿的补偿值,以及第T次补偿的补偿值,所述T为大于1的正整数;
根据所述前T-1次补偿中每一次补偿的补偿值以及所述第T次补偿的补偿值,将所述第一邻居机器人的异常值,分T次补偿至所述第四控制输入信息中,得到所述目标机器人的目标控制输入信息。
18.一种机器人编队控制装置,其特征在于,包括:
接收单元,用于针对所述机器人编队中的任意一个目标机器人,接收第一邻居机器人在第k+1时刻发送的第一运动状态信息,所述第一邻居机器人为所述目标机器人在所述机器人编队中的一个邻居机器人,所述k为正整数;
确定单元,用于根据所述第一运动状态信息,在确定所述第一邻居机器人异常时,确定所述第一邻居机器人的异常值;
补偿单元,用于根据所述第一邻居机器人的异常值,对所述第一邻居机器人进行运动补偿。
19.一种机器人,其特征在于,包括收发器、处理器和存储器;
所述收发器,用于接收邻居机器人发送的运动状态信息;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现如上述权利要求1至17任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如上述权利要求1至17任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726433.XA CN117250945A (zh) | 2022-06-23 | 2022-06-23 | 机器人编队控制方法、装置、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726433.XA CN117250945A (zh) | 2022-06-23 | 2022-06-23 | 机器人编队控制方法、装置、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117250945A true CN117250945A (zh) | 2023-12-19 |
Family
ID=89133767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210726433.XA Pending CN117250945A (zh) | 2022-06-23 | 2022-06-23 | 机器人编队控制方法、装置、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117250945A (zh) |
-
2022
- 2022-06-23 CN CN202210726433.XA patent/CN117250945A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Resilient adaptive and H∞ controls of multi-agent systems under sensor and actuator faults | |
Ge et al. | A survey on recent advances in distributed sampled-data cooperative control of multi-agent systems | |
Li et al. | Robust receding horizon control for networked and distributed nonlinear systems | |
US11799936B2 (en) | Low latency wireless communication system for teleoperated vehicle environments | |
Tang et al. | Event-based tracking control of mobile robot with denial-of-service attacks | |
Gupta et al. | Optimal LQG control across packet-dropping links | |
US10452033B2 (en) | Process control system | |
CN113342037B (zh) | 具有输入饱和的多旋翼无人机时变编队控制方法及*** | |
Eqtami et al. | A self-triggered model predictive control framework for the cooperation of distributed nonholonomic agents | |
US10809701B2 (en) | Network adapted control system | |
Tan et al. | Output feedback leader-following consensus for nonlinear stochastic multiagent systems: The event-triggered method | |
Xu et al. | Tangent barrier Lyapunov function‐based constrained control of flexible manipulator system with actuator failure | |
Chen et al. | Adaptive event‐triggered neural control for nonlinear uncertain system with input constraint | |
Azarbahram et al. | Event-triggered tracking formation of networked nonlinear intelligent transportation systems surrounded by random disturbances | |
Thummalapeta et al. | Survey of containment control in multi-agent systems: concepts, communication, dynamics, and controller design | |
He et al. | Design of a model predictive trajectory tracking controller for mobile robot based on the event‐triggering mechanism | |
CN111221318B (zh) | 一种基于模型预测控制算法的多机器人状态估计方法 | |
CN117250945A (zh) | 机器人编队控制方法、装置、机器人及存储介质 | |
Sharma et al. | Three-tier neural model for service provisioning over collaborative flying ad hoc networks | |
Nandanwar et al. | Fuzzy inferencing‐based path planning with a cyber‐physical framework and adaptive second‐order Smc for routing and mobility control in a robotic network | |
Cheng et al. | Event‐triggered leader‐follower tracking control for interconnected systems | |
Alcaina et al. | Energy‐Efficient Control for an Unmanned Ground Vehicle in a Wireless Sensor Network | |
JP7143776B2 (ja) | 制御システム、及び、制御システムの制御方法 | |
Haghighi et al. | Two-layered framework for distributed multiagent formation following | |
Zhai et al. | Adaptive stabilization of nonlinear teleoperation systems: An SIIOS approach |
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 |