diff --git a/base_move/turn_degree.py b/base_move/turn_degree.py index 19e9ca2..6d14cd3 100644 --- a/base_move/turn_degree.py +++ b/base_move/turn_degree.py @@ -43,7 +43,7 @@ def turn_degree(ctrl, msg, degree=90, absolute=False, precision=False): # 定义允许的误差范围(弧度) # 如果是精确模式,使用更小的误差阈值 - limit = 0.03 if precision else 0.04 # 约1.7度或2.3度 + limit = 0.05 # 计算最短旋转方向和距离 def circle_dist(target, location): @@ -94,7 +94,7 @@ def turn_degree(ctrl, msg, degree=90, absolute=False, precision=False): debug(f"等待旋转完成: {wait_time:.2f}秒", "时间") # 精确模式下使用实时监控而不是固定等待时间 - if precision and abs(dist) > 0.1: # 对于较大角度 + if abs(dist) > 0.1: # 对于较大角度 start_time = time.time() last_yaw = current_yaw stable_count = 0 diff --git a/task_2_5/task_2_5.py b/task_2_5/task_2_5.py index bd28369..61dc58c 100644 --- a/task_2_5/task_2_5.py +++ b/task_2_5/task_2_5.py @@ -11,41 +11,36 @@ from utils.log_helper import LogHelper, get_logger, section, info, debug, warnin observe = True -def run_task_2_5(Ctrl, msg): +def run_task_2_5(Ctrl, msg, direction='left'): section('任务2.5:预备进入任务3', "启动") # TEST turn_degree(Ctrl, msg, 90, absolute=observe) - align_to_horizontal_line( - Ctrl, - msg, - detect_func_version=2, - observe=observe, - ) - - return - section('任务2.5-1:第一次旋转', "移动") - arc_turn_around_hori_line( + turn_success, res = arc_turn_around_hori_line( Ctrl, msg, - angle_deg=-90, - target_distance=0.5, + angle_deg=90 if direction == 'left' else -90, + target_distance=0.3, detect_func_version=2, observe=observe, ) section('任务2.5-2:第二次旋转', "移动") - arc_turn_around_hori_line( - Ctrl, - msg, - angle_deg=90, - target_distance=0.5, - detect_func_version=2, - observe=observe, - ) + turn_degree(Ctrl, msg, degree=90, absolute=True) + + # arc_turn_around_hori_line( + # Ctrl, + # msg, + # angle_deg=70, + # # target_distance=0.5, + # pass_align=True, + # radius=res['radius'], + # detect_func_version=2, + # observe=observe, + # ) \ No newline at end of file diff --git a/utils/detect_track.py b/utils/detect_track.py index b9f715e..88163b0 100644 --- a/utils/detect_track.py +++ b/utils/detect_track.py @@ -19,7 +19,7 @@ def detect_horizontal_track_edge(image, observe=False, delay=1000, save_log=True edge_point: 赛道前方边缘点的坐标 (x, y) edge_info: 边缘信息字典 """ - # observe = False # TEST + observe = False # TEST # 如果输入是字符串(文件路径),则加载图像 if isinstance(image, str): img = cv2.imread(image) @@ -361,7 +361,7 @@ def detect_horizontal_track_edge_v2(image, observe=False, delay=1000, save_log=T edge_point: 赛道前方边缘点的坐标 (x, y) edge_info: 边缘信息字典 """ - # observe = False # TEST + observe = False # TEST # 如果输入是字符串(文件路径),则加载图像 if isinstance(image, str): img = cv2.imread(image)