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:
havoc420ubuntu 2025-06-01 00:55:54 +00:00
parent cb049d64bd
commit f61fcea650
6 changed files with 15 additions and 14 deletions

16
main.py
View File

@ -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)

View File

@ -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: 直线移动', "移动")

View File

@ -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])

View File

@ -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-2x = 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)

View File

@ -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)

View File

@ -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)