6、杂项:rtk原理简要说明

2023-05-16

目录

🍅点击这里查看所有博文

  随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。

  想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。

  很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。

  同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。

  既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来 ,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。

  本系列博客所述资料均来自互联网,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

一、GPS定位

1.1、简介

  GPS全名叫Global Positioning System,全球定位系统,最早起源于美国的军事项目,美国的这种系统叫GPS,我们中国也有全球定位系统,叫北斗;战斗民族也有,叫格洛纳斯;欧盟也有,叫伽利略。

  这4套全球定们系统的定位原理基本都是一样的。有了这套系统,我们就可以用它进行导航,引导我们到某地。在军事上那可就厉害了,可用于精准打击,东风快递一送一个准。

  其实GPS除了可以定位,还可以授时,也就是告诉你准确的时间,准确的定位与时间有密不可分的联系。

1.2、原理

  GPS定位是利用一组卫星的伪距、星历、卫星发射时间等观测值来实现的,同时还必须知道用户钟差。我们可以从卫星这里接收一些信息,也就是卫星的星历,星历里面有卫星自己准确的空间坐标X1 Y1 Z1,同时也有一个准确的时间T1,因为卫星有原子钟。卫星会把这些信息发送给GPS接收机。

  坐标计算距离就是用勾股定理,用户站到卫星距离的平方=Y-Y1的平方加上这条绿线的长度的平方,绿线长度的平方又等于X-X1的平方加上Z-Z1的平方,所以无人机到卫星的距离等于右面的式子开平方。

在这里插入图片描述

  由于接收机时间与卫星原子钟时间存在同步误差,求解方程中増加时间误差的待定变量,因此利用四颗卫星数据,从而同时解出纬度、经度、高程和时间四个未知数,最终实现卫星定位。

在这里插入图片描述

1.3、缺陷

  在这一定位过程中,卫星工作受到多因素干扰,比如卫星信号穿过电离层、对流层时会发生折射,信号射到建筑上会发生反射,这都会导致信号传播时间计算有误。而卫星信号传播速度近似于光速,极小的时间偏差都会导致定位出现很大的误差。

在这里插入图片描述

  可将传统定位方式中会造成误差的原因大致分为三类。

  • 第一类是对每一个用户接收机所公有的,例如,卫星钟误差、星历误差、电离层误差、对流层误差等;
  • 第二类是不能由用户测量或由校正模型来计算的传播延迟误差;
  • 第三类是各用户接收机所固有的误差,例如内部噪声、通道延迟、多径效应等。

二、差分定位

2.1、简介

  差分定位又指相对定位(我觉得用相对定位来解释更好一点),具体是利用两台/多台GPS接收机,分别安置在基线的两端,同步观测相同的GPS卫星,以确定基线在协议地球坐标系中的相对位置和基线向量。差分定位方法一般可推广到多台接收机安置在若干条基线的端点,通过同步观测GPS卫星,以确定多条基线向量。

在这里插入图片描述

  差分定位可以消除或减弱一些具有系统性误差的影响,如卫星轨道误差、钟差和大气折射误差等,而绝对定位受卫星轨道误差,钟同步误差及信号传播误差等因素的影响,精度只能达到米级。因此相对定位方法是当前GPS测量定位中精度最高的一种方法,在大地测量、精密工程测量、地球动力学研究和精密导航等精度要求较高的测量工作中被普遍采用。

  针对传统GPS定位存在的三类误差利用差分技术,第一部分误差完全可以消除,第二部分误差大部分可以消除,其主要取决于基准接收机和用户接收机的距离,第三部分误差则无法消除。

2.2、原理

  根据差分GPS基准站发送的信息方式可将差分GPS定位分为四类,即:精密单点定位、位置差分、伪距差分和载波相位差分。这四类差分方式的工作原理是相同的,即都是由基准站发送修正数据,由用户站接收并对其测量结果进行修正,以获得精确的定位结果。所不同的是,发送修正数据的具体内容不一样,其差分定位精度也不同。

2.2.1、精密单点定位(PPP)

  利用全球若干地面跟踪站的观测数据计算出的精密卫星轨道和卫星钟差, 对单台接收机/移动站所采集的相位和伪距观测值进行定位解算,能为世界上任何位置的用户提供可靠的,分米级甚至厘米级定位精度。

  修正通过地球同步通信卫星作为差分通信链路,所以用户不用搭建本地参考站或数据后处理,可以在地球表面从北纬75°到南纬75°都可获得厘米到分米级精度。

