Level 2 自駕車開軟硬體方案: comma.ai openpilot

Bob Wang
Bob Wang
Jun 17 · 7 min read

目前市場上可以購買的自駕系統中,最著名先進的就是特斯拉 (Tesla)的 AutoPilot 系統,其在自駕車的分類當中屬於 Level 2 的先進駕駛輔助系統 (Advanced Driver-Assistance Systems, ADAS)。在這個級別中,駕駛在使用自駕系統的過程中必須全程注意系統表現並且要能隨時接管,駕駛必須對任何在使用自駕系統過程中所發生的意外事故負責。comma.ai 提供一個開源的軟體平台 (openpilot) 與硬體(EON DevKit, panda OBD-II Interface and Giraffe Connector) 來進行車輛升級,達成 Level 2 的先進駕駛輔助功能 [1]。

筆者將 openpilot 裝在 2017 Toyota RAV4 Hybrid 來進行相關先進駕駛輔助功能測試。影片1 是在國道三號從新竹到板橋路段的 Level 2 自駕測試,其中使用 openpilot 車道偵測與車道維持系統、原裝 Toyota 車距維持巡航系統與 Arne Schwarck [2] 所加上的自動變換車道軟體。

影片1: openpilot 高速公路測試。

硬體系統

EON 是執行openpilot 自駕軟體的硬體系統,其中主要是一隻 LeEco Le Pro 3 手機再加上散熱風扇與固定裝置,如圖一所示。Panda 則是用來與車輛溝通的介面裝置。Panda 可以讀取許多車輛重要數據,其中包含車上雷達的數據。EON也是透過 Panda 對車輛下達控制命令。由於車子上有一些 Controller Area Network (CAN) buses 並無法透過 Panda之 OBD-II 連接器讀取,comma.ai 設計 Giraffe 來讀取這些 CAN buses 的訊息。圖二是筆者所使用的灰色 Panda 與 Toyota Giraffe。目前 comma.ai 提供的 Giraffe 有 Honda Nidec, Honda Nidec (Inverted), Honda Bosch, Toyota 與 Fiat Chrysler。支援 Subaru、GM、Hyundai 之非官方版 Giraffe 則需自行製作或是尋求社群內的高手協助[3][4]。讀者需留意 openpilot 目前還不是一個隨插即用的產品,需要一些專業知識與經驗來解決安裝過程所遇到的問題[5][6]。

圖 1: comma.ai EON
圖 2:comma.ai Grey Panda and Toyota Giraffe

軟體系統

openpilot 讀取手機相機的數據,以深度學習為基礎的演算法來進行車道偵測。深度學習模型則用 LeEco Le Pro 3手機上 Qualcomm 的加速晶片來運算,其中相關深度學習模型參數並未開放。根據車道偵測的結果,車輛橫向運動控制算法計算出方向盤所需移動的角度及角速度,並透過 Panda 對車輛車控電腦下達控制命令 。至於車輛縱向運動的控制則以車上雷達提供的數據來計算車輛需要維持速度、加速還是減速煞車。由於在筆者車上還有一些硬體問題尚未解決,目前筆者車上的縱向運動控制還是以原裝的車距維持巡航系統來執行。openpilot 亦可處理 Eon 面向駕駛者相機的數據,來對駕駛者進行觀察與分析,以期進一步確保駕駛者隨時注意行車狀況。

雲端系統

