ADASIS V2 协议-1

ADAS V2协议-1

  • 1 简介
  • 2 版本控制
  • 3 ADASIS v2
    • 3.1 ADASIS v2 Horizon (地平线)
    • 3.2 ADASIS v2的构建
    • 3.3 ADASIS v2 Horizon Provider (ADAS V2地平线提供者)
    • 3.4 paths and offsets (路径和偏移量)
    • 3.5 Path Profiles (路径上的profiles信息)
  • 参考文献

1 简介

ADASIS全拼Advanced Driver Assistance Systems Interface Specifications(高级驾驶员辅助系统接口规范)。ADASIS V2协议主要为车辆提供一套传输车辆位置和地图数据(也叫做ADAS Horizon)的标准接口,ADAS Horizon提供自车前方地图数据(在应用中需要保留指定范围内的车辆后方的数据可以称之为拖尾数据)。个人理解ADAS Horizon可以看做是车的眼睛,眼睛可以提供给人看到的一些信息,ADAS Horizon可以提供给车一些可能的行驶路线预测,以及路线上的地图信息。
在ADAS应用程序的通用架构中,主要由下面几个部分组成:
ADAS Horizon Provider:负责维护ADAS Horizon信息(车辆在移动过程中ADAS Horizon信息会一直更新)
ADAS Protocol:定义ADAS Horizon信息如何从ADAS Horizon的提供者发送到应用端
ADAS Application:ADAS 应用在收到ADAS协议信息后重建并使用ADAS Horizon
ADAS Reconstructor:ADAS重构器的目的是接收、解析和解释ADAS协议消息,实际上,在应用端重构ADAS Horizon的副本。
下图表现它们之间的关系(假设ADASIS V2协议使用CAN传输):
在这里插入图片描述

2 版本控制

协议版本控制
ADASIS v2协议版本用三个用点分隔的数字进行描述:X.Y.Z。
X是主要版本号。它是数字0、2或3。ADASIS v2协议的预发布版本将包含0的主要版本号;第一次正式发布的主要版本号为2;协议的下一个版本将由主要版本号3指定。
Y是0-15范围内的次要版本号。每次协议的语法发生变化时,次要版本号都会增加,例如:新的或删除的消息、新的或移除的消息字段、信号的位数变化等。
Z是0-7范围内的次要子版本号。每次修改协议的语义(例如,字段值的解释或类似内容)时,次要子版本号都会增加。
数字范围是根据META-DATA消息中的版本信号定义。
API版本控制
API版本号遵循与协议相同的约定。一般来说,API的版本控制独立于协议的版本控制。
文档的版本控制
本文件的版本ADASIS v2协议由X.Y.Z.W指定。前三个字段与相应的协议版本相同。最后一个字段W表示文件中与协议中的更改无关的更改——文本的修订、更改或扩展描述(但当语法和语义保持不变时)等。
工作版本标记为A、B、C。当W是0到999的数字时,批准发布规范文件。
由于ERTICO文件的命名约定,此文件的名称将采用以下形式:
200vX.Y.Z-D2.2-ADASIS v2 Specification.W.doc.
例如:
200v0.7.3-D2.2-ADASIS v2 Specification.C.doc
包含协议语法第7次修订的第三个工作版本(C)和协议草案语义的第3次修改规格

3 ADASIS v2

3.1 ADASIS v2 Horizon (地平线)

下面两张图片表现出了在车辆行驶过程中ADAS Horizon的变化,可已看出在图中表示了车辆的位置,车辆行驶的link,这些link组合起来就是ADAS Horizon,在车辆向前行驶经过路口但是没有选择link95-100-105这条路后,这条路在第二个图中被删除掉了,第二个图中的时间点ADAS Horizon中已经不包含link95-100-105了。这个过程就是维护ADAS Horizon的一个过程,删除一些过期数据,新增一些新数据(这两个图中未表示出这种情况,一般使用者会有要求要保持车辆前方多远距离的ADAS Horizon,因此每当车辆向前走就要继续探索车辆更前方的数据,将探索出来的数据新增到ADAS Horizon中)。
在这里插入图片描述

