FAQ - commaai/openpilot GitHub Wiki
-
openpilot
- How do I report a bug?
- What is lateral control?
- What is longitudinal control?
- How does Lane Change Assist Work?
- How to change to a specific release?
- Where is my dashcam video footage stored? How can I stitch the segments together?
- When are my videos uploaded to the cloud?
- I get "Unrecognized car / dash cam mode" after installing Openpilot
- comma three
- comma two
- comma prime
- Development
- Discord Help
Note: The comma team will not debug data from fork code as "it just takes too much time to be sidetracked by hidden and unclear changes". If your issue was produced on a fork, please try to reproduce it on either a master or release branch of comma's openpilot.
Use the search functionality of the comma.ai community Discord and of this GitHub Repository to confirm the strange behavior you noticed was already reported or not. Either way, continue to collect a segment ID for a comment, reply, or a new report of when this bug occured.
To do that, find and scrub to the segment (what's a segment?) of interest of your drive in comma connect, then click More Info
and copy the segment ID to your clipboard by clicking on it. The segment ID is something like 50330d02g131d4393/000000cf--ef79431a8f/24
. Paste your clipboard into any place that requests a route or segment ID.
Video of getting the segment ID from comma connect:
If your feedback is about the driver monitoring, go to #driver-monitoring-feedback and paste/share the segment ID with a description of the driver monitoring issue. This is more effective if you have driver video recording turned on in the settings. If not, turn it on now, and when it happens again, and report that incident.
If your feedback is about the driving behavior, go to #start-here and paste/share the segment ID with a description of the issue.
You are also advised to tell your device to upload all related files, especially if you have a device with small storage due to space reclamation, but if you forget, comma staff can initiate that as well. You can initiate uploading by clicking on the Files
button and selecting upload ## files
under "All files".
Screenshot of a #driving-feedback bug report on the comma.ai community Discord:
Screenshot of Files
menu to click to upload all files of a drive. Click on upload ## files
under "All files":
In openpilot, lateral control means that openpilot can control your steering wheel.
In openpilot, longitudinal control means that openpilot can control gas and brake. If a car uses stock longitudinal control, that means the stock system that came with you car is in control.
Lane Change Assist only works at or above 30 mph/49 km/h. Activate the turn signal and, when it is safe to change lanes, gently nudge the wheel in the direction of the turn signal. Always pay attention when changing lanes, openpilot has limited or no ability to check if changing lanes is safe.
See the instructions for how to checkout a specific release.
With comma prime, low quality videos and condensed logs are uploaded constantly. When your device connects to Wi-Fi and the vehicle is stopped, it can upload the full logs and high quality videos if they are queued to upload from comma connect, or requested for training.
Videos are stored on the device in /data/media/0/realdata
as 1 minute segment directories. Each directory contains the log data and video in hevc
form. You can stitch these videos together using this Linux command:
cat fcamera1.hevc fcamera2.hevc fcamera3.hevc > output.hevc
The Windows equivalent for binary file concatenation would be
copy /b fcamera1.hevc+fcamera2.hevc+fcamera3.hevc output.hevc
If you rename the videos in sequence, you can use the shorter command:
cat fcamera* > output.hevc
Yet another option that doesn't require any renaming, simply change the date and time to match the start of your drive:
cd /sdcard/realdata
find . -type f -wholename "*2020-08-01--09-01-14--*/*.hevc" -exec cat {} + > drive.hevc
The output.hevc file can be uploaded to YouTube straight away, or played in VLC. But many others won’t know what to do with a .hevc file. So if sending, then download ffmpeg and convert it first. To make a .mpg copy for emailing etc., put the output.hevc file in the same folder as the ffmpeg program, then run a command like
ffmpeg -I output.hevc -qscale:v 1 output.mpg
Step by step guide for accessing video files here.
If your car is on the compatibility list, follow these steps to fingerprint your car: https://github.com/commaai/openpilot/wiki/Fingerprinting
The comma three is designed to be setup in the car. The USB-C to USB-C cable will only work when attached to the car harness in the vehicle. If you wish to power on the device inside, you must use a USB-A to USB-C cable and a wall charger.
The Dongle ID is what identifies your device. It can be used to look up drives, and troubleshoot.
The device Dongle ID is found in Settings -> Device -> Dongle ID
. If your device is paired with comma connect, you can also log into connect.comma.ai and grab your Dongle ID from the device list in the sidebar.
Perform a factory reset to delete your drives fully (answer below this one). An uninstall / reinstall of openpilot will still keep the drives preserved on the device.
You can uninstall openpilot by heading into Settings -> Software, scrolling to the bottom and tapping "uninstall". The device will be ready to install new software.
You can install a custom fork using the comma installer URL (https://installer.comma.ai/<user>/<branch>
). For example, to install the master-ci
branch you should enter https://installer.comma.ai/commaai/master-ci
. See How to change to a specific release?
You can also factory reset the device by tapping and holding on the comma logo while the device boots. After that, the factory reset screen will come up.
If the device is in a bad state and you cannot factory reset it normally, you should check out the agnos repository for instructions to re-flash it using fastboot from a computer or laptop.
Read more on the comma three page.
It shouldn't. The comma three is designed to turn off after 30 hours of inactivity, or after a shorter amount of time if it senses the car battery is running low.
Videos are saved on your device until additional space is needed. When less than 5GB or 10% of the drive space remains, the oldest segments will be deleted to clear up room. On the comma three 32GB stores approximately 1 hour of footage. The more storage you have, the more driving video you can store. The 250GB stores approximately 15 hours of footage, while the crosscountry edition with 1TB storage can save stores approximately 60 hours of footage. The oldest segments will be deleted to make room for new segments even if the old segments have not been uploaded. Want your video footage saved for longer? – Sign up for comma prime for 1 year of video storage.
The comma two is no longer supported. The most recent software release for the comma two is 0.8.13.1
. Hot fixes may be pushed to the commatwo_master
branch, but no new features will be released. Read more on the comma two page.
What aren't they for? Same thing as Reddit karma.
Read this Medium post on Externalization.
The LED indicates the status of the panda.
* White: CAN send enabled
* Red: This is your panda's heartbeat(power). It fades in and out
* Green: Bad firmware or firmware flashing (only green, fast)
* Blue (static): CAN detected
* Blue (fades in and out): power saving
To contribute to the openpilot codebase:
- Know Python / C++ (depends on which part of OP you want to contribute to)
- Learn Git and Github Pull Requests
- Read comma's blog posts related to development: https://blog.comma.ai/ (older posts on https://comma-ai.medium.com/)
- Read the openpilot
CONTRIBUTING.md
file - Look at the issues page on Github (Particularly the "good first issue" label: https://github.com/commaai/openpilot/labels/good%20first%20issue)
- Read through the code and understand the architecture
- Search Discord with any questions you think of before asking (as per #guidelines )
If you're not into coding, feel free to join the comma pencil movement! You can help comma train their driving model by annotating driving data.
Join the Discord and check out the pinned messages in the #comma-pencil
channel!
comma.ai is a very open company. Their developers spend a lot of time on the Discord Server working with users and collaborating with other community developers. This is awesome. But please don't abuse this. Asking questions that have already been answered is a waste of everyone's time. Wasting developer time means slower improvements for us all.
Please follow the instructions on the #Guidelines channel, specifically:
• Is it answered on https://comma.ai/faq ?
• Is it answered on https://wiki.comma.ai/ ?
• Is the answer found in the pins of a related channel? (Discord Pins)
• Has the question been asked before? (Discord Search)
• Have you read the channel description to confirm this is the correct place for your question?
Basic word searching is simple, but you may have better luck if you use search modifiers:
So if you have a question about a Toyota Camry you should search in the #toyota-lexus channel such as: in:#toyota-lexus <search term>
On the web app, it is as simple as clicking on the pin icon in the top right of the channel:
On the mobile app pins can be found by dragging from the right edge of the screen to the left.
On the desktop/web app, the channel description is located at the top of the page. If the description is truncated, you can click on it to read the entire contents:
On the mobile app the channel description can be found by dragging from the right edge of the screen to the left.