第一章:课程导论与硬件选型
各位同学,欢迎来到《PX4光流与激光雷达避障集成实战》。我是你们这门课的主讲,一个在无人机嵌入式领域摸爬滚打了七八年的老工程师。今天咱们先不急着敲代码,先把底层的硬件逻辑理清楚。说白了,硬件选型错了,后面调得再好也白搭。
1.1 PX4生态概述
PX4这个项目,我大概从2015年开始接触。那时候它还是个相对小众的固件,现在已经是无人机行业的事实标准了。为什么大家都选它?我个人觉得,核心在于它的模块化架构。
你想想看,PX4把姿态估计、位置控制、导航、传感器驱动全都拆成了独立的模块。每个模块跑在自己的uORB消息总线上。这意味着什么?意味着你可以像搭积木一样,把光流传感器、激光雷达这些外设插进去,而不用动飞控的核心代码。
嗯,这里要注意一点:PX4的版本迭代很快。我建议初学者直接上v1.13或v1.14的稳定版。别追新,稳定压倒一切。我在项目里见过有人用开发版,结果某个传感器驱动不兼容,排查了三天才发现是固件bug。
核心知识点: PX4的传感器数据流是单向的——传感器 -> 驱动 -> uORB话题 -> EKF2融合 -> 控制器。光流和激光雷达的数据,最终都会汇入EKF2这个“大脑”里。
1.2 光流传感器原理
光流传感器,说白了就是一个“视觉鼠标”。它通过比较连续两帧图像中特征点的位移,来推算无人机相对于地面的水平运动速度。
市面上主流的两款:PX4FLOW和PMW3901。我个人的经验是:
- PX4FLOW:自带声纳和陀螺仪,精度高,但体积大、功耗高。适合大轴距的无人机。
- PMW3901:纯光流芯片,体积小、功耗低,但需要外接一个测距传感器(比如激光雷达)来获取高度。适合小型穿越机。
为什么会这样?因为光流算出来的速度是像素位移/秒,要转换成米/秒,必须知道当前高度。没有高度数据,光流就是瞎子。
避坑指南: 我曾经在室内用PMW3901,结果地面是纯白色瓷砖,没有任何纹理。光流直接失效,无人机像喝醉了一样乱飘。后来我贴了几张黑色胶带做人工纹理,问题才解决。所以,光流对地面纹理非常敏感,飞行前务必检查地面条件。
1.3 激光雷达原理
激光雷达(LiDAR)在避障场景里,主要用来测距。咱们课程里重点讲两款:TFmini和TF-Luna。
| 参数 | TFmini | TF-Luna |
|---|---|---|
| 测距范围 | 0.3m - 12m | 0.2m - 8m |
| 精度 | ±6cm @ 6m以内 | ±2cm @ 2m以内 |
| 帧率 | 100Hz | 250Hz |
| 接口 | UART / I2C | UART / I2C |
| 功耗 | ~120mW | ~70mW |
我个人习惯用TFmini做前向避障,因为它测距远。TF-Luna则更适合做定高或者近距离避障,因为它的近距离精度更高。记住一点:激光雷达的视场角(FOV)通常只有2-3度,所以单颗雷达只能覆盖一个方向。想实现360度避障?那就得装4-6颗,或者用机械旋转结构。
重要提醒: 激光雷达在强光下(比如正午太阳直射)性能会下降。TFmini在100k lux以上的光照下,测距误差可能翻倍。我建议在室外飞行时,给雷达加个遮阳罩,或者选择在阴天/傍晚作业。
1.4 飞控选型
飞控是无人机的“小脑”。咱们课程主要用Pixhawk和Cube两个系列。
- Pixhawk 4 / Pixhawk 6C:性价比高,接口丰富。有专门的I2C和UART口给光流和激光雷达用。适合大多数DIY项目。
- Cube Orange+ / Cube Black:工业级,带冗余IMU和双处理器。适合需要高可靠性的场景,比如测绘、巡检。
我建议初学者选Pixhawk 6C。为什么?因为它有独立的FMU和IO处理器,即使主控挂了,还能靠IO处理器维持基本的PWM输出,不至于直接炸机。这个设计我在一次试飞中深有体会——当时SD卡松了导致日志写满,FMU死机,但IO处理器接管了油门,飞机安全降落。
1.5 机架与动力系统匹配
机架和动力系统,决定了你的无人机能飞多久、能带多重的外设。咱们这个课程涉及光流和激光雷达,所以机架至少要有足够的安装空间。
我推荐以下配置:
- 机架:450mm - 550mm轴距的四旋翼。太小了装不下激光雷达,太大了不灵活。
- 电机:2212或2216规格,KV值在800-1000之间。配合1045或1147桨叶。
- 电调:30A以上,支持DShot150或DShot300协议。别用PWM电调,延迟太大。
- 电池:4S 5000mAh - 6000mAh。这个容量能保证15-20分钟的续航,足够做避障测试。
个人经验: 我曾经为了减重,用了3S电池和2204电机。结果光流+激光雷达一装,总重超过1.2kg,动力严重不足,悬停油门都推到70%以上。后来换回4S 2216电机,悬停油门降到45%,续航从8分钟提升到18分钟。所以,动力冗余一定要留够,建议悬停油门在40%-55%之间。
1.6 本章知识体系总览
下面这张图,是我自己画的本章知识体系结构。你可以把它当作一张“地图”,后面每学一个模块,都能在这张图上找到它的位置。
这张图把咱们第一章的核心内容串起来了。从PX4生态出发,到光流、激光雷达、飞控、动力系统,每个模块都是独立的,但又通过PX4的架构紧密耦合。后面的课程,我们会逐一深入每个模块的配置、调参和集成。
好了,第一章的内容就到这里。硬件选型是基础,基础不牢,地动山摇。我建议你花点时间,对照着表格和SVG图,把每个器件的选型理由理清楚。下一章,咱们开始动手——把光流传感器接到飞控上,并配置PX4的驱动参数。