The turn desire reaches the model as a one-frame pulse on its rising edge, and its desire and feature history is 5 s (100 model frames). On routes 92-96 the model's turn state fell 6.5 s after every cue, and after a cue at a red light the car pulled away straight. While a turn desire (turnLeft/turnRight, never a lane change) is held, the desire input is cleared for one frame so the next frame is a fresh pulse: every 4 s, and when the car pulls away after a stop of 1 s or more. A cue stops being refreshed for good once the car has gone 40 m since the cue (a stop inside that restarts the count) or turned 60 deg toward the turn, from the model's own pose yaw rate (this car's carState.yawRate is always 0). The refresh resets on the big-to-small fallback, as the small model pulses a held desire on its first frame. Replaying the cue timing of routes 85-9a from qlogs (74 single turns): the 5 s history held the turn until it was 80% done on 10 turns; with the refresh, 58. Of the other 16, the blinker cancelled before 80% on 13. No refresh lands after a turn is 80% done (12 did with no heading cap). Four cues with no turn (slow lane changes, a blinker held at a light) got 11 extra pulses, 6 of them while parked at the light. Not checked: how the model responds to a second pulse for the same turn, which it never saw in training. That needs the full camera video, which is only on the device. On by default; ENABLED in turn_desire_refresh.py turns it off. Not yet driven. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🌞 What is sunnypilot?
sunnypilot is a fork of comma.ai's openpilot, an open source driver assistance system. sunnypilot offers the user a unique driving experience for over 300+ supported car makes and models with modified behaviors of driving assist engagements. sunnypilot complies with comma.ai's safety rules as accurately as possible.
💭 Join our Community Forum
Join the official sunnypilot community forum to stay up to date with all the latest features and be a part of shaping the future of sunnypilot!
Documentation
https://docs.sunnypilot.ai/ is your one stop shop for everything from features to installation to FAQ about the sunnypilot
🚘 Running on a dedicated device in a car
First, check out this list of items you'll need to get started.
Installation
Next, refer to the sunnypilot community forum for installation instructions, as well as a complete list of Recommended Branch Installations.
🎆 Pull Requests
We welcome both pull requests and issues on GitHub. Bug fixes are encouraged.
Pull requests should be against the most current master branch.
📊 User Data
By default, sunnypilot uploads the driving data to comma servers. You can also access your data through comma connect.
sunnypilot is open source software. The user is free to disable data collection if they wish to do so.
sunnypilot logs the road-facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs. The driver-facing camera and microphone are only logged if you explicitly opt-in in settings.
By using this software, 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
sunnypilot is released under the MIT License. This repository includes original work as well as significant portions of code derived from openpilot by comma.ai, which is also released under the MIT license with additional disclaimers.
The original openpilot license notice, including comma.ai’s indemnification and alpha software disclaimer, is reproduced below as required:
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.
For full license terms, please see the LICENSE file.
💰 Support sunnypilot
If you find any of the features useful, consider becoming a sponsor on GitHub to support future feature development and improvements.
By becoming a sponsor, you will gain access to exclusive content, early access to new features, and the opportunity to directly influence the project's development.
GitHub Sponsor
PayPal
Your continuous love and support are greatly appreciated! Enjoy 🥰
- Jason, Founder of sunnypilot