在这里插入图片描述
从上面两个图中可以看出如果车辆想要到达link235可以通过link200-210-230-215-235,也可以通过link200-205-220-235。
下图中将link之间的连接关系描绘成了path,这几个path包含了车辆在该点向前的所有通行路径,可以看出各个path之间存在着数据冗余(只要有两个path经过同一个link,那么这个link就会分别存储在两个path上这样就造成路数据的冗余),在应用端会将各个path视为单独的个体,ADAS Horizon提供者应该在保证可以单独提供每个path的基础上尽量的减少数据冗余
在这里插入图片描述
ADASIS v2描述了使用优化路径表示的ADAS Horizon如下图:
在这里插入图片描述
上图就可以理解为一个Horizon他包含一个或多个path,path中包含一个或多个link。 这种表达方式相对于上一张图减少了大量的冗余数据,但是可以看出仍然存在着部分冗余数据,例如path2和path4在第一个岔路口分离后在第二个岔路口又合并了,合并之后的link既在path2中存储也会在path4中存储。
在优化表示中,只需要存在一条路径(其他路径都是从这条路径的某个位置分叉出去的),让我们称之为主路径。主路径的定义特征是当前车辆位置位于其上(也就是上图中的path2)。path2中连接的子路径称之为一级子路径(path1,path4,path3),一级子路径上连接的路径称之为二级子路径(path5)以此类推。
ADAS Horizon的构建算法应该选择主路径,这样它似乎是车辆继续行驶的最有可能的替代方案。一级子路径不太可能被驱动,以此类推。

大多数ADAS应用端程序在最有可能(主)路径上运行。实际应该发送多少级别的子路径取决于应用程序对缺乏地平线的容忍度。如果几秒钟的不起作用是可以接受的,那么只有主路径可以通过通信信道发送。在车辆离开最可能的路径后,需要一段时间才能发送新的路径。如果应用程序必须始终具有地平线数据,则应传输全Horizon。这确保了即使车辆离开一条路径,它也会自动定位在客户端已经可用的另一条路径上。
对上图进一步抽象可以表示为下图
在这里插入图片描述

3.2 ADASIS v2的构建

ADASIS v2 Horizon 由多条path组成。每个path都由一个path标识符唯一标识(我们可以称之为path id)。我们将path上的分叉点称之为stub。每个stub标记一个(子)path的开始,它位于另一个(父)path上。我们还将介绍profile的概念,profile是path的特征。ADASIS v2 Horizon上stub和profiles的位置由path id和沿该path的偏移量定义(通俗来讲就是stub和profile在哪个path的哪个位置上,例如在2号path距离起点100米的位置上)。
当前车辆状态是根据其相对于Horizon的位置(同样是path id和偏移)和其他特性(如速度和航向)来描述的。

3.3 ADASIS v2 Horizon Provider (ADAS V2地平线提供者)

大多数应用端可能只需要主path相关信息,但是如果只给应用端发送一个主path如果车辆偏离主path那么这个应用将会一段时间内没有信息类似失明状态,因此我们还要提供子path,ADASIS v2 Horizon Provider可以提供扩展的配置级别,还可以将预览信息传输到子path结构中。这是通过使用stub来完成的,stub表示父路径上新的子路径的开始,并且包含有关的道路基本信息(例如转弯角度、道路类别)。如果应用程序在车辆离开主路径时对短暂的“失明”敏感,则Horizon提供者还必须预防性地传输有关即将到来的子path的信息。有了子path的可用性,当车辆位置为示例从路径2更改为路径1,应用端的可用预览数据将不会出现间隙。
在这里插入图片描述
如果应用端想要更多的horizon信息并且有充足的存储空间,那么Horizon提供者可以发送完整的horizon如下图提供比上图更多的horizon信息,根据应用端的要求(总线带宽,应用程序控制单元的存储能力)每个车辆可能具有不同的配置(需要不同的horizon数据有的范围大点有的小点)。
在这里插入图片描述

3.4 paths and offsets (路径和偏移量)

对于许多ADAS应用来说,最大56条path数量和大约8公里的最大长度的限制不会带来任何问题。许多ADAS应用程序,如基于地图的自适应巡航控制(ACC)只需要很少的path数目和很短的path长度。

path 的 offset的表示方式如下图
在这里插入图片描述
path2的起点位置offset是0,车的位置在path2上表达就是相对于起点偏移了vehicle offset这么多,
注意该偏移是相对于path的偏移量,path1相对于path2起点的偏移量是Path 1 STUB offset,path1上的STOP的偏移量是相对于path1的起点位置的这点需要注意下。
下图为示例:
当前车辆位置的偏移值为1000m
“最大偏移范围”限制为8190
“传输路径的最大长度”配置为1200m
短剖面坡度的“传输路径的当前长度”为1000m(2%),因为在偏移值2000的时候发送了新值(0%)
segment消息(包含road class)的“当前传输路径长度”仅为500米,因为最远的道路等级信息在偏移1500处,并且偏移2500处的下一个信息太远并且还没有被发送。
在这里插入图片描述

