[0003] 本发明的目标是针对现有技术的不足之处,提供了一种有效地搜索与定位信号源方法,使得多机器人系统能够节省通信带宽和系统能量,在通信恶劣环境中,仍能有效协同并长时间工作。通过安装在机器人上可以测量信号强度的传感器,使用粒子滤波的方法评估信号源可能的位置,并通过事件触发通信传递位置评估信息,更新信号源可能的位置。然后设计一个基于事件触发通信的协同控制器引导多机器人朝向信号源评估位置方向运动。这种控制方法可以控制多机器人保持合理的编队,更好的捕获信号线索。由于采用了事件触发通信方案,不但减轻了通信负担,节省通信带宽,而且减少了控制信号的更新次数,节省了系统能量,优化了网络通信。本发明弥补了传统控制的不足,设计的基于事件触发通信的信号源定位方法,在保证多机器人快速搜索信号源和保持群体结构稳定的同时,可以节省系统能量和通信带宽,优化网络通信。
[0004] 本发明采用的控制方法可以有效地保证多机器人更好地搜索与定位信号源的位置。
[0005] 对于第i个机器人,i=1,2,...,n,n是机器人的数量,该方法的具体步骤如下:
[0006] 第一步:计算多机器人通信拓扑参数,具体步骤如下:
[0007] a)建立多机器人系统的通信矩阵L=[lij]。如果第i个机器人能够和第j个机器人通信,则lij>0,否则,lij=0,i=1,2,...,n,i=1,2,...,n。
[0008] b)建立机器人群体的拉普拉斯矩阵F(L)=[fij],i=1,2,...,n,i=1,2,...,n。其中:
[0009]
[0010] c)设定一个虚拟领导者,即虚拟机器人,具有位置p0(t)和速度q0(t)。虚拟领导者的所有计算在任意一个实体机器人上完成。如果虚拟领导者能够和第i个机器人通信,则li0>0;否则,li0=0,i=1,2,...,n。
[0011] d)建立矩阵M=F(L)+diag{l10,...,ln},其中:diag{l10,...,ln0}是对角矩阵。
[0012] e)对于第i个机器人,在搜索空间中产生均匀分布的N个粒子。
[0013] 第二步:预测信号源可能的位置,具体步骤如下:
[0014] a)对于第i个机器人,在第t时刻,假设第m(m=1,2,...,N)个粒子是信号源,则第i个机器人在当前位置上评估的信号强度 如(2)式所示。
[0015]
[0016] 其中: 是第i个机器人,在第t时刻,接收到的第m个粒子发射的信号强度;xm(t)是第m个粒子在第t时刻的位置;pi(t)是第i个机器人在第t时刻的位置;f(·)是信号强度模型;rand是[0,1]间的随机数;R是观测噪声。
[0017] b)根据(3)式,计算第m个粒子的权重。
[0018]
[0019] 其中:wm是第m个粒子的权重;Zi(t)第i个机器人,在第t时刻实际接收到的信号强度;exp(·)是指数函数。
[0020] c)归一化权重,如(4)式所示。
[0021]
[0022] d)对于N个粒子,根据归一化权重w′m(m=1,2,...,N),并采用轮盘赌方法重新产生N个粒子(此时第m个粒子的位置用x′m(t)表示)。
[0023] e)根据新的粒子群体,计算信号源可能的位置,如(5)所示。
[0024]
[0025] 其中: 是第i个机器人在第t时刻评估的信号源位置。
[0026] f)更新信号源评估位置,如(6)式所示。
[0027]
[0028] 其中:zij(t)表示第i个机器人,在上一次信号源位置更新时间与时间t之间,如果接收到了第j个机器人传递的信号源评估位置,则zij(t)=1;否则zij(t)=0。 是第i个机器人在第t时刻更新后的信号源评估位置; 是第j个机器人在事件触发时刻,即第时刻通过网络传递过来的更新后的信号源评估位置。
[0029] 第三步:建立事件触发通信规则,即给出状态误差和机器人之间的状态误差相互关系。对于第i个机器人,事件触发的时间序列可以表示为: (s=0,1,2..., 是初始时刻)并且能够被获得,如(7)所示。
[0030]
[0031] 其中:inf{·}表示下确界。
[0032]
[0033] 其中:||M||是矩阵M的泛数; 表示第i个机器人在第t时刻的位置状态误差; 表示第i个机器人在第 时刻的位置;pi(t)是第i个机器人在第t时刻的位置; 表示第i个机器人在第t时刻的速度状态误差;qi(t)是
第i个机器人在第t时刻的速度; 表示第i个机器人在第 时刻的速度;
表示虚拟领导者的位置状态误差; 表示虚拟领导者在第
时刻的位置;p0(t)是虚拟领导者在第t时刻的位置; 表示虚拟
领导者的速度状态误差; 表示虚拟领导者在第 时刻的速度;q0(t)是虚拟领导者在第t时刻的速度; 是第i个机器人的机器人之间的位置
状态误差; 表示第j个机器人在第 时刻的位置;
是第i个机器人的机器人之间的速度状态误差; 表示第j个机器人在第 时刻的速度;β,γ,h是参数,并且满足
μmin是矩阵M+MT的最小特征值(T表示矩阵转置);
[0034] 第四步:根据下述条件,计算第i个机器人的控制输入,具体步骤如下:
[0035] a)对于时间 s=0,1,2...。并且gi(t)≤0。第i个机器人的控制输入如(9)式所示。
[0036]
[0037] 其中:di,dj是随机矢量,被使用保持机器人之间一定的安全距离。
[0038] b)对于时间 并且gi(t)>0,那么一个新的时间区间被设定,即并且当前时间 第i个机器人的控制输入则用 代替(9)式中的
得到。
[0039] 第五步:对于虚拟机器人,控制输入如(10)式所示。
[0040]
[0041] 其中:λ>0是一个正常数。
[0042] 第六步:如果终止条件满足,例如:给定的最大搜索时间已经达到,则机器人停止运行,并将最终信号源位置输出;如果终止条件没有满足,则返回第二步继续执行。
[0043] 本发明提出的一种基于事件触发通信的信号源定位方法,能独立运行在机器人群体中每个机器人的控制系统中。事件触发通信不但能够有效地降低机器人的能量消耗,而且有效的减少通信负担,优化了网络通信,协同多机器人定位信号源,弥补了传统方法的不足。