机器人自动驾驶时间同步进阶

news2024/11/17 0:06:32

0. 简介
之前时间同步也写过一篇文章介绍机器人&自动驾驶中的时间同步。在最近的学习中发现一些额外需要阐述学习的内容,这里就再次写一些之前没写到的内容。

1. NTP
NTP 是网络时间协议,用来同步网络中各计算机时间的协议,把计算机的时钟同步到标准世界时间即UTC时间。NTP version 1 出现于1988年6月,最新的NTP协议标准NTPv4,精度在局域网中可以达到0.1ms,在互联网中大多数地方也可以达到1-50ms。

在一些同步精度要求不高的场合, 达到秒级即可以, 为此推出了 NTP的简化版标准 SNTP 协议(Simple Network Time Protocol), 它简化和缩减了 NTP协议的数据处理算法, 方便应用于同步精度要求不高的场合。

为了寻求并提供精确时间,NTP的时间服务器会与客户端交换时间,利用对方给予的数据计算延迟或误差秒数,并重新调整服务器时间。NTP传输UTC时间的模式为层级状,第零层接收”真实时间”的卫星系统为所有时钟的参考,并将时间传到第一层,第一层再传到第二层,第二层接着传到第三层,如此一来可以避免请求量过大的情况,相对的时间精准度可能也会随着层级下降。

NTP一般只可以用作消费级的内容,是远远不能满足车规级的,因为NTP自身就不稳定,所以还是使用PTP和gPTP多一些

2. PPS
在自动驾驶系统中,时间源一般是来自GPRMC+PPS的信号组合,GNSS接收机的 NMEA-0183 GPRMC报文可以输出UTC时间信息,同时还有一路单独的PPS秒脉冲信号,PPS信号精度在几十ns级别,可以用来精确校时。

这一块之前在之前的文章中就详细介绍了PPS,虽然PPS精度是要比PTP高的,但是实际上很多传感器是不支持PPS硬触发的,所以PTP和gPTP目前是车规的主流同步方式

3. PTP
精确时间协议(PTP)是一种用于在整个计算机网络中同步时钟的协议。在局域网上,它可实现亚微秒级的时钟精度,使其适用于测量和控制系统。IEEE 1588专为要求精度超出使用NTP可获得的精度的本地系统而设计。IEEE 1588标准描述了用于时钟分配的分层主从体系结构。在这种体系结构下,时间分配系统由一个或多个通信媒体(网段)和一个或多个时钟组成。

PTP同步模式采用主从式(master-slave architecture)架构,指每个PTP网域内只有一个主时钟(grandmaster clock),主时钟可直接收到卫星系统的时间,故其最为稳定、精准,在节点底下接收的则为从属时钟,换言之,主时钟与从属时钟同步时间后,后者会再将精确数据送到不同设备。PTP亦使用最佳主时钟算法(Best master clock algorithm),自动选择每个网域内的主要时钟。

PTP之所以优于NTP,是因为前者拥有硬件时间戳(Timestamps)与透明时钟(Transparent clock),比起利用在应用层记录时间戳的NTP,PTP利用实体层(硬件)更能将延迟降到最低,并计算出以供接收端计算自己与网络时间的误差,透明时钟则是用来测量通讯介质的延迟,再交由系统补足延迟的时间。

[外链图片转存中…(img-Kw5Wur59-1695711034039)]

如果需要检查两个设备的PTP时间同步状态可以看一下PTP(Precision Time Protocol)高精度时间同步协议+CS模式测试代码,如果是通信设备可以看一下通过PPS信号验证PTP同步这一篇文章。

