mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-08-20 07:43:48 +08:00
Wind in the sails
This commit is contained in:
@@ -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}},
|
||||
|
||||
@@ -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,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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":
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -22,22 +22,26 @@ QString builtinDefaultModelKey(const Params ¶ms) {
|
||||
if (key.isEmpty()) {
|
||||
key = paramDefaultValue(params, "DrivingModel");
|
||||
}
|
||||
return key.isEmpty() ? QStringLiteral("rdf") : key;
|
||||
return key.isEmpty() ? QStringLiteral("rdf43") : key;
|
||||
}
|
||||
|
||||
QString builtinDefaultModelName(const Params ¶ms) {
|
||||
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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user