Refactor task execution flow by removing unnecessary return statements and enhancing task 3 with additional centering functionality. Update dual track line detection to improve error handling and variable naming for clarity.

This commit is contained in:
havoc420ubuntu 2025-05-31 07:52:19 +00:00
parent e399c8c837
commit 87be6b8328
3 changed files with 8 additions and 11 deletions

View File

@ -64,8 +64,6 @@ def main():
else: else:
run_task_3(Ctrl, msg) run_task_3(Ctrl, msg)
return
turn_degree_v2(Ctrl, msg, degree=90, absolute=True) turn_degree_v2(Ctrl, msg, degree=90, absolute=True)
run_task_5(Ctrl, msg, direction=arrow_direction) run_task_5(Ctrl, msg, direction=arrow_direction)

View File

@ -191,6 +191,7 @@ def pass_up_down(ctrl, msg):
# msg.life_count += 1 # msg.life_count += 1
# ctrl.Send_cmd(msg) # ctrl.Send_cmd(msg)
turn_degree_v2(ctrl, msg, 90, absolute=True) turn_degree_v2(ctrl, msg, 90, absolute=True)
center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False)
go_straight(ctrl, msg, distance=0.5, speed=0.5, observe=True) go_straight(ctrl, msg, distance=0.5, speed=0.5, observe=True)
time.sleep(1) time.sleep(1)
# go_to_x_v2(ctrl, msg, 2, speed=0.5, precision=True, observe=True) # go_to_x_v2(ctrl, msg, 2, speed=0.5, precision=True, observe=True)
@ -501,17 +502,15 @@ def run_task_3(ctrl, msg):
section('任务3上下坡', "启动") section('任务3上下坡', "启动")
info('开始执行任务3...', "启动") info('开始执行任务3...', "启动")
# turn_degree_v2(ctrl, msg, 90, absolute=True) turn_degree_v2(ctrl, msg, 90, absolute=True)
# go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True) go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True)
# section('任务3-1up', "开始") section('任务3-1up', "开始")
# pass_up_down(ctrl, msg) pass_up_down(ctrl, msg)
turn_degree_v2(ctrl, msg, 90, absolute=True) turn_degree_v2(ctrl, msg, 90, absolute=True)
center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False) center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False)
return
section('任务3-2yellow stop', "开始") section('任务3-2yellow stop', "开始")
go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3) go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3)

View File

@ -544,11 +544,11 @@ def detect_dual_track_lines(image, observe=False, delay=1000, save_log=True,
# 计算拟合误差 # 计算拟合误差
predicted_xs = poly_func(center_ys) predicted_xs = poly_func(center_ys)
error = np.mean(np.abs(predicted_xs - center_xs)) err = np.mean(np.abs(predicted_xs - center_xs))
# 如果误差更小,更新最佳拟合 # 如果误差更小,更新最佳拟合
if error < best_error: if err < best_error:
best_error = error best_error = err
best_poly_coeffs = poly_coeffs best_poly_coeffs = poly_coeffs
except: except:
continue continue