在这里插入图片描述

2.2.2、位置差分原理

  这是一种最简单的差分方法,任何一种GPS接收机均可改装和组成这种差分系统。

  安装在基准站上的GPS接收机观测4颗卫星后便可进行三维定位,解算出基准站的坐标。由于存在着轨道误差、时钟误差、SA影响、大气影响、多径效应以及其他误差,解算出的坐标与基准站的已知坐标是不一样的, 存在误差。基准站利用数据链将此改正数发送出去,由用户站接收,并且对其解算的用户站坐标进行改正。

  最后得到的改正后的用户坐标已消去了基准站和用户站的共同误差,例如卫星轨道误差、 SA影响、大气影响等,提高了定位精度。以上先决条件是基准站和用户站观测同一组卫星的情况。 位置差分法适用于用户与基准站间距离在100km以内的情况。

2.2.3、伪距差分原理(DGPS)

  伪距差分是目前用途最广的一种技术。几乎所有的商用差分GPS接收机均采用这种技术。国际海事无线电委员会推荐的RTCM SC-104也采用了这种技术。

  在基准站上的接收机需要计算得到它至可见卫星的距离,并将此计算出的距离与含有误差的测量值加以比较。利用一个α-β滤波器将此差值滤波并求出其偏差。然后将所有卫星的测距误差传输给用户(用户站),用户利用此测距误差来改正测量的伪距。最后,用户利用改正后的伪距来解出本身的位置, 就可消去公共误差,提高定位精度。

  与位置差分相似,伪距差分能将两站公共误差抵消,但随着用户到基准站距离的增加又出现了系统误差,这种误差用任何差分法都是不能消除的。用户和基准站之间的距离对精度有决定性影响。利用伪距差分方法,定位精度可达到亚米级。

2.2.4、载波相位差分原理(RTK)

  载波相位差分技术又称之为RTK技术(real time kinematic),是建立在及时处理两个测站的载波相位基础上的。载波相位差分技术能实时提供观测点的三维坐标,并达到厘米级的高精度。

在这里插入图片描述

  RTK 则是以载波相位观测量为根据的实时差分GPS测量,它是GPS测量技术发展中的一个新突破。它的工作思路与DGPS相似,由基准站通过数据链及时将其载波观测值及基准站坐标信息一同传送给用户站。用户站接收GPS卫星的载波相位与来自基准站的载波相位,并组成相位差分观测值进行及时处理,从而得到精度比DGPS高得多的实时测量结果。这种方法的精度一般为2cm左右。相对于常规测量技术,GPS技术具有测量精度高、测站间无需通视、观测时间短、仪间目标的三维坐标可以以文本的形式存储,也可根据数据库和土地信息系统软件的要求,使用一些很简单的程序,方便快捷地将其转换成有拓扑关系的图形。

  它是测量技术发展里程中的一个突破,它由基准站接收机、数据链、 流动站接收机三部分组成。 在基准站上安置1台接收机为参考站, 对卫星进行连续观测,并将其观测数据和测站信息,通过无线电传输设备,实时地发送给流动站,流动站GPS接收机在接收GPS卫星信号的同时,通过无线接收设备,接收基准站传输的数据,然后根据相对定位的原理,实时解算出流动站的三维坐标及其精度(即基准站和流动站坐标差△X、△Y、△H,加上基准坐标得到的每个点的WGS-84坐标,通过坐标转换参数得出流动站每个点的平面坐标X、Y和海拔高H)。分电台模式和网络通讯模式。

  实现载波相位差分GPS的方法分为两类:

  • 修正法:和伪距差分相同,基准站把载波相位修正量发送给用户站,以改正其载波相位,之后求解坐标。是准RTK技术
  • 差分法:把基准站采集的载波相位发送给 用户台进行求差解算坐标。为真正的RTK技术。

2.3、应用场景

细分领域产品类型精度规格价格功耗
智能驾驶模组厘米级车规级几百元>100mA
轻出行(共享两轮)模组亚米级工业级几十元30mA
穿戴设备模组亚米级消费级几十元10mA
无 人 机模组厘米级工业级几百元30mA
无 人 机板卡厘米级工业级千元2W-3W
智 慧 城 市模组米级/亚米级工业级几百元30mA
智 慧 城 市板卡毫米级工业级千元2W-3W

