第一章:课程导论与预备知识

大家好,我是你们这门课的主讲。在无人机飞控这个圈子里摸爬滚打了快十年,踩过的坑比飞过的航线还多。今天咱们开始第一讲,先把地基打牢。

说实话,无人机避障这事儿,几年前还是个「奢侈品」。那时候谁要是能做个避障demo,基本就能去融资了。但现在不一样了——传感器便宜了,算力上来了,AI算法也成熟了。说白了,避障已经从「能不能做」变成了「怎么做才稳」。

1.1 无人机避障技术发展现状

先聊聊现状。我入行那会儿,主流方案还是激光雷达+人工特征提取。你想想看,一个16线激光雷达,价格能顶半台车。而且算法上全靠手写特征——边缘检测、聚类、卡尔曼滤波,一套下来代码量惊人。

现在呢?视觉方案成了主流。单目、双目、深度相机,几百块钱就能搞定。再加上深度学习,端到端的避障策略也出来了。嗯,这里要注意:端到端听着很酷,但实际落地时,鲁棒性是个大问题。我在项目中遇到过,模型在仿真里跑得飞起,一到真实场景就「翻车」——光照一变,直接撞墙。

目前行业里比较成熟的做法,还是传统控制+AI感知。说白了,感知层用AI(比如YOLO检测障碍物),规划和控制层用经典算法(比如MPC、A*)。这样既利用了AI的泛化能力,又保留了传统算法的稳定性。

核心观点: 纯AI方案在无人机避障中尚未完全落地,混合架构是目前工程实践的最优解。

1.2 AI运动控制算法概览

说到AI运动控制,很多人第一反应就是「强化学习」。没错,RL确实火,但别急着往上冲。我个人习惯把AI运动控制算法分成三类:

  • 基于学习的感知+传统控制:AI负责「看」,传统算法负责「动」。这是目前最稳的路线。
  • 模仿学习(IL):让无人机模仿专家的飞行轨迹。我试过,效果不错,但泛化能力差——换个环境就得重新采集数据。
  • 深度强化学习(DRL):端到端训练,从图像直接输出控制量。听起来很完美,但训练周期长、奖励函数难调、而且容易过拟合。

为什么会这样?说白了,无人机是个高动态系统,稍有延迟就炸机。AI模型再聪明,也架不住物理世界的随机性。所以我的建议是:先掌握传统控制,再引入AI。别一上来就搞RL,否则你会怀疑人生。

我的经验: 如果你刚入门,先从「AI做感知+MPC做控制」开始。这个组合在PX4上已经有成熟实现,改改就能用。

1.3 课程目标与学习路径

这门课的目标很明确:让你能亲手把AI避障算法跑在真机上。不是只讲理论,也不是只跑仿真,而是从仿真到真机,完整走一遍。

学习路径我设计成了三个阶段:

  1. 基础篇(第1-10章):环境搭建、PX4二次开发、ROS通信、Gazebo仿真。这部分我会带着你一步步配环境,避免你像我当年一样,光配环境就花了两周。
  2. 算法篇(第11-20章):从传统避障(VFH、DWA)到AI避障(RL、IL),每个算法我都会给完整的代码和仿真案例。
  3. 实战篇(第21-30章):真机部署、参数调优、故障排查。这部分我会分享我踩过的坑——比如电机饱和、传感器延迟、模型量化精度损失等等。

你想想看,30章学下来,你不仅能跑通demo,还能自己改算法、调参数。这才是真正的「落地实战」。

1.4 所需软硬件环境准备

嗯,这里要重点说一下。很多同学卡在第一步——环境装不上。我曾经为了在Ubuntu上装PX4工具链,重装了三次系统。所以我把环境清单列清楚,你照着来就行。

软件环境

组件 版本要求 说明
Ubuntu 20.04 LTS 我推荐20.04,兼容性最好。22.04也能用,但有些包要自己编译
ROS Noetic 对应Ubuntu20.04。ROS2也可以,但本课程基于ROS1
Gazebo 9.x 或 11.x 配合PX4仿真用。我习惯用Gazebo11
PX4 v1.13+ 建议用最新稳定版。我目前用的是v1.14
Python 3.8+ 主要用来写AI算法。建议用conda管理环境
PyTorch/TensorFlow 按需 本课程以PyTorch为主
避坑指南: 我曾经因为ROS和Gazebo版本不匹配,折腾了整整一个周末。记住:ROS Noetic + Gazebo11 + PX4 v1.14 是经过验证的黄金组合。别自己乱改版本。

硬件环境

  • 电脑:建议16GB内存以上,有独立显卡(训练用)。如果没有GPU,也能跑,但训练会很慢。
  • 无人机:课程后期会用到真机。推荐Pixhawk飞控+QGroundControl地面站。入门级选Holybro的套件就行。
  • 传感器:深度相机(Intel RealSense D435/D455)或激光雷达(RPLIDAR A1/A2)。我建议先买相机,便宜且好调试。

环境安装速览

这里给一个快速安装命令,完整的步骤我们会在第二章展开:

# 安装ROS Noetic
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
sudo apt update && sudo apt install ros-noetic-desktop-full

# 安装PX4工具链
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot
make px4_sitl gazebo

别急着复制粘贴跑。先确认你的Ubuntu版本和网络环境。我建议用科学上网,否则下载依赖会让你崩溃。

知识体系总览

下面这张图是我手绘的课程知识体系,你可以把它当作整个课程的地图:

课程知识体系总览 基础篇 (1-10章) 算法篇 (11-20章) 实战篇 (21-30章) 环境搭建 · PX4二次开发 ROS通信 · Gazebo仿真 传统避障 (VFH/DWA) AI避障 (RL/IL) 真机部署 · 参数调优 故障排查 · 性能优化 核心技术栈 感知层 (CV/点云) 规划层 (路径搜索) 控制层 (MPC/PID) 仿真验证 从环境搭建到真机部署,完整覆盖AI避障落地全流程 公众号:蓝海资料掘金营,微信deep3321

这张图你可以保存下来,学完一章就回来看看,知道自己处在哪个位置。我个人习惯把这种图打印出来贴在工位上,每天看一眼,心里有数。

学习建议: 别急着跳着看。我见过太多人直接跳到算法篇,结果连ROS话题都发布明白。基础打牢,后面才快。

好了,第一章就到这里。环境安装的具体步骤,我们下一章见。记住:别怕踩坑,每个坑都是经验。我当年踩过的坑,都会在课程里告诉你。


公众号:蓝海资料掘金营,微信deep3321