无人机航迹规划那些事儿—人工蜂群算法

无人机航迹规划问题有机器人路径规划问题延伸而来。三维环境下无人机航迹规划问题相较于二维环境规划较为复杂。航迹规划通常按一下流程:先对航迹规划空间进行数学建模,预先对环境建模可以有效提高无人机的执行效率。然后根据研究目的选择合适的航迹规划算法,最后根据建立的目标函数规划出一条从任务始点到终点的最优航迹。

环境建模方法。在三维空间中,我们用坐标(x,y,z)来表示空间中的一个点,在无人机的航迹规划空间中,我们用集合来表示无人机飞行的空间环境:

{(x,y,z)|0≤x≤maxX,0≤y≤maxY,0≤z≤maxZ}

上式表示连续的三维空间环境,然而在航迹规划这种实际问题中,必须要将战场威胁环境离散化。离散化后的环境图像分辨率提高,会使我们的航迹更精确,但同时,搜索空间增大数据增加,为了减少环境模型的复杂度,需要对战场环境进行空间环境建模。常用的环境建模方法有以下几种:

栅格法。是指将规划空间分解成一定数量的简单的大小相等的单元网络来进行空间规划的方法,用单位表示空间拓扑结构,并且每个单元上都可以表示相应的属性值,如图1所示,研究中经常采用正三角形、正方形和正六边形来表示王哥的小小元素,其中最常用的就是正六边形。在航迹规划问题中,可以通过栅格法将规划空间建立成二维栅格或者三维栅格,利用每个栅格可以设置相应属性值的特性来辨别栅格的作用。栅格法可以实现简单快速队规划环境的离散化,也是目前应用最普遍、最广泛的环境建模方法。

图1 栅格法

Voronoi图法。又叫泰森多边形(Thiessen Polygons)是一种几何建模方法,有数个相同连续多边形组成,多边形的边是连续相邻点的垂直平分线。示意图如图2所示。由于根据点集划分的区域到点的距离最近的特点,可以有效求解区域划分问题。在地里、天体物理、人工智能等领域得到了广泛的应用。因为实现Voronoi图的代码相对简单,且构造速度快,很多学者将Voronoi图法。应用在无人机的二维航迹规划中。利用Voronoi图法可以简单边界提取和处理威胁边界,但是多用于二维环境,不适合复杂的三维航迹规划。

图2 Voronoi法

矢量法。是指把真实地图特征转化成矢量数据的过程。利用点、线、面和其他几何形状来表示战场环境中的障碍和威胁。如图3,用a、c、c来分别表示矢量空间的点、线、面。矢量图中的坐标受传感器的识别精度和形成坐标数据所使用存储空间大小的影响。相对于Voronoi图法和栅格法,矢量构造空间速度快、数据量小、计算量小,更适用于三维航迹规划,但是航迹规划空间表示精度相对来说没那么准确。

图3 矢量图法

不同类型的环境建模方法都各有其优缺点,此外不同航迹规划方法对环境模型的处理方式不同,所选用的环境建模方法要根据具体选择的算法类型来确定。

群智航迹规划算法选择。群智能算法在航迹规划算法的选择中以其较好的鲁棒性、非线性、多约束等一系列复杂的工程问题是,具有较好的解算效应。群体智能(Swarm Intelligence)指的是在生物群体中具有简单智能行为的单个个体间通过相互协作、相互交流涌现出单个个体不具备的群体智能行为。目前群智能研究主要是针对如蚁群算法、粒子群算法、人工蜂群算法、遗传算法在内的群智算法。群智算法主要模拟生物群行为,是利用群体智能协同搜索空间最优解的过程。群智算法的主要特点包括:(1)灵活性,算法适应能力较强。(2)自组织性,即系统在无中心节点的控制条件下可以自发组织,使系统出现有序性。(3)分布式,系统中各个个体形成拓扑结构,各个个体是分布的,没有中心控制具有较强鲁棒性。

蚁群算法(Ant Colony Optimization,ACO)是受自然界蚂蚁“搬家”现象启发。蚁群中单个蚂蚁就可以获得从巢穴到食物源的最短路径,是依赖于蚁群中的特有信息船体方式。蚂蚁个体间通过分泌信息素(Pheromone)进行信息传递,信息素可以引导蚁群快速找到食物源。这种特有的通信机制使得蚁群算法在解决各种寻优问题中获得良好效果,以经典旅行商问题(TSP)为主。

蚁群算法主要利用正反馈原理进行解的寻优,可以快速发现较优解。通过分布式计算和贪婪准则防止算法过早收敛。这些特点使得蚁群算法具有较好的鲁棒性、并行性和寻优能力,使得蚁群算法具有较好的解算效应。

遗传算法(Genetic Algorithm,GA)由美国John Holland教授在1975年根据达尔文的“适者生存、优胜劣汰”生物进化理论提出的。模拟生物界自然选择和自然遗传现象的智能搜索算法。GA算法模拟种群进化过程,通过选择(Selection)、交叉(Crossouer)以及变异(Mutation)等遗传操作,使种群通过迭代保留优秀基因,淘汰劣质基因,同时保留候选个体。种群经过软甘茨迭代进化后,获得最优解的过程。

