编辑: QQ215851406 | 2017-08-28 |
topsemic.com 【GPS 模块使用经验分享】 2019-02-13 www.topsemic.com 目录 1.引言
3 2.定位精度
3 3.定位模块输出信息
5 3.1 GPGGA/GNGGA,GPRMC/GNRMC
5 3.2 定位输出频率.6 3.3 时间信息.7 3.4 速度和方位角信息.7 4.组合导航
7 5.差分定位
8 6.如何在 Google Earth 显示运动轨迹
9 7.如何根据经纬度求距离
13 www.topsemic.com 1.引言 GPS 定位模块广泛的应用在各种产品中,比共享单车、定位手表、车载 Tbox 等产品.本文以直接串口输出信息的瑞士 U-blox 公司的 NEO-M8N 定位模块为 例,给大家分享自己的使用经验. 2.定位精度 目前市场上有和 Ublox 定位模块完全管脚兼容的模块以及其他各种各样的定 位设备,对于用户来说该如何评判定位性能呢?以Ublox NEO-M8N 和国内某款 定位模块为例,仅从下图中数据手册中的描述是无法分辨其定位性能好坏的. 图1:Ublox 定位精度描述 图2:国内某定位模块定位精度描述 先介绍下手册中 2.5m CEP 的概念, 2.5m 并不是指每次的定位精度都在 2.5m 范围内.CEP 是一个统计的概念,它的全称叫 Circular Error Probable,即圆概率 误差. 因为即使在同一位置, 受各种因素影响每次定位输出的结果也是不一样的, 这样定位点就会形成一个离散分布.以平均点为中心,包含 50%点的圆的半径 就叫做圆概率误差.也就是说 2.5mCEP 会有 50%点落在以平均值为中心的 2.5m 半径的圆内,50%的结果在 2.5m 圆外. 该如何测试一款定位模块的实际定位效果呢?一种方式是原地静止测试,即 选取某一点,静止测试
1 小时以上,记录所有的点,然后做统计分析.下图是一 www.topsemic.com 个静止测试的点位分布图,图中红圈是平均值点,可以看出精度至少可以达到 2m CEP 的. 图3:静止测试点位分布图 另外也可以运动测试,比如沿着一条直线道路,来回行驶采集多组数据,分 析其运动轨迹. 图4:运动轨迹测试 www.topsemic.com 3.定位模块输出信息 3.1 GPGGA/GNGGA,GPRMC/GNRMC 通过串口输出的是 NEMA-0183 语句,该协议定义的语句非常多,用到的最 多的是$GPGGA、$GPRMC 这两条.但是现在定位模组输出一般是$GN 前缀开 头的$GNGGA、$GNRMC,它表示是 GPS、北斗等多卫星系统组合定位. $GPRMC,,
,,
,,
,,
,,
,,
*hh 字段 0:$GPRMC,语句 ID,表明该语句为 Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息 字段 1:UTC 时间,hhmmss.sss 格式 字段 2:状态,A=定位,V=未定位 字段 3:纬度 ddmm.mmmm,度分格式(前导位数不足则补 0) 比如 4000.86638 转换为度是 00.86638/60=0.0144396666666 注:GPS 坐标一般有两种表达方式: dddmm.mmmm(度分格式):ddd 表示度;
mm.mmmm 表示分,其中小数点前表示 分的整数部分,小数点后表示分的小数部分;
ddd.mm.ss(度.分.秒) :ddd 表示度,mm 表示分,ss 表示秒,也有将 ss 表示为 带小数部分的. Ublox 定位模块 GNGGA 中采用的是第一种方式.这个一定要注意,很多人一 不小心就因为格式转换问题导致计算错误了. 字段 4:纬度 N(北纬)或S(南纬) 字段 5:经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 6:经度 E(东经)或W(西经) 字段 7:速度,节,Knots 0.0 至1851.8.1 节=1.852 千米/每小时 字段 8:方位角,度000.0 至359.9 度.它是和正北方向的顺时针夹角.比如 45° 表示正东北方向. 字段 9:UTC 日期,DDMMYY 格式 字段 10:磁偏角, (000 - 180)度(前导位数不足则补 0) 字段 11:磁偏角方向,E=东,W=西 字段 12: 模式指示(仅NMEA0183 3.00 版本输出,A=自主定位,D=差分,E= www.topsemic.com 估算,N=数据无效) *后hh 为$到*所有字符的 ASCII 码异或校验和 $GPGGA,,