mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-08-06 00:36:32 +08:00
DM: track RHD predictions (#24947)
* driverview
* auto choose
* useless
* remove
* modeld not use toggle
* remove from params
* Revert "remove from params"
This reverts commit a08df0b4921e03deac24f4da2c0f1e9e9255a717.
* Revert "modeld not use toggle"
This reverts commit 2730bf8f57c8b057db2e4a76541e92880506cedd.
* Revert "remove"
This reverts commit 21f7cfaaee5452e53ee719762078cb153b3cc766.
* Revert "driverview"
This reverts commit 222d129711e6aa34c0468294b94f60ebbd1bb126.
* semi revert
old-commit-hash: a0c114b8b0
This commit is contained in:
@@ -20,7 +20,6 @@ static inline T *get_buffer(std::vector<T> &buf, const size_t size) {
|
||||
}
|
||||
|
||||
void dmonitoring_init(DMonitoringModelState* s) {
|
||||
s->is_rhd = Params().getBool("IsRHD");
|
||||
|
||||
#ifdef USE_ONNX_MODEL
|
||||
s->m = new ONNXModel("models/dmonitoring_model.onnx", &s->output[0], OUTPUT_SIZE, USE_DSP_RUNTIME, false, true);
|
||||
|
||||
@@ -38,7 +38,6 @@ typedef struct DMonitoringModelResult {
|
||||
|
||||
typedef struct DMonitoringModelState {
|
||||
RunModel *m;
|
||||
bool is_rhd;
|
||||
float output[OUTPUT_SIZE];
|
||||
std::vector<uint8_t> net_input_buf;
|
||||
float calib[CALIB_LEN];
|
||||
|
||||
@@ -120,7 +120,7 @@ class DriverStatus():
|
||||
self.settings = settings
|
||||
|
||||
# init driver status
|
||||
# self.wheelpos_learner = RunningStatFilter()
|
||||
self.wheelpos_learner = RunningStatFilter()
|
||||
self.pose = DriverPose(self.settings._POSE_OFFSET_MAX_COUNT)
|
||||
self.pose_calibrated = False
|
||||
self.blink = DriverBlink()
|
||||
@@ -137,7 +137,8 @@ class DriverStatus():
|
||||
self.distracted_types = []
|
||||
self.driver_distracted = False
|
||||
self.driver_distraction_filter = FirstOrderFilter(0., self.settings._DISTRACTED_FILTER_TS, self.settings._DT_DMON)
|
||||
self.wheel_on_right = rhd
|
||||
self.wheel_on_right = False
|
||||
self.rhd_toggled = rhd
|
||||
self.face_detected = False
|
||||
self.terminal_alert_cnt = 0
|
||||
self.terminal_time = 0
|
||||
@@ -225,14 +226,14 @@ class DriverStatus():
|
||||
self.settings._POSE_YAW_THRESHOLD_STRICT]) / self.settings._POSE_YAW_THRESHOLD
|
||||
|
||||
def update_states(self, driver_state, cal_rpy, car_speed, op_engaged):
|
||||
# rhd_pred = driver_state.wheelOnRightProb
|
||||
# if car_speed > 0.01:
|
||||
# self.wheelpos_learner.push_and_update(rhd_pred)
|
||||
# if self.wheelpos_learner.filtered_stat.n > self.settings._WHEELPOS_FILTER_MIN_COUNT:
|
||||
# self.wheel_on_right = self.wheelpos_learner.filtered_stat.M > self.settings._WHEELPOS_THRESHOLD
|
||||
# else:
|
||||
# self.wheel_on_right = rhd_pred > self.settings._WHEELPOS_THRESHOLD
|
||||
driver_data = driver_state.rightDriverData if self.wheel_on_right else driver_state.leftDriverData
|
||||
rhd_pred = driver_state.wheelOnRightProb
|
||||
if car_speed > 0.01:
|
||||
self.wheelpos_learner.push_and_update(rhd_pred)
|
||||
if self.wheelpos_learner.filtered_stat.n > self.settings._WHEELPOS_FILTER_MIN_COUNT:
|
||||
self.wheel_on_right = self.wheelpos_learner.filtered_stat.M > self.settings._WHEELPOS_THRESHOLD
|
||||
else:
|
||||
self.wheel_on_right = rhd_pred > self.settings._WHEELPOS_THRESHOLD
|
||||
driver_data = driver_state.rightDriverData if self.rhd_toggled else driver_state.leftDriverData
|
||||
if not all(len(x) > 0 for x in (driver_data.faceOrientation, driver_data.facePosition,
|
||||
driver_data.faceOrientationStd, driver_data.facePositionStd,
|
||||
driver_data.readyProb, driver_data.notReadyProb)):
|
||||
|
||||
Reference in New Issue
Block a user