OpendBC ist eine Python -API für Ihr Auto.
Kontrolle des Gass, der Bremse, der Lenkung und vielem mehr. Lesen Sie die Geschwindigkeit, den Lenkwinkel und mehr.
Die meisten Autos seit 2016 haben dank LKAs und ACC elektronisch kontaktable Lenkung, Gas und Bremsen. Ziel dieses Projekts ist es, die Kontrolle der Lenkung, das Gas und die Bremsen bei jedem einzelnen dieser Autos zu unterstützen.
Während der Hauptaugenmerk auf der Unterstützung von ADAS -Schnittstellen für OpenPilot liegt, sind wir auch daran interessiert, so viele Dinge zu lesen und zu schreiben, wie wir können (EV -Ladestatus, Sperren/Entsperren von Türen usw.), so dass wir die beste Fahrzeugmanagement -App aller Zeiten erstellen können.
Diese LEADME- und die unterstützte Autosliste sind alle Dokumente für das OpenEnBC -Projekt. Alles, was Sie wissen müssen, um OpendBC zu verwenden, beizutragen und zu erweitern, befindet sich in diesen Dokumenten.
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/ Enthält kleine Beispielprogramme, die den Zustand aus dem Auto lesen und die Lenkung, Gas und Bremsen steuern können. examples/joystick.py ermöglicht es Ihnen, ein Auto mit einem Joystick zu steuern.
opendbc/dbc/ ist ein Repository von DBC -Dateienopendbc/can/ ist eine Bibliothek zum Parsen und Erstellen von Nachrichten von DBC -Dateienopendbc/car/ ist eine hochrangige Bibliothek zur Vernetzung mit Autos mit Python Dieser Leitfaden deckt alles ab, von der Hinzufügung eines neuen Autos bis hin zur Verbesserung vorhandener Autos (z. B. Hinzufügen von Längsschnittsteuerung oder Radar -Parsen). Wenn ähnliche Autos wie Ihre bereits kompatibel sind, ist der größte Teil dieser Arbeiten wahrscheinlich bereits für Sie erledigt.
Im einfachsten Fall steuert ein Autoanschluss die Lenkung auf einem Auto. Ein "vollständiger" Autoanschluss hat alle: seitliche Kontrolle, Längsregelung, eine gute Abstimmung sowohl für laterale als auch für Längsschnitt, Radar -Parsing (falls ausgestattet), Fuzzy -Fingerabdruck und vieles mehr. Die neuen Autosunterstützungsdocs werden das Unterstützungsniveau jedes Autos eindeutig kommunizieren.
Der erste Schritt besteht darin, sich mit einem Komma 3x und einem Autogurt mit dem Auto zu verbinden. Mit dem Autogeschirr sind Sie mit zwei verschiedenen Dose -Bussen verbunden und teilt einen dieser Busse auf, um unsere eigenen Betätigungsnachrichten zu senden.
Wenn Sie Glück haben, wird ein mit Ihrem Auto kompatibeler Geschirr bereits auf comma.ai/shop entworfen und verkauft. Wenn Sie nicht so viel Glück haben, beginnen Sie mit einem "Entwicklerkabelbaum" von comma.ai/shop und schalten Sie auf jedem Anschluss an, den Sie benötigen.
Abhängig davon wird der größte Teil dieser Grundstruktur bereits vorhanden sein.
Die Freiheit eines Autohafens lebt in opendbc/car/<brand>/ :
carstate.py : Die relevanten Informationen aus dem Dose streamen mit der DBC -Datei des Autoscarcontroller.py : Ausgänge können Nachrichten zur Steuerung des Autos können<brand>can.py : Dünne Python -Helfer in der DBC -Datei zum Erstellen von Meldungenfingerprints.py : Datenbank von ECU -Firmware -Versionen zur Identifizierung von Automodelleninterface.py : High -Level -Klasse für die Schnittstelle mit dem Autoradar_interface.py : analysiert das Radarvalues.py : Aufzählt die unterstützten Autos der MarkeStarten Sie mit vielen interessanten Ereignissen eine Route: Aktivieren Sie LKAs und ACC, drehen Sie das Lenkrad beider Extreme usw. Dann laden Sie diese Route in Cabana auf.
Verwenden Sie den Längshandmanöverbericht, um die Längskontrolle Ihres Autos zu bewerten und ihn zu stimmen.
Alle OpendBC -Entwicklung werden auf Github und Zwietracht koordiniert. Schauen Sie sich den #dev-opendbc-cars Kanal und Vehicle Specific Abschnitt an.
Kurzfristig
pip install opendbcLängerfristig
Beiträge zu irgendetwas hier sind willkommen.
Jeder Autohafen ist für eine Prämie berechtigt:
Zusätzlich zu den Standardgeldern bieten wir auch höhere Prämien für beliebtere Autos an. Siehe diejenigen bei comma.ai/Bounties.
Wie benutze ich das? Ein Komma 3x ist individuell als am besten geführt, um OpenBC und OpenPilot zu betreiben und zu entwickeln.
Welche Autos werden unterstützt? Siehe die Liste der unterstützten Autos.
Kann ich Unterstützung für mein Auto hinzufügen? Ja, die meiste Autounterstützung kommt von der Community. Lesen Sie hier den Leitfaden.
Welche Autos können unterstützt werden? Jedes Auto mit LKAs und ACC. Weitere Informationen hier.
Wie funktioniert das? Kurz gesagt, wir haben Hardware so gestaltet, dass wir die integrierten Keep und Cruise-Funktionen Ihres Autos ersetzen. In diesem Vortrag finden Sie eine ausführliche Erklärung.
Gibt es eine Zeitleiste oder eine Roadmap zum Hinzufügen von Autounterstützung? Nein, die meiste Autounterstützung kommt von der Gemeinde, wobei Komma die endgültige Sicherheits- und Qualitätsvalidierung durchführt. Je vollständiger der Community Car Port ist und je beliebt das Auto ist, desto wahrscheinlicher ist es, dass wir ihn als nächste zum Bestätigen abholen.
Comma stellt Ingenieure ein, um an OpendBC und OpenPilot zu arbeiten. Wir lieben es, Mitwirkende einzustellen.