1、导航系统概述:GNSS定位原理、惯性导航原理、组合导航架构、低功耗设计挑战

各位同学,咱们今天聊聊导航系统的底子。说实话,我做了十几年低功耗硬件,接触过的导航项目少说也有几十个。从最早的野外勘探设备,到后来的可穿戴导航模块,踩过的坑真不少。这一章,我把最核心的东西拎出来,咱们一起捋一遍。

1.1 GNSS定位原理——卫星是怎么知道你在哪儿的?

GNSS,说白了就是全球导航卫星系统。GPS、北斗、GLONASS、伽利略,都算。原理其实不复杂:卫星不停地往外发信号,信号里带着它自己的位置和时间戳。你的接收机收到信号,算一下信号飞了多久,就能知道你和卫星之间的距离。

嗯,这里要注意:至少得同时收到4颗卫星的信号,才能解算出三维位置(经度、纬度、高度)加上时间偏差。为什么是4颗?因为接收机的时钟不准,需要多一颗卫星来解这个未知数。

核心公式(伪距观测方程):

ρ = √[(x_s - x_r)² + (y_s - y_r)² + (z_s - z_r)²] + c·Δt

其中ρ是伪距,x_s/y_s/z_s是卫星坐标,x_r/y_r/z_r是接收机坐标,c是光速,Δt是钟差。

我在项目中遇到过一个问题:城市峡谷里,卫星信号被高楼遮挡,可见星数经常掉到3颗以下。这时候定位精度会急剧恶化,甚至完全失效。所以,单纯靠GNSS,在复杂环境下是不靠谱的。

1.2 惯性导航原理——不依赖外部信号的“盲人”导航

惯性导航,简称INS。它不靠卫星,不靠基站,全靠自己。核心器件是加速度计和陀螺仪。加速度计测线加速度,陀螺仪测角速度。通过对加速度积分得到速度,再积分得到位置;对角速度积分得到姿态角。

你想想看,这就像你闭着眼睛走路,凭感觉估算自己走了多远、拐了几个弯。问题是,误差会随着时间累积。加速度计有零偏,陀螺仪有漂移,积分一次误差变大一点,再积分一次更大。这就是所谓的“惯性导航误差发散”。

我个人习惯:在选型时,先看陀螺仪的零偏稳定性。消费级的IMU(比如MPU6050)零偏稳定性在10°/h左右,导航级的要0.01°/h以下。价格差了几十倍,看项目需求来选。

我曾经在一个无人机项目里,只用IMU做短时导航(30秒以内),配合GNSS做长时修正。结果有一次GNSS丢星,IMU的误差在30秒内漂了将近50米。嗯,从那以后,我对IMU的误差模型做了更精细的标定,效果好了不少。

1.3 组合导航架构——取长补短的艺术

GNSS和INS,一个长期稳定但短期容易受干扰,一个短期精度高但长期会漂。把它们组合起来,就是组合导航。常见的架构有两种:松耦合和紧耦合。

架构类型 核心思路 优点 缺点
松耦合 GNSS输出位置/速度,INS输出位置/速度,用卡尔曼滤波融合 实现简单,计算量小 GNSS丢星时,融合效果差
紧耦合 GNSS输出原始伪距/伪距率,INS辅助跟踪环路,深度融合 抗干扰能力强,丢星后恢复快 实现复杂,计算量大

我建议初学者先从松耦合入手。为什么?因为卡尔曼滤波的调参已经够头疼了,紧耦合还要处理GNSS基带信号,复杂度翻倍。我在一个车载项目里试过紧耦合,调试了两个月才稳定下来。后来换了个场景,参数又得重新调。说白了,紧耦合更适合对可靠性要求极高的场景,比如自动驾驶。

避坑指南:我曾经在松耦合方案里,直接把GNSS的位置数据丢进卡尔曼滤波器,没做时间对齐。结果GNSS更新频率是1Hz,INS是100Hz,两者时间戳差了50ms,融合出来的轨迹出现了明显的锯齿。后来加了时间戳对齐模块,问题才解决。

1.4 低功耗设计挑战——省电才是硬道理

导航系统要低功耗,难在哪?我列几个核心挑战:

  • GNSS接收机功耗高:搜星阶段功耗轻松上50mA,连续跟踪也要20-30mA。对于电池供电的设备,这是个大头。
  • IMU不能一直跑:加速度计和陀螺仪虽然功耗低(几mA),但一直开着,电池也扛不住。尤其是陀螺仪,启动稳定需要时间,频繁开关反而更费电。
  • 数据处理不能停:卡尔曼滤波虽然计算量不大,但在MCU上跑,每次更新也要几十微秒到几毫秒。如果MCU一直跑在高速模式,功耗就上去了。
  • 传感器融合的时机:什么时候用GNSS,什么时候用INS,什么时候休眠?这个策略没设计好,功耗会翻倍。

我个人的经验是:不要试图让所有模块一直工作。设计一个状态机,根据运动状态和定位精度需求,动态切换工作模式。比如静止时,关掉GNSS和陀螺仪,只留加速度计做低功耗唤醒。移动时,先开INS,等定位精度不够了再开GNSS做修正。

低功耗设计口诀(我自己总结的):

  • 能休眠就别跑
  • 能间断就别连续
  • 能低频率就别高频率
  • 能硬件加速就别软件算

你想想看,一个导航模块,如果一直全速跑,电池可能撑不过半天。但如果你把状态机设计好了,待机功耗能降到微安级,工作功耗也能控制在10mA以内。这就是低功耗设计的魅力。

本章知识体系总览

下面这张图,是我用SVG画的,把本章的核心逻辑串起来了。你可以把它当作一个思维导图,方便后续复习。

低功耗导航系统硬件设计实战 - 第1章知识体系 GNSS定位原理 惯性导航原理 组合导航架构 伪距观测方程 4颗卫星解算 城市峡谷问题 加速度计 + 陀螺仪 积分得到位置/姿态 误差随时间发散 松耦合 / 紧耦合 卡尔曼滤波融合 时间对齐问题 低功耗设计挑战 GNSS搜星功耗高 IMU不能一直跑 数据处理不能停 传感器融合时机

这张图把GNSS、INS、组合导航和低功耗挑战串在了一起。你可以看到,低功耗设计不是孤立存在的,它贯穿了整个导航系统的每一个环节。后面每一章,我们都会围绕这张图展开。

一个小建议:如果你刚开始接触导航系统,别急着看代码和电路。先把这张图里的概念搞清楚,尤其是GNSS和INS各自的优缺点,以及为什么需要组合。底子打好了,后面学起来会快很多。


公众号:蓝海资料掘金营,微信deep3321