【毫米波雷达(七)】自动驾驶汽车中的精准定位——RTK定位技术
一、什么是RTK?
RTK,英文全名叫做Real-time kinematic,也就是实时动态。这是一个简称,全称其实应该是RTK(Real-time kinematic,实时动态)载波相位差分技术。
二、RTK的组装

如上图所示,这是一个标准的传统RTK组网。
其中,除了卫星之外,RTK系统包括两个重要组成部分——基准站和流动站。
两个站都带有卫星接收机,可以观测和接收卫星数据。顾名思义,基准站是提供参考基准的基站。而流动站,是可以不断移动的站。流动站其实就是要测量自身三维坐标的那个对象目标,也就是用户终端。
三、RTK定位过程

第①步,基准站先观测和接收卫星数据;
第②步,基准站通过旁边的无线电台(数据链),将观测数据实时发送给流动站(距离一般不超过20公里);
第③步,流动站收到基准站数据的同时,也观测和接收了卫星数据;
第④步,流动站在基准站数据和自身数据的基础上,根据相对定位原理,进行实时差分运算,从而解算出流动站的三维坐标及其精度,其定位精度可达1cm~2cm。
四、RTK技术在毫米波雷达中的应用
RTK包括哪些工作
咱们所说的RTK模块,其实是基于RTK技术所做的一个校准测试。项目初期可以根据雷达RTK测试结果给客户展示雷达探测效果;后期针对复杂场景进行算法程序的优化。

五、RTK系统说明
本套真值方法由上海华测导航技术股份有限公司生产的CGI-610(修订20200108)厘米级组合导航系统,来提供基准时间和距离真值。CGI-610由1个基站、2组定位天线、2组定向天线、2组主机(IMU)、3个电台组成,通过本系统可以获取目标车在自车坐标系中的横向位置、纵向位置、横向速度、纵向速度和航向角。目标车的长度是4.4米,宽度是1.7米。

把1号GPS定位天线、1号GPS定向天线、1号移动电台和1号主机安装在自车上,把1号GPS定位天线、1号GPS定向天线、1号移动电台分别连接在1号主机(IMU)上。把1号主机数据,通过CAN线传给雷达,雷达的数据通过以太网传给自车的PC上。
把2号GPS定位天线、2号GPS定向天线、2号移动电台和2号主机安装在自车上,把2号GPS定位天线、2号GPS定向天线、2号移动电台分别连接在2号主机(IMU)上。
把2号主机的数据,通过CAN盒传到目标车的PC上。

如图3所示为GNSS天线装载在测试车辆上的三视图,图中定义并标识出了X、Y、Z相对于测试车辆的具体方向,其中每个定义箭头所指示的方向都为正方向。

六、RTK参数设置
1、目标车相关参数设置
从RTK系统中传出来的位置等信息是定位天线的位置信息,因此通过目标车定位天线到车四边缘的距离(targetLoUp\ targetLoDown\ targetLaLeft\ targetLaRight)、目标车RTK真值和目标的航向角,便可以通过坐标系旋转平移计算出目标车四个角点的真值,计算方法见3.2第二点。如图4展示了需要测量的参数。

2、自车相关参数设置
通过坐标系旋转平移将目标车的RTK坐标转换到以自车定位天线为原点的坐标系下,而雷达航迹位置是以后轴中心为原点,因此需要将目标车RTK坐标平移到自车的后轴中心;为此需要测量自车定位天线到后轴中心的横向距离egoCarLa和纵向距离egoCarLo,示意图如图5;

3、自车角度补偿参数设置
雷达通过方位角标定方法得到雷达安装的角度误差,如图6中的角b,并且补偿到点云的方位角中,此时雷达的航迹通过标定都补偿到了自车中轴方向。由于自车的两个RTK天线是人工装的,两个天线的连线与自车中轴有一个角度误差,如图6中的角c,因此自车的航向角需要补偿一个角度c。

七、RTK时间同步方法
由于本方案涉及到组合导航和1个毫米波雷达组成,在用组合导航的结果来评估毫米波雷达准确性之前,需要左右的信息统一到一个时空坐标系下。本方案的时间基准是主雷达感知时刻,空间坐标系是自车坐标系,空间坐标原点是自车后轴中心。
1、时间同步
由于组合导航的时间已经经过CGI-610系统统一到了世界时间上,所以只需要采用硬线IO脉冲同步授时的方式,把组合导航的时间同步到主雷达时间上。RTK和雷达到IO脉冲的时间不一样,此时需要计算两者到IO脉冲时间差,补偿到RTK目标的横纵向位置上。

