跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
MATLAB / OctaveAI算法

无人机三维路径规划:A*, RRT 与 APF 算法对比及 MATLAB 实现

对无人机三维复杂环境中的自主路径规划问题,对比分析了 A*、RRT 和 APF 三种算法。介绍了各算法的搜索机理、优缺点及适用场景,并提供了 MATLAB 仿真代码。通过统一环境下的路径规划结果展示,直观呈现了不同策略在路径质量、计算复杂度方面的差异,为算法选择提供参考。

灰度发布发布于 2026/4/5更新于 2026/7/2457 浏览
无人机三维路径规划:A*, RRT 与 APF 算法对比及 MATLAB 实现

在这里插入图片描述

针对无人机在三维复杂环境中的自主路径规划问题,本文选取了三种具有代表性的规划方法进行对比分析,分别为 A* 算法、快速扩展随机树(Rapidly-exploring Random Tree, RRT) 算法以及 人工势场法(Artificial Potential Field, APF)。三种算法在搜索机理、适用场景及规划性能方面各具特点,具有较强的互补性。

程序介绍

A* 算法

A* 算法是一种基于启发式搜索的确定性路径规划方法,通常在离散化的栅格空间中工作。该算法通过构造代价函数

f(n) = g(n) + h(n)

在保证搜索最优性的同时提升搜索效率,其中 g(n) 表示从起点到当前节点的累计代价,h(n) 为当前节点到目标点的启发式估计代价。

在三维路径规划问题中,A* 算法能够在已知环境下稳定地搜索到一条全局最优或次优路径,路径质量高、可重复性强,常作为路径规划算法性能评估的基准方法。但其计算复杂度随空间维度和分辨率快速增长,对环境建模和存储资源要求较高。

RRT 算法

RRT(Rapidly-exploring Random Tree)算法是一种基于随机采样的增量式路径规划方法,主要面向高维连续空间的可行路径搜索问题。该算法通过在状态空间中随机采样,并不断向采样点方向扩展搜索树,从而快速覆盖可行空间并寻找从起点到目标点的连通路径。

在三维无人机路径规划场景下,RRT 算法具有较强的全局探索能力和环境适应性,尤其适合障碍物分布复杂或空间维度较高的情况。然而,由于其随机性特征,RRT 生成的路径通常并非最优,路径平滑性较差,规划结果在不同运行中存在一定差异。

人工势场法(APF)

人工势场法是一种基于连续空间建模的实时路径规划方法,其核心思想是将目标点视为产生吸引势场的源,将障碍物视为产生斥力势场的源,无人机在合力作用下沿势场梯度方向运动。

该方法计算结构简单、实时性强,适合对计算资源和响应速度要求较高的无人机在线规划任务。但在复杂障碍环境中,人工势场法容易陷入局部极小点,缺乏全局最优性和完备性保障,通常需要与随机扰动或全局规划方法结合使用。

综合对比分析

总体而言,A* 算法在路径最优性和稳定性方面表现突出,适合已知环境下的全局规划;RRT 算法在高维复杂空间中具有良好的可行性和扩展能力,适合快速获得可行路径;人工势场法则在计算效率和实时性方面具有优势,适用于局部路径调整与在线避障。通过在统一三维仿真环境下对三种算法进行对比,可以直观地分析不同规划策略在路径质量、计算复杂度及适用场景方面的差异,为无人机路径规划算法的选择与改进提供参考依据。

代码运行结果

规划的路径对比:

在这里插入图片描述

高度剖面:

在这里插入图片描述

命令行截图:

在这里插入图片描述

XoY 投影对比:

在这里插入图片描述

MATLAB 代码

主函数:

%% 无人机三维路径规划 A*, RRT, APF
clear; clc; close all;
rng(0);
%% ========== 环境参数 ==========
mapSize = [40,40,30]; % 三维空间尺寸
start = [2,2,2]; % 起点坐标
goal = [35,35,18]; % 终点坐标
% 障碍物位置定义 [顶点 x y z,长宽高 dx dy dz]
obstacles = [15151101010;3010181512;20211532];
%% 路径规划
%A*
[pathA, lenA] = Astar3D(start, goal, mapSize, obstacles);
%RRT
[pathR, lenR] = RRT3D(start, goal, mapSize, obstacles);
% ===APF
[pathP, lenP] = APF3D(start, goal, obstacles, mapSize);
%% ========== 统一绘图 ==========
figure; hold on; grid on;
xlabel('X'); ylabel('Y'); zlabel('Z');
title('UAV 三维路径规划对比'); view(3);
% 障碍物
for i=1:size(obstacles,1)
    drawCuboid(obstacles(i,:));
end
% 起点终点
plot3(start(1),start(2),start(3),'go','MarkerSize',8,'LineWidth',2,'DisplayName','起点');
plot3(goal(1),goal(2),goal(3),'ro','MarkerSize',8,'LineWidth',2,'DisplayName','终点');
% 路径
plot3(pathA(:,1),pathA(:,2),pathA(:,3),'b-','LineWidth',2,...'DisplayName','A*');
plot3(pathR(:,1),pathR(:,2),pathR(:,3),'m--','LineWidth',2,...'DisplayName','RRT');
plot3(pathP(:,1),pathP(:,2),pathP(:,3),'k-.','LineWidth',2,...'DisplayName','APF');
legend('Location','best');
% xlim([0 mapSize(1)]); ylim([0 mapSize(2)]); zlim([0 mapSize(3)]);
%% 路径长度输出
fprintf('\n路径长度比较:\n');
fprintf('A* : %.2f\n', lenA);
fprintf('RRT : %.2f\n', lenR);
fprintf('APF : %.2f\n', lenP);

目录

  1. 程序介绍
  2. A* 算法
  3. RRT 算法
  4. 人工势场法(APF)
  5. 综合对比分析
  6. 代码运行结果
  7. MATLAB 代码
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 Z-Image 的瑜伽女孩 AI 绘画模型部署与使用指南
  • OpenAI Whisper 语音识别模型入门与实战指南
  • 在 Linux 服务器上部署 Codex AI IDE
  • 飞书 OpenClaw 机器人 HTTP 401 认证失败排查指南
  • ChatGPT 如何利用结构化方法实现高效信息管理
  • 漫画角色 Prompt 生成实战:Stable Diffusion WebUI 语法
  • Fooocus 部署实践:从本地手动配置到云端一键启用
  • IntelliJ IDEA 切换 JDK 版本完整教程
  • Unity-MCP 使用指南:让 AI 接管游戏开发
  • 阿里开源 PageAgent:基于 DOM 的 Web 智能体框架
  • Python AI 入门:从线性回归到图像分类
  • MySQL 事务深度解析:ACID 特性与隔离级别实战
  • VSCode Copilot 配置 DeepSeek 模型使用指南
  • Stable Diffusion 数据集标签编辑器使用指南
  • Meta-Llama-3-8B-Instruct 本地部署与对话全流程解析
  • C++ 滑动窗口算法进阶解析与实战
  • VS Code 远程开发时 GitHub Copilot 失效排查指南
  • 1Panel 部署 Open WebUI 镜像加速:从 ghcr.io 到国内镜像源
  • WebGoat JWT 漏洞实战:第六关与第十一关逻辑越权解析
  • OpenClaw 安装与飞书机器人接入教程

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online