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状态估计器,融合输出位置、速度和姿态。