Skip to content

sunnyhaibin's openpilot, a fork of comma.ai's openpilot. This fork enhances the user driving experience for Hyundai/Kia/Genesis, Honda, Subaru, and Toyota vehicles with openpilot with modified behaviors of openpilot engagements. This fork complies with comma.ai's safety rules as accurately as possible.

Notifications You must be signed in to change notification settings

bensonkwek/openpilot-sunny

 
 

Repository files navigation

Table of Contents


💭 Join our Discord 💭

Join sunnyhaibin's openpilot server!

🚨 Read Before Installing 🚨

It is recommended to read this entire page before proceeding. This will ensure that you are selecting the right branch for your car to have the best driving experience.

This fork is recommended to be used for Hyundai/Kia/Genesis (HKG), Honda, Toyota, and Subaru cars. It 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 this fork are not liable. Use at your own risk.

🚗 Highlight Features

Driving Enhancement

  • Modified Assistive Driving Safety (MADS) - openpilot Automatic Lane Centering (ALC) and Adaptive Cruise Control (ACC) / Smart Cruise Control (SCC) can be engaged independently of each other
  • Dynamic Lane Profile (DLP) - dynamically switch lane profile base on lane recognition confidence
  • Quiet Drive 🤫 - Toggle to mute all notification sounds (excluding driver safety warnings)
  • Force Car Recognition (FCR) - Use a selector to force your car to be recognized by openpilot
  • OpenStreetMap (OSM) Speed Limit Control - Utilizes data from OpenStreetMap to achieve dynamic speed limit control without user's intervention. Only available to openpilot longitudinal capable cars

🚗 Driving Enhancement

Modified Assistive Driving Safety (MADS)

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

  • openpilot ALC and ACC/SCC can be engaged independently of each other
  • Dedicated button to toggle openpilot ALC:
    • LFA button: Newer HKG cars
    • CRUISE (MAIN) button: Most HKG cars, Subaru (Global and Pre Global)
    • LKAS button: Honda, Toyota
  • SET- button enables ACC/SCC
  • CANCEL button only disables ACC/SCC
  • CRUISE (MAIN) button disables openpilot completely when OFF (strictly enforced in panda safety code)
  • BRAKE pedal press will pause openpilot ALC; BRAKE pedal release will resume openpilot ALC; BRAKE pedal release will NOT resume ACC/SCC without an explicit entry
  • GAS pedal press will not disengage openpilot ALC or ACC/SCC
  • TURN SIGNALS (Left or Right) will pause openpilot ALC if the vehicle speed is below the threshold for openpilot Automatic Lane Change
  • Event audible alerts are more relaxed to match manufacturer's stock behavior

Dynamic Lane Profile (DLP)

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

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

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

To use Dynamic Lane Profile, do the following:

1. openpilot Settings -> Toggles -> Disable use of lanelines -> ON toggle
2. Reboot.
3. Before driving, on the onroad camera screen, toggle between the 3 modes by pressing on the button.
4. Drive. 

OpenStreetMap (OSM) Speed Limit Control

OpenStreetMap (OSM) allows openpilot-longitudinal-capable cars to dynamically adjust the longitudinal plan based on the fetched map data. Big thanks to the Move Fast team for the amazing implementation!

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 Control]: Use vision path predictions to estimate the appropriate speed to drive through turns ahead - i.e., slowing down for curves
  • [Map-Data-based Turn Control]: Use curvature information from map data to define speed limits to take turns ahead - i.e., slowing down for curves
    • Note: Require data connection
  • [Speed Limit Control]: Use speed limit signs information from map data and car interface to automatically adapt cruise speed to road limits
    • Note: Require data connection
      • [Speed Limit Offset]: When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive
        • Note: Require data connection
  • [Hands on Wheel Monitoring]" Monitor and alert when driver is not keeping the hands on the steering wheel

Instruction (WIP)

⚒ Branch Definitions

  • prod: Production branches. Include features that are tested by users and ready to use. ✅
  • staging: Staging branches. Include new features that are not tested by users. No stability guaranteed. 🚨
  • feature: Feature branches. Represent new features being added to the system. No stability guaranteed. 🚨
  • test: Test branches. For experimenting with concepts that might not get used in the project. No stability guaranteed. 🚨
  • develop: Development branches. All features are gathered in respective versions. Reviewed features will be committed to develop. No stability guaranteed. 🚨
  • full: Full Feature branches.
  • personal: sunnyhaibin's personal branches, on top of Full Feature.
  • hkg: Hyundai/Kia/Genesis(HKG)-specific branches. Only for HKG cars.
  • honda: Honda-specific branches. Only for Honda cars.
  • toyota: Toyota-specific branches. Only for Toyota cars.
  • subaru: Subaru-specific branches. Only for Subaru cars.

Example:

📰 Recommended Branches

  • prod-full-<car_brand>: Contains all features supported by this fork, such as Modified Assistive Driving Safety (MADS), Dynamic Lane Profile (DLP), etc.
  • prod-personal-<car_brand>: sunnyhaibin's everyday use branch, contains changes and good stuff for my personal use and quality-of-life features.
    • Hyundai: Sonata N Line 2021

⚒ Installation

Smiskol URL (Quickest and Easiest)

To install sunnyhaibin's fork, simply use the Smiskol URL (thanks Shane!) on the setup screen for "Custom Software" after you factory reset or uninstalled openpilot from a previous install:

https://smiskol.com/fork/sunnyhaibin/<insert_branch_name>

For example, if you would like to install the branch for HKG:

SSH (More Versatile)

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

  • 0.8.12-prod-full-hkg:

    cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-full-hkg --depth 1 --single-branch --recurse-submodules --shallow-submodules https://github.com/sunnyhaibin/openpilot.git openpilot; cd openpilot; pkill -f thermald; rm -f prebuilt; reboot; sudo reboot
    
  • 0.8.12-prod-personal-hkg:

    cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --depth 1 --single-branch --recurse-submodules --shallow-submodules https://github.com/sunnyhaibin/openpilot.git openpilot; cd openpilot; pkill -f thermald; rm -f prebuilt; reboot; sudo reboot
    

After running the command to install the desired branch, reboot the comma device to ensure to take the change in effect:

  1. C3: sudo reboot
  2. C2 or EON: reboot

📗 How Tos 📗

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

💰 Donate 💰

If you find any of the features useful, feel free to donate to support for future feature development.

Thank you for your continuous love and support! Enjoy 🥰

PayPal:

PayPal this

PayPal QR Code:

sunnyhaibin0850_qrcode_paypal.me.png

🎆 Pull Requests 🎆

We welcome both pull requests and issues on GitHub. Bug fixes are encouraged.

Pull requests should be against the most current prod-full branch.

🏆 Special Thanks

About

sunnyhaibin's openpilot, a fork of comma.ai's openpilot. This fork enhances the user driving experience for Hyundai/Kia/Genesis, Honda, Subaru, and Toyota vehicles with openpilot with modified behaviors of openpilot engagements. This fork complies with comma.ai's safety rules as accurately as possible.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published