Wind in the sails

This commit is contained in:
firestar5683
2026-08-14 20:55:10 -05:00
parent fa8616b7ce
commit 23a8240688
15 changed files with 50 additions and 34 deletions
+3 -3
View File
@@ -296,10 +296,10 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"DownloadAllModels", {CLEAR_ON_MANAGER_START, BOOL, "0", "0"}},
{"DownloadMaps", {CLEAR_ON_MANAGER_START, BOOL, "0", "0"}},
{"DriverCamera", {PERSISTENT, BOOL, "0", "0", 1, SETTINGS_SIMPLE}},
{"Model", {PERSISTENT, STRING, "rdf", "rdf", 1}},
{"Model", {PERSISTENT, STRING, "rdf43", "rdf43", 1}},
{"ModelVersion", {PERSISTENT, STRING, "v15", "v15", 1}},
{"DrivingModel", {PERSISTENT, STRING, "rdf", "rdf", 1}},
{"DrivingModelName", {PERSISTENT, STRING, "Regret Driven Framework", "Regret Driven Framework", 1}},
{"DrivingModel", {PERSISTENT, STRING, "rdf43", "rdf43", 1}},
{"DrivingModelName", {PERSISTENT, STRING, "Regret Driven Framework V4", "Regret Driven Framework V4", 1}},
{"DrivingModelVersion", {PERSISTENT, STRING, "v15", "v15", 1}},
{"DynamicPathWidth", {PERSISTENT, BOOL, "0", "0", 2, SETTINGS_SIMPLE}},
{"DynamicPedalsOnUI", {PERSISTENT, BOOL, "1", "0", 1, SETTINGS_SIMPLE}},
+3 -3
View File
@@ -48,8 +48,8 @@ from openpilot.starpilot.common.starpilot_variables import get_starpilot_toggles
PROCESS_NAME = "selfdrive.modeld.modeld"
SEND_RAW_PRED = os.getenv('SEND_RAW_PRED')
BUILTIN_MODEL_KEY = "rdf"
BUILTIN_MODEL_ALIASES = {BUILTIN_MODEL_KEY}
BUILTIN_MODEL_KEY = "rdf43"
BUILTIN_MODEL_ALIASES = {BUILTIN_MODEL_KEY, "rdf"}
MODEL_ID_ALIASES = {"sc": "sc2"}
@@ -125,7 +125,7 @@ def _canonical_model_id(model_id: str) -> str:
def _select_builtin_model(params: Params) -> None:
params.put("Model", BUILTIN_MODEL_KEY)
params.put("DrivingModel", BUILTIN_MODEL_KEY)
params.put("DrivingModelName", "Regret Driven Framework")
params.put("DrivingModelName", "Regret Driven Framework V4")
def get_action_from_model(model_output: dict[str, np.ndarray], prev_action: log.ModelDataV2.Action,
@@ -1 +1 @@
66fca133dfb3658949a294e2e6eccce875bf892572ea6b5774e8441514eb0367 driving_tinygrad.pkl
a77db33c2e2d6a7570dc2a4a70c2b877429ee8bd9ca5dfeda74b5a41231aaff9 driving_tinygrad.pkl
@@ -30,7 +30,7 @@ def test_incompatible_downloaded_model_falls_back_to_builtin(monkeypatch):
assert params.values == {
"Model": modeld.BUILTIN_MODEL_KEY,
"DrivingModel": modeld.BUILTIN_MODEL_KEY,
"DrivingModelName": "Regret Driven Framework",
"DrivingModelName": "Regret Driven Framework V4",
}
@@ -821,13 +821,13 @@ class StarPilotDrivingModelLayout(_SettingsPage):
default_key = self._params.get_default_value("Model") or self._params.get_default_value("DrivingModel")
if isinstance(default_key, bytes):
default_key = default_key.decode("utf-8", errors="ignore")
return canonical_model_key(str(default_key or "").strip()) or "rdf"
return canonical_model_key(str(default_key or "").strip()) or "rdf43"
def _default_model_name(self) -> str:
default_name = self._params.get_default_value("DrivingModelName")
if isinstance(default_name, bytes):
default_name = default_name.decode("utf-8", errors="ignore")
return _clean_model_name(default_name or "") or "Regret Driven Framework"
return _clean_model_name(default_name or "") or "Regret Driven Framework V4"
def _default_model_version(self) -> str:
default_version = self._params.get_default_value("ModelVersion") or self._params.get_default_value("DrivingModelVersion")
@@ -723,11 +723,13 @@ class DrivingModelBigButton(BigButton):
default_key = default_key.decode("utf-8", errors="ignore")
default_key = str(default_key or "").strip()
if not default_key:
default_key = "rdf"
default_key = "rdf43"
# Keep the built-in model selectable even when the manifest omits it.
if key == default_key:
return True
if default_key == "rdf43" and key == "rdf":
return True
if default_key.endswith("2") and key == default_key[:-1]:
return True
if not default_key.endswith("2") and key == f"{default_key}2":
+5 -2
View File
@@ -25,13 +25,16 @@ from openpilot.starpilot.common.starpilot_variables import MODELS_PATH
MANIFEST_CANDIDATES = ("v23",)
MODEL_NAMESPACE_SUFFIX = "3"
DEFAULT_MODEL_KEY = "rdf"
DEFAULT_MODEL_KEY = "rdf43"
LOCAL_MODEL_PREFIX = "local-"
LOCAL_MODEL_SERIES = "Local Series"
ARTIFACT_URLS_CACHE = ".model_artifact_urls.json"
ARTIFACT_METADATA_CACHE = ".model_artifacts.json"
MODEL_KEY_CANONICAL_MAP = {
"sc": "sc2",
# The original bundled RDF key remains valid after the bundled default moves
# to the v23 RDF V4 artifact.
"rdf": DEFAULT_MODEL_KEY,
}
LEGACY_DRIVING_PREFIXES = (
"driving_",
@@ -622,7 +625,7 @@ class ModelManager:
default_name = (
self.available_model_names[default_index]
if default_index is not None and default_index < len(self.available_model_names)
else "Regret Driven Framework"
else "Regret Driven Framework V4"
)
default_version = (
self.model_versions[default_index]
+3 -3
View File
@@ -1185,10 +1185,10 @@ class StarPilotVariables:
toggle.recovery_power = self.get_value("RecoveryPower", cast=float, condition=longitudinal_tuning, default=1.0, min=0.5, max=2.0)
toggle.taco_tune = self.get_value("TacoTune", condition=longitudinal_tuning)
toggle.model = self.get_value("Model", cast=None, default="rdf")
toggle.model = self.get_value("Model", cast=None, default="rdf43")
if not toggle.model:
toggle.model = self.get_value("DrivingModel", cast=None, default="rdf")
toggle.model_name = self.get_value("DrivingModelName", cast=None, default="Regret Driven Framework")
toggle.model = self.get_value("DrivingModel", cast=None, default="rdf43")
toggle.model_name = self.get_value("DrivingModelName", cast=None, default="Regret Driven Framework V4")
toggle.model_version = self.get_value("ModelVersion", cast=None, default="v15")
if not toggle.model_version:
toggle.model_version = self.get_value("DrivingModelVersion", cast=None, default="v15")
+2 -2
View File
@@ -5504,10 +5504,10 @@ def setup(app):
def _default_model_key():
default_key = _param_text(params.get_default_value("Model") or params.get_default_value("DrivingModel"))
return canonical_model_key(default_key) or "rdf"
return canonical_model_key(default_key) or "rdf43"
def _default_model_name():
return _param_text(params.get_default_value("DrivingModelName")) or "Regret Driven Framework"
return _param_text(params.get_default_value("DrivingModelName")) or "Regret Driven Framework V4"
def _default_model_version():
default_version = _param_text(params.get_default_value("ModelVersion") or params.get_default_value("DrivingModelVersion"))
+7 -3
View File
@@ -22,22 +22,26 @@ QString builtinDefaultModelKey(const Params &params) {
if (key.isEmpty()) {
key = paramDefaultValue(params, "DrivingModel");
}
return key.isEmpty() ? QStringLiteral("rdf") : key;
return key.isEmpty() ? QStringLiteral("rdf43") : key;
}
QString builtinDefaultModelName(const Params &params) {
QString name = paramDefaultValue(params, "DrivingModelName");
return name.isEmpty() ? QStringLiteral("Regret Driven Framework") : name;
return name.isEmpty() ? QStringLiteral("Regret Driven Framework V4") : name;
}
QStringList builtinDefaultModelAliases(const QString &defaultKey) {
QString canonical = defaultKey.trimmed();
if (canonical.isEmpty()) {
canonical = QStringLiteral("rdf");
canonical = QStringLiteral("rdf43");
}
QStringList aliases{canonical};
if (canonical == QStringLiteral("rdf43")) {
aliases.append(QStringLiteral("rdf"));
}
if (canonical.endsWith("2")) {
aliases.append(canonical.left(canonical.size() - 1));
} else {
+15 -8
View File
@@ -67,7 +67,7 @@ STARPILOT_PARAM_RENAME_MIGRATION_FLAG = Path("/data") / "starpilot_param_rename_
STARPILOT_PARAM_CANONICALIZATION_MIGRATION_FLAG = Path("/data") / "starpilot_param_canonicalization_v1"
STARPILOT_PC_ROOT_MIGRATION_FLAG = Path("/data") / "starpilot_pc_root_v1"
STARPILOT_PARAMS_CACHE_MIGRATION_FLAG = Path("/data") / "starpilot_params_cache_v1"
STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG = Path("/data") / "starpilot_default_model_rdf_v1"
STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG = Path("/data") / "starpilot_default_model_rdf_v4"
STARPILOT_CE_MODEL_STOP_TIME_MIGRATION_FLAG = Path("/data") / "starpilot_ce_model_stop_time_v2"
STARPILOT_LEGACY_CACHE_MARKER_KEYS = ("RemapCancelToDistance",)
STARPILOT_REMOVED_PARAM_KEYS = ("CoastUpToLeads", "HumanAcceleration", "HumanFollowing", "PrioritizeSmoothFollowing")
@@ -609,7 +609,7 @@ def migrate_starpilot_default_parity(params: Params, params_cache: Params) -> No
def migrate_starpilot_default_model(params: Params, params_cache: Params) -> None:
"""Move the old bundled South Carolina selection to the bundled RDF model once."""
"""Move the old bundled default to the bundled RDF V4 model once."""
if STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG.exists():
return
@@ -624,19 +624,26 @@ def migrate_starpilot_default_model(params: Params, params_cache: Params) -> Non
selected_version = persisted_text("ModelVersion") or persisted_text("DrivingModelVersion")
selected_name = persisted_text("DrivingModelName").lower()
is_legacy_default = selected_model.lower() in {"sc", "sc2"}
is_legacy_metadata = (not selected_version or selected_version.lower() == "v11") and (not selected_name or selected_name.startswith("south carolina"))
is_legacy_default = selected_model.lower() in {"sc", "sc2", "rdf"}
is_legacy_metadata = (
not selected_version
or selected_version.lower() in {"v11", "v15"}
) and (
not selected_name
or selected_name.startswith("south carolina")
or selected_name.startswith("regret driven framework")
)
if is_legacy_default and is_legacy_metadata:
for key, value in {
"Model": "rdf",
"DrivingModel": "rdf",
"DrivingModelName": "Regret Driven Framework",
"Model": "rdf43",
"DrivingModel": "rdf43",
"DrivingModelName": "Regret Driven Framework V4",
"ModelVersion": "v15",
"DrivingModelVersion": "v15",
}.items():
params.put(key, value)
params_cache.put(key, value)
cloudlog.warning("Migrated the bundled default model from South Carolina to RDF")
cloudlog.warning("Migrated the bundled default model to RDF V4")
try:
STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG.parent.mkdir(parents=True, exist_ok=True)
+5 -5
View File
@@ -386,7 +386,7 @@ class TestManager:
assert params_cache.get("CEModelStopTime") == "7.7"
def test_migrate_starpilot_default_model(self, tmp_path, monkeypatch):
monkeypatch.setattr(manager, "STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG", tmp_path / "starpilot_default_model_rdf_v1")
monkeypatch.setattr(manager, "STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG", tmp_path / "starpilot_default_model_rdf_v4")
params = FileBackedFakeParams(tmp_path / "params", {
"Model": "sc2",
@@ -399,11 +399,11 @@ class TestManager:
manager.migrate_starpilot_default_model(params, params_cache)
assert params.get("Model") == "rdf"
assert params.get("DrivingModel") == "rdf"
assert params.get("DrivingModelName") == "Regret Driven Framework"
assert params.get("Model") == "rdf43"
assert params.get("DrivingModel") == "rdf43"
assert params.get("DrivingModelName") == "Regret Driven Framework V4"
assert params.get("ModelVersion") == "v15"
assert params_cache.get("DrivingModel") == "rdf"
assert params_cache.get("DrivingModel") == "rdf43"
assert manager.STARPILOT_DEFAULT_MODEL_MIGRATION_FLAG.exists()
def test_migrate_starpilot_ce_model_stop_time(self, tmp_path, monkeypatch):