1.一种分散式多机器人协同定位方法,针对安装有定位装置、分别标识为R1,R2,…,Rn可以相互通信的n个机器人,包括以下步骤:
步骤一、k=1时刻的协同定位计算即估计 其中 表示机器人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进行了相对观测 那么机器人Ri把相对观测信息发送给机器人Rj;
2)在时间段[k,k+1),k=1内,全体机器人满足链式通信拓扑结构;从通信链的一端开始,按照在通信链上的位置将机器人依次记为{1}1,{2}1,…,{n}1;
机器人{i}1,i=1,…,n根据公式(1)进行状态预测计算:
式中 表示机器人{i}1的初始状态,p(·)表示随机变量的概率密度函数,p(·|·)表示条件概率密度函数;
如果机器人{i}1,i=1,…,n进行了单机器人对外观测 则根据公式(2)进行对外观测更新计算:
将对外观测 的数值代入(2)式左边条件概率 得到进行对外观测更新后
的状态估计,记为 在语义明确的情况下可以略去观测量,简记为
3)用 i=2,…,n表示[k,k+1),k=1时间段内通信链上前i-1个机器人
{{1}1,…,{i-1}1}所融合的观测量集合,机器人{i}1,i=2,…,n接收机器人{i-1}1发来的消息 然后根据公式(3)计算联合状态分布:
所得估计结果为
如果存在涉及机器人{i}1,i=2,…,n的相对观测 j式中
表示 机器 人{i}1 所融 合
的k=1时刻的机器人之间相对观测量的集合,即 记
则进行相对观测更新后的联合状态估计为 简记为
4)机器人{i}1,i=1,…,n-1将估计结果 发送给机器人{i+1}1,当机器
人{n}1按照公式(1)、(2)、(3)、(4)完成计算后,得到k=1时刻全体机器人协同定位的结果 其中 是全体机器人在k=1时刻的观测量集合,包括单个机器人的对
外观测和机器人之间的相对观测;
步骤二、k+1,k=1,2,…时刻的协同定位计算即估计 其中 表示机器人
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进行了相对观测 那么机器人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时刻类似,用 k=1,2,…;i=1,…,n表示时间段[k+1,k+2),k=1,2,…内通信链上前i个机器人{{1}k+1,…,{i}k+1}所融合的观测量集合,k时刻协同定位的完成机器人{n}k获得全体机器人协同定位的结果 其中Zk是全体机器人截
至k,k=1,2,…时刻历史观测量的集合,即 机器人{1}k+1,也即{n}k,对联合状态估计 中的状态顺序进行调整,得到
k+1,k=1,2,…时刻的协同定位计算由机器人{1}k+1启动,机器人{i}k+1,i=2,…,n在接收到机器人{i-1}k+1发来的消息 之后,启动本地
计算;
机器人{i}k+1,i=1,…,n根据公式(5)进行状态预测计算:
如果机器人{i}k+1,i=1,…,n进行了单机器人对外观测 则根据公式(6)进行对外观测更新计算:
式中,
所得估计结果为 简记为
如果存在涉及机器人{i}k+1,i=2,…,n的相对观测 j机器人{i}k+1,i=2,…,n根据公式(7)进行相对观测更新计算:
式中,
式中 表示机器人{i}k+1所融合的k+1时刻的机器人之间相对观测量的集合,即所得估计结果为
其中
3)机器人{i}k+1,i=1,…,n-1将联合状态估计
发送给机器人{i+1}k+1;
当机器人{n}k+1完成计算后,得到k+1,k=1,2,…时刻全体机器人协同定位的结果其中