Refactor task execution by standardizing the parameters for the center_on_dual_tracks function across multiple tasks. Enhance movement commands in task 4 for improved control and adjust speed parameters for better responsiveness in task 5. Clean up commented code for clarity.
This commit is contained in:
parent
74571e9c92
commit
7ee061ffa9
12
main.py
12
main.py
@ -31,6 +31,7 @@ from task_test.task_left_line import run_task_test
|
|||||||
from task_5.task_5 import run_task_5
|
from task_5.task_5 import run_task_5
|
||||||
|
|
||||||
from base_move.turn_degree import turn_degree, turn_degree_v2
|
from base_move.turn_degree import turn_degree, turn_degree_v2
|
||||||
|
from base_move.center_on_dual_tracks import center_on_dual_tracks
|
||||||
|
|
||||||
from utils.log_helper import info
|
from utils.log_helper import info
|
||||||
|
|
||||||
@ -47,7 +48,7 @@ def main():
|
|||||||
Ctrl.base_msg.stand_up()
|
Ctrl.base_msg.stand_up()
|
||||||
Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
|
Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
|
||||||
|
|
||||||
# time.sleep(100) # TEST,
|
# time.sleep(100) # TEST
|
||||||
# run_task_1(Ctrl, msg)
|
# run_task_1(Ctrl, msg)
|
||||||
|
|
||||||
# arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
|
# arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
|
||||||
@ -56,12 +57,13 @@ def main():
|
|||||||
# info(f"识别到箭头方向: {arrow_direction}", "info")
|
# info(f"识别到箭头方向: {arrow_direction}", "info")
|
||||||
# run_task_2_5(Ctrl, msg, direction=arrow_direction)
|
# run_task_2_5(Ctrl, msg, direction=arrow_direction)
|
||||||
|
|
||||||
if arrow_direction == 'left':
|
# if arrow_direction == 'left':
|
||||||
run_task_4(Ctrl, msg)
|
# run_task_4(Ctrl, msg)
|
||||||
else:
|
# else:
|
||||||
run_task_3(Ctrl, msg)
|
# run_task_3(Ctrl, msg)
|
||||||
|
|
||||||
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_deviation=10.0, observe=False)
|
||||||
run_task_5(Ctrl, msg, direction=arrow_direction)
|
run_task_5(Ctrl, msg, direction=arrow_direction)
|
||||||
|
|
||||||
if arrow_direction == 'left':
|
if arrow_direction == 'left':
|
||||||
|
@ -184,7 +184,7 @@ def pass_up_down(ctrl, msg):
|
|||||||
|
|
||||||
section('任务3-2:x = 2', "开始")
|
section('任务3-2:x = 2', "开始")
|
||||||
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, detect_height=0.3)
|
center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False, detect_height=0.3)
|
||||||
go_straight(ctrl, msg, distance=0.5, speed=0.5, observe=True)
|
go_straight(ctrl, msg, distance=0.5, speed=0.5, observe=True)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
@ -501,7 +501,7 @@ def run_task_3(ctrl, msg):
|
|||||||
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_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)
|
||||||
|
@ -49,14 +49,19 @@ 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)
|
center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False)
|
||||||
|
|
||||||
|
go_straight(ctrl, msg, distance=2, speed=1, observe=True)
|
||||||
|
center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False)
|
||||||
|
|
||||||
# 向右移动0.5秒
|
# 向右移动0.5秒
|
||||||
section('任务4-回程:向右移动', "移动")
|
section('任务4-回程:向右移动', "移动")
|
||||||
# go_lateral(ctrl, msg, distance=-0.3, speed=0.1, observe=True) # DEBUG
|
go_lateral(ctrl, msg, distance=-0.1, speed=0.1, observe=True) # DEBUG
|
||||||
|
|
||||||
|
turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
|
||||||
|
|
||||||
section('任务4-1:移动直到灰色天空比例低于阈值', "天空检测")
|
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.2)
|
||||||
|
|
||||||
section('任务4-2:通过栏杆', "移动")
|
section('任务4-2:通过栏杆', "移动")
|
||||||
turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
|
turn_degree_v2(ctrl, msg, degree=-90, absolute=True)
|
||||||
|
@ -216,7 +216,6 @@ def run_task_5(ctrl, msg, direction='left', observe=False):
|
|||||||
|
|
||||||
# 最大移动距离为8米
|
# 最大移动距离为8米
|
||||||
max_distance = 2
|
max_distance = 2
|
||||||
|
|
||||||
# 开始移动并扫描二维码
|
# 开始移动并扫描二维码
|
||||||
go_success, res = go_straight_with_qrcode(ctrl, msg, distance=max_distance, speed=1, observe=observe)
|
go_success, res = go_straight_with_qrcode(ctrl, msg, distance=max_distance, speed=1, observe=observe)
|
||||||
|
|
||||||
@ -231,7 +230,7 @@ def run_task_5(ctrl, msg, direction='left', observe=False):
|
|||||||
error("未能成功到达横线前指定距离", "失败")
|
error("未能成功到达横线前指定距离", "失败")
|
||||||
|
|
||||||
section('任务5-2:移动到卸货点', "移动")
|
section('任务5-2:移动到卸货点', "移动")
|
||||||
center_on_dual_tracks(ctrl, msg, max_time=15, max_deviation=10.0, observe=False)
|
center_on_dual_tracks(ctrl, msg, max_deviation=10.0, observe=False)
|
||||||
if direction == 'right' and res['qr_result'] == 'B-2' or direction == 'left' and res['qr_result'] == 'B-1':
|
if direction == 'right' and res['qr_result'] == 'B-2' or direction == 'left' and res['qr_result'] == 'B-1':
|
||||||
# 直走
|
# 直走
|
||||||
move_to_hori_line(ctrl, msg, target_distance=1.4, observe=observe, detect_func_version=4)
|
move_to_hori_line(ctrl, msg, target_distance=1.4, observe=observe, detect_func_version=4)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user