除了EON 從自己主機所蒐集的相機數據外,EON也透過Panda 收集到車輛的各種數據與人類駕駛的駕車數據。系統在連上WiFi時會自動將這些數據上傳到雲端系統。使用者可到 https://my.comma.ai 查看所收集到的資料。圖 3展示的是雲端系統數據資料顯示以及標註系統介面。透過人類駕駛的駕車數據,系統會自動列出人類駕駛接手自駕系統的所有事件,我們可對這些事件標註人類駕駛接手的原因。圖 5展示的是面向駕駛相機數據,使用者可透過 Eon主機介面選擇將這數據上傳以保護駕駛與乘客隱私。EON 會將已上傳到雲端的數據資料從EON主機移除,使用者如要自行運用這些數據資料,必須先將這些資料備份到自己的電腦上。使用者也可以直接將數據移除、不上傳到雲端。只要 openpilot 系統是開著的,就算沒有啟動自駕功能,EON 也收集到人類駕駛的駕車數據。這些所收集的海量數據對訓練自駕系統模型與驗證自駕系統性能是非常有價值的。

圖 3: comma.ai 數據資料顯示與駕駛接手標註系統
圖 4: comma.ai GPS數據與地圖顯示
圖 5: comma.ai 面向駕駛相機數據顯示

安全與可靠性

從 2019年一月 openpilot 系統安裝在筆者的 RAV4 以來,筆者儘可能在系統可作動的條件下測試 openpilot 的安全性與可靠性。近六個月的測試中,在openpilot 原本設計規劃的應用場景中,系統是安全可靠的,影片2 所展示的夜間測試的結果,影片3 則是雨天測試的結果。

影片2: 夜間測試
影片3: 雨天測試

由於目前系統使用一個相機與一個雷達,系統無法應付在高速公路上突然有其他車輛切入本身車道的狀況。另外在豪大雨的情況下,雷達無法可靠地偵測前方車輛而導致原裝車距維持巡航系統在不該加速的情況下加速(已發生過三次); 而地面積水也導致車道線無法被系統可靠的偵測到。

在市區中實施自駕則面臨更多挑戰。影片4所展示的是我們在工研院區驗證 openpilot 車道線偵測性能,其中可以看到路口沒有車道線的地方,系統無法有效作動。openpilot 目前無法偵測彎度過大的車道線、也還沒有紅綠燈偵測辨識。由於筆者RAV4 上的雷達只輸出一個目標物,原裝車距維持巡航系統也無法應付有很多機車的市區交通情況。

影片4: 車道線偵測性能驗證

在近六個月的測試中,筆者家人對 openpilot 的使用體驗是正面的。在高速公路上多數情況中,openpilot 開的比筆者更平穩、更可靠。跟特斯拉 (Tesla)的 AutoPilot 一樣,openpilot 屬於 Level 2 的先進駕駛輔助系統 ,駕駛者在使用系統的過程中必須全程注意系統表現並且要能隨時接管處理各種突發情況。


下一代系統升級

在 openpilot 非官方社群中,有人正在推動整合車上其他硬體,如360度環景相機系統與盲點偵測雷達。也有人在推動整合其他視覺感知功能,如交通號誌辨識與紅綠燈偵測辨識[8]。這些都有助提升自駕系統安全與擴大自駕系統可工作場景。

高精地圖對自駕系統是重要的。comma.ai 也在進行高精地圖的建置工作[7],但這個月 George Hotz 在社群[3]上對其地圖研發相關的發言似乎顯現 comma.ai 在高精地圖建置的技術路線並不是很順利。反觀Mobileye 在日本與英國推展的地圖建置工程則展現 Mobileye 在地圖建置方面的進展。


References

[1] comma.ai on Medium.

[2] Arne Schwarck’s OpenPilot Folk.

[3] comma.ai 官方社群 on Discord. Invite Link.

[4] 台灣 openpilot 社團 on 臉書.

[5] Mister Koll’s YouTube Channel.

[6] Wocsor’s YouTube Channel.

[7] Dataset for HD maps — comma2k19.

[8] CommunityPilot 非官方社群 on Discord.

Bob Wang

Written by

Bob Wang

現為交通大學電機系教授、工研院機械所數位長。卡內基美隆大學(Carnegie Mellon University) 機器人研究所(Robotics Institute) 博士,曾於臺灣大學資工系任教、Apple Inc. Special Projects Group 參與新產品研發。robopal.tw

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade