考虑异常天气和太阳辐射下基于强化学习的无人机三维路径规划

目录

环境建模

(1)异常天气区域约束

(2)太阳辐射模型

算法设计

结果展示

完整代码获取


以往关于无人机的推文都是利用元启发式算法去解决的:

一看就会!四种策略改进的蜣螂算法求解三维无人机路径规划!原理公式详解!附赠与原算法对比!出图美观直接用!

UAV路径规划|基于多目标水母算法MOJS求解多无人机协同路径规划 附Matlab代码

今天给大家带来一期基于强化学习的无人机三维路径规划。目前来说,强化学习也是一个非常热门的方向,同时,我们也考虑异常天气和太阳辐射的条件下,利用Q-learning强化学习算法去解决无人机三维路径规划问题,非常新颖。

您只需做的工作:一键运行main文件即可出图!代码注释清晰!非常适合新手小白!

环境建模

首先,从真实地形数据中截取100×100的区域,减去最小高度后除以100,得到归一化的栅格高度。地形以下的栅格标记为-1(障碍),以上的标记为2(可通行)。这样就把连续地形转化成了一个100×100×50的三维栅格地图。

(1)异常天气区域约束

异常天气区域被建模为一个垂直圆柱体禁飞区,其圆心位于*(x₀, y₀) = (60, 70)* ,半径为r = 7.5 个栅格单位,贯穿整个高度范围。对于任意栅格单元*(i, j, k)*,如果满足以下条件,则该单元被标记为障碍:

满足该条件的栅格点同样在MAP矩阵中设置为−1,使得路径规划时无人机会自动回避该区域。

(2)太阳辐射模型

为模拟太阳能无人机的能量获取,在每个水平位置*(i, j)* 生成服从均匀分布U(3.491, 4.491) 的太阳辐射值(单位:kwh/kwp/day),并归一化至0, 1区间后扩展到三维空间,形成太阳辐射矩阵S(i, j, k)。该矩阵将作为奖励函数的组成部分,引导无人机优先选择太阳辐射较强的航线。

算法设计

算法的核心思想就是把三维空间离散化成栅格,让无人机在栅格中反复试错,通过奖励信号学习出一张Q表,最终根据Q表贪心地走出一条从起点到终点的最优路径。Q表是一个巨大的矩阵,行数等于所有栅格点的数量,列数为27,对应26个邻居方向加上原地不动。Q(s,a) 表示在状态s执行动作a的预期累积收益。

Q值更新公式就是标准的:

训练的话分两个阶段:

第一阶段:当Q表中非零元素不足500000时,认为Q表还很稀疏,采用纯随机探索。智能体从起点出发,每步随机选一个合法邻居,计算奖励并更新Q值,直到到达终点或走入死胡同。这个阶段的目的是快速填充Q表。

第二阶段:Q表足够稠密后,切换到ε-greedy策略,以0.9的概率选Q值最大的动作(利用),0.1的概率随机探索。当连续两轮路径长度差距小于5且路径点不超过100个时,认为已经收敛,最后用纯贪心(ε=1)走一遍输出最终路径。

每一步的即时奖励函数由三部分组成:

第一项是该位置的太阳辐射收益,鼓励走辐射强的区域。第二项是距离差引导,如果这一步离终点更近就得正奖励,更远就得负奖励。第三项是高度变化惩罚,抑制大幅度升降。到达终点直接给150的大奖励。

整个模型流程就不写了,如果有需要写作的小伙伴也可以私信问我要~

结果展示

我们设置学习率为0.9,折扣因子为0.7,给大家展示一下结果~

首先是Q-learning三维路径规划立体图:

以及俯视图:

航迹剖面图:

可以看到,整个航迹成功避开了异常天气区域,并且也完美符合航迹对应地形高度和低空限制高度,整个航迹在其中间,没有违反任何约束。

最终规划结果也会显示到命令行窗口:

复制代码
%%  运行时间:           20.98 s
%%  迭代次数:           72 次
%%  路径点个数:         98 个
%%  规划路径长度:       13072.62 m
%%  地面投影长度:       11353.91 m

以上所有图片,均可一键运行main生成,无需配置环境!注释清晰!非常适合新手小白!

完整代码获取

想要获取以上完整代码的,可以点击下方小卡片,再后台回复关键词:

无人机

相关推荐
菜鸟‍36 分钟前
LeetCode 1 27 和 704 || 两数之和 移除元素 二分查找
算法·leetcode·职场和发展
退休倒计时2 小时前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
YOLO数据集集合2 小时前
无人机航拍街道巡检数据集 | 空中视角车辆检测、交通流量统计、违停识别、智能交通YOLO数据集10399期
深度学习·yolo·目标检测·无人机
popcorn_min2 小时前
Digits 手写数字识别:随机森林多分类 + 像素级特征热力图
算法·随机森林·分类
liulilittle3 小时前
拥塞控制:排水终止的两种决策:OR 与 AND
网络·tcp/ip·计算机网络·算法·信息与通信·tcp·通信
weixin_307779133 小时前
从脚本执行到智能体协作:AI辅助测试能力的范式重构
运维·开发语言·人工智能·算法·测试用例
量化君也3 小时前
从回测到全自动实盘交易,全天候策略需要经历哪些改造?
大数据·人工智能·python·算法·金融
fox_lht4 小时前
第十五章 函数式语言:迭代器和闭包
开发语言·后端·学习·算法·rust
zhengzhouliuhaha5 小时前
智能医疗设备控费系统:以全院一体化管控,筑牢医疗资源“安全阀”
大数据·数据结构·人工智能·算法·安全·机器学习·软件需求
June`5 小时前
CUDA程序效率如何计算以及工具如何使用
算法·cuda