From f2c1969418950ee12b98588b185de52c145066a0 Mon Sep 17 00:00:00 2001
From: Aaron John Sabu <aaronjohnsabu1999@gmail.com>
Date: Sat, 23 Oct 2021 22:50:59 -0700
Subject: [PATCH] Removed redundant code
---
Code/Control/Laptop_Code/main_backup/main.py | 65 ++--
.../main_backup/main_aaron_move2goal.py | 362 ------------------
.../Laptop_Code/main_integrated_test.py | 51 +--
3 files changed, 45 insertions(+), 433 deletions(-)
delete mode 100644 Code/Control/Laptop_Code/main_backup/main_aaron_move2goal.py
diff --git a/Code/Control/Laptop_Code/main_backup/main.py b/Code/Control/Laptop_Code/main_backup/main.py
index ec638f1..4032bf4 100644
--- a/Code/Control/Laptop_Code/main_backup/main.py
+++ b/Code/Control/Laptop_Code/main_backup/main.py
@@ -4,7 +4,6 @@ import ball_detection.ball_detection as ball_detection
import simple_pid.PID as PID
import timeit
-
from constants import *
# ========= Serial Port I/O ===========
@@ -72,7 +71,6 @@ def serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
Output:
None
'''
-
output_message = ''
for pwm_itr in [pwm1, pwm2, pwm3, pwm4]:
@@ -90,7 +88,7 @@ def serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
serial_port.write(output_message.encode())
-# ====== supporting function in main control ====
+# ====== Logic-directing Functions ====
def ball_detect(gbx, gby):
'''
return True if green ball is detected
@@ -160,7 +158,6 @@ def seeking():
return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
def move2ball(gbx, gby, gb_dist):
"""
Description:
@@ -179,23 +176,22 @@ def move2ball(gbx, gby, gb_dist):
inputx = gbx / 1.00
inputy = gby / 1.00
+ # ESP-Cam Center
setpoint_x = 400
- setpoint_y = 300 # ESP 32 Cam Center
-
- pid_x = PID(kpx,kix,kdx,setpoint=setpoint_x)
- pid_y = PID(kpy,kiy,kdy,setpoint=setpoint_y)
+ setpoint_y = 300
+ pid_x = PID(kpx, kix, kdx, setpoint = setpoint_x)
+ pid_y = PID(kpy, kiy, kdy, setpoint = setpoint_y)
pid_x.auto_mode = True
- pid_x.set_auto_mode(True, last_output=8.0)
+ pid_x.set_auto_mode(True, last_output = 8.0)
pid_x.output_limits = (-255,255)
pid_y.output_limits = (-255,255)
-
-
+
outputx = pid_x(inputx)
outputy = pid_y(inputy)
-
- # vertical
+
+ # Vertical
pwm1 = abs(outputy)
pwm2 = abs(outputy)
@@ -209,25 +205,21 @@ def move2ball(gbx, gby, gb_dist):
# horizontal
lspeed = -1 * outputx + base_speed
rspeed = 1 * outputx + base_speed
- pwm3 = min( abs(lspeed), 255)
- pwm4 = min( abs(rspeed), 255)
+ pwm3 = min(abs(lspeed), 255)
+ pwm4 = min(abs(rspeed), 255)
if (lspeed > 0):
dir3 = '+'
else:
dir3 = '-'
-
if (rspeed > 0):
dir4 = '+'
else:
dir4 = '-'
-
return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-# =========== main control ===========
-
+# =========== Main Control ===========
def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
'''
Description:
@@ -242,36 +234,33 @@ def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
Output:
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 : Blimp motor manuver parameters
'''
-
- # # placeholder
+ # placeholder
pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0
dir1, dir2, dir3, dir4 = '+', '-', '+', '-'
ballDetect = ball_detect(gbx, gby)
ballCapture = ball_capture(LIDAR_dist)
- goalDetect = goal_detect(tx,ty)
- # debug
- ballCapture = 0
+ goalDetect = goal_detect(tx, ty)
+
+ ballCapture = 0 # debug
if ballCapture: # Ball captured
if goalDetect: # Goal detected
- stop_all()
- #pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2goal(tx, ty)
+ stop_all() # Debug
+ # pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2goal(tx, ty)
else: # Goal not detected
- stop_all()
- #pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
+ stop_all() # Debug
+ # pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
else: # Ball not captured
if ballDetect: # Ball detected
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2ball(gbx,gby,gb_dist)
else: # Ball not detected
- # stop_all()
+ # stop_all() # Debug
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
return pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4
-
-# ===== Main Functions =====
-
+# ===== Main Function =====
if __name__ == '__main__':
# =========== SET UP ============
# Defining Variables for ESP 32 Serial I/O
@@ -280,12 +269,12 @@ if __name__ == '__main__':
serial_port.close()
serial_port.open()
- # Weit Time
+ # Wait Time
waitTime = 0.05
# Loading the PyTorch ML model for ball detection
model = ball_detection.returnModel(device, labelSet, modelLoc, modelFile)
- #model = ball_detection.returnModel(modelAction, device, trainLoc, labelSet, modelLoc, modelFile)
+ # model = ball_detection.returnModel(modelAction, device, trainLoc, labelSet, modelLoc, modelFile)
# =========== DECLARE VARIABLES ===========
@@ -303,12 +292,12 @@ if __name__ == '__main__':
pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0 # Not moving
dir1, dir2, dir3, dir4 = '+', '+', '+', '+'
- # =========== LOOP FOREVER===========
- # ESP32_SLAVE Talk First
+ # ESP32_SLAVE talks first
gbx, gby, gb_dist = ball_detection.detectLive(model, minDetectionScore, showSight = True)
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM)
serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
+ # =========== LOOP FOREVER===========
while True:
# ===== STEP 1: TAKE ALL INPUT =====
gbx, gby, gb_dist = ball_detection.detectLive(model, minDetectionScore, showSight = True)
@@ -324,4 +313,4 @@ if __name__ == '__main__':
# ===== STEP 3: FEED ALL OUTPUT =====
serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
- time.sleep(waitTime)
+ time.sleep(waitTime)
\ No newline at end of file
diff --git a/Code/Control/Laptop_Code/main_backup/main_aaron_move2goal.py b/Code/Control/Laptop_Code/main_backup/main_aaron_move2goal.py
deleted file mode 100644
index d92a1f5..0000000
--- a/Code/Control/Laptop_Code/main_backup/main_aaron_move2goal.py
+++ /dev/null
@@ -1,362 +0,0 @@
-import time
-import serial
-import ball_detection.ball_detection as ball_detection
-import simple_pid.PID as PID
-
-from constants import *
-
-# ========= Serial Port I/O ===========
-
-def serial_port_in(serial_port):
- '''
- Description:
- Take all ESP32_Master serial port's printIn and take all necessary input object
-
- Input:
- serial_port : serial.Serail object
-
- Output:
- tx, ty, tz, rx, ry, rz, LIDAR_dist, DebugM
- '''
-
- # DEBUG Verbose
- print("initiating one round of serial in ...")
-
- for i in range(7):
- line = serial_port.readline()
- val = int(line.decode())
-
- if i == 0:
- tx = val
- elif i == 1:
- ty = val
- elif i == 2:
- tz = val
- elif i == 3:
- rx = val
- elif i == 4:
- ry = val
- elif i == 5:
- rz = val
- elif i == 6:
- LIDAR_dist = val
-
- line = serial_port.readline()
- debugM = line.decode()
-
- # DEBUG Verbose
- print("tx:{}".format(tx))
- print("ty:{}".format(ty))
- print("tz:{}".format(tz))
- print("rx:{}".format(rx))
- print("ry:{}".format(ry))
- print("rz:{}".format(rz))
- print("dist:{}".format(LIDAR_dist))
- print(debugM)
-
- return tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM
-
-
-def serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4):
- '''
- Description:
- Feed to ESP32_Master to send ESP32_Slave necessary information
- the format of sending is pwm are 3 digit space
-
- Input:
- serial_port : serial.Serail object
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 : variables to send
-
- Output:
- None
- '''
- output_message = ''
-
- for pwm_itr in [pwm1, pwm2, pwm3, pwm4]:
- print(pwm_itr)
- if len(str(pwm_itr)) == 2:
- output_message += '0'
- elif len(str(pwm_itr)) == 1:
- output_message += '00'
- output_message += str(pwm_itr)
-
- output_message = output_message + dir1 + dir2 + dir3 + dir4 + '\n'
- serial_port.write(output_message.encode())
-
- # DEBUG Verbose
- print("serial out ...")
- print(output_message)
-
-
-# ====== Logic-directing Functions ====
-def ball_detect(gbx, gby):
- '''
- return True if green ball is detected
- '''
- if gbx == -1 and gby == -1:
- return False
- else:
- return True
-
-def goal_detect(tx,ty):
- '''
- return True if April Tag is detected
- '''
- if tx == 0 and ty == 0:
- return False
- else:
- return True
-
-def ball_capture(LIDAR_dist):
- '''
- return True if April Tag is detected
- '''
- if (LIDAR_dist < LIDAR_Thres) and (LIDAR_dist > 0): # Ball captured
- return True
- else:
- return False
-
-# ======= Motion-based Functions ======
-def stop_all():
- pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0
- dir1, dir2, dir3, dir4 = '+', '-', '+', '-'
- return pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4
-
-
-def move2goal(tx, ty):
- """
- Description:
- Given the center of the AT tx, ty. Call PID control to output the blimp
- motor to manuver to the goal
-
- Input:
- tx : x component, center of April Tag
- ty : y component, center of Aprol Tag
-
- Output:
- pwm1, pwm2, pwm3, pwm4
- dir1, dir2, dir3, dir4
- """
- inputx = tx / 1.00
- inputy = ty / 1.00
-
- # April Tag Center
- setpoint_x1 = 160
- setpoint_y1 = 120
-
- pid_x = PID(kdx_g, kix_g, kpx_g, setpoint = setpoint_x1)
- pid_y = PID(kdx_g, kiy_g, kpy_g, setpoint = setpoint_y1)
-
- pid_x.auto_mode = True
- pid_x.set_auto_mode(True, last_output = 8.0)
- pid_x.output_limits = (-255,255)
- pid_y.output_limits = (-255,255)
-
- outputx = pid_x(inputx)
- outputy = pid_y(inputy)
-
- # Vertical
- pwm1 = abs(outputy)
- pwm2 = abs(outputy)
-
- if(outputy > 0):
- dir1 = '+'
- dir2 = '+'
- else:
- dir1 = '-'
- dir2 = '-'
-
- # Horizontal
- lspeed = -1 * outputx + base_speed
- rspeed = 1 * outputx + base_speed
- pwm3 = abs(lspeed)
- pwm4 = abs(rspeed)
- if (lspeed > 0):
- dir3 = '+'
- else:
- dir3 = '-'
- if (rspeed > 0):
- dir4 = '+'
- else:
- dir4 = '-'
-
- return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-
-def seeking():
- """
- Description:
- By default, when there ball is not determined capture, the manuver of the
- motors to have it scan its surronding 360 degrees
-
- Input:
- none
-
- Output:
- pwm1, pwm2, pwm3, pwm4
- dir1, dir2, dir3, dir4
- """
- pwm1, pwm2, pwm3, pwm4 = 0 , 0 , seeking_speed , seeking_speed
- dir1, dir2, dir3, dir4 = '+', '+', '+', '-'
-
- return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-def move2ball(gbx,gby,gb_dist):
- """
- Description:
- Given the center of x y dist of green ball detected. Call PID control to
- output the blimp motor to manuver to the green ball
-
- Input:
- gbx : x component, center of green ball
- gby : y component, center of green ball
- gb_dist : distance to green ball
-
- Output:
- pwm1, pwm2, pwm3, pwm4
- dir1, dir2, dir3, dir4
- """
- inputx = gbx / 1.00
- inputy = gby / 1.00
-
- # ESP-Cam Center
- setpoint_x = 400
- setpoint_y = 300
-
- pid_x = PID(kdx_b, kix_b, kpx_b, setpoint = setpoint_x)
- pid_y = PID(kdx_b, kiy_b, kpy_b, setpoint = setpoint_y)
-
- pid_x.auto_mode = True
- pid_x.set_auto_mode(True, last_output = 8.0)
- pid_x.output_limits = (-255,255)
- pid_y.output_limits = (-255,255)
-
- outputx = pid_x(inputx)
- outputy = pid_y(inputy)
-
- # Vertical
- pwm1 = abs(outputy)
- pwm2 = abs(outputy)
-
- if(outputy > 0):
- dir1 = '+'
- dir2 = '+'
- else:
- dir1 = '-'
- dir2 = '-'
-
- # Horizontal
- lspeed = -1 * outputx + base_speed
- rspeed = 1 * outputx + base_speed
- pwm3 = abs(lspeed)
- pwm4 = abs(rspeed)
- if (lspeed > 0):
- dir3 = '+'
- else:
- dir3 = '-'
- if (rspeed > 0):
- dir4 = '+'
- else:
- dir4 = '-'
-
- return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-
-# =========== main control ===========
-
-def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
- '''
- Description:
- Given green ball information and AT information, the main control logic
- to manuver the blimp motors
-
- Input:
- gbx, gby, gb_dist : green ball information
- tx, ty, tz, rx, ry, rz, LIDAR_dist : AirTag information
- debugM : Debug Message
-
- Output:
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 : Blimp motor manuver parameters
- '''
- # placeholder
- pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0
- dir1, dir2, dir3, dir4 = '+', '-', '+', '-'
-
- ballDetect = ball_detect(gbx, gby)
- ballCapture = ball_capture(LIDAR_dist)
- goalDetect = goal_detect(tx, ty)
-
- print("ballDetect = ", ballDetect)
- print("ballCapture = ", ballCapture)
- print("goalDetect = ", goalDetect)
-
- if ballCapture: # Ball captured
- if goalDetect: # Goal detected
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2goal(tx, ty)
- else: # Goal not detectedpwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 =
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
- else: # Ball not captured
- if ballDetect: # Ball detected
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2ball(gbx,gby,gb_dist)
- else: # Ball not detected
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
-
- return pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4
-
-
-
-# ===== Main Functions =====
-
-if __name__ == '__main__':
- # =========== SET UP ============
- # Defining Variables for ESP 32 Serial I/O
- PORT = "COM6" # for Alienware
- serial_port = serial.Serial(PORT, 115200)
- serial_port.close()
- serial_port.open()
-
- # Weit Time
- waitTime = 0.10
-
- # Loading the PyTorch ML model for ball detection
- model = ball_detection.returnModel(device, labelSet, modelLoc, modelFile)
-
- # =========== DECLARE VARIABLES ===========
- # ESP CAM In
- gbx, gby = -1, -1 # by default (-1 means no found green ball)
- gb_dist = -1 # by default (-1 means no found green ball)
-
- # Serial Port In
- tx, ty, tz = 0, 0, 0 # by default (0 means no found AirTag)
- rx, ry, rz = 0, 0, 0
- LIDAR_dist = 0
- debugM = 'Testing'
-
- # Serial Port Out
- pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0 # Not moving
- dir1, dir2, dir3, dir4 = '+', '+', '+', '+'
-
- count = 0
- # =========== LOOP FOREVER===========
- while True:
- # gbx, gby, gb_dist = ball_detection.detectLive(model, minDetectionScore, showSight = True)
- # print("gbx, gby: {}, {}".format(gbx, gby))
-
- line = serial_port.readline()
- if line == b'SERIAL_IN_START\r\n':
- # ===== STEP 1: TAKE ALL INPUT =====
- tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM = serial_port_in(serial_port)
-
- # ===== STEP 2: MAIN CONTROL LOOP =====
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM)
-
- # ===== STEP 3: FEED ALL OUTPUT =====
- serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
-
- time.sleep(waitTime)
-
- if count == 0:
- # first time calling (call once)
- pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM)
- serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
- count +=1
diff --git a/Code/Control/Laptop_Code/main_integrated_test.py b/Code/Control/Laptop_Code/main_integrated_test.py
index b722361..cef216c 100644
--- a/Code/Control/Laptop_Code/main_integrated_test.py
+++ b/Code/Control/Laptop_Code/main_integrated_test.py
@@ -72,7 +72,6 @@ def serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
Output:
None
'''
-
output_message = ''
for pwm_itr in [pwm1, pwm2, pwm3, pwm4]:
@@ -90,7 +89,7 @@ def serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
serial_port.write(output_message.encode())
-# ====== supporting function in main control ====
+# ====== Logic-directing Functions ====
def ball_detect(gbx, gby):
'''
return True if green ball is detected
@@ -123,7 +122,6 @@ def stop_all():
dir1, dir2, dir3, dir4 = '+', '-', '+', '-'
return pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4
-
def move2goal(tx, ty):
"""
Description:
@@ -184,8 +182,6 @@ def move2goal(tx, ty):
return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-
def seeking():
"""
Description:
@@ -223,23 +219,22 @@ def move2ball(gbx, gby, gb_dist):
inputx = gbx / 1.00
inputy = gby / 1.00
+ # ESP-Cam Center
setpoint_x = 400
- setpoint_y = 300 # ESP 32 Cam Center
-
- pid_x = PID(kpx,kix,kdx,setpoint=setpoint_x)
- pid_y = PID(kpy,kiy,kdy,setpoint=setpoint_y)
+ setpoint_y = 300
+ pid_x = PID(kpx, kix, kdx, setpoint = setpoint_x)
+ pid_y = PID(kpy, kiy, kdy, setpoint = setpoint_y)
pid_x.auto_mode = True
pid_x.set_auto_mode(True, last_output=8.0)
pid_x.output_limits = (-255,255)
pid_y.output_limits = (-255,255)
-
outputx = pid_x(inputx)
outputy = pid_y(inputy)
- # vertical
+ # Vertical
pwm1 = abs(outputy)
pwm2 = abs(outputy)
@@ -250,28 +245,24 @@ def move2ball(gbx, gby, gb_dist):
dir1 = '-'
dir2 = '-'
- # horizontal
+ # Horizontal
lspeed = -1 * outputx + base_speed
rspeed = 1 * outputx + base_speed
- pwm3 = min( abs(lspeed), 255)
- pwm4 = min( abs(rspeed), 255)
+ pwm3 = min(abs(lspeed), 255)
+ pwm4 = min(abs(rspeed), 255)
if (lspeed > 0):
dir3 = '+'
else:
dir3 = '-'
-
if (rspeed > 0):
dir4 = '+'
else:
dir4 = '-'
-
return int(pwm1), int(pwm2), int(pwm3), int(pwm4), dir1, dir2, dir3, dir4
-
-# =========== main control ===========
-
+# =========== Main Control ===========
def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
'''
Description:
@@ -286,8 +277,7 @@ def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
Output:
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 : Blimp motor manuver parameters
'''
-
- # # placeholder
+ # placeholder
pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0
dir1, dir2, dir3, dir4 = '+', '-', '+', '-'
@@ -295,27 +285,24 @@ def main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM):
ballCapture = ball_capture(LIDAR_dist)
goalDetect = goal_detect(tx,ty)
- # debug
if ballCapture: # Ball captured
if goalDetect: # Goal detected
- #stop_all()
+ # stop_all() # Debug
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2goal(tx, ty)
else: # Goal not detected
- #stop_all()
+ # stop_all() # Debug
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
else: # Ball not captured
if ballDetect: # Ball detected
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = move2ball(gbx,gby,gb_dist)
else: # Ball not detected
- # stop_all()
+ # stop_all() # Debug
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = seeking()
return pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4
-
-# ===== Main Functions =====
-
+# ===== Main Function =====
if __name__ == '__main__':
# =========== SET UP ============
# Defining Variables for ESP 32 Serial I/O
@@ -346,21 +333,19 @@ if __name__ == '__main__':
pwm1, pwm2, pwm3, pwm4 = 0 , 0 , 0 , 0 # Not moving
dir1, dir2, dir3, dir4 = '+', '+', '+', '+'
- # =========== LOOP FOREVER===========
- # Trigger the ESP32_SLAVE Talk First
+ # Trigger the ESP32_SLAVE to talk first
gbx, gby, gb_dist = ball_detection.detectLive(model, minDetectionScore, showSight = True)
pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4 = main_control(gbx, gby, gb_dist, tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM)
serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
+ # =========== LOOP FOREVER===========
while True:
# ===== STEP 1: TAKE ALL INPUT =====
gbx, gby, gb_dist = ball_detection.detectLive(model, minDetectionScore, showSight = True)
line = serial_port.readline()
if line == b'SERIAL_IN_START\r\n':
-
tx, ty, tz, rx, ry, rz, LIDAR_dist, debugM = serial_port_in(serial_port)
-
print("gbx,gby:{},{}".format(gbx,gby))
time.sleep(waitTime)
@@ -370,4 +355,4 @@ if __name__ == '__main__':
# ===== STEP 3: FEED ALL OUTPUT =====
serial_port_out(serial_port, pwm1, pwm2, pwm3, pwm4, dir1, dir2, dir3, dir4)
- time.sleep(waitTime)
+ time.sleep(waitTime)
\ No newline at end of file
--
GitLab