1. 课程导入

当无人机从开阔空域进入城市楼宇、室内仓库、森林峡谷或灾后废墟等复杂环境时,飞行任务的核心矛盾会迅速从“如何飞得稳”转变为“如何在未知或动态变化的三维空间中安全、连续、可解释地飞下去”。这正是三维避障与局部规划要解决的问题。它并不是单一算法,而是一套贯穿感知、建图、决策、控制与工程部署的系统能力。

本节定位:作为全课程导入,先建立“定义—目标—框架—应用—误区”的整体认知地图,后续章节将分别深入传感器、地图表达、搜索算法、轨迹优化、动态避障与工程落地。

一、什么是无人机三维避障与局部规划

三维避障指无人机利用机载传感器(如双目相机、深度相机、激光雷达、毫米波雷达、超声波等)感知周围障碍物,并在三维空间中判断哪些区域不可通行、哪些区域存在风险,从而生成安全约束。它关注的是“哪里不能去”以及“距离危险有多近”。

局部规划则是在全局任务目标(如从A点飞到B点)和当前局部感知信息之间,实时生成一段可执行的短时轨迹或速度指令。它不要求一次性算出完整全局路径,而是以滚动时域方式不断重规划,使无人机能够应对突然出现的行人、移动车辆、临时障碍或地图误差。

两者关系可以概括为:避障提供安全边界,局部规划提供可行运动。没有避障,局部规划会盲目;没有局部规划,避障只能得到“不能走”的结论,无法转化为“怎么走”。

无人机三维避障与局部规划系统链路 感知 → 建图 → 规划 → 控制 → 执行,闭环滚动运行 感知层 深度相机 / 激光雷达 IMU / 里程计 / 超声波 建图层 占据栅格 / ESDF 点云地图 / 膨胀层 规划层 A* / RRT* / MPC 轨迹优化 / 速度障碍 控制层 位置 / 速度 / 姿态 PX4 / 飞控接口 闭环反馈:执行结果 → 新感知 → 地图更新 → 重规划 滚动时域 · 实时性约束 · 安全距离约束 · 动力学可行性 工程应用全景 城市物流配送 楼宇间穿行 · 动态避让 室内巡检 仓库货架 · 狭窄通道 应急救援 废墟搜索 · 未知环境 农业植保 地形跟随 · 障碍规避

二、学习目标:从“会飞”到“会安全地自主飞”

本课程的学习目标不是让读者死记某个算法公式,而是建立一套可迁移的工程能力。完成学习后,应能够:

  • 理解定义边界:区分全局规划、局部规划、避障、轨迹优化、反应式避障等概念,知道它们各自解决什么问题。
  • 掌握核心方法:能够根据场景选择栅格法、ESDF、A*、RRT*、MPC、速度障碍法、人工势场法等手段,并说明其适用条件。
  • 建立系统视角:把传感器、地图、规划器、控制器和飞控接口串成闭环,理解时延、噪声、算力对系统的影响。
  • 具备工程落地能力:能够配置参数、分析日志、定位避障失败原因,并在仿真与实飞之间完成迁移验证。

三、整体知识框架:五层一闭环

本课程的知识框架可以概括为“五层一闭环”。五层分别是感知层、建图层、规划层、控制层和应用层;一闭环指执行结果持续反馈到感知与建图,形成滚动重规划。下表给出各层的核心任务与典型技术。

层级 核心任务 典型技术/工具 关键指标
感知层 获取三维环境与自身状态 双目、深度相机、LiDAR、IMU、VIO 帧率、测距精度、盲区
建图层 表达可通行与危险区域 占据栅格、八叉树、ESDF、点云地图 分辨率、更新频率、内存
规划层 生成安全可行轨迹 A*、RRT*、MPC、VO、人工势场 成功率、耗时、平滑度
控制层 跟踪轨迹并稳定姿态 PID、LQR、MPC、PX4/ArduPilot 跟踪误差、响应延迟
应用层 面向任务定义约束与目标 物流、巡检、救援、植保 任务完成率、安全性

四、工程应用全景与典型案例

在城市物流配送中,无人机需要在楼宇之间穿行,障碍物包括静态建筑、临时吊臂、飞鸟和其他飞行器。局部规划器必须在几十毫秒内完成重规划,否则高速飞行下避障距离会迅速缩短。

在室内巡检中,仓库货架密集、通道狭窄,GPS不可用,主要依赖VIO与深度相机。此时地图分辨率、膨胀半径和最小安全距离的设定直接决定无人机能否通过窄缝。

在应急救援中,环境未知且可能持续变化,局部规划需要兼顾探索与安全。常用策略是“前沿探索+局部避障”,先保证不撞,再逐步扩展地图。

工程提示:真实项目中,避障失败往往不是算法本身错误,而是感知盲区、地图过期、参数过激或控制延迟造成的。排障时应先看感知数据,再看地图,最后看规划输出。

五、常见误区与复盘

  • 误区一:把全局规划当局部规划。全局路径在动态环境中会迅速失效,必须依靠局部滚动重规划。
  • 误区二:只追求算法先进,忽略实时性。再好的算法,如果单次规划超过控制周期,也无法安全飞行。
  • 误区三:安全距离设得越大越安全。过大的膨胀半径会导致窄通道无解,反而迫使无人机绕远或悬停。
  • 误区四:仿真通过就等于实飞通过。实飞中存在振动、光照、风扰和通信延迟,必须留足安全余量。
# 典型局部规划参数检查清单(示例)
max_vel: 3.0 m/s          # 最大速度
max_acc: 2.0 m/s^2        # 最大加速度
safety_margin: 0.5 m      # 安全膨胀距离
plan_horizon: 2.0 s       # 滚动时域长度
replan_rate: 20 Hz        # 重规划频率
sensor_timeout: 100 ms    # 感知超时阈值