工程服務 · B2Bopenpilot / ADASCAN 逆向行車資料工程

車載系統客製化與行車資料工程

ADAS 軟體客製 · CAN 匯流排逆向 · 行車 log 驗收與調校 · HUD 與嵌入式部署

市售 ADAS 與車機是黑盒子,行為改不了、資料拿不出來。3Q 從 2023 年的 VW Passat 到 2026 年的 Hyundai Custin、從 comma three 到 comma four,一路自己維護 openpilot 分支——車型移植、縱橫向控制調校、CAN 逆向、外接感測器、 副屏 HUD 全部自己做,而且每個常數都有實車 log 量測當出處。 這套能力現在對外承接:給車用電子、車隊、後裝 ADAS 與工控設備業者。

2023 → 2026
2 台車 · 2 代硬體 · 自家分支
814 段 log
判據用資料驗,不用猜
−50% 轉向誤差
自己的 log 訓練前饋
每改必驗
40 段驗收腳本
01

這是什麼、給誰用

副屏 HUD 實際畫面:車速 52、設定 60、跟車目標 37 公尺、前方 72 公尺停止線、速限 50 降 40 提示、轉向扭力與橫向 G 目標/實際
自家車機的副屏 HUD(1280×400 長條屏)實際畫面:前車 37 m、72 m 後要停、速限即將 50→40——每個數字都是 CAN 與車機 log 即時算出來的(點圖看原圖)

這不是賣給一般車主的「改裝套件」。這是工程服務:你有一台車、一個車隊、一套車用設備或一批行車資料, 想要它做到原廠不給、市面沒有的事——我們以開源的 openpilot 與自己累積的工具鏈把它做出來,並附上可驗收的數字。

適合找我們的:

  • 車用電子/後裝 ADAS 業者:要驗證自家感測器或演算法在真車上的表現、要一套可重播的資料驗收流程、要把功能移植到新車型。
  • 車隊與物流業者(含營業大客車、遊覽車、貨運):做運安智慧化,想從車機 log 知道駕駛實際怎麼開、警示設備準不準、哪些路段哪些行為在耗成本,或要一個客製副屏/HUD。
  • 工控與特殊車輛設備商(AGV、堆高機、工程機具、農機):有 CAN/Modbus 訊號要解、有感測器要接、要在嵌入式 Linux 上跑自己的控制與顯示。
  • 研究單位與開發團隊:需要一個把 openpilot 拆開、改對地方、再驗回去的工程夥伴。
ℹ
不面向一般駕駛
一般車主想裝 openpilot,台灣已有成熟的社群與代購安裝服務,請往那邊。我們的服務單位是「一個工程問題」,不是「一台車」。
02

四種服務

ADAS/車機軟體客製與移植

以 openpilot(MIT 授權)為底,把你要的行為做進去:新車型移植、縱向/橫向控制調校、停車與路口邏輯、按鍵與儀表整合、跟上游版本同步。我們自己的分支從 VW 換到 Hyundai、從 comma three 換到 comma four,一路自己維護。

CAN 匯流排逆向與整合

從原廠 CAN 訊號找出你要的欄位(按鍵、定速狀態、油量、雷達目標…),接外接感測器(雷達、鏡頭),寫進 DBC 與車型設定。沒有文件也做得出來;協定裡真的沒有的指令,就下到硬體層(Arduino+繼電器接原車撥桿)——這跟我們逆向太陽能逆變器 Modbus 是同一套本事。

行車資料工程:擷取、重播、驗收、訓練

把車機 log 變成可回答問題的資料:逐段重播比對決策、影片與訊號幀對齊、以百分位數量化「這台車、這個駕駛實際怎麼開」、用自己的 log 訓練神經網路前饋模型,並附驗收腳本讓改動有數字可驗。

副屏 HUD 與嵌入式部署

車機以外的顯示與運算:樹莓派副屏 HUD(雷達多目標、速度、油量、加速度上限來源)、在 comma 裝置螢幕上跑自己的 Qt 介面、車機熱點與網路自動切換、開機服務與遠端部署流程。

