Comment out unused code in main.py for clarity, adjust movement parameters in task 2 for improved accuracy, and refine execution flow in task 4 by modifying speed during sky ratio detection. Update task 5 to increase straight movement distance for better performance.
This commit is contained in:
		
							parent
							
								
									cb049d64bd
								
							
						
					
					
						commit
						f61fcea650
					
				
							
								
								
									
										16
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								main.py
									
									
									
									
									
								
							@ -53,16 +53,16 @@ def main():
 | 
			
		||||
        # time.sleep(100) # TEST,
 | 
			
		||||
        # run_task_1(Ctrl, msg, time_sleep=TIME_SLEEP)
 | 
			
		||||
 | 
			
		||||
        arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
 | 
			
		||||
        # arrow_direction = 'right' # TEST
 | 
			
		||||
        # arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
 | 
			
		||||
        arrow_direction = 'right' # TEST
 | 
			
		||||
 | 
			
		||||
        info(f"识别到箭头方向: {arrow_direction}", "info")
 | 
			
		||||
        run_task_2_5(Ctrl, msg, direction=arrow_direction)
 | 
			
		||||
        # 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, time_sleep=TIME_SLEEP)
 | 
			
		||||
        # if arrow_direction == 'left':
 | 
			
		||||
        #     run_task_4(Ctrl, msg)
 | 
			
		||||
        # else:
 | 
			
		||||
        #     run_task_3(Ctrl, msg, time_sleep=TIME_SLEEP)
 | 
			
		||||
 | 
			
		||||
        turn_degree_v2(Ctrl, msg, degree=90, absolute=True)
 | 
			
		||||
        run_task_5(Ctrl, msg, direction=arrow_direction, time_sleep=TIME_SLEEP)
 | 
			
		||||
 | 
			
		||||
@ -136,7 +136,6 @@ def run_task_1(ctrl, msg, time_sleep=5000):
 | 
			
		||||
 | 
			
		||||
def run_task_1_back(ctrl, msg, time_sleep=5000):
 | 
			
		||||
    section('任务1-11: 返回', "移动")
 | 
			
		||||
    go_straight(ctrl, msg, distance=0.2, observe=observe)
 | 
			
		||||
    turn_degree_v2(ctrl, msg, -90, absolute=True)
 | 
			
		||||
 | 
			
		||||
    section('任务1-11: 直线移动', "移动")
 | 
			
		||||
 | 
			
		||||
@ -293,7 +293,7 @@ def run_task_2(ctrl, msg, xy_flag=False):
 | 
			
		||||
    return arrow_direction
 | 
			
		||||
 | 
			
		||||
def run_task_2_back(ctrl, msg):
 | 
			
		||||
    go_to_xy(ctrl, msg, 0.7, -11, speed=0.5, observe=True)
 | 
			
		||||
    go_to_xy(ctrl, msg, 0.72, -11.1, speed=0.5, observe=True)
 | 
			
		||||
    turn_degree_v2(ctrl, msg, -106.5, absolute=True)
 | 
			
		||||
 | 
			
		||||
    print('角度为',ctrl.odo_msg.rpy[2])
 | 
			
		||||
 | 
			
		||||
@ -96,7 +96,7 @@ def pass_up_down(ctrl, msg):
 | 
			
		||||
        msg.life_count += 1
 | 
			
		||||
        
 | 
			
		||||
        climb_speed_threshold = 0.05  # 检测到开始爬坡的速度阈值
 | 
			
		||||
        max_iterations = 400  # 最大循环次数,作为安全保障
 | 
			
		||||
        max_iterations = 450  # 最大循环次数,作为安全保障
 | 
			
		||||
        y_target = 7.8  # 目标y坐标,达到此值时停止
 | 
			
		||||
 | 
			
		||||
        # 阶段控制
 | 
			
		||||
@ -142,6 +142,7 @@ def pass_up_down(ctrl, msg):
 | 
			
		||||
 | 
			
		||||
    section('任务3-2:x = 2', "开始")
 | 
			
		||||
    turn_degree_v2(ctrl, msg, 90, absolute=True)
 | 
			
		||||
    go_lateral(ctrl, msg, distance=0.2, speed=0.5, observe=True)
 | 
			
		||||
    center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False, detect_height=0.3)
 | 
			
		||||
    go_straight(ctrl, msg, distance=0.6, speed=0.5, observe=True)
 | 
			
		||||
    time.sleep(1)
 | 
			
		||||
 | 
			
		||||
@ -52,6 +52,7 @@ def run_task_4_back(ctrl, msg):
 | 
			
		||||
    center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False)
 | 
			
		||||
 | 
			
		||||
    ctrl.reset_offset()
 | 
			
		||||
    time.sleep(0.5)
 | 
			
		||||
 | 
			
		||||
    go_straight(ctrl, msg, distance=3, speed=1, observe=True)
 | 
			
		||||
    center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False)
 | 
			
		||||
@ -63,7 +64,7 @@ def run_task_4_back(ctrl, msg):
 | 
			
		||||
    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.3)
 | 
			
		||||
 | 
			
		||||
    section('任务4-2:通过栏杆', "移动")
 | 
			
		||||
    turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
 | 
			
		||||
@ -76,7 +77,7 @@ def run_task_4_back(ctrl, msg):
 | 
			
		||||
    turn_degree_v2(ctrl, msg, degree=-92, absolute=True) 
 | 
			
		||||
 | 
			
		||||
    # Use enhanced calibration for better Y-axis correction on stone path
 | 
			
		||||
    go_straight(ctrl, msg, distance=4.5, speed=0.35, mode=11, gait_id=3, step_height=[0.21, 0.21], observe=True)
 | 
			
		||||
    go_straight(ctrl, msg, distance=4.8, speed=0.35, mode=11, gait_id=3, step_height=[0.21, 0.21], observe=True)
 | 
			
		||||
    # go_straight_with_enhanced_calibration(ctrl, msg, distance=4.5, speed=0.35, 
 | 
			
		||||
    #                                      mode=11, gait_id=3, step_height=[0.21, 0.21], observe=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -247,7 +247,7 @@ def run_task_5(ctrl, msg, direction='left', observe=False, time_sleep=5000):
 | 
			
		||||
 | 
			
		||||
    section('任务5-5:转弯', "转弯")
 | 
			
		||||
    turn_degree_v2(ctrl, msg, degree=179, absolute=True)
 | 
			
		||||
    go_straight(ctrl, msg, distance=1.2, speed=0.6, observe=observe)
 | 
			
		||||
    go_straight(ctrl, msg, distance=1.4, speed=0.6, observe=observe)
 | 
			
		||||
 | 
			
		||||
    section('任务5-6:转弯', "转弯")
 | 
			
		||||
    arc_turn_around_hori_line(ctrl, msg, angle_deg=-85, target_distance=0.3, observe=observe, no_end_reset=True)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user