From 7cb0283ca875ecf4e2b6bf7700d42369a0866235 Mon Sep 17 00:00:00 2001 From: flt6 <1404262047@qq.com> Date: Sun, 18 May 2025 15:06:35 +0800 Subject: [PATCH] clean and adapt debounce Former-commit-id: d3368549aeb92c55007f45be4e18171fb8176791 --- Auto_Ctrl/model-old.pkl | 3 -- Auto_Ctrl/predictor_Syringe_Pump.py | 56 ++++++++++++----------------- 2 files changed, 23 insertions(+), 36 deletions(-) delete mode 100644 Auto_Ctrl/model-old.pkl diff --git a/Auto_Ctrl/model-old.pkl b/Auto_Ctrl/model-old.pkl deleted file mode 100644 index 436e5ec..0000000 --- a/Auto_Ctrl/model-old.pkl +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ca6d267a1b151f02a2096b1e7fbcea8abc298b6feec224c200a8b9a81fc2fc8 -size 107513 diff --git a/Auto_Ctrl/predictor_Syringe_Pump.py b/Auto_Ctrl/predictor_Syringe_Pump.py index d53c8aa..02f7449 100644 --- a/Auto_Ctrl/predictor_Syringe_Pump.py +++ b/Auto_Ctrl/predictor_Syringe_Pump.py @@ -127,25 +127,6 @@ class MAT: data = b"q6h6d" self.pump_ser.write(data) - def preproc(self, im): - try: - hsv = cv2.cvtColor(im,cv2.COLOR_BGR2HSV) - mask = hsv[:,:,1] > 150 - mask = mask[:,:,np.newaxis] - cnt = np.count_nonzero(mask) - if cnt == 0: - return 0,0,0 - hsv*=mask - h = round(np.sum(hsv[:,:,0])/cnt) - s = round(np.sum(hsv[:,:,1])/cnt) - v = round(np.sum(hsv[:,:,2])/cnt) - return h,s,v - except Exception as e : - import traceback - traceback.print_exc() - return None - # name = f"{cl}_{h}_{s}_{v}.jpg" - def _pred(self): suc,im = self.cap.read() if not suc: @@ -169,19 +150,24 @@ class MAT: self.last[1] += 1 # fps end now = time.time() - - if ret == self.end_kind: - if self.debounce[0]: + + if ret == "middle": + if self.debounce[0] and self.typ == 0: if self.debounce[1] and self.debounce[0]: # print(self.debounce) if now-self.debounce[0][-1] > self.bounce_time: print("Bounce check succeeded, val:",self.debounce[1][0]) - self.running = False - self.start_move_3() - return else: - print("Got stop flag, bounce check start, val:",self.total_volume) + print("Got middle flag, bounce check start, val:",self.total_volume) + self.typ = 1 + self.start_move_3() self.debounce[1].append((time.time(),self.total_volume)) + elif ret == self.end_kind: + if self.debounce[1]: + print("Got stop flag, val:",self.total_volume) + self.running = False + self.start_move_3() + return else: if self.debounce[0]: # print(self.debounce) @@ -200,13 +186,15 @@ class MAT: # im = cv2.imread(file) hsv = cv2.cvtColor(im,cv2.COLOR_BGR2HSV) s = hsv[:,:,1] - mask = s>100 # print(mask) + mask = s>60 tot = mask.shape[0]*mask.shape[1] val = np.sum(mask) - # print(val/tot) - if val