HUD 上以圖示標出前方車輛、卡車、公車、機車與行人的位置與距離:機車 11 m、人 19 m,右下角 YOLO 統計 車3 卡車1 公車1 機車1 人1
ADAS 軟體客製的一例:自訓 YOLO 車種辨識疊在 HUD 上——機車 11 m、行人 19 m,統計列在右下角;同一畫面也接了雷達目標(點圖看原圖)
03

我們自己做過的

HUD 顯示路口紅燈 48 公尺、路口停車模式、跟車目標 30 公尺、機車與行人位置
紅燈停車邏輯跑起來的樣子:紅燈 48 m、路口停車已武裝、前車 30 m——這條邏輯的門檻是用 814 段 log 驗過的(點圖看原圖)

下面每一條都是在自己的車、自己的裝置上做出來並留有 log 與 patch 的。數字是自家樣本,不是通用承諾。

2023 → 2026
VW Passat → Hyundai Custin,comma three → comma four

從 2023 年在 Passat 上逆向方向燈開始,經 FrogPilot 底的自家分支(副屏、Android 導航面板、離線圖資、外部輸入服務),到 2026 年以 openpilot master 為底移植 Custin;換車、換裝置時移植與重驗流程都走過一遍。

2023 · 硬體
方向燈:CAN 裡沒有指令,就拆線用繼電器做

VW Passat MK8 時期查遍 opendbc 的 MQB DBC,確認只有方向燈狀態回報、沒有控制指令;改走硬體——Arduino 數位腳位驅動繼電器,接進 J527 車身控制模組的撥桿接頭。拆開實測撥桿只有 5 條線(不是資料上猜的 8 條),以實物為準。

2025 · 外部輸入
搖桿/USB 鍵盤下指令給 openpilot,Arduino 執行

自寫 joystick 工具(pytoar、keyinput)用搖桿控制並經串列送指令給 Arduino;後改為 USB 鍵盤+Arduino 方向燈,設計成獨立的 cereal 訊息流服務而不是寫 params——因為 params 會拖慢主程式。

2026 · CAN
同一件事換車後改用 CAN:找到上游的方向燈控制路徑

Hyundai Custin 上找到 openpilot 上游對車身 ECU 持續發 tester present 的方向燈控制機制(CAN-FD 路徑),評估移植到 CAN classic 平台。三年前的硬體解法與現在的協定解法,是同一個問題的兩種答案。

−50%
用 13.8 小時自己的行車紀錄訓練前饋模型

216 萬筆樣本、低速轉彎樣本從 2,143 筆擴增到 21,020 筆,轉向控制誤差降一半,部署到車機實車驗證。

814 段
紅燈停車判據用真實 log 驗證,不用猜

現用 45 公尺門檻命中率、相對門檻對照、「無前車才啟動」濾波條件——每個判斷都拿 814 段 log 跑過;驗收:應介入 7 次抓對 5、無誤停、放行提早 1.4 秒。

−45%
車距緩衝:加速後又煞車的次數砍半

實車比對加速後 2 秒內又踩煞車的頻率,由每分鐘 1.22 次降到 0.67 次,系統重煞次數由 106 次降到 53 次;跟車距離沒有因此變短。

0.97 → 0.17
重訓轉向前饋模型,入彎停頓幾乎消失

用新累積的行車紀錄重訓前饋模型:25–35 km/h 入彎停頓指標 0.97→0.17、35–50 km/h 1.07→0,駕駛出手修方向盤由每分鐘 4.43 次降到 3.67 次。

−75%
夜間雷達續用,前車來源不再來回切換

夜間雷達與視覺前車來源來回切換由每分鐘 34.2 次降到 8.7 次,跟車加減速更平順。每一項都先在模擬與重播驗過,再上車用實車紀錄比對前後。

12,152 段
政府開放資料 × 開放地圖:速限修正表

交通部 TDX 的 20,735 面速限標誌(109 條國道、快速公路與省道,含位置、數值、方向)加上警政署測速點,與開放地圖逐段比對,做成約 10,727 公里的有方向修正表,另補上 706 筆地圖沒標的速限。已上車、實車驗收中——資料先對、再談控制。

−80%
路口無謂減速降八成

