1、定位模块概述:GNSS原理、RTK技术、IMU惯性导航、视觉定位基础
各位同学好,我是老张。做无人机飞控系统十几年了,今天咱们聊聊定位模块。说实话,定位是无人机的大脑里最核心的一块——飞控算得再漂亮,位置不准,飞机照样乱飘。我见过太多因为定位故障炸机的案例,所以这一章,咱们把底子打牢。
1.1 GNSS全球导航卫星系统原理
GNSS,说白了就是卫星给你报坐标。GPS、北斗、GLONASS、Galileo,都是干这个的。原理其实不复杂:卫星在天上飞,位置已知,它不断发信号说“我在哪、现在几点”。你的接收机收到信号,算一下信号飞了多久,就能知道距离。三颗卫星定一个点,四颗卫星还能把钟差算出来。
核心公式:伪距测量 ρ = c × (tr − ts)
其中 c 是光速,tr 是接收机时间,ts 是卫星时间。实际解算时还要考虑电离层延迟、对流层延迟、卫星钟差、接收机钟差,一共四个未知数,所以至少需要四颗卫星。
我遇到过一种情况:某次在山区测试,飞机悬停时位置突然跳了十几米。查了半天,发现是卫星几何分布太差——PDOP值飙到了8以上。所以我现在看定位数据,第一眼就看PDOP,超过3就要警惕。
| 参数 | 含义 | 正常范围 | 警告阈值 |
|---|---|---|---|
| PDOP | 位置精度因子 | 1.0 ~ 3.0 | > 5.0 |
| HDOP | 水平精度因子 | 0.5 ~ 2.0 | > 3.0 |
| VDOP | 垂直精度因子 | 1.0 ~ 3.0 | > 5.0 |
| 卫星颗数 | 参与解算的卫星数 | ≥ 12 | < 8 |
1.2 RTK实时动态差分技术
普通GNSS精度在米级,做航拍还行,做植保、测绘就不够了。这时候RTK就派上用场了。RTK的原理其实就一句话:用基准站消除公共误差。
基准站放在已知坐标点上,它算出自己的测量误差,然后通过电台或4G把修正值发给无人机。无人机用这个修正值去校准自己的测量结果,精度就能从米级降到厘米级。
我的经验:RTK最怕的是差分信号中断。有一次在农田里飞,飞机飞到田埂另一边,电台信号被树挡了,RTK瞬间降级成单点定位,高度直接跳了2米。所以我现在做项目,一定会配一个4G备份链路,或者至少保证电台天线在机身上方。
RTK的关键参数有两个:固定解和浮点解。固定解才是厘米级,浮点解只有分米级甚至更差。我判断RTK是否可用,就看两个指标:
- 定位状态:必须是“固定解”(Fix),不能是“浮点解”(Float)或“单点解”(Single)
- 基线长度:基准站和无人机之间的距离,超过20公里精度会明显下降
1.3 IMU惯性导航系统
IMU,就是陀螺仪加加速度计。它不依赖外部信号,自己就能算位置。原理是积分——加速度积分得速度,速度积分得位移。但问题也出在这里:误差会累积。
你想想看,加速度计有零偏,每次积分都加一点误差,时间一长,位置就漂到天边去了。我见过最夸张的一次,IMU纯惯性导航跑了5分钟,位置误差超过了200米。
注意:IMU的零偏是温度敏感的。飞机从地面起飞,温度20度,飞到300米高空,温度可能降到5度。零偏会变,如果不做温度补偿,导航误差会突然增大。我建议每次上电后至少做2分钟的静态对准,让IMU稳定下来。
IMU的另一个问题是振动。多旋翼的电机振动会直接传到IMU上,造成测量噪声增大。所以安装IMU时一定要用减震海绵或减震支架,而且减震系统的谐振频率要避开旋翼的旋转频率。
| IMU参数 | 典型值 | 对定位的影响 |
|---|---|---|
| 陀螺零偏稳定性 | 5 ~ 20 °/h | 影响航向角精度,导致位置漂移 |
| 加速度计零偏 | 1 ~ 10 mg | 影响俯仰/横滚角,积分后位置误差 |
| 加速度计噪声密度 | 50 ~ 200 μg/√Hz | 影响速度估计的平滑度 |
| 陀螺角随机游走 | 0.1 ~ 0.5 °/√h | 长时间导航时姿态发散 |
1.4 视觉定位基础
视觉定位,就是用摄像头看周围环境,算出自己的位置。常见的方法有两种:视觉里程计(VO)和视觉SLAM。
VO的原理是:连续两帧图像,找到特征点(比如角点、边缘),算出相机的运动。说白了就是“看画面在动,就知道自己在动”。但VO有个毛病——它只算相对位移,没有绝对位置,所以也会漂移。
视觉SLAM就更强一些,它同时建地图和定位。无人机飞一圈,把周围环境建个三维地图,然后在地图里找自己的位置。这样就不会漂移了,但计算量也大得多。
视觉定位的适用场景:
- 室内:GNSS信号弱,视觉是主力
- 低空:离地面近,纹理丰富,效果好
- 桥梁/隧道:GNSS完全失效,视觉+IMU是唯一选择
我做过一个桥梁检测项目,桥底下GNSS信号全无,只能用视觉+IMU组合导航。当时最头疼的是光照变化——上午阳光从东边照,下午从西边照,桥底的阴影一直在变,特征点匹配经常失败。后来我加了曝光补偿和自适应阈值,才算稳定下来。
1.5 多传感器融合框架
单独用任何一种定位方式都有短板。GNSS怕遮挡,RTK怕丢差分,IMU怕漂移,视觉怕光照。所以实际工程中,都是融合使用。
最常见的融合方式是松耦合:GNSS/RTK给出位置和速度,IMU给出姿态和加速度,视觉给出相对位移,然后用卡尔曼滤波器把它们揉在一起。卡尔曼滤波器的核心思想是:相信更准的那个传感器。
举个例子:GNSS信号好的时候,滤波器更相信GNSS的位置;GNSS信号断了,滤波器就切换到IMU+视觉的预测模式。等GNSS恢复,再慢慢把位置拉回来。
避坑指南:我曾经在融合时犯过一个低级错误——IMU和GNSS的时间戳没对齐。IMU是100Hz,GNSS是10Hz,两个数据的时间基准差了50毫秒。结果融合出来的位置一直在震荡,查了两天才找到原因。所以我现在做融合,第一件事就是检查时间同步。
下面这张图,是我自己总结的定位模块知识体系,你可以对照着看:
这张图把定位模块的四个技术、各自的关键点、以及最终的融合输出都串起来了。你记住一个原则:没有完美的传感器,只有好的融合算法。