ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

用于 C++ 机器人路径规划器的 FireFly 算法

2022-11-28 18:21:47  阅读:321  来源: 互联网

标签:c++ 机器人 规划器 fa 部署 函数 代码 Java


萤火虫算法(FA) 是一种基于萤火虫点燃后行为的随机优化算法。为了保证方法的有效性、实用性和简便性,将萤火虫的光度和趋光性理想化。萤火虫被重新定位到该区域最亮的萤火虫,并在算法运行过程中不断更新其位置,该算法仅搜索萤火虫的照度和趋光性伙伴。

FA 基于以下规则,可概括如下:

  1. 萤火虫不分性别,彼此之间的吸引力完全取决于它们的亮度。
  2. 两只萤火虫的吸引力与亮度成正比,与它们之间的距离成反比。
    萤火虫的位置影响亮度。如果位置更好,萤火虫照亮的亮度会更强烈。萤火虫的亮度越高,吸引的萤火虫就越多。他们所处的位置会影响他们的才华。
  3. 期望的目标函数的值决定了萤火虫有多灿烂。

FA 非常简单有效,但是有一些必须评估和部署的常数参数。对于这篇文章,我遵循了可以在此处阅读的文章。作者指定了我在 C++ 中部署的成本函数。

这篇文章的 C++ 源代码可以在我的GitHub 上找到。

考虑到机器人路径规划器,我们正在寻找起点和目标之间的最短无障碍路径(此处为二维空间)。路径上的航路点(萤火虫的位置)必须按照成本函数必须达到全局最小值(优化问题)的方式进行选择。
所提出的算法在循环中运行并根据公式更新萤火虫的位置(机器人在我们试图找到的路径上的位置),

 

在哪里,

x_ix_j是萤火虫的位置,

标签:c++,机器人,规划器,fa,部署,函数,代码,Java
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有