一个开源的驾驶辅助系统

Greg Hogan f0a5fdd6f5 try brakes always for negative accel 8 months ago
.devcontainer 07c5a51338 devcontainer improvements (#31650) 7 months ago
.github b20ddc8f14 pr comments: only on external prs (#31635) 7 months ago
.vscode 8c25973016 better comment 7 months ago
body @ 61ace31efa 95e234b724 Bump submodules (#31002) 9 months ago
cereal @ 93d3df3210 050662fdd0 cgpsd: use a real source 7 months ago
common 9735cf2eb6 timeless routes (#31119) 7 months ago
docs 6e3fd403a5 bugfix: add support for Bronco Sport 2023 (#31794) 7 months ago
opendbc @ ff1f1ff335 8a2766a86b Tesla Raven (#29947) 7 months ago
openpilot 9bd90112d0 use pyupgrade to update to new typing syntax (#31580) 8 months ago
panda @ abe63a6c2b b9d8971420 chrysler longitudinal 7 months ago
rednose_repo @ 1dc61a60e6 2a2347e77e [bot] Bump submodules (#31690) 7 months ago
release 777d37b619 much commit 7 months ago
scripts 48909089fa it's called esim now 7 months ago
selfdrive f0a5fdd6f5 try brakes always for negative accel 7 months ago
site_scons 640e19f1a1 Add scanner for Cython dependencies (#19722) 3 years ago
system 050662fdd0 cgpsd: use a real source 7 months ago
teleoprtc_repo @ ab2f09706e b89fae4aa9 webrtcd: allow empty bridge_services_out (#31694) 7 months ago
third_party 4c05358aad map: Transfer to MapLibre (#31185) 8 months ago
tinygrad_repo @ ae5d1407ee 422a9289b6 Tinygrad: use compile2 (#30400) 11 months ago
tools 02a16c3eb4 simulator: Increase map size to contain road (#31805) 7 months ago
.clang-tidy d89bb8b29c setup clang tidy (#19533) 3 years ago
.dockerignore 29bb2cf867 convert vidindex to python (#30176) 1 year ago
.editorconfig 76a465e0ec Write orientation & transform in C++ (#1637) 4 years ago
.gitattributes 12d2d861f2 Revert "Switch from json11 to nlohmann/json (#31093)" 9 months ago
.gitignore 67d357baa5 VSCode settings (#31582) 8 months ago
.gitmodules d062a97a26 webrtcd: webrtc streaming server (audio/video/cereal) (#30186) 10 months ago
.lfsconfig 3b3a61fcdf lfs: easier to use config (#23490) 2 years ago
.pre-commit-config.yaml 50a34d5ac6 [bot] Update Python packages and pre-commit hooks (#31595) 7 months ago
.python-version b0c3778aae agnos 8 (#28843) 1 year ago
Dockerfile.openpilot 9cd71f897a locationd: remove models unused in openpilot (#30481) 11 months ago
Dockerfile.openpilot_base c50146837e Docker: merge opencl and base images (#31338) 8 months ago
Jenkinsfile f318325a25 jenkins: reduce connection timeouts (#31431) 8 months ago
LICENSE 06c6ee312b root directory non hidden files 4 years ago
README.md 21d2b59238 Update README.md (#30793) 10 months ago
RELEASES.md de881602db fix typo 7 months ago
SConstruct ae581c9d24 don't build cabana on device (#31736) 7 months ago
SECURITY.md be4392faaa Create SECURITY.md 2 years ago
codecov.yml ce34052dad ignore tools/ in codecov (#30711) 10 months ago
conftest.py 0c143101c2 conftest: cleanup environment cleaner (#31486) 8 months ago
launch_chffrplus.sh 66e8923dd7 tici: ensure DSP permissions are setup on boot (#31530) 8 months ago
launch_env.sh 7410a1c448 agnos 9.7 (#31564) 8 months ago
launch_openpilot.sh 972650f0eb remove dashcam branch (#31081) 9 months ago
poetry.lock 50a34d5ac6 [bot] Update Python packages and pre-commit hooks (#31595) 7 months ago
pyproject.toml 44dba36bc3 ruff: Exclude body and cereal (#31782) 7 months ago
rednose 8f71de0dbe Rednose (#1503) 4 years ago
teleoprtc d062a97a26 webrtcd: webrtc streaming server (audio/video/cereal) (#30186) 10 months ago
tinygrad 29cd51b876 modeld: Move from SNPE to tinygrad (#25207) 2 years 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