網頁

2022-07-30

[openpilot] 2022/05/13 GH答客問 C3降低延遲的開發與全時車維的解禁

喜歡本文請押讚好,如果跳出確認視窗,要再押一次"確認"才能成功給我一個讚唷~

 

openpilot 0.8.14完成了重大卻又看起來無感的升級,就是畫面與遠端的同步低延遲。使用者難以察覺,但低延遲這個在純視覺AI是非常重要的能力,特斯拉的FSD為了做多鏡頭的延遲同步,也是花了非常大的心力,每顆鏡頭回傳畫面必須要相當一致才能正確的即時3D建模。由於comma也用上了3顆鏡頭,使得body的遠端操控或是comma FSD上,低延遲是第一個要達成的基本要件。

此外,這次也討論到安全性政策的問題,由於台灣汽車相關安全規範少,社會上也不重視國際上這些安全規範的新進展。我們可以透過這次討論,來看看comma在安全性上的觀點。




GH:跟承諾的一樣100毫秒延遲,在NV12版本下。

GH:喔(T265)不錯唷,它的真實感應器可以在C3上運作起來嗎?

GH:(它可以在斜坡上平衡) 應該要的。需要買一些像這樣的真實感應器來驗證SLAM(同步定位與地圖建構)。

GH:喔,我們可以買一些,如果它用起來很好。重點是程式碼容易使用。C3不能供電給D435嗎?它至少在USB端口會有一個電源放大。



GH:我的意思是,它可能很容易在Intel PC上使用,但在C3上不工作,我不知道有多少二進位的大型物件在PC上運行SLAM。

GH:(T265在一個有ASIC板子上運作SLAM而且是開源的)喔,真香。

GH:窩,90毫秒(在快速解拜耳跟NV12的組合下)。

GH:我不認為這是電源問題,dmesg和lsusb都看起來很好。它在lsusb中工作ID是 "Bus 004 Device 002: ID 8086:0b07 Intel Corp. Intel(R) RealSense(TM) Depth Camera 435" 。我敢打賭,這是權限或udev或其他問題。試著用sudo試試? 試著用stracing除錯?

GH:我在想剩下的延遲在哪里,它可能是:

* 攝像機本身的某種原因

* 在網絡中

* 在電腦上

GH:有任何人在AGNOS開機上有進展嗎?

GH:我的意思是如果你們只是要一個平庸的openpilot(那就用Android)。如果你想要它(在Pixel3上)很好,還可以上傳,請使用AGNOS移植。


GH:所以我們現在明白了大部分的延遲來源。

*30毫秒在處理+編碼

*10毫秒用於網絡、橋接等

*10毫秒用於解碼

*10毫秒用於watch3中的gl繪圖

*10毫秒用於顯示器翻轉@60fps

但這總共只有70毫秒。

我開始懷疑timestampSof是否在roll轉換之後,timestampSof和timestampEof之間的31毫秒是ISP遲滯。在這種情況下,如果我們去掉這個,openpilot也會減少31ms的延遲。在PC端會多損失15毫秒,而在openpilot端也會多損失10毫秒。所以理論上,50毫秒的往返是可能的。在50毫秒的延遲下駕駛,感覺就像沒有任何延遲一樣。

GH:所以在PC上我們不需要真的離開GPU,那個gl paint可以被移除,解碼可以減半。在C3上,編碼器中仍然有一個副本,而且debayer可以做得更快。順道一提,在openpilot中用debayer PR節省了~10毫秒。副本是5毫秒,在debayer中還有5毫秒可以去掉。


GH:噢,我發現了遺失的延遲了(和抖動)。因為圖片是以20fps拍攝的,當我截屏的時候沒有同步到同一頁。現在是80毫秒的任意運行。

GH:在body上comma 3有可利用雙眼視覺景深。

GH:0.8.14版本發布後,我們將把很多實驗性的東西合並到master版本中。如果你想要一個穩定的openpilot,請留在release版。如果你想獲得最先進的技術,請使用master版本。

GH:(C3開機有時候會閃過彩虹線條)這沒問題的,我們的XBL(bootloader)螢幕啟動程序時機點有點錯誤。我們以後會修復它,但它不影響使用所以不是高優先事項。

GH:comma body有配件了。(body 安全帽)


