vehicle_common.mode_manager#
Attributes#
Classes#
Parameters every ModeManager subclass's schema must define. |
|
Shared mission manager plumbing for a single bound vehicle. |
Module Contents#
- MISSION_STARTED_MARKER_ENV = 'PENNAIR_MISSION_STARTED_MARKER_PATH'#
- class ModeManagerParams#
Bases:
ProtocolParameters every ModeManager subclass’s schema must define.
generate_parameter_library schemas can’t be composed, so each package’s *_mission_parameters.yaml repeats these fields. Keep them in sync.
- vehicle_name: str#
- auto_launch: bool#
- class ModeManager(node_name: str)#
Bases:
rclpy.node.Node,abc.ABCShared mission manager plumbing for a single bound vehicle.
- params#
- vehicle: vehicle_common.vehicle.Vehicle | None = None#
- modes: dict[str, vehicle_common.mode.Mode]#
- transitions: dict[str, dict[str, str]]#
- active_mode: str | None = None#
- last_update_time#
- timer = None#
- auto_launch#
- _auto_launch_timer = None#
- _runtime_vehicle_name = ''#
- start_mission_service#
- abstractmethod load_params() ModeManagerParams#
Declare, validate, and return this manager’s ROS parameters.
- abstractmethod spin_once() None#
Execute one iteration of the mode manager’s control loop.
- get_active_mode() vehicle_common.mode.Mode#
- _mission_started_marker_path() pathlib.Path#
- _write_mission_started_marker() None#
- _clear_mission_started_marker() None#
- initialize_mode(mode_id: str, params: pydantic.BaseModel) vehicle_common.mode.Mode#
- setup_modes(runtime_mission: vehicle_common.mission_loader.RuntimeMission) None#
- transition(state: str) str#
- switch_mode(mode_name: str) None#
- run_active_mode(current_time: float) None#
- _deactivate_active_mode() None#
- _stop_vehicle() None#
- _start_mission_callback(request, response)#
- start_mission() bool#
- _cancel_auto_launch_timer() None#
- _auto_launch_ready() bool#
- _maybe_auto_launch() None#
- handle_mode_state(state: str) None#