一个开源的驾驶辅助系统

Dean Lee 917ea5699f cereal: deprecate FrameData.frameType (#33019) 1 day ago
.devcontainer 12d5afba73 switch to uv (#32853) 3 weeks ago
.github c759fe9002 CI: fix ui report directory (#32991) 5 days ago
.vscode e491c9d964 remove navigation (#32773) 1 month ago
body @ c433da944f 7ed3f62f0c Bump submodules that used numpy-stubs in pre-commit config (#32983) 6 days ago
cereal 917ea5699f cereal: deprecate FrameData.frameType (#33019) 1 day ago
common 7013eed50c remove `timezone` from `timed.py` (#32665) 1 month ago
docs f6189568ea mvp of new docs.comma.ai (#32926) 1 week ago
msgq_repo @ d7b99c4296 00af33c6ed [bot] Bump submodules (#32989) 5 days ago
opendbc @ 5ba787024f 00af33c6ed [bot] Bump submodules (#32989) 5 days ago
openpilot 995250ae49 use pyupgrade to update to new typing syntax (#31580) 4 months ago
panda @ b4e3d5cdd2 cbee4421da bump panda 6 days ago
rednose_repo @ 023a6195db 7ed3f62f0c Bump submodules that used numpy-stubs in pre-commit config (#32983) 6 days ago
release 12d5afba73 switch to uv (#32853) 3 weeks ago
scripts 50f55684a2 Rewrite git history update (#32955) 1 week ago
selfdrive c96dbd5a0b Fix msgq context overrides (#33014) 2 days ago
site_scons 275136aeac Add scanner for Cython dependencies (#19722) 3 years ago
system 917ea5699f cereal: deprecate FrameData.frameType (#33019) 1 day ago
teleoprtc_repo @ 389815b8ca 00af33c6ed [bot] Bump submodules (#32989) 5 days ago
third_party e491c9d964 remove navigation (#32773) 1 month ago
tinygrad_repo @ ae5d1407ee c9fae805bc Tinygrad: use compile2 (#30400) 8 months ago
tools c96dbd5a0b Fix msgq context overrides (#33014) 2 days ago
.clang-tidy 87950eb312 setup clang tidy (#19533) 3 years ago
.dockerignore f8e488f881 convert vidindex to python (#30176) 9 months ago
.editorconfig c18e7da3c2 Write orientation & transform in C++ (#1637) 4 years ago
.gitattributes 88757c12b3 Revert "Switch from json11 to nlohmann/json (#31093)" 5 months ago
.gitignore a256898510 cereal: remove messaging/.gitignore (#32839) 3 weeks ago
.gitmodules e70dc90a45 Restructure msgq (#32652) 1 month ago
.importlinter d684d8f0f6 Reapply "selfdrive/car: ban imports from external modules" (#32993) (#32994) 5 days ago
.lfsconfig 24213ac76b lfs: easier to use config (#23490) 2 years ago
.pre-commit-config.yaml d684d8f0f6 Reapply "selfdrive/car: ban imports from external modules" (#32993) (#32994) 5 days ago
Dockerfile.openpilot 151b4530dd Fix openpilot-prebuilt dockerfile (#32787) 1 month ago
Dockerfile.openpilot_base 12d5afba73 switch to uv (#32853) 3 weeks ago
Jenkinsfile fd5549bba1 nightly build takes longer than this 2 days ago
LICENSE 012535a84e root directory non hidden files 4 years ago
README.md cee84381f3 Update README.md (#30793) 7 months ago
RELEASES.md 0e39d5bcf2 DM model notes 1 month ago
SConstruct e491c9d964 remove navigation (#32773) 1 month ago
SECURITY.md ee3d72a1e3 Create SECURITY.md 1 year ago
codecov.yml 7ca440fe51 ignore tools/ in codecov (#30711) 7 months ago
conftest.py accdade4cf manager: move to system/ (#32538) 1 month ago
launch_chffrplus.sh accdade4cf manager: move to system/ (#32538) 1 month ago
launch_env.sh 7ff66986c1 agnos 10.1 (#32373) 2 months ago
launch_openpilot.sh 7cd9568423 remove dashcam branch (#31081) 6 months ago
msgq e70dc90a45 Restructure msgq (#32652) 1 month ago
pyproject.toml d684d8f0f6 Reapply "selfdrive/car: ban imports from external modules" (#32993) (#32994) 5 days ago
rednose 28bf5d1dd8 Rednose (#1503) 4 years ago
teleoprtc f058b5d64e webrtcd: webrtc streaming server (audio/video/cereal) (#30186) 7 months ago
tinygrad 40d6f4b65c modeld: Move from SNPE to tinygrad (#25207) 1 year ago
uv.lock dd2787b7a1 [bot] Update Python packages and pre-commit hooks (#32990) 5 days ago

README.md

openpilot on the comma 3X

What is openpilot?

openpilot is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of supported car makes, models, and model years. In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about the vehicle integration and limitations.

To start using openpilot in a car

To use openpilot in a car, you need four things:

  1. Supported Device: a comma 3/3X, available at comma.ai/shop.
  2. Software: The setup procedure for the comma 3/3X allows users to enter a URL for custom software. Use the URL openpilot.comma.ai to install the release version.
  3. Supported Car: Ensure that you have one of the 250+ supported cars.
  4. Car Harness: You will also need a car harness to connect your comma 3/3X to your car.

We have detailed instructions for how to install the harness and device in a car. Note that it's possible to run openpilot on other hardware, although it's not plug-and-play.

To start developing openpilot

openpilot is developed by comma and by users like you. We welcome both pull requests and issues on GitHub.

Want to get paid to work on openpilot? comma is hiring and offers lots of bounties for external contributors.

Safety and Testing

  • openpilot observes ISO26262 guidelines, see SAFETY.md for more details.
  • openpilot has software-in-the-loop tests that run on every commit.
  • The code enforcing the safety model lives in panda and is written in C, see code rigor for more details.
  • panda has software-in-the-loop safety tests.
  • Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
  • panda has additional hardware-in-the-loop tests.
  • We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.

User Data and comma Account

By default, openpilot uploads the driving data to our servers. You can also access your data through comma connect. We use your data to train better models and improve openpilot for everyone.

openpilot is open source software: the user is free to disable data collection if they wish to do so.

openpilot logs the road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs. The driver-facing camera is only logged if you explicitly opt-in in settings. The microphone is not recorded.

By using openpilot, you agree to our Privacy Policy. You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.

Licensing

openpilot is released under the MIT license. Some parts of the software are released under other licenses as specified.

Any user of this software shall indemnify and hold harmless Comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys’ fees and costs) which arise out of, relate to or result from any use of this software by user.

THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED.


openpilot tests codecov