Code Monkey home page Code Monkey logo

sunnypilot / sunnypilot Goto Github PK

View Code? Open in Web Editor NEW
664.0 54.0 603.0 3.16 GB

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 290 supported car makes and models with modified behaviors of driving assist engagements. sunnypilot complies with comma.ai's safety rules as accurately as possible.

License: MIT License

Python 60.41% Cython 0.41% C++ 33.04% C 2.66% Shell 0.95% HTML 0.61% QML 0.03% Kaitai Struct 0.31% Dockerfile 0.05% JavaScript 0.25% CSS 0.07% Smarty 0.42% Batchfile 0.01% Jupyter Notebook 0.78%
autopilot comma fsd openpilot selfdriving acura audi chrysler genesis honda

sunnypilot's Introduction

Table of Contents


๐Ÿ’ญ Join our Discord


Join the official sunnypilot Discord server to stay up to date with all the latest features and be a part of shaping the future of sunnypilot!

๐ŸŒž 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 250+ supported car makes and models with modified behaviors of driving assist engagements. sunnypilot complies with comma.ai's safety rules as accurately as possible.

๐Ÿš˜ Running on a dedicated device in a car


To use sunnypilot in a car, you need the following:

  • A supported device to run this software
    • a comma three, or
    • a comma two (only with older versions below 0.8.13)
  • This software
  • One of the 250+ supported cars. We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run sunnypilot.
  • A car harness to connect to your car

Detailed instructions for how to mount the device in a car.

๐Ÿšจ Read Before Installing


It is recommended to read this entire page before proceeding. This will ensure that you fully understand each added feature on sunnypilot, and you are selecting the right branch for your car to have the best driving experience.

This is a fork of comma.ai's openpilot. By installing this software, you accept all responsibility for anything that might occur while you use it. All contributors to sunnypilot are not liable. โ—Use at your own risk.โ—

โ›” Prohibited Safety Modifications


All official sunnypilot branches strictly adhere to comma.ai's safety policy. Any changes that go against this policy will result in your fork and your device being banned from both comma.ai and sunnypilot channels.

The following changes are a VIOLATION of this policy and ARE NOT included in any sunnypilot branches:

  • Driver Monitoring:
    • โŒ "Nerfing" or reducing monitoring parameters.
  • Panda safety:
    • โŒ No preventing disengaging of LONGITUDINAL CONTROL (acceleration/brake) on brake pedal press.
    • โŒ No auto re-engaging of LONGITUDINAL CONTROL (acceleration/brake) on brake pedal release.
    • โŒ No disengaging on ACC MAIN in OFF state.

โš’ Installation


URL (Easy)

comma three

