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.
This commit is contained in:
		
							parent
							
								
									74571e9c92
								
							
						
					
					
						commit
						7ee061ffa9
					
				
							
								
								
									
										12
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								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':
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user