# {py:mod}`kompass.components.mission` ```{py:module} kompass.components.mission ``` ```{autodoc2-docstring} kompass.components.mission :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MissionManagerConfig ` - ```{autodoc2-docstring} kompass.components.mission.MissionManagerConfig :summary: ``` * - {py:obj}`MissionManager ` - ```{autodoc2-docstring} kompass.components.mission.MissionManager :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`dwell_seconds ` - ```{autodoc2-docstring} kompass.components.mission.dwell_seconds :summary: ``` * - {py:obj}`goto_step ` - ```{autodoc2-docstring} kompass.components.mission.goto_step :summary: ``` * - {py:obj}`stop_step ` - ```{autodoc2-docstring} kompass.components.mission.stop_step :summary: ``` * - {py:obj}`mission_routine_spec ` - ```{autodoc2-docstring} kompass.components.mission.mission_routine_spec :summary: ``` * - {py:obj}`reached_waypoints ` - ```{autodoc2-docstring} kompass.components.mission.reached_waypoints :summary: ``` * - {py:obj}`ended_on_pause_timeout ` - ```{autodoc2-docstring} kompass.components.mission.ended_on_pause_timeout :summary: ``` ```` ### API ````{py:function} dwell_seconds(pause_duration: typing.List[float], index: int) -> float :canonical: kompass.components.mission.dwell_seconds ```{autodoc2-docstring} kompass.components.mission.dwell_seconds ``` ```` ````{py:function} goto_step(index: int, pose, *, planner_ref: str, algorithm_name: str, tolerance, timeout: float) -> typing.Dict[str, typing.Any] :canonical: kompass.components.mission.goto_step ```{autodoc2-docstring} kompass.components.mission.goto_step ``` ```` ````{py:function} stop_step(index: typing.Union[int, str], ref: str, retries: int = 0) -> typing.Dict[str, typing.Any] :canonical: kompass.components.mission.stop_step ```{autodoc2-docstring} kompass.components.mission.stop_step ``` ```` ````{py:function} mission_routine_spec(goal, *, name: str, planner_ref: str, stop_refs: typing.List[str], waypoint_timeout: float, start_pose=None, stop_retries: int = 0) -> typing.Dict[str, typing.Any] :canonical: kompass.components.mission.mission_routine_spec ```{autodoc2-docstring} kompass.components.mission.mission_routine_spec ``` ```` ````{py:function} reached_waypoints(cursor: typing.Dict[str, typing.Any], total: int) -> typing.List[bool] :canonical: kompass.components.mission.reached_waypoints ```{autodoc2-docstring} kompass.components.mission.reached_waypoints ``` ```` ````{py:function} ended_on_pause_timeout(cursor: typing.Dict[str, typing.Any]) -> bool :canonical: kompass.components.mission.ended_on_pause_timeout ```{autodoc2-docstring} kompass.components.mission.ended_on_pause_timeout ``` ```` ````{py:class} MissionManagerConfig :canonical: kompass.components.mission.MissionManagerConfig Bases: {py:obj}`kompass.config.ComponentConfig` ```{autodoc2-docstring} kompass.components.mission.MissionManagerConfig ``` ```` `````{py:class} MissionManager(component_name: str, planner: typing.Optional[kompass.components.component.Component] = None, controller: typing.Optional[kompass.components.controller.Controller] = None, drive_manager: typing.Optional[kompass.components.drive_manager.DriveManager] = None, config: typing.Optional[kompass.components.mission.MissionManagerConfig] = None, config_file: typing.Optional[str] = None, inputs: typing.Optional[typing.Dict[kompass.components.defaults.TopicsKeys, typing.Any]] = None, outputs: typing.Optional[typing.Dict[kompass.components.defaults.TopicsKeys, typing.Any]] = None, **kwargs) :canonical: kompass.components.mission.MissionManager Bases: {py:obj}`kompass.components.component.Component` ```{autodoc2-docstring} kompass.components.mission.MissionManager ``` ````{py:method} custom_on_configure() :canonical: kompass.components.mission.MissionManager.custom_on_configure ```{autodoc2-docstring} kompass.components.mission.MissionManager.custom_on_configure ``` ```` ````{py:method} on_deactivate(state) :canonical: kompass.components.mission.MissionManager.on_deactivate ```{autodoc2-docstring} kompass.components.mission.MissionManager.on_deactivate ``` ```` ````{py:method} pause_mission(**_) -> kompass.components.ros.ActionReturnType :canonical: kompass.components.mission.MissionManager.pause_mission ```{autodoc2-docstring} kompass.components.mission.MissionManager.pause_mission ``` ```` ````{py:method} resume_mission(**_) -> kompass.components.ros.ActionReturnType :canonical: kompass.components.mission.MissionManager.resume_mission ```{autodoc2-docstring} kompass.components.mission.MissionManager.resume_mission ``` ```` ````{py:property} ui_waypoints :canonical: kompass.components.mission.MissionManager.ui_waypoints :type: ros_sugar.io.Topic ```{autodoc2-docstring} kompass.components.mission.MissionManager.ui_waypoints ``` ```` ````{py:property} ui_inputs :canonical: kompass.components.mission.MissionManager.ui_inputs :type: typing.List[typing.Any] ```{autodoc2-docstring} kompass.components.mission.MissionManager.ui_inputs ``` ```` ````{py:property} ui_outputs :canonical: kompass.components.mission.MissionManager.ui_outputs :type: typing.List[ros_sugar.io.Topic] ```{autodoc2-docstring} kompass.components.mission.MissionManager.ui_outputs ``` ```` ````{py:property} routine_name :canonical: kompass.components.mission.MissionManager.routine_name :type: str ```{autodoc2-docstring} kompass.components.mission.MissionManager.routine_name ``` ```` ````{py:property} stop_refs :canonical: kompass.components.mission.MissionManager.stop_refs :type: typing.List[str] ```{autodoc2-docstring} kompass.components.mission.MissionManager.stop_refs ``` ```` ````{py:method} start_pose() -> typing.Optional[geometry_msgs.msg.Pose] :canonical: kompass.components.mission.MissionManager.start_pose ```{autodoc2-docstring} kompass.components.mission.MissionManager.start_pose ``` ```` ````{py:method} current_pose() -> typing.Optional[geometry_msgs.msg.PoseStamped] :canonical: kompass.components.mission.MissionManager.current_pose ```{autodoc2-docstring} kompass.components.mission.MissionManager.current_pose ``` ```` ````{py:property} monitor :canonical: kompass.components.mission.MissionManager.monitor :type: ros_sugar.base_clients.ServiceClientHandler ```{autodoc2-docstring} kompass.components.mission.MissionManager.monitor ``` ```` ````{py:method} call_monitor(method: str, **kwargs) -> typing.Any :canonical: kompass.components.mission.MissionManager.call_monitor ```{autodoc2-docstring} kompass.components.mission.MissionManager.call_monitor ``` ```` ````{py:method} cursor(routine_name: str) -> typing.Optional[typing.Dict[str, typing.Any]] :canonical: kompass.components.mission.MissionManager.cursor ```{autodoc2-docstring} kompass.components.mission.MissionManager.cursor ``` ```` ````{py:method} custom_on_activate() :canonical: kompass.components.mission.MissionManager.custom_on_activate ```{autodoc2-docstring} kompass.components.mission.MissionManager.custom_on_activate ``` ```` ````{py:method} main_action_callback(goal_handle) :canonical: kompass.components.mission.MissionManager.main_action_callback ```{autodoc2-docstring} kompass.components.mission.MissionManager.main_action_callback ``` ```` ````{py:property} robot :canonical: kompass.components.mission.MissionManager.robot :type: kompass.config.RobotConfig ```{autodoc2-docstring} kompass.components.mission.MissionManager.robot ``` ```` ````{py:property} robot_geometry_type :canonical: kompass.components.mission.MissionManager.robot_geometry_type :type: kompass_core.models.RobotGeometry.Type ```{autodoc2-docstring} kompass.components.mission.MissionManager.robot_geometry_type ``` ```` ````{py:property} robot_ctrl_limits :canonical: kompass.components.mission.MissionManager.robot_ctrl_limits :type: kompass_core.models.RobotCtrlLimits ```{autodoc2-docstring} kompass.components.mission.MissionManager.robot_ctrl_limits ``` ```` ````{py:property} run_type :canonical: kompass.components.mission.MissionManager.run_type :type: kompass.config.ComponentRunType ```{autodoc2-docstring} kompass.components.mission.MissionManager.run_type ``` ```` ````{py:property} inputs_keys :canonical: kompass.components.mission.MissionManager.inputs_keys :type: typing.List[kompass.components.defaults.TopicsKeys] ```{autodoc2-docstring} kompass.components.mission.MissionManager.inputs_keys ``` ```` ````{py:property} outputs_keys :canonical: kompass.components.mission.MissionManager.outputs_keys :type: typing.List[kompass.components.defaults.TopicsKeys] ```{autodoc2-docstring} kompass.components.mission.MissionManager.outputs_keys ``` ```` ````{py:method} inputs(**kwargs) :canonical: kompass.components.mission.MissionManager.inputs ```{autodoc2-docstring} kompass.components.mission.MissionManager.inputs ``` ```` ````{py:method} outputs(**kwargs) :canonical: kompass.components.mission.MissionManager.outputs ```{autodoc2-docstring} kompass.components.mission.MissionManager.outputs ``` ```` ````{py:method} set_input(**kwargs) -> bool :canonical: kompass.components.mission.MissionManager.set_input ```{autodoc2-docstring} kompass.components.mission.MissionManager.set_input ``` ```` ````{py:method} set_output(**kwargs) -> bool :canonical: kompass.components.mission.MissionManager.set_output ```{autodoc2-docstring} kompass.components.mission.MissionManager.set_output ``` ```` ````{py:method} config_from_file(config_file: str) :canonical: kompass.components.mission.MissionManager.config_from_file ```{autodoc2-docstring} kompass.components.mission.MissionManager.config_from_file ``` ```` ````{py:property} odom_tf_listener :canonical: kompass.components.mission.MissionManager.odom_tf_listener :type: typing.Optional[ros_sugar.tf.TFListener] ```{autodoc2-docstring} kompass.components.mission.MissionManager.odom_tf_listener ``` ```` ````{py:method} transform_inputs_to(topic_key: kompass.components.defaults.TopicsKeys, goal_frame: str, static_tf: bool = False) -> None :canonical: kompass.components.mission.MissionManager.transform_inputs_to ```{autodoc2-docstring} kompass.components.mission.MissionManager.transform_inputs_to ``` ```` ````{py:method} input_tf_listener(topic_key: kompass.components.defaults.TopicsKeys, goal_frame: str, static_tf: bool = False, idx: int = 0) -> typing.Optional[ros_sugar.tf.TFListener] :canonical: kompass.components.mission.MissionManager.input_tf_listener ```{autodoc2-docstring} kompass.components.mission.MissionManager.input_tf_listener ``` ```` ````{py:method} resolve_input_tf(topic_key: kompass.components.defaults.TopicsKeys, goal_frame: typing.Optional[str] = None, idx: int = 0) -> typing.Tuple[bool, typing.Optional[tf2_ros.TransformStamped]] :canonical: kompass.components.mission.MissionManager.resolve_input_tf ```{autodoc2-docstring} kompass.components.mission.MissionManager.resolve_input_tf ``` ```` ````{py:method} wait_input_tf(topic_key: kompass.components.defaults.TopicsKeys, idx: int = 0, timeout: typing.Optional[float] = None, static_tf: bool = True) -> typing.Optional[ros_sugar.tf.TFListener] :canonical: kompass.components.mission.MissionManager.wait_input_tf ```{autodoc2-docstring} kompass.components.mission.MissionManager.wait_input_tf ``` ```` ````{py:method} wait_sensor_config(topic_key: kompass.components.defaults.TopicsKeys, idx: int = 0, timeout: typing.Optional[float] = None) -> typing.Optional[kompass_cpp.types.SensorConfig] :canonical: kompass.components.mission.MissionManager.wait_sensor_config ```{autodoc2-docstring} kompass.components.mission.MissionManager.wait_sensor_config ``` ```` ````{py:method} in_topic_name(key: typing.Union[str, kompass.components.defaults.TopicsKeys]) -> typing.Union[str, typing.List[str], None] :canonical: kompass.components.mission.MissionManager.in_topic_name ```{autodoc2-docstring} kompass.components.mission.MissionManager.in_topic_name ``` ```` ````{py:method} out_topic_name(key: typing.Union[str, kompass.components.defaults.TopicsKeys]) -> typing.Union[str, typing.List[str], None] :canonical: kompass.components.mission.MissionManager.out_topic_name ```{autodoc2-docstring} kompass.components.mission.MissionManager.out_topic_name ``` ```` ````{py:method} get_in_topic(key: typing.Union[str, kompass.components.defaults.TopicsKeys]) -> typing.Union[kompass.components.ros.Topic, typing.List[kompass.components.ros.Topic], None] :canonical: kompass.components.mission.MissionManager.get_in_topic ```{autodoc2-docstring} kompass.components.mission.MissionManager.get_in_topic ``` ```` ````{py:method} get_out_topic(key: typing.Union[str, kompass.components.defaults.TopicsKeys]) -> typing.Union[kompass.components.ros.Topic, typing.List[kompass.components.ros.Topic], None] :canonical: kompass.components.mission.MissionManager.get_out_topic ```{autodoc2-docstring} kompass.components.mission.MissionManager.get_out_topic ``` ```` ````{py:method} get_callback(key: typing.Union[str, kompass.components.defaults.TopicsKeys], idx: int = 0) -> typing.Optional[kompass.callbacks.GenericCallback] :canonical: kompass.components.mission.MissionManager.get_callback ```{autodoc2-docstring} kompass.components.mission.MissionManager.get_callback ``` ```` ````{py:method} get_publisher(key: typing.Union[str, kompass.components.defaults.TopicsKeys], idx: int = 0) -> ros_sugar.io.Publisher :canonical: kompass.components.mission.MissionManager.get_publisher ```{autodoc2-docstring} kompass.components.mission.MissionManager.get_publisher ``` ```` ````{py:method} callbacks_inputs_check(inputs_to_check: typing.Optional[typing.List[str]] = None, inputs_to_exclude: typing.Optional[typing.List[str]] = None) -> bool :canonical: kompass.components.mission.MissionManager.callbacks_inputs_check ```{autodoc2-docstring} kompass.components.mission.MissionManager.callbacks_inputs_check ``` ```` `````