前言
关于目标追踪问题,有一些研究是从视觉的角度展开,而我研究的是基于控制的角度。关于多无人机集群的一些知识点,已经在上一篇文章有了简单介绍。这次我想着重介绍一下,目标追踪
这个方向。
三维空间无人机集群编队控制,避障,目标追踪
一、轨迹预测
只有建立在预测基础上的追踪才是有价值的。
目标的运动轨迹是未知的,即便在仿真过程中我们可以设定目标的运动形式,但是我们也无法利用先验信息来证明算法的有效性。
卡尔曼滤波算法
关于这个算法的相关介绍,大家在网上一搜可以找到很多很多,这里我介绍一下我使用的分布式一致性卡尔曼滤波算法。
无人机编队有集中式和分布式两种,集中式就是有一个控制中心,向其它无人机传达指令,效率很高,但是一旦控制中心受损,则会出现“群龙无首”的局面;分布式则说明每一个无人机都有独立自主的行为能力,而常用的集群算法就是从这个角度入手,且无人机的运动控制依赖于周围邻居无人机。
从集群的分布式角度出发, 考虑分布式卡尔曼滤波算法,并结合一致性思想。
话不多说,看公式!!!
目标的状态方程和无人机对目标的观测方程:
假设噪声均为0均值的高斯噪声,协方差:
无人机i对目标的估计值:
估计误差协方差:
一致性的思想主要体现在相邻无人机节点之前的作用规则,最终保证所有无人机估计值收敛到一致性状态,也就是说所有无人机对目标的预测值趋于一致
。
在运行k次一致性算法之后:
Wii 是加权系数,常用的有:
公式太多,感兴趣的可以一起交流,总的来说,每一个无人机的有三个任务:
(1) 计算局部测量值和估计值;
(2)与邻居通信;
(3)根据自身和邻居的状态,更新局部估计和误差协方差。
二、单目标追踪
在传统的集群控制方程中有一项是导航反馈项,这个是追踪的关键点,我在上一篇文章中说过,所谓的追踪就是目标给予无人机一个正向的作用力。
考虑到无人机的感知范围可通信范围的有限性,只有部分无人机可以感知到目标,那么在设计无人机运动方程的时候应该有如下考虑:
(1)无人机没有感知到目标时,应该以集群控制为主,可以向着虚拟目标点运动;
(2)存在部分无人机感知到目标状态时,这些无人机可以在保持与邻居的运动距离的前提下,向着目标运动;而其它没有感知到目标的无人机,可以根据邻居的运动状态调节自身,最后收敛,达到一致性追踪的目的。
(3)对目标的有效控制,如何判断对目标完成了追踪???这是个问题!!!
下面给大家看一下我的代码仿真
其中sinx的曲线是目标的既定轨迹,为了贴近实际情况,我还考虑了目标感知的无人机之后会有试图逃离的行为,其结果如下:
无人机依然可以被成功捕获。
三、多目标追踪
多目标追踪相比较单目标追踪,会涉及到无人机分群
的行为。
依然是从分布式的角度考虑,我将这一过程总结为:
(1)感知到同一目标的无人机快速聚集和速度一致性匹配;
(2)感知到不同目标的无人机快速分离;
(3)没有感知到目标的无人机通过信息交互,自愿追随具有目标信息的无人机。
另外,还需考虑到追踪每一个目标的无人机的数量,如果只有一两个无人机追踪一个目标,而追踪另一个目标的无人机数量较多,就会出现不均衡的问题。
无人机从初始随机散落的状态到集群完毕,红色的点为目标点。
无人机分群,分别对两个目标追踪,最终有效控制住。
好了,时间有限,就先介绍到这里了,欢迎感兴趣的同学留言,一起交流!