八、RTK数据处理流程
1、参数设置
设置目标天线到车身四边缘的距离targetLoUp\ targetLoDown\ targetLaLeft\ targetLaRight、自车天线到后轴中心的偏置(egoCarLa\egoCarLo)、自车角度补偿(Yaw)、航迹和RTK参考点标志accuracyPointFlag等信息。目前可以通过上位机
2、将RTK数据转为内部协议数据
该步骤主要是将采集的RTK数据转为符合内部协议的格式。
3、将RTK数据转为世界坐标系下
该步骤主要将采集的RTK数据(经纬度等信息)转为世界平面直角坐标系下
4、将目标信息旋转到自车坐标系下
该步骤主要将世界坐标系下的目标信息通过坐标轴旋转平移方法(公式1、公式2)转换到自车坐标系下。
5、RTK匹配雷达航迹
利用转换到自车坐标系后的目标真值信息去关联位置最近的雷达目标,并获取航迹的ID。
6、计算RTK和航迹误差
该步骤主要计算目标的真值信息和航迹目标横纵向距离、横纵向速度、横纵向加速度、航向角的差值
7、保存误差
将上一步计算的各个属性误差保存成hex文件,方便用Matlab统计指标。

九、RTK数据校验方法
1、采集静止目标数据
自车静止停正,分别采集目标车在本车道前方5m、10m和15m数据、目标车在左右旁车道前方10m数据。示意图如下:

2、采集运动目标数据
采集自车静止目标车40kph本车道、左右旁车道远离数据、自车静止目标车60kph左右旁车道从远处靠近数据。示意图如下:

相关文章:
【毫米波雷达(七)】自动驾驶汽车中的精准定位——RTK定位技术
一、什么是RTK? RTK,英文全名叫做Real-time kinematic,也就是实时动态。这是一个简称,全称其实应该是RTK(Real-time kinematic,实时动态)载波相位差分技术。 二、RTK的组装 如上图所示&#x…...
Transformer和BERT的区别
Transformer和BERT的区别比较表: 两者的位置编码: 为什么要对位置进行编码? Attention提取特征的时候,可以获取全局每个词对之间的关系,但是并没有显式保留时序信息,或者说位置信息。就算打乱序列中token…...
linux 加载uPD720201固件
硬件 jetson orin nano jetpack 35.5.0 uPD720201是瑞萨推出的怕pcie扩展usb3.0芯片,支持flash主动加载与在系统被动加载 本文介绍如何做到没接flash情况下由系统加载固件 在uPD720201没接spi flash时候nano启动会报XhciDxe错误而自动重启,首先需要在ue…...
C语言中的信号量semaphore详解
在C语言中,**信号量(Semaphore)**是一种常用的同步机制,用于控制多个线程或进程对共享资源的访问。信号量可以实现类似于锁的效果,但更为灵活,适用于并发编程场景。 1. 什么是信号量 信号量可以看作是一个…...
0087__DirectX11 With Windows SDK--02 顶点/像素着色器的创建、顶点缓冲区
DirectX11 With Windows SDK--02 顶点/像素着色器的创建、顶点缓冲区-CSDN博客...
Windows换机华为擎云(银河麒麟V10+麒麟9000C CPU)后,使用selenium的程序怎么办(20241030)
原本的 seleniumChrome 已无法正常工作。chromedriver 报错:不支持 Linux/aarch64。 1、尝试Firefox、edge驱动。Firefox有一个geckodriver版本与Firefox版本的对照表,我看了一下,感觉他们是始终跟进新技术的。银河麒麟的很多库都是几年前的…...
linux 下 signal() 函数的用法,信号类型在哪里定义的?
--------------------------------------------------- author: hjjdebug date: 2024年 11月 07日 星期四 14:47:33 CST description: linux 下 signal() 函数的用法 --------------------------------------------------- signal 是linux 下最基础的进程通讯机制…...
享元模式及其运用场景:结合工厂模式和单例模式优化内存使用
介绍 享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享对象来减少内存使用,尤其是对于大量相似对象的场景。享元模式通常与工厂模式和单例模式结合使用,从而有效地控制和复用对象的创建。在享元模式中&am…...
【物联网技术】ESP8266 WIFI模块在STA模式下实现UDP与电脑/手机网络助手通信——UDP数据透传
前言:完成ESP8266 WIFI模块在STA模式下实现UDP与电脑/手机网络助手通信——实现UDP数据透传 STA模式,通俗来说就是模块/单片机去连接路由器/热点来通信。 UDP协议,是传输层协议,UDP没有服务器和客户端的说法。 本实验需要注意,wifi模块/单片机与电脑/手机需要连接在同一个…...
【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库
实验目的 熟悉了解掌握SQL Server软件的基本操作与使用方法,认识界面,了解其两个基本操作系统文件,并能熟练区分与应用交互式与T-SQL式两种方法在SQL Server中如何进行操作;学习有关数据库的基本操作,包括:…...
操作系统页面置换算法Java实现(LFU,OPT,LRU,LFU,CLOCK)
FIFO先进先出算法 java import java.util.LinkedList; import java.util.Queue; public class Main { //先进先出的思想 是 用一个队列去模拟数据 如果当前不存在就是发生缺页中断了 就需要添加 如果已经满了 将队头的元素出队 即可 //先进先出 就是一个数组 frameCount publi…...
Request和Response
前言 这一节主要讲的是Request和Response还有一些实例 1. 介绍 就是这两个参数 WebServlet("/demo7") public class ServletDemo7 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletExcepti…...
【青牛科技】GC8549替代LV8549/ONSEMI在摇头机、舞台灯、打印机和白色家电等产品上的应用分析
引言 在现代电子产品中,控制芯片的性能直接影响到设备的功能和用户体验。摇头机、舞台灯、打印机和白色家电等领域对控制精度、功耗和成本等方面的要求日益提高。LV8549/ONSEMI等国际品牌的芯片曾是这些产品的主要选择,但随着国内半导体技术的进步&…...
(十二)JavaWeb后端开发——MySQL数据库
目录 1.数据库概述 2.MyQSL 3.数据库设计 DDL 4.MySQL常见数据类型 5.DML 1.数据库概述 数据库:DataBase(DB),是存储和管理数据的仓库 数据库管理系统:DataBase ManagementSystem(DBMS),操纵和管理数据库的大型软件 SQL&a…...
pnpm管理多工作区依赖
pnpm是一个支持多包仓库的一个包管理工具,那么怎么可以在项目根目录下执行pnpm install的时候,也能同步让所有的工作区都能够通安装依赖呢? 方式一,在执行pnpm install指令的时候,添加recursive参数: pnpm install --recursive 方式二,在项目的根目录下通过pnpm的配置文件p…...
如何在本地Linux服务器搭建WordPress网站结合内网穿透随时随地可访问
文章目录 前言1. 安装WordPress2. 创建WordPress数据库3. 安装相对URL插件4. 安装内网穿透发布网站4.1 命令行方式:4.2. 配置wordpress公网地址 5. 配置WordPress固定公网地址 前言 本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站,…...
二、应用层,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》
文章目录 零、前言一、应用层协议原理1.1 网络应用的体系结构1.1.1 客户-服务器(C/S)体系结构1.1.2 对等体(P2P)体系结构1.1.3 C/S 和 P2P体系结构的混合体 1.2 进程通信1.2.1 问题1:对进程进行编址(addressing)&#…...
面粉直供系统|基于java和小程序的食品面粉直供系统设计与实现(源码+数据库+文档)
面粉直供系统 目录 基于java和小程序的食品面粉直供系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#x…...
十四:java web(6)-- Spring Spring MVC
目录 Spring MVC 1.1 Spring MVC 概述 1.1.1 什么是 MVC 模式 1.1.2 Spring MVC 工作原理 1.2 Spring MVC 核心组件 1.2.1 DispatcherServlet 1.2.2 控制器(Controller) 1.2.3 请求映射(RequestMapping) 1.2.4 视图解析器…...
Java代码实现策略模式处理支付付款业务
1.需求:因为付款功能集成的第三方支付SDK越来越来多不好维护,改用策略模式实现,来代替代码中多余的if else 判断。 2.什么是策略模式? 策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为。该模式将不同的算法封装成独立的策略类,并使这些…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