offset(偏移)是相对于当前path的起点位置的,最大offset应不大于8190,如果超过8190部分offset发8191的余数(0-8190),应用端会自己去拼接计算offset。

同种类型的消息的偏移量是一直增加的,不要求所有的profile消息偏移量一直增加比如,假设偏移20米和50米处的曲率值以及偏移30米和40米处的斜率值。我们可以将两个曲率值组合成一个短配置文件消息,将两个斜率值组合成第二个消息,这样可以节省带宽,并避免在传输某个配置文件类型时检查其他配置文件类型。
ADASIS V2 Horizon长度、拖尾长度和禁止偏移范围的可视化图如下:
在这里插入图片描述

3.5 Path Profiles (路径上的profiles信息)

path profile是一种path上的特性,它对path上的任何位置都有值(例如,曲率、道路形式、车道数量、速度限制、水平几何形状)。此值也可能是<undefined>。
path profile由一定数量的“profile点”和profile插值类型的规范组成。
点插值:表示在该类型值仅在该点位置生效
离散插值:表示该类型值在该点开始生效,直到收到下一个相同类型的不同值才发生变化,示例图如下
在这里插入图片描述

线性插值:表示该类型值在该点和该类型值下一个点之间线性变化,示例图如下
在这里插入图片描述

高阶插值:profile点也可以定义为包含平滑曲线表示,该类型值随一个高阶函数规律变化,示例图如下
在这里插入图片描述

参考文献

ADASIS V2 2.0.4版本官方文档

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

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

相关文章

YOLOv8---seg实例分割(制作数据集,训练模型,预测结果)

YOLOv8----seg实例分割(制作数据集,训练模型,预测结果) 内容如下:【需要软件及工具:pycharm、labelme、anaconda、云主机(跑训练)】 1.制作自己的数据集 2.在yolo的预训练模型的基础…

Prompt 提示词强大方法论和框架2

自从ChatGPT Chat Generative Pre-trained Transformer于2022年11月30日发布以来,一个新兴的行业突然兴起, 那就是提示工程Prompt engineering,可谓如日冲天。 从简单的文章扩写到RAG,ChatGPT展现了前所未有的惊人能力。 在上一…

90后机器人创业者再获10亿元融资,为精密传动行业注入新动力!

据了解,一位90后机器人创业者再次获得近10亿元人民币的融资,这一消息在精密传动行业引起了广泛关注。 杭州宇树科技有限公司(简称“宇树”),2024年春节前完成了B2轮融资,融资近10亿元人民币,本轮…

操作系统笔记(1)进程相关

