三维空间无人机集群编队控制,避障,目标追踪
无人机集群编队控制算法,二维,三维空间MATALB仿真引言无人机集群编队功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
引言
本人研究生期间,主要研究无人机集群编队,目标追踪,避障,路径规划等,参考了大量论文,也走了不少弯路,今天将一些心得写出来,希望能够帮到师弟师妹们,早发论文,早日毕业。
无人机集群编队
什么叫编队?就是几架无人机保持一个特定的队形移动而已。
什么叫集群?就是很多无人机协调一致的运动,这里面用到了一致性思想。
代码中如何体现?管它什么无人机,无人艇,无人飞船,全部都是质点。
如果考虑到通信,划分通信范围;如果考虑到避障,划分防碰撞范围。本质来说都是以无人机质点为中心得一个圆(二维)或者一个球(三维)。
很多论文中会提出一些算法的背景,比如受到生物集群迁徙等行为的影响,牛群,羊群,蜜蜂等等,论文中这么写可以,代码实现要抓住本质!
另外,我这里着重介绍集群,或许有很多同学研究的只是少量的几个无人机编队,我也希望你们能够看下去,因为多的无人机都能编队了,少的当然更可以了。
---------------- 介绍两个人,或者说是两种算法 ----------------
Reynlod和Olfati-Saber,搞过集群,看过相关论文的都知道他俩,也很熟悉下面这两图吧,图2是我代码跑出来的,标准三维集群。
Biods模型
三维集群模型
1.首先介绍Biods模型的思想:分离,内聚,对齐。
通俗的来说,就是靠的太近的无人机彼此分离,以免碰撞;靠的太远的无人机彼此吸引,以免分散;速度对齐,保持一致,这就是一致性的思想。
这是一种局部的算法,每一架无人机通过其通信范围内的邻居无人机的运动状态,适时调整自身的状态。
其代码实现的本质为:向量
注意,下面的位置和速度都是向量
位置更新,根据当前时刻无人机i的位置向量和当前时刻无人机邻居j的位置向量,求得下一时刻无人机i的位置
Pi(t+1) = Pi_(t) + (Pi_(t)-Pj_(t))/f(||Pi_(t)-Pj_(t)||)
Vi_(t+1) = Vi_(t) + (Vi_(t)-Vj_(t))/g(||Vi_(t)-Vj_(t)||)
速度一样,只是要调参。
Vi_(t+1) = Vi_(t) + (Vi_(t)-Vj_(t))/g(||Vi_(t)-Vj_(t)||)
至于无人机之间怎么避碰,是同样的原理。注意,无人机j是无人机i的邻居,什么叫邻居?通信范围内的;那么避碰的时候呢?对,就是防碰撞范围内的。
2.介绍Olfati-Saber模型的思想
另外,介绍一个重要的概念,什么叫势能?在代码中,无人机是怎么运动起来的呢?
所谓的势能,其实就是距离。MTALB仿真,不论是二维还是三维,首先生成一些随机散乱的点,
N = 20;%数量
p = 2*rand(2,N); %位置
那么计算各个点之间的距离,然后自己设置一个势能函数f,就可以求得势能。
F = f(||p(i)-p(j)||)
然后用一个方法就去降低势能,比如常用的梯度下降算法等,就可以不断地迭代,求得无人机每一次的位置。
然后,画出这些位置,无人机就运动起来了。
人工势场法也就是这个意思
看到这里,同学们肯定觉得我说了一些废话,既不给你们看代码,也不给你们看具体的公式。我只是想先让你们理解,树立一个意识,因为论文是需要创新的,创新点在哪里,就是在这些公式里面,很多论文换一个势能函数,换几个公式就是创新了!!!
别着急,后面我会把代码和公式给大家。
动力学方程:
无人机邻居集合:
无人机稳定时状态:
控制方程:
势能函数:
平滑函数:
总势能:
后面还有很多公式,我就不一一粘贴了,因为我的本意不是将论文的一些公式摆出来,大家自己去找论文看就好了,我是想要讲解一下我的心得。
至于大家最关心的代码问题,如果需要,我会给大家。
无人机避障
避障的本质:就是障碍物给无人机一个反向的作用力。
就像我之前写的,在代码中一切都是质点,只是有些具有范围。
障碍物就是有范围的质点,我们可以获取到它的坐标,怎么获取?感知范围。怎么避障?一个反向的作用力,更新位置。
看到这,还是一脸懵逼么。MATLAB操作的都是矩阵,这个是核心,我们做的研究,只涉及到位置矩阵,速度矩阵,这也是核心。
至于公式,代码,我后期会更新。
无人机目标追踪
目标追踪的本质:就是目标给无人机一个正向的作用力。
和避障相反,无人机感知到目标之后会给其一个正向吸引的作用力。
动态目标怎么办?
要有预测。
此时需要用到的算法有,kalman滤波算法及其衍生算法KF-kalman,UKF-kalman,DKF-kalman。如果是做无人机集群,建议用DKF-kalman。
一致性思想的本质:就是降低差异性,通过邻居的动作调整自身,最后所有无人机协调一致运动。
这一思想在无人机协同控制方程中有体现,在分布式卡尔曼滤波算法中也有体现。
最后,给大家看一下我做的无人机集群的仿真结果吧。
关于目标追踪,有单目标追踪和多目标追踪。这部分我下次再介绍。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)