Refactor task 3 execution flow by enabling key movement commands and updating message parameters for improved control. Add section handling for task phases to enhance clarity and organization.
This commit is contained in:
parent
0979d10415
commit
74571e9c92
@ -494,25 +494,25 @@ def run_task_3(ctrl, msg):
|
|||||||
section('任务3:上下坡', "启动")
|
section('任务3:上下坡', "启动")
|
||||||
info('开始执行任务3...', "启动")
|
info('开始执行任务3...', "启动")
|
||||||
|
|
||||||
# turn_degree_v2(ctrl, msg, 90, absolute=True)
|
turn_degree_v2(ctrl, msg, 90, absolute=True)
|
||||||
# go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True) # TEST
|
go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True) # TEST
|
||||||
|
|
||||||
# section('任务3-1:up', "开始")
|
section('任务3-1:up', "开始")
|
||||||
# pass_up_down(ctrl, msg)
|
pass_up_down(ctrl, msg)
|
||||||
|
|
||||||
turn_degree_v2(ctrl, msg, 90, absolute=True)
|
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_time=15, max_deviation=10.0, observe=False)
|
||||||
|
|
||||||
# section('任务3-2:yellow stop', "开始")
|
section('任务3-2:yellow stop', "开始")
|
||||||
go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3)
|
go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3)
|
||||||
|
|
||||||
# 原地站立3秒
|
# 原地站立3秒
|
||||||
section("原地站立3秒", "站立")
|
section("原地站立3秒", "站立")
|
||||||
msg.mode = 11 # Locomotion模式
|
msg.mode = 12
|
||||||
msg.gait_id = 26 # 自变频步态
|
msg.gait_id = 0
|
||||||
msg.duration = 0 # wait next cmd
|
msg.duration = 0
|
||||||
msg.step_height = [0.06, 0.06] # 抬腿高度
|
msg.step_height = [0.06, 0.06]
|
||||||
msg.vel_des = [0, 0, 0] # 零速度,原地站立
|
msg.vel_des = [0, 0, 0]
|
||||||
msg.life_count += 1
|
msg.life_count += 1
|
||||||
ctrl.Send_cmd(msg)
|
ctrl.Send_cmd(msg)
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ from utils.detect_track import detect_horizontal_track_edge
|
|||||||
from utils.detect_dual_track_lines import detect_dual_track_lines
|
from utils.detect_dual_track_lines import detect_dual_track_lines
|
||||||
from base_move.move_base_hori_line import calculate_distance_to_line
|
from base_move.move_base_hori_line import calculate_distance_to_line
|
||||||
from task_4.pass_bar import pass_bar
|
from task_4.pass_bar import pass_bar
|
||||||
|
from base_move.center_on_dual_tracks import center_on_dual_tracks
|
||||||
|
|
||||||
# 创建本模块特定的日志记录器
|
# 创建本模块特定的日志记录器
|
||||||
logger = get_logger("任务4")
|
logger = get_logger("任务4")
|
||||||
@ -48,7 +49,7 @@ def run_task_4_back(ctrl, msg):
|
|||||||
image_processor: 可选的图像处理器实例
|
image_processor: 可选的图像处理器实例
|
||||||
"""
|
"""
|
||||||
turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
|
turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
|
||||||
# center_on_dual_tracks(ctrl, msg, max_time=30, observe=False, stone_path_mode=False)
|
center_on_dual_tracks(ctrl, msg, max_time=30, observe=False)
|
||||||
|
|
||||||
# 向右移动0.5秒
|
# 向右移动0.5秒
|
||||||
section('任务4-回程:向右移动', "移动")
|
section('任务4-回程:向右移动', "移动")
|
||||||
|
@ -19,6 +19,8 @@ from base_move.move_base_hori_line import (
|
|||||||
from base_move.center_on_dual_tracks import center_on_dual_tracks
|
from base_move.center_on_dual_tracks import center_on_dual_tracks
|
||||||
# from base_move.follow_dual_tracks import follow_dual_tracks
|
# from base_move.follow_dual_tracks import follow_dual_tracks
|
||||||
|
|
||||||
|
SLEEP_TIME = 3000
|
||||||
|
|
||||||
|
|
||||||
def go_straight_to_horizontal_line_with_qr(ctrl, msg, target_distance=0.5, speed=0.5,
|
def go_straight_to_horizontal_line_with_qr(ctrl, msg, target_distance=0.5, speed=0.5,
|
||||||
max_distance=10, detect_func_version=2,
|
max_distance=10, detect_func_version=2,
|
||||||
@ -210,7 +212,6 @@ def run_task_5(ctrl, msg, direction='left', observe=False):
|
|||||||
"""
|
"""
|
||||||
走向卸货
|
走向卸货
|
||||||
"""
|
"""
|
||||||
center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False)
|
|
||||||
section('任务5-1:直线移动并扫描二维码', "移动")
|
section('任务5-1:直线移动并扫描二维码', "移动")
|
||||||
|
|
||||||
# 最大移动距离为8米
|
# 最大移动距离为8米
|
||||||
@ -238,22 +239,22 @@ def run_task_5(ctrl, msg, direction='left', observe=False):
|
|||||||
move_to_hori_line(ctrl, msg, target_distance=2, observe=observe, detect_func_version=4)
|
move_to_hori_line(ctrl, msg, target_distance=2, observe=observe, detect_func_version=4)
|
||||||
|
|
||||||
section('任务5-3:卸货', "卸货")
|
section('任务5-3:卸货', "卸货")
|
||||||
ctrl.base_msg.lie_down(wait_time=3000)
|
ctrl.base_msg.lie_down(wait_time=SLEEP_TIME)
|
||||||
ctrl.base_msg.stand_up()
|
ctrl.base_msg.stand_up()
|
||||||
|
|
||||||
section('任务5-4:返回', "移动")
|
section('任务5-4:返回', "移动")
|
||||||
go_straight(ctrl, msg, distance=-1, speed=0.5, observe=observe)
|
go_straight(ctrl, msg, distance=-1, speed=0.5, observe=observe)
|
||||||
move_to_hori_line(ctrl, msg, target_distance=1.3, observe=observe)
|
move_to_hori_line(ctrl, msg, target_distance=1.35, observe=observe)
|
||||||
|
|
||||||
section('任务5-5:转弯', "转弯")
|
section('任务5-5:转弯', "转弯")
|
||||||
turn_degree_v2(ctrl, msg, degree=90)
|
turn_degree_v2(ctrl, msg, degree=90)
|
||||||
go_straight(ctrl, msg, distance=1.2, speed=0.5, observe=observe)
|
go_straight(ctrl, msg, distance=1.2, speed=0.6, observe=observe)
|
||||||
|
|
||||||
section('任务5-6:转弯', "转弯")
|
section('任务5-6:转弯', "转弯")
|
||||||
arc_turn_around_hori_line(ctrl, msg, angle_deg=-90, target_distance=0.3, observe=observe)
|
arc_turn_around_hori_line(ctrl, msg, angle_deg=-90, target_distance=0.3, observe=observe)
|
||||||
|
|
||||||
section('任务5-5:上货', "卸货")
|
section('任务5-5:上货', "卸货")
|
||||||
ctrl.base_msg.lie_down(wait_time=3000)
|
ctrl.base_msg.lie_down(wait_time=SLEEP_TIME)
|
||||||
ctrl.base_msg.stand_up()
|
ctrl.base_msg.stand_up()
|
||||||
|
|
||||||
section('任务5-7:返回', "移动")
|
section('任务5-7:返回', "移动")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user