新增任务1和任务2.5的返回功能,包含多个移动和旋转步骤以完成任务回程。优化了机器人在任务中的动作流程,确保更流畅的执行。
This commit is contained in:
		
							parent
							
								
									3de4bb8485
								
							
						
					
					
						commit
						47cfa56ff0
					
				@ -122,3 +122,71 @@ def run_task_1(ctrl, msg):
 | 
			
		||||
    # TODO
 | 
			
		||||
    
 | 
			
		||||
    success("任务1完成", "完成")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def run_task_1_back(ctrl, msg):
 | 
			
		||||
    section('任务1-11: 返回', "移动")
 | 
			
		||||
 | 
			
		||||
    turn_success, res = arc_turn_around_hori_line(
 | 
			
		||||
        ctrl=ctrl,
 | 
			
		||||
        msg=msg,
 | 
			
		||||
        angle_deg=90,
 | 
			
		||||
        radius=0.4,
 | 
			
		||||
        pass_align=True,
 | 
			
		||||
        observe=observe,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    section('任务1-11: 直线移动', "移动")
 | 
			
		||||
    move_to_hori_line(ctrl, msg, target_distance=1, observe=observe)
 | 
			
		||||
 | 
			
		||||
    section('任务1-12: 90度旋转', "旋转")
 | 
			
		||||
    turn_success, res = arc_turn_around_hori_line(
 | 
			
		||||
        ctrl=ctrl,
 | 
			
		||||
        msg=msg,
 | 
			
		||||
        angle_deg=170,
 | 
			
		||||
        target_distance=0.6,
 | 
			
		||||
        min_radius=0.3,
 | 
			
		||||
        max_radius=0.4,
 | 
			
		||||
        pass_align=True,
 | 
			
		||||
        observe=observe,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    section('任务1-13: 直线移动', "移动")
 | 
			
		||||
    move_distance = 0.35
 | 
			
		||||
    go_straight_by_hori_line(ctrl, msg, distance=move_distance, observe=observe)
 | 
			
		||||
 | 
			
		||||
    section('任务1-14: 模拟装货', "停止")
 | 
			
		||||
    info('机器人躺下,模拟装货过程', "信息")
 | 
			
		||||
    start_time = time.time()
 | 
			
		||||
    ctrl.base_msg.lie_down(wait_time=3000)  # TODO 比赛时改成 5s
 | 
			
		||||
    elapsed = time.time() - start_time
 | 
			
		||||
    timing("装货过程", elapsed)
 | 
			
		||||
 | 
			
		||||
    section('任务1-15: 站起来', "移动")
 | 
			
		||||
    ctrl.base_msg.stand_up()
 | 
			
		||||
 | 
			
		||||
    section('任务1-16: 返回', "移动")
 | 
			
		||||
    go_straight(ctrl, msg, distance=-(move_distance + res['radius'] + 0.3), observe=observe)
 | 
			
		||||
 | 
			
		||||
    section('任务1-17: 90度转弯', "旋转")
 | 
			
		||||
    turn_success, res = arc_turn_around_hori_line(
 | 
			
		||||
        ctrl=ctrl,
 | 
			
		||||
        msg=msg,
 | 
			
		||||
        angle_deg=90,
 | 
			
		||||
        radius=0.4,
 | 
			
		||||
        pass_align=True,
 | 
			
		||||
        observe=observe,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    section('任务1-18: 直线移动', "移动")
 | 
			
		||||
    move_to_hori_line(ctrl, msg, target_distance=0.35, observe=observe)
 | 
			
		||||
 | 
			
		||||
    section('任务1-19: 90度旋转', "旋转")
 | 
			
		||||
    turn_success, res = arc_turn_around_hori_line(
 | 
			
		||||
        ctrl=ctrl,
 | 
			
		||||
        msg=msg,
 | 
			
		||||
        angle_deg=90,
 | 
			
		||||
        radius=0.4,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    success("任务1-back完成", "完成")
 | 
			
		||||
@ -43,4 +43,25 @@ def run_task_2_5(Ctrl, msg, direction='left'):
 | 
			
		||||
    #     observe=observe,
 | 
			
		||||
    # )
 | 
			
		||||
 | 
			
		||||
def run_task_2_5_back(Ctrl, msg, direction='left'):
 | 
			
		||||
    section('任务2.5-back:预备进入任务3', "启动")
 | 
			
		||||
 | 
			
		||||
    arc_turn_around_hori_line(
 | 
			
		||||
        Ctrl,
 | 
			
		||||
        msg,
 | 
			
		||||
        angle_deg=90 if direction == 'left' else -90,
 | 
			
		||||
        target_distance=0.3,
 | 
			
		||||
        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,
 | 
			
		||||
    # )
 | 
			
		||||
    
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user