Please refer to Recommended Branches to find your preferred/supported branch. This guide will assume you want to install the latest release-c3 branch.

  • sunnypilot not installed or you installed a version before 0.8.17?

    1. Factory reset/uninstall the previous software if you have another software/fork installed.
    2. After factory reset/uninstall and upon reboot, select Custom Software when given the option.
    3. Input the installation URL per Recommended Branches. Example: release-c3.sunnypilot.ai 1 (note: https:// is not requirement on the comma three)
    4. Complete the rest of the installation following the onscreen instructions.
  • sunnypilot already installed and you installed a version after 0.8.17?

    1. On the comma three, go to Settings โ–ถ๏ธ Software.
    2. At the Download option, press CHECK. This will fetch the list of latest branches from sunnypilot.
    3. At the Target Branch option, press SELECT to open the Target Branch selector.
    4. Scroll to select the desired branch per Recommended Branches. Example: release-c3
Branch Installation URL
release-c3 https://release-c3.sunnypilot.ai
staging-c3 https://staging-c3.sunnypilot.ai
dev-c3 https://dev-c3.sunnypilot.ai

Requires further assistance with software installation? Join the sunnypilot Discord server and message us in the #installation-help channel.

comma two

  1. Factory reset/uninstall the previous software if you have another software/fork installed.
  2. After factory reset/uninstall and upon reboot, select Custom Software when given the option.
  3. Input the installation URL per Recommended Branches. Example: https://smiskol.com/fork/sunnyhaibin/0.8.12-4-prod
  4. Complete the rest of the installation following the onscreen instructions.

Requires further assistance with software installation? Join the sunnypilot Discord server and message us in the #installation-help channel.

SSH (More Versatile)

Prerequisites: How to SSH

If you are looking to install sunnypilot via SSH, run the following command in an SSH terminal after connecting to your device:

comma three:

  • release-c3:

    cd /data; rm -rf ./openpilot; git clone -b release-c3 --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot
    

comma two:

  • 0.8.12-prod-personal-hkg:

    cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot
    

After running the command to install the desired branch, your comma device should reboot.

๐Ÿš— Highlight Features


Quality of Life Enhancements

  • Modified Assistive Driving Safety (MADS) - Automatic Lane Centering (ALC) / Lane Keep Assist System (LKAS) and Adaptive Cruise Control (ACC) / Smart Cruise Control (SCC) can be engaged independently of each other
  • Dynamic Lane Profile (DLP) - Dynamically switch lane profile (between Laneful and Laneless) based on lane recognition confidence
  • Enhanced Speed Control - Automatically adjust cruise control speed using vision model, OpenStreetMap (OSM) data, and/or Speed Limit control (SLC) without user interaction
    • Vision-based Turn Speed Control (V-TSC) - lower speed when going around corners using vision model
    • Map-Data-based Turn Speed Control (M-TSC) - lower speed when going around corners using OSM data2
    • Speed Limit Control (SLC) - Set speed limit based on map data or car interface (if applicable)
    • HKG only: Highway Driving Assist (HDA) status integration - Use cars native speed sign detection to set desired speed (on applicable HKG cars only)
  • Gap Adjust Cruise (GAC) - Allow GAP/INTERVAL/DISTANCE button on the steering wheel or on-screen button to adjust the follow distance from the lead car. See table below for options
    • Quiet Drive ๐Ÿคซ - Toggle to mute all notification sounds (excluding driver safety warnings)
    • Auto Lane Change Timer - Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set
    • Force Car Recognition (FCR) - Use a selector to force your car to be recognized by sunnypilot
    • Fix sunnypilot No Offroad - Enforce sunnypilot to go offroad and turns off after shutting down the car. This feature fixes non-official devices running sunnypilot without comma power
    • Enable ACC+MADS with RES+/SET- - Engage both ACC and MADS with a single press of RES+ or SET- button
    • Offline OSM Maps - OSM database can now be downloaded locally for offline use3. This enables offline SLC, V-TSC and M-TSC. Currently available for US South, US West, US Northeast, Florida, Taiwan, South Africa and New Zealand
    • Various Live Tuning - Ability to tailor your driving experience on the fly:
      • Enforce Torque Lateral Control - Use the newest torque controller for all vehicles.
      • Torque Lateral Control Live Tune - Ability to adjust the torque controllerโ€™s FRICTION and LAT_ACCEL_FACTOR values to suit your vehicle.
      • Torque Lateral Controller Self-Tune - Enable automatic turning for the Torque controller.

Visual Enhancements

  • M.A.D.S Status Icon - Dedicated icon to display M.A.D.S. engagement status
    • Green๐ŸŸข: M.A.D.S. engaged
    • Whiteโšช: M.A.D.S. suspended or disengaged
  • Lane Path Color - Various lane path colors to display real-time Lane Model and M.A.D.S. engagement status
    • 0.8.14 and later:
      • Blue๐Ÿ”ต: Laneful mode & M.A.D.S. engaged
      • Green๐ŸŸข: Laneless mode & M.A.D.S. engaged
      • Yellow๐ŸŸก: Experimental e2e & M.A.D.S. engaged
    • Pre 0.8.14:
      • Green๐ŸŸข: Laneful mode & M.A.D.S. engaged
      • Red๐Ÿ”ด: Laneless mode & M.A.D.S. engaged
    • Whiteโšช: M.A.D.S. suspended or disengaged
    • Blackโšซ: M.A.D.S. engaged, steering is being manually overridden by user
  • Developer (Dev) UI - Display various real-time metrics on screen while driving
  • Stand Still Timer - Display time spent at a stop with M.A.D.S engaged (i.e., at traffic lights, stop signs, traffic congestions)
  • Braking Status - Current car speed text turns red when the car is braking by the driver or ACC/SCC

Operational Enhancements

  • Fast Boot - sunnypilot will fast boot by creating a Prebuilt file
  • Disable Onroad Uploads - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot
  • Brightness Control (Global) - Manually adjusts the global brightness of the screen
  • Driving Screen Off Timer - Turns off the device screen or reduces brightness to protect the screen after car starts
  • Driving Screen Off Brightness (%) - When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio
  • Max Time Offroad - Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road)

๐Ÿš— Driving Enhancements


Modified Assistive Driving Safety (MADS)

