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

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.mzph.cn/web/2677.shtml

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

相关文章

品牌差异化战略:Kompas.ai如何打造独特的内容声音

在当今竞争激烈的商业环境中,品牌差异化已成为企业获取市场优势的关键策略。一个鲜明的品牌形象和独特的内容声音不仅能够帮助企业吸引目标客户,还能够在消费者心中建立起独特的地位。本文将深入探讨品牌差异化的重要性,分析Kompas.ai如何帮助…

揭秘 IDM:下载管理大师的全面指南与实用技巧深度解析

IDM(Internet Download Manager)是一款流行的下载管理软件,它可以帮助用户以更快的速度下载文件,并且支持多种协议和浏览器。IDM 通过将大文件分割成多个部分并同时下载这些部分来加快下载速度,这种技术被称为多线程下…

Linux中手工创建一个用户

当我们需要新创建一个用户时,有两种方法 1,使用useradd命令: [rootlocalhost /]# useradd tmg 然后给它设置一个密码 [rootlocalhost etc]# passwd tmg Changing password for user tmg. New password: BAD PASSWORD: The password is a…

通过 USB 或网络控制安卓设备:无需 root 权限 | 开源日报 No.231

barry-ran/QtScrcpy Stars: 15.6k License: Apache-2.0 QtScrcpy 是一款支持通过 USB 或网络显示和控制 Android 设备的实时显示控制软件,不需要 root 权限。 其主要功能和优势包括: 轻量化(仅显示设备屏幕)高性能(3…

RAG:智能图书馆员引领AI的知识之旅

想象一下,你是一个法官,面对一个复杂的案件,你需要查阅大量的法律文献来找到相关的案例和法律条文。在AI的世界里,也有一个类似的“法官”——大型语言模型(LLMs)。它们能够回答各种问题,但有时…

vue 表格获取当前行索引,加颜色

vue 表格获取当前行索引&#xff0c;加颜色 <span styledisplay:inline-block;width:10px;height:10px;border-radius:50% :style"{background:color[scope.$index]}" />//定义颜色color: [#5387F7, #A794E0, #F3543C, #999999, #77D3F8, #FFA1B4, #26CEBA, #…

C++从入门到精通——C++动态内存管理

C动态内存管理 前言一、C/C内存分布分类1分类2题目选择题sizeof 和 strlen 区别示例sizeofstrlen 二、C语言中动态内存管理方式malloc/calloc/realloc/free示例例题malloc/calloc/realloc的区别malloc的实现原理 三、C内存管理方式new/delete操作内置类型new和delete操作自定义…

vue3 引入@tsparticles/vue3和@tsparticles/slim 实现粒子特效

1.安装&#xff1a; yarn add tsparticles/vue3 tsparticles/slim2.main.ts 引入 import Particles from "tsparticles/vue3"; import { loadSlim } from "tsparticles/slim";app.use(Particles as any, {init: async (engine: any) > {await loadSli…

力扣刷题 70.爬楼梯

题干 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&…

电子邮件免费版有哪些?免费注册电子邮箱

电子邮件有付费版和免费版两种类型&#xff0c;付费版通常具有更大的电子邮箱容量和更强大的电子邮箱功能。但是对于我们个人用户或者是中小型企业来说注册电子邮箱免费版的就够日常使用了。电子邮件的免费版提供商有Zoho Mail、微软、腾讯等&#xff0c;今天我们就来具体了解下…

Django中的实时通信:WebSockets与异步视图的结合

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代Web应用程序中&#xff0c;实时通信已经成为了必不可少的功能之一。无论是在线聊天、…

光纤、以太网电缆和 DSL 的比较:技术指南

了解光纤、以太网电缆和 DSL 之间的差异对于做出有关互联网连接的明智决策至关重要。本技术指南对这些技术进行了全面比较&#xff0c;讨论了它们的独特功能、性能指标和应用。它旨在为您提供必要的知识&#xff0c;以选择最适合您的特定需求的选项。 光纤、以太网电缆和 DSL …

【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序(万字博文)

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序&#xff08;万字博文&#xff09; 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制&#xff08;CRC算法、MD5算法&#xff09; 目录 …

【C++】优先队列

优先队结构的不同物理结构与常用操作算法 优先队列是一种特殊的队列,队列中的元素具有优先级,每次弹出操作会弹出优先级最高的元素。 优先队列常用的物理结构有: 1. 数组:简单但不高效,插入和删除操作需要移动大量元素,时间复杂度高。 2. 二叉堆:是一种完全二叉树,通常用数…

Nacos采坑:非集群Nacos不要使用同一个MySQL数据库

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Nacos 致力于帮助您…

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

面包屑新玩法,ReactRouter+Ant Design实现动态渲染

在Ant Design中,可以通过Breadcrumb组件结合react-router库实现动态生成面包屑导航。具体步骤如下: 定义路由配置数据结构 我们需要在路由配置中添加额外的面包屑相关信息,例如面包屑标题、icon等。例如: const routes [{path: /,breadcrumbName: 首页},{path: /users,brea…

remote: HTTP Basic: Access deniedfatal: Authentication failed for

$ git push -u origin main remote: HTTP Basic: Access denied fatal: Authentication failed for https://gitcode.com/edenl/GD32E350_hid_keyboard.git/ 使用访问令牌做为密码登录即可。

拼多多面试题——力扣版测试用例纠错

最近我看到力扣上这个题目&#xff0c;用了三种方法&#xff0c;结果没有一种正确&#xff0c;我就纳闷儿了&#xff0c;为何总有一个测试用例过不了&#xff0c;结果我发现这个测试用例确实有问题啊。。。。。 题目&#xff1a; 表&#xff1a;Logs ----------------------…

LeetCode_链表的回文结构

✨✨所属专栏&#xff1a;LeetCode刷题专栏✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 题目描述&#xff1a; 对于一个链表&#xff0c;请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法&#xff0c;判断其是否为回文结构。给定一个链表的头指针A&#xff0c;请返回一个bo…