前言
ETAS Deterministic Middleware Solution(EDMS,前身為AOS)確定性中間件解決方案,是一個中間件框架,旨在面向汽車領域內(nèi)應用程序的獨特挑戰(zhàn)和需求,尤其是在高級駕駛輔助系統(tǒng) (ADAS)和自動駕駛 (AD)的背景下,為開發(fā)人員提供了創(chuàng)建高性能和高安全性應用程序所需的工具、運行時環(huán)境和集成能力。
一
嵌入式實時系統(tǒng)中的確定性
什么是嵌入式實時系統(tǒng)的確定性
嵌入式實時系統(tǒng)中的確定性,是指系統(tǒng)行為在特定條件下的可預測性和可重復性。在確定性系統(tǒng)中,給定相同的初始狀態(tài)和輸入,系統(tǒng)將始終產(chǎn)生相同的輸出,并遵循相同的動作序列。可預測性在實時系統(tǒng)中尤為重要,必須在滿足時間要求的前提下執(zhí)行任務,并確保可靠且正確的操作。
什么是時間確定性
時間確定性是指系統(tǒng)行為相對于時間的可預測性和可重復性。當時序行為一致并且可以被精確預測時,系統(tǒng)被認為是時間確定的。
時間確定的系統(tǒng)行為所依賴的因素有:
1.固定的執(zhí)行時間:
(Fixed Execution Time)
系統(tǒng)中的每個任務或進程都應該具有已知的固定執(zhí)行時間。這確保完成任務所需的時間是一致的,并且可以預測。
2.可預測的任務調(diào)度:
(Predictable Task Scheduling)
系統(tǒng)中使用的調(diào)度算法應該是可預測的,任務的執(zhí)行順序應該是確定的。這有助于預測每個任務的執(zhí)行時刻點和所需時長。
3.最低的中斷延遲:
(Minimal Interrupt Latency)
中斷是可以搶占系統(tǒng)正常執(zhí)行流的事件。在確定性系統(tǒng)中,中斷延遲(中斷發(fā)生和處理開始之間的時間)應最小化并可預測。
4.一致的硬件性能:
(Consistent Hardware Performance)
系統(tǒng)的硬件組件,包括處理器、內(nèi)存和外圍設備,應表現(xiàn)出一致和可重復的性能特征。硬件行為的可變性將會導致不確定的系統(tǒng)行為。
5.實時時鐘精度:
(Real-time Clock Accuracy)
系統(tǒng)中使用的實時時鐘的精度是一個重要環(huán)節(jié)。確定性系統(tǒng)需要穩(wěn)定的時鐘源,并提供精確的計時,以確保精準的時序測量和任務調(diào)度。
6.確定性通信:
(Deterministic Communication)
在組件之間需要通信的系統(tǒng)中,通信協(xié)議應設計為具備確定性。其中包括有保證的遞送時間、有限的通信延遲和最小的抖動。
7.資源預留和分配:
(Resource Reservation and Allocation)
采用資源預留機制,比如為特定任務分配固定的時隙,可以確保任務在已知的時間范圍內(nèi)接收所需的資源,進而有助于確定性行為。
8.避免非確定性延遲:
(Avoidance of Non-deterministic Delays)
為保持確定性行為,應盡量減少或謹慎管理非確定性延遲,例如不可預測的I/O訪問次數(shù),或等待外部事件。
實現(xiàn)時間確定的系統(tǒng)行為是極為復雜的,但對于汽車控制系統(tǒng)、航空電子設備、醫(yī)療設備和工業(yè)自動化等領域,時間精度對安全和性能意義重大。
什么是數(shù)據(jù)確定性
數(shù)據(jù)確定性是指系統(tǒng)行為在數(shù)據(jù)處理方面的一致性和可預測性。具體而言,這意味著給定相同的輸入數(shù)據(jù)集,并假設在相同的初始條件和執(zhí)行環(huán)境情況下,系統(tǒng)將一致且可預測的產(chǎn)生相同的輸出。
嵌入式實時系統(tǒng)中所謂的數(shù)據(jù)確定性,包含如下方面:
1.一致的數(shù)據(jù)處理:
(Consistent Data Processing)
嵌入式系統(tǒng)通常處理傳感器數(shù)據(jù)、控制信號及其他類型的輸入。數(shù)據(jù)確定性確保了對此類數(shù)據(jù)處理的一致性,從而在相同情況下對相同輸入產(chǎn)生相同結(jié)果。
2.確定性算法:
(Deterministic Algorithms)
用于數(shù)據(jù)處理的算法應設計為具備確定性。假使系統(tǒng)依賴于非確定性算法,則即使在相同的輸入數(shù)據(jù)下,結(jié)果也可能不同,會引入不確定性,難于滿足實時約束條件。
3.避免不確定元素:
(Avoidance of Non-deterministic Elements)
不確定元素(如隨機數(shù)生成器、異步外部事件或不可預測的中斷處理),會在數(shù)據(jù)處理中引入可變性。在嵌入式實時系統(tǒng)中,通常試圖最小化或謹慎管理上述不確定元素。
4.可復現(xiàn)性:
(Reproducibility)
可復現(xiàn)性是數(shù)據(jù)確定性的關鍵特性之一。在需要測試、調(diào)試或驗證系統(tǒng)的場景中,數(shù)據(jù)確定性的系統(tǒng)行為能夠?qū)崿F(xiàn)一致的復現(xiàn)、診斷和驗證問題。
5.實時約束:
(Real-time Constraints)
滿足實時約束不僅需要確定的時序行為,還需要確定的數(shù)據(jù)處理。例如在控制系統(tǒng)中,決策基于傳感器數(shù)據(jù),數(shù)據(jù)處理的確定性對于在指定的時間范圍內(nèi)實現(xiàn)正確的系統(tǒng)響應至關重要。
6.確定性通信協(xié)議:
(Deterministic Communication Protocols)
嵌入式系統(tǒng)中組件之間的通信可能涉及數(shù)據(jù)交換。使用確定性的通信協(xié)議可以確保可靠且可預測的傳輸和接收數(shù)據(jù),將有助于實現(xiàn)整個系統(tǒng)層面的確定性。
7.驗證和確認:
(Validation and Verification)
在安全關鍵型應用中,驗證和確認過程依賴于數(shù)據(jù)處理的可預測性和一致性,確保數(shù)據(jù)確定性關乎于證明系統(tǒng)的正確性。在嵌入式實時系統(tǒng)中實現(xiàn)數(shù)據(jù)確定性需要仔細考量軟件和硬件兩方面,這需要將算法、數(shù)據(jù)結(jié)構(gòu)和通信機制設計為具備確定性,并且通常還會涉及處理系統(tǒng)中的不確定性來源。
EDMS中的確定性
使用EDMS構(gòu)建的ADAS/AD系統(tǒng)引入了數(shù)據(jù)確定性這一概念,因為系統(tǒng)行為在數(shù)據(jù)處理方面的一致性和可預測性,對于驗證系統(tǒng)的正確性有突出的意義。
下面將分別介紹ETAS確定性中間件,EDMS中的調(diào)度機制,以及確定性重算如何加速ADAS/AD開發(fā)。
二
EDMS中的調(diào)度機制
——在延遲和可預測性之間實現(xiàn)最優(yōu)權(quán)衡
什么是調(diào)度
在汽車嵌入式軟件這個范疇,調(diào)度是指對于需要由嵌入式系統(tǒng)執(zhí)行的任務和進程,確定執(zhí)行順序和時間的過程。汽車嵌入式系統(tǒng)通常具有嚴格的實時要求,必須在特定的時限內(nèi)完成任務,以確保車輛功能的正常運行。
為什么需要調(diào)度
汽車嵌入式軟件中的調(diào)度對于確保系統(tǒng)的安全性、可靠性和可預測性有著重要意義。調(diào)度有助于滿足各種汽車應用程序所附加的時間約束,適當?shù)恼{(diào)度技術(shù)對于確保關鍵任務在特定時間內(nèi)執(zhí)行,以及系統(tǒng)在所有操作條件下的可靠運行來說是至關重要的。
數(shù)據(jù)驅(qū)動型調(diào)度
數(shù)據(jù)驅(qū)動調(diào)度是一種基于數(shù)據(jù)和運行時信息做出任務執(zhí)行決策的方法,而不是僅僅依賴于預定義的優(yōu)先級和固定的調(diào)度表。
時間驅(qū)動型調(diào)度
時間驅(qū)動調(diào)度是一種基于預定義調(diào)度表來執(zhí)行任務的調(diào)度方法,通常在運行之前就已確定。在時間驅(qū)動的調(diào)度中,任務被分配特定的時隙或間隔,在這些時隙或間隔內(nèi),期望任務被執(zhí)行。
ADAS/AD功能的典型架構(gòu)
大量傳感器(例如攝像頭、雷達、激光雷達、超聲波傳感器)產(chǎn)生高負載的測量數(shù)據(jù)。
處理傳感器數(shù)據(jù),檢測和提取對象,并將數(shù)據(jù)傳輸?shù)阶鴺讼怠_@期間需要使用帶有微處理器(uP)和硬件加速器(HWA)的系統(tǒng)級芯片(SoC)。
之后對預處理的傳感器數(shù)據(jù)進行融合(Sensor fusion),形成周圍空間的整體畫面。并以此,計算駕駛場景(Planning)。
最終在激活執(zhí)行器之前,同步計算得出的駕駛動作。這通常需要基于微控制器(uC)。
選擇最佳調(diào)度機制
基于ADAS/AD系統(tǒng)的架構(gòu),不同的子系統(tǒng)對其調(diào)度有不同的要求:
包括特征提取的感知是傳感器驅(qū)動的。對于此類任務,事件驅(qū)動型調(diào)度最適合,可以提供低延遲。
傳感器數(shù)據(jù)融合和規(guī)劃是執(zhí)行器驅(qū)動的。對于此類任務,時間觸發(fā)激活最適合,因為可以確保執(zhí)行的高可預測性,這對于預期功能的安全性(SOTIF)至關重要。
基于EDMS的系統(tǒng)中的調(diào)度
為了滿足ADAS/AD系統(tǒng)的調(diào)度需求,EDMS支持時間和數(shù)據(jù)兩種類型觸發(fā)的活動(Activities)。
確保數(shù)據(jù)一致性
為了確保數(shù)據(jù)一致性,EDMS實施了如下概念:
活動開始時凍結(jié)輸入數(shù)據(jù):活動的輸入數(shù)據(jù)是固定的,并且在活動開始后保持不變。
延遲到活動結(jié)束時輸出數(shù)據(jù):活動生成的輸出數(shù)據(jù)將被保留,并且在活動完成之前不會對外釋放。
一個活動中的全部數(shù)據(jù)或無數(shù)據(jù)對另一個活動可見:活動之間的數(shù)據(jù)可見性遵循全有或全無的方式,這意味著一個活動的所有數(shù)據(jù)都可以被另一個活動訪問,又或者是任何數(shù)據(jù)都不能被訪問。
如果活動正在運行,則延遲激活(無并行執(zhí)行):如果當前有另一個活動正在運行,活動的激活將延遲,以確保活動不會并行執(zhí)行。
基于EDMS的系統(tǒng)的特性
基于EDMS的系統(tǒng)在延遲和可預測性之間提供了最優(yōu)折中,
狀態(tài)比純數(shù)據(jù)驅(qū)動的系統(tǒng)少得多:與純數(shù)據(jù)驅(qū)動的系統(tǒng)相比,基于EDMS構(gòu)建的系統(tǒng)具有明顯少的可能狀態(tài)。
延遲比純時間驅(qū)動的系統(tǒng)低得多:基于EDMS構(gòu)建的系統(tǒng)中的延遲比完全由時間驅(qū)動的系統(tǒng)要低很多。
基于EDMS的系統(tǒng)中的確定性
由于調(diào)度和計算的抖動,活動組成的系統(tǒng)不是完全時間確定的:調(diào)度和計算的抖動在系統(tǒng)中引入了非時間確定性行為。
然而,基于EDMS的系統(tǒng)能夠?qū)σ韵路矫嫣峁┛蓮同F(xiàn)的行為:
軟件鎖步(實時):系統(tǒng)可以在運行中實現(xiàn)同步、鎖步執(zhí)行軟件中的活動(軟件鎖步)。
完全相同的重新計算:系統(tǒng)可以通過重算來復現(xiàn)完全相同的結(jié)果,確保開發(fā)相關場景的一致性,例如使用取證重算(Forensic Recompute)或驗證,進行問題分析和調(diào)試。
三
確定性重算和仿真駕駛
——加速AD開發(fā)的革命性概念
自動駕駛(AD)系統(tǒng)在充滿挑戰(zhàn)的復雜地形中導航,開發(fā)和測試依賴精度和可靠性。具有革命性的“確定性重新計算”(Deterministic Recompute),配合具有創(chuàng)新性的“仿真駕駛”(Virtual Drives),為驗證階段面臨的難題提供了強大的解決方案。
確定性重算和仿真駕駛
重算的核心任務,是由AD系統(tǒng)處理已記錄的或人工生成的數(shù)據(jù)。確定性重算能夠保證在給定相同輸入的情況下,輸出保持一致。基于這一功能特性,仿真駕駛提供了一個模擬環(huán)境來復制真實世界的駕駛場景,創(chuàng)建一個用于測試的受控數(shù)字空間,而無需進行廣泛的真實道路驗證。
ROS中的非確定性行為
機器人操作系統(tǒng)(Robot Operating System, ROS)是一個開源中間件框架,旨在開發(fā)機器人系統(tǒng)。在自動駕駛應用領域,ROS通常用于預開發(fā)車輛系統(tǒng)的各個組件,如感知系統(tǒng)(攝像頭、激光雷達、雷達)、控制系統(tǒng)或路徑規(guī)劃算法。
雖然ROS提供了開發(fā)ADAS/AD系統(tǒng)所需的諸多關鍵功能,但使用相同的輸入數(shù)據(jù)進行重新計算,系統(tǒng)可能會輸出不同結(jié)果。
EDMS中的確定性行為
作為ETAS確定性中間件解決方案,EDMS是專為ADAS/AD系統(tǒng)的開發(fā)而設計的。
使用相同的輸入數(shù)據(jù)重新計算將提供相同結(jié)果。
確定性與非確定性系統(tǒng)行為示例對比
確定性重新計算的應用
通常來說,確定性重新計算有三個主要應用:
問題分析/調(diào)試(Problem Analysis / Debugging)
功能開發(fā)(Function Development)
基于仿真的驗證(Simulation-based Validation)
問題分析/調(diào)試:
在發(fā)生現(xiàn)場問題時,確定性重算和仿真駕駛的聯(lián)合使用,允許開發(fā)人員在其桌面電腦的開發(fā)環(huán)境上即可復現(xiàn)問題缺陷。這種取證功能簡化了問題調(diào)查,有助于調(diào)試和快速故障定位。
功能開發(fā):
在仿真駕駛的環(huán)境下,確定性重算使開發(fā)人員能夠快速分析新功能以及軟件更改,縮短反饋周期并加速開發(fā)過程。這種組合確保了與虛擬環(huán)境的無縫集成,以進行精確測試。
基于仿真的驗證
持續(xù)驗證依賴于穩(wěn)健的回歸測試。確定性重算和仿真駕駛協(xié)作,以便于對每個軟件更改進行大規(guī)模、可重復的回歸測試。這不僅確保了軟件可靠性,還可與更廣泛的驗證和確認(V&V)策略無縫協(xié)同。
確定性重算和仿真駕駛的意義
在安全關鍵型的汽車行業(yè),遵守ISO 26262和ASIL–D標準是毋庸置疑的。確定性重算和仿真駕駛?cè)娼鉀Q了這一需求。實時執(zhí)行,配合大量數(shù)據(jù)的處理和長時間的記錄,這些都是仿真測試不可或缺的工具。
確定性重算和仿真駕駛協(xié)同的意義將不僅限于滿足仿真測試的要求。通過再現(xiàn)系統(tǒng)內(nèi)部數(shù)據(jù)取代了存儲大量數(shù)據(jù)集,不僅優(yōu)化了測試過程,還最大限度的減少了數(shù)據(jù)存儲需求,在加速AD系統(tǒng)開發(fā)領域這是一個關鍵里程碑。
審核編輯:劉清
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753076 -
處理器
+關注
關注
68文章
19259瀏覽量
229652 -
嵌入式系統(tǒng)
+關注
關注
41文章
3587瀏覽量
129435 -
自動駕駛
+關注
關注
784文章
13784瀏覽量
166386 -
ADAS系統(tǒng)
+關注
關注
4文章
226瀏覽量
25691
原文標題:簡析EDMS中的確定性
文章出處:【微信號:ETASChina,微信公眾號:ETAS易特馳】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論