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:
havoc420ubuntu 2025-05-31 14:06:12 +00:00
parent 0979d10415
commit 74571e9c92
3 changed files with 18 additions and 16 deletions

View File

@ -494,25 +494,25 @@ def run_task_3(ctrl, msg):
section('任务3上下坡', "启动")
info('开始执行任务3...', "启动")
# turn_degree_v2(ctrl, msg, 90, absolute=True)
# go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True) # TEST
turn_degree_v2(ctrl, msg, 90, absolute=True)
go_lateral(ctrl, msg, distance=0.2, speed=0.1, observe=True) # TEST
# section('任务3-1up', "开始")
# pass_up_down(ctrl, msg)
section('任务3-1up', "开始")
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)
# section('任务3-2yellow stop', "开始")
section('任务3-2yellow stop', "开始")
go_until_yellow_area(ctrl, msg, yellow_ratio_threshold=0.15, speed=0.3)
# 原地站立3秒
section("原地站立3秒", "站立")
msg.mode = 11 # Locomotion模式
msg.gait_id = 26 # 自变频步态
msg.duration = 0 # wait next cmd
msg.step_height = [0.06, 0.06] # 抬腿高度
msg.vel_des = [0, 0, 0] # 零速度,原地站立
msg.mode = 12
msg.gait_id = 0
msg.duration = 0
msg.step_height = [0.06, 0.06]
msg.vel_des = [0, 0, 0]
msg.life_count += 1
ctrl.Send_cmd(msg)

View File

@ -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 base_move.move_base_hori_line import calculate_distance_to_line
from task_4.pass_bar import pass_bar
from base_move.center_on_dual_tracks import center_on_dual_tracks
# 创建本模块特定的日志记录器
logger = get_logger("任务4")
@ -48,7 +49,7 @@ 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, stone_path_mode=False)
center_on_dual_tracks(ctrl, msg, max_time=30, observe=False)
# 向右移动0.5秒
section('任务4-回程:向右移动', "移动")

View File

@ -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.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,
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直线移动并扫描二维码', "移动")
# 最大移动距离为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)
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()
section('任务5-4返回', "移动")
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转弯', "转弯")
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转弯', "转弯")
arc_turn_around_hori_line(ctrl, msg, angle_deg=-90, target_distance=0.3, observe=observe)
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()
section('任务5-7返回', "移动")