基于 NSGA-II 的城市密集区无人机多目标路径规划 ——Matlab 实现与核心算法解析

基于 NSGA-II 的城市密集区无人机多目标路径规划 ——Matlab 实现与核心算法解析

城市密集区的无人机路径规划是无人机自主导航领域的经典难题,其核心痛点在于需要同时满足硬约束防撞动力学极限多目标性能折中三大核心要求。本文基于非支配排序遗传算法(NSGA-II),实现了城市密集区无人机的多目标路径规划 Matlab 方案,针对建筑避障、雷达威胁、飞行能耗、轨迹平滑等需求完成了全流程建模与开发,通过B 样条轨迹平滑分层罚函数机制高阶可视化面板等关键设计,解决了复杂场景下的轨迹穿模、约束违规、多目标权衡等问题。

目录

一、研究背景与问题建模

1.1 城市密集区规划难点

1.2 算法选型与整体设计

二、核心模块详细实现

2.1 复杂场景构建模块(build_Scenario.m)

2.1.1 场景核心要素

2.1.2 关键参数表

2.2 染色体解码与 B 样条轨迹生成

2.2.1 染色体编码设计

2.2.2 控制点构建

2.2.3 3 阶 B 样条轨迹生成

2.2.4 核心修复:防跨步穿模

2.3 硬约束检验模块(evaluate_Constraints.m)

2.3.1 禁飞区防撞约束(核心)

2.3.2 极限动力学约束:最大爬升角

2.3.3 约束输出格式

2.4 多目标函数与分层惩罚模块(evaluate_Objectives.m)

2.4.1 多目标函数量化(三大核心目标)

目标 1:综合飞行能耗代价J1​

目标 2:分层累计威胁暴露代价J2​

2.4.2 二级混合罚函数机制

软约束惩罚:爬升速率轻微违规

绝对致死惩罚:建筑物理穿越

2.4.3 最终目标函数输出

2.5 NSGA-II 优化核心配置(main_UAV_Planning.m)

2.5.1 关键优化参数配置

2.5.2 算法核心调用

三、结果可视化模块

3.1 核心解的选取策略

3.2 多子图可视化面板

3.2.1 全局 3D 视图

3.2.2 战术俯视图

3.2.3 高程时序剖面图

四、实验结果与分析


一、研究背景与问题建模

1.1 城市密集区规划难点

城市密集区存在大量静态硬障碍(高楼建筑)和软威胁(雷达探测),同时无人机受自身动力学约束(最大爬升角、最小转弯半径)限制,路径规划需同时兼顾安全性经济性隐蔽性平滑性四大核心要求,属于典型的多目标约束优化问题,其数学本质为:

其中,J1​/J2​/J3​ 分别为能耗代价、雷达威胁暴露代价、轨迹平滑代价;c(X)/ceq(X) 为不等式 / 等式硬约束;lb/ub 为优化变量的上下界。

1.2 算法选型与整体设计

选择NSGA-II作为核心优化算法,其具备快速非支配排序、拥挤度计算、精英保留策略等优势,能高效求解多目标优化的帕累托前沿解。系统整体采用模块化设计,核心模块包括:场景构建、染色体解码与 B 样条轨迹生成、硬约束检验、多目标函数量化与分层惩罚、NSGA-II 优化配置、高阶结果可视化,各模块的调用关系如图 1 所示。

注:核心优化模块通过调用目标函数计算(evaluate_Objectives)和约束检验(evaluate_Constraints)完成每一代种群的评价,轨迹解码模块为目标 / 约束计算提供真实的飞行轨迹数据。

二、核心模块详细实现

本文所有代码基于 Matlab 实现,核心函数均为独立模块,以下按数据流向对各核心模块进行详细解析,包含关键公式、代码设计思路与核心修复点。

2.1 复杂场景构建模块(build_Scenario.m)

场景是路径规划的基础,本文构建了极限压测版城市密集区场景,包含硬禁飞区(建筑)和软威胁区(雷达),同时定义了无人机飞行的空域约束、动力学约束和拓扑变量,解决了简单场景无法验证算法鲁棒性的问题。

