在上期文章中,我們提到了自動駕駛的HIL測試中目前需要考慮的兩個問題:
對于同步,需要考慮:
對于時延:
同步問題解決方案
應對同步的問題可以使用網絡時間服務器作為HIL模擬器和虹科Orolia Skydel GNSS模擬器的共用時鐘源,確保HIL仿真器和GNSS模擬器上的操作系統在數百微秒內緊密同步。在HIL模擬器和虹科Orolia Skydel GNSS模擬器中均使用Linux系統,并配置精確時間協議(PTP)將時鐘與網絡時間服務器同步。

?
HIL模擬器接收到自動駕駛儀發送過來的數據后,會為數據添加時間戳,保證數據與GNSS模擬器共用同一個時鐘源,以最大限度減少二者之間的抖動和漂移。接著通過HIL客戶端把真實的位置信息發送到虹科Orolia Skydel GNSS模擬器上,通過GPU生成IQ數據并發給SDR產生射頻信號。需要注意,SDR也屬于模擬器部分,同樣需要進行同步,所以需要從同一時鐘源接收PPS來進行時間同步。這樣就實現了HIL模擬器和虹科Orolia Skydel GNSS模擬器的安全同步。
延遲問題解決方案
存在延遲的原因:
在自動駕駛中,從自動駕駛儀命令輸入真實信息給HIL模擬器,再到GNSS模擬器生成RF信號的過程中不可避免的會存在延遲。在這一個過程中,延遲存在于三個環節中:

?
- 在HIL模擬器中確定真實軌跡(也就是自動駕駛儀發送過來的信息)所需時間,而HIL模擬器對這些信息的采樣率不同可能會影響仿真器的處理時間。
- HIL模擬器處理完成并輸出計算的真實位置到GNSS模擬器的傳輸時間,這一傳輸的時間是不可避免的。
- GNSS模擬器處理收到真實位置并創建與軌跡對應的射頻信號的時間,通常稱這個時間為引擎延遲。
引擎延遲觀測解決方案:
在虹科Orolia Skydel GNSS模擬器中設置處理和生成軌跡的時間,通過性能界面觀測樣本傳輸是否正常,若不正常,可以把引擎延遲時間調大一點,從而得到最優的引擎延遲時間,以減少延遲
如果希望將引擎延遲,也就是GNSS處理器處理和生成軌跡并創建與軌跡對應的射頻信號的時間延遲減少到幾毫秒,則可能會將硬件推向極限,從而造成欠載。GNSS模擬器中提供的性能圖可以直觀地了解所設置的引擎生成時間離硬件極限有多遠,以設置最優的引擎生成時間來保證引擎延遲的最優化。

下圖左側是模擬最后一分鐘的概覽,右側是模擬最后一秒的詳細視圖:

?
為了更好地理解該圖,首先需要了解GNSS模擬器實時模擬的工作原理。GNSS模擬器在1毫秒的塊中處理模擬,每個塊必須通過3個工作線程:
- 星座工作線程
- 調制工作線程
- 數據流線程
這些工作線程的組合稱為管道,樣本通過管道所需的時間是確定系統延遲的主要因素。由于一個樣本模擬的是1毫秒,因此SDR以1000Hz(實時)的穩定速率進行處理。實時GNSS模擬器被允許提前處理這些樣本,但受到之前設置的引擎延遲的限制,當GNSS模擬器無法及時向SDR提供樣本時,就會發生欠載(也稱為下溢)。
下圖垂直軸上顯示的時間是:與SDR傳輸樣本的時間相比,樣本被提前處理的時間,引擎延遲限制可以提前處理樣本的時間。因此,工作線程應始終位于引擎延遲線下。

?
一個正常穩定的系統應始終開始在接近引擎延遲閾值的塊上工作。換句話說,藍色的工作線程應盡可能接近引擎延遲線。如果藍色工作線程低于引擎延遲,則表示模擬器落后;如果它沒有迅速趕上,就會發生欠載。根據系統的不同,藍色工作線程可能會靠近引擎延遲線,但仍有其他線程下降。如下圖,模擬器落后,發生欠載。

?
下圖顯示了GNSS模擬器模擬最后一秒的分解圖,可以看到管道實時的處理情況。比如圖中藍色工作線程始終位于引擎延遲的下方,并接近引擎延遲,也就是說模擬器此時并沒有落后。而調制線程先落后再趕上并趨于穩定,且在這個過程中沒有發生欠載,不會對信號生成產生影響,說明此時的引擎延遲是可靠的,還可以再嘗試調小,調小后再次觀察性能圖是否發生欠載。通過這種方式即可以找到最優的引擎延遲。