遗传算法是基于群体搜索策略和信息交换方法所形成的,适用于处理高度复杂的非线性问题、在数学模型、信息处理、人工智能等领域,遗传算法发挥了很大的作用,提高了一些问题求解的效率。

粒子群算法(Particle Swarm Optomization,PSO)中的粒子(Particle)代表着鸟群,是模拟自然界中的鸟群觅食现象。利用鸟群觅食过程中的信息交流机制所开发的一种算法。粒子群算法通过种群迭代更新粒子速度与位置来进行解的寻优,通过该方式获得局部最优解和全局最优解,从而解决优化问题。粒子群算法利用种群内的协作竞争机制来寻找优化问题的较优解。

粒子群算法没有复杂的种群遗传策略,而是通过跟踪求解空间最优粒子进行最优粒子周围搜索。使得粒子群算法具备参数少、容易实现等优点,粒子群算法在函数优化、模式识别等领域发挥很大的作用。

人工蜂群算法(Artificial Bee Colony,ABC)是基于模拟自然界中风靡采蜜的群体智能行为开发的一种群体智能优化算法。蜂群采蜜过程中蜜蜂是利用这种机制进行数学模型问题的求解的。

与其他群智算法不同的是,人工蜂群算法对求解函数的信息不做过多要求和处理,算法寻优过程仅仅依靠适应度函数就可完成。因而算法具有操作简单、鲁棒性较强和控制参数少等优点。与遗传算法(GA)、蚁群算法(ACO)和粒子群算法(PSO)相比较,ABC算法具有更优的寻优效果。

ABC算法将蜜蜂划分为三类:采蜜蜂、跟随蜂、侦察蜂。不同种类蜂群有着不同任务分工,基于不同种类蜂群的信息交互与任务协作截止得以完成采蜜过程,也就是利用ABC算法获取最优解的过程。

生物背景。蜜蜂作为一种群体生物,与蚁群、鸟群相似,虽然单体个体行为模式简单,但是群体却能涌现出单个个体不具备的复杂智能行为。蜜蜂的采蜜过程用语言描述为:首先大量蜜蜂寻找蜜源,找到蜜源的蜜蜂返回蜂巢,通过跳“8字舞”或“圆圈舞”的方式将蜜源所在位置通知给其他伙伴。通过舞蹈时间长短反馈出蜜源的多少。蜜源质量越好,则蜜蜂舞动时间越长。其他蜜蜂根据得到的蜜源信息继续进行蜜源开采。采蜜多次开采蜜源质量较差或被开采完时,放弃当前蜜源并转换成侦察蜜蜂重新搜寻新蜜源。随着蜜源不断被发现,大量蜂蜜被采集形成既有营养价值又美味的蜂蜜。人工蜂群算法就是模拟蜂群信息交互过程完成采蜜行为形成的一种计算随机检索算法。与其他群体智能算法不同的是人工蜂群算法特有的种群角色转换机制,采蜂蜜、跟随蜂、侦察蜂根据开采蜜源情况不同进行角色转变,协作交互完成高质量蜜源开采工作。在人工蜂群算法中,三个蜜蜂种群紧密联系却各司其职:才蜜蜂用于搜寻优良解;跟随蜂帮助蜂群缩短收敛时间;侦察蜂帮助蜂群跳出局部最优。

人工蜂群算法基本概念。基于蜂群采蜜行为,根据采蜜机制建立人工蜂群算法相关概念。人工蜂群算法系统构成因素包括:采蜜蜂(Employed Foragers)、跟随蜂(Followers)侦察蜂(Scouts)以及蜜源。

“蜜源”指的是蜜蜂所开采的花粉,蜜源的质量主要由花粉决定,花粉量丰富的区域自然为优质蜜源。蜜源质量还受采蜜蜂距离蜂房远近影响,影响信息的传递。

“采蜜蜂”指的是在某处蜜源较优位置采蜜的蜜蜂,同时向其他蜜蜂传播蜜源信息。

“跟随蜂”指的是根据返回蜂房采蜜信息指引,对蜜蜂开采蜜源质量好坏进行评判后决定是否跟随才蜜蜂开采。

“侦察蜂”指的是还未发现较优蜜源,作为蜂群中的侦察兵,在不断搜寻新蜜源的蜜蜂。蜂群中总是抱有一定数量的侦察蜂。

蜂群在执行采蜜任务初期并没有对蜂群进行分类,所有蜜蜂都为侦察蜂。经过蜜源开采后根据蜜源质量好坏由优到差将蜜蜂区分为才蜜蜂、跟随蜂和侦察蜂。三类蜜蜂的转变机制分以下三种情况,如图4所示。

图4 不同种类蜜蜂转换图
  1. 所有蜜蜂一开始都是侦察蜂,如果采蜜当前开采蜜源收益度较差时,自动放弃当前蜜源并转变侦察蜂继续搜寻新蜜源。
  2. 蜜蜂搜寻到收益较优蜜源时转变为采蜜蜂,才蜜源区进行开采,成为其他蜜蜂的信息引领者。
  3. 蜜蜂所处蜜源收益度满足跟随蜂转换条件时,蜜蜂转变为跟随蜂。根据采蜜蜂传递蜜源位置和质量信息选择要跟随的采蜜蜂去开采,才是跟随蜂转变为采蜜蜂。

