OpendBCは、車のPython APIです。
ガス、ブレーキ、ステアリングなどを制御します。速度、ステアリング角度などを読んでください。
2016年以降のほとんどの車には、LKAとACCのおかげで、電子的に作用不可能なステアリング、ガス、ブレーキがあります。このプロジェクトの目標は、それらの車のすべてのステアリング、ガス、ブレーキの制御をサポートすることです。
主な焦点は、OpenPilotのAdasインターフェイスのサポートにありますが、できるだけ多くのこと(EV充電ステータス、ロック/ロック解除ドアなどを読み書きすることにも興味があります。
このREADMEとサポートされている車リストは、すべて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/ DBCファイルからの解析および構築缶のメッセージのためのライブラリですopendbc/car/ Pythonを使用して車とインターフェースするための高レベルのライブラリですこのガイドは、新しい車にサポートを追加することから、既存の車の改善まで、すべてをカバーしています(例:縦方向の制御やレーダー解析など)。あなたと同様の車がすでに互換性がある場合、この作業のほとんどはすでにあなたのために行われている可能性があります。
最も基本的に、車の港は車のステアリングを制御します。 「完全な」車のポートには、横方向の制御、縦方向の制御、横方向および縦方向の両方の両方の調整、レーダー解析(装備の場合)、ファジーフィンガープリントなどがすべて揃っています。新しい車のサポートドキュメントは、各車のサポートレベルを明確に伝えます。
最初のステップは、コンマ3倍と車のハーネスで車に接続することです。車のハーネスは、2つの異なる缶バスに接続され、それらのバスの1つを分割して、私たち自身の作動メッセージを送信します。
運が良ければ、あなたの車と互換性のあるハーネスは、すでにcomma.ai/shopで設計および販売されています。それほど幸運でない場合は、comma.ai/shopの「開発者ハーネス」から始めて、必要なコネクタでクリンプします。
この基本構造のほとんどはすでに導入されています。
自動車港全体がopendbc/car/<brand>/ :
carstate.py :車のDBCファイルを使用してcanストリーミングから関連する情報を解析するcarcontroller.py :出力は、車を制御するメッセージを受けることができます<brand>can.pyファイルの周りの薄いpythonヘルパーがcanメッセージを作成するfingerprints.py 。interface.py :車とのインターフェースのための高レベルのクラスradar_interface.py :レーダーを解析しますvalues.py :ブランドのサポートされている車を列挙します多くの興味深いイベントを備えたルートを録音することから始めます。LKAとACCを有効にし、極端なホイールを極端に回します。その後、カバナにそのルートをロードします。
縦方向の操作レポートを使用して、車の縦方向の制御を評価し、調整します。
すべてのOpenDBC開発は、GithubとDiscordで調整されています。 #dev-opendbc-carsチャネルとVehicle Specificセクションをご覧ください。
短期
pip install opendbc長期
ここでの貢献は大歓迎です。
すべての自動車港は賞金の対象となります:
標準の賞金に加えて、より人気のある車の価値の高い賞金も提供しています。 comma.ai/bountiesでそれらをご覧ください。
これを使用するにはどうすればよいですか?コンマ3xは、OpenDBCとOpenPilotを実行および開発するための最良の方法であるようにカスタムデザインされています。
どの車がサポートされていますか?サポートされている車のリストを参照してください。
車のサポートを追加できますか?はい、ほとんどの車のサポートはコミュニティからのものです。ここでガイドを読んでください。
どの車をサポートできますか? LKAとACCを備えた車。詳細については、こちらをご覧ください。
これはどのように作動しますか?要するに、私たちはあなたの車の内蔵レーンキープと適応型クルーズ機能を置き換えるためにハードウェアを設計しました。詳細な説明については、この講演を参照してください。
車のサポートを追加するためのタイムラインまたはロードマップはありますか?いいえ、ほとんどの車のサポートはコミュニティからのものであり、コンマは最終的な安全性と品質検証を行っています。コミュニティの自動車港がより完全になり、車がより人気が高くなればなるほど、検証する次の車としてそれを拾う可能性が高くなります。
コンマは、OpenDBCとOpenPilotに取り組むためにエンジニアを雇っています。貢献者を雇うのが大好きです。