OpenDBC - это Python API для вашего автомобиля.
Контролируйте газ, тормоз, рулевое управление и многое другое. Прочитайте скорость, угол рулевого управления и многое другое.
Большинство автомобилей с 2016 года имеют электронное управление рулевым управлением, газом и тормозами благодаря LKAS и ACC. Цель этого проекта - поддерживать контроль рулевого управления, газа и тормозов на каждом из этих автомобилей.
Несмотря на то, что основное внимание уделяется поддержке интерфейсов ADAS для OpenPilot, мы также заинтересованы в чтении и написании как можно большего количества вещей (статус заряда EV, двери блокировки/разблокировки и т. Д.), Чтобы мы могли создать лучшее приложение для управления транспортными средствами.
Этот список Readme и поддерживаемых автомобилей - все это документы для проекта 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/ это хранилище файлов DBCopendbc/can/ IS библиотека для анализа и строительных сообщений из файлов DBCopendbc/car/ это библиотека высокого уровня для взаимодействия с автомобилями, используя Python Это руководство охватывает все, от добавления поддержки к новому автомобилю до улучшения существующих автомобилей (например, добавление продольного управления или анализа радиолокатора). Если аналогичные автомобили уже совместимы, большая часть этой работы, вероятно, уже сделана для вас.
В своем самом основном автомобильный порт будет управлять рулевым управлением на автомобиле. «Полный» автомобильный порт будет иметь все: боковой контроль, продольный контроль, хорошая настройка как для бокового, так и для продольного, радиолокационного анализа (если оборудовано), нечеткая отпечатков пальцев и многое другое. Новые документы по поддержке автомобилей будут четко передавать уровень поддержки каждого автомобиля.
Первый шаг - подключиться к машине с запятой 3X и автомобильным жгутом. У жгута автомобиля вас подключится к двум разным автобусам и разбивает один из этих автобусов, чтобы отправить наши собственные сообщения при примере.
Если вам повезет, жгут, совместимый с вашим автомобилем, уже будет спроектирована и продана на Comp.ai/shop. Если вам не так повезло, начните с «жгута разработчиков» от Comma.ai/shop и обжимайте то, что вам нужно.
В зависимости от того, большая часть этой основной структуры уже будет на месте.
Заинтересованность автомобильного порта живет в opendbc/car/<brand>/ :
carstate.py : анализирует соответствующую информацию из CAN Stream с использованием файла DBC автомобиляcarcontroller.py : выходы могут сообщения для управления автомобилем<brand>can.py : Thin Python Helpers вокруг файла DBC для создания сообщений CANfingerprints.py : база данных версий прошивки ECU для определения моделей автомобилейinterface.py : класс высокого уровня для взаимодействия с автомобилемradar_interface.py : анализируется радарvalues.py : перечисляет автомобили, поддерживаемые брендомНачните с записи маршрута с множеством интересных событий: включите LKAS и ACC, поверните рулевое колесо как крайностях и т. Д. Затем загрузите этот маршрут в Кабане.
Используйте отчет о продольных маневрах, чтобы оценить продольный контроль вашего автомобиля и настроить его.
Все разработки OpenDBC координируются на GitHub и Discord. Проверьте канал #dev-opendbc-cars и Vehicle Specific .
Короткий срок
pip install opendbcДолгосрочный
Взносы на все, что здесь, приветствуются.
Каждый автомобильный порт имеет право на щедрость:
В дополнение к стандартным наградам, мы также предлагаем более высокие ценности для более популярных автомобилей. Смотрите их в Comma.ai/bounties.
Как мне это использовать? Запятая 3X предназначена для того, чтобы быть лучшим способом запуска и разработки opendbc и openpilot.
Какие автомобили поддерживаются? Смотрите список поддерживаемых автомобилей.
Могу ли я добавить поддержку своей машине? Да, большая часть автомобильной поддержки поступает от сообщества. Прочитайте руководство здесь.
Какие автомобили можно поддержать? Любая машина с LKAS и ACC. Больше информации здесь.
Как это работает? Короче говоря, мы разработали аппаратное обеспечение, чтобы заменить встроенную полосу движения вашего автомобиля и адаптивные функции круиза. Посмотрите на этот разговор для подробного объяснения.
Есть ли временная шкала или дорожная карта для добавления автомобильной поддержки? Нет, большая часть автомобильной поддержки поступает от сообщества, и запятая выполняет окончательную проверку безопасности и качества. Чем более полным порт общественного автомобиля, и чем более популярен автомобиль, тем больше вероятность того, что мы займем его следующим.
Запятая нанимает инженеров для работы над OpenDBC и OpenPilot. Мы любим нанимать участников.