vehicle_common.mode_manager#
Attributes#
Classes#
Shared mission manager plumbing for a single bound vehicle. |
Module Contents#
- MISSION_STARTED_MARKER_ENV = 'PENNAIR_MISSION_STARTED_MARKER_PATH'#
- class ModeManager(node_name: str, *, vehicle_name: str = '', auto_launch: bool = True, peer_heartbeat_hz: float = 10.0, peer_stale_timeout_s: float = 0.5)#
Bases:
rclpy.node.Node,abc.ABCShared mission manager plumbing for a single bound vehicle.
- 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#
- _vision_clients#
- timer = None#
- auto_launch = True#
- _auto_launch_timer = None#
- _runtime_vehicle_name#
- peer_heartbeat_hz#
- peer_stale_timeout_s#
- _current_comm_builder = None#
- _runtime_closed = False#
- start_mission_service#
- abstractmethod spin_once() None#
Execute one iteration of the mode manager’s control loop.
- get_active_mode() vehicle_common.mode.Mode#
- _now_seconds() float#
- _mission_started_marker_path() pathlib.Path#
- _write_mission_started_marker() None#
- _clear_mission_started_marker() None#
- setup_vision(vision_nodes: list[str]) None#
- property vision_clients: dict#
- _connect_vision_client(vision_class)#
- get_vision_client(vision_node)#
- _mode_peer_names(mode_or_class: object) tuple[str, ...]#
- initialize_mode(mode_id: str, params: pydantic.BaseModel) vehicle_common.mode.Mode#
- setup_modes(runtime_mission: vehicle_common.runtime.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#