✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。
🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室
👇 关注我领取海量matlab电子书和数学建模资料
🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、笃行之,是为:博学慎思,明辨笃行。
🔥 内容介绍
一、引言
在当今无人机应用日益广泛的背景下,无人机在复杂三维环境中的避障和路径规划成为关键技术挑战。基于 Q - Learning 强化学习算法的路径规划方法为解决这一问题提供了创新且有效的途径。该方法通过构建复杂环境模型、精心设计奖励函数、运用特定训练策略以及独特的路径提取方法,使无人机能够在充满静态和动态障碍物的三维空间中自主规划安全且经济的飞行路径。
二、三维栅格环境模型构建
(一)静态障碍物簇建模
将三维空间划分为多个栅格单元,每个栅格具有特定的坐标。对于静态障碍物簇,根据其形状、位置和尺寸,标记相应的栅格单元为占用状态。例如,在一个模拟的室内三维环境中,墙壁、大型设备等静态障碍物可以通过其几何形状,精确地映射到相应的栅格位置。这样,无人机在进行路径规划时,能够直观地识别这些不可穿越区域,避免碰撞。
(二)多运动模式动态障碍物建模
考虑到动态障碍物具有不同的运动模式,如直线运动、曲线运动等。为每种动态障碍物定义其运动参数,包括速度、方向、运动轨迹等。在每个时间步,根据动态障碍物的运动参数更新其在三维栅格环境中的位置。例如,假设一个动态障碍物以恒定速度沿直线运动,根据其速度和方向,计算在每个时间步它将占据的栅格单元。通过这种方式,无人机可以实时感知动态障碍物的位置变化,提前规划避障路径。
三、多因子奖励函数设计
(一)碰撞惩罚
为了确保无人机的飞行安全,对碰撞行为设置严厉的惩罚。当无人机进入被障碍物占用的栅格单元时,给予一个较大的负奖励值。例如,将碰撞惩罚设置为 -100,这样无人机在学习过程中会尽量避免碰撞,优先选择安全的路径。
(二)目标趋近引导
为了引导无人机朝着目标前进,设计目标趋近奖励。当无人机接近目标位置时,给予正奖励。可以根据无人机与目标之间的距离来调整奖励值,距离越近,奖励越高。例如,通过计算无人机当前位置与目标位置的欧氏距离,当距离小于一定阈值时,奖励值随着距离的减小而线性增加,鼓励无人机尽快到达目标。
(三)动态危险区域规避
考虑到动态障碍物周围存在危险区域,即使无人机未与动态障碍物直接碰撞,但进入其危险区域也可能存在风险。因此,为动态危险区域设置规避奖励。当无人机接近动态障碍物的危险区域时,给予负奖励,促使无人机避开这些危险区域。危险区域的范围可以根据动态障碍物的速度、尺寸等因素进行合理设定。
(四)飞行平滑度
为了使无人机的飞行路径更加平滑,避免频繁转向,引入飞行平滑度奖励。当无人机在相邻时间步的飞行方向变化较小时,给予一定的正奖励。例如,通过计算相邻时间步无人机飞行方向的夹角,当夹角小于一定角度时,给予相应的奖励,提高飞行的稳定性和效率。
四、Q - Learning 训练策略
(一)ε - greedy 探索策略
在 Q - Learning 训练过程中,采用 ε - greedy 探索策略平衡探索与利用。在每个时间步,无人机以 ε 的概率随机选择一个动作,以探索新的状态 - 动作对;以 1 - ε 的概率选择当前状态下 Q 值最大的动作,利用已学习到的知识。随着训练的进行,逐渐减小 ε 的值,使无人机从更多的探索逐渐过渡到更多地利用已有的经验。例如,在训练初期,ε 可以设置为 0.9,随着训练轮数的增加,按照一定的衰减率(如每 100 轮衰减 0.05)逐渐减小 ε,到训练后期,ε 可能减小到 0.1,此时无人机主要依赖已学习到的最优动作进行决策。
(二)稀疏 Q 表存储机制
由于三维环境下状态空间巨大,如果采用传统的完整 Q 表存储所有状态 - 动作对的 Q 值,会占用大量的内存空间,甚至导致内存溢出。因此,采用稀疏 Q 表存储机制。只存储无人机实际访问过的状态 - 动作对的 Q 值,对于未访问过的状态 - 动作对,在需要时进行初始化。这样可以显著减少内存占用,提高训练效率。例如,在训练开始时,Q 表为空,随着无人机在环境中的探索,逐步将访问到的状态 - 动作对及其对应的 Q 值添加到 Q 表中。
⛳️ 运行结果
🔗 参考文献
[1]胡细兵.基于强化学习算法的最优潮流研究[D].华南理工大学,2011.