openpilot/README.md

158 lines
7.6 KiB
Markdown
Raw Normal View History

2016-11-29 19:34:21 -07:00
Welcome to openpilot
======
[openpilot](http://github.com/commaai/openpilot) is an open source driving agent.
2017-12-23 18:15:27 -07:00
Currently it performs the functions of Adaptive Cruise Control (ACC) and Lane Keeping Assist System (LKAS) for Hondas, Acuras and Toyotas. It's about on par with Tesla Autopilot at launch, and better than [all other manufacturers](http://www.thedrive.com/tech/5707/the-war-for-autonomous-driving-part-iii-us-vs-germany-vs-japan).
2016-11-29 19:34:21 -07:00
The openpilot codebase has been written to be concise and enable rapid prototyping. We look forward to your contributions - improving real vehicle automation has never been easier.
2017-06-28 14:57:09 -06:00
Here are [some](https://www.youtube.com/watch?v=9OwTJFuDI7g) [videos](https://www.youtube.com/watch?v=64Wvt5pYQmE) [of](https://www.youtube.com/watch?v=6IW7Nejsr3A) [it](https://www.youtube.com/watch?v=-VN1YcC83nA) [running](https://www.youtube.com/watch?v=EQJZvVeihZk). And a really cool [tutorial](https://www.youtube.com/watch?v=PwOnsT2UW5o).
2016-11-29 19:34:21 -07:00
Hardware
------
2018-04-14 00:10:58 -06:00
Right now openpilot supports the [EON Dashcam DevKit](https://shop.comma.ai/products/eon-dashcam-devkit). We'd like to support other platforms as well.
2016-11-29 19:34:21 -07:00
2017-01-29 10:20:32 -07:00
Install openpilot on a neo device by entering ``https://openpilot.comma.ai`` during NEOS setup.
2016-11-29 19:34:21 -07:00
Supported Cars
------
- Acura ILX 2016 with AcuraWatch Plus
2017-06-28 14:57:09 -06:00
- Due to use of the cruise control for gas, it can only be enabled above 25 mph
2016-11-29 19:34:21 -07:00
2018-03-22 16:29:42 -06:00
- Honda Civic 2016-2018 with Honda Sensing
2017-06-28 14:57:09 -06:00
- Due to limitations in steering firmware, steering is disabled below 12 mph
2017-09-30 04:07:27 -06:00
- Note that the hatchback model is not supported
2017-06-28 14:57:09 -06:00
2017-10-31 03:27:39 -06:00
- Honda CR-V Touring 2015-2016
2017-06-28 14:57:09 -06:00
- Can only be enabled above 25 mph
2016-11-29 19:34:21 -07:00
2018-01-30 13:58:14 -07:00
- Honda Odyssey 2018 with Honda Sensing (alpha!)
- Can only be enabled above 25 mph
- Acura RDX 2018 with AcuraWatch Plus (alpha!)
- Can only be enabled above 25 mph
- Honda Pilot 2017 with Honda Sensing (alpha!)
- Can only be enabled above 27 mph
- Honda Ridgeline 2017 with Honda Sensing (alpha!)
- Can only be enabled above 27 mph
2017-12-23 18:15:27 -07:00
- Toyota RAV-4 2016+ non-hybrid with TSS-P
2017-11-22 05:30:24 -07:00
- By default it uses stock Toyota ACC for longitudinal control
2017-12-23 18:15:27 -07:00
- openpilot longitudinal control available after unplugging the [Driving Support ECU](https://community.comma.ai/wiki/index.php/Toyota#Rav4_.28for_openpilot.29) and can be enabled above 20 mph
2017-11-22 05:30:24 -07:00
- Toyota Prius 2017 (alpha!)
- By default it uses stock Toyota ACC for longitudinal control
2017-12-23 18:15:27 -07:00
- openpilot longitudinal control available after unplugging the [Driving Support ECU](https://community.comma.ai/wiki/index.php/Toyota#Prius_.28for_openpilot.29)
- Lateral control needs improvements
- Toyota RAV-4 2017 hybrid (alpha!)
- By default it uses stock Toyota ACC for longitudinal control
- openpilot longitudinal control available after unplugging the [Driving Support ECU](https://community.comma.ai/wiki/index.php/Toyota#Rav4_.28for_openpilot.29) and can do stop and go
2017-10-31 03:27:39 -06:00
2018-01-30 13:58:14 -07:00
- Toyota Corolla 2017 (alpha!)
- By default it uses stock Toyota ACC for longitudinal control
- openpilot longitudinal control available after unplugging the [Driving Support ECU](https://community.comma.ai/wiki/index.php/Toyota#Corolla_.28for_openpilot.29) and can be enabled above 20 mph
2018-02-06 13:43:45 -07:00
- Lexus RX 2017 hybrid (alpha!)
- By default it uses stock Lexus ACC for longitudinal control
- openpilot longitudinal control available after unplugging the [Driving Support ECU](https://community.comma.ai/wiki/index.php/Toyota#Lexus_RX_hybrid)
2017-09-30 04:07:27 -06:00
In Progress Cars
------
2018-02-06 13:43:45 -07:00
- All TSS-P Toyota with Steering Assist.
2017-11-22 05:30:24 -07:00
- 'Full Speed Range Dynamic Radar Cruise Control' is required to enable stop-and-go. Only the Prius, Camry and C-HR have this option.
- Even though the Tundra, Sequoia and the Land Cruiser have TSS-P, they don't have Steering Assist and are not supported.
2018-02-06 13:43:45 -07:00
- All LSS-P Lexus with Steering Assist or Lane Keep Assist.
- 'All-Speed Range Dynamic Radar Cruise Control' is required to enable stop-and-go. Only the GS, GSH, GS, F, RX, RXH, LX, NX, NXH, LC, LCH, LS, LSH have this option.
- Even though the LX have TSS-P, it does not have Steering Assist and is not supported.
2017-09-30 04:07:27 -06:00
2017-11-22 05:30:24 -07:00
Community WIP Cars
2017-10-31 03:27:39 -06:00
------
2017-11-22 05:30:24 -07:00
- [Chevy Volt 2016-2018 Premier with Driver Confidence II](https://github.com/commaai/openpilot/pull/104)
2017-09-30 04:07:27 -06:00
2017-11-22 05:30:24 -07:00
- [Classic Tesla Model S (pre-AP)](https://github.com/commaai/openpilot/pull/145)
2017-09-30 04:07:27 -06:00
2016-11-29 19:34:21 -07:00
Directory structure
------
- cereal -- The messaging spec used for all logs on the phone
- common -- Library like functionality we've developed here
2017-06-28 14:57:09 -06:00
- opendbc -- Files showing how to interpret data from cars
2017-05-11 13:41:17 -06:00
- panda -- Code used to communicate on CAN and LIN
2016-11-29 19:34:21 -07:00
- phonelibs -- Libraries used on the phone
- selfdrive -- Code needed to drive the car
- assets -- Fonts for ui
- boardd -- Daemon to talk to the board
2016-12-12 18:47:46 -07:00
- car -- Code that talks to the car and implements CarInterface
2016-11-29 19:34:21 -07:00
- common -- Shared C/C++ code for the daemons
- controls -- Python controls (PID loops etc) for the car
2017-05-11 13:41:17 -06:00
- debug -- Tools to help you debug and do car ports
2016-11-29 19:34:21 -07:00
- logcatd -- Android logcat as a service
- loggerd -- Logger and uploader of car data
2017-05-11 13:41:17 -06:00
- proclogd -- Logs information from proc
2016-11-29 19:34:21 -07:00
- sensord -- IMU / GPS interface code
2016-12-12 18:47:46 -07:00
- test/plant -- Car simulator running code through virtual maneuvers
2016-11-29 19:34:21 -07:00
- ui -- The UI
- visiond -- embedded vision pipeline
2017-05-11 13:41:17 -06:00
To understand how the services interact, see `selfdrive/service_list.yaml`
2016-11-29 19:34:21 -07:00
2016-12-12 18:47:46 -07:00
Testing on PC
------
There is rudimentary infrastructure to run a basic simulation and generate a report of openpilot's behavior in different scenarios.
```bash
# Requires working docker
./run_docker_tests.sh
```
The results are written to `selfdrive/test/plant/out/index.html`
More extensive testing infrastructure and simulation environments are coming soon.
2016-11-29 19:34:21 -07:00
Adding Car Support
------
2017-06-28 14:57:09 -06:00
comma.ai offers [bounties](http://comma.ai/bounties.html) for adding additional car support.
2016-11-29 19:34:21 -07:00
2017-06-28 14:57:09 -06:00
CR-V Touring support came in through this program. Chevy Volt is close. Accord is close as well.
2016-11-29 19:34:21 -07:00
User Data / chffr Account / Crash Reporting
------
By default openpilot creates an account and includes a client for chffr, our dashcam app. We use your data to train better models and improve openpilot for everyone.
2017-11-22 05:30:24 -07:00
It's open source software, so you are free to disable it if you wish.
2016-11-29 19:34:21 -07:00
It logs the road facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
It does not log the user facing camera or the microphone.
By using it, you agree to [our privacy policy](https://beta.comma.ai/privacy.html). 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.ai. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma.ai for the use of this data.
Contributing
------
We welcome both pull requests and issues on
[github](http://github.com/commaai/openpilot). See the TODO file for a list of
good places to start.
2017-06-28 14:57:09 -06:00
Want to get paid to work on openpilot? [comma.ai is hiring](http://comma.ai/positions.html)
2016-11-29 19:34:21 -07:00
Licensing
------
openpilot is released under the MIT license.
2017-07-28 02:24:39 -06:00
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.
2016-11-29 19:34:21 -07:00
**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.**