GH:60毫秒!(https://github.com/commaai/openpilot/pull/24639)

GH:還有50毫秒(在改成單一緩衝之後),現在延遲的分配是20-30在設備上,5-10在網路,5-16在PC上。在我iphone上的慢動作模式可以達到40毫秒。


GH:(有關使用iphone慢動作模式)不,我的意思是我在iphone上拍了一段螢幕的錄影,以確認螢幕擷取工具沒有什麽奇怪的地方。我想應該還要買一個硬體碼表。買了這個:https://www.amazon.com/ACCUSPLIT-Pro-Survivor-A601XBK-Stopwatch/dp/B0007ZGZW0

GH:我相信會被禁用原因只有"剎車後油門仍加速"


(補充上圖:當車子沒有剎車優先的時候,一面剎車一面催油門除了車輛暴衝造成失控,剎車系統也會高速摩擦起火,是相當危險的狀況。)

GH:你比較喜歡在剎車時留下轉向系統(全時車維)? 車廠版本真的會這樣做嗎?(現代起亞)

GH:在過去,我對這個問題比較強硬,但是很難以安全模型為理由來辯護,去排除一個車廠有的功能(全時車維)。我不相信(全時)這會是禁令,真正違反ISO26262的事情是 "剎車後持續催油門"。 


GH:好吧,只要你們能證明原廠也有,就不是違反安全模式。

GH:我不希望這與我們真正關心的事情混淆在一起,不值得花時間在這個事情上。如果有任何與全時車維相關的禁令(不應該有,但如果有的話),我們會撤銷這些禁令。歐盟現在有關於LKAS系統的標準。讓我找看看。歐盟也有關於DM的標準!

GH:ISO26262也有ACC的規範,假設歐盟規範不反對在剎車時仍有方向盤維持,我們就可以接受。

GH:我最好是知道我們有無限個政策資本(意味一些車廠獲得政府政策支持,所以有能力去驗證安全性),來驗證每一個安全模型,但這不值得花在這上面。 如果你是與車廠原廠的ADAS系統一樣的功能,一般來說就是可以的。

GH:這有一些重要的東西:https://blog.comma.ai/safer-control-of-steering/

我們致力去符合https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:42018X1947&rid=2裏頭的規範,裡面也明訂了扭矩的限制。

GH:不(官方版本沒有提供全時),原生的openpilot不是100%介入,就是100%無介入。

GH:(那允許油門呢?)那是一個100%介入的狀態。(補充:允許油門其實也是各車廠有的ADAS行為)


GH:踩油門和轉向的人為介入超控是一樣的。在狀態機中仍然只有兩個狀態。(它也不能在你向右轉的時候讓方向盤左轉)。

GH:(不過這更多是來自於原廠的硬體限制) 恩。

GH:(如果沒有扭矩限制,駕駛向右彎的時候,方向機可以向左彎嗎?)恩,當然。

它最後還是會向左轉(在破解扭矩安全性的狀態下)。理論上,它也可以在你踩下油門的時候踩下剎車,不過車上的安全模型阻止了(同時油門)這一點,所以車子最後會剎車。

GH:(最後AEB還是會剎車囉) 據我所知,並不是所有的AEB。

GH:(我在高速公路遇到其他車亂竄,我正在踩油門,但AEB還是幫我煞停) 我認為這樣劃分太粗略,它就像波音和空巴(兩者有截然不同的系統)。

GH:我在歐盟的法規中看到了這點"駕駛的轉向輸入應該要覆蓋系統的轉向動作。"(補充:這意味著駕駛轉向優先)

GH:我沒有看到任何關於制動的內容。
所以對於安全模式我們的觀點是:
* 如果原廠車在正常的ADAS操作下會做一些事情(不含AEB或泊車模式)
* 如果它不違反ISO26262(縱向的,例如ACC加速限制)。
* 如果它不違反https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:42018X1947&rid=2(橫向,例如扭矩限制)。
這些在openpilot的安全模式下是可以的。如果我們的禁令檢測器在其他方面出現問題(導致你的分支被禁),請告訴我。

GH:我很高興有歐盟法規的相關佐證。


GH:我從Adeeb那裡聽說,我們正往controls_allowed_long和controls_allowed_lat的方向發展。
我同意用一個ALTERNATIVE_MODE標誌來支援這點。(官方版的全時模式)但請確認歐盟的法規文件沒有不允許這樣做,歐洲的現代汽車也有全時車維嗎?

GH:(Jyoung我不同意這點,這樣似乎意味駕駛要沒介入或是踩剎車才能有AEB) 也許我是錯的,也許要有額外多餘的油門會取消AEB。

(補充,關於這點,由於各車廠的AEB作用時機有分階段或是有取消機制,在不同階段的運作邏輯不同,這在VW一樣,分成4個階段,在1與2階段駕駛介入有可能取消AEB)


GH:(何時會支援BMW)BMW等你開發完成就能用了

GH:對於機能安全(FuSa,或翻譯為功能安全性,不等同車輛安全性)來說,它可能很重要,也可能不重要。

再說一遍,如果你想要改一些在介入狀況的東西來改變openpilot的體驗,你就不應該使用openpilot這個名字。如果你想改變安全性,你最好完全知道你在做什麽,被禁用是你最不擔心的事情。我想說的是,在剎車時維持方向盤的替代體驗並沒有違反我們的安全模式。我們會考慮一些非常幹凈的PR,將允許的控制分為橫向和縱向,但這對我們來說不是高優先性事項,但這是我們最終會做的事情。

GH:(有關招募溝通人員)如果有合適的人出現,能夠擁有並執行完整的我們的溝通策略,當然可以。

我們目前的三個優先事項是:
* 價格 -- C3的製造成本太高,而且網站上幾乎沒有介紹它們是什麽,人們為什麽要花2000美元買C3?
* 可靠性 -- 硬體和軟體都是。C3的故障率接近10%,而不是1%。
* 新功能 -- 紅燈、號誌停車、openpilot導航、開車去TecoBell。

如果不在上面列表中,它就不是我們的高度優先事項。 這包括。
* 新汽款支持
* 替代的安全性模式東西
* 其他功能(如哨兵模式)。


GH:你也可以看到,我們不再做twitter宣傳了,我也會減少在discord上的活動。 我們大部分只得到酸民跟黑特的回應,沒有道理去參與它。

GH:https://github.com/commaai/openpilot/pull/22863 我們想要合併這個,有人開現代Tucson的嗎?

GH:謝謝你。在未來,"comma需要一個公關人員"或提問愚蠢問題將被禁用。我們在這裡都是為了讓openpilot軟體變得更好,如果你不是為了這個,請離開。有趣的是,在2021年openpilot支援30%在美國銷售的車款,我們應該能夠達到50%。

GH:每周提醒一次,關於#comma pencil的事情,一旦我們有了100張DCM照片的標簽,我們就可以訓練一個新的segnet並開始增進盲點的運作。請看新的變道/盲點資料:https://github.com/commaai/openpilot/issues/24638

GH:看看我們新的全幅駕駛監控,alexm如果你想要做推特宣傳全幅駕駛監控的話,我們可以把畫面上的toggle移除。



GH:(駕駛監控照片上傳)我想我們最多相同車要5到10張照片。選擇那些最多變化的照片。

GH:(就算場景多樣性)它的問題在於車子總是在相同的地方。(最好是選擇不同路況環境上傳)

GH:(可以花錢請人上傳每趟路程給10美元,可以節省人力。) 你可以來試看看,自己分析上傳結果,它們是不是一個好的PR?"節省人力"?誰來設置這件事?誰來寫指引?誰來驗證照片好不好?

GH:0.8.14的blog要來了。


GH:32G的C3會持續很長一段時間都是最便宜的C3。

GH:我們不做廣告。


GH:(Toggle的設定)這不是問題。我討厭toggle在路上不能改變切換 @Willem Melching 在sonata上,我會改變它們,然後重新啟動設備。我們可以讓它們改變,然後顯示"功能改變不會立即啟用,直到你重新發動你的車"。

GH:或者,如果其中一些功能可以立即發揮作用,那就更好了。我們還在今天上午的openpilot電話會議上還討論了可調整的跟車距離,這將是e2e縱向的"進步性"。

GH:廣告就像把打火機油塗在烤架上,不是一個好的烤肉方式。"跟某團隊合作"唉,我們永遠不會這樣做。我們將在未來的版本中使安裝更加容易。

GH:手動(調整跟車距離),就像其他ACC系統一樣,允許油門發布在0.8.14了!

----------------------------------------------------------------------------------------------------------------

如果你是第一次來到這邊,歡迎加入下方社群,我都會在第一時間報導與解析Comma ai與openpilot的最新動態,快來一起follow吧!