From a47fbb140dc0cae8a30954a3747a708a1fb5e20f Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 19 Jun 2024 00:24:32 -0500 Subject: [PATCH] wip --- openpilot/clearpiliot_devqueue_zbacklog.txt | 192 ++++++++++++++++++++ selfdrive/ui/qt/onroad.cc | 3 +- 2 files changed, 194 insertions(+), 1 deletion(-) diff --git a/openpilot/clearpiliot_devqueue_zbacklog.txt b/openpilot/clearpiliot_devqueue_zbacklog.txt index 6c358db..0889c01 100755 --- a/openpilot/clearpiliot_devqueue_zbacklog.txt +++ b/openpilot/clearpiliot_devqueue_zbacklog.txt @@ -1,5 +1,197 @@ +- revert a bunch of debugging in canfd + +- configure it so i can toggle experimental via lkas +- if experimental enabled, then transmit experimental speed settings + - but only if no lead car or not decelerating. got to think of a condition + where we reengage if the lead is going too slow and we need to let stock long decel +- implement speed limit controller as a simple Warning +- implement a simple resume from standstill hack + +- flesh all this out and prepare for trip. we will make auto match speed a future problem. +- continue on other projects and bench this one. + + +- this whole thing kind of sucks if i cant transmit buttons. keep trying. + - maybe curise_button and not cruise_button_alt will work? + +----- +Latest: +- fix hiding path if disabled +- fix suspend on override behavior - override doesnt happen on always on lateral. need alternative check. +- fix & test lane line narrow on lane change view +- the acc cancel does nothing. +- must simulate actual button presses. +- add radar dist, model dist, radar speed, model speed to debug hud +- add wheel touched, wheel override to hud + +- fix always on lateral saying its on when actually fully engaged + +Notes on speed limit override: +- we need to capture the original speed and feed it to vtsc and model whule we + are under speed adjustment + +------ +- fix lane lines +- fix always on lateral detection +- position override under 25 mph suspends assist + +- output the three speeds + +- test - if engaged, adjust the speed twoards experimental one unit every second + +- disable onroad on parked, not car off + +- test that lkas button crashes controlsd, it should +- test that lkas button creates an alert, it should + +- hyundai clsc https://github.com/garrettpall/openpilot/commit/5528198aa73d3d017d16ec4ca38306b11e5da0a8 + +- get ui to work on its own using no video feed, custom ui state inputs + - dress up ui + +- add debug elements to ui with a boolean at top of onroad.cc to enable/disable: + - curviture + - current speed limit + - current cruise speed + - current experimental mode speed + - current distance to lead based on radar + - current distance to lead based on model draw distance + - current speed of lead + +- when changing lanes and lateral disabled, draw a narrow single 'line' down center +- of computed path, and don't show side lane boundaries + +- make side lanes 10% wider and the disengage mode 10% brighter +- make 25% of side lanes 50% darker than base + +- hello world alert triggered by lkas btn +- hello world bootstrap dashboard + +- button stuff: +- read paddle left (for full nudgeless lane change + blinker, reset to drive) +- read paddle right ("") +- read current drive mode, reset paddle mode to drive +- write pause, res, accel, mode, drive + +wishlist: read / write info switcher, hvac, windows +wishlist: allow lane assist (not lane keep) on disengage + +test: +- disable all canbus +- set speed limit during stock long + +OP -> Oscar +- oscar - global clearpilot state var +- oscar.cs - clearpilot car state (populated by op variables for cp.planner) +- oscar.ce - clearpilot car event queue (array that can be pushed to from car) +- oscar.ceh - event queue history (for debug) +- oscar.clog - error and console.log style one off messages to transmit to logs or watching consoles +Oscar -> OP +- oscar.ps - clearpilot planner state (data from cp) +- oscar.pe - clearpilot planner event (one time events from planner to be processed by openpilot) +- oscar.peh - planner event history (for debug) +- oscar.plog - retransmits clog as well as additional data for UI based log consoles + +- oscar - clearpilot's planner - nodejs process that synchronizes state between all processes and makes decisions + +- settings menu +- - branch selector - release, stage, dev. Stage is my personal release branch. Should always be able to easilly switch to stage while im in a development state. + +- unfuck the directory structure. new structure: +- + +------- + +- make functions +--- get_curvature +--- get_wheel_angle +--- get_distance_to_left_lane +--- get_distance_to_right_lane +--- are hands on wheel +--- distance traveled for lane change +--- distance to lead +- put these on a debug. + +- Design alternate settings webview +- get speed limit display working +- get calculated experimental speed display working +- get button press emulation working +- get experimental mode working +- get speed limit set working +- dev enable lateral on blinker but no wheel pressure or no wheel presence +- bluetooth dummy device + +- Test if activation fix works for op long, submit to frog maintain +- (test) disable all turn signal output commands - they are causing issues +- test "create_acc_cancel" on canfd on cc engaged on boot +- Create clearpilot process. manages behaviors. +- experiment with reduced jerk values +- test toggle stop all canbus output +- check if acc_cancel events are being made on idle in stock long, if so, its a bug. + +- Warn if significantly slower traffic + +behaviors: + +- getting head mode - turn off babysitter with an alert on the screen that it is off, suspend for 10 minutes + - in this mode it should be extra grouchy if a curve is detected, slowdown is detected, or lane lines are weak + +- lane change wrong way reenable lateral +- blinker signal wheel angle minor enable lateral +- wheel angle sharp only engage lateral if over lane edge unless hands not on wheel +- no lateral on turn signal - only enforce if model curvature > 10 degrees, hands on wheel, or wheel override (maybe curve not necessary?) + + +- basic lane keep - nudge wheel slightly if over line and still going straight and hands on wheel + +- debug mode activated bu lkas + +- See where disk free is going with NCDU and add smarter log rotation + - Maybe this has logs where it could show what happened to frogpilot process? +- Test supress cruise icon on long paused +- increase center lane brightness 50% and make it blueish +- make drive mode color much brighter and 30% more white +- maintain lateral on icon on stop on dash +- prevent engagement if disengaged and brakes are applied, just enable lateral +- edit manager to log all stderr output +- find a way to disable all logging unless debug mode enabled (screen setting) +- set up dash cam recordings +- disable dash cam and record in real logger mode if debug mode is entered + +- Integrate here maps api for traffic data + - maybe even speed limit data? and location data? + +- write a debug function for python that cats data to a screen terminal and optionally a log file +- if cruise already engaged when boot, just enable lateral +- reengage lateral if changing lanes and changing the wrong way +- speed limit display / over speed display / trigger set +- hack the buttons so we can press them +- auto set speed limit +- conditional experimenal mode +- ui conditional experimental mode, orange lines, show large font of desired speed in lower left +- hold down button to turn off screen, remember setting +- bluetooth dummy device +- dash cam +- change disk used on sidebar to disk free / percent used +- +- warn if lead is going more than 30 under my speed or 20 if auto mode is off + +- mark os version different than release, forcing a os reinstall +- no prompt on os reinstall + + +Test features wizard: +- read paddles +- read speed +- adjust speed +- cancel / resume +- reset drive mode +- read radar distance +- activate blinkers + - disable changing lanes notices (tiny indicator is fine) + - speed limit display / over speed display - hack the buttons so we can press them - auto set speed limit diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index 7609346..9f000a0 100755 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -835,7 +835,8 @@ void AnnotatedCameraWidget::paintEvent(QPaintEvent *event) { const auto &lead = model.getLeadsV3()[i]; auto lead_drel = lead.getX()[0]; if (lead.getProb() > 0.5 && (prev_drel < 0 || std::abs(lead_drel - prev_drel) > 3.0)) { - drawLead(painter, lead, s->scene.lead_vertices[i], v_ego); + // Disabled for the moment. + // drawLead(painter, lead, s->scene.lead_vertices[i], v_ego); } prev_drel = lead_drel; }