2.1.1 场景核心要素
  1. 起终点与空域约束:起终点拉远至[100,100,50]和[1900,1900,50](单位:m),空域高度限制为hlow​=20 m(极限掠地高度)、hhigh​=350 m(最高飞行高度);
  2. 硬禁飞区(建筑):设计三类建筑分布,形成 “墙 + CBD 丛林 + 散落障碍” 的复杂障碍布局,建筑数据格式为[xc​,yc​,R,H](中心坐标、半径、高度),具体包括:
    • 墙:x=600 处排布 6 栋高楼,仅 y=1100 处留狭小缺口,形成 “一夫当关” 的障碍;
    • CBD 丛林:终点前 7 栋高低错落的密集建筑,为必经之路;
    • 散落障碍:3 栋大半径建筑,封死边缘绕行路线;
  3. 软威胁区(雷达):设计 4 部雷达,数据格式为[xc​,yc​,Rdet​,S](中心坐标、探测半径、威胁强度),雷达布局形成 **“陷阱 + 天罗地网”** 的威胁分布,如死守叹息之墙缺口的致命雷达、笼罩 CBD 的超大范围雷达;
  4. 动力学与拓扑约束:最大爬升角放宽至θmax​=35∘(考验极限拉升能力),航点数量从 6 个升级至 14 个(适配复杂蛇形机动),定义最小转弯半径Rturn​=40 m。
2.1.2 关键参数表

表 1 城市密集区场景核心参数

类型参数名称数值 / 配置
空域约束掠地高度 / 最高高度20m / 350m
动力学约束最大爬升角35°(弧度:35π/180)
拓扑变量航点数量14 个(解码后含起终点)
硬禁飞区建筑总数6+7+3=16 栋
软威胁区雷达总数4 部(探测半径 350-550m)

图 2 城市密集区场景 2D 俯视图(注:深灰色实心圆为建筑,淡红色虚线圆为雷达探测区,绿色点为起点,蓝色点为终点,x/y 轴范围 0-2000m)

2.2 染色体解码与 B 样条轨迹生成

NSGA-II 优化的是抽象染色体变量,需通过解码模块转换为真实的三维飞行轨迹,本文采用B 样条插值实现轨迹平滑,同时通过核心修复解决了轨迹 “跨步穿模” 问题,是连接优化变量与物理轨迹的关键模块。

2.2.1 染色体编码设计

优化变量采用分层结构化编码,每个航点包含 4 个变量[dx,dy,h,w],分别为 x/y 方向偏移、飞行高度、B 样条权重,总变量数为:

其中Nwaypoints​=14,因此总变量数为 56,变量上下界通过repmat设置为[−150,−150,20,0.1](下界)和[150,150,350,1.0](上界),杜绝无效空域。

2.2.2 控制点构建

将一维染色体重塑为矩阵后,结合基准航点起终点构建 B 样条控制点,公式为:

其中,(xs​,ys​,zs​)为起点坐标,(xt​,yt​,zt​)为终点坐标,xbase​/ybase​为起终点间的线性基准航点。

2.2.3 3 阶 B 样条轨迹生成

采用3 阶 B 样条生成平滑轨迹,其基函数通过递归公式计算,是保证轨迹连续可微的核心:

其中,t为节点向量,u∈[0,1]为归一化参数,k=3为 B 样条阶数。

通过基函数加权控制点得到最终轨迹:

其中CPj​为第j个控制点,n为控制点数量。

2.2.4 核心修复:防跨步穿模

为解决低采样率导致的轨迹跨步穿模(优化变量的离散航点间轨迹穿透建筑)问题,将采样点数量从默认值提升至250 个,大幅提高轨迹分辨率,确保每一段轨迹都能被约束检验模块有效检测。

2.3 硬约束检验模块(evaluate_Constraints.m)

硬约束是无人机飞行的安全底线,违反则直接判定为无效解,本文实现了禁飞区防撞约束极限动力学约束两类核心硬约束,采用穿透深度量化约束违规程度,为 NSGA-II 提供清晰的约束评价指标。

2.3.1 禁飞区防撞约束(核心)

为建筑增加5m 安全保护罩(核心修复),避免轨迹紧贴建筑导致的安全风险,建筑的实际约束参数为:

其中R/H为建筑原始半径 / 高度,R′/H′为加入安全裕度后的约束参数。

碰撞判定条件:无人机轨迹上某点的水平距离小于R′高度低于H′,即:

若存在碰撞点,计算最大穿透深度作为约束违规值(正值表示违规):

若无碰撞点,cval​=−1(负值表示满足约束)。

2.3.2 极限动力学约束:最大爬升角

爬升角是无人机单位 2D 航程的高度变化,计算公式为:

其中Δx/Δy/Δz为相邻轨迹点的坐标变化量。

