静态标注rtk文件参数解析
目录
在静态标注中,rtk(Real-Time Kinematic)文件的主要作用
rtk文件包含几种类型数据
具体作用
具体示例
%RAWIMUSA
#INSPVAXA
$GPRMC
背景:
最近工作中涉及到静态标注 slam相关,因为初入门,对于rtk文件中有很多参数,不熟悉,这里做个记录以作分享,纯小白分享。
在静态标注中,rtk(Real-Time Kinematic)文件的主要作用
提供高精度的定位数据和惯性测量数据,用于与传感器数据(如Lidar,相机等)进行时间和空间对齐,最终用于标注和数据融合。
rtk文件包含几种类型数据
(1)RAWIMUSA 数据
解释:这些数据是IMU(惯性测量单元, Inertial Measurement Unit)采集的原始数据,包含了加速度计和陀螺仪的读数。
作用:用于记录车辆在三维空间中的运动状态,包含加速度和角速度等信息。
(2)INSPVAXA 数据
解释:这些数据记录了经过INS(惯性导航系统)和RTK(实时动态差分定位)修正后的高精度位置信息。
作用:包括了车辆在某个时刻的经纬度、高度、速度、姿态(Pitch, roll, heading))等参数。
(3)GPRMC 和 GPGSA 数据
解释:这些数据是标准的NMEA协议GPS输出,记录了基本的位置信息、速度、时间、日期、卫星状态等。
作用:主要用于记录时间戳和粗略的位置参考。
具体作用
- 数据同步:rtk 文件中的数据为不同传感器的数据提供了准确的时间基准。通过 IMU 和 RTK 数据,可以将 LiDAR 点云、相机图像等传感器数据对齐到统一的时间点。
- 精确定位:使用 RTK 技术,rtk 文件能够提供厘米级的位置信息。对于静态标注任务,这些数据确保了标注的准确性,特别是在定位目标物体或在构建精确的地图时。
- 姿态估计:IMU 数据(RAWIMUSA)记录了车辆的运动信息,有助于理解车辆的姿态变化(如倾斜、旋转等),从而提高标注过程中物体的定位和方向识别的准确性。
- 参考数据:高精度的位置信息可以作为其他传感器数据的参考,帮助在标注时进行误差校正或者数据融合。
具体示例
%RAWIMUSA
表示惯性测量单元IMU的原始数据。IMU是一种传感器,测量线性加速度和旋转速率。
作用:这些数据用于计算设备的姿态和运动。
数据格式
%RAWIMUSA,<week>,<second>;<week>,<second>,<status>,<acceleration_x>,<acceleration_y>,<acceleration_z>,<angular_rate_x>,<angular_rate_y>,<angular_rate_z>*<checksum>
- <week>: GPS周数。
- <second>: 当前周的秒数。
- <status>: IMU的状态码。
- <acceleration_x/y/z>: 三个轴的加速度值。
- <angular_rate_x/y/z>: 三个轴的角速度值。
示例
%RAWIMUSA,2298,193489.887;2298,193489.887474,f7a9fe00,-323529236,-25155279,-12546610,96433898,4850820,-1686256*f87ba5fa
解析
表示在GPS时间193489.887 秒时,IMU 记录了某个状态下的加速度和角速度数据。
#INSPVAXA
记录类型表示姿态和位置信息,通常由GNSS接收器输出的高精度惯性导航系统(INS)数据。
数据格式
#INSPVAXA,<port>,<solution_status>,<position_type>,<latitude>,<longitude>,<height>,<velocity>,<attitude>,<uncertainties>*<checksum>
- <port>: 数据输出的端口。
- <solution_status>: INS 解算的状态。
- <position_type>: 位置解算的类型(例如 RTK 固定解)。
- <latitude/longitude/height>: 设备的纬度、经度和高度。
- <velocity>: 设备的速度。
- <attitude>: 设备的姿态(航向、俯仰和横滚)。
- <uncertainties>: 不确定性(精度)。
示例:
#INSPVAXA,COM3,0,53.5,FINESTEERING,2298,193489.900,1a000000,46eb,17136;INS_SOLUTION_GOOD,INS_RTKFIXED,31.32795988847,120.79868081723,4.5269,8.5000,2.6807,1.6336,0.0364,-0.698729052,1.142001483,31.432877485,0.0342,0.0340,0.0346,0.0152,0.0148,0.0107,0.0494,0.0492,0.1998,af000a51,0*2862c467
解析:
表示在 GPS 时间 193489.900 秒时,设备记录了当前位置(纬度、经度、高度)以及其他相关的姿态信息
$GPRMC
这是 NMEA 标准中的一个消息类型,用于提供推荐的最小导航信息。它包括了设备的时间、位置、速度、航向等数据。
数据格式
$GPRMC,<time>,<status>,<latitude>,<N/S>,<longitude>,<E/W>,<speed>,<course>,<date>,<magnetic_variation>,<mode>*<checksum>
- <time>: UTC 时间。
- <status>: 状态(A = 有效数据,V = 无效数据)。
- <latitude>: 纬度。
- <N/S>: 北纬或南纬。
- <longitude>: 经度。
- <E/W>: 东经或西经。
- <speed>: 速度(节)。
- <course>: 航向(度)。
- <date>: 日期。
- <mode>: 模式指示。
示例:
$GPRMC,054432.00,A,3119.6782071,N,12047.9210149,E,6.397,35.4,230124,0.0,E,D*0A
解析:
表示设备在 2024 年 1 月 23 日 05:44:32 的位置和移动信息。
总结:
这些数据通常用于实时定位和姿态估计,特别是在需要高精度和高可靠性的导航和定位应用中,例如自动驾驶和无人机导航。
相关文章:
静态标注rtk文件参数解析
目录 在静态标注中,rtk(Real-Time Kinematic)文件的主要作用 rtk文件包含几种类型数据 具体作用 具体示例 %RAWIMUSA #INSPVAXA $GPRMC 背景: 最近工作中涉及到静态标注 slam相关,因为初入门,对于rtk文件中有很多参数&…...
TensorFlow和PyTorch小知识
TensorFlow和PyTorch是当前最流行的两个开源机器学习库,它们都广泛用于研究和工业界的深度学习项目。下面是对它们的介绍: 1,TensorFlow - **开发背景:** TensorFlow最初由Google Brain Team开发,并于2015年11月开源…...
Java证书信息收集
1.Java二级 【NCRE 二级Java语言程序设计02】考试流程及二级Java大纲_java语言程序设计计算机二级-CSDN博客...
flink写入hudi MOR表
第一步:创建flink内存表从kafka读取数据: DROP TABLE IF EXISTS HUDI_KAFKA_DEBEZIUM_ZHANG; CREATE TABLE IF NOT EXISTS HUDI_KAFKA_DEBEZIUM_ZHANG( ID STRING comment 编码 ,NAME STRING comment 名称 ,PRIMARY KEY(RCLNT,RLDNR,RRCTY,RVERS,RYEAR,…...
智能工厂程序设计 之-2 (Substrate) :三个世界--“存在的意义”-“‘我’的价值的实现” 之2
Q13、我刚看了一下前门前面的讨论。有一段文字您的重新 理解一下。那就是: 对题目 的另一角度( “智能工厂的程序设计”的三个层次词 分别关注的问题 及其 解决 思路的描述)的解释: 三个不同层次(深度)&…...
概要设计例题
答案:A 知识点: 概要设计 设计软件系统的总体结构:采用某种方法,将一个复杂的系统按照功能划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间…...
注册表模式:使用注册表和装饰器函数的模块化设计
在现代软件开发中,模块化设计是提高代码可维护性和可扩展性的关键技术之一。本文将探讨如何使用注册表(Registry)和装饰器函数(Decorator Function)来实现模块化设计,提升代码的灵活性和可扩展性。 什么是…...
怎样将vue项目 部署在ngixn的子目录下
如果同一服务器的80端口下,需要部署两个或以上数量的vue项目,那么就需要将其中一个vue项目部署在根目录下,其他的项目部署在子目录下. 像这样的配置 访问根目录 / 访问灭火器后台管理,访问 /mall/ 访问商城的后台管理 那么商场的vue项目,这样配置,才能在/mall/下正常访问? 1…...
FPGA开发:Verilog数字设计基础
EDA技术 EDA指Electronic Design Automation,翻译为:电子设计自动化,最早发源于美国的影像技术,主要应用于集成电路设计、FPGA应用、IC设计制造、PCB设计上面。 而EDA技术就是指以计算机为工具,设计者在EDA软件平台上…...
哈希表,算法
一.什么是哈希表 哈希表是一种用于快速数据存取的数据结构。它通过哈希函数将键(key)映射到表中的一个位置,从而实现高效的插入、删除和查找操作。 二.哈希冲突 哈希冲突发生在多个键通过哈希函数映射到哈希表的同一位置时。由于哈希表的大…...
Java数组的定义及遍历
数组的声明 长度不能超过定义的长度。超过则会报错通过下标来访问 数组的遍历 最常用最简单的方法是增强for循环。...
【电路笔记】-反相运算放大器
反相运算放大器 文章目录 反相运算放大器1、概述2、理想反相运算放大器3、实际反相运算放大器3.1 闭环增益3.2 输入阻抗3.3 输出阻抗4、反相运算放大器示例5、总结1、概述 上一篇关于同相运算放大器的文章中已介绍了该运算放大器配置的所有细节,该配置在同相引脚 (+) 上获取输…...
【电子通识】半导体工艺——刻蚀工艺
在文章【电子通识】半导体工艺——光刻工艺中我们讲到人们经常将 Photo Lithography(光刻)缩写成 Photo。光刻工艺是在晶圆上利用光线来照射带有电路图形的光罩,从而绘制电路。光刻工艺类似于洗印黑白照片,将在胶片上形成的图像印…...
vue-router 之如何在模版(template)中获取路由配置信息?
vue-router 之如何在模版(template)中获取路由配置信息? 获取当前路由信息 在vue3 中,route通常使用useRoute()钩子获取的,**代表当前激活的路由信息。**它包含了与当前路由相关的数据,比如路径、参数、查…...
HPL 源码结构分析
文件夹结构: $ cd /home/hipper/ex_hpl_hpcg/ $ pwd $ mkdir ./openmpi $mkdir ./openblas $mkdir ./hpl $ tree 1. 安装openmpi 1.1.1 使用Makefile下载配置编译安装 openmpi Makefile: all:wget https://download.open-mpi.org/release/open-m…...
Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计
文章目录 0. 前言1. 文件上传代码审计【有1处】1.1 可疑点1【无漏洞】1.1.1 直接搜索upload关键字1.1.2 选择第一个,点进去分析一下1.1.3 分析this.getFile()方法1.1.4 分析new MultipartRequest(request, uploadPath)1.1.5 分析isSafeFile()方法1.1.6 分析request.…...
【Kubernetes】常见面试题汇总(五)
目录 13.简述 Kubernetes Replica Set 和 Replication Controller 之间有什么区别? 14.简述 kube-proxy 作用? 15.简述 kube-proxy iptables 原理? 16.简述 kube-proxy ipvs 原理? 13.简述 Kubernetes Replica Set 和 Replicat…...
MySQL 解决时区相关问题
在使用 MySQL 的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八 区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设 置有关。 MySQL Server 中有 2 个环境变量和时区有关,…...
SpringSecurity Context 中 获取 和 更改 当前用户信息的问题
SpringSecurity Context 获取和更改用户信息的问题 SecurityContext 异步线程中获取用户信息 今天在做项目时遇到了一个问题,我需要获取当前用户的 ID。之前,前端并没有存储用户信息,我一直是在后端的 service 中通过 SecurityContext 来获…...
Makefile的四种赋值运算符
Makefile有四种赋值运算符:简单赋值(:)、递归赋值()、条件赋值(?)和追加赋值() 1. 简单赋值(:) 作用:覆盖之前的值。若在多次简单赋…...
开发预告:关于改造Hermes-agent这件事,我想说的比上一篇多得多
先声明一点:这不是什么技术布道,更不是产品软文。这篇文章里写的东西,要么是我花了真金白银和睡眠时间换来的,要么是我接下来要去踩的坑。你要觉得哪里不对,直接怼。你要觉得哪里说到你心坎里了,欢迎一起搞…...
AI编程助手色彩科学技能库:从OKLCH到APCA的现代色彩实践
1. 项目概述:一个为AI编程助手打造的“色彩科学专家”技能库如果你和我一样,经常在开发与色彩相关的工具、设计系统,或者需要向团队解释为什么某个颜色方案行不通时,总得反复查阅同一堆资料——那个讲解OKLAB色彩空间的视频、那篇…...
别再只调包了!用PyTorch从零手搓一个Unet,搞懂语义分割的每个细节
从零构建Unet:深入解析语义分割的代码实现与设计哲学 在计算机视觉领域,语义分割一直是极具挑战性的任务之一。不同于简单的图像分类,语义分割需要模型对图像中的每一个像素进行分类,这要求模型既要理解全局上下文信息,…...
从2012年ACE奖看电子产业创新:Zynq、CMOS振荡器与混合域示波器的启示
1. 从一场颁奖礼,看电子产业的创新脉搏前几天翻看资料库,又看到了2012年那场UBM ACE颁奖典礼的旧闻。说实话,每次回顾这种历史性的行业奖项,感觉都像在翻阅一本电子产业的“创新年鉴”。那一年,Xilinx的Zynq-7000、NXP…...
全域矩阵防封指南:脱离“连点器”思维,揭秘店群RPA底层的跨平台指纹隔离基建
大家好,我是林焱,一名专注电商底层业务逻辑与 RPA 自动化架构定制的独立开发者。 在 CSDN 的私信里,最近很多同行都在向我大吐苦水:“林大,我用 Python 写了一套非常完美的自动化脚本,单号跑的时候无比丝滑…...
AI CLI Kit:让AI助手生成环境感知的精准命令行指令
1. 项目概述:为什么我们需要一个“懂环境”的AI助手?如果你和我一样,每天有大量时间花在终端里,那你肯定经历过这种场景:你正在Windows的PowerShell里调试一个脚本,转头去问Claude:“怎么批量重…...
a16n:实现AI编程助手配置可移植性的插件化转换工具
1. 项目概述:AI编程助手配置的“翻译官”如果你和我一样,同时在使用 Cursor 和 Claude Code 这类 AI 编程工具,那你一定遇到过这个痛点:好不容易在 Cursor 里调教好了一套完美的.cursorrules文件,定义了代码风格、项目…...
Free List Allocator实现原理:memory-allocators中的通用内存分配器
Free List Allocator实现原理:memory-allocators中的通用内存分配器 【免费下载链接】memory-allocators Custom memory allocators in C to improve the performance of dynamic memory allocation 项目地址: https://gitcode.com/gh_mirrors/me/memory-allocato…...
OpenClaw AI人格守护插件:基于记忆差异分析实现智能体人格稳定
1. 项目概述:一个为AI人格注入“记忆锚点”的守护插件如果你和我一样,长期在AI应用开发的一线,特别是围绕OpenClaw这类框架构建具有“人格”的智能体,那你一定遇到过这个令人头疼的经典问题:AI的人格会“漂移”。今天你…...
从“按钮太小”看硬件设计:如何平衡参数竞赛与用户体验
1. 从一场工程师的幽默竞赛说起最近在整理旧资料时,翻到一篇2013年EE Times上的趣闻,讲的是他们每月一次的“标题党”(Caption Contest)竞赛。四月份那期的主题是一幅漫画,画的是一个工程师站在一个巨大的智能手机原型…...
