Mode Manager Clause Samples
Mode Manager. A module to manage and change the system runtime configuration.
Mode Manager. A satellite can be in various operational modes, which determine its behavior. This behavior is mainly controlled by the Mode Manager, which is also responsible for execution of mode transitions. The controlled modes are the following: • Off – The satellite is typically in this mode right after CDMU boot. • Standby – This mode is maintained until separation from the launcher is completed. • Safe – Satellite is in this mode when the separation from the launcher is done. In the beginning the satellite acquires a stable attitude, and then it tries to preserve this coarse pointing mode. • Nominal – In this mode the satellite has already achieved the coarse pointing and is trying to reach the fine pointing control which is needed in order to use the payload instrument. • Preparation – In this mode the fine pointing control is reached and payload is getting ready for fulfilling its purpose. • Science – The payload is in this mode ready to perform the tasks for which it was designed. The mission’s goal is to reach this mode and stay in it as long as needed.
Mode Manager. The mode manager allows for runtime system adaptation based on such a system hierarchy and modes model. It parses the model and provides all services and topics to request state and mode changes and to monitor these changes. The documentation and code can be found at: ▇▇▇▇▇▇.▇▇▇:system_modes/README.md#mode-manager A simple example is provided at: ▇▇▇▇▇▇.▇▇▇:system_modes_examples/README.md#setup
Mode Manager. The mode manager is a ROS node that accepts an SHM file (see above) as command line parameter. It parses the SHM file and creates the according services, publishers, and subscribers to manage the system and its modes. • For (sub-)systems, it mirrors the lifecycle services that are available for ROS 2 lifecycle nodes, i.e. • /{system}/get_available_states - lifecycle_msgs/GetAvailableStates • /{system}/get_state - lifecycle_msgs/GetState • /{system}/change_state - lifecycle_msgs/ChangeState • For (sub-)systems and nodes, it provides similar services for modes, i.e. • /{system_or_node}/get_available_modes - system_modes/GetAvailableModes • /{system_or_node}/get_mode - system_modes/GetMode • /{system_or_node}/change_mode - system_modes/ChangeMode • Service calls to these services publish information on the requested state change or mode change before attempting them. These are published on the following topics: • /{system_or_node}/transition_request_info - lifecycle_msgs/TransitionEvent • /{system_or_node}/mode_request_info - system_modes/ModeEvent Running the manager: $ mode-manager path/to/modelfile.yaml
