前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度Apollo源码学习之定位系统介绍

百度Apollo源码学习之定位系统介绍

作者头像
李小白是一只喵
发布2020-05-29 14:59:19
1K0
发布2020-05-29 14:59:19
举报
文章被收录于专栏:算法微时光算法微时光

什么是GNSS

GNSS的全称是全球导航卫星系统(Global Navigation Satellite System).

它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星增强系统)等,还涵盖在建和以后要建设的其他卫星导航系统。

image.png

三边测量定位算法(Trilateration)

image.png

Trilateration(三边测量)是一种常用的定位算法:

已知三点位置 (x1, y1), (x2, y2), (x3, y3) 已知未知点 (x0, y0) 到三点距离 d1, d2, d3 以 d1, d2, d3 为半径作三个圆,根据毕达哥拉斯定理,得出交点即未知点的位置计算公式:

image.png

这样就可以算出来位置点的坐标.

在2维平面,一个固定点用已知的半径长确定一个圆,两个固定点用已知的半径确定两个点,三个固定点可以确定一个点。这个原理映射到3维,两个球相交确定一个圆,三个球相交确定两个点。远离地球的点舍弃,另一个点就是你的位置了。

但是实际上真正应用比这个复杂,首先就要想,原理上三颗卫星可以解决的问题问什么一定要4颗。因为前面的简单解释是已知卫星和接受机/使用GPS 的人)的距离。在实际应用中这距离是不知道的,这个距离需要去计算。就是常说的伪距(pseudorange)。

卫星定位的组成

卫星是有三个成分组成的分别是空间部分,控制部分和用户部分。

用户部分

image.png

只要能使用卫星定位的仪器都是用户部分,比如专业接收机,手机,智能手表等等能收到GNSS信号的都可以。

空间部分

image.png

最直接的就是天上的卫星了。这些卫星是在中轨道上运行,大概有20200km那么高。平均是6个平面,一个平面上有四个点,每个点上至少一个卫星,也就是说也许有多个。之前是是24颗卫星, 这种安排基本上全球大部分地区可以看到至少4颗卫星。

控制部分

image.png

这个分为三个,1个主要控制站,1个备用控制站,11个地面的天线,16个地面的监测站。主要用于跟踪,监测,接收和传输一些数据和命令。监测站的主要功能是当卫星从头顶飞过时,收集数据(载波和伪距)然后穿给控制站。

GPS

GPS是70年代规划,80年代实施,90年代运营,耗资300亿美元,仅次于阿波罗登月计划和航天飞机计划的美国第三大航天工程。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的。其次,也为民用、商用提供导航、定位、测速和授时等服务。1994年3月,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。

数据格式

GPS 上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:

$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x

每行开头的字符都是'$',接着是信息类型,后面是数据,以逗号分隔开。

GPS信息类型:

类型

解释

GPGSV

可见卫星信息

GPGLL

地理定位信息

GPRMC

推荐最小定位信息

GPVTG

地面速度信息

GPGGA

GPS定位信息

GPGSA

当前卫星信息

GPGSV 可视卫星状态

标准格式:

$GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF) 

含义为:

  • (1)总的GSV语句电文数;2;
  • (2)当前GSV语句号:1;
  • (3)可视卫星总数:08;
  • (4)PRN码(伪随机噪声码)也可以认为是卫星编号
  • (5)仰角(00~90度):33度;
  • (6)方位角(000~359度):240度;
  • (7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息); *总和校验域hh 总和校验数:78; (CR)(LF)回车,换行。 注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即: (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。
GPRMC 最小定位信息

标准格式:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

含义为:

  • <1> UTC 时间,hhmmss(时分秒)格式
  • <2> 定位状态,A=有效定位,V=无效定位
  • <3>纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
  • <4> 纬度半球N(北半球)或S(南半球)
  • <5>经度dddmm.mmmm(度分)格式(前面的0也将被传输)
  • <6> 经度半球E(东经)或W(西经)
  • <7>地面速率(000.0~999.9节,前面的0也将被传输)
  • <8>地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
  • <9> UTC 日期,ddmmyy(日月年)格式
  • <10>磁偏角(000.0~180.0度,前面的0也将被传输)
  • <11> 磁偏角方向,E(东)或W(西)
  • <12>模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
GPGGA GPS定位数据

标准格式:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>

含义为:

  • <1> UTC 时间,格式为hhmmss.sss;
  • <2> 纬度,格式为ddmm.mmmm(第一位是零也将传送);
  • <3> 纬度半球,N 或S(北纬或南纬)
  • <4> 经度,格式为dddmm.mmmm(第一位零也将传送);
  • <5> 经度半球,E 或W(东经或西经)
  • <6> 定位质量指示,0=定位无效,1=定位有效;
  • <7>使用卫星数量,从00到12(第一个零也将传送)
  • <8>水平精确度,0.5到99.9
  • <9>天线离海平面的高度,-9999.9到9999.9米M指单位米
  • <10>大地水准面高度,-9999.9到9999.9米M指单位米
  • <11>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量
  • <12>差分参考基站标号,从0000到1023(首位0也将传送)。
GPVTG 地面速度信息

标准格式:

$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh

含义为:

  • <1> 以正北为参考基准的地面航向(000~359度,前面的0也将被传输)
  • <2> 以磁北为参考基准的地面航向(000~359度,前面的0也将被传输)
  • <3> 地面速率(000.0~999.9节,前面的0也将被传输)
  • <4> 地面速率(0000.0~1851.8公里/小时,前面的0也将被传输)
  • <5> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效
GPGSA 当前卫星信息

标准格式:

$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A

北斗定位

参考

Trilateration三边测量定位算法 GPS数据包格式+数据解析

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是GNSS
  • 三边测量定位算法(Trilateration)
  • 卫星定位的组成
    • 用户部分
      • 空间部分
        • 控制部分
        • GPS
          • 数据格式
            • GPGSV 可视卫星状态
              • GPRMC 最小定位信息
                • GPGGA GPS定位数据
                  • GPVTG 地面速度信息
                    • GPGSA 当前卫星信息
                    • 北斗定位
                    • 参考
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档