The goal of Modified Assistive Driving Safety (MADS) is to enhance the user driving experience with modified behaviors of driving assist engagements. This feature complies with comma.ai's safety rules as accurately as possible with the following changes:

  • sunnypilot Automatic Lane Centering (ALC) and ACC/SCC can be engaged independently of each other
  • Dedicated button to toggle sunnypilot ALC:
    • CRUISE (MAIN) button: All supported cars on sunnypilot
      • LFA button: Newer HKG cars with LFA button
      • LKAS button: Honda, Toyota, Global Subaru
  • SET- button enables ACC/SCC
  • CANCEL button only disables ACC/SCC
  • CRUISE (MAIN) must be ON to use ACC/SCC
  • CRUISE (MAIN) button disables sunnypilot completely when OFF (strictly enforced in panda safety code)

Disengage Lateral ALC on Brake Press Mode toggle

Dedicated toggle to handle Lateral state on brake pedal press and release:

  1. ON: BRAKE pedal press will pause Automatic Lane Centering; BRAKE pedal release will resume Automatic Lane Centering. Note: BRAKE pedal release will NOT resume ACC/SCC/Long control without explicit user engagement (strictly enforced in panda safety code)
  2. OFF: BRAKE pedal press will NOT pause Automatic Lane Centering; BRAKE pedal release will NOT resume ACC/SCC/Long control without explicit user engagement (strictly enforced in panda safety code)

Miscellaneous

  • TURN SIGNALS (Left or Right) will pause Automatic Lane Centering if the vehicle speed is below the threshold for Automatic Lane Change
  • Event audible alerts are more relaxed to match manufacturer's stock behavior
  • Critical events trigger disengagement of Automatic Lane Centering completely. The disengagement is enforced in sunnypilot and panda safety

Dynamic Lane Profile (DLP)

Dynamic Lane Profile (DLP) aims to provide the best driving experience at staying within a lane confidently. Dynamic Lane Profile allows sunnypilot to dynamically switch between lane profiles based on lane recognition confidence level on road.

There are 3 modes to select on the onroad camera screen:

  • Auto Lane: sunnypilot dynamically chooses between Laneline or Laneless model
  • Laneline: sunnypilot uses Laneline model only.
  • Laneless: sunnypilot uses Laneless model only.

To use Dynamic Lane Profile, do the following:

1. sunnypilot Settings -> `SP - Controls` -> Enable Dynamic Lane Profile -> ON toggle
2. Reboot.
3. Before driving, on the onroad camera screen, toggle between the 3 modes by pressing on the button.
4. Drive.

Enhanced Speed Control

This fork now allows supported cars to dynamically adjust the longitudinal plan based on the fetched map data. Big thanks to the Move Fast team for the amazing implementation!

Supported cars:

  • sunnypilot Longitudinal Control capable
  • Stock Longitudinal Control
    • Hyundai/Kia/Genesis (non CAN-FD)
    • Honda Bosch
    • Volkswagen MQB

Certain features are only available with an active data connection, via:

  • comma Prime - Intuitive service provided directly by comma, or
  • Personal Hotspot - From your mobile device, or a dedicated hotspot from a cellular carrier.

Features:

  • Vision-based Turn Speed Control (VTSC) - Use vision path predictions to estimate the appropriate speed to drive through turns ahead - i.e. slowing down for curves
  • Map-Data-based Turn Speed Control (MTSC) - Use curvature information from map data to define speed limits to take turns ahead - i.e. slowing down for curves2
  • Speed Limit Control (SLC) - Use speed limit signs information from map data and car interface to automatically adapt cruise speed to road limits
    • HKG only: Highway Driving Assist (HDA) status integration - on applicable HKG cars only2
    • Speed Limit Offset - When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive2
  • Toggle Hands on Wheel Monitoring - Monitors and alerts the driver when their hands have not been on the steering wheel for an extended time

Custom Stock Longitudinal Control

While using stock Adaptive/Smart Cruise Control, Custom Stock Longitudinal Control in sunnypilot allows sunnypilot to manipulate and take over the set speed on the car's dashboard.

Supported Cars:

  • Hyundai/Kia/Genesis
    • CAN platform
    • CAN-FD platform with 0x1CF broadcasted in CAN traffic
  • Honda Bosch
  • Volkswagen MQB

Instruction

**๐Ÿ“— How to use Custom Longitudinal Control on sunnypilot **

