From 5eeb67a9e14f7a0bd72c052f9348861c27fe527a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=80=E5=96=B5?= Date: Tue, 30 Jun 2026 18:06:43 +0800 Subject: [PATCH] =?UTF-8?q?2026.6.30=E5=B0=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- drone_controller/mission_manager.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drone_controller/mission_manager.py b/drone_controller/mission_manager.py index d5b3296..faa9edd 100644 --- a/drone_controller/mission_manager.py +++ b/drone_controller/mission_manager.py @@ -30,6 +30,8 @@ import math import logging from enum import Enum +from sympy import true + logger = logging.getLogger(__name__) @@ -333,12 +335,14 @@ class MissionManager: mode = drone.get("mode", "") alt_rel = drone.get("alt_rel", 0.0) home = state.get("home", {}) + need_homeLog = True logger.info("[INIT] mode=%s armed=%s alt_rel=%.1fm", mode, armed, alt_rel) - if not home.get("valid", False): + if not home.get("valid", False) and need_homeLog: logger.warning("[INIT] home.valid=false,等待起飞点有效...") + need_homeLog = False return # A) 已在 OFFBOARD + 已解锁 → 直接巡航 @@ -378,6 +382,7 @@ class MissionManager: try: armed = state["drone"].get("armed", False) home = state.get("home", {}) + need_homeLog = True if not armed: elapsed = time.time() - self._state_start_time @@ -389,8 +394,9 @@ class MissionManager: logger.info("[ARMING] 等待解锁... (%.1fs)", elapsed) return - if not home.get("valid", False): + if not home.get("valid", False) and need_homeLog: logger.warning("[ARMING] home.valid=false,等待起飞点有效...") + need_homeLog = False return # ---- 解锁成功 → 起飞 ----