为限制无人机的极限拉升 / 俯冲,设置爬升角双向约束:

将违规值max(θ−θmax​)和max(−θmax​−θ)加入约束数组,确保爬升角在安全范围内。

2.3.3 约束输出格式

最终输出不等式约束数组c(等式约束ceq=∅),满足c≤0时表示所有硬约束均被遵守,NSGA-II 将剔除c>0的严重违规解。

2.4 多目标函数与分层惩罚模块(evaluate_Objectives.m)

多目标函数是路径规划的性能导向,本文设计了能耗、威胁、平滑三个相互冲突的目标函数,同时构建二级混合罚函数机制(软约束惩罚 + 绝对致死惩罚),实现约束违规的梯度化惩罚,是多目标优化的核心模块。

2.4.1 多目标函数量化(三大核心目标)

三个目标函数均为最小化目标,相互之间存在折中关系(如隐蔽最优需大迂回,导致能耗增加、轨迹平滑性下降)。

目标 1:综合飞行能耗代价J1​

能耗代价综合考虑巡航能耗机动变向能耗高度升降能耗,采用加权和模型量化,公式为:

偏航角计算:ψ=arctan2(Δy,Δx),机动变向能耗乘以 100 为量级归一化,确保三个能耗分量对J1​的贡献在同一量级。

目标 2:分层累计威胁暴露代价J2​

雷达威胁暴露代价与无人机至雷达的距离飞行高度相关,距离越近、高度越高,暴露代价越大,公式为:

其中:

  • m为雷达数量,di,r​为无人机第i点至第r部雷达的水平距离;
  • Sr​为第r部雷达的威胁强度,Rdet,r​为雷达探测半径;
  • ηi​=max(0,(zi​−hlow​)/(hhigh​−hlow​))为高度因子,地形遮挡会削弱暴露代价。

当di,r​≥Rdet,r​时,无人机处于雷达探测范围外,贡献为 0。

2.4.2 二级混合罚函数机制

为解决约束违规与多目标优化的耦合问题,设计软约束惩罚绝对致死惩罚的分层机制,确保轻微违规有梯度惩罚,严重违规直接淘汰。

软约束惩罚:爬升速率轻微违规

爬升速率定义为

,当爬升速率超过tan(0.8θmax​)时,判定为轻微违规,惩罚公式为:

其中νz,viol​为违规的爬升速率值,乘以 1000 为强惩罚,引导算法向合规方向优化。

绝对致死惩罚:建筑物理穿越

若轨迹穿透建筑(与约束检验模块的碰撞判定条件一致),直接赋予千万级惩罚:cdeath​=107,并立即跳出循环(撞一栋楼即判定死亡)。该惩罚机制确保任何物理穿越建筑的解都会成为帕累托排序的最劣解,被算法强制淘汰。

2.4.3 最终目标函数输出

将惩罚项叠加至原始目标函数,最终输出多目标数组F:

J3​仅叠加致死惩罚,因轨迹平滑性与爬升速率轻微违规无直接关联,避免过度惩罚。

2.5 NSGA-II 优化核心配置(main_UAV_Planning.m)

作为系统的入口函数,该模块完成场景加载、变量配置、NSGA-II 参数设置、算法调用、结果可视化的全流程调度,核心调用 Matlab 的gamultiobj函数(NSGA-II 实现),是多目标优化的总控中心。

2.5.1 关键优化参数配置

NSGA-II 的参数直接影响优化效果和效率,本文针对城市密集区的复杂场景,设置了高种群、高迭代的参数配置,确保算法能充分搜索解空间,具体参数如表 2 所示。

表 2 NSGA-II 核心配置参数

参数名称数值作用
种群大小(PopulationSize)300保证解空间搜索的充分性
最大迭代次数(MaxGenerations)400确保算法收敛至帕累托前沿
交叉率(CrossoverFraction)0.8提升种群的多样性
帕累托前沿保留比例(ParetoFraction)0.35保留 35% 的非支配解
显示模式(Display)iter迭代过程实时打印
绘图函数(PlotFcn)@gaplotpareto实时绘制帕累托前沿
2.5.2 算法核心调用

通过gamultiobj函数实现 NSGA-II 的调用,核心代码如下:

[X_opt, Fval_opt, exitflag, output] = gamultiobj(... @(x) evaluate_Objectives(x, env), nvars, ... [], [], [], [], lb, ub, ... @(x) evaluate_Constraints(x, env), options);

