本人研究生期间,主要研究无人机集群编队,目标追踪,避障,路径规划等,参考了大量论文,也走了不少弯路,今天将一些心得写出来,希望能够帮到师弟师妹们,早发论文,早日毕业。
什么叫编队?就是几架无人机保持一个特定的队形移动而已。
什么叫集群?就是很多无人机协调一致的运动,这里面用到了一致性思想。
代码中如何体现?管它什么无人机,无人艇,无人飞船,全部都是质点。
如果考虑到通信,划分通信范围;如果考虑到避障,划分防碰撞范围。本质来说都是以无人机质点为中心得一个圆(二维)或者一个球(三维)。
很多论文中会提出一些算法的背景,比如受到生物集群迁徙等行为的影响,牛群,羊群,蜜蜂等等,论文中这么写可以,代码实现要抓住本质!
另外,我这里着重介绍集群,或许有很多同学研究的只是少量的几个无人机编队,我也希望你们能够看下去,因为多的无人机都能编队了,少的当然更可以了。
----------------
介绍两个人,或者说是两种算法
----------------
Reynlod和Olfati-Saber,搞过集群,看过相关论文的都知道他俩,也很熟悉下面这两图吧,图2是我代码跑出来的,标准三维集群。
Biods模型
三维集群模型
1.
首先介绍Biods模型的思想:
分离,内聚,对齐
。
通俗的来说,就是
靠的太近的无人机彼此分离,以免碰撞;靠的太远的无人机彼此吸引,以免分散;速度对齐,保持一致,这就是一致性的思想。
这是一种
局部的算法
,每一架无人机通过其通信范围内的邻居无人机的运动状态,适时调整自身的状态。
其代码实现的本质为:
向量
注意,下面的位置和速度都是向量
位置更新,根据当前时刻无人机i的位置向量和当前时刻无人机邻居j的位置向量,求得下一时刻无人机i的位置