experimental mode: gate nav (#29007)

* first draft copy, needs updates

* gate behind exp mode

* can be one line

* this is no longer true

* toggle isn't just e2e long now, rename

* don't enable/disable

* kinda works!

* remove old giant qstring

* comment clean up

* similar breakpoint

* more clean up

* fixup onroad

* preserve planner behavior, and we don't need to look at confirmed param if we're onroad

* update translations

* vanish translations

* use scene for op long

* lowercase!

* updated copy

* need to check longitudinal here now too

* clean up!

* here is better

* used

* no nav emoji

* don't check param if not valid

* revert this

revert this

* ed

* revert experimental mode longitudinal checks (still need to revert toggle change)

* revert

* logic works

* revert test

* fix

* update translation

* fix (reset and update)
old-commit-hash: 6bc28fc769
beeps
Shane Smiskol 2 years ago committed by GitHub
parent fe2fc9dd11
commit c258e9d64a
  1. 7
      selfdrive/modeld/modeld.cc
  2. 7
      selfdrive/ui/qt/offroad/settings.cc
  3. 8
      selfdrive/ui/translations/main_de.ts
  4. 8
      selfdrive/ui/translations/main_ja.ts
  5. 8
      selfdrive/ui/translations/main_ko.ts
  6. 8
      selfdrive/ui/translations/main_pt-BR.ts
  7. 8
      selfdrive/ui/translations/main_zh-CHS.ts
  8. 8
      selfdrive/ui/translations/main_zh-CHT.ts

@ -62,6 +62,8 @@ void run_model(ModelState &model, VisionIpcClient &vipc_client_main, VisionIpcCl
PubMaster pm({"modelV2", "cameraOdometry"});
SubMaster sm({"lateralPlan", "roadCameraState", "liveCalibration", "driverMonitoringState", "navModel"});
Params params;
// setup filter to track dropped frames
FirstOrderFilter frame_dropped_filter(0., 10., 1. / MODEL_FREQ);
@ -140,9 +142,10 @@ void run_model(ModelState &model, VisionIpcClient &vipc_client_main, VisionIpcCl
// Enable/disable nav features
uint64_t timestamp_llk = sm["navModel"].getNavModel().getLocationMonoTime();
bool nav_valid = sm["navModel"].getValid() && (nanos_since_boot() - timestamp_llk < 1e9);
if (!nav_enabled && nav_valid) {
bool use_nav = nav_valid && params.getBool("ExperimentalMode");
if (!nav_enabled && use_nav) {
nav_enabled = true;
} else if (nav_enabled && !nav_valid) {
} else if (nav_enabled && !use_nav) {
memset(nav_features, 0, sizeof(float)*NAV_FEATURE_LEN);
nav_enabled = false;
}

@ -131,11 +131,16 @@ void TogglesPanel::updateToggles() {
"<h4>%2</h4><br>"
"%3<br>"
"<h4>%4</h4><br>"
"%5")
"%5<br>"
"<h4>%6</h4><br>"
"%7")
.arg(tr("openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below:"))
.arg(tr("🌮 End-to-End Longitudinal Control 🌮"))
.arg(tr("Let the driving model control the gas and brakes. openpilot will drive as it thinks a human would, including stopping for red lights and stop signs. "
"Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected."))
.arg(tr("Navigate on openpilot"))
.arg(tr("When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. "
"Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected."))
.arg(tr("New Driving Visualization"))
.arg(tr("The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner."));

@ -1131,6 +1131,14 @@ This may take up to a minute.</source>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

@ -1123,6 +1123,14 @@ This may take up to a minute.</source>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

@ -1125,6 +1125,14 @@ This may take up to a minute.</source>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation>openpilot .</translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

@ -1129,6 +1129,14 @@ Isso pode levar até um minuto.</translation>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation>Uma versão embrionária do controle longitudinal openpilot pode ser testada em conjunto com o modo Experimental, em branches que não sejam de produção.</translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

@ -1123,6 +1123,14 @@ This may take up to a minute.</source>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

@ -1125,6 +1125,14 @@ This may take up to a minute.</source>
<source>An alpha version of openpilot longitudinal control can be tested, along with Experimental mode, on non-release branches.</source>
<translation> (release) openpilot Alpha </translation>
</message>
<message>
<source>Navigate on openpilot</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When navigation has a destination, openpilot will input the map information into the model. This generally improves behavior and allows openpilot to keep left or right appropriately at forks/exits and take turns. Lane change behavior is unchanged and still activated by the driver. This is an alpha quality feature; mistakes should be expected.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Updater</name>

Loading…
Cancel
Save