Skip to content

Commit 289fda5

Browse files
committed
Update SA-master to 24b5164
2 parents 65058bc + 24b5164 commit 289fda5

File tree

159 files changed

+818
-31536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+818
-31536
lines changed

.pre-commit-config.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ repos:
2121
- id: mypy
2222
exclude: '^(pyextra/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_repo/)/'
2323
additional_dependencies: ['git+https://github.com/numpy/numpy-stubs', 'types-requests', 'types-atomicwrites',
24-
'types-pycurl']
24+
'types-pycurl', 'types-certifi']
2525
args:
26+
- --warn-unused-ignores
27+
- --warn-redundant-casts
2628
- --warn-unreachable
2729
- repo: https://github.com/PyCQA/flake8
2830
rev: 4.0.1

Jenkinsfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ END"""
3030

3131
def phone_steps(String device_type, steps) {
3232
lock(resource: "", label: device_type, inversePrecedence: true, variable: 'device_ip', quantity: 1) {
33-
timeout(time: 60, unit: 'MINUTES') {
33+
timeout(time: 20, unit: 'MINUTES') {
3434
phone(device_ip, "git checkout", readFile("selfdrive/test/setup_device_ci.sh"),)
3535
steps.each { item ->
3636
phone(device_ip, item[0], item[1])
@@ -46,7 +46,7 @@ pipeline {
4646
SOURCE_DIR = "/data/openpilot_source/"
4747
}
4848
options {
49-
timeout(time: 4, unit: 'HOURS')
49+
timeout(time: 4, unit: 'HOURS')
5050
}
5151

5252
stages {

RELEASES.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
11
Version 0.8.14 (2022-0X-XX)
22
========================
3-
* bigmodel!
3+
* New driving model
4+
* Bigger model, using both of comma three's road-facing cameras
5+
* Better at cut-in detection and tight turns
6+
* New driver monitoring model
7+
* Tweaked network structure to improve output resolution for dsp
8+
* Fixed bug in quantization aware training to reduce quantizing errors
9+
* Resulted in 7x less MSE and no more random biases at runtime
10+
* New lateral controller based on physical wheel torque model
11+
* Much smoother control, consistent across the speed range
12+
* Effective feedforward that uses road roll
13+
* Simplified tuning, all car-specific parameters can be derived from data
14+
* Initially used on TSS2 Corolla and TSS-P RAV4
15+
* Added toggle to disable disengaging on the accelerator pedal
416
* comma body support
17+
* Audi RS3 support thanks to jyoung8607!
518
* Hyundai Ioniq Plug-in Hybrid 2019 support thanks to sunnyhaibin!
619
* Hyundai Tucson Diesel 2019 support thanks to sunnyhaibin!
720
* Toyota Alphard Hybrid 2021 support
821
* Toyota Avalon Hybrid 2022 support
22+
* Toyota RAV4 Hybrid 2022 support
923

1024
Version 0.8.13 (2022-02-18)
1125
========================

SConstruct

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ env = Environment(
183183
"#third_party/acados/include/blasfeo/include",
184184
"#third_party/acados/include/hpipm/include",
185185
"#third_party/catch2/include",
186-
"#third_party/bzip2",
187186
"#third_party/libyuv/include",
188187
"#third_party/openmax/include",
189188
"#third_party/json11",

cereal

Submodule cereal updated 1 file

common/gpio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
def gpio_init(pin, output):
1+
def gpio_init(pin: int, output: bool) -> None:
22
try:
33
with open(f"/sys/class/gpio/gpio{pin}/direction", 'wb') as f:
44
f.write(b"out" if output else b"in")
55
except Exception as e:
66
print(f"Failed to set gpio {pin} direction: {e}")
77

88

9-
def gpio_set(pin, high):
9+
def gpio_set(pin: int, high: bool) -> None:
1010
try:
1111
with open(f"/sys/class/gpio/gpio{pin}/value", 'wb') as f:
1212
f.write(b"1" if high else b"0")

common/realtime.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import gc
33
import os
44
import time
5+
from collections import deque
56
from typing import Optional, List, Union
67

78
from setproctitle import getproctitle # pylint: disable=no-name-in-module
@@ -59,6 +60,8 @@ def __init__(self, rate: int, print_delay_threshold: Optional[float] = 0.0) -> N
5960
self._frame = 0
6061
self._remaining = 0.0
6162
self._process_name = getproctitle()
63+
self._dts = deque([self._interval], maxlen=100)
64+
self._last_monitor_time = sec_since_boot()
6265

6366
@property
6467
def frame(self) -> int:
@@ -68,6 +71,12 @@ def frame(self) -> int:
6871
def remaining(self) -> float:
6972
return self._remaining
7073

74+
@property
75+
def lagging(self) -> bool:
76+
avg_dt = sum(self._dts) / len(self._dts)
77+
expected_dt = self._interval * (1 / 0.9)
78+
return avg_dt > expected_dt
79+
7180
# Maintain loop rate by calling this at the end of each loop
7281
def keep_time(self) -> bool:
7382
lagged = self.monitor_time()
@@ -77,6 +86,10 @@ def keep_time(self) -> bool:
7786

7887
# this only monitor the cumulative lag, but does not enforce a rate
7988
def monitor_time(self) -> bool:
89+
prev = self._last_monitor_time
90+
self._last_monitor_time = sec_since_boot()
91+
self._dts.append(self._last_monitor_time - prev)
92+
8093
lagged = False
8194
remaining = self._next_frame_time - sec_since_boot()
8295
self._next_frame_time += self._interval

docs/CARS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ How We Rate The Cars
7777
|Audi|A3 Sportback e-tron 2017-18|ACC + Lane Assist|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
7878
|Audi|Q2 2018|ACC + Lane Assist|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
7979
|Audi|Q3 2020-21|ACC + Lane Assist|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
80+
|Audi|RS3 2018|ACC + Lane Assist|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
8081
|Audi|S3 2015-17|ACC + Lane Assist|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
8182
|Genesis|G70 2018|All|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
8283
|Genesis|G80 2018|All|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
@@ -129,6 +130,7 @@ How We Rate The Cars
129130
|Toyota|Highlander 2017-19|All|<a href="#"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>3</sup>](#footnotes)|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
130131
|Toyota|Highlander Hybrid 2017-19|All|<a href="#"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>3</sup>](#footnotes)|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
131132
|Toyota|RAV4 Hybrid 2016-18|TSS-P|<a href="#"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>3</sup>](#footnotes)|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
133+
|Toyota|RAV4 Hybrid 2022|All|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
132134
|Toyota|Sienna 2018-20|All|<a href="#"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>3</sup>](#footnotes)|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
133135
|Volkswagen|Arteon 2018, 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
134136
|Volkswagen|Atlas 2018-19, 2022[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
@@ -147,7 +149,7 @@ How We Rate The Cars
147149
|Volkswagen|T-Cross 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
148150
|Volkswagen|T-Roc 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
149151
|Volkswagen|Taos 2022[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
150-
|Volkswagen|Tiguan 2020-22[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
152+
|Volkswagen|Tiguan 2019-22[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
151153
|Volkswagen|Touran 2017|Driver Assistance|<a href="#"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="#"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|
152154

153155
## Bronze Cars

0 commit comments

Comments
 (0)