【智能算法应用】基于蜣螂优化算法求解多无人机集群路径规划问题


1.算法原理

【智能算法】蜣螂优化算法(DBO)原理及实现

2.UAV路径规划数学模型

无人机(unmanned aerial vehicle,UAV)路径规划是无人机导航系统中的一项关键技术,它使无人机能够自动确定从起点到终点的最优或可行飞行路径。

UAV路径规划可以从路径成本、高度成本、光滑成本、威胁成本方面构建路径规划目标函数。

路径成本

路径长度是判断路径质量的重要依据,路径长度越短,越有利于无人机节省能耗:
F l = ∑ i = 1 n ( x i + 1 − x i ) 2 + ( y i + 1 − y i ) 2 + ( z i + 1 − z i ) 2 (1) F_{l}=\sum_{i=1}^{n}\sqrt{\left(x_{i+1}-x_{i}\right)^{2}+\left(y_{i+1}-y_{i}\right)^{2}+\left(z_{i+1}-z_{i}\right)^{2}}\tag{1} Fl=i=1n(xi+1xi)2+(yi+1yi)2+(zi+1zi)2 (1)
其中,n 为航迹点数目,(xi,yi,zi) 表示第 i 个航迹点的位置。

光滑成本

规划路径应尽量减少大角度偏航和高度的突变,需要保持路径平滑。由于山区陡峭、落差大的地形特点,无人机在山区飞行需要飞行路径满足自身的最大爬升角和爬升率的要求。li 表示 2 个航迹点之间的距离,偏转角 φ i \varphi_i φi和俯仰角 ϕ i \phi_i ϕi:
φ i = arctan ⁡ ( ∥ l i l i + 1 ∥ l i l i + 1 ) ϕ i = arctan ⁡ ( z i + 1 − z i ( x i + 1 − x i ) 2 + ( y i + 1 − y i ) 2 ) F e = ∑ i = 1 n − 2 φ i + ∑ i = 1 n − 1 ( ϕ i − ϕ i − 1 ) (2) \begin{gathered} \varphi_i=\arctan\left(\frac{\left\|l_il_{i+1}\right\|}{l_il_{i+1}}\right) \\ \phi_i=\arctan\left(\frac{z_{i+1}-z_i}{\sqrt{\left(x_{i+1}-x_i\right)^2+\left(y_{i+1}-y_i\right)^2}}\right) \\ F_e=\sum_{i=1}^{n-2}\varphi_i+\sum_{i=1}^{n-1}\left(\phi_i-\phi_{i-1}\right) \end{gathered}\tag{2} φi=arctan(lili+1lili+1)ϕi=arctan (xi+1xi)2+(yi+1yi)2 zi+1zi Fe=i=1n2φi+i=1n1(ϕiϕi1)(2)

高度成本

路径规划中的路径还必须要确保无人机的安全运行,因此引入飞行安全性能够引导无人机躲避环境中的障碍物。空域内存在中心坐标为Ok ,半径为 Rk 的障碍物 K, 无人机的飞行节点与障碍物的垂线距离 dk 应该大于安全距离阈值 S:
F s = { 0 , d k ≥ S S − d k , R k < d k < S ∞ , d k < R k (3) F_s=\begin{cases}0,d_k\geq S\\S-d_k,R_k<d_k<S \\\infty,d_k<R_k\end{cases}\tag{3} Fs= 0,dkSSdk,Rk<dk<S,dk<Rk(3)

在这里插入图片描述
上述各类成本函数进行加权综合,构成多目标路径规划问题的目标函数 F:
F = ω 1 F 1 + ω 2 F e + ω 3 F s (4) F=\omega_1F_1+\omega_2F_e+\omega_3F_s\tag{4} F=ω1F1+ω2Fe+ω3Fs(4)

无人机集群路径规划(MUAVS)总成本为每个UAV成本之和:
f i t n e s s = s u m ( F i ) (5) fitness = sum(F_i)\tag{5} fitness=sum(Fi)(5)

3.结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Phung M D, Ha Q P. Safety-enhanced UAV path planning with spherical vector-based particle swarm optimization[J]. Applied Soft Computing, 2021, 107: 107376.
[2] 远翔宇,杨风暴,杨童瑶.基于自适应蜣螂算法的无人机三维路径规划方法[J].无线电工程,2024,54(04):928-936.
[3] 吴学礼,王超,赵俊棋,等.改进麻雀算法的无人机三维路径规划[J].科学技术与工程,2024,24(15):6534-6542.

5.代码获取

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值