其中,Xopt​为优化后的帕累托最优解集合,Fvalopt​为对应的目标函数值集合,exitflag为算法收敛标志,output为迭代过程信息。

三、结果可视化模块

为直观分析多目标优化的帕累托解,本文设计了多维视图 + 动态推演的高阶可视化面板,实现了轨迹性能分析场景融合展示动态飞行模拟的一体化,能快速筛选出能耗最优、隐蔽最优、综合最优三类核心轨迹,为战术决策提供直观支撑。

3.1 核心解的选取策略

从帕累托最优解集合中,通过极值筛选归一化理想点策略选取三类核心解:

  1. 能耗最优解:J1​最小的解,轨迹具有贴地、直线倾向,能耗最低但隐蔽性较差;
  2. 隐蔽最优解:J2​最小的解,轨迹具有大迂回、高空 / 低空绕飞倾向,隐蔽性最好但能耗较高;
  3. 综合最优解:对目标函数进行归一化后,距离理想点(各目标最小值)最近的解,公式为:

3.2 多子图可视化面板

构建2 行 2 列的多子图面板,包含全局 3D 视图(占 2 行)战术俯视图(右上)高程时序剖面图(右下),三类视图从不同维度分析轨迹性能,具体功能如下:

3.2.1 全局 3D 视图

展示无人机轨迹与城市场景的 3D 融合效果,包含建筑(灰色圆柱)、雷达(半透明红色半球)、起终点(绿色 / 蓝色点)、三类核心轨迹(不同颜色 / 线型),开启高级光照与立体感,能直观观察轨迹的 3D 绕飞 / 越障策略。

3.2.2 战术俯视图

展示水平面的避障 / 绕飞策略,包含建筑(深灰色实心圆)、雷达(淡红色虚线圆)、轨迹的水平面投影,能清晰分析轨迹如何绕开建筑缺口和雷达探测区。

3.2.3 高程时序剖面图

累计航程为 X 轴,飞行高度为 Y 轴,展示轨迹的垂直面机动策略,包含安全飞行走廊(淡蓝色填充区)、极限掠地高度(红色虚线),能直观分析轨迹的高度变化与爬升 / 俯冲策略。

图 4 高程时序剖面图示例(注:橙色虚线为能耗最优轨迹(贴地飞行),蓝色点线为隐蔽最优轨迹(高度频繁变化绕雷达),绿色实线为综合最优轨迹(高度折中),淡蓝色区为 20-350m 的安全飞行走廊)

四、实验结果与分析

基于上述模块实现,在 Matlab2021b 环境下运行该方案,得到以下核心实验结果:

  1. 帕累托前沿收敛性:经过 400 代迭代,NSGA-II 的帕累托前沿趋于稳定,解分布均匀,表明算法能充分搜索城市密集区的解空间;
  2. 核心解性能:能耗最优解的J1​约为常规值的 80%,但J2​约为隐蔽最优解的 3 倍;隐蔽最优解的J2​降至最低,但J1​提升约 50%;综合最优解的J1​和J2​均处于折中水平,J3​保持较低值,轨迹平滑性良好;
  3. 约束合规性:所有帕累托最优解均满足硬约束(c≤0),无建筑穿越和爬升角违规,表明罚函数机制和约束检验模块能有效引导算法向合规方向优化;
  4. 轨迹平滑性:3 阶 B 样条生成的轨迹连续可微,无明显的急转 / 急升,满足无人机的实际飞行要求。
解类型能耗代价J1​威胁代价J2​平滑代价J3​核心特点
能耗最优0.01.00.2贴地、直线、能耗最低
隐蔽最优0.80.00.7大迂回、高度机动、隐蔽性最好
综合最优0.30.20.1折中能耗与威胁、平滑性最好
如需完整代码,请在评论区下留言,作者会逐个回复。创作不易,请留下一个赞跟收藏再走吧!!!

Read more

【AIGC行业前沿】2026年2月AIGC行业模型发布以及主要前沿资讯

目录 1. 阿里Qoder发布Qwen-Coder-Qoder 2. Kimi与南大发布SimpleSeg赋能模型像素感知 3. 字节研究团队发布ConceptMoE提升AI推理 4. 阶跃星辰发布并开源模型Step 3.5 Flash 5. 智谱发布并开源OCR模型GLM-OCR 6. xAI正式发布Grok Imagine 1.0视频模型 7. 优必选开源具身智能大模型Thinker 8. 通义千问发布开源编程模型Qwen3-Coder-Next 9. OpenAI宣布GPT-5.2系列模型提速40% 10. OpenBMB发布多模态模型MiniCPM-o 4.5 11. ACE Studio与StepFun联合发布开源音乐模型ACE-Step 1.5 12. Ai2发布轻量级开源编码模型SERA-14B 13. 上海AI实验室推出万亿参数多模态科学推理模型Intern-S1-Pro 14. Mistral AI开源40亿参数实时语音模型Voxtral Mini 4B Realtime 2602 15. 快手可灵发布可灵3.0 1

