From 7ee061ffa91395fdf59667d2e6396a40d35703ed Mon Sep 17 00:00:00 2001 From: havoc420ubuntu <2993167370@qq.com> Date: Sat, 31 May 2025 14:18:02 +0000 Subject: [PATCH] Refactor task execution by standardizing the parameters for the center_on_dual_tracks function across multiple tasks. Enhance movement commands in task 4 for improved control and adjust speed parameters for better responsiveness in task 5. Clean up commented code for clarity. --- main.py | 12 +++++++----- task_3/task_3.py | 4 ++-- task_4/task_4.py | 11 ++++++++--- task_5/task_5.py | 3 +-- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/main.py b/main.py index 8f23702..84d1430 100644 --- a/main.py +++ b/main.py @@ -31,6 +31,7 @@ from task_test.task_left_line import run_task_test from task_5.task_5 import run_task_5 from base_move.turn_degree import turn_degree, turn_degree_v2 +from base_move.center_on_dual_tracks import center_on_dual_tracks from utils.log_helper import info @@ -47,7 +48,7 @@ def main(): Ctrl.base_msg.stand_up() Ctrl.base_msg.stop() # BUG 垃圾指令 for eat - # time.sleep(100) # TEST, + # time.sleep(100) # TEST # run_task_1(Ctrl, msg) # arrow_direction = run_task_2(Ctrl, msg, xy_flag=False) @@ -56,12 +57,13 @@ def main(): # info(f"识别到箭头方向: {arrow_direction}", "info") # run_task_2_5(Ctrl, msg, direction=arrow_direction) - if arrow_direction == 'left': - run_task_4(Ctrl, msg) - else: - run_task_3(Ctrl, msg) + # if arrow_direction == 'left': + # run_task_4(Ctrl, msg) + # else: + # run_task_3(Ctrl, msg) turn_degree_v2(Ctrl, msg, degree=90, absolute=True) + center_on_dual_tracks(Ctrl, msg, max_deviation=10.0, observe=False) run_task_5(Ctrl, msg, direction=arrow_direction) if arrow_direction == 'left': diff --git a/task_3/task_3.py b/task_3/task_3.py index 0e64fee..58a1a85 100644 --- a/task_3/task_3.py +++ b/task_3/task_3.py @@ -184,7 +184,7 @@ def pass_up_down(ctrl, msg): section('任务3-2:x = 2', "开始") turn_degree_v2(ctrl, msg, 90, absolute=True) - center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False, detect_height=0.3) + center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False, detect_height=0.3) go_straight(ctrl, msg, distance=0.5, speed=0.5, observe=True) time.sleep(1) @@ -501,7 +501,7 @@ def run_task_3(ctrl, msg): pass_up_down(ctrl, msg) 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_deviation=10.0, observe=False) section('任务3-2:yellow stop', "开始") go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3) diff --git a/task_4/task_4.py b/task_4/task_4.py index 48edd47..718b89e 100644 --- a/task_4/task_4.py +++ b/task_4/task_4.py @@ -49,14 +49,19 @@ def run_task_4_back(ctrl, msg): image_processor: 可选的图像处理器实例 """ turn_degree_v2(ctrl, msg, degree=-90, absolute=True) - center_on_dual_tracks(ctrl, msg, max_time=30, observe=False) + center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False) + + go_straight(ctrl, msg, distance=2, speed=1, observe=True) + center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False) # 向右移动0.5秒 section('任务4-回程:向右移动', "移动") - # go_lateral(ctrl, msg, distance=-0.3, speed=0.1, observe=True) # DEBUG + go_lateral(ctrl, msg, distance=-0.1, speed=0.1, observe=True) # DEBUG + + turn_degree_v2(ctrl, msg, degree=-90, absolute=True) section('任务4-1:移动直到灰色天空比例低于阈值', "天空检测") - go_straight_until_sky_ratio_below(ctrl, msg, sky_ratio_threshold=0.35, speed=0.5) + go_straight_until_sky_ratio_below(ctrl, msg, sky_ratio_threshold=0.35, speed=0.2) section('任务4-2:通过栏杆', "移动") turn_degree_v2(ctrl, msg, degree=-90, absolute=True) diff --git a/task_5/task_5.py b/task_5/task_5.py index 53af4db..07eb014 100644 --- a/task_5/task_5.py +++ b/task_5/task_5.py @@ -216,7 +216,6 @@ def run_task_5(ctrl, msg, direction='left', observe=False): # 最大移动距离为8米 max_distance = 2 - # 开始移动并扫描二维码 go_success, res = go_straight_with_qrcode(ctrl, msg, distance=max_distance, speed=1, observe=observe) @@ -231,7 +230,7 @@ def run_task_5(ctrl, msg, direction='left', observe=False): error("未能成功到达横线前指定距离", "失败") section('任务5-2:移动到卸货点', "移动") - center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False) + center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False) if direction == 'right' and res['qr_result'] == 'B-2' or direction == 'left' and res['qr_result'] == 'B-1': # 直走 move_to_hori_line(ctrl, msg, target_distance=1.4, observe=observe, detect_func_version=4)