When using Speed Limit, Vision, or Map based Turn control, you will be setting the "MAX" ACC speed on the sunnypilot display instead of the one in the dashboard. The car will then set the ACC setting in the dashboard to the targeted speed, but will never exceed the max speed set on the sunnypilot display. A quick press of the RES+ or SET- buttons will change this speed by 5 MPH or KM/H on the sunnypilot display, while a long deliberate press (about a 1/2 second press) changes it by 1 MPH or KM/H. DO NOT hold the RES+ or SET- buttons for longer that a 1 second. Either make quick or long deliberate presses only.

โ€ผ Where to look when setting ACC speed โ€ผ

Do not look at the dashboard when setting your ACC max speed. Instead, only look at the one on the sunnypilot display, "MAX". The reason you need to look at the sunnypilot display is because sunnypilot will be changing the one in the dashboard. It will be adjusting it as needed, never raising it above the one set on the sunnypilot display. ONLY look at the MAX speed on the sunnypilot display when setting the ACC speed instead of the dashboard!

(Courtesy instructions from John, author of jvePilot)

Gap Adjust Cruise

This fork now allows supported openpilot longitudinal cars to adjust the cruise gap between the car and the lead car.

Supported cars:

  • sunnypilot Longitudinal Control capable

๐ŸšจPROCEED WITH EXTREME CAUTION AND BE READY TO MANUALLY TAKE OVER AT ALL TIMES

There are 4 modes to select on the steering wheel and/or the onroad camera screen:

  • Stock Gap: Stock sunnypilot distance - 1.45 second profile
  • Mild Gap: Semi-aggressive distance - 1.25 second profile
  • ๐ŸšจAggro Gap๐Ÿšจ: Aggressive distance - 1.0 second profile

Availability

Car Make Stock Gap Mild Gap Aggro Gap
Honda/Acura โœ… โœ… โœ…
Hyundai/Kia/Genesis โœ… โœ… โœ…
Toyota/Lexus โœ… โœ… โœ…
Volkswagen MQB/PQ โœ… โœ… โœ…

โš’ Branch Definitions


Tag Definition Description
release Release branches Include features that are verified by trusted testers and the community. Ready to use. โœ…
staging Staging branches Include new features that are tested by trusted testers and the community. Stability may vary. โš 
dev Development branches All features are gathered in respective versions. Reviewed and merged features will be committed to dev. Stability may vary. โš 
master Main branch Syncs with commaai's openpilot master upstream branch. Accepts all pull requests. Does not include all sunnypilot features. Stability may vary. โš 

Example:

  • release-c3: Latest release branch for comma three that are verified by trusted testers and the community. Ready to use.
  • staging-c3: Latest staging branch for comma three that are tested by trusted testers and the community. Verification required.
  • dev-c3: Latest development branch for comma three that include all sunnypilot features. Testing required.

โœ… Recommended Branches


Branch Definition Compatible Device Changelogs
release-c3 โ€ข Latest release/stable branch comma three CHANGELOGS.md
staging-c3 โ€ข Latest staging branch comma three CHANGELOGS.md
dev-c3 โ€ข Latest development branch with experimental features comma three CHANGELOGS.md

๐Ÿ“— How To's


How-To instructions can be found in HOW-TOS.md.

๐ŸŽ† 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.

๐Ÿ† Special Thanks


๐Ÿ“Š 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 is only logged if you explicitly opt-in in settings. The microphone is not recorded.

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

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.

๐Ÿ’ฐ Support sunnypilot


If you find any of the features useful, consider becoming a patron on Patreon or a sponsor on GitHub to support future feature development and improvements.

By becoming a patron/sponsor, you will gain access to exclusive content, early access to new features, and the opportunity to directly influence the project's development.

Patreon

Become a Patron

GitHub Sponsor

Become a Sponsor

PayPal

PayPal this

Your continuous love and support are greatly appreciated! Enjoy ๐Ÿฅฐ

- Jason, Founder of sunnypilot

Footnotes

  1. Shortened URL for convenience. Full URL is smiskol.com/fork/sunnyhaibin/release-c3 โ†ฉ

  2. Requires data connection if not using Offline Maps data โ†ฉ โ†ฉ2 โ†ฉ3 โ†ฉ4

  3. At least 50 GB of storage space is required. If you have the 32 GB version of comma three, upgrading with a compatible 250 GB or 1 TB SSD is strongly recommended โ†ฉ

sunnypilot's People

Contributors

