首页 / 资讯中心 / 文章详情

GNSS模块

GNSS模块 ★ FEATURED ARTICLE
1. 基础概念1. 什么是GPS什么是GNSSGPS (Global Positioning System)美国的全球定位系统。这是最早、最出名的所以很多人习惯把所有卫星定位都叫“GPS”。BDS (BeiDou Navigation Satellite System)中国的北斗卫星导航系统。GLONASS俄罗斯的全球导航卫星系统。GALILEO欧洲的伽利略卫星导航系统。GNSS (Global Navigation Satellite System)全球导航卫星系统的统称。它是一个“大家族”包含了上面提到的GPS、北斗、GLONASS、伽利略以及日本的QZSS等。所以GNSS是总称GPS只是其中一员。说明书里的这个模块支持多个系统所以叫GNSS模块更准确。2. 单频 vs 双频这个模块的核心卖点卫星信号就像无线电波有不同的“频道”频率。单频只接收一个频道的信号。比如只收GPS的L1频段1575.42 MHz。它的缺点是在穿过大气层特别是电离层时会受到干扰导致定位误差变大而且在城市里容易受建筑物反射影响多径效应。双频同时接收两个不同频道的信号。比如GPS的L1 L5或者北斗的B1 B2A。好处1消除电离层误差。电离层对不同频率信号的延迟是不一样的同时接收两个频率接收机就能通过算法计算出电离层到底造成了多少延迟然后把它消掉。这是双频定位比单频准的最关键原因。好处2抗干扰更强。多一个频段就多一份保障在复杂环境高楼、树荫下更不容易丢星。3. NMEA 0183 协议这是GNSS模块和外部设备比如你的单片机说话的“语言标准”。它规定了模块输出的数据必须是纯文本ASCII码格式一行一行的每行以$开头以回车换行\r\n结尾。因为是文本格式你直接用串口助手看就能看懂它发了什么。说明书第3章解析的GGA、RMC就是这种语言里的“句子”。GGA拿位置、高度、RTK 解状态ESKF 必用RMC拿速度、航向、日期2. 数据解析模块通过串口源源不断地发送NMEA语句。说明书里说最重要的两条是xxRMC和xxGGA。1.xx是什么意思xx是说话者的代号。GP代表GPSBD代表北斗GL代表GLONASSGN代表多系统联合定位。所以你可能会看到$GNRMC多系统联合的RMC语句。2.$GNRMC语句推荐最小定位信息示例$GNRMC,084301.550,A,3110.4706987,N,12123.2653375,E,10.05,243.2,210713,0.0,W,A*3E拆解084301.550UTC时间08时43分01.550秒A定位状态。A有效V无效。你代码里必须判断这个字段V的时候数据不能用。3110.4706987,N纬度31度10.4706987分北纬。12123.2653375,E经度121度23.2653375分东经。10.05地面速度单位节1节约1.85 km/h。10.05节约18.6 km/h。243.2地面航向角COG243.2度。注意这就是我们之前讨论的“对地航向”静止时不可靠。210713日期2021年7月13日。0.0,W磁偏角西偏0.0度。A模式指示。*3E校验值。3.$GNGGA语句卫星定位信息示例$GNGGA,084301.550,3110.4706987,N,12123.2653375,E,1,18,3.7,55.1,M,-5.4,M,0000*69拆解1GPS状态。0未定位1非差分定位单点定位2差分定位。竞赛禁止RTK所以这里通常是1。18用于定位的卫星数量。这个数字越大定位越可靠。3.7HDOP水平精度因子。55.1,M海拔高度55.1米。-5.4,M大地水准面与WGS-84椭球面的高度差地球模型修正值你不用太关心。4. 校验值Checksum*后面的两位十六进制数。计算方法是把$和*之间的所有字符包括逗号的ASCII码进行异或XOR运算。为什么要有它串口通信可能受干扰导致数据出错。你算一遍校验值和收到的对比不一致就说明这行数据坏了直接丢弃。说明书的C代码示例就是教你如何写这个校验函数。3. 问题3.1. 为什么COG(Course Over Ground)对地航迹角对地航向静止时不可靠?核心原理COG 不是直接测车头朝向它是【相邻两时刻的位置差】算出来的移动方向3.2. 双频是什么意思双频 接收机可以接收两个不同载波频段比如 L1 L5在这两个频段里它天然可以同时收下北斗、GPS、伽利略等不同系统的卫星信号但是双频的定义不是 “随便跨系统随便选频道”是固定两组射频频段多模Multi-constellation能同时收 GPS、北斗、Galileo、GLONASS 这些不同导航系统双频Dual-frequency能同时接收两个载波频率最常见L1 (1575.42MHz) L5 (1176.45MHz)例L1 L5L1 频段里面GPS L1、北斗 B1C、Galileo E1同频L5 频段里面GPS L5、北斗 B2a、Galileo E5a同频在 L1收到多个系统的卫星在 L5收到多个系统的卫星对同一颗卫星同时拿到 L1、L5 两组观测值 → 用来算电离层误差这才是双频的核心价值3.3. WGS‑84坐标系WGS84 经纬度 ((B,L,h)B纬度Lat北纬 南纬 -L经度Lon东经 西经 -h大地高椭球高重点≠海拔3.4ENU坐标系本质局部直角坐标系原点你自己选一个基准点比如小车起点E东XN北YU天Z向上大地高特点原点你指定某一个 WGS84 点lat0,lon0,h0作为 (0,0,0)只在原点附近一小块区域近似平面距离原点越远误差越大公式WGS84 经纬度 → 相对于基准点的局部 E、N单位米优点计算简单、代码短、电赛小车赛道范围很小几十米首选缺点不能大范围使用换起点就要重新算原点适合室内外短距离智能车、ESKF/EKF 融合把 GNSS 位置变成局部 XY和 IMU 车体坐标对齐。例子起点 (0,0)小车往东走 5 米 → E5N03.5. UTC时间UTCCoordinated Universal Time协调世界时北京时间是 UTC8
阅读完成 · 觉得有帮助?
咨询建站