CN103135117A - 一种分散式多机器人协同定位算法 - Google Patents

一种分散式多机器人协同定位算法 Download PDF

Info

Publication number
CN103135117A
CN103135117A CN2013100454300A CN201310045430A CN103135117A CN 103135117 A CN103135117 A CN 103135117A CN 2013100454300 A CN2013100454300 A CN 2013100454300A CN 201310045430 A CN201310045430 A CN 201310045430A CN 103135117 A CN103135117 A CN 103135117A
Authority
CN
China
Prior art keywords
centerdot
robot
constantly
formula
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.)
Granted
Application number
CN2013100454300A
Other languages
English (en)
Other versions
CN103135117B (zh
Inventor
穆华
王飞行
曹聚亮
庹洲慧
何晓峰
逯亮清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201310045430.0A priority Critical patent/CN103135117B/zh
Publication of CN103135117A publication Critical patent/CN103135117A/zh
Application granted granted Critical
Publication of CN103135117B publication Critical patent/CN103135117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种分散式多机器人协同定位算法,针对安装有定位装置、可以相互通信的n个机器人(分别标识为R1,R2,…,Rn),包括k=1时刻的协同定位计算和k+1(k=1,2,…)时刻的协同定位计算等步骤。该方法是一种分散式贝叶斯估计算法,在不对系统模型进行解耦近似的前提下,机器人的运动测量信息、单机器人对外观测信息、机器人之间的相对观测信息等三类定位传感器数据在机器人本地融合;机器人之间的通信为点对点通信,包含两部分:一是发生相对观测的两个机器人之间相对观测信息的通信,二是所有机器人组成一个通信链,相邻机器人之间通信的内容为发送者融合了本地定位传感器数据后的机器人联合状态估计。该方法具有模块化、良好的可扩展性和好的容错性等优点。

Description

一种分散式多机器人协同定位算法
技术领域
本发明属于多机器人的定位算法,涉及一种分散式多机器人协同定位算法。
背景技术
随着科技发展,多机器人(包括室内机器人、室外机器人、无人机、水下潜航器等)系统正在科研、农业、医疗、军事等领域获得广泛应用。机器人定位(即确定机器人的位置、方位角等状态)往往是保证机器人正常工作的一项基本要求。单个机器人通过码盘、惯性测量单元等测量自身的运动信息,可以推算自身的状态。这种推算方式的定位误差会随着时间而累积。机器人可以通过对外观测来抑制这种定位误差的增长,如GPS观测、对已知地标的观测等。
多机器人协同定位(cooperative localization)利用机器人之间的相对观测(距离、相对方位等),通过一定的信息交换实现机器人之间定位资源共享,从而能够获得比各自定位更优的性能。例如,在一个机器人群中,某些机器人配备了高精度惯导系统和GPS(全球卫星定位系统),其他机器人则配备了码盘,如果机器人之间可以测量彼此之间的距离或相对方位,那么部分机器人的高精度导航信息可以在机器人之间共享,每个机器人的定位精度相比于独立定位时都会有所提高。又如,在进行协同定位的水下潜航器群中,某一个潜航器浮出水面进行GPS定位可以提高群中多个潜航器的定位精度,在减少机动能耗、增强隐蔽性的同时提高潜航器群的定位精度。
数据融合算法从结构上可以分为集中式(Centralised Data Fusion)、分层式(HierarchicalData Fusion)和分散式(Decentralised Data Fusion)三种基本形式。①集中式数据融合算法中,相关传感器的原始测量数据被传送到一个处理中心,由处理中心单独完成数据融合。②分层式数据融合算法中,传感器的原始测量数据在本地进行一定的处理,然后逐级上传,在每一级这些信息都进行一定的融合,最后在一个处理中心得到全局估计。③分散式数据融合算法中,每个节点处理本地的传感器数据,节点与节点之间可以进行点对点的通信。节点之间的地位是对等的,既不依赖于单一的处理中心,也没有等级之分。
分散式数据融合结构满足以下要求:没有中心节点;不要求有公共通信信道用以广播;单个节点不需要全局信息作为先验信息。采用分散式数据融合结构的系统应该具有以下优势:模块化;良好的可扩展性;好的容错性。在上述优势的吸引下,分散式协同定位算法成为机器人领域的研究热点。按照分散式数据融合的实现途径,现有的分散式协同定位算法可以分为复制型、解耦型和分布计算型。在复制型分散式协同定位算法中,每个机器人在功能上都相当于一个处理中心,对全体机器人进行定位。复制型分散式协同定位算法具有模块化和良好的容错性,但是可扩展性差。在解耦型分散式协同定位算法中,将协同定位问题解耦为多个相互独立的子问题,每个机器人求解一个或多个子问题。由于协同定位问题中各机器人状态两两相关,必须对这种相关进行近似才能实现解耦,因此解耦型算法会带来精度损失。分布计算型分散式协同定位算法是将某种集中式算法的运算拆分到各个平台上。现有分布计算型分散式协同定位算法对平台间的同步要求严格,并且往往需要在平台间广播信息,从而直接影响了算法的容错性和可扩展性。因此,有必要探求一种能够提升整体性能的分散式协同定位算法。
发明内容
针对现有分散式多机器人协同定位算法存在的技术问题,本发明的目的是提出一种分散式多机器人协同定位算法,该算法在不对系统模型进行解耦近似的前提下,能够充分实现分散式数据融合结构的三点优势:模块化、良好的可扩展性和好的容错性。
本发明提出的分散式多机器人协同定位算法,针对安装有定位装置、可以相互通信的n个机器人(分别标识为R1,R2,…,Rn),包括以下步骤:
步骤一、k=1时刻的协同定位计算即估计
Figure BDA00002818814500021
其中
Figure BDA00002818814500022
表示机器人Ri(i∈{1,…,n})在k=1时刻的状态,k=1时刻的协同定位计算由全体机器人在时间段[k,k+1)(k=1)内共同完成,具体包含以下通信和计算:
1)在k(k=1)时刻,如果机器人Ri(i=1,…,n)对机器人Rj(j=1,…,n,j≠i)进行了相对观测
Figure BDA00002818814500023
那么机器人Ri把相对观测信息发送给机器人Rj;
2)在时间段[k,k+1)(k=1)内,全体机器人满足链式通信拓扑结构;从通信链的一端开始,按照在通信链上的位置将机器人依次记为{1}1,{2}1,…,{n}1
机器人{i}1(i=1,…,n)根据公式(1)进行状态预测计算:
p ( x 1 { i } 1 ) = ∫ p ( x 0 { i } 1 ) · p ( x 1 { i } 1 | x 0 { i } 1 ) d x 0 { i } 1 - - - ( 1 )
式中
Figure BDA00002818814500025
表示机器人{i}1的初始状态,p(·)表示随机变量的概率密度函数,p(·|·)表示条件概率密度函数;
如果机器人{i}1(i=1,…,n)进行了单机器人对外观测
Figure BDA00002818814500026
则根据公式(2)进行对外观测更新计算:
p ( x 1 { i } 1 | z 1 { i } 1 ) = p ( x 1 { i } 1 ) p ( z 1 { i } 1 | x 1 { i } 1 ) ∫ p ( x 1 { i } 1 ) p ( z 1 { i } 1 | x 1 { i } 1 ) d x 1 { i } 1 - - - ( 2 )
将对外观测
Figure BDA00002818814500031
的数值代入上式左边条件概率
Figure BDA00002818814500032
得到进行对外观测更新后的状态估计,记为
Figure BDA00002818814500033
在语义明确的情况下可以略去观测量,简记为
Figure BDA00002818814500034
3)用表示[k,k+1)(k=1)时间段内通信链上前i-1个机器人{{1}1,…,{i-1}1}所融合的观测量集合,机器人{i}1(i=2,…,n)接收机器人{i-1}1发来的消息
Figure BDA00002818814500036
然后根据公式(3)计算联合状态分布:
p ( x 1 { 1 } 1 , · · · , x 1 { i } 1 ) = p ( x 1 { i } 1 ) · ( p 1 { 1 } 1 , · · · , x 1 { i - 1 } 1 ) - - - ( 3 )
所得估计结果为 p ( x 1 { 1 } 1 , · · · , x 1 { i } 1 ) | ( z 1 { i } 1 ∪ Z 1 i - 1 ) ;
如果存在涉及机器人{i}1(i=2,…,n)的相对观测
Figure BDA00002818814500039
或者
Figure BDA000028188145000310
则机器人{i}1(i=2,…,n)根据公式(4)进行以下相对观测更新计算:
p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 | Z 1 i &CenterDot; ) = p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) &CenterDot; &Pi; j < i p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) &Pi; j < i p ( z 1 { i } 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 ) - - - ( 4 )
式中 p ( z 1 { i } 1 { j } 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) d x 1 { 1 } 1 &CenterDot; &CenterDot; &CenterDot; dx 1 { i } 1 ,
p ( z 1 { j } 1 { i } 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) d x 1 { 1 } 1 &CenterDot; &CenterDot; &CenterDot; d x 1 { i } 1 ; 表示机器人{i}1所融合的k=1时刻的机器人之间相对观测量的集合,即 Z 1 i &CenterDot; = { z 1 { i } 1 { j } 1 | j < i } &cup; { z 1 { j } 1 { i } 1 | j < i } ; Z 1 i = Z 1 i &CenterDot; &cup; z 1 { i } 1 &cup; Z 1 i - 1 , 则进行相对观测更新后的联合状态估计为简记为
Figure BDA000028188145000318
4)机器人{i}1(i=1,…,n-1)将估计结果
Figure BDA000028188145000319
发送给机器人{i+1}1,当机器人{n}1按照公式(1)-(4)完成计算后,得到k=1时刻全体机器人协同定位的结果
Figure BDA000028188145000320
其中
Figure BDA000028188145000321
是全体机器人在k=1时刻的观测量集合,包括单个机器人的对外观测和机器人之间的相对观测;
步骤二、k+1(k=1,2,…)时刻的协同定位计算即估计其中
Figure BDA000028188145000323
表示机器人Ri(i∈{1,…,n})在k+1时刻的状态,k+1(k=1,2,…)时刻的协同定位计算由全体机器人在时间段[k+1,k+2)(k=1,2,…)内共同完成,具体包含以下通信和计算:
1)在k+1(k=1,2,…)时刻,如果机器人Ri(i=1,…,n)对机器人Rj(j=1,…,n,j≠i)进行了相对观测
Figure BDA000028188145000324
那么机器人Ri把相对观测信息发送给机器人Rj;
2)在时间段[k+1,k+2)(k=1,2,…)内,以k时刻协同定位的完成机器人{n}k为起点,n个机器人建立一条新的通信链,按照在通信链上的位置将机器人依次记为{1}k+1,{2}k+1,…,{n}k+1
与k=1时刻类似,用
Figure BDA000028188145000325
表示时间段[k+1,k+2)(k=1,2,…)内通信链上前i个机器人{{1}k+1,…,{i}k+1}所融合的观测量集合,k时刻协同定位的完成机器人{n}k获得全体机器人协同定位的结果
Figure BDA00002818814500041
其中
Figure BDA00002818814500042
是全体机器人截至k(k=1,2,…)时刻历史观测量的集合,即
Figure BDA00002818814500043
机器人{1}k+1,也即{n}k,对联合状态估计中的状态顺序进行调整,得到
Figure BDA00002818814500045
k+1(k=1,2,…)时刻的协同定位计算由机器人{1}k+1启动,机器人{i}k+1(i=2,…,n)在接收到机器人{i-1}k+1发来的消息
Figure BDA00002818814500046
之后,启动本地计算;
机器人{i}k+1(i=1,…,n)根据公式(5)进行状态预测计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) = &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i - 1 } k + 1 , x k { i } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) &CenterDot; p ( x k + 1 { i } k + 1 | x k { i } k + 1 ) d x k { i } k + 1 - - - ( 5 )
如果机器人{i}k+1(i=1,…,n)进行了单机器人对外观测则根据公式(6)进行对外观测更新计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 | z k + 1 { i } k + 1 ) = p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) p ( z k + 1 { i } k + 1 ) - - - ( 6 )
式中, p ( z k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , d x k + 1 { i } k + 1 , d x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , d x k { n } k + 1 , 所得估计结果为
Figure BDA000028188145000411
简记为 p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) ;
如果存在涉及机器人{i}k+1(i=2,…,n)的相对观测
Figure BDA000028188145000413
或者
Figure BDA000028188145000414
则机器人{i}k+1(i=2,…,n)根据公式(7)进行相对观测更新计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 | Z k + 1 i &CenterDot; ) =
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 ) - - - ( 7 )
式中, p ( z k + 1 { i } k + 1 { j } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k { i } k + 1 , dx k { i + 1 } k + 1 &CenterDot; &CenterDot; &CenterDot; , dx k { n } k + 1 , p ( z k + 1 { j } k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k { i } k + 1 , dx k { i + 1 } k + 1 &CenterDot; &CenterDot; &CenterDot; , dx k { n } k + 1 ; 式中
Figure BDA000028188145000419
表示机器人{i}k+1所融合的k+1时刻的机器人之间相对观测量的集合,即 Z k + 1 i &CenterDot; = { z k + 1 { i } k + 1 { j } k + 1 | j < i } &cup; { z k + 1 { j } k + 1 { i } k + 1 | j < i } ; 所得估计结果为其中 Z k + 1 i = Z k + 1 i &CenterDot; &cup; z k + 1 { i } k + 1 &cup; Z k + 1 i - 1 ;
3)机器人{i}k+1(i=1,…,n-1)将联合状态估计
Figure BDA000028188145000423
发送给机器人{i+1}k+1
当机器人{n}k+1完成计算后,得到k+1(k=1,2,…)时刻全体机器人协同定位的结果
Figure BDA000028188145000424
其中
Figure BDA000028188145000425
与现有技术相比,本发明的优点在于:
(1)精度:本发明没有对系统模型进行解耦近似,避免了相应的精度损失;
(2)可扩展性:机器人之间所有的通信都是点对点通信,不需要广播;机器人之间的通信链可以动态调整,降低了通信对机器人空间位置的约束;
(3)模块化:每个机器人的工作模式相同,接收邻居机器人发送的消息(启动机器人除外),融合本地定位传感器数据,将融合结果发送给另一个邻居机器人(完成机器人除外);
(4)容错性:当有机器人发生故障时,非故障机器人可以自组织起来,继续进行协同定位。
附图说明
图1是本发明k(k=1,2,…)时刻,机器人Ri(i∈{1,…,n})对机器人Rj(j∈{1,…,n},j≠i)进行相对测量时,机器人Ri(i∈{1,…,n})向机器人Rj(j∈{1,…,n},j≠i)发送的信息的示意图。
图2是本发明k=1时刻的协同定位计算中,机器人{i}1(i=2,…,n-1)执行的计算及与通信链上相邻机器人之间的通信内容示意图。
图3是本发明k+1(k=1,2,…)时刻的协同定位计算中,机器人{i}k+1(i=2,…,n-1)执行的计算及与通信链上相邻机器人之间的通信内容示意图。
具体实施方式
下面以三个机器人的协同定位说明本发明的方法。
三个机器人R1、R2、R3分别装备了码盘用以测量自身运动信息;机器人R1安装有GPS接收机,可以测得自身的位置;机器人R2安装有激光雷达,可以测量到其他机器人的距离;三个机器人通过无线网络进行通信。
公式(1)-(7)给出的是一般计算形式,具体计算形式与所涉及的概率分布有关。对于高斯分布,公式(1)-(7)中的计算结果具有解析表达式;对于非高斯分布,公式(1)-(7)中的计算结果往往没有解析表达式,可以采取Monte-Carlo仿真的方法求解。对于非高斯系统,可以通过线性化手段和高斯假设建立近似的高斯系统模型,从而进行解析求解。
下面结合实施例说明公式(1)-(7)中变量及概率密度函数的具体含义。设机器人Ri(i=1,2,3)的运动方程为
x k + 1 Ri = f k Ri ( x k Ri , u k Ri ) + w k Ri , k=0,1,2…,    (8)这里,机器人的状态x=[x y θ]T,其中(x,y)是机器人的位置坐标,θ是机器人的方位角;码盘测量信息u=[V ω]T,其中V是机器人平移的线速度,ω是机器人转动的角速度;设噪声
Figure BDA00002818814500052
为高斯白噪声,记作
Figure BDA00002818814500053
这里用N(m,q)表示均值为m、方差为q的高斯分布。
当运动方程(8)中
Figure BDA00002818814500061
是非线性函数时,在
Figure BDA00002818814500062
的估计均值
Figure BDA00002818814500063
处对(8)进行一阶泰勒展开,得到近似的线性方程,
x k + 1 Ri = &dtri; f k Ri &CenterDot; x k Ri - &dtri; f k Ri &CenterDot; x ^ k Ri + f k Ri ( x ^ k Ri , u k Ri ) + w k Ri , - - - ( 9 )
式中
Figure BDA00002818814500065
式(9)定义了高斯条件分布 p ( x k + 1 Ri | x k Ri ) = N ( &dtri; f k Ri &CenterDot; x k Ri - &dtri; f k Ri &CenterDot; x ^ k Ri + f k Ri ( x ^ k Ri , u k Ri ) , Q k Ri ) .
k(k=1,2,…)时刻机器人R1获得的GPS观测为自身的位置,记作
Figure BDA00002818814500067
观测方程为
z k R 1 = 1 0 0 0 1 0 x k R 1 + v k R 1 , - - - ( 10 )
= &Delta; H &CenterDot; x k R 1 + v k R 1
Figure BDA000028188145000610
则上式定义了高斯条件分布 p ( z k R 1 | x k R 1 ) = N ( H &CenterDot; x k R 1 , W k R 1 ) .
k(k=1,2,…)时刻机器人R2用激光雷达测得到机器人Rj(j∈{1,3})的距离,记作
Figure BDA000028188145000612
观测方程为
z k R 2 Rj = ( x k R 2 ( 1 ) - x k Rj ( 1 ) ) 2 + ( x k R 2 ( 2 ) - x k Rj ( 2 ) ) 2 + v k R 2 Rj , (11)
= &Delta; h ( x k R 2 , x k Rj ) + v k R 2 Rj
式中
Figure BDA000028188145000615
对上式进行线性化,得到
z k R 2 Rj = &dtri; h k R 2 &CenterDot; x k R 2 + &dtri; h k Rj &CenterDot; x k Rj + h ( x ^ k R 2 , x ^ k Rj ) - &dtri; h k R 2 &CenterDot; x ^ k R 1 - &dtri; h k Rj &CenterDot; x ^ k Rj + v k R 2 Rj , - - - ( 12 )
式中, &dtri; h k R 2 = &PartialD; h &PartialD; x k R 2 | x k R 2 = x ^ k R 2 = x ^ k R 2 ( 1 ) - x ^ k Rj ( 1 ) h ( x ^ k R 2 , x ^ k Rj ) x ^ k R 2 ( 2 ) - x ^ k Rj ( 2 ) h ( x ^ k R 2 , x ^ k Rj ) 0 , &dtri; h k Rj = &PartialD; h &PartialD; x k Rj | x k Rj = x ^ k Rj = - &dtri; h k R 2 .
上式定义了高斯条件分布 p ( z k R 2 Rj | x k R 2 , x k Rj ) = N ( &dtri; h k R 2 &CenterDot; x k R 2 + &dtri; h k Rj &CenterDot; x k Rj + h ( x ^ k R 2 , x ^ k Rj ) - &dtri; h k R 2 &CenterDot; x ^ k R 2 - &dtri; h k Rj &CenterDot; x ^ k Rj , W k R 2 Rj ) .
采用本发明的方法,三个机器人进行协同定位的过程如下:
(1)k=1时刻的协同定位计算即估计
Figure BDA000028188145000620
其中
Figure BDA000028188145000621
表示机器人Ri(i∈{1,2,3})在k=1时刻的状态。k=1时刻的协同定位计算由3个机器人在时间段[k,k+1)(k=1)内共同完成,具体包含以下通信和计算:
①在k(k=1)时刻,机器人Ri(i=2)对机器人Rj(j=1,3)进行了相对观测机器人Ri(i=2)把相对观测信息发送给机器人Rj(j=1,3);
②在时间段[k,k+1)(k=1)内,全体机器人满足链式通信拓扑结构;从通信链的一端开始,按照在通信链上的位置将机器人依次记为{1}1,{2}1,{3}1,分别对应机器人R2、R1和R3;
机器人{i}1(i=1,2,3)按照公式(1)进行状态预测:
p ( x 1 { i } 1 ) = &Integral; p ( x 0 { i } 1 ) &CenterDot; p ( x 1 { i } 1 | x 0 { i } 1 ) d x 0 { i } 1 - - - ( 1 )
机器人{1}1对应机器人R2,机器人{2}1对应机器人R1,机器人{3}1对应机器人R3,设机器人Ri(i=1,2,3)的初始状态
Figure BDA00002818814500071
服从高斯分布,
Figure BDA00002818814500072
的均值和方差分别为
Figure BDA00002818814500073
Figure BDA00002818814500074
由公式(9)定义, p ( x 1 Ri | x 0 Ri ) = N ( &dtri; f 0 Ri &CenterDot; x 0 Ri - &dtri; f 0 Ri &CenterDot; x ^ 0 Ri + f 0 Ri ( x ^ 0 Ri , u 0 Ri ) , Q 0 Ri ) , 代入公式(1)得
p ( x 1 Ri ) = N ( f 0 Ri ( x ^ 0 Ri , u 0 Ri ) , &dtri; f 0 Ri P 0 Ri ( &dtri; f 0 Ri ) T + Q 0 Ri ) (13)
= &Delta; N ( m i , q i )
机器人R1获得GPS观测
Figure BDA00002818814500078
按照公式(2)进行对外观测更新,有
p ( x 1 R 1 | z 1 R 1 ) = p ( x 1 R 1 ) p ( z 1 R 1 | x 1 R 1 ) &Integral; p ( x 1 R 1 ) p ( z 1 R 1 | x 1 R 1 ) dx 1 R 1 - - - ( 14 )
式中
Figure BDA000028188145000710
由公式(10)定义, p ( z 1 R 1 | x 1 R 1 ) = N ( H &CenterDot; x 1 R 1 , W 1 R 1 ) , 将GPS观测值代入上式左边条件概率得到进行对外观测更新后的状态估计,记为
Figure BDA000028188145000713
p ( x 1 R 1 ) | z 1 R 1 = N ( m 1 + K 1 ( z 1 R 1 - Hm 1 ) , q 1 - K 1 Hq 1 ) - - - ( 15 ) = &Delta; N ( m 1 &prime; , q 1 &prime; )
式中,
Figure BDA000028188145000716
在语义明确的情况下可以略去观测量,简记为
Figure BDA000028188145000717
机器人R2和机器人R3没有进行对外观测,无需进行对外观测更新;
③用
Figure BDA000028188145000718
表示[k,k+1)(k=1)时间段内通信链上前i-1个机器人{{1}1,…,{i-1}1}所融合的观测量集合。机器人{i}1(i=2,3)接收机器人{i-1}1发来的消息
Figure BDA000028188145000719
然后按照公式(3)计算联合状态分布:
p ( x 1 { 1 } 1 , . . . , x 1 { i } 1 ) = p ( x 1 { i } 1 ) &CenterDot; p ( x 1 { 1 } 1 , . . . , x 1 { i - 1 } 1 ) - - - ( 3 )
所得估计结果为 p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) | ( z 1 { i } 1 &cup; Z 1 i - 1 ) ;
如果存在涉及机器人{i}1(i=2,3)的相对观测
Figure BDA000028188145000722
或者
Figure BDA000028188145000723
则机器人{i}1(i=2,3)按照公式(4)进行以下相对观测更新计算:
p ( x 1 { 1 } 1 , . . . , x 1 { i } 1 | z 1 i &CenterDot; ) = p ( x 1 { 1 } 1 , . . . , x 1 { i } 1 ) &CenterDot; &Pi; j < i p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) &Pi; j < i p ( z 1 { i } 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 ) - - - ( 4 )
式中 p ( z 1 { i } 1 { j } 1 ) = &Integral; . . . &Integral; p ( x 1 { 1 } 1 , . . . , x 1 { i } 1 ) p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) dx 1 { 1 } 1 . . . dx 1 { i } 1 ,
p ( z 1 { j } 1 { i } 1 ) = &Integral; . . . &Integral; p ( x 1 { 1 } 1 , . . . , x 1 { i } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) dx 1 { 1 } 1 . . . dx 1 { i } 1 ; 表示机器人{i}1所融合的k=1时刻的机器人之间相对观测量的集合,即 Z 1 i &CenterDot; = { z 1 { i } 1 { j } 1 | j < i } &cup; { z 1 { j } 1 { i } 1 | j < i } ; Z 1 i = Z 1 i &CenterDot; &cup; z 1 { i } 1 &cup; Z 1 i - 1 , 则进行相对观测更新后的联合状态估计为
Figure BDA000028188145000730
简记为
Figure BDA000028188145000731
对于机器人{2}1,接收机器人{1}1发来的信息
Figure BDA00002818814500081
也即
Figure BDA00002818814500082
然后按照公式(3)求得联合分布
Figure BDA00002818814500083
Figure BDA00002818814500084
其均值和方差分别为
m 2 m 1 &prime; , q 2 0 0 q 1 &prime; , - - - ( 16 )
存在涉及机器人{i}1(i=2)的相对观测 z 1 { i } 1 { j } 1 ( j = 1 , j < i ) ,
Figure BDA00002818814500089
机器人{2}1按照公式(4)进行距离观测更新,得
Figure BDA000028188145000810
其均值和方差分别为
m 2 &prime; m 1 &prime; &prime; = m 2 m 1 &prime; + K 2 ( z 1 R 2 R 1 - &dtri; h 1 R 1 m 1 &prime; - &dtri; h 1 R 2 m 2 ) - - - ( 17 )
q 2 &prime; q 21 q 21 T q 1 &prime; &prime; = q 2 0 0 q 1 &prime; - K 2 &dtri; h 1 R 2 &dtri; h 1 R 1 q 2 0 0 q 1 &prime; - - - ( 18 )
式中 K 2 = 1 &dtri; h 1 R 1 q 1 &prime; ( &dtri; h 1 R 1 ) T + &dtri; h 1 R 2 q 2 ( &dtri; h 1 R 2 ) T + W 1 R 2 R 1 q 2 ( &dtri; h 1 R 2 ) T q 1 &prime; ( &dtri; h 1 R 1 ) T ;
对于机器人{3}1,接收机器人{2}1发送的信息
Figure BDA000028188145000814
然后按照公式(3)求得联合分布
Figure BDA000028188145000815
其均值和方差分别为
m 2 &prime; m 1 &prime; &prime; m 3 , q 2 &prime; q 21 0 q 21 T q 1 &prime; &prime; 0 0 0 q 3 - - - ( 19 )
存在涉及机器人{i}1(i=3)的相对观测 z 1 { j } 1 { i } 1 ( j = 2 , j < i ) ,
Figure BDA000028188145000819
Figure BDA000028188145000820
机器人{3}1按照公式(4)进行距离观测更新,得
Figure BDA000028188145000821
其均值和方差分别为
m 2 &prime; &prime; m 1 &prime; &prime; m 3 &prime; + m 2 &prime; m 1 &prime; &prime; m 3 + K 3 ( z 1 R 2 R 3 - &dtri; h 1 R 2 m 2 &prime; - &dtri; h 1 R 3 m 3 ) - - - ( 20 )
q 2 &prime; &prime; q 21 &prime; q 23 ( q 21 &prime; ) T q 1 &prime; &prime; &prime; q 13 q 23 T q 13 T q 3 &prime; = q 2 &prime; q 21 0 q 21 T q 1 &prime; &prime; 0 0 0 q 3 - K 3 &dtri; h 1 R 2 0 &dtri; h 1 R 3 q 2 &prime; q 21 0 q 21 T q 1 &prime; &prime; 0 0 0 q 3 - - - ( 21 )
式中 K 3 = 1 &dtri; h 1 R 2 q 2 &prime; ( &dtri; h 1 R 2 ) T + &dtri; h 1 R 3 q 3 ( &dtri; h 1 R 3 ) T + W 1 R 2 R 3 q 2 &prime; ( &dtri; h 1 R 2 ) T q 21 T ( &dtri; h 1 R 2 ) T q 3 ( &dtri; h 1 R 3 ) T ;
④机器人{i}1(i=1,2)将估计结果发送给机器人{i+1}1。当机器人{3}1按照公式(1)-(4)完成计算后,得到k=1时刻全体机器人协同定位的结果
Figure BDA00002818814500091
其中
Figure BDA00002818814500092
是3个机器人在k=1时刻的观测量集合,包括单个机器人的对外观测和机器人之间的相对观测。
(2)k+1(k=1,2,…)时刻的协同定位计算即估计
Figure BDA00002818814500093
其中
Figure BDA00002818814500094
表示机器人Ri(i∈{1,2,3})在k+1时刻的状态。k+1(k=1,2,…)时刻的协同定位计算由全体机器人在时间段[k+1,k+2)(k=1,2,…)内共同完成,具体包含以下通信和计算:
①在k+1(k=1,2,…)时刻,如果机器人Ri(i=2)对机器人Rj(j=1,3)进行了相对观测
Figure BDA00002818814500095
那么机器人Ri(i=2)把相对观测信息发送给机器人Rj(j=1,3);
②在时间段[k+1,k+2)(k=1,2,…)内,以k时刻协同定位的完成机器人{3}k为起点,3个机器人建立一条新的通信链,按照在通信链上的位置将机器人依次记为{1}k+1,{2}k+1,{3}k+1
与k=1时刻类似,用
Figure BDA00002818814500096
表示通信链上前i个机器人{{1}k+1,…,{i}k+1}所融合的k+1时刻的观测量集合。k时刻协同定位的完成机器人{3}k获得全体机器人协同定位的结果
Figure BDA00002818814500097
其中
Figure BDA00002818814500098
是全体机器人截至k(k=1,2,…)时刻历史观测量的集合,即
Figure BDA00002818814500099
机器人{1}k+1,也即{n}k,对联合状态估计
Figure BDA000028188145000910
中的状态顺序进行相应调整,得到
Figure BDA000028188145000911
k+1(k=1,2,…)时刻的协同定位计算由机器人{1}k+1启动。机器人{i}k+1(i=2,3)在接收到机器人{i-1}k+1发来的消息
Figure BDA000028188145000912
之后,启动本地计算;
机器人{i}k+1(i=1,2,3)按照公式(5)进行状态预测,计算如下:
p ( x k + 1 { 1 } k + 1 , . . . , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , x k { 3 } k + 1 ) = &Integral; p ( x k + 1 { 1 } k + 1 , . . . , x k { i - 1 } k + 1 , x k { i } k + 1 , . . . , x k { 3 } k + 1 ) &CenterDot; p ( x k + 1 { i } k + 1 | x k { i } k + 1 ) dx k { i } k + 1 - - - ( 22 )
具体而言,对于机器人{1}k+1,状态预测计算为
p ( x k + 1 { 1 } k + 1 , x k { 2 } k + 1 , x k { 3 } k + 1 ) = &Integral; p ( x k { 1 } k + 1 , x k { 2 } k + 1 , x k { 3 } k + 1 ) &CenterDot; p ( x k + 1 { 1 } k + 1 | x k { 1 } k + 1 ) dx k { 1 } k + 1 - - - ( 23 )
对于机器人{2}k+1,状态预测计算为
p ( x k + 1 { 1 } k + 1 , x k + 1 { 2 } k + 1 , x k { 3 } k + 1 ) = &Integral; p ( x k + 1 { 1 } k + 1 , x k { 2 } k + 1 , x k { 3 } k + 1 ) &CenterDot; p ( x k + 1 { 2 } k + 1 | x k { 2 } k + 1 ) dx k { 2 } k + 1 - - - ( 24 )
对于机器人{3}k+1,状态预测计算为
p ( x k + 1 { 1 } k + 1 , x k { 2 } k + 1 , x k + 1 { 3 } k + 1 ) = &Integral; p ( x k + 1 { 1 } k + 1 , x k + 1 { 2 } k + 1 , x k { 3 } k + 1 ) &CenterDot; p ( x k + 1 { 3 } k + 1 | x k { 3 } k + 1 ) dx k { 3 } k + 1 - - - ( 25 )
如果机器人R1进行了GPS观测
Figure BDA000028188145000917
并且机器人R1对应{i}k+1(i∈{1,2,3}),那么机器人R1在进行状态预测后按照公式(6)进行对外观测更新,得:
p ( x k + 1 { 1 } k + 1 , . . . , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , . . . , x k { 3 } k + 1 | z k + 1 { i } k + 1 ) = p ( x k + 1 { 1 } k + 1 , . . . , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , . . . , x k { 3 } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) p ( z k + 1 { i } k + 1 ) - - - ( 26 )
式中, p ( z k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) dx k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k + 1 { i } k + 1 , dx k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , d x k { 3 } k + 1 , 所得估计结果为
Figure BDA00002818814500102
简记为 p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 ) ;
如果存在涉及机器人{i}k+1(i=2,3)的相对观测
Figure BDA00002818814500104
或者则机器人{i}k+1(i=2,3)按照公式(7)进行以下相对观测更新计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 | Z k + 1 i &CenterDot; ) =
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 ) - - - ( 27 )
式中, p ( z k + 1 { i } k + 1 { j } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 ) p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k + 1 { i } k + 1 , dx k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k { 3 } k + 1 , p ( z k + 1 { j } k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { 3 } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k + 1 { i } k + 1 , dx k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k + 1 { 3 } k + 1 ; 式中
Figure BDA000028188145001010
表示机器人{i}k+1所融合的k+1时刻的机器人之间相对观测量的集合,即 Z k + 1 i &CenterDot; = { z k + 1 { i } k + 1 { j } k + 1 | j < i } &cup; { z k + 1 { j } k + 1 { i } k + 1 | j < i } ; 所得估计结果为
Figure BDA000028188145001012
其中 Z k + 1 i = Z k + 1 i &CenterDot; &cup; z k + 1 { i } k + 1 &cup; Z k + 1 i - 1 ;
③机器人{i}k+1(i=1,2)将联合状态估计
Figure BDA000028188145001014
发送给机器人{i+1}k+1
当机器人{3}k+1完成计算后,得到k+1(k=1,2,…)时刻全体机器人协同定位的结果
Figure BDA000028188145001015
其中
Figure BDA000028188145001016

Claims (1)

1.一种分散式多机器人协同定位算法,针对安装有定位装置、可以相互通信的n个机器人(分别标识为R1,R2,…,Rn),包括以下步骤:
步骤一、k=1时刻的协同定位计算即估计
Figure FDA00002818814400011
其中
Figure FDA00002818814400012
表示机器人Ri(i∈{1,…,n})在k=1时刻的状态,k=1时刻的协同定位计算由全体机器人在时间段[k,k+1)(k=1)内共同完成,具体包含以下通信和计算:
1)在k(k=1)时刻,如果机器人Ri(i=1,…,n)对机器人Rj(j=1,…,n,j≠i)进行了相对观测
Figure FDA00002818814400013
那么机器人Ri把相对观测信息发送给机器人Rj;
2)在时间段[k,k+1)(k=1)内,全体机器人满足链式通信拓扑结构;从通信链的一端开始,按照在通信链上的位置将机器人依次记为{1}1,{2}1,…,{n}1
机器人{i}1(i=1,…,n)根据公式(1)进行状态预测计算:
p ( x 1 { i } 1 ) = &Integral; p ( x 0 { i } 1 ) &CenterDot; p ( x 1 { i } 1 | x 0 { i } 1 ) d x 0 { i } 1 - - - ( 1 )
式中
Figure FDA00002818814400015
表示机器人{i}1的初始状态,p(·)表示随机变量的概率密度函数,p(·|·)表示条件概率密度函数;
如果机器人{i}1(i=1,…,n)进行了单机器人对外观测
Figure FDA00002818814400016
则根据公式(2)进行对外观测更新计算:
p ( x 1 { i } 1 | z 1 { i } 1 ) = p ( x 1 { i } 1 ) p ( z 1 { i } 1 | x 1 { i } 1 ) &Integral; p ( x 1 { i } 1 ) p ( z 1 { i } 1 | x 1 { i } 1 ) d x 1 { i } 1 - - - ( 2 )
将对外观测
Figure FDA00002818814400018
的数值代入上式左边条件概率
Figure FDA00002818814400019
得到进行对外观测更新后的状态估计,记为
Figure FDA000028188144000110
在语义明确的情况下可以略去观测量,简记为
Figure FDA000028188144000111
3)用表示[k,k+1)(k=1)时间段内通信链上前i-1个机器人{{1}1,…,{i-1}1}所融合的观测量集合,机器人{i}1(i=2,…,n)接收机器人{i-1}1发来的消息
Figure FDA000028188144000113
然后根据公式(3)计算联合状态分布:
p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) = p ( x 1 { i } 1 ) &CenterDot; ( p 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i - 1 } 1 ) - - - ( 3 )
所得估计结果为 p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) | ( z 1 { i } 1 &cup; Z 1 i - 1 ) ;
如果存在涉及机器人{i}1(i=2,…,n)的相对观测
Figure FDA000028188144000116
或者
Figure FDA000028188144000117
则机器人{i}1(i=2,…,n)根据公式(4)进行以下相对观测更新计算:
p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 | Z 1 i &CenterDot; ) = p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) &CenterDot; &Pi; j < i p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) &Pi; j < i p ( z 1 { i } 1 { j } 1 ) p ( z 1 { j } 1 { i } 1 ) - - - ( 4 )
式中 p ( z 1 { i } 1 { j } 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) p ( z 1 { i } 1 { j } 1 | x 1 { i } 1 , x 1 { j } 1 ) d x 1 { 1 } 1 &CenterDot; &CenterDot; &CenterDot; dx 1 { i } 1 ,
p ( z 1 { j } 1 { i } 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x 1 { 1 } 1 , &CenterDot; &CenterDot; &CenterDot; , x 1 { i } 1 ) p ( z 1 { j } 1 { i } 1 | x 1 { i } 1 , x 1 { j } 1 ) d x 1 { 1 } 1 &CenterDot; &CenterDot; &CenterDot; d x 1 { i } 1 ;
Figure FDA00002818814400024
表示机器人{i}1所融合的k=1时刻的机器人之间相对观测量的集合,即 Z 1 i &CenterDot; = { z 1 { i } 1 { j } 1 | j < i } &cup; { z 1 { j } 1 { i } 1 | j < i } ; Z 1 i = Z 1 i &CenterDot; &cup; z 1 { i } 1 &cup; Z 1 i - 1 , 则进行相对观测更新后的联合状态估计为
Figure FDA00002818814400027
简记为
Figure FDA00002818814400028
4)机器人{i}1(i=1,…,n-1)将估计结果发送给机器人{i+1}1,当机器人{n}1按照公式(1)-(4)完成计算后,得到k=1时刻全体机器人协同定位的结果其中
Figure FDA000028188144000211
是全体机器人在k=1时刻的观测量集合,包括单个机器人的对外观测和机器人之间的相对观测;
步骤二、k+1(k=1,2,…)时刻的协同定位计算即估计
Figure FDA000028188144000212
其中
Figure FDA000028188144000213
表示机器人Ri(i∈{1,…,n})在k+1时刻的状态,k+1(k=1,2,…)时刻的协同定位计算由全体机器人在时间段[k+1,k+2)(k=1,2,…)内共同完成,具体包含以下通信和计算:
1)在k+1(k=1,2,…)时刻,如果机器人Ri(i=1,…,n)对机器人Rj(j=1,…,n,j≠i)进行了相对观测
Figure FDA000028188144000214
那么机器人Ri把相对观测信息发送给机器人Rj;
2)在时间段[k+1,k+2)(k=1,2,…)内,以k时刻协同定位的完成机器人{n}k为起点,n个机器人建立一条新的通信链,按照在通信链上的位置将机器人依次记为{1}k+1,{2}k+1,…,{n}k+1
与k=1时刻类似,用
Figure FDA000028188144000215
表示时间段[k+1,k+2)(k=1,2,…)内通信链上前i个机器人{{1}k+1,…,{i}k+1}所融合的观测量集合,k时刻协同定位的完成机器人{n}k获得全体机器人协同定位的结果
Figure FDA000028188144000216
其中是全体机器人截至k(k=1,2,…)时刻历史观测量的集合,即
Figure FDA000028188144000218
机器人{1}k+1,也即{n}k,对联合状态估计中的状态顺序进行调整,得到
Figure FDA000028188144000220
k+1(k=1,2,…)时刻的协同定位计算由机器人{1}k+1启动,机器人{i}k+1(i=2,…,n)在接收到机器人{i-1}k+1发来的消息
Figure FDA000028188144000221
之后,启动本地计算;
机器人{i}k+1(i=1,…,n)根据公式(5)进行状态预测计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) = &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i - 1 } k + 1 , x k { i } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) &CenterDot; p ( x k + 1 { i } k + 1 | x k { i } k + 1 ) d x k { i } k + 1 - - - ( 5 )
如果机器人{i}k+1(i=1,…,n)进行了单机器人对外观测则根据公式(6)进行对外观测更新计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 | z k + 1 { i } k + 1 ) = p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) p ( z k + 1 { i } k + 1 ) - - - ( 6 )
式中, p ( z k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 | x k + 1 { i } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , d x k + 1 { i } k + 1 , d x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , d x k { n } k + 1 , 所得估计结果为
Figure FDA00002818814400033
简记为 p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) ;
如果存在涉及机器人{i}k+1(i=2,…,n)的相对观测
Figure FDA00002818814400035
或者
Figure FDA00002818814400036
则机器人{i}k+1(i=2,…,n)根据公式(7)进行相对观测更新计算:
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 | Z k + 1 i &CenterDot; ) =
p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) &Pi; j < i p ( z k + 1 { i } k + 1 { j } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 ) - - - ( 7 )
式中, p ( z k + 1 { i } k + 1 { j } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { i } k + 1 { j } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k { i } k + 1 , dx k { i + 1 } k + 1 &CenterDot; &CenterDot; &CenterDot; , dx k { n } k + 1 , p ( z k + 1 { j } k + 1 { i } k + 1 ) = &Integral; &CenterDot; &CenterDot; &CenterDot; &Integral; p ( x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k + 1 { i } k + 1 , x k { i + 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , x k { n } k + 1 ) p ( z k + 1 { j } k + 1 { i } k + 1 | x k + 1 { i } k + 1 , x k + 1 { j } k + 1 ) d x k + 1 { 1 } k + 1 , &CenterDot; &CenterDot; &CenterDot; , dx k { i } k + 1 , dx k { i + 1 } k + 1 &CenterDot; &CenterDot; &CenterDot; , dx k { n } k + 1 ; 式中
Figure FDA000028188144000311
表示机器人{i}k+1所融合的k+1时刻的机器人之间相对观测量的集合,即 Z k + 1 i &CenterDot; = { z k + 1 { i } k + 1 { j } k + 1 | j < i } &cup; { z k + 1 { j } k + 1 { i } k + 1 | j < i } ; 所得估计结果为
Figure FDA000028188144000313
其中 Z k + 1 i = Z k + 1 i &CenterDot; &cup; z k + 1 { i } k + 1 &cup; Z k + 1 i - 1 ;
3)机器人{i}k+1(i=1,…,n-1)将联合状态估计
Figure FDA000028188144000315
发送给机器人{i+1}k+1
当机器人{n}k+1完成计算后,得到k+1(k=1,2,…)时刻全体机器人协同定位的结果
Figure FDA000028188144000316
其中
Figure FDA000028188144000317
CN201310045430.0A 2013-02-05 2013-02-05 一种分散式多机器人协同定位方法 Active CN103135117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310045430.0A CN103135117B (zh) 2013-02-05 2013-02-05 一种分散式多机器人协同定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310045430.0A CN103135117B (zh) 2013-02-05 2013-02-05 一种分散式多机器人协同定位方法

Publications (2)

Publication Number Publication Date
CN103135117A true CN103135117A (zh) 2013-06-05
CN103135117B CN103135117B (zh) 2014-12-03

Family

ID=48495197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310045430.0A Active CN103135117B (zh) 2013-02-05 2013-02-05 一种分散式多机器人协同定位方法

Country Status (1)

Country Link
CN (1) CN103135117B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104880184A (zh) * 2014-02-28 2015-09-02 原相科技股份有限公司 相对位置定位系统与追踪系统
CN107315413A (zh) * 2017-07-12 2017-11-03 北京航空航天大学 一种车车通信环境下考虑车辆间相对位置的多车协同定位算法
CN107543551A (zh) * 2016-06-28 2018-01-05 罗伯特·博世有限公司 定位机动车的方法、驾驶员辅助系统和实施该方法的系统
CN108214483A (zh) * 2016-12-15 2018-06-29 香港理工大学深圳研究院 多固定基座冗余度机械臂的任务动态追踪方法和装置
CN108453746A (zh) * 2018-03-09 2018-08-28 齐齐哈尔大学 自主与协商相结合的多机器人协同探索技术
CN108594169A (zh) * 2018-03-15 2018-09-28 中国人民解放军63892部队 一种适应于时变通信拓扑的多机器人分布式协作定位方法
CN108872972A (zh) * 2018-05-30 2018-11-23 杭州电子科技大学 一种基于事件触发通信的信号源定位方法
CN109397294A (zh) * 2018-12-05 2019-03-01 南京邮电大学 一种基于ba-abc融合通信算法的机器人协作定位方法
CN109986562A (zh) * 2019-04-11 2019-07-09 南京航空航天大学 一种平面机械臂系统及其分散式容错控制方法
CN110083059A (zh) * 2019-04-01 2019-08-02 河海大学常州校区 一种离散时间滑模的非完整机器人镇定控制方法
CN110191411A (zh) * 2019-04-28 2019-08-30 浙江大学 一种基于时空域联合处理的分布式协作定位系统和方法
CN110213713A (zh) * 2019-04-28 2019-09-06 浙江大学 一种基于时空域联合处理的集中式协作定位系统和方法
CN111474561A (zh) * 2020-04-24 2020-07-31 深圳国信泰富科技有限公司 一种适用于智能机器人的定位系统
CN113670318A (zh) * 2021-08-17 2021-11-19 中国科学院空天信息创新研究院 协同定位方法及定位系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496755B2 (en) * 1999-11-24 2002-12-17 Personal Robotics, Inc. Autonomous multi-platform robot system
US20040029558A1 (en) * 2002-08-06 2004-02-12 Hang Liu Method and system for determining a location of a wireless transmitting device and guiding the search for the same
WO2009012474A1 (en) * 2007-07-19 2009-01-22 Neato Robotics, Inc. Distance sensor system and method
CN102034092A (zh) * 2010-12-03 2011-04-27 北京航空航天大学 基于独立多自由度视觉模块的主动复合双目快速目标搜索与捕获系统
CN102359784A (zh) * 2011-08-01 2012-02-22 东北大学 一种室内移动机器人自主导航避障系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496755B2 (en) * 1999-11-24 2002-12-17 Personal Robotics, Inc. Autonomous multi-platform robot system
US20040029558A1 (en) * 2002-08-06 2004-02-12 Hang Liu Method and system for determining a location of a wireless transmitting device and guiding the search for the same
WO2009012474A1 (en) * 2007-07-19 2009-01-22 Neato Robotics, Inc. Distance sensor system and method
CN102034092A (zh) * 2010-12-03 2011-04-27 北京航空航天大学 基于独立多自由度视觉模块的主动复合双目快速目标搜索与捕获系统
CN102359784A (zh) * 2011-08-01 2012-02-22 东北大学 一种室内移动机器人自主导航避障系统及方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104880184B (zh) * 2014-02-28 2018-11-16 原相科技股份有限公司 相对位置定位系统与追踪系统
CN104880184A (zh) * 2014-02-28 2015-09-02 原相科技股份有限公司 相对位置定位系统与追踪系统
CN107543551A (zh) * 2016-06-28 2018-01-05 罗伯特·博世有限公司 定位机动车的方法、驾驶员辅助系统和实施该方法的系统
CN108214483A (zh) * 2016-12-15 2018-06-29 香港理工大学深圳研究院 多固定基座冗余度机械臂的任务动态追踪方法和装置
CN107315413A (zh) * 2017-07-12 2017-11-03 北京航空航天大学 一种车车通信环境下考虑车辆间相对位置的多车协同定位算法
CN107315413B (zh) * 2017-07-12 2020-07-21 北京航空航天大学 一种车车通信环境下考虑车辆间相对位置的多车协同定位算法
CN108453746A (zh) * 2018-03-09 2018-08-28 齐齐哈尔大学 自主与协商相结合的多机器人协同探索技术
CN108453746B (zh) * 2018-03-09 2021-07-13 齐齐哈尔大学 自主与协商相结合的多机器人协同探索方法
CN108594169A (zh) * 2018-03-15 2018-09-28 中国人民解放军63892部队 一种适应于时变通信拓扑的多机器人分布式协作定位方法
CN108872972B (zh) * 2018-05-30 2020-07-14 杭州电子科技大学 一种基于事件触发通信的信号源定位方法
CN108872972A (zh) * 2018-05-30 2018-11-23 杭州电子科技大学 一种基于事件触发通信的信号源定位方法
CN109397294A (zh) * 2018-12-05 2019-03-01 南京邮电大学 一种基于ba-abc融合通信算法的机器人协作定位方法
CN110083059A (zh) * 2019-04-01 2019-08-02 河海大学常州校区 一种离散时间滑模的非完整机器人镇定控制方法
CN109986562A (zh) * 2019-04-11 2019-07-09 南京航空航天大学 一种平面机械臂系统及其分散式容错控制方法
CN109986562B (zh) * 2019-04-11 2021-09-17 南京航空航天大学 一种平面机械臂系统及其分散式容错控制方法
CN110213713A (zh) * 2019-04-28 2019-09-06 浙江大学 一种基于时空域联合处理的集中式协作定位系统和方法
CN110191411A (zh) * 2019-04-28 2019-08-30 浙江大学 一种基于时空域联合处理的分布式协作定位系统和方法
CN111474561A (zh) * 2020-04-24 2020-07-31 深圳国信泰富科技有限公司 一种适用于智能机器人的定位系统
CN111474561B (zh) * 2020-04-24 2022-08-12 深圳国信泰富科技有限公司 一种适用于智能机器人的定位系统
CN113670318A (zh) * 2021-08-17 2021-11-19 中国科学院空天信息创新研究院 协同定位方法及定位系统
CN113670318B (zh) * 2021-08-17 2024-04-16 中国科学院空天信息创新研究院 协同定位方法及定位系统

Also Published As

Publication number Publication date
CN103135117B (zh) 2014-12-03

Similar Documents

Publication Publication Date Title
CN103135117B (zh) 一种分散式多机器人协同定位方法
CN105319534B (zh) 一种基于水声双程测距的多auv协同定位方法
EP3136128B1 (en) Trajectory matching using peripheral signal
Liu et al. A wireless sensor network based personnel positioning scheme in coal mines with blind areas
CN103472459A (zh) 一种基于gps伪距差分的车辆协作定位方法
Song et al. A hybrid positioning strategy for vehicles in a tunnel based on RFID and in-vehicle sensors
Chen et al. Information filter with speed detection for indoor Bluetooth positioning
Ward et al. The warrigal dataset: Multi-vehicle trajectories and v2v communications
WO2020221050A1 (zh) 基于时空域联合处理的集中式协作定位系统和方法
Masiero et al. Experimental assessment of UWB and vision-based car cooperative positioning system
CN104331078B (zh) 一种基于位置映射算法的多机器人协作定位方法
Liu et al. A highly accurate positioning solution for C-V2X systems
EP3076128B1 (en) Backtracking indoor trajectories using mobile sensors
Wang et al. A seamless navigation system and applications for autonomous vehicles using a tightly coupled GNSS/UWB/INS/map integration scheme
Araki et al. Range-based cooperative localization with nonlinear observability analysis
Liu et al. Collaborative positioning method via GPS/INS and RS/MO multi-source data fusion in multi-target navigation
Karfakis et al. Nr5g-sam: A slam framework for field robot applications based on 5g new radio
CN116429112A (zh) 多机器人协同定位方法和装置、设备及存储介质
Xin et al. Stable positioning for mobile targets using distributed fusion correction strategy of heterogeneous data
Moreno-Salinas et al. Optimal sensor trajectories for mobile underwater target positioning with noisy range measurements
WO2019023859A1 (zh) 无人机失步处理方法、无人机以及无人机系统
de Melo et al. Mobile robot indoor autonomous navigation with position estimation using rf signal triangulation
Wang et al. The SLAM algorithm of mobile robot with omnidirectional vision based on EKF
CN103322999A (zh) 一种适用于多艇导航的保留历史状态的信息滤波算法
Quack et al. Infrastructure-based tracking of road users in urban intersections for partially available, variable-delay sensor data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant