56c7afa5a3
rm |
||
---|---|---|
.github | ||
examples | ||
opendbc | ||
site_scons/site_tools | ||
.gitignore | ||
.pre-commit-config.yaml | ||
LICENSE | ||
README.md | ||
SConstruct | ||
pyproject.toml |
README.md
opendbc
opendbc is a Python API for your car. Read the speed, steering angle, and more. Send gas, braking, and steering commands.
Structure
opendbc/dbc/
is a repository of DBC filesopendbc/can/
is a library for parsing and building CAN messages from DBC filesopendbc/car/
is a high-level library for interfacing with cars using Python
Quick start
git clone https://github.com/commaai/opendbc.git
cd opendbc
# Install the dependencies
pip3 install -e .[testing,docs]
# Build
scons -j8
# Run the tests
pytest .
# Run the linter
pre-commit run --all-files
examples/
contains small example programs that can read state from the car and control the steering, gas, and brakes.
examples/joystick.py
allows you to control a car with a joystick.
Roadmap
This project was pulled out from openpilot. We're still figuring out the exact API between openpilot and opendbc, so some of these may end up going in openpilot.
- Extend support to every car with LKAS + ACC interfaces
- Automatic lateral and longitudinal control/tuning evaluation
- Auto-tuning for lateral and longitudinal control
- Automatic Emergency Braking
pip install opendbc
- 100% type coverage
- 100% line coverage
- Make car ports easier: refactors, tools, tests, and docs
- Expose the state of all supported cars better: https://github.com/commaai/opendbc/issues/1144
Contributions towards anything here is welcome. Join the Discord!