第一章:课程导论与预备知识
大家好,我是你们这门课的主讲。在无人机飞控这个圈子里摸爬滚打了快十年,踩过的坑比飞过的航线还多。今天咱们开始第一讲,先把地基打牢。
说实话,无人机避障这事儿,几年前还是个「奢侈品」。那时候谁要是能做个避障demo,基本就能去融资了。但现在不一样了——传感器便宜了,算力上来了,AI算法也成熟了。说白了,避障已经从「能不能做」变成了「怎么做才稳」。
1.1 无人机避障技术发展现状
先聊聊现状。我入行那会儿,主流方案还是激光雷达+人工特征提取。你想想看,一个16线激光雷达,价格能顶半台车。而且算法上全靠手写特征——边缘检测、聚类、卡尔曼滤波,一套下来代码量惊人。
现在呢?视觉方案成了主流。单目、双目、深度相机,几百块钱就能搞定。再加上深度学习,端到端的避障策略也出来了。嗯,这里要注意:端到端听着很酷,但实际落地时,鲁棒性是个大问题。我在项目中遇到过,模型在仿真里跑得飞起,一到真实场景就「翻车」——光照一变,直接撞墙。
目前行业里比较成熟的做法,还是传统控制+AI感知。说白了,感知层用AI(比如YOLO检测障碍物),规划和控制层用经典算法(比如MPC、A*)。这样既利用了AI的泛化能力,又保留了传统算法的稳定性。
1.2 AI运动控制算法概览
说到AI运动控制,很多人第一反应就是「强化学习」。没错,RL确实火,但别急着往上冲。我个人习惯把AI运动控制算法分成三类:
- 基于学习的感知+传统控制:AI负责「看」,传统算法负责「动」。这是目前最稳的路线。
- 模仿学习(IL):让无人机模仿专家的飞行轨迹。我试过,效果不错,但泛化能力差——换个环境就得重新采集数据。
- 深度强化学习(DRL):端到端训练,从图像直接输出控制量。听起来很完美,但训练周期长、奖励函数难调、而且容易过拟合。
为什么会这样?说白了,无人机是个高动态系统,稍有延迟就炸机。AI模型再聪明,也架不住物理世界的随机性。所以我的建议是:先掌握传统控制,再引入AI。别一上来就搞RL,否则你会怀疑人生。
1.3 课程目标与学习路径
这门课的目标很明确:让你能亲手把AI避障算法跑在真机上。不是只讲理论,也不是只跑仿真,而是从仿真到真机,完整走一遍。
学习路径我设计成了三个阶段:
- 基础篇(第1-10章):环境搭建、PX4二次开发、ROS通信、Gazebo仿真。这部分我会带着你一步步配环境,避免你像我当年一样,光配环境就花了两周。
- 算法篇(第11-20章):从传统避障(VFH、DWA)到AI避障(RL、IL),每个算法我都会给完整的代码和仿真案例。
- 实战篇(第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为主 |
硬件环境
- 电脑:建议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版本和网络环境。我建议用科学上网,否则下载依赖会让你崩溃。
知识体系总览
下面这张图是我手绘的课程知识体系,你可以把它当作整个课程的地图:
这张图你可以保存下来,学完一章就回来看看,知道自己处在哪个位置。我个人习惯把这种图打印出来贴在工位上,每天看一眼,心里有数。
好了,第一章就到这里。环境安装的具体步骤,我们下一章见。记住:别怕踩坑,每个坑都是经验。我当年踩过的坑,都会在课程里告诉你。
公众号:蓝海资料掘金营,微信deep3321