adeebshihadeh avatar alexandresato avatar briskspirit avatar crwusiz avatar cydia2020 avatar deanlee avatar efinilan avatar erichmoraga avatar fredyshox avatar gast04 avatar geohot avatar gijskoning avatar gregjhogan avatar grekiki2 avatar haraschax avatar iejmac avatar incognitojam avatar jafaral avatar jnewb1 avatar jyoung8607 avatar martinl avatar mitchellgoffpc avatar nuwandavek avatar pd0wm avatar robbederks avatar sshane avatar sunnyhaibin avatar virtuallychris avatar yassineyousfi avatar zwx1616 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sunnypilot's Issues

CAN Bus Disconnected: Likely Faulty Cable

Describe the bug

ev6 2022 hda2
sunny pilot 0.9.4
comma 3x
An error message appears when the preceding vehicle stops and departs while using SunnyPilot. CAN Bus Disconnected: Likely Faulty Cable
Every time an error

Which car does this affect?

๊ธฐ์•„ ev6 2022

Provide a route where the issue occurs

11111

openpilot version

0.9.4.1

Additional info

I've done some tests so far, and if I run a sunny pilot while using i-pelal, a cable error message will occur at the time of departure after stopping

2023 Toyota Highlander not in SP Vehicles List

I installed using installer.comma.ai/sunnyhaibin/test-c3 (sunny pilot 2022.11.13/test-c3/f34deb6/Nov 13) and got a car not supported error. It directed me to the SP Vehicles menu to manually select my car (2023 Toyota Highlander). The SP Vehicles list only lists Highlanders up to model year 2022. I have a comma3 (dongle ID 9EF0 941B E9F8 057D). It works fine on a 2017 Highlander (which I traded in for the 2023 Highlander).
I tried the standard openpilot release at openpilot.comma.ai, but also get the same unsupported car error. I ordered a new harness, which looks identical to the old one. The same problem occurs for either harness. I made a note in the discussion section of openpilot, but haven't seen any replies for several days.
Any ideas you may have would be greatly appreciated. I look forward to being able to use my comma3 again. I will be glad to send any additional info/pictures you need.

Thanks.

Speed spoof

Is it possible to enable speed spoof like jve? I love sunny but want this feature. Can I donate?

Volkswagen not mentioned in supported cars

Hi I was checking out your fork deciding whether it could be a good fit on my 2019 VW Golf. I saw that it's not in the list of manufacturers at the top of the README, but there is mention of some features like custom stock longitudinal control working for VW MQB. So I'm a little bit confused, is there support for my golf, or is it not recommended? Cheers!

ui process cpu usage too high. slow frame rate

Thanks for your development,
I ran into the problem of "slow frame rate" while referencing your code.
The cause of this problem is ButtonsWindow::updateState().

It was solved by modifying it as follows

void ButtonsWindow::updateState(const UIState &s) {
if (m_dynamic_lane_profile != s.scene.dynamic_lane_profile) {
m_dynamic_lane_profile = s.scene.dynamic_lane_profile;
if (s.scene.dynamic_lane_profile == 0) {
dlpBtn->setStyleSheet(QString("font-size: 45px; border-radius: 100px; border-color: %1").arg(dlpBtnColors.at(0)));
dlpBtn->setText("Lane\nonly");
}
else if (s.scene.dynamic_lane_profile == 1) {
dlpBtn->setStyleSheet(QString("font-size: 45px; border-radius: 100px; border-color: %1").arg(dlpBtnColors.at(1)));
dlpBtn->setText("Lane\nless");
}
else if (s.scene.dynamic_lane_profile == 2) {
dlpBtn->setStyleSheet(QString("font-size: 45px; border-radius: 100px; border-color: %1").arg(dlpBtnColors.at(2)));
dlpBtn->setText("Auto\nLane");
}
}
}

OpenStreetMap Uploads

I'm afraid that I have had to revoke the OAuth token you are using to upload traces to OpenStreetMap. There are several reasons for this:

  • Firstly you have committed a bearer token which gives access to the API under your account to this repository which is not acceptable - bearer tokens should be treated as secret as they given access to operate (in limited ways) as you.
  • Secondly you are uploading vast numbers of traces under one account that is using an email address that cannot in any way handle the number of upload notifications it is getting which is causing yahoo to block our email server which is impacting other users and causing thousands of emails at a time to get stuck in our queue.

Please do not attempt to reauthorise your application using a new token without first addressing these issues.

Disable Onroad Uploads: Detail Clarification

Problem:

The phrase "Turn on" in the context of a toggle and its label including"Disable" aren't clear.

Reference:

What is written in the ReadMe:
**Disable Onroad Uploads** - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot.