三、坐标转换

3.1、WGS84简介

  WGS-84坐标系(World Geodetic System一1984 Coordinate System)是一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH (国际时间服务机构)1984.0定义的协议地球极(CTP)方向,X轴指向BIH 1984.0的零子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系统。

在这里插入图片描述

3.2、国内坐标

  GPS直接反映的是WGS-84坐标,而我们平时用的则是北京54坐标系或西安80坐标系,所以要通过坐标转换把GPS的观测成果变成我们需要的坐标。这个工作有多种模型可以实现。比较常用的转化方法是将平面与高程分开转换,平面坐标转换采用先将GPS测得成果投影成平面坐标,再用已知控制点计算二维相似变换的四参数。高程则采用平面拟合或二次曲面拟合模型,利用已知水准点计算出该测区的待测点的高程异常,从而求出它们的高程。

  我们的软件输出的是WGS-84坐标系,所以也是需要经过上面第三点说的坐标转化才能转化为国内的坐标系。而坐标转换也会带来误差,该项误差主要取决于已知点的精度和已知点的分布情况。从以上两点可以看出,RTK的测量精度包括两个部分,其一是GPS的测量误差,其二是坐标转换带来的误差。

  比如说我之前测试时,打印出来的定位结果,经纬度输出的格式是ddmm.mmmm:3149.25718,11707.03023,首先将其转化为dd.dddd:31.820953,117.117170500。

在这里插入图片描述

  WGS-84坐标在谷歌地图上定位数据还是比较准的。

在这里插入图片描述

  而在百度地图误差就比较大了。

在这里插入图片描述

  这时候就需要使用纠偏算法去进行纠偏,我们自己就有一个网站用于GPS纠偏,点此访问。输入上面的经纬度,在下方就可以看到在百度地图以及高德地图中的纠偏结果。

在这里插入图片描述

四、其他

如何判断定位状态

  $GPGGA 语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,HDOP-水平精度因子,椭球高,高度单位,大地水准面高度异常差值,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符和换行符),分别用14个逗号进行分隔。

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

xxx

<6> GPS状态, 0初始化, 1单点定位, 2伪距解, 3无效PPS, 4固定解, 5浮点解, 6正在估算 7,人工输入固定值, 8模拟模式, 9WAAS差分

xxx

  其中第六字段中的状态是我们判断是否进入差分的一个依据。

  • 1代表单点定位。这里的单点定位不等同于2.2.1小节中的描述高精度单点定位,精度是米级。
  • 2代表伪距解定位。DGPS,2.2.3小结有说到,在接收到卫星信号质量较差的时候,可以出来伪距解,精度是亚米级。
  • 4代表固定解,属于高精度RTK定位,精度是厘米级
  • 5代表浮点解,属于中精度RTK定位,精度是分米级

  上面所说的精度是只静态测试时一系列点的标准方差,RTK用户站在运动时得到的定位误差会略大,视情况而定。

  那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。文中所述不一定是完全正确的,可能有的地方我自己也理解错了。如果有些错的地方,欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可,不需要私聊我。我们交流的内容留下来也有助于其他人查看,说不一定也有其他人遇到了同样的问题呢😂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6、杂项:rtk原理简要说明 的相关文章

