【毫米波雷达(七)】自动驾驶汽车中的精准定位——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)是一种行为型设计模式,它允许在运行时选择算法的行为。该模式将不同的算法封装成独立的策略类,并使这些…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...