What is written on device in the SP-General Menu:
**Disable Onroad Uploads** - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC).

Suggestion:

**Disable Onroad Uploads** - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Do not enable this toggle if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC).

Assumptions:

  1. Onroad Uploads are a hard requirement for Map-based features

  2. Map-based features, in nature will result in higher bandwidth/data usage

2023 Santa Fe HEV support

To support 2023 Santa Fe HEV, add the following lines to values.py

transmission:
b'\xf1\x8795441-3D120\x00\xf1\x89E16\x00\x00\x00\x00\x00\x00\x00\xf1\x82TTM2H16SA3',

engine
b'\xf1\x87391312MTL0',

Steer to 0

I updated and noticed steer to 0 is missing. Will it be back? If not can you give me some insight on the pull request where it was removed. Thanks. Love your fork!

LTA unavailable warning sound after unplug power from comma

Version: 8.14
Model: Prius Prime 22"

Hi,
I take comma off because I don't want to leave expensive items in the car.
If I turn off my car and unplug USB-C from comma, it will show LTA unavailable warning sound.
But if turn off car for a while, and unplug it, it won't show and alert it.

Cruise fault on Bolt euv on pressing resume

Cruise fault will happen anytime pressing resume button with acc while at a standstill, will not happen if I tap the gas(will resume perfectly fine if I do). Car will jerk a little before engaging the breaks, and even sometimes the parking brake if you continue to press resume. On stock open pilot it will just say cannot resume below 3mph and give no faults.

Example on Sunny

Universal: Dev UI on screen while driving

Add Dev UI on screen while driving with the following metrics (if applicable):

  • Lead car relative distance
  • Lead car relative speed
  • Actual steering degree
  • Desired steering degree
  • Engine RPM
  • Longitudinal acceleration
  • Lead car actual speed
  • EPS torque
  • Current altitude
  • Compass direction

Toyota/Lexus - Enhanced Speed Control - ACC speed setting

Hello, Thanks for a great version of openpilot with wonderful features!

I was curious if there were plans to expand the Enhanced Speed Control to Toyota/Lexus models.

I can help test if needed.

Car Make: Lexus
Car Model: NX300
Car Year: 2018
Hardware: Comma Three

Thanks,
Mark

Red / Green light chime on chill-mode only cars

Could you make it possible to enable the "experimental mode" toggle in settings for unsupported cars? My car does not support OP e2e long, so I cannot enable experimental mode. It's simply greyed out. I'd still like to use the red/green light chime that was added in 20221207. Or maybe enable the chime and indicator toggles regardless of experimental mode.

Thanks, keep up the good work!

Recent Update gives Front Collision Error

Describe the bug

I get a warning about the front collision warning on the dev-c3 branch. I wasnโ€™t getting this before the last few updates and donโ€™t get it on the main branch of openpilot.
Uploading image.jpgโ€ฆ

Which car does this affect?

Hyundai Ioniq 5

Provide a route where the issue occurs

f2a5efadd1dbf33 | 7C2023-10-07--20-20-34

openpilot version

0.9.4

Additional info

No response

Data sensors

2020 palisade with sunnyhaibin none personal keeps getting data sensor issue after install. Wonโ€™t engage it also says unable to detect car closes car is 2020 palisade.

ev6 stop&go bug

Describe the bug

Hello.
I'm using the Sunny Pilot well.

my car is kia ev6 with hda2 / 2022

However, if you restart after stopping, there will be a bug.

"Can Bus Disconnected:Likely Faluty Cable"

I thought it was a cable problem, so I replaced all the cables
Occasionally occurs when restarting after stopping.

What should I do?

I'm sorry to ask for your help every time.

Thank you.

Which car does this affect?

ev6 with hda

Provide a route where the issue occurs

I don't know

openpilot version

relase-c3/staging-c3/dev-c3

Additional info

No response

sunnypilot defaults to uploading fully detailed GPS traces without knowing consent

Describe the bug

My understanding is sunnypilot defaults to uploading GPS traces to osm.org and allows an opt-out in the settings. These GPS traces contain vehicle make, model, year, and detailed position information that can reveal user information like home locations, work locations, where they visit, and other personal information.

The OSMF LWG is concerned that the data being uploaded is from users who have automatically been opted in to this and do not realize what they are publishing.

For automatic opt-in uploading, the traces would need to be sufficiently anonymized that personal information is not present, likely by some form of aggregation and truncation. I'm not sure what would meet those requirements.