随机推荐

  • http包详解

    位于应用层的http协议 什么也不多说了 xff0c 马上放个图看看 请求方法 xff0c 主要是 xff1a get xff1a 获取 post xff1a 提交 请求头 xff1a User Agent xff1a 产生请求的浏览器类型
  • linux下编译C++项目

    include CheckCXXCompilerFlag CHECK CXX COMPILER FLAG std 61 c 43 43 11 COMPILER SUPPORTS CXX11 CHECK CXX COMPILER FLAG s
  • www总结

    一 www服务器 1 什么是www xff1a www是world wide web的缩写 xff0c 也就是全球信息广播的意思 通常说的上网就是使用www来查询用户所需要的信息 www可以结合文字 图形 影像以及声音等多媒体 xff0c
  • matlab基础练习作业(1)

    要期末考试了 xff0c 整理一下平时的题 作业 xff11 1 写出完成下列操作的命令 1 将矩阵A第2 5行中第1 3 5列元素赋给矩阵B B 61 A 2 5 1 3 5 或者B 61 A 2 3 4 5 1 3 5 2 删除矩阵A的
  • PHP中使用cURL实现进行Post请求 ssl 双向认证

    span class token comment 64 param string url 接收数据的api 64 param string vars 提交的数据 64 param int second 要求程序必须在 second 秒内完成
  • 大端字节序与小端字节序 (网络字节序与主机字节序)

    大端字节序与小端字节序 1 简介2 判断机器字节序 xff08 C C 43 43 xff09 3 主机字节序与网络字节序的转换4 IP地址与网络字节序的转换 1 简介 字节序分为大端字节序 xff08 big endian xff09 和
  • Noetic安装ros_canopen

    建立workspace mkdir span class token operator span p canopen span class token operator span scr cd canopen catkin make 下载n
  • ROS学习初始化ws下catkin_make必须有src生成devel和build

    安装虚拟机开启intel vt 创建工作空间 first ws src catkin make在ws下生成devel和build 创建package 在src下添加package catkin create pkg hello ros ro
  • Pyhon : 爬虫Requests高级用法--证书

    客户端证书 你也可以指定一个本地证书用作客户端证书 xff0c 可以是单个文件 xff08 包含密钥和证书 xff09 或一个包含两个文件路径的元组 xff1a requests get https kennethreitz org cer
  • 【px4】运行mavsdk中的offboard example

    运行MAVSDK中的offboard例子时无人机不执行 想控制无人机前后左右移动 xff0c 在按照官方教程实现offboard 插件的时候 发现用action插件能正常起飞和降落 但是一旦执行到offboard的插件代码的时候就会自动降落
  • MDF does not reside in a read-only database or filegroup

    错误信息 The file 34 MDF 34 is compressed but does not reside in a read only database or filegroup The file must be decompre
  • Python复习笔记4——文件和目录操作

    一 文件读写 1 1 读文件 xff08 1 xff09 打开文件 使用Python内置的open 函数 xff0c 传入文件名和标示符 xff0c 打开一个文件对象 xff1a span class token operator gt g
  • Python复习笔记5——常用模块

    一 内建模块 1 1 datetime日期时间 xff08 1 xff09 导入模块 span class token keyword from span datetime span class token keyword import s
  • COLMAP+OpenMVS实现物体三维重建mesh模型

    一 环境准备 1 COLMAP 进入COLMAP官网 xff0c 打开下载页面 xff0c 下载COLMAP程序 2 OpenMVS OpenMVS可以自己从源码下载进行编译 如果觉得编译openmvs可能要费点时间 xff0c 那也可以直
  • 解决ubuntu火狐无法上网问题

    之前安装Ubuntu时是可以上网的 xff0c 呆了一个月没怎么用突然不能搜索了 xff0c 记录一下 xff0c 已解决 只需一条命令 打开终端 xff0c 输入 sudo apt get install firefox 问题解决啦 xf
  • C语言基本数据类型int, short int, long int, long long int, unsigned int, signed int等解析

    一 普通int类型 int类型是有符号整型 xff0c 即int类型的值必须是整数 xff0c 可以是正整数 xff0c 负整数 xff0c 零 int类型取值范围因计算机系统而异 早起的16位IBM PC兼容机使用16位来存储一个int值
  • Docker容器内更新apt-get 国内加速

    Docker容器内更新源apt get的方法 由于不使用国内镜像网速缓慢 xff0c 所以使用国内镜像加速就很必要了 xff0c 但是经过博主测试大部分apt get加速都是针对Ubuntu 的 xff0c 根本解决不了Docker 容器内
  • STM32F4 422串口通信

    STM32F429 422串口通信 422串口的硬件原理图如下 xff1a 422串口和232串口不同的是引脚的电平控制 xff0c 还有DE是发送使能 xff0c 置高即可 xff1a RE是接收使能 xff0c 置低即可 422接出来的
  • Java基础学习记录

    一 基础DOS操作 dir xff1a directory 列出当前目录内容 md xff1a make directory 创建目录 rd xff1a remove directory 删除目录 cd xff1a change direc
  • 6、杂项:rtk原理简要说明

    目录 x1f345 点击这里查看所有博文 随着自己工作的进行 xff0c 接触到的技术栈也越来越多 给我一个很直观的感受就是 xff0c 某一项技术 经验在刚开始接触的时候都记得很清楚 往往过了几个月都会忘记的差不多了 xff0c 只有经常