This repository was archived by the owner on Feb 26, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain_shoot_red.py
More file actions
60 lines (47 loc) · 1.93 KB
/
main_shoot_red.py
File metadata and controls
60 lines (47 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import threading
import time
# 假设 autoaim_init, autoaim_start, stop_autoaim 已从您的模块中导入
from autoaim import autoaim_init, autoaim_start, stop_autoaim
def run_mission():
print("--- 运行我的机器人任务 ---")
# --- 示例1:只攻击蓝色装甲板 (ID: 2) ---
print("\n任务阶段1:攻击蓝色装甲板")
# 调用初始化函数,设置巡逻范围和目标ID
init_successful = autoaim_init(patrol_yaw_min=45, patrol_yaw_max=170, target_id=0)
if not init_successful:
print("初始化失败,任务无法开始。")
return
# 如果初始化成功,则启动主任务线程
mission_thread = threading.Thread(target=autoaim_start)
mission_thread.start()
try:
# 让自动瞄准系统运行20秒
print("自动瞄准系统将运行 20 秒...")
time.sleep(20)
except KeyboardInterrupt:
print("任务被手动中断。")
finally:
# 无论任务是正常完成还是被中断,都发送停止信号
stop_autoaim()
# 等待 autoaim_start 线程完成所有清理工作并完全退出
mission_thread.join()
print("\n--- 任务阶段1结束 ---")
# --- 示例2:切换到攻击红色装甲板 (ID: 0) ---
print("\n任务阶段2:切换为攻击红色装甲板")
# 再次初始化,这次设置目标为红色装甲板
init_successful = autoaim_init(patrol_yaw_min=-90, patrol_yaw_max=90, target_id=0)
if not init_successful:
print("初始化失败,任务无法继续。")
return
mission_thread = threading.Thread(target=autoaim_start)
mission_thread.start()
try:
print("自动瞄准系统将再次运行 20 秒...")
time.sleep(20)
except KeyboardInterrupt:
print("任务被手动中断。")
finally:
stop_autoaim()
mission_thread.join()
print("--- 我的机器人任务结束 ---")
run_mission()