A better option would be to default to not uploading traces, and making it opt-in. Then when a user opts in to uploading, they know that they are doing so and providing personal data.

Provide a route where the issue occurs

N/A

openpilot version

N/A

Additional info

No response

mazda cx5 2023 longitudinal control is not working

Describe the bug

Custom ACC can be toggled but it doesn't seem to change the behavior of stock ACC on Mazda CX5 2023.
Also, experimental mode cannot be toggled.

Which car does this affect?

Mazda CX-5 2023

Provide a route where the issue occurs

n/a

openpilot version

0.9.2

Additional info

No response

Steering temporarily unavailable in low speed

Describe the bug

When I have lateral enabled, comes to a complete stop and quickly let the car roll forward. I get the STEERING TEMPORARILY UNAVAILABLE and I can't reengange until I turn off and on the car. I also get the TAKE CONTROL IMMEDIATELY. I tried with dev-c3 and staging-c3, both have the same issue.

I don't have an official device (I'm using Mr.One clone), so I can't upload the logs to comma, but here are them: https://drive.google.com/drive/folders/1LBR7k8OQbNT3fRMk9xr8j5WiCA9X5g0z?usp=sharing

Which car does this affect?

VW Taos 2023

Provide a route where the issue occurs

https://drive.google.com/drive/folders/1LBR7k8OQbNT3fRMk9xr8j5WiCA9X5g0z?usp=sharing

openpilot version

d64b95d

Additional info

No response

Simplify GPS traces before uploading to openstreetmap.org

Describe the bug

First of all, thank you for contributing GPS traces to OpenStreetMap. We'd like to bring the discussion in openstreetmap/operations#931 to your attention. Right now, sunnypilot is the TOP 1 contributor of GPS traces according to https://planet.openstreetmap.org/statistics/data_stats.html, with more than 10 billion trace points created on OpenStreetMap GPS trace database. This is putting a lot of pressure on our infrastructure: it has doubled the overall growth rate of our database, which includes much more than GPS traces.

When analyzing your traces, we have frequently seen that traces tend to be over-noded, which means, that they contain many more traces points than necessary for our purposes. We would therefore like you to consider simplifying GPS traces before uploading them to osm.org. This way, a trace with 6000 trace points could be easily reduced down to 20-30 trace points, with as little as 1m error. That's a factor of 100-300 in potential data reduction we've seen with data uploaded by sunnypilot.

We typically recommend to check out tools such as GPSBabel. Our wiki page https://wiki.openstreetmap.org/w/index.php?title=GPSBabel/Using_filters#Simplifying_tracks has some examples.


gpsbabel -i gpx -f way_iv.gpx  \
    -x simplify,crosstrack,error=0.001k \
    -o gpx -F merge.gpx

Code: https://github.com/GPSBabel/gpsbabel/blob/cd3cd130541f7a72706120511156c6a61e3bbcc8/smplrout.cc

Please let us know in case of further questions.

//CC: @tomhughes

Provide a route where the issue occurs

N/A

openpilot version

N/A

Additional info

No response

Comma 3 connect offline

Hello Folks,
I have my comma 3 just for 3 days and after setting up my device and installing the stock version of open pilot 0.9.1 and using my smartphone hotspot successfully the comma 3 connected and showed "CONNECTED ONLINE "
But after that it shows that is connected to my hotspot in the network settings but it shows " CONNECT OFFLINE " in the main screen.
However at home using an external power and connected to my home wifi.
the main screen shows CONNECT ONLINE at all times.
any help please to this issue would be greatly appreciated.
Thanks.

Can it run on oneplus3t?

my oneplus3t is eons20
During the installation, I was told to upgrade the system
and after the completion, I was caught in a loop of restarting

Auto Hold

keep car stationary after 4sec in standstill and keep while not pedal pressed

Toyota Corolla 2019 (Comma 3)

20221203_185136
20221203_185141

I used this installer.comma.ai/sunnyhaibin/test-c3

Manager failed to start

Traceback(most recent call last):
File",line 219, in

Ford/Tesla missing car controller "c" when they call `create_common_events()`

Describe the bug

A car control objected is expected in the create_common_events() function but missing from the call for Ford and Tesla. That argument is not in the create_common_events definition in Comma master.
Screenshot 2023-06-17 at 9 03 07 AM

Here's the thrown exception on a ford maverick
exception

Provide a route where the issue occurs

foo

openpilot version

SP 0.9.2.2

Additional info

No response

SLC not working for Kia K5 Hybrid (2020)

