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: system_modes_examples/README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,15 +50,15 @@ In an additional fifth terminal, you may mimic a planning/executive component to
50
50
The mode monitor should display the following system state:
51
51

52
52
1. Set your system into *PERFORMANCE* mode with the following ROS 2 command:
53
-
$ `ros2 service call /actuation/change_mode system_modes/ChangeMode "{mode_name: 'PERFORMANCE'}"`
53
+
$ `ros2 service call /actuation/change_mode system_modes_msgs/ChangeMode "{mode_name: 'PERFORMANCE'}"`
54
54
To change the *actuation* system into its *PERFORMANCE* mode, the mode manager will change the *drive\_base* to *FAST* mode and activate the *manipulator* node in its *STRONG* mode.
55
55
The mode monitor should display the following system state:
56
56

57
57
Note, that the system state and mode as well as the node modes are indicated to be *inferred*, as explained in the [mode inference](../system_modes/README.md#mode-inference) section of the [system_modes](../system_modes/) package.
58
58
2. You can further play around with the mode inference. For example, change the mode of the two nodes explicitly so that the target mode and actual mode of the *actuation* system diverge. Execute the following two ROS 2 commands:
59
-
$ `ros2 service call /drive_base/change_mode system_modes/ChangeMode "{mode_name: 'SLOW'}"`
59
+
$ `ros2 service call /drive_base/change_mode system_modes_msgs/ChangeMode "{mode_name: 'SLOW'}"`
60
60
and
61
-
$ `ros2 service call /manipulator/change_mode system_modes/ChangeMode "{mode_name: 'WEAK'}"`
61
+
$ `ros2 service call /manipulator/change_mode system_modes_msgs/ChangeMode "{mode_name: 'WEAK'}"`
62
62
The mode monitor should display the following system state:
63
63

64
64
Note, that the mode monitor is able to infer that the system's *actual* mode is now *MODERATE*. This is based on the fact that both its nodes are active, the *drive\_base* is in its *SLOW* mode, and the manipulator is in its *WEAK* mode. However, the last requested mode for the *actuation* system is *PERFORMANCE*, so the monitor infers that the system is still transitioning into its target mode, indicating that the actual system state is *activating* (see [lifecycle](../system_modes/README.md#lifecycle)).
@@ -68,13 +68,13 @@ In an additional fifth terminal, you may mimic a planning/executive component to
68
68
In order to see the [Error Handling and Rules](../system_modes/README.md#error-handling-and-rules) in action, try the following:
69
69
70
70
1. Bring the system back into its *PERFORMANCE* mode with the following command:
71
-
$ `ros2 service call /actuation/change_mode system_modes/ChangeMode "{mode_name: 'PERFORMANCE'}"`
71
+
$ `ros2 service call /actuation/change_mode system_modes_msgs/ChangeMode "{mode_name: 'PERFORMANCE'}"`
72
72
2. Deactivate the manipulator node with the following command:
The system will detect a deviation between the *intended* and the *actual* system state for which it recognizes a rule, i.e. the *degrade_from_PERFORMANCE* rule from the SMH file [example_modes.yaml](./example_modes.yaml). Following this rule, the mode manager sends the *actuation* system into its default mode. This is visible in the logging output of the terminal running the mode manager:
75
75

76
76
1. To try another rule, bring the system back into its *PERFORMANCE* mode with the following command:
77
-
$ `ros2 service call /actuation/change_mode system_modes/ChangeMode "{mode_name: 'PERFORMANCE'}"`
77
+
$ `ros2 service call /actuation/change_mode system_modes_msgs/ChangeMode "{mode_name: 'PERFORMANCE'}"`
78
78
2. This time, deactivate the drive_base node with the following command:
The system will again detect a deviation between the *intended* and the *actual* system state for which it recognizes the *inactive_from_PERFORMANCE* rule. The mode manager will therefore deactivate the *actuation* system.
0 commit comments