前言
关于无人机集群避障的问题,我在之前的博客中已经简单描述了一下。
三维空间无人机集群编队控制,避障,目标追踪
下面我深入地谈一下自己对避障的理解,着重介绍Olfati-Saber论文中的算法,因为这篇论文堪称集群领域的顶峰,另外关于这篇论文的代码已经复现,如有需要,可以私聊我。
Flocking for Multi-Agent Dynamic Systems:Algorithms and Theory
一、浅谈避障
一般文献中的避障算法大致可以分为两类基于优化的算法
和基于规则的算法
,下面我们分别来谈一谈。
- 基于优化的算法
最常见的有PSO算法
,一般应用于路径规划中,其目的就是寻优,找到一条代价最小的路径,其核心就是构造代价函数,利用个体信息交互,寻找全局最优点。
这方面的资料网上很多,下一篇博客我会着重说一下路径规划的相关知识点。
- 基于规则的算法
这一系列的算法很多,如无人机集群控制算法
,人工势场法
等,其核心为力,也就是斥力。
障碍物给无人机一个反向作用力,改变无人机的运动规则。在仿真中,往往体现在坐标和距离上。其关键点在于构造势能函数。
下面我们着重介绍一下这部分。
二、复杂公式
这个图大家应该很熟悉吧,就是论文中的,借用一下。
在障碍物边界取一点虚拟势点(障碍物节点)),其对无人机节点有力作用
和一致性
。
我们假设每一个无人机节点都有一定的探测范围,当障碍物节点出现在其范围内,就会产生作用力。
算法核心:
公式展开后,与基本集群算法不同的是多了第二项,加入了障碍物节点对无人机的相互作用规则
。
关于障碍物节点的位置和速度设定,有两种不同的情况:
-
若障碍物为墙体
-
若障碍物为球体
这里有一个问题,不知道大家注意到没有,该算法形成集群系统,其并不稳定,节点具有耗散性。
这主要的原因就是无人机节点形成的邻接拓扑是有向图。具体的理论推导大家看论文吧,这里就不赘述了。
与集中式算法相比,分布式的算法具有可靠性和鲁棒性。
而相较于其它算法(如:领导者——跟随者算法)不同的是,集群算法虽然迭代消耗的时间较多,但是其理论基础和算法效果无疑更好一些。
三、仿真效果
1.集群效果
2.避障效果
这个避障效果是动态的,我后面传一个视频,视频审核需要一点时间。
总结
本文主要说了一下自己对于避障的体会和论文中的算法,大家如果有什么问题欢迎私聊我。后面我会和大家交流一下路径规划领域的一些感悟。