OpendBC是您汽車的Python API。
控制氣體,制動,轉向等。閱讀速度,轉向角度等。
自2016年以來,大多數汽車都可以通過LKAS和ACC進行電子操作轉向,燃氣和製動器。該項目的目的是支持控制每個汽車的轉向,氣體和製動器。
雖然主要的重點是支持OpenPiLot的ADAS界面,但我們也有興趣閱讀和編寫盡可能多的內容(EV充電狀態,鎖定/解鎖門等),這樣我們就可以構建有史以來最好的車輛管理應用程序。
此讀數和受支持的汽車列表都是OPENDBC項目的所有文檔。您需要知道的所有使用,貢獻和擴展OpenDBC都在這些文檔中。
git clone https://github.com/commaai/opendbc.git
cd opendbc
# you probably just want to use this. it's an all-in-one for dependency
# installation, compiling, linting, and tests. it's also what runs in CI
./test.sh
# here are the individual commands it runs
pip3 install -e .[testing,docs] # install dependencies
scons -j8 # build with 8 cores
pytest . # run the tests
pre-commit run --all-files # run the linter examples/包含可以從汽車中讀取狀態並控制轉向,氣體和製動器的小示例程序。 examples/joystick.py允許您用操縱桿控制汽車。
opendbc/dbc/是DBC文件的存儲庫opendbc/can/是一個用於解析和構建CAN的庫中的DBC文件消息opendbc/car/是一個高級庫,用於使用Python與汽車接口本指南涵蓋了從增加支持到新車一直到改善現有汽車的所有內容(例如增加縱向控製或雷達解析)。如果與您的類似汽車已經兼容,那麼這項工作的大部分可能已經為您完成。
最基本的汽車端口將控制汽車的轉向。 “完整”的汽車端口將具有所有:橫向控制,縱向控制,側面和縱向的良好調整,雷達解析(如果配備),模糊指紋等。新的汽車支持文檔將清楚地傳達每輛車的支撐級別。
第一步是用逗號3倍和汽車安全帶連接到汽車。汽車安全帶可讓您連接到兩輛不同的罐頭公共汽車,並拆分其中的一輛公共汽車來發送我們自己的驅動信息。
如果幸運的話,與您的汽車兼容的安全帶將已經在Comma.ai/Shop上設計和出售。如果您不那麼幸運,請從Comma.ai/Shop中的“開發人員安全帶”開始,然後對所需的任何連接器進行壓接。
取決於大多數基本結構已經到位。
汽車端口的整體生活在opendbc/car/<brand>/ :
carstate.py :使用汽車的DBC文件從CAN流中解析相關信息carcontroller.py :輸出可以消息以控制汽車<brand>can.py文件周圍的Thin Python幫助者要構建CAN消息fingerprints.py :用於識別汽車型號的ECU固件版本的數據庫interface.py :與汽車接口的高級課程radar_interface.py :解析雷達values.py :列舉品牌支持的汽車首先記錄一條帶有許多有趣事件的路線:啟用LKAS和ACC,將方向盤旋轉兩個極端等。然後,在小屋中加載該路線。
使用縱向演習報告來評估您的汽車的縱向控制並調整它。
所有OPENDBC開發都在GitHub和Discord上進行了協調。查看#dev-opendbc-cars頻道和Vehicle Specific部分。
短期
pip install opendbc長期
歡迎對這裡的任何事情的貢獻。
每個汽車港口都有資格獲得賞金:
除了標準賞金外,我們還為更受歡迎的汽車提供更高的價值賞金。在逗號上查看那些。
我該如何使用?定制逗號3X是運行和開發OpenDBC和OpenPiLot的最佳方法。
支持哪些汽車?請參閱支持的汽車列表。
我可以增加對我的汽車的支持嗎?是的,大多數汽車支持來自社區。在此處閱讀指南。
可以支持哪些汽車?任何帶有LKAS和ACC的汽車。更多信息在這裡。
這是如何運作的?簡而言之,我們設計了硬件,以取代您的汽車內置車道保持和自適應巡航功能。請參閱此談話,以了解深入的解釋。
是否有時間表或路線圖來增加汽車支撐?不,大多數汽車支持來自社區,逗號進行最終的安全性和質量驗證。社區汽車港口越完整,汽車越受歡迎,我們就越有可能將其作為驗證的下一個驗證。
逗號正在招聘工程師開發OpenDBC和OpenPiLot。我們喜歡僱用貢獻者。