4. gPTP
工业网络的一个特殊优势在于其快速“启动” 能力,在同步的语境中,这意味着它可以在几秒钟之内锁定并进行精确定时。为了促进实现这个目标,gPTP系统使用逻辑同步(频率对齐)技术,而不是使用其他PTP系统中的物理同步技术。 这一点,再加上对通道和设备延迟的实时测量,使得网络中的桥接节点和端部节点可以快速实现时间对齐(同步)。

 gPTP通过标有时间戳的报文消息交换,在主时钟与多个桥接设备和端点设备之间进行时间通信。 带有时间戳的报文消息是SYNC,PEER_DELAY_REQ 和PEER_DELAY_RESP, 如下所示。与其他PTP实现方式的明显区别在于,gPTP还使用时间戳消息计算频偏,并在运行过程中进行调整。

点击机器人&自动驾驶时间同步进阶 - 古月居可查看全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1620003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT常量中有换行符解决方法--使用中文显示乱码或者编译报错

QT6.3常量中有换行符 方法1:(不能与方法2混用) cpp文件顶部添加: #pragma execution_character_set("utf-8") 方法2:(不能与方法1混用) int ret2QMessageBox::information(this,QSt…

Java | Leetcode Java题解之第45题跳跃游戏II

题目&#xff1a; 题解&#xff1a; class Solution {public int jump(int[] nums) {int length nums.length;int end 0;int maxPosition 0; int steps 0;for (int i 0; i < length - 1; i) {maxPosition Math.max(maxPosition, i nums[i]); if (i end) {end maxP…

Qt 菜单栏上手教程:QMenuBar QMenu QToolbar

引言 在Qt框架中&#xff0c;QMenuBar、QMenu、QToolbar和QAction都是用于构建应用程序界面中的用户交互元素。 QMenuBar 是什么&#xff1a;QMenuBar是一个用于创建横向菜单栏的类。在桌面应用程序中&#xff0c;它通常位于窗口的顶部。应用场景&#xff1a;当您需要一个包含…

清华大学灵境智能技术交叉创新群体博士后,综合年收入30-60万

清华大学灵境智能技术交叉创新群体现面向全球招聘优秀博士后研究人员&#xff0c;以进一步推动三维生成、三维重建、多模态智能交互、控制交互演化、知识工程及情感计算等领域的研究。我们诚邀有志于从事交叉学科研究的青年才俊加入我们的团队&#xff0c;共同探索智能技术的前…

智慧中药煎配系统:自动化煎药管理,传统中医焕发现代魅力-亿发

传统中医药服务迎来了全新的发展契机。亿发中药煎配系统&#xff0c;利用现代通信技术和自动控制技术&#xff0c;结合智能制造、大数据和物联网等现代化信息技术&#xff0c;革新中药煎制的方式&#xff0c;实现了100%数字化和全流程信息追溯&#xff0c;从根本上保障了药效和…

【Git系列】rebase的使用场景

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

解密 Grupo MasMovil 使用 ClickHouse 监控无线网络

本文字数&#xff1a;4151&#xff1b;估计阅读时间&#xff1a;11 分钟 作者&#xff1a;Rodrigo Aguirregabiria Herrero, Grupo MasMovil 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 我们很高兴与大家分享来自西班牙最大的电信…

跟裤裤一起探索结构体的奥秘!

目录 1.结构体类型的声明 2.结构体变量的创建和初始化 2.1结构体成员的直接访问 2.2结构体成员的间接访问 2.3结构体变量的创建和初始化 3.结构的自引用 4.结构体内存对齐 4.1对齐规则 ​4.2为什么存在内存对齐&#xff1f; 4.3修改默认对齐数 5.结构体传参 6.结构…

GUI测试首推!TestComplete 帮助有效缩短 40-50% 测试时长!

TestComplete 是一款自动化UI测试工具&#xff0c;这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的自动化测试。 TestComplete 集成了一种精心设计的自动化引擎&#xff0c;可以自动记录和回放用户的操作&#xff0c;方便用户进行UI&#xff08;用户界面&…

Pyside6:多行按钮点击判断序号