进程概念: 进程同步:多个相关进程在执行次序上进行协调,使并发执行的进程之间能按照一定的规则共享系统资源,并能很好的合作,从而使进程的执行具有可再现性。 进程之间可能存在互斥或者同步的关系。 互斥(间接相互制…

ROS云课三分钟外传之CoppeliaSim_Edu_V4_1_0_Ubuntu16_04

三分钟热度试一试吧,走过路过不要错过。 参考之前: 从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2-CSDN博客 git clone https://gitcode.net/ZhangRelay/v-rep_pro_edu_v3_6_2_ubuntu16_04.gittar -xf v-rep_pro_edu_v3_6_2_ubuntu16_04/V-REP_PRO_EDU…

Node.js环境搭建

背景 想接触下node开发, 打算做个node环境 一、安装包获取 我喜欢使用压缩包解压然后配置的方式进行 地址为: Index of /download/release/ ,可按需选择自己的版本,我选择了如下版本 二、解压配置 将压缩包解压只自己想要安装的文件加下,配置环境变量,解压如下所示: …

m3u8视频怎么打开?教你三招!

m3u8 是一种文本文件格式,用于创建媒体播放列表,现在大部分的视频流媒体都是m3u8格式。当我们从网上下载下来m3u8文件的时候会发现,它本身不是一段视频,而是一个索引纯文本文件。想要正常打开播放m3u8视频其实也很简单&#xff0c…

SQL进阶day11——窗口函数

目录 1专用窗口函数 1.1 每类试卷得分前3名 1.2第二快/慢用时之差大于试卷时长一半的试卷 1.3连续两次作答试卷的最大时间窗 1.4近三个月未完成试卷数为0的用户完成情况 1.5未完成率较高的50%用户近三个月答卷情况 2聚合窗口函数 2.1 对试卷得分做min-max归一化 2.2每份…

Xamarin.Android实现通知推送功能(1)

目录 1、背景说明1.1 开发环境1.2 实现效果1.2.1 推送的界面1.2.2 推送的设置1.2.3 推送的功能实现1.2.3.1、Activity的设置【重要】1.2.3.2、代码的实现 2、源码下载3、总结4、参考资料 1、背景说明 在App开发中,通知(或消息)的推送&#x…

​​​​​​ 基于Nmap的异步无状态端口扫描技术

​​​​​​ 基于Nmap的异步无状态端口扫描技术 传统的端口扫描,主要是依靠TCP三次握手去连接,而建立连接的各个过程都存在连接状态,这些状态由操作系统在底层实现存储,可利用这些状态对应用层的数据进行处理。但是,…

企业必备技能-打造全屏轮播图的终极指南

标题:“视觉盛宴:打造全屏轮播图的终极指南” 引言 在网页设计中,轮播图是一种常见的视觉元素,它能够吸引访客的注意力并展示重要内容。本文档将指导你如何使用HTML和CSS快速创建一个全屏轮播图,使您的网站更加生动和…

算法学习笔记(7.4)-贪心算法(区间调度问题)

目录 ##什么是区间调度问题 ##贪心解法 ##具体的例题示例讲解 ##452. 用最少数量的箭引爆气球 - 力扣(LeetCode) ##435. 无重叠区间 - 力扣(LeetCode) ##56. 合并区间 - 力扣(LeetCode) ##什么是区间调…

毫米波雷达深度学习技术-1.6目标识别2

1.6.4 自动编码器和变体自动编码器 自编码器包括一个编码器神经网络,随后是一个解码器神经网络,其目的是在输出处重建输入数据。自动编码器的设计在网络中施加了一个瓶颈,它鼓励原始输入的压缩表示。通常,自编码器旨在利用数据中的…

学习周报:文献阅读+Fluent案例+Fluent相关算法学习

目录 摘要 Abstract 文献阅读:求解正逆运动波问题的物理信息神经网络 文献摘要 讨论|结论 理论基础 KWM(运动波动方程) Hard constraint (硬约束方式) 具有重新分布的搭配点的PINN 具有停止梯度的分数阶方程 …

实验二、网络属性设置《计算机网络》

精神状态 be like:边写边崩溃,越写越得劲儿。 目录 一、实验目的: 二、实验内容 三、实验步骤: 四、实验小结 一、实验目的: 掌握 IP 地址、子网掩码等网络属性的设置。 二、实验内容 预备知识: 1、…

耐酸碱腐蚀可溶性聚四氟乙烯(PFA)溶样罐

PFA溶样罐也叫PFA溶样瓶,可直接放在加热板上及油浴里加热,也可液氮下长期保存,使用温度-200—260℃。 根据不同实验的需求,PFA溶样罐有U型、V型、平底3种设计。V型底的设计,更加方便少量样品的集中收集。溶样罐广泛用…

Java 实验8 集合类

(一)实验目的 1、掌握JAVA集合类中的Collection的特点及其应用情形; 3、掌握Collection、熟悉集合的特点及应用。 (二)实验内容和步骤 1、仿照课堂练习的MyStack示例,使用LinkedList集合类实现一个先进…

探索多头混合专家(MH-MoE)模型的先进架构

在深度学习领域,大型模型如大型语言模型(LLMs)和大型多模态模型(LMMs)因其在各个领域的有效性而受到广泛关注。然而,这些模型在训练和推理时面临着巨大的计算成本。为了解决这一问题,研究者们提…

多分类混淆矩阵详解

⭐️ 前言 在机器学习和数据科学中,混淆矩阵(Confusion Matrix)是一个重要的工具,用于评估分类模型的性能。特别是在多分类问题中,混淆矩阵能够清晰地展示模型在每个类别上的预测结果。以下是对多分类混淆矩阵的详细解…

IDEA下项目发送到Gitee

一、首先在Gitee创建一个仓库(什么都不选,这是最简单的方式,否则需要 pull push等一些操作,我嫌麻烦) 二、按图点击(创建存储区,选择你要上传的项目) 三、按图点击后正常文件名会变绿…