把彎道武裝率、駕駛實際側向加速度(中位數 0.89、90 百分位 1.10 m/s²)量出來,再把門檻縮放到這位駕駛真的會用的範圍。

159 幀
影片與訊號幀對齊偏移抓出來

分析實車資料時發現影片幀比訊號慢 159 幀,修正後才診斷出模型預測減速度不足的根因。資料對不齊,後面的結論全是錯的。

40 段
每次改動附驗收工具

40 段完整 log 的驗收腳本:介入率、側向加速度尾部、駕駛拒絕率。改一個常數要能回答「改了之後哪幾段變好、哪幾段變差」。

CAN 逆向與外接雷達研究

下載實際行駛紀錄做 CAN 匯流排分析,主線 MAIN cruise 按鍵無效的根因(TCS13.ACCEnable 恆為 0)與修法,外接雷達方案與社群實作路徑盤點。

副屏 HUD、車機 Qt 介面、熱點自動化

樹莓派 1280×400 長條觸控屏當 HUD:雷達多目標框選、時速/設定速度、油量、加速上限來源;在 comma three 螢幕跑自己的 Qt 介面並設開機服務;車機開機 75 秒沒連上已知 WiFi 自動開熱點。

5.5 GB repo 鏡像 + 306 個 patch 的可追溯性

所有改動以 patch 形式留存,能回答「這行為什麼是這個數字、什麼時候改的、當時的量測是什麼」。也曾以此驗出某社群 fork 的版本資訊造假並淘汰。

兩張圖:左為轉向前饋模型流程 13.8 小時 log → 216 萬筆樣本 → 低速轉彎擴增 10 倍 → 誤差降 50%;右為紅燈判據 814 段 log 驗證:45 m 門檻命中 100%、無謂減速 −80%、驗收 5/7、誤停 0、綠燈放行提早 1.4 秒
兩個案子的數字放在一起看:都是「先量、改一處、重播、驗收」跑出來的(點圖看原圖)
HUD 同時顯示四個雷達目標:主目標 13 公尺與 21、32、45 公尺的其他目標,右下角為俯視雷達點圖
外接雷達接進來後的多目標顯示:主目標 13 m,旁邊 21/32/45 m 三個目標,右下角是俯視點圖——雷達 30 條 track 自己解,不影響控制(點圖看原圖)

後窗 LED 字幕機(把車況即時告訴後車)的做法另寫成一項服務:LED 看板即時資料串接。

技術文章:用自己的行車紀錄訓練轉向前饋模型、紅燈停車判據怎麼用 814 段 log 驗證。

04

方法:每個數字都有出處

  1. 先量,再改。 改任何門檻前,先從 log 算出這台車、這位駕駛的實際分佈(中位數、90 百分位)。「3 m/s² 是一般路口轉彎」這種寫在註解裡的猜測,我們會把它換成量出來的 1.2–1.5。
  2. 一次只改一處,commit 訊息寫量測。 每個改動都能回答「原本的值哪裡來、新的值哪裡來、預期哪幾段會變」。
  3. 重播驗證,再上路。 用實盤規則逐幀重跑歷史 log,比對改前改後的決策差異;上路後再跑 40 段驗收腳本。
  4. 資料先對齊。 影片與訊號幀對不齊、雷達與視覺目標配不上,後面的結論全是錯的——這一步永遠先做。
  5. 誠實記錄失敗。 借來的做法(例如某 fork 的彎道前瞻法)實測會誤觸發,就寫進紀錄不採用;上游 revert 掉的模型不追。
左:原始行車畫面,前方黑色轎車、左側雙黃線;右:同一幀經逆透視投影成俯視條狀圖,用來判斷車道線種類
「資料先對齊」的實例:原始幀(左)與逆透視投影(右)並排,車道線種類與位置才能逐幀對得上(點圖看原圖)
分析截圖:HUD 上視覺前車距離 39 公尺與雷達距離比對,帶幀號
雷達 dRel 系統性偏近 0.8~1.2 m 就是這樣抓出來的:同一幀比對視覺 39 m 與雷達讀值,再用車牌當標尺量(點圖看原圖)
05

應用:車隊運安智慧化