在Pyside开发过程中会遇到这么个问题&#xff1a;当多个按钮在很多行中&#xff0c;需要在点击槽函数中确认按钮的行。 普通的按钮点击信号如下&#xff1a; clicked() 该信号并未有任何参数&#xff0c;无法得到有效的信息&#xff0c;那么如何完成点击哪个确定是哪个按钮呢…

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.RIME-BP霜冰优化BP神经网络多特征分类预测&#xff08;Matlab实现完整源码和数据&a…

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组2.2 驱动初始化&#xff08;dhd_module_init&#xff09; 3. Broadcom fullmac WLAN 1. 简介 2. BCMDHD BCMDHD&#xff1a;Broadcom Dongle Host DriverSIP&#xff1a;System In Package 2.1 WiFi模组 2.2 驱动初始化…

条件生成对抗网络(cGAN)在AI去衣技术中的应用探索

随着深度学习技术的飞速发展&#xff0c;生成对抗网络&#xff08;GAN&#xff09;作为其中的一个重要分支&#xff0c;在图像生成、图像修复等领域展现出了强大的能力。其中&#xff0c;条件生成对抗网络&#xff08;cGAN&#xff09;通过引入条件变量来控制生成模型的输出&am…

互联网大厂ssp面经,数据结构part3

1. 哈希表的原理是什么&#xff1f;如何解决哈希碰撞问题&#xff1f; a. 原理&#xff1a;通过哈希函数将每个键映射到一个唯一的索引位置&#xff0c;然后将值存储在对应索引位置的存储桶中。 b. 关键&#xff1a;将不同的键映射到不同的索引位置&#xff0c;以实现快速的插…

Spring Boot 集成 EasyExcel 3.x

Spring Boot 集成 EasyExcel 3.x Spring Boot 集成 EasyExcel 3.x 本章节将介绍 Spring Boot 集成 EasyExcel&#xff08;优雅实现Excel导入导出&#xff09;。 &#x1f916; Spring Boot 2.x 实践案例&#xff08;代码仓库&#xff09; 介绍 EasyExcel 是一个基于 Java 的、…

社交的神奇好处你都知道吗?

聊天交友软件是人们日常生活中不可或缺的一部分&#xff0c;有些需要花费大量金钱才能享受完整的功能&#xff0c;但也有一些不需要花费金钱的聊天交友软件&#xff0c;如微信、QQ等。这些软件提供了多种交流方式&#xff0c;让用户可以方便地结识新朋友、扩大社交圈子&#xf…

基于SpringBoot的合家云社区物业管理平台 - 项目介绍

合家云社区物业管理平台 2.合家云需求&设计 2.1 项目概述 2.1.1 项目介绍 合家云社区物业管理平台是一个全新的 ”智慧物业解决方案“&#xff0c;是一款互联网的专业社区物业管理系统。平台通过社区资产管理、小区管理、访客管理、在线报修、意见投诉等多种功能模块&a…

游戏陪玩系统app

游戏陪玩系统APP为用户提供了一个便捷的平台&#xff0c;让他们能够轻松找到合适的陪玩者&#xff0c;一同享受游戏的乐趣。以下是对您提到的功能的详细解释&#xff1a; 游戏约玩&#xff1a; 在陪玩APP上&#xff0c;用户可以浏览陪玩者的信息&#xff0c;包括他们的游戏技能…

YOLOv8 训练自己的数据集(20240423)

环境搭建请参考&#xff1a;Win10 搭建 YOLOv8 运行环境&#xff08;20240423&#xff09;-CSDN博客 环境测试请参考&#xff1a;本地运行测试 YOLOv8&#xff08;20240423&#xff09;-CSDN博客 一、使用 YOLOv8 的 coco128 数据集熟悉一下如何训练和预测 1.1、在项目根目录…

新的ChatGPTPlus(GPT4)支付渠道?怎么付费充值?

GPT4多少钱一个月 GPT4一个20美元。作为最优秀的语言模型之一&#xff0c;GPT-4为您带来无与伦比的生产力体验。 除了出色的自然语言处理能力&#xff0c;GPT-4还引入了创新的代码解释器功能和强大的插件扩展&#xff0c;进一步提升了您的工作效率和创造力。 代码解释器功能&…