diff --git a/src/control/ctrl_arbiter/src/ctrl_arbiter.cpp b/src/control/ctrl_arbiter/src/ctrl_arbiter.cpp index 69038d4..970a057 100644 --- a/src/control/ctrl_arbiter/src/ctrl_arbiter.cpp +++ b/src/control/ctrl_arbiter/src/ctrl_arbiter.cpp @@ -64,12 +64,7 @@ private: RCLCPP_INFO_THROTTLE(this->get_logger(), *this->get_clock(), 2000, "[ARBITER] Using RADIO control"); return; } - if (auto_valid_ && (now - auto_last_time_).nanoseconds() < timeout_ms_ * 1000000) - { - publisher_->publish(auto_msg_); - RCLCPP_INFO_THROTTLE(this->get_logger(), *this->get_clock(), 2000, "[ARBITER] Using AUTO control"); - return; - } + if (remote_valid_ && (now - remote_last_time_).nanoseconds() < timeout_ms_ * 1000000) { publisher_->publish(remote_msg_); @@ -77,6 +72,13 @@ private: return; } + if (auto_valid_ && (now - auto_last_time_).nanoseconds() < timeout_ms_ * 1000000) + { + publisher_->publish(auto_msg_); + RCLCPP_INFO_THROTTLE(this->get_logger(), *this->get_clock(), 2000, "[ARBITER] Using AUTO control"); + return; + } + // 所有控制源均失联,发布安全默认指令 sweeperMsg::McCtrl safe_msg; safe_msg.brake = 1;