1. 课程导入

做无人机飞控这些年,我越来越觉得定位系统就是无人机的"眼睛"和"小脑"。没有可靠的定位,再好的姿态控制算法也白搭。今天咱们就来聊聊PX4的定位模块到底是怎么一回事。

定位在无人机中的核心作用

说白了,定位解决的是三个问题:"我在哪?"、"我要去哪?"、"怎么去?"。你想想看,无人机在空中没有路标,没有车道线,全靠传感器数据来感知自身位置。

我记得刚入行那会儿,有个项目在室内飞,GPS信号被遮挡,无人机直接飘了。从那以后我深刻认识到——定位是飞控的基石,没有它,一切上层功能都是空中楼阁。

定位模块的核心职责:

  • 提供无人机在三维空间中的位置(x, y, z)
  • 提供速度信息(vx, vy, vz)
  • 提供姿态信息(roll, pitch, yaw)
  • 融合多传感器数据,输出最优估计

PX4定位系统整体架构

PX4的定位架构其实不复杂,但设计得很巧妙。它采用模块化设计,各个传感器通过uORB消息总线通信。我画了张图,你看一眼就明白了。

PX4定位系统整体架构 GNSS接收机 GPS/北斗/GLONASS IMU惯性测量单元 加速度计+陀螺仪 视觉传感器 光流/双目/VIO 激光雷达 LiDAR/激光测距 传感器层 uORB 消息总线(传感器数据发布/订阅) EKF2 扩展卡尔曼滤波器 多传感器融合:位置、速度、姿态估计 支持 24 维状态向量,动态调整传感器权重 位置估计输出 vehicle_local_position / vehicle_attitude / vehicle_velocity 导航 / 路径规划 / 控制

从图上你能看到,PX4的定位流程很清晰:传感器采集数据 → uORB总线分发 → EKF2滤波器融合 → 输出位置估计。我个人觉得,EKF2是整个定位系统的"大脑",它负责把各个传感器的数据揉在一起,取长补短。

小提示:PX4从v1.11开始默认使用EKF2,老版本的LPE(Local Position Estimator)已经废弃了。如果你还在用旧版本,建议尽快迁移。

主流定位方案对比

做项目这么多年,我接触过各种定位方案。每种方案都有自己的脾气,选型时得看场景。下面这个表格是我自己整理的,你参考一下。

定位方案 精度 更新频率 适用场景 主要局限
GNSS(GPS/北斗) 2-5m(单点)
0.1-0.5m(RTK)
5-20 Hz 室外开阔环境 室内/城市峡谷失效
视觉定位(VIO) 0.1-0.5m 10-30 Hz 室内/弱GPS环境 光照敏感、计算量大
激光SLAM 0.01-0.1m 5-20 Hz 室内/结构化环境 成本高、重量大
纯惯导(INS) 短期精度高
长期漂移严重
100-1000 Hz 辅助其他传感器 无法单独长时间使用

各方案深度解析

GNSS定位

GNSS是目前最成熟的室外定位方案。PX4支持GPS、北斗、GLONASS多系统联合定位。我建议你在开阔环境下优先使用GPS+北斗双模,搜星数量多,定位更稳。

不过要注意,单点GPS的精度只有2-5米,做航点飞行勉强够用,但要是做精准降落或者测绘,必须上RTK。我曾经在一个农业植保项目里,用RTK把定位精度做到了厘米级,效果确实好。

避坑指南:我曾经遇到过GPS天线安装位置不对,导致信号被机臂遮挡,定位精度直接掉到10米以上。GPS天线一定要放在无人机顶部,远离碳纤维和金属部件。

视觉定位

视觉定位这两年发展很快。PX4通过Realsense T265或者Intel D435这类传感器,可以实现VIO(视觉惯性里程计)。说白了就是摄像头看特征点,IMU测加速度,两者互补。

视觉定位最大的优势是不依赖外部信号,室内也能用。但缺点也很明显——光线暗了不行,纹理少了也不行。我记得有个项目在白色墙壁的走廊里飞,视觉定位直接失效,最后还是靠超声波补了回来。

激光SLAM

激光雷达的精度是最高的,但成本也是最高的。PX4目前对激光SLAM的支持主要通过外部计算平台(比如树莓派或NUC)完成,然后通过MAVLink把位置信息传给飞控。

说实话,消费级无人机很少用激光雷达,太重太贵了。但在工业巡检、矿井探测这些场景里,激光SLAM是首选,因为它在黑暗无光的环境下照样工作。

惯导定位

纯惯导(INS)我一般只把它当辅助手段。IMU的加速度计和陀螺仪频率高(能到1kHz),但积分一次就有漂移,积分两次漂移更严重。你想想看,一个0.01m/s²的加速度误差,积分10秒就变成1m/s的速度误差,再积分就是5米的位置误差。

所以PX4的做法是:用IMU做高频预测,用GPS/视觉做低频修正。这就是EKF2的核心思想——取长补短。

定位方案选型建议

说了这么多,到底怎么选?我根据项目经验给你几个建议:

  • 室外开阔环境:GNSS + IMU 组合,成本低效果好
  • 室内/隧道/矿井:视觉SLAM 或 激光SLAM,配合IMU
  • 城市峡谷/弱GPS:视觉+GNSS+IMU 多传感器融合
  • 高精度测绘:RTK-GNSS + IMU,必要时加视觉辅助

核心结论:没有一种定位方案是万能的。PX4的EKF2之所以强大,就是因为它能灵活组合多种传感器。你只需要根据场景选择合适的传感器组合,剩下的交给滤波器去融合。

嗯,这一章的内容就到这儿。定位模块的架构和方案对比,心里有数了吧?后面我们会深入EKF2的数学原理,到时候你就知道这些传感器数据是怎么揉在一起的了。