人工蜂群算法原理。利用适应度函数来衡量蜜源好坏,蜜源区域的花蜜量代表蜜源的适应度值。在利用人工群算法求解函数优化问题时,首先在搜索空间搜寻蜜源,每个蜜源区域都对应一个数学化模型的解,求解的目标就是获得适应度最高的蜜源,也就是最优解。最优蜜源在求解函数优化问题时就代表着最优解。蜂群寻找最优蜜源的速度代表着哈数优化问题的解算速度。函数优化问题在人工蜂群算法中应用时的相关术语对应如下表。

如果一个团队能够像人工蜂群一样配合,团队中有人采蜜、有人侦察、有人跟随且角色可按需改变。我相信一定有着强悍的战斗力。

人工蜂群算法_如果你的团队能够像人工蜂群一样战斗相关推荐

  1. 基于人工蜂群算法的线性规划求解matlab程序

    基于人工蜂群算法的线性规划求解matlab程序 1 人工蜂群算法概述 2005年D. Karaboga教授仿照蜜蜂集群采蜜生物行为,提出了人工蜂群仿生算法,可以有效解决有关函数优化等相关难题.ABC算 ...

  2. 人工鱼群算法python代码_人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区......

    本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...

  3. 人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区...

    本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...

  4. 【BP数据预测】基于matlab人工鱼群算法优化BP神经网络数据预测【含Matlab源码 523期】

    一.人工鱼群算法简介 1 觅食行为   指鱼循着食物多的方向游动的一种行为,人工鱼X i X_iXi​在其视野内随机选择一个状态X j X_jXj​,分别计算它们的目标函数值进行比较,如果发现Y j ...

  5. 【AFSA TSP】基于matlab改进的人工鱼群算法求解旅行商问题【含Matlab源码 1479期】

    ⛄一. TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须 ...

  6. 【预测模型】基于人工鱼群算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  7. 机器人路径规划_人工蜂群算法

    机器人路径规划_人工蜂群算法 原理 ABC(Artificial BeesColony)算法最先由Basturk等人提出并应用于函数优化问题,蜂群采蜜行为与函数优化问题对应关系如表1所示.由表1可知, ...

  8. python智能优化算法_人工蜂群(ABC)算法的群体智能优化问题方法(Python完整实现)...

    这些算法已被证明在解决实际问题方面非常有效.一些可以使用SI算法解决的任务是聚类,行星映射,控制纳米机器人和数据挖掘中的各种问题,如特征选择和分类. 在数学上讲,要使用计算智能算法解决现实世界中的优化 ...

  9. 人工蜂群算法的最小搜索模型_【优化求解】人工蜂群ABC算法

    一.人工蜂群算法的介绍 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜 ...

最新文章

  1. 马斯克:人脑“带宽”有限,需要用人工智能加持提高连接速度
  2. socket通信入门
  3. 基于事件驱动架构构建微服务第13部分:使用来自Apache KAFKA的事件并将投影流传输到ElasticSearch...
  4. mysql dw解决方案_MySQL 的 DW 解决方案(MySQL + Infobright)
  5. curl查看swift状态命令_微服务之——docker高级命令
  6. java程序默认使用的xmx_为什么JAVA进程占用内存会超过Xmx设置
  7. mybatis+oracle实现简单的模糊查询
  8. ViewPager 2 使用讲解
  9. Ubuntu搭建socks5服务
  10. 乌镇互联网大会官方首次使用AI同传,搜狗为雷军提供机器翻译
  11. java毕业生设计东理咨询交流论坛计算机源码+系统+mysql+调试部署+lw
  12. vue中eslint报错的解决方案
  13. Access2007实用教程pdf
  14. 2-2 学生成绩链表处理 (20 分)
  15. 隐藏应用计算机器的密码,隐私计算器:将你的密码隐藏在一个工作的计算器中...
  16. 小程序textarea在ios中内边距的解决办法
  17. 扬州计算机会考高中,2018年扬州中考生会考成绩均达C可报普高
  18. Eclipse 报错 Cannot nest 'FisRptWeb/src/conf' inside library 'FisRptWeb/src'
  19. 机房服务器维保 招标文件,机房维护服务项目招标文件.docx
  20. 2020计算机考研难度排名,2020年考研难度排名:100所高校上榜,中国人民大学排名第7...

热门文章

  1. 解决vmware移动虚拟机之后执行ifconfig命令无输出的问题
  2. hdfs数据均衡操作命令
  3. Python3字符串拼接
  4. Hadoop 停止hdfs和yarn的命令
  5. Hystrix默认超时时间
  6. Random类实例--猜数字游戏
  7. Atomic原子类常用方法总结(包含四大类型)
  8. 非洲瓜哇JAVA布的特点_java语言的基本特性以及编程细节
  9. Visual Studio下载、安装、运行教程
  10. 段式存储管理 Vs 页式存储管理 Vs 段页式存储管理