營業大客車、遊覽車、貨運車隊這幾年都在做「運安智慧化」:加裝前向碰撞與車道偏離警示、駕駛身分辨識、 車輛動態回報主管機關、駕駛行為管理。多數業者卡在同一個地方——設備裝了,資料卻只是一堆事件通知, 不知道警示準不準、不知道哪位駕駛哪段路真的有風險、也沒辦法回放出事前那三十秒。 我們做的行車資料工程,正好補這一段。

駕駛行為量化

從 CAN 與車機 log 直接算每位駕駛的急煞、急加速、側向加速度、跟車距離、超速分佈(中位數與 90 百分位),不靠 OBD 小盒子推估。可做駕駛評分、教練回饋、保險與績效依據。

險況與事故重播

影片與訊號逐幀對齊後,任一路段、任一事件都能回放「當時車速、方向盤、煞車、前車距離、系統有沒有警示」;159 幀對不齊的坑我們踩過。

ADAS 設備驗收

補助案要求的碰撞/車道偏離警示,裝了之後到底在對的時機響幾次、誤報幾次?用真實 log 算命中率與誤報率,給車隊當驗收依據、給設備商當調校依據。

車輛動態與回報自動化

車隊定位(自製發射器免月費)、油量與行駛狀態從 CAN 直讀、每日營運資料自動產報表推到主管機關或公司群組——這條我們在市府商店的每日回報上已經跑了幾個月。

駕駛端即時提醒

副屏 HUD 顯示前車距離、路口減速、跟車狀態,做成不擋視線的長條屏;也可只做警示不做控制。

既有設備不換

以資料層切入:讀你現有行車紀錄器、GPS、ADAS 設備的輸出,統一進一個資料模型,再做分析與儀表板。不要求整車換裝。

高速路段 HUD:車速 100、設定 110、前方 19 公尺停止提示、多個雷達目標與距離
車隊要的「駕駛端即時提醒」長這樣:國道 100 km/h、前車距離、多目標、減速提示——不擋視線的長條屏,可只警示不控制(點圖看原圖)
ℹ
我們做的是資料與軟體那一層
經認證的 ADAS 警示硬體、駕駛疲勞偵測(DMS)設備,請用市面上符合主管機關規範的產品;我們負責把它們的資料接起來、驗證它們準不準、 並把駕駛行為與車輛動態變成管理者看得懂的東西。需要的話可與設備商協同提案。
06

同一套能力,車以外的地方

「逆向沒有文件的協定 → 統一資料模型 → 規則引擎與模型判讀 → 有數字的驗收」這條線,我們在別的領域也走過:

  • 太陽能/儲能監控:逆向逆變器 Modbus,48 顆電芯每 30 秒動態限流,切換指令寫入後回讀驗證。
  • 期指策略實驗室:回測/模擬/實單同一套引擎,即時重播量化「回測賺、實盤不賺」的落差。
  • 車隊定位:自製 BLE 發射器借 Apple 網路回傳位置,免月費。

所以如果你的問題是「產線設備/AGV/機房設備的訊號拿不出來、行為改不了、改了不知道有沒有變好」,也是同一件事。

07

邊界與責任

  • openpilot 是實驗性的駕駛輔助軟體;我們交付的是研發成果與工程文件,不是經法規認證的量產品。上路使用的安全責任由導入方承擔,合約會明訂。
  • 我們不販售整車方案給一般駕駛、不代購硬體、不做「保證通過某項法規」的承諾。
  • 調校數字是針對特定車型、特定駕駛量測的;換車、換人要重量、重驗,這會寫在報價裡,不會用「通用參數」帶過。
  • 所有交付含原始碼、patch 與量測資料,你不會被綁在我們身上。
08

怎麼開始

  1. 盤點(免費):你的車型/設備、有沒有 log、想解的問題是什麼。半小時線上談。
  2. PoC(2–4 週):定一個可量化的目標(例如「某訊號解出來並在儀表顯示」「某判據在你的 log 上命中率達 X」),做完給數字。
  3. 交付:程式碼、patch、量測資料、驗收腳本與文件;需要的話續約維護跟上游同步。
打電話諮詢 LINE 諮詢