自動駕駛地圖數據傳輸協議ADASIS v2

ADASIS(Advanced Driver Assistance Systems Interface Specification)直譯過來就是 ADAS 接口規格,它要負責的東西其實很簡單,就是為自動駕駛車輛提供前方道路交通相關的數據,這些數據被抽象成一個標準化的概念:ADAS Horizon。

數據從地圖應用來,要傳輸到車內的 ADAS 軟件應用中。我們常見的互聯網傳輸協議是 Http,內容封裝協一般是 json、protocol buffer、xml 等等。但汽車中的數據通信不同于互聯網,一般走 CAN 通信,類似于 json,ADASIS v3 就定義了如何在汽車這個大平臺下進行數據傳輸。

簡而言之,ADASIS v3 就是一個用于地圖數據傳輸的通信協議。

3. ADASIS 基礎概念

3.1 基本要素

AHP(ADAS Horizon Provider) 電子地平線內容提供者
AHR(ADAS Horizon Reconstructor) 數據重構者
ADAS Application
ADASIS v3 Protocol
AHP、AHR、ADAS Application 它們代碼可以位于不同進程,甚至不同的 ECU,這算異構技術,當然,高度自動駕駛沒有那么多 ECU, 那么它們也可以在同一個域控制器或者中央計算平臺當中。

在 ADASIS v3 中地圖如何表示

地圖信息很多,對于地圖的表示也可以按照功能要求從簡單到復雜。

ADASIS 傾向于盡可能簡單。

如上圖所示,你沒有必要把每條街道推送給汽車軟件,因為很多不需要,所以最簡單也是可行的就是盡量推送少但有用的信息。

什么是少但有用的信息呢?

ADASIS v3 給出答案是:

前方道路
可能的道路
于是,Path 的概念就應運而生,可以看看上圖那根紅線。

Path 精簡了地圖數據,它只關注汽車可能行駛的路線。

3.2 Path

世上的路千萬條,但你每次駕駛時都是走一條確定的路線,這條路線就叫做 Path,它是一種駕駛的可能性。

有了 Path 就可以將路網壓縮成線性地圖表示。

說是線性,我們可以將 path 看作是一條線,線上掛著許多類別的鈴鐺、星星等等。

有了這根線和這些鈴鐺,ADAS Horizon 就差不多成了。

當然,如果只有一條 path 也就是太粗魯簡單了,path 的表示也有粗細之分。

先看看這么一個路網信息:

汽車要向前方行駛,Path 信息可以簡略表達,也可以復雜點表達。

3.2.1 Simple Path Representation
Simple Path 代表簡略表達路網的策略。

如果告訴汽車,要去上圖中 Link235 處,那么,有 2 種路由:

200 -> 210 -> 230 -> 215 -> 235
200 -> 205 -> 220 -> 235

把每種可能的路徑用 Path 表示出來,而不是把所有的 Link 展示出來就是 Simple Path 的思想,會產生如下結果。

前面說的兩種可能,其實就可以用 Path3 和 Path5 表示。

Simple Path 存在冗余,比如上圖中所有的 Path 是有相同的起點的,也就是存在重復的數據,大量的重復數據會加劇通信帶寬的壓力,所以這需要一定的優化。

這涉及到 Path 的另外一種表示:Optimized Path Representation.

3.2.2 Optimized Path Representation
ADASISv3 使用 Optimized Path Representation 表示 Path。

它主要為了減少冗余,并且有了主從之分:

root path
sub path

因為有了主從之分,所以 path 可以形成層次表達。

ADAS Horizon 構造器會將汽車最有可能繼續行駛的 Path 作為 root path,一般也是 MPP(Most Prefere Path),而 root-path 下的第一層 sub-path 會作為備選路徑。

比如,上圖中汽車向前,大概率會沿著 Path2 的方向,但 Path4、Path1、Path3 也是有可能的。

Path 是 ADAS Horizon 最主要的實體,像道路上的路標、十字路口、車道幾何信息什么的可以當作 Path 當中的 Attributes。

所以,AHP 首要任務是要傳輸 Path 信息,AHR 首要任務是要根據 Path 進行路徑重建。

3.2.3 Horizon Length

ADAS Horizon 由一系列的 Path 組成,隨著汽車位置的移動,有些新的 Path 會添加進來,一些過時的 Path 就刪掉了。

這牽扯到一個視窗的大小,在 ADASIS v3 中由 Horizon Length 決定
horizonlength = greatestoffse – smallestoffset.

做程序實現的時候,最小不能低于某個值,最大也不能超過某個值。

3.3 Profile

前面講過,Path 可以看做是一根長長的線,上面掛了許多鈴鐺。

這些鈴鐺依附在線上,在 ADASIS v3 中用 Profile 表示。

Profile 有不同的類型,可以代表不同的道路相關信息,比如限制車速、路口位置、交通標志等等。

V2

  1. Profile

profile 是路徑的屬性,其相關信息是基于所在路徑來確定的。而路徑在 ADASIS v2 的概念里,是具有明確方向的,車輛沿著路徑行駛的方向即為路徑方向。因此,profile 所描述的屬性信息,如道路曲率、坡度等,都是在這個既定的路徑方向基礎上進行表達的。在描述一段具有曲率的道路時,profile 中的曲率信息是針對車輛沿著該路徑行駛方向而言的,正曲率可能表示車輛沿著路徑行駛時向右側轉彎,負曲率則可能表示向左轉彎 。這就意味著,雖然 profile 沒有專門的方向字段,但它與有方向的路徑緊密相連,從而間接體現了方向特性。

部分特定的 profile 類型能夠更直接地反映方向信息。Heading Change profile 用于表示路徑方向的變化情況,它通過描述相對于路徑的航向變化角度,清晰地展示了路徑方向的改變 。若該 profile 的值發生變化,就表明車輛在沿著路徑行駛過程中,行駛方向出現了調整。再如,在一些與道路幾何形狀相關的 profile 中,如描述道路中心線走向的 profile,雖然沒有明確的方向標識,但通過其對道路形狀的描述,結合路徑方向,可以推斷出車輛在該路段行駛時的大致方向變化。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/bicheng/77779.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/77779.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/77779.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flutter 狀態管理 Riverpod

Android Studio版本 Flutter SDK 版本 將依賴項添加到您的應用 flutter pub add flutter_riverpod flutter pub add riverpod_annotation flutter pub add dev:riverpod_generator flutter pub add dev:build_runner flutter pub add dev:custom_lint flutter pub add dev:riv…

【EasyPan】MySQL主鍵與索引核心作用解析

【EasyPan】項目常見問題解答(自用&持續更新中…)匯總版 MySQL主鍵與索引核心作用解析 一、主鍵(PRIMARY KEY)核心作用 1. 數據唯一標識 -- 創建表時定義主鍵 CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,use…

IcePlayer音樂播放器項目分析及學習指南

IcePlayer音樂播放器項目分析及學習指南 項目概述 IcePlayer是一個基于Qt5框架開發的音樂播放器應用程序,使用Visual Studio 2013作為開發環境。該項目實現了音樂播放、歌詞顯示、專輯圖片獲取等功能,展現了桌面應用程序開發的核心技術和設計思想。 技…

vscode 打開新頁簽

目錄 vscode 打開新頁簽 完整settings.json內容: vscode 打開新頁簽 .vscode目錄中 新建settings.json 在 settings.json 文件中,添加或修改以下行: json "workbench.editor.enablePreview": false 這將禁用預覽模式&#xff0…

C語言高頻面試題——常量指針與指針常量區別

1. 常量指針(Pointer to Constant) 定義: 常量指針是指向一個常量數據的指針,即指針指向的內容不能通過該指針被修改。 語法: const int* ptr;或者: int const* ptr;解釋: const修飾的是指…

c++基礎·列表初始化

目錄 一、列表初始化的核心優勢 二、基礎數據類型與數組初始化 1. 基礎類型初始化 2. 數組初始化 三、類與結構體初始化 1. 構造函數匹配規則 2. 注意事項 四、標準容器初始化 五、聚合類型(Aggregate Types)初始化 1. 聚合類型定義 2. 初始化…

數據分析與產品、運營、市場之間如何有效對齊

數據分析的重要性在于它能夠將海量的原始信息轉化為可操作的洞察。以產品開發為例,通過用戶行為數據的分析,產品經理可以清晰了解哪些功能被頻繁使用,哪些設計導致用戶流失,從而優化迭代方向。運營團隊則依靠數據分析來監控供應鏈效率、預測需求波動,甚至通過實時數據調整…

[C]基礎11.深入理解指針(3)

博客主頁:向不悔本篇專欄:[C]您的支持,是我的創作動力。 文章目錄 0、總結1、字符指針變量2、數組指針變量2.1 數組指針變量是什么?2.2 數組指針變量怎么初始化? 3、二維數組傳參的本質4、函數指針變量4.1 函數指針變量…

【漏洞復現】CVE-2024-38856(ApacheOfbiz RCE)

【漏洞復現】CVE-2024-38856(ApacheOfbiz RCE) 1. 漏洞描述 Apache OFBiz 是一個開源的企業資源規劃(ERP)系統。它提供了一套企業應用程序,用于集成和自動化企業的許多業務流程。 這個漏洞是由于對 CVE-2023-51467 的…

C++入門小館: 深入string類(二)

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的pa…

【nginx】服務的信號控制

目錄 1. 說明2. 常用信號及作用3. 信號控制的具體操作3.1 獲取 Nginx 主進程 PID3.2 發送信號 4. 應用場景4.1 重新加載配置文件4.2 日志切割 5. 平滑升級 Nginx6. 注意事項 1. 說明 1.Nginx 的信號控制是其管理服務的重要機制,通過向主進程發送特定信號&#xff0…

Ubuntu下展銳刷機工具spd_dump使用說明

spd_dump使用說明 源碼地址:https://github.com/ilyakurdyukov/spreadtrum_flash 編譯環境準備: sudo apt update sudo apt install git sudo apt install build-essential sudo apt install libusb-1.0-0-devIf you create /etc/udev/rules.d/80-spd…

鴻蒙NEXT開發LRUCache緩存工具類(單例模式)(ArkTs)

import { util } from kit.ArkTS;/*** LRUCache緩存工具類&#xff08;單例模式&#xff09;* author 鴻蒙布道師* since 2025/04/21*/ export class LRUCacheUtil {private static instance: LRUCacheUtil;private lruCache: util.LRUCache<string, any>;/*** 私有構造函…

筆記:react中 父組件怎么獲取子組件中的屬性或方法

在子組件中我們可以使用下面兩個方法去暴露你所要放行的屬性或方法&#x1f447; 1.useImperativeHandle 2.orwardRef 搭配使用例子 import React, { useState, forwardRef, useImperativeHandle } from "react"function Son(props, ref) {const [data] useStat…

《潯川代碼編輯器v2.0內測(完整)報告》

一、測試概述 潯川代碼編輯器v2.0經過為期五周的封閉內測&#xff0c;累計提交了186份測試報告。本次內測主要針對v2.0新增的多語言支持、AI輔助編碼、性能優化等核心功能進行全面驗證。 二、測試環境 - 硬件配置&#xff1a;i7-12700H/16GB RAM/512GB SSD - 操作系統&#xf…

ubuntu18.04安裝QT問題匯總

1、Could not determine which ”make“ command to run. Check the ”make“ step in the build configuration.” sudo apt-get install clang sudo apt-get install build-essential sudo apt-get install libqt4-dev 2、fatal error: sqlite3.h: No such …

基于單片機的BMS熱管理功能設計

標題:基于單片機的BMS熱管理功能設計 內容:1.摘要 摘要&#xff1a;在電動汽車和儲能系統中&#xff0c;電池管理系統&#xff08;BMS&#xff09;的熱管理功能至關重要&#xff0c;它直接影響電池的性能、壽命和安全性。本文的目的是設計一種基于單片機的BMS熱管理功能。采用…

CSS基礎-即學即用 -- 筆記1

目錄 前言CSS 基礎1. 層疊樣式表來源理解優先級源碼順序經驗法則繼承inherit 關鍵字initial 關鍵字 2. 相對單位em 和 rem響應式面板視口的相對單位使用vw定義字號使用calc()定義字號自定義屬性&#xff08;即CSS變量&#xff09; 3. 盒模型調整盒模型 前言 只需一分鐘就能學會…

Linux中服務器時間同步

簡單介紹 在 redhat 8 之前&#xff0c;時間同步服務是使用 NTP&#xff08;網絡時間協議&#xff09;來實現的&#xff0c;在 redhat 8 及之 后使用是 NTP 的實現工具 chrony 來實現時間同步。 在 redhat 8 及之后&#xff0c;默認情況下已經安裝好 chrony 軟件并已經開機啟…

讓SQL飛起來:搭建企業AI應用的SQL性能優化實戰

我上一篇文章已經講解過了如何使用公開的AI模型來優化SQL.但這個優化方法存在一定的局限性.因為公開的AI模型并不了解你的數據表結構是什么從而導致提供的優化建議不太準確.而sql表結構又是至關重要的安全問題,是不能泄露出去的.所以在此背景下我決定搭建一個自己的AI應用在內網…