mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-15 00:03:45 +08:00
phase 1-5
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Auto Lane Change
|
||||
---
|
||||
|
||||
# Auto Lane Change
|
||||
|
||||
## What It Does
|
||||
|
||||
Automatically executes lane changes when you activate the turn signal. You can choose between nudge-based confirmation, nudgeless (immediate), or timed delays before the lane change begins.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. Activate your turn signal in the desired direction
|
||||
2. Depending on your setting:
|
||||
- **Nudge:** Give a light steering nudge to confirm the lane change
|
||||
- **Nudgeless:** The lane change begins immediately
|
||||
- **Timed (0.5s–3s):** The lane change begins after the configured delay
|
||||
3. If BSM Delay is enabled and a vehicle is detected in your blind spot, the lane change waits until the path is clear
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Lateral control must be active (sunnypilot must be engaged)
|
||||
- Vehicle must be traveling above a minimum speed threshold
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Steering** → **Lane Change Settings**
|
||||
|
||||
## Modes
|
||||
|
||||
| Mode | Behavior |
|
||||
|------|----------|
|
||||
| **Off** | Auto lane change is disabled |
|
||||
| **Nudge** | Requires a light steering nudge to confirm |
|
||||
| **Nudgeless** | Lane change begins as soon as you signal |
|
||||
| **0.5s – 3s** | Lane change begins after a set delay |
|
||||
|
||||
## Blind Spot Monitoring Integration
|
||||
|
||||
If your vehicle supports BSM and the BSM Delay option is enabled, the system checks for vehicles in your blind spot before executing the lane change. The lane change is delayed until the adjacent lane is clear.
|
||||
|
||||
!!! info "BSM Requirements"
|
||||
- Vehicle must support Blind Spot Monitoring
|
||||
- Auto Lane Change Timer must be set beyond Nudge mode
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Lane Change Settings](../settings/lane-change.md) for all options.
|
||||
|
||||
!!! warning "Safety"
|
||||
Always check your mirrors and blind spots before initiating a lane change. The system assists but does not replace driver awareness.
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Custom ACC Increments
|
||||
---
|
||||
|
||||
# Custom ACC Increments
|
||||
|
||||
## What It Does
|
||||
|
||||
Customize the speed increments when you press the cruise control buttons. Instead of the default step sizes, set your own preferred values for both short and long button presses.
|
||||
|
||||
## How It Works
|
||||
|
||||
- **Short press:** Changes speed by your configured short press increment (1–10 km/h or mph)
|
||||
- **Long press:** Changes speed by your configured long press increment (1, 5, or 10 km/h or mph)
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Longitudinal control must be available, **or** [ICBM](icbm.md) must be enabled
|
||||
- PCM Cruise must not be active (factory cruise control must not override)
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Custom ACC Increments**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Cruise Control Settings](../settings/cruise.md) for all increment options.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Dynamic Experimental Control
|
||||
---
|
||||
|
||||
# Dynamic Experimental Control (DEC)
|
||||
|
||||
## What It Does
|
||||
|
||||
DEC automatically switches between openpilot's standard and experimental driving modes based on real-time road conditions. Instead of manually toggling between modes, the system chooses the most appropriate mode for the current situation.
|
||||
|
||||
## How It Works
|
||||
|
||||
DEC monitors multiple driving signals and conditions:
|
||||
|
||||
- **Current speed** — Lower speeds suggest city driving
|
||||
- **Turn detection** — Upcoming turns may need experimental mode
|
||||
- **Stop signs and traffic lights** — Intersections benefit from experimental mode
|
||||
- **Road type** — Highway vs. urban driving
|
||||
|
||||
Based on these signals, DEC switches between:
|
||||
|
||||
| Mode | Best For |
|
||||
|------|----------|
|
||||
| **Standard Mode** | Highway driving with steady speeds and clear lanes |
|
||||
| **Experimental Mode** | City driving with stops, turns, and complex intersections |
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Longitudinal control must be available
|
||||
- Device must be offroad to enable/disable
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Dynamic Experimental Control**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Cruise Control Settings](../settings/cruise.md) for configuration details.
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: HUD & Visuals
|
||||
---
|
||||
|
||||
# HUD & Visuals
|
||||
|
||||
## What It Does
|
||||
|
||||
Customize the heads-up display (HUD) elements and visual overlays shown on the driving screen. Toggle individual elements on or off to create your preferred driving view.
|
||||
|
||||
## Available HUD Elements
|
||||
|
||||
| Element | Description |
|
||||
|---------|-------------|
|
||||
| **Blind Spot Indicator** | Visual warning when a vehicle is in your blind spot |
|
||||
| **Torque Bar** | Shows current steering torque |
|
||||
| **Standstill Timer** | Shows how long you've been stopped |
|
||||
| **Road Name** | Displays the current road name |
|
||||
| **Green Light Alert** | Alerts when a traffic light turns green |
|
||||
| **Lead Depart Alert** | Alerts when the car ahead starts moving |
|
||||
| **True Vehicle Speed** | CAN bus speed (may differ from GPS) |
|
||||
| **Turn Signals** | Shows turn signal status on the HUD |
|
||||
| **Chevron Info** | Distance, speed, or time gap to lead vehicle |
|
||||
| **Developer UI** | Debug information for diagnostics |
|
||||
|
||||
## How to Configure
|
||||
|
||||
**Settings** → **sunnypilot** → **Visuals & HUD**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Visuals & HUD Settings](../settings/visuals.md) for all toggle options and multi-button selectors.
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Intelligent Cruise Button Management
|
||||
---
|
||||
|
||||
# Intelligent Cruise Button Management (ICBM)
|
||||
|
||||
## What It Does
|
||||
|
||||
ICBM allows sunnypilot to intercept and dynamically manage your vehicle's cruise control button presses. Instead of directly changing the set speed, button presses are routed through sunnypilot's logic, enabling features like Speed Limit Control and Smart Cruise Control on vehicles that don't natively support sunnypilot longitudinal control.
|
||||
|
||||
This is particularly useful for vehicles where sunnypilot cannot directly control the gas and brakes — ICBM gives you many of the same benefits by intelligently managing the cruise buttons.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. You press the cruise speed button on your steering wheel
|
||||
2. ICBM intercepts the button press
|
||||
3. sunnypilot applies its logic (speed limits, map curves, etc.) to determine the appropriate speed change
|
||||
4. The adjusted command is sent to the vehicle's cruise system
|
||||
|
||||
This happens transparently — from your perspective, the buttons work normally but with smarter behavior.
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Your vehicle must support ICBM — not all vehicles are compatible
|
||||
- If the ICBM toggle does not appear in settings, your vehicle is not supported
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Intelligent Cruise Button Management**
|
||||
|
||||
## Features Unlocked by ICBM
|
||||
|
||||
When ICBM is enabled, the following features become available even on vehicles without native longitudinal control:
|
||||
|
||||
- **[Smart Cruise Control — Vision](scc-v.md)** — Vision-based adaptive speed adjustments
|
||||
- **[Smart Cruise Control — Map](scc-m.md)** — Map-aware speed adjustments
|
||||
- **[Custom ACC Increments](custom-acc-increments.md)** — Custom button press speed steps
|
||||
- **[Speed Limit Control](speed-limit.md)** — Automatic speed limit matching
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Cruise Control Settings](../settings/cruise.md) for all available options.
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: Modular Assistive Driving System
|
||||
---
|
||||
|
||||
# Modular Assistive Driving System (MADS)
|
||||
|
||||
## What It Does
|
||||
|
||||
MADS decouples lateral (steering) and longitudinal (speed) controls. In standard openpilot, engaging cruise control activates both steering and speed control together, and disengaging turns both off. With MADS, steering assistance can remain active independently — even when cruise control is off.
|
||||
|
||||
This means you can have lane-keeping assistance while controlling the gas and brakes yourself.
|
||||
|
||||
## How It Works
|
||||
|
||||
With MADS enabled:
|
||||
|
||||
- **Steering stays active** even when you cancel cruise control
|
||||
- You can engage steering assistance independently of cruise
|
||||
- You choose what happens to steering when cruise disengages (remain active, pause, or fully disengage)
|
||||
- You can configure whether the main cruise button also activates steering
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Supported on most vehicles with sunnypilot lateral control
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Steering** → enable **M.A.D.S.**
|
||||
|
||||
Then configure the sub-settings in **MADS Settings**.
|
||||
|
||||
## Key Settings
|
||||
|
||||
| Setting | What It Controls |
|
||||
|---------|-----------------|
|
||||
| **Main Cruise Allowed** | Whether the cruise on/off button can activate MADS |
|
||||
| **Unified Engagement Mode** | Whether engaging cruise also engages MADS automatically |
|
||||
| **Steering Mode on Disengage** | What happens to steering when cruise disengages |
|
||||
|
||||
## Vehicle-Specific Behavior
|
||||
|
||||
Some vehicles operate in **limited MADS mode** where certain settings are locked:
|
||||
|
||||
=== "Tesla (without vehicle bus)"
|
||||
- Main Cruise Allowed: forced OFF
|
||||
- Unified Engagement Mode: forced ON
|
||||
- Steering Mode: forced to Disengage
|
||||
|
||||
=== "Rivian"
|
||||
- Main Cruise Allowed: forced OFF
|
||||
- Unified Engagement Mode: forced ON
|
||||
- Steering Mode: forced to Disengage
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [MADS Settings](../settings/mads.md) for all configuration options.
|
||||
|
||||
!!! warning "Safety"
|
||||
Always be ready to take full manual control. MADS allows more flexible use of driver assistance, but you remain responsible for safe driving at all times.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Models & AI
|
||||
---
|
||||
|
||||
# Models & AI
|
||||
|
||||
## What It Does
|
||||
|
||||
Select and configure the driving model used by sunnypilot. Different models offer different driving characteristics — some may be smoother, others more responsive. Advanced parameters let you fine-tune model behavior.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Model Selection** — Choose from available driving models (offroad only)
|
||||
- **Lane Turn Desire** — Enhance lane positioning during turns
|
||||
- **LAGD (Look-Ahead Generative Driving)** — Anticipate road conditions ahead using generative AI
|
||||
|
||||
## Advanced Parameters
|
||||
|
||||
Advanced parameters are only visible when **Show Advanced Controls** is enabled in [Developer Settings](../settings/developer.md):
|
||||
|
||||
- **Lane Turn Value** — Intensity of lane turn desire (500–2000)
|
||||
- **LAGD Delay** — Look-ahead distance configuration (5–50)
|
||||
|
||||
## How to Configure
|
||||
|
||||
**Settings** → **sunnypilot** → **Models & AI**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Models & AI Settings](../settings/models.md) for all configuration options.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Neural Network Lateral Control
|
||||
---
|
||||
|
||||
# Neural Network Lateral Control (NNLC)
|
||||
|
||||
## What It Does
|
||||
|
||||
NNLC replaces the traditional PID or torque-based steering controller with a neural network trained on real driving data. This can provide smoother, more natural-feeling lane keeping that adapts to your vehicle's steering characteristics.
|
||||
|
||||
## How It Works
|
||||
|
||||
Instead of using fixed mathematical formulas (PID controller), NNLC uses a machine learning model to calculate steering commands. The neural network has been trained on real-world driving data and can handle a wider variety of driving scenarios with smoother output.
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Vehicle must not use angle-based steering (`steerControlType` must not be `angle`)
|
||||
- Mutually exclusive with [Torque Control](torque-control.md) — only one can be active at a time
|
||||
- Device must be offroad to enable/disable
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Steering** → **Neural Network Lateral Control**
|
||||
|
||||
!!! tip
|
||||
Not all vehicles have NNLC models available. If the toggle does not appear, your vehicle may use angle-based steering which is not compatible with NNLC.
|
||||
|
||||
## NNLC vs. Torque Control
|
||||
|
||||
| Feature | NNLC | Torque Control |
|
||||
|---------|------|---------------|
|
||||
| **Approach** | Neural network (learned) | Mathematical formula (tuned) |
|
||||
| **Customization** | Automatic | Manual tuning available |
|
||||
| **Best for** | Smooth, adaptive steering | Precise, configurable steering |
|
||||
|
||||
These two features are mutually exclusive — enabling one automatically disables the other.
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Steering Settings](../settings/steering.md) for configuration details.
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Onroad Display
|
||||
---
|
||||
|
||||
# Onroad Display
|
||||
|
||||
## What It Does
|
||||
|
||||
Control the screen brightness, timeout behavior, and touch interactivity while driving. These settings help reduce distraction and manage power consumption.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Screen brightness control** — Choose from Auto, Auto Dark, Screen Off, or a fixed percentage (5%–100%)
|
||||
- **Brightness delay** — Set how long the screen stays bright before dimming
|
||||
- **Interactivity timeout** — Make the screen non-interactive after a set period to prevent accidental touches
|
||||
|
||||
## How to Configure
|
||||
|
||||
**Settings** → **sunnypilot** → **Display**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Display Settings](../settings/display.md) for all configuration options.
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: OSM Maps
|
||||
---
|
||||
|
||||
# OSM Maps
|
||||
|
||||
## What It Does
|
||||
|
||||
Integrates OpenStreetMap (OSM) data to provide speed limit information, road geometry, and other map attributes. This data powers features like Speed Limit Control and Smart Cruise Control — Map.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. Select your country (and state, if in the US)
|
||||
2. Download the map data to your device
|
||||
3. The map daemon processes the data and makes it available to driving features
|
||||
4. Periodically check for updates to keep your map data current
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Internet connection for initial download and updates
|
||||
- Storage space on the device for map data
|
||||
|
||||
## How to Set Up
|
||||
|
||||
**Settings** → **sunnypilot** → **OSM Maps**
|
||||
|
||||
1. Select your **Country**
|
||||
2. If in the US, select your **State**
|
||||
3. Tap **Database Update** to download
|
||||
4. Wait for the download to complete
|
||||
|
||||
## Features That Use OSM Data
|
||||
|
||||
- **[Speed Limit Control](speed-limit.md)** — Reads speed limits from map data
|
||||
- **[Smart Cruise Control — Map](scc-m.md)** — Uses road geometry for proactive speed adjustment
|
||||
|
||||
## Managing Map Data
|
||||
|
||||
- **Update:** Tap "Database Update" to check for newer map data
|
||||
- **Delete:** Tap "Delete Maps" to remove downloaded data and free storage
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [OSM Maps Settings](../settings/osm.md) for all options and status information.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Smart Cruise Control - Map
|
||||
---
|
||||
|
||||
# Smart Cruise Control — Map (SCC-M)
|
||||
|
||||
## What It Does
|
||||
|
||||
SCC-M uses downloaded OpenStreetMap data to anticipate road changes — curves, speed limits, and intersections — and adjusts cruise speed proactively through [ICBM](icbm.md).
|
||||
|
||||
## How It Works
|
||||
|
||||
1. OSM map data provides information about upcoming road geometry
|
||||
2. SCC-M calculates appropriate speeds for curves, speed zones, and intersections
|
||||
3. Speed commands are sent through ICBM to adjust cruise before reaching these road features
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- [ICBM](icbm.md) must be enabled
|
||||
- Vehicle must support ICBM
|
||||
- [OSM Maps](osm-maps.md) must be configured and downloaded
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Smart Cruise Control — Map**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Cruise Control Settings](../settings/cruise.md) for configuration details.
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Smart Cruise Control - Vision
|
||||
---
|
||||
|
||||
# Smart Cruise Control — Vision (SCC-V)
|
||||
|
||||
## What It Does
|
||||
|
||||
SCC-V uses the device's camera to detect lead vehicles and make smarter cruise control decisions. It provides vision-based adaptive speed adjustments for vehicles that rely on ICBM for cruise management.
|
||||
|
||||
## How It Works
|
||||
|
||||
The camera continuously monitors the road ahead. When a lead vehicle is detected, SCC-V adjusts cruise speed commands through [ICBM](icbm.md) to maintain safe following distances and react to speed changes of the vehicle ahead.
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- [ICBM](icbm.md) must be enabled
|
||||
- Vehicle must support ICBM
|
||||
- Camera must have a clear view of the road ahead
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Smart Cruise Control — Vision**
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Cruise Control Settings](../settings/cruise.md) for configuration details.
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: Speed Limit Control
|
||||
---
|
||||
|
||||
# Speed Limit Control
|
||||
|
||||
## What It Does
|
||||
|
||||
Speed Limit Control detects the current speed limit using map data and can automatically adjust your cruise speed to match. It offers four operating modes ranging from passive information display to active speed management.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. sunnypilot reads speed limit data from downloaded OSM maps
|
||||
2. Based on your chosen mode, it displays, warns, or actively adjusts your set speed
|
||||
3. An optional offset (fixed or percentage) lets you cruise slightly above or below the limit
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Longitudinal control must be available, **or** [ICBM](icbm.md) must be enabled
|
||||
- For map-based limits: [OSM Maps](osm-maps.md) must be configured and downloaded
|
||||
|
||||
## How to Enable
|
||||
|
||||
**Settings** → **sunnypilot** → **Cruise Control** → **Speed Limit Control**
|
||||
|
||||
## Operating Modes
|
||||
|
||||
| Mode | Behavior |
|
||||
|------|----------|
|
||||
| **Off** | Speed limit data is not used |
|
||||
| **Info** | Shows the current speed limit on the driving display |
|
||||
| **Warning** | Shows the speed limit and alerts you when you're exceeding it |
|
||||
| **Assist** | Automatically adjusts cruise speed to match the speed limit |
|
||||
|
||||
## Speed Offset
|
||||
|
||||
You can set an offset so your cruise speed differs from the exact limit:
|
||||
|
||||
- **Fixed offset:** Add or subtract a set number of km/h or mph (range: -30 to +30)
|
||||
- **Percentage offset:** Apply a percentage above or below the limit
|
||||
|
||||
## Vehicle Restrictions
|
||||
|
||||
!!! warning "Vehicle Restrictions"
|
||||
- **Tesla:** Assist mode is disabled on release branches (Info and Warning still work)
|
||||
- **Rivian:** Assist mode is always disabled
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Speed Limit Settings](../settings/speed-limit.md) for all configuration options.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Torque Control
|
||||
---
|
||||
|
||||
# Torque Control
|
||||
|
||||
## What It Does
|
||||
|
||||
Torque Control lets you fine-tune how aggressively or gently sunnypilot steers your vehicle. It provides advanced parameters for lateral acceleration, friction compensation, and self-tuning options.
|
||||
|
||||
## How It Works
|
||||
|
||||
Torque-based lateral control applies steering commands as torque (rotational force) to the steering motor. The key parameters are:
|
||||
|
||||
- **Lateral Acceleration Factor** — How strongly the system turns the wheel (higher = more aggressive)
|
||||
- **Friction** — How much the system compensates for steering resistance
|
||||
- **Self-Tune** — Automatically adjusts these values based on your driving
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! info "Requirements"
|
||||
- Vehicle must not use angle-based steering
|
||||
- **Enforce Torque Control** must be enabled in [Steering Settings](../settings/steering.md)
|
||||
- Mutually exclusive with [NNLC](nnlc.md) — only one can be active at a time
|
||||
- Device must be offroad to change settings
|
||||
|
||||
## How to Enable
|
||||
|
||||
1. Go to **Settings** → **sunnypilot** → **Steering**
|
||||
2. Enable **Enforce Torque Control**
|
||||
3. Open the **Torque Settings** sub-panel to fine-tune
|
||||
|
||||
## Tuning Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| **Self-Tune** | Automatic real-time parameter adjustment |
|
||||
| **Relaxed Self-Tune** | Less aggressive auto-tuning for smoother feel |
|
||||
| **Custom Tune** | Manual parameter override |
|
||||
| **Lat Accel Factor** | 0.01–5.00 (steering aggressiveness) |
|
||||
| **Friction** | 0.01–1.00 (friction compensation) |
|
||||
|
||||
!!! tip
|
||||
Start with Self-Tune enabled. Only switch to Custom Tune if you want precise control over steering feel and are willing to experiment.
|
||||
|
||||
## Settings Reference
|
||||
|
||||
See [Torque Settings](../settings/torque.md) for all tuning parameters.
|
||||
Reference in New Issue
Block a user