?
傳輸延遲解決方案:
(1)
HIL模擬器定期發送當前接收機位置,虹科Orolia Skydel GNSS模擬器可以推斷接下來的軌跡以減輕延遲的影響,GNSS模擬器能夠根據收到的樣本估計接收器接下來的位置,從而無需等待中間的傳輸時間。
從自動駕駛儀命令的輸入開始,HIL模擬器接收到接收機的位置和動態信息,如速度、加速度、抖動等,并定期的對這些數據進行采樣,給每個樣本都打上時間戳以對應采樣的時間,此信息被稱為PVA樣本。
接著HIL模擬器發送處理過后獲得的真實位置給虹科Orolia Skydel GNSS模擬器,GNSS模擬器根據這些數據實時推斷接收機的下一個位置。此時需注意,對于GNSS模擬器來說,HIL模擬器發送給它的數據是過去的,是過去時間接收的信號,而對于RF信號來說GNSS模擬器發送給它的信號是經過推算后的軌跡,是未來的軌跡。
具體過程如下:
首先假設收到HIL客戶端發送過來的第一個樣本是T0,P點為當前時刻的T0樣本外推的軌跡位置。在P位置前一時刻,GNSS模擬器收到新的樣本T1。

接收到了新樣本,那么軌跡到了P點曲線應該怎么變化呢?由于接收器的軌跡是動態的,HIL模擬器接收到接收器的軌跡后,要進行采樣,也就是說,T0的外推軌跡不會和T1完美連接,從圖中可以看出T1和T0中間是有空間的。
為了降低不連續性,GNSS仿真器平滑了兩個外推軌跡之間的過渡。引入一個時間參數T,該參數是從新樣本輸入時刻開始,到P所處的外推曲線收斂到和新樣本外推曲線相交的時刻所用的時間。可以看到下圖,一個不連續的軌跡引入時間參數T后,軌跡收斂平滑,平滑后不改變軌跡的趨勢。

收斂完成后,此時P點由原來的位置,收斂到P2的位置。如下圖所示,此時HIL模擬器又輸入一個T2樣本到GNSS仿真器,在T時間內,將P點所在的外推曲線收斂到和T2樣本的外推曲線相交的點P3,使軌跡變得平滑。

若是在收到T1樣本并收斂到P2點的這段時間內,沒有收到新的樣本T2,那么在P2之后會按照目前最新的樣本軌跡,也就是T1樣本的軌跡外推,直到收到下一個樣本。
不斷地收到新樣本,不斷地按照這樣的方式收斂和平滑,通過這樣的方式可以提前推斷GNSS的軌跡,不用等到下一個樣本到來再進行處理和平滑軌跡,既保證了軌跡的正確性,又減少了等待樣本時間和計算軌跡的時間,間接的減少了HIL模擬器到GNSS模擬器的傳輸延遲。
(2)
HIL 模擬器定期發送未來接收器位置信息,此時HIL模擬器必須提前足夠的時間接收位置以彌補GNSS模擬器的等待時間。
在這個方案中,HIL模擬器提前的時間被稱為時間偏移量,由于HIL模擬器發送的是未來某個時間的位置而不是當前位置,時間偏移量應該是以下各項的總和:
- HIL模擬器的采樣間隔
- 傳輸的網絡延遲
- 引擎延遲
例如,對于10ms的引擎延遲、200Hz的HIL模擬器采樣率和1ms的網絡延遲,時間偏移量應為16ms。
HIL模擬器發送帶有未來16ms時間戳的樣本,可以觀察到以下最佳模式:

目前大部分GNSS模擬器在延遲上最小只能做到20ms。而虹科Orolia GNSS模擬器通過設置最優引擎時間以及預測軌跡的方案,使GNSS模擬器擁有極低的時延,可以達到小于10ms的延遲,甚至達到5ms。同步的解決方案也使得HIL模擬器和GNSS模擬器在幾百微秒緊密時鐘同步,極大的提高HIL測試性能。
-
射頻
+關注
關注
105文章
5654瀏覽量
168708 -
通信
+關注
關注
18文章
6118瀏覽量
136786 -
無線通信
+關注
關注
58文章
4645瀏覽量
144309 -
智能汽車
+關注
關注
30文章
2929瀏覽量
107786 -
自動駕駛
+關注
關注
788文章
14007瀏覽量
167761
發布評論請先 登錄
相關推薦
自動駕駛“電車難題”如何解?
GNSS仿真中的HiL延遲:挑戰、影響與解決方案深度剖析






FPGA在自動駕駛領域有哪些優勢?
FPGA在自動駕駛領域有哪些應用?
自動駕駛仿真測試實踐:高精地圖仿真

評論