**駕駛模型改進**
在 Blue Diamond 模型中,comma增加訓練的數量,此外還應用了FastViT 架構。改善了在出口和車道變換的駕駛性能。
在 Los Angeles 模型中,OP模型現在只輸出車輛預計的路徑,在這種情況下模型與控制之間只剩單一值,簡化了程式碼,同時提高了性能。並為未來的強化學習(RL)架構做好準備。目前這些只適用於橫向控制,將來對縱向控制也會做出類似修改。
由於OP對於橫向控制做了較大的修正,而且還在開發驗證的AI模型很多,分支雖然提供模型切換但都還不是釋出版本,加上其他分支套用版本不同,有時對MPC參數修改,都會影響模型輸出導致不穩定。所以使用分支覺得橫向不穩定的話,建議安裝並測試看看官方原生的OP版本,才能知道是不是分支修改產生的干擾。
**新的駕駛員監控模型**
新的 Quarter Pounder Deluxe 駕駛監控模型,使用了超過3200用戶的數據訓練,相比之前的模型多四倍。這提高了對車款內裝和駕駛的辨識能力,而分心警告的靈敏度仍維持一致。
**bodyjim**
comma body現在終於有了API,這個API是用來以RL來簡化開發。bodyjim有一個專門為comma body的pip安裝包。它可以在本地或遠端設備上運行。只需要幾行程式碼,就可以同時獲得三顆鏡頭的影像、串流傳輸訊息,並進行遠端操控。
只要在PC上運行pip install bodyjim,然後執行以下指令:
import bodyjim
env = bodyjim.BodyEnv("<body_ip_address>", cameras=["driver"], services=["accelerometer", "gyroscope"])
obs, _, _, _, _ = env.step((1.0, 0.0))
dcam_image = obs["cameras"]["driver"]
accelerometer, gyro = obs["accelerometer"], obs["gyroscope"]
**WebRTC 串流**
WebRTC是comma body的一個常駐程式,我自己猜RTC應該是real time control的縮寫,在webrtcd和teleoprtc可以看到他的程式碼。他可以將body的鏡頭跟麥克風低延遲的傳輸到控制PC上,用以監控或是遠端即時操作。
**AGNOS 9更新**
AGNOS 9支援了LightningHard,這是comma自己開發的Snapdragon 845 SOM,即將在新的comma 3X使用。這次軟體更新還包括:
- 修復啟動畫面閃爍問題
- 修復偶發的音頻播放問題
- 減少偶發的螢幕條紋問題
- 支持USB 3.0 fastboot刷機
- 在主機名中包含了設備序列號,例如原本tici 改成 comma-aeffe5d0
**機器學習控制器**
在OP 0.9.2釋出版本中,OP在雪佛蘭Bolt的車上採用了一種非線性前饋函數。它提高了控制性能,但這不是通用的解決方案。它沒有考慮到對速度和前向加速度等其他要素的相關性。就算comma考慮所有變數,也需要先猜測一個參數化的函數,然後再用機器學習學習權重。
最後,這種方法還是要實際車款跟用戶測試上路測試提交數據,就算做了這些,也可能無法涵蓋所有情況。這個過程既模糊也漫長,也會受到用戶"覺得有沒有更好"的主觀影響,或是像twilsonco的NNFF(Nerual Network Feedforward)等神經模型,這些都沒有更好的方法來測底測試它們。
-MLControlsSim
所以comma ai開發了MLControlsSim。是一個基於GPT-2的模型,它接收汽車狀態(如速度、路面滾動、加速度等)和轉向輸入,並預測汽車在固定長度的文本的橫向輸出。這種方法不需要先猜測和調整前饋函數的基本參數。該模型使用comma-steering-control的真實道路數據進行訓練。該模型可以被自回歸運行以預測橫向加速度。等待訓練完成,AI會直接從真實數據中學習最佳的控制策略,這個模型就可以實際上路使用了。
-Bolt Neural Controls
驗證控制系統模擬器是否如預期工作的一種簡單方式,就是在模擬器中循環比較真實值、線性和非線性前饋函數。如下圖
有了測試的基礎架構,comma ai訓練了一個前饋函數來預測所需的轉向輸入-- 一個簡單的4層多層感知器模型(Multi layer perceptron,MLP)。
comma ai在控制模擬器中循環測試了MLControlsSim模型,結果顯示MLControlsSim表現最好。
一旦將這個前饋函數發佈到主控制器中,我們驗證發現來自駕駛模型的y0預測(模型在t=0的時刻)比原有釋出版本中的控制器表現更好。
這是為了要讓所有平台實現End2End Nerualnetwork Control令人非常興奮的第一步。首先,它不需要像NNFF針對每個車款蒐集各種情況的資料,MLControlsSim消除所有預先猜測或是蒐集實際參數的工作。但更重要的是,它提供了一個框架,可以在不接觸實車的情況下思考和比較各種演算法。
然而,仍有一些未解決的問題。例如,模擬器無法正確模擬高頻振盪,因為訓練數據中幾乎沒有這種情況(駕駛保持openpilot啟用狀態時,通常不會讓方向盤高頻振蕩)。我們目前的優先事項是解決這些問題,並為社群發佈特定平台的模擬器模型以供實驗。
**openpilot工具**
-Segment Range
在這個版本中,使用了新的格式來指定路線和段,稱為"Segment Range"。格式如下:
344c5c15b34f2d8a / 2024-01-03--09-37-12 / 2:6 / q
[ dongle id ] [ timestamp ] [ selector ] [ query type]
選擇器允許使用Python切片語法選擇段落。在此示例中,我們可以得到 [2,3,4,5]的路徑片段。
-LogReader
這種新格式與我們新的LogReader可以匹配,用起來更簡單,並且可以自動確定要讀取的來源。
# 從段2到5獲取rlogs
lr = LogReader("344c5c15b34f2d8a/2024-01-03--09-37-12/2:6")
# 獲取最後一個qlog
lr = LogReader("344c5c15b34f2d8a/2024-01-03--09-37-12/-1/q")
# 獲取每隔一個qlog (Python語法)
lr = LogReader("344c5c15b34f2d8a/2024-01-03--09-37-12/::2/q")
-commaCarSegments
comma ai還發佈了一個新的開源汽車數據集commaCarSegments,包括數千個帶有can和carParams數據的片段。該數據集針對每個平台1000個片段,以及每個dongle ID有20個片段,這個初始版本全部共有145595個片段。這相當於來自3677名用戶和223種車型的2500小時數據。comma計劃隨著新平台的支持而經常更新此數據集,並將其擴展到有日誌但尚未支援的汽車。
comma還發布了一些筆記作為內部驗證車輛更改的示例。驗證佔comma審查PR時的大部分時間,這使外部貢獻者能夠進行與comma相同水平的驗證。隨著數據集的發布,對於所有特定於汽車的工作,再也不會存在“內部”和“外部”工作流之間的區別;我們都在使用相同的程式碼、數據和工具!
**CAR**
這版新增對於Toyota RAV4和RAV4 Hybrid 2023-24的支持,這兩款車型採用了LTA系統,以及Toyota的新基於角度的轉向控制API。與支持福特的曲率控制時一樣,comma也利用這個機會對panda安全性進行了重構和簡化,將變異測試引入panda中,導入MISRA C:2012虛假測試。這將很快擴展到標準的車輛安全測試,從測試中有效發現和修補這些潛在的安全漏洞。
-CAN fuzzing test
openpilot和panda兩者都有重複檢查汽車狀態和安全邏輯的程式碼。這種雙重安全性,允許panda獨立於openpilot強制執行安全性,但也增加了openpilot和panda在解析汽車狀態時發生分歧而導致錯誤的風險。在這個版本中,comma添加了一項測試,對CAN數據字節進行模糊測試,並比對兩者解析出的汽車狀態,以確保一致性。
-Fingerprinting
這個版本改善comma 3X的即插即用的體驗,減少對OBD-II端口指紋識別的依賴(comma power),適用於許多車廠和車型。comma還進一步改善了對所有豐田車型和部分現代CAN FD車型的模糊指紋識別功能,更多改進將在下一個版本中推出。
以上就是openpilot 0.9.6的介紹,有興趣的人快來讓自己車上裝一套AI設備openpilot吧。
======工商業配時間======
O2是高階車道維持,它相當於Tesla EAP
C3X是E2E縱向與導航控制,相當於Tesla FSD
你不需要思考自己要裝O2還是C3X,其實你要思考的是你的車子需要一套openpilot。只要你的車是支援車款,都可以不用換車升級你的ADAS,為你的旅程帶來更多的舒適和便利。comma ai的openpilot是真實的ai產品,而且他們在E2E自動駕駛技術領域的領先地位以及不斷創新。讓我們期待未來升級ai模型可以帶來更多的驚喜,一起見證ai科技對我們生活的改變。