wip
This commit is contained in:
@@ -501,12 +501,13 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
|
||||
Priority.MID, VisualAlert.steerRequired, AudibleAlert.promptDistracted, .1),
|
||||
},
|
||||
|
||||
# CLEARPILOT
|
||||
EventName.driverDistracted: {
|
||||
ET.WARNING: Alert(
|
||||
"DISENGAGE IMMEDIATELY",
|
||||
"Driver Distracted",
|
||||
AlertStatus.critical, AlertSize.full,
|
||||
Priority.HIGH, VisualAlert.steerRequired, AudibleAlert.warningImmediate, .1),
|
||||
"PAY ATTENTION",
|
||||
"DRIVER DISTRACTED",
|
||||
AlertStatus.userPrompt, AlertSize.full,
|
||||
Priority.MID, VisualAlert.steerRequired, AudibleAlert.warningImmediate, .1),
|
||||
},
|
||||
|
||||
EventName.preDriverUnresponsive: {
|
||||
@@ -525,12 +526,13 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
|
||||
Priority.MID, VisualAlert.steerRequired, AudibleAlert.promptDistracted, .1),
|
||||
},
|
||||
|
||||
# CLEARPILOT
|
||||
EventName.driverUnresponsive: {
|
||||
ET.WARNING: Alert(
|
||||
"DISENGAGE IMMEDIATELY",
|
||||
"TOUCH STEERING WHEEL",
|
||||
"Driver Unresponsive",
|
||||
AlertStatus.critical, AlertSize.full,
|
||||
Priority.HIGH, VisualAlert.steerRequired, AudibleAlert.warningImmediate, .1),
|
||||
AlertStatus.userPrompt, AlertSize.full,
|
||||
Priority.MID, VisualAlert.steerRequired, AudibleAlert.warningImmediate, .1),
|
||||
},
|
||||
|
||||
EventName.manualRestart: {
|
||||
|
||||
@@ -27,12 +27,13 @@ class DRIVER_MONITOR_SETTINGS():
|
||||
# self._DISTRACTED_PROMPT_TIME_TILL_TERMINAL = 6.
|
||||
|
||||
# Temp.
|
||||
self._AWARENESS_TIME = 60. # passive wheeltouch total timeout
|
||||
self._AWARENESS_PRE_TIME_TILL_TERMINAL = 999.
|
||||
self._AWARENESS_PROMPT_TIME_TILL_TERMINAL = 999.
|
||||
self._DISTRACTED_TIME = 30. # active monitoring total timeout
|
||||
self._DISTRACTED_PRE_TIME_TILL_TERMINAL = 999.
|
||||
self._DISTRACTED_PROMPT_TIME_TILL_TERMINAL = 999.
|
||||
# Goals: Temp only if daytime and privledged
|
||||
self._AWARENESS_TIME = 50. # passive wheeltouch total timeout
|
||||
self._AWARENESS_PRE_TIME_TILL_TERMINAL = 30.
|
||||
self._AWARENESS_PROMPT_TIME_TILL_TERMINAL = 10.
|
||||
self._DISTRACTED_TIME = 50. # active monitoring total timeout
|
||||
self._DISTRACTED_PRE_TIME_TILL_TERMINAL = 30.
|
||||
self._DISTRACTED_PROMPT_TIME_TILL_TERMINAL = 10.
|
||||
|
||||
self._FACE_THRESHOLD = 0.7
|
||||
self._EYE_THRESHOLD = 0.65
|
||||
@@ -310,14 +311,16 @@ class DriverStatus():
|
||||
self.hi_stds = 0
|
||||
|
||||
def update_events(self, events, driver_engaged, ctrl_active, standstill):
|
||||
if (driver_engaged and self.awareness > 0 and not self.active_monitoring_mode) or not ctrl_active: # reset only when on disengagement if red reached
|
||||
# self.awareness > 0
|
||||
if (driver_engaged and not self.active_monitoring_mode) or not ctrl_active: # reset only when on disengagement if red reached
|
||||
self._reset_awareness()
|
||||
return
|
||||
|
||||
driver_attentive = self.driver_distraction_filter.x < 0.37
|
||||
awareness_prev = self.awareness
|
||||
|
||||
if (driver_attentive and self.face_detected and self.pose.low_std and self.awareness > 0):
|
||||
# and self.awareness > 0
|
||||
if (driver_attentive and self.face_detected and self.pose.low_std ):
|
||||
if driver_engaged:
|
||||
self._reset_awareness()
|
||||
return
|
||||
@@ -342,10 +345,11 @@ class DriverStatus():
|
||||
if self.awareness <= 0.:
|
||||
# terminal red alert: disengagement required
|
||||
alert = EventName.driverDistracted if self.active_monitoring_mode else EventName.driverUnresponsive
|
||||
self.terminal_time += 1
|
||||
if awareness_prev > 0.:
|
||||
self.terminal_alert_cnt += 1
|
||||
elif self.awareness <= self.threshold_prompt:
|
||||
# self.terminal_time += 1
|
||||
# if awareness_prev > 0.:
|
||||
# self.terminal_alert_cnt += 1
|
||||
# elif self.awareness <= self.threshold_prompt:
|
||||
if self.awareness <= self.threshold_prompt:
|
||||
# prompt orange alert
|
||||
alert = EventName.promptDriverDistracted if self.active_monitoring_mode else EventName.promptDriverUnresponsive
|
||||
elif self.awareness <= self.threshold_pre:
|
||||
|
||||
@@ -49,7 +49,7 @@ void ReadyWindow::paintEvent(QPaintEvent *event) {
|
||||
}
|
||||
|
||||
void ReadyWindow::showEvent(QShowEvent *event) {
|
||||
refresh();
|
||||
// refresh();
|
||||
// timer->start(120 * 1000);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user