You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/concepts/client_library/system_modes/index.md
+27-12Lines changed: 27 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,8 @@ Table of contents
12
12
-[Main Features](#main-features)
13
13
-[Extended Lifecycle](#extended-lifecycle)
14
14
-[System Hierarchy and Modes](#system-hierarchy-and-modes)
15
-
-[Mode manager](#mode-manager)
15
+
-[Mode Inference](#mode-inference)
16
+
-[Mode Manager](#mode-manager)
16
17
-[Roadmap](#roadmap)
17
18
-[Acknowledgments](#acknowledgments)
18
19
@@ -37,16 +38,18 @@ Our observation is that interweaving of task handling, contingency handling, and
37
38
38
39
Therefore, our **goal** within this work is to provide suitable abstractions and framework functions for (1.) system runtime configuration and (2.) system error and contingency diagnosis, to reduce the effort for the application developer of designing and implementing the task, contingency and error handling.
39
40
40
-
This goal is illustrated in the following high-level architecture:
41
+
This goal is illustrated in the following example architecture, which is described and managed based on a model file:
41
42
42
-

43
+

43
44
44
-
The envisioned key elements to achieve this goal are:
45
+
The main features of the approach are (detailed in the remainder):
46
+
47
+
1._Extended Lifecycle_: Extensible concept to specify the runtime states of components, i.e ROS 2 lifecycle nodes.
48
+
2._System Hierarchy and Modes_: Modeling approach for specifying a ROS system in terms of its system hierarchy and _system modes_, i.e. different (sub-)system configurations.
49
+
3._Mode Manager_: A module to manage and change the system runtime configuration.
50
+
4._Mode Inference_: A module for deriving the entire system state and mode from observable system information, i.e. states, modes, and parameters of its components.
51
+
5._Diagnostics_: Diagnosis module for deriving relevant information from the operating systems, the hardware and the functional components.
45
52
46
-
1. Extensible concept to specify the runtime states of components, i.e ROS 2 nodes.
47
-
2. Modeling approach for specifying system modes based on these component states.
48
-
3. Diagnosis module for deriving relevant information from the operating systems, the hardware and the functional components.
49
-
4. Mode manager module for system runtime configuration.
50
53
51
54
## Requirements
52
55
@@ -61,6 +64,7 @@ The description of the concept can be found at: [http://design.ros2.org/articl
61
64
The implementation of the Lifecycle Node is described at:
We provide a modeling concept for specifying the hierarchical composition of systems recursively from nodes and for specifying the states and modes of systems and subsystems with the extended lifecycle, analogously to nodes. This system modes and hierarchy (SMH) model also includes an application-specific the mapping of the states and modes along the system hierarchy down to nodes.
79
+
We provide a modeling concept for specifying the hierarchical composition of systems recursively from nodes and for specifying the states and modes of systems and (sub-)systems with the extended lifecycle, analogously to nodes. This system modes and hierarchy (SMH) model also includes an application-specific the mapping of the states and modes along the system hierarchy down to nodes.
The mode inference infers the entire system states (and modes) based on the lifecycle states, modes, and parameter configuration of its components, i.e. the ROS 2 lifecyle nodes. It parses the SMH model and subscribes to lifecycle/mode change requests, lifecycle/mode changes, and parameter events.
89
+
90
+
Based on the lifecycle change events it knows the _actual_ lifecycle state of all nodes. Based on parameter change events it knows the _actual_ parameter values of all nodes, which allows inference of the _modes_ of all nodes based on the SMH model.
91
+
Based on the SMH model and the inferred states and modes of all nodes, states and modes of all (sub-)systems can be _inferred_ bottom-up along the system hierarchy.
92
+
This can be compared to the latest _requested_ states and modes to detect a deviation.
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.
101
+
Building upon the _Mode Inference_ mechanism, the mode manager provides additional services and topics to _manage and adapt_ system states and modes according to the specification in the SMH model.
0 commit comments