Hi. I'm using C3 with Kia K5 Hybrid (2020). It has HDA1 feature, however SLC is not working.

I selected "Hyundai Sonata Hybrid 2020-22", and added fingerprint of the car on the values.py:
FINGERPRINTS = {
CAR.SONATA_HYBRID: [{
127: 8, 304: 8, 320: 8, 339: 8, 352: 8, 356: 4, 516: 8, 544: 8, 576: 8, 593: 8, 688: 6, 757: 2, 832: 8, 881: 8, 882: 8, 897: 8, 902: 8, 903: 8, 905: 8, 909: 8, 913: 8, 916: 8, 919: 8, 1040: 8, 1042: 8, 1056: 8, 1057: 8, 1078: 4, 1096: 8, 1102: 8, 1114: 8, 1136: 6, 1138: 5, 1151: 8, 1155: 8, 1156: 8, 1157: 4, 1162: 8, 1164: 8, 1168: 8, 1173: 8, 1180: 8, 1184: 8, 1186: 2, 1191: 2, 1193: 8, 1210: 8, 1225: 8, 1227: 8, 1265: 4, 1280: 8, 1287: 4, 1290: 8, 1291: 8, 1292: 8, 1294: 8, 1312: 8, 1322: 8, 1330: 8, 1339: 8, 1342: 8, 1343: 8, 1345: 8, 1348: 8, 1355: 8, 1363: 8, 1369: 8, 1371: 8, 1378: 8, 1379: 8, 1407: 8, 1419: 8, 1427: 6, 1429: 8, 1430: 8, 1446: 8, 1448: 8, 1456: 4, 1460: 8, 1470: 8, 1476: 8, 1485: 8, 1535: 8
}],
...
(Checked that it has 0x544 in the fingerprint)

Thanks.

simpler logic?

https://github.com/sunnyhaibin/openpilot/blob/f106563174bba424f3afa0c83006fbf11034eba4/selfdrive/controls/lib/lateral_planner.py#L184

Hey Sunny,

I've simplified your DLP code a bit (too many repeated codes), could you please take a look and let me know if anything is missing?

    # Turn off lanes during lane change
    if self.desire == log.LateralPlan.Desire.laneChangeRight or self.desire == log.LateralPlan.Desire.laneChangeLeft:
      self.LP.lll_prob *= self.lane_change_ll_prob
      self.LP.rll_prob *= self.lane_change_ll_prob
    if self.get_dlp_laneless_mode(): # this is where we call the method below
     # laneline logic 
     d_path_xyz = self.LP.get_d_path(v_ego, self.t_idxs, self.path_xyz)
      self.lat_mpc.set_weights(MPC_COST_LAT.PATH, MPC_COST_LAT.HEADING, self.steer_rate_cost)
      self.laneless_mode_is_e2e = True # store auto mode value
    else:
      # laneless logic
      d_path_xyz = self.path_xyz
      path_cost = np.clip(abs(self.path_xyz[0, 1] / self.path_xyz_stds[0, 1]), 0.5, 1.5) * MPC_COST_LAT.PATH
      # Heading cost is useful at low speed, otherwise end of plan can be off-heading
      heading_cost = interp(v_ego, [5.0, 10.0], [MPC_COST_LAT.HEADING, 0.0])
      self.lat_mpc.set_weights(path_cost, heading_cost, self.steer_rate_cost)
      self.laneless_mode_is_e2e = False # store auto mode value
  # a method to decide which mode (e2e or lane) to go
  def get_dlp_laneless_mode(self):
    if self.laneless_mode == 1: # e2e
      return True
    if self.laneless_mode == 0: # lane
      return False
    elif self.laneless_mode == 2: # auto
      # only while lane change is off
      if self.lane_change_state == LaneChangeState.off:
        # lane probability too low, we switch to laneless mode
        if (self.LP.lll_prob + self.LP.rll_prob)/2 < 0.3:
          self.laneless_mode_buffer = True
        if (self.LP.lll_prob + self.LP.rll_prob)/2 > 0.5:
          self.laneless_mode_buffer = False
        if self.laneless_mode_buffer: # in buffer mode, always laneless
          return True
    return False

thanks for the awesome work! :)

ev6 custom stock longitudinal control can't run

Describe the bug

ev6 2022 with hda2
custom stock longitudinal control can't run
20230709_115012

Which car does this affect?

ev6 2022 with hda2

Provide a route where the issue occurs

staging-c3

openpilot version

staging-c3

Additional info

20230709_115012
i would like to use it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.