GitHub Copilot:Python开发者的AI助手

GitHub Copilot:Python开发者的AI助手 前言 大家好,我是第一程序员(名字大,人很菜)。作为一个非科班转码、正在学习Rust和Python的萌新,最近我开始使用GitHub Copilot。今天我想分享一下GitHub Copilot如何成为Python开发者的AI助手。 一、GitHub Copilot简介 1.1 什么是GitHub Copilot * AI编程助手:由GitHub和OpenAI合作开发的AI编程助手 * 代码生成:根据上下文自动生成代码 * 智能建议:提供智能的代码建议 * 多语言支持:支持多种编程语言,包括Python 1.2 GitHub Copilot的工作原理 * 基于GPT模型:使用OpenAI的GPT模型 * 代码训练:在大量开源代码上训练 * 上下文理解:理解代码的上下文和意图 * 实时建议:在编写代码时实时提供建议 二、GitHub Copilot在Python开发中的应用 2.1 代码生成 示例1:生成函数

我的第一部AIGC电影《编钟》制作幕后

我的第一部AIGC电影《编钟》制作幕后

当今时代,AI已经能制作一些高质量的电影片段。 我在前文就介绍过AIGC创作的一个标准工作流,并计划在两个月内完成一部5分钟的AI微电影。 如今,Seedance2.0这款模型彻底改变了工作流程,并将原定计划2个月的时间,压缩成了两天。 目前,该片参与了B站最近举办的视频创作大赛,参加的是三体赛道。 视频链接:https://www.bilibili.com/video/BV11acizcEjR 故事梗概 《编钟》讲述在二向箔打击地球前最后24小时,月球转运站工程师陈末得知航道封锁、末日将至,毅然驾驶一架濒临报废的穿梭机逆流返航,只为兑现对盲女小雅的承诺——带她去听两千年前的编钟之声。 城市在恐慌与崩塌中走向终结,空间开始二维化,高楼化作平面残影;陈末穿越混乱,将女儿带入空无一人的博物馆,在老守夜人的引领下敲响曾侯乙编钟。 浑厚钟声穿透濒毁的天地,小雅在声音中“看见”金色的高音、深蓝的低音与绿色的中音,完成了关于“声音颜色”的愿望。 当最后一声钟鸣与二维浪潮同时降临,地球在二向箔的打击下,彻底压缩成二维平面,人类文明的火种也随声音为载体,向外太空传播。 制作复盘

【混元AIGC+腾讯云智能体+首创Coze核心流思维导图MCP】:打造一个文思通-智能写作助手Agent

【混元AIGC+腾讯云智能体+首创Coze核心流思维导图MCP】:打造一个文思通-智能写作助手Agent

【混元AIGC+腾讯云智能体+首创Coze核心流思维导图MCP】:打造一个文思通-智能写作助手Agent 1.背景 作为一名长期关注人工智能发展的内容创作者,我经常需要撰写关于AI技术、应用趋势和产品体验的文章。然而,在实际写作过程中,常常会遇到灵感枯竭、结构混乱、表达不够精准等问题。有时候写到一半才发现逻辑断层,或者内容重复,甚至忘记了一些关键知识点。 为了解决这些痛点,我决定打造一个专属于自己的智能写作助手,取名为“文思通”——寓意“文思如泉涌,条理通达”。这个助手不仅要能帮我生成内容,更要具备结构化思维引导、逻辑梳理和语言润色的能力。 最近,我接触到一种创新的工具组合:以 Coze 平台为核心逻辑流,结合自研的思维导图 MCP 服务,可以实现从文本到可视化思维导图的自动转换。这正好解决了我在构思阶段缺乏条理的问题。而选择开发平台时,我注意到腾讯云智能体开发平台与腾讯混元大模型(Hunyuan AIGC) 的深度整合能力非常出色,支持工作流编排、插件扩展(MCP),并且提供稳定高效的推理服务。 最终,我决定采用“混元AIGC + 腾讯云智能体平台