3. 坐标系与姿态表示

各位同学,欢迎来到第三讲。今天咱们聊聊飞控的“感官”——传感器。说白了,无人机能飞得稳、定得住、找得到家,全靠这些传感器在背后默默干活。

我个人习惯把传感器比作人的感官:加速度计是内耳前庭,陀螺仪是半规管,磁力计是嗅觉(找北),气压计是皮肤(感受高度),GPS是眼睛看路,视觉传感器就是大脑的视觉皮层。缺了哪一个,飞控都会“晕头转向”。

好,咱们一个一个拆开看。

3.1 加速度计:感受“重力”与“运动”

加速度计测量的是比力(specific force),不是单纯的加速度。什么意思?你想想看,静止放在桌上时,它测到的是1g向上的支撑力,而不是0。这个细节我当年刚入行时踩过坑——以为静止时加速度应该是0,结果滤波全算错了。

常见的MEMS加速度计(比如MPU6000、BMI088)内部是一个微小的质量块,悬在梳齿电容中间。当有加速度时,质量块偏移,电容变化,ADC读出数字量。

关键参数:

  • 量程:±2g / ±4g / ±8g / ±16g(PX4默认±8g)
  • 零偏稳定性:影响悬停时的水平漂移
  • 噪声密度:越小越好,直接影响姿态估计精度

在PX4中,加速度计数据会经过ekf2模块的IMU预积分处理。我建议你在调参时先看sensor_accel的原始数据,确认没有异常跳变——我曾经遇到过一颗加速度计在40°C时零偏漂了0.3m/s²,导致飞机一直往一个方向飘。

3.2 陀螺仪:测量“角速度”

陀螺仪告诉你飞机转得有多快。MEMS陀螺仪利用科里奥利效应——一个振动的质量块在旋转时会产生垂直于振动方向的位移,电容检测这个位移就能算出角速度。

嗯,这里要注意:陀螺仪测的是角速度,不是角度。要得到角度,必须积分。而积分会累积零偏误差,这就是为什么纯陀螺仪姿态会漂移。

参数 典型值(ICM-20602) 对飞控的影响
量程 ±2000°/s 足够覆盖大部分飞行场景
零偏稳定性 5°/h 积分10分钟漂移不到1°
噪声密度 0.004°/s/√Hz 影响角速率控制平滑度

避坑指南:我曾经在振动台测试中发现,某些陀螺仪在500Hz附近有机械共振峰,导致角速度输出出现周期性波动。解决办法是在PX4的IMU_GYRO_RATEMAX参数中设置合适的低通滤波截止频率,一般建议80-100Hz。

3.3 磁力计:电子罗盘

磁力计测量地球磁场,用来修正航向角(yaw)。原理很简单:三轴磁阻传感器感知磁场在三个方向的分量,结合加速度计的姿态信息,就能算出机头指向。

但磁力计是飞控里最“娇气”的传感器。为什么?因为电机电流、电池线、甚至PCB走线都会产生干扰磁场。我见过一个案例:某款机架把磁力计装在电源模块正下方,结果航向误差达到30°。

我的经验:PX4支持机体内校准(onboard calibration)和椭球拟合校准。我建议每次更换机架或电子设备后,都做一次完整的磁力计校准。校准后检查MAG_MAX参数,如果超过2000mG,说明干扰太大,需要重新布局。

3.4 气压计:高度感知

气压计通过测量大气压强来推算高度。标准大气模型下,每升高8.5米,气压下降约1hPa。常用的MS5611精度能达到10cm(短时),但受温度、风速影响很大。

这里有个坑:气压计对气流非常敏感。我做过实验,在无人机正上方悬停时,螺旋桨下洗气流会导致气压计读数偏低,高度误差可达1-2米。PX4的解决方案是用EKF2_HGT_MODE融合气压计和GPS高度,同时利用加速度计进行短时修正。

气压计使用要点:

  • 必须用海绵或泡沫覆盖,减少风扰和光噪
  • 起飞前需要稳定2-3秒,让气压计完成初始化
  • 温度变化时会有零漂,PX4内置了温度补偿模型

3.5 GPS/RTK:绝对位置

GPS提供经纬度和海拔,精度一般在2-5米(单点定位)。RTK(实时动态差分)通过地面基准站和移动站之间的载波相位差分,能把精度推到厘米级。

RTK的原理其实不复杂:基准站知道自己的精确坐标,它测量GPS信号的载波相位,然后通过数传链路把修正量发给无人机。无人机用这个修正量消除电离层、对流层等公共误差。

我记得在农业植保项目中,用RTK做航线规划,喷洒重叠率从15%降到了3%,农药节省了20%。但RTK也有弱点——需要稳定的数传链路,一旦丢星或差分信号中断,会降级到普通GPS精度。

模式 水平精度 收敛时间 适用场景
单点GPS 2-5m 即时 普通航拍、巡检
DGPS 0.5-1m 即时 测绘、农业
RTK Float 0.2-0.5m 10-30秒 过渡状态
RTK Fixed 0.02-0.05m 30-120秒 精密定位、自动降落

3.6 视觉传感器:让无人机“看见”

视觉传感器(单目/双目相机、光流传感器)通过图像特征匹配来估计运动。光流传感器(如PX4FLOW)利用底部摄像头跟踪地面纹理,计算水平速度。双目视觉则通过左右眼视差计算深度,实现三维定位。

视觉定位最大的挑战是光照和纹理。我在室内飞行测试时,遇到过纯白地板导致光流失效的情况——没有特征点可跟踪。解决办法是贴一些随机图案的地板贴纸,或者融合IMU数据做视觉惯性里程计(VIO)。

实用建议:PX4支持通过EKF2_AID_MASK启用视觉位置和视觉速度辅助。如果你用Intel T265或Realsense,记得把视觉数据通过MAVLink的VISION_POSITION_ESTIMATE消息发给飞控。我习惯在室内先用手持测试,确认视觉数据没有明显延迟或跳变。

知识体系总览

下面这张图把六种传感器在PX4定位系统中的角色串起来了。你可以看到,所有传感器数据最终都汇入EKF2状态估计器,融合输出位置、速度和姿态。

PX4定位模块传感器体系 加速度计 陀螺仪 磁力计 气压计 GPS/RTK 视觉传感器 EKF2 状态估计器 位置+速度+姿态 位置 控制 所有传感器数据 最终融合输出