diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md index 2cf7afd29a4..40aaeebfe76 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md @@ -4,6 +4,7 @@ - {{ link_ad_api('/api/system/diagnostics/struct') }} - {{ link_ad_api('/api/system/diagnostics/status') }} +- {{ link_ad_api('/api/system/diagnostics/reset') }} ## Description @@ -19,9 +20,16 @@ For error level, the same value as `diagnostic_msgs/msg/DiagnosticStatus` is use The diagnostics data has static and dynamic parts, so the API provides these separately for efficiency. Below is an example of a message that corresponds to the above diagram. -The static part of the diagnostic is published only once as the DiagGraphStruct that contains nodes and links. -The links specify dependencies between nodes by index into an array of nodes. +The static part of the diagnostic is published only once as the DiagGraphStruct that contains nodes, diags, and links. +The links specify dependencies between nodes and nodes/diags by index into an array of them. +Note that the index for diags is offset by the size of the nodes. The dynamic part of the diagnostic is published periodically as DiagGraphStatus. -The status has an array of nodes of the same length as the struct, with the same index representing the same functional unit. +The status has nodes and diags of the same length as the struct, with the same index representing the same functional unit. ![graph-data](./diagnostics/data.drawio.svg) + +Some functional unit levels may be latched. If the abnormality continues for a certain period, the level value will not return to normal. +Use input_level to know the level before it was latched. Also, use latch_level to know if the latch is currently activated. +To restore the level after the latch has been activated, use the reset API. + +![level](./diagnostics/level.drawio.svg) diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics/data.drawio.svg b/docs/design/autoware-interfaces/ad-api/features/diagnostics/data.drawio.svg index 1708b2beb6e..231923c70ef 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics/data.drawio.svg +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics/data.drawio.svg @@ -1,1033 +1,2753 @@ - - - - -
-
-
-
path: /mode/autonomous
-
-
-
-
- path: /mode/autonomous -
-
- - - - -
-
-
-
path: /mode/emergency
-
-
-
-
- path: /mode/emergency -
-
- - - - -
-
-
-
path: /module/perception
-
-
-
-
- path: /module/perception -
-
- - - - -
-
-
-
path: /module/localization
-
-
-
-
- path: /module/localization -
-
- - - - -
-
-
-
path: /module/vehicle
-
-
-
-
- path: /module/vehicle -
-
- - - - -
-
-
-
path: /sensor/camera
-
-
-
-
- path: /sensor/camera -
-
- - - - -
-
-
-
path: /sensor/lidar
-
-
-
-
- path: /sensor/lidar -
-
- - - - -
-
-
-
path: /sensor/imu
-
-
-
-
- path: /sensor/imu -
-
- - - - -
-
-
-
path: /vehicle/interface
-
-
-
-
- path: /vehicle/interface -
-
- - - - -
-
-
-
nodes[0]
-
-
-
-
- nodes[0] -
-
- - - - -
-
-
-
nodes[1]
-
-
-
-
- nodes[1] -
-
- - - - -
-
-
-
nodes[2]
-
-
-
-
- nodes[2] -
-
- - - - -
-
-
-
nodes[3]
-
-
-
-
- nodes[3] -
-
- - - - -
-
-
-
nodes[4]
-
-
-
-
- nodes[4] -
-
- - - - -
-
-
-
nodes[5]
-
-
-
-
- nodes[5] -
-
- - - - -
-
-
-
nodes[6]
-
-
-
-
- nodes[6] -
-
- - - - -
-
-
-
nodes[7]
-
-
-
-
- nodes[7] -
-
- - - - -
-
-
-
nodes[8]
-
-
-
-
- nodes[8] -
-
- - - - -
-
-
-
level: ERROR
-
-
-
-
- level: ERROR -
-
- - - - -
-
-
-
level: OK
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
- level: ERROR -
-
-
-
-
-
- level: ERROR -
-
- - - - -
-
-
-
- level: OK -
-
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
- level: OK -
-
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
- level: ERROR -
-
-
-
-
-
- level: ERROR -
-
- - - - -
-
-
-
- level: OK -
-
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
- level: OK -
-
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
- level: OK -
-
-
-
-
-
- level: OK -
-
- - - - -
-
-
-
parent:0, child: 2
-
-
-
-
- parent:0, child: 2 -
-
- - - - -
-
-
-
- parent:0, child: 3 -
-
-
-
-
-
- parent:0, child: 3 -
-
- - - - -
-
-
-
- parent:0, child: 4 -
-
-
-
-
-
- parent:0, child: 4 -
-
- - - - -
-
-
-
- parent:1, child: 4 -
-
-
-
-
-
- parent:1, child: 4 -
-
- - - - -
-
-
-
- parent:2, child: 5 -
-
-
-
-
-
- parent:2, child: 5 -
-
- - - - -
-
-
-
- parent:2, child: 6 -
-
-
-
-
-
- parent:2, child: 6 -
-
- - - - -
-
-
-
- parent:3, child: 6 -
-
-
-
-
-
- parent:3, child: 6 -
-
- - - - -
-
-
-
- parent:3, child: 7 -
-
-
-
-
-
- parent:3, child: 7 -
-
- - - - -
-
-
-
- links[0] -
-
-
-
-
-
- links[0] -
-
- - - - -
-
-
- links[1] - -
-
-
-
-
-
- links[1] -
-
- - - - -
-
-
- links[2] - -
-
-
-
-
-
- links[2] -
-
- - - - -
-
-
- links[3] - -
-
-
-
-
-
- links[3] -
-
- - - - -
-
-
- links[4] - -
-
-
-
-
-
- links[4] -
-
- - - - -
-
-
- links[5] - -
-
-
-
-
-
- links[5] -
-
- - - - -
-
-
- links[6] - -
-
-
-
-
-
- links[6] -
-
- - - - -
-
-
- links[7] - -
-
-
-
-
-
- links[7] -
-
- - - - -
-
-
-
- parent:4, child: 8 -
-
-
-
-
-
- parent:4, child: 8 -
-
- - - - -
-
-
- links[8] - -
-
-
-
-
-
- links[8] -
-
- - - - -
-
-
-
nodes[0]
-
-
-
-
- nodes[0] -
-
- - - - -
-
-
-
nodes[1]
-
-
-
-
- nodes[1] -
-
- - - - -
-
-
-
nodes[2]
-
-
-
-
- nodes[2] -
-
- - - - -
-
-
-
nodes[3]
-
-
-
-
- nodes[3] -
-
- - - - -
-
-
-
nodes[4]
-
-
-
-
- nodes[4] -
-
- - - - -
-
-
-
nodes[5]
-
-
-
-
- nodes[5] -
-
- - - - -
-
-
-
nodes[6]
-
-
-
-
- nodes[6] -
-
- - - - -
-
-
-
nodes[7]
-
-
-
-
- nodes[7] -
-
- - - - -
-
-
-
nodes[8]
-
-
-
-
- nodes[8] -
-
- - - - -
-
-
-
struct
-
-
-
-
- struct -
-
- - - - -
-
-
-
status
-
-
-
-
- status -
+ + + + + + + +
+
+
+
path: /mode/autonomous
+
+
+
+
+ path: /mode/autonomous +
+
+
+ + + + + + + +
+
+
+
path: /mode/emergency
+
+
+
+
+ path: /mode/emergency +
+
+
+ + + + + + + +
+
+
+
path: /module/perception
+
+
+
+
+ path: /module/perception +
+
+
+ + + + + + + +
+
+
+
path: /module/localization
+
+
+
+
+ path: /module/localization +
+
+
+ + + + + + + +
+
+
+
path: /module/vehicle
+
+
+
+
+ path: /module/vehicle +
+
+
+ + + + + + + +
+
+
+
path: /sensor/camera
+
+
+
+
+ path: /sensor/camera +
+
+
+ + + + + + + +
+
+
+
path: /sensor/lidar
+
+
+
+
+ path: /sensor/lidar +
+
+
+ + + + + + + +
+
+
+
path: /sensor/imu
+
+
+
+
+ path: /sensor/imu +
+
+
+ + + + + + + +
+
+
+
path: /vehicle/interface
+
+
+
+
+ path: /vehicle/interface +
+
+
+ + + + + + + +
+
+
+
nodes[0]
+
+
+
+
+ nodes[0] +
+
+
+ + + + + + + +
+
+
+
nodes[1]
+
+
+
+
+ nodes[1] +
+
+
+ + + + + + + +
+
+
+
nodes[2]
+
+
+
+
+ nodes[2] +
+
+
+ + + + + + + +
+
+
+
nodes[3]
+
+
+
+
+ nodes[3] +
+
+
+ + + + + + + +
+
+
+
nodes[4]
+
+
+
+
+ nodes[4] +
+
+
+ + + + + + + +
+
+
+
nodes[5]
+
+
+
+
+ nodes[5] +
+
+
+ + + + + + + +
+
+
+
nodes[6]
+
+
+
+
+ nodes[6] +
+
+
+ + + + + + + +
+
+
+
nodes[7]
+
+
+
+
+ nodes[7] +
+
+
+ + + + + + + +
+
+
+
nodes[8]
+
+
+
+
+ nodes[8] +
+
+
+ + + + + + + +
+
+
+
level: ERROR
+
+
+
+
+ level: ERROR +
+
+
+ + + + + + + +
+
+
+
level: OK
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: ERROR +
+
+
+
+
+
+ level: ERROR +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: ERROR +
+
+
+
+
+
+ level: ERROR +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
parent:0, child: 2
+
+
+
+
+ parent:0, child: 2 +
+
+
+ + + + + + + +
+
+
+
+ parent:0, child: 3 +
+
+
+
+
+
+ parent:0, child: 3 +
+
+
+ + + + + + + +
+
+
+
+ parent:0, child: 4 +
+
+
+
+
+
+ parent:0, child: 4 +
+
+
+ + + + + + + +
+
+
+
+ parent:1, child: 4 +
+
+
+
+
+
+ parent:1, child: 4 +
+
+
+ + + + + + + +
+
+
+
+ parent:2, child: 5 +
+
+
+
+
+
+ parent:2, child: 5 +
+
+
+ + + + + + + +
+
+
+
+ parent:2, child: 6 +
+
+
+
+
+
+ parent:2, child: 6 +
+
+
+ + + + + + + +
+
+
+
+ parent:3, child: 6 +
+
+
+
+
+
+ parent:3, child: 6 +
+
+
+ + + + + + + +
+
+
+
+ parent:3, child: 7 +
+
+
+
+
+
+ parent:3, child: 7 +
+
+
+ + + + + + + +
+
+
+
+ links[0] +
+
+
+
+
+
+ links[0] +
+
+
+ + + + + + + +
+
+
+ links[1] + +
+
+
+
+
+
+ links[1] +
+
+
+ + + + + + + +
+
+
+ links[2] + +
+
+
+
+
+
+ links[2] +
+
+
+ + + + + + + +
+
+
+ links[3] + +
+
+
+
+
+
+ links[3] +
+
+
+ + + + + + + +
+
+
+ links[4] + +
+
+
+
+
+
+ links[4] +
+
+
+ + + + + + + +
+
+
+ links[5] + +
+
+
+
+
+
+ links[5] +
+
+
+ + + + + + + +
+
+
+ links[6] + +
+
+
+
+
+
+ links[6] +
+
+
+ + + + + + + +
+
+
+ links[7] + +
+
+
+
+
+
+ links[7] +
+
+
+ + + + + + + +
+
+
+
+ parent:4, child: 8 +
+
+
+
+
+
+ parent:4, child: 8 +
+
+
+ + + + + + + +
+
+
+ links[8] + +
+
+
+
+
+
+ links[8] +
+
+
+ + + + + + + +
+
+
+
nodes[0]
+
+
+
+
+ nodes[0] +
+
+
+ + + + + + + +
+
+
+
nodes[1]
+
+
+
+
+ nodes[1] +
+
+
+ + + + + + + +
+
+
+
nodes[2]
+
+
+
+
+ nodes[2] +
+
+
+ + + + + + + +
+
+
+
nodes[3]
+
+
+
+
+ nodes[3] +
+
+
+ + + + + + + +
+
+
+
nodes[4]
+
+
+
+
+ nodes[4] +
+
+
+ + + + + + + +
+
+
+
nodes[5]
+
+
+
+
+ nodes[5] +
+
+
+ + + + + + + +
+
+
+
nodes[6]
+
+
+
+
+ nodes[6] +
+
+
+ + + + + + + +
+
+
+
nodes[7]
+
+
+
+
+ nodes[7] +
+
+
+ + + + + + + +
+
+
+
nodes[8]
+
+
+
+
+ nodes[8] +
+
+
+ + + + + + + +
+
+
+
struct
+
+
+
+
+ struct +
+
+
+ + + + + + + +
+
+
+
status
+
+
+
+
+ status +
+
+
+ + + + + + + +
+
+
+
name: camera
+
+
+
+
+ name: camera +
+
+
+ + + + + + + +
+
+
+
name: lidar
+
+
+
+
+ name: lidar +
+
+
+ + + + + + + +
+
+
+
name: imu
+
+
+
+
+ name: imu +
+
+
+ + + + + + + +
+
+
+
name: vehicle
+
+
+
+
+ name: vehicle +
+
+
+ + + + + + + +
+
+
+
diags[0]
+
+
+
+
+ diags[0] +
+
+
+ + + + + + + +
+
+
+
+ diags[1] +
+
+
+
+
+
+ diags[1] +
+
+
+ + + + + + + +
+
+
+
+ diags[2] +
+
+
+
+
+
+ diags[2] +
+
+
+ + + + + + + +
+
+
+
+ diags[3] +
+
+
+
+
+
+ diags[3] +
+
+
+ + + + + + + +
+
+
+
diags[0]
+
+
+
+
+ diags[0] +
+
+
+ + + + + + + +
+
+
+
+ diags[1] +
+
+
+
+
+
+ diags[1] +
+
+
+ + + + + + + +
+
+
+
+ diags[2] +
+
+
+
+
+
+ diags[2] +
+
+
+ + + + + + + +
+
+
+
+ diags[3] +
+
+
+
+
+
+ diags[3] +
+
+
+ + + + + + + +
+
+
+
+ level: ERROR +
+
+
+
+
+
+ level: ERROR +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ level: OK +
+
+
+
+
+
+ level: OK +
+
+
+ + + + + + + +
+
+
+
+ parent:5, child: 9 +
+
+
+
+
+
+ parent:5, child: 9 +
+
+
+ + + + + + + +
+
+
+
+ parent:6, child: 10 +
+
+
+
+
+
+ parent:6, child: 10 +
+
+
+ + + + + + + +
+
+
+
+ parent:7, child: 11 +
+
+
+
+
+
+ parent:7, child: 11 +
+
+
+ + + + + + + +
+
+
+ links[9] + +
+
+
+
+
+
+ links[9] +
+
+
+ + + + + + + +
+
+
+ links[10] + +
+
+
+
+
+
+ links[10] +
+
+
+ + + + + + + +
+
+
+ links[11] + +
+
+
+
+
+
+ links[11] +
+
+
+ + + + + + + +
+
+
+
+ parent:8, child: 12 +
+
+
+
+
+
+ parent:8, child: 12 +
+
+
+ + + + + + + +
+
+
+ links[12] + +
+
+
+
+
+
+ links[12] +
+
+
+ + + + + + + +
+
+
+ link index +
+
+
+
+ link index +
+
+
+ + + + + + + +
+
+
+
0
+
+
+
+
+ 0 +
+
+
+ + + + + + + +
+
+
+
1
+
+
+
+
+ 1 +
+
+
+ + + + + + + +
+
+
+
2
+
+
+
+
+ 2 +
+
+
+ + + + + + + +
+
+
+
3
+
+
+
+
+ 3 +
+
+
+ + + + + + + +
+
+
+
4
+
+
+
+
+ 4 +
+
+
+ + + + + + + +
+
+
+
5
+
+
+
+
+ 5 +
+
+
+ + + + + + + +
+
+
+
6
+
+
+
+
+ 6 +
+
+
+ + + + + + + +
+
+
+
7
+
+
+
+
+ 7 +
+
+
+ + + + + + + +
+
+
+
8
+
+
+
+
+ 8 +
+
+
+ + + + + + + +
+
+
+
9
+
+
+
+
+ 9 +
+
+
+ + + + + + + +
+
+
+
10
+
+
+
+
+ 10 +
+
+
+ + + + + + + +
+
+
+
11
+
+
+
+
+ 11 +
+
+
+ + + + + + + +
+
+
+
12
+
+
+
+
+ 12 +
+
- + Text is not SVG - cannot display diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg b/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg new file mode 100644 index 00000000000..873d7b1262f --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg @@ -0,0 +1,966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ input_level +
+
+
+
+ input_level +
+
+
+ + + + + + + +
+
+
+ latch_level +
+
+
+
+ latch_level +
+
+
+ + + + + + + +
+
+
+ 0.0s +
+
+
+
+ 0.0s +
+
+
+ + + + + + + +
+
+
+ 5.0s +
+
+
+
+ 5.0s +
+
+
+ + + + + + + +
+
+
+ 10.0s +
+
+
+
+ 10.0s +
+
+
+ + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ input_level +
+
+
+
+ input_level +
+
+
+ + + + + + + +
+
+
+ latch_level +
+
+
+
+ latch_level +
+
+
+ + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ input_level +
+
+
+
+ input_level +
+
+
+ + + + + + + +
+
+
+ latch_level +
+
+
+
+ latch_level +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ ( latch = 0.0s ) +
+
+
+
+ ( latch = 0.0s ) +
+
+
+ + + + + + + +
+
+
+ ( latch = 1.0s ) +
+
+
+
+ ( latch = 1.0s ) +
+
+
+ + + + + + + +
+
+
+ ( latch = 2.0s ) +
+
+
+
+ ( latch = 2.0s ) +
+
+
+ + + + + + + +
+
+
+ reset +
+
+
+
+ reset +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ OK +
+
+
+
+ OK +
+
+
+ + + + + + + +
+
+
+ ERROR +
+
+
+
+ ERROR +
+
+
+
+ + + + Text is not SVG - cannot display + + +
diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics/tree.drawio.svg b/docs/design/autoware-interfaces/ad-api/features/diagnostics/tree.drawio.svg index 42df519ac46..329e26dab65 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics/tree.drawio.svg +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics/tree.drawio.svg @@ -1,518 +1,1277 @@ - - - - -
-
-
- path: /mode/autonomous -
- level: ERROR -
-
-
-
- path: /mode/autonomous... -
-
- - - - -
-
-
- nodes[0] -
-
-
-
- nodes[0] -
-
- - - - -
-
-
- path: /mode/emergency -
- level: OK -
-
-
-
- path: /mode/emergency... -
-
- - - - -
-
-
- nodes[1] -
-
-
-
- nodes[1] -
-
- - - - - - -
-
-
- path: /module/localization -
- level: OK -
-
-
-
- path: /module/localization... -
-
- - - - - - - - -
-
-
- path: /module/vehicle -
- level: OK -
-
-
-
- path: /module/vehicle... -
-
- - - - - - - - -
-
-
- path: /sensor/lidar -
- level: OK -
-
-
-
- path: /sensor/lidar... -
-
- - - - - - -
-
-
- path: /vehicle/interface -
- level: OK -
-
-
-
- path: /vehicle/interface... -
-
- - - - - - -
-
-
- path: /module/perception -
- level: ERROR -
-
-
-
- path: /module/perception... -
-
- - - - - - -
-
-
- path: /sensor/imu -
- level: OK -
-
-
-
- path: /sensor/imu... -
-
- - - - - - -
-
-
- path: /sensor/camera -
- level: ERROR -
-
-
-
- path: /sensor/camera... -
-
- - - - -
-
-
- nodes[2] -
-
-
-
- nodes[2] -
-
- - - - -
-
-
- nodes[3] -
-
-
-
- nodes[3] -
-
- - - - -
-
-
- nodes[4] -
-
-
-
- nodes[4] -
-
- - - - -
-
-
- nodes[5] -
-
-
-
- nodes[5] -
-
- - - - -
-
-
- nodes[6] -
-
-
-
- nodes[6] -
-
- - - - -
-
-
- nodes[7] -
-
-
-
- nodes[7] -
-
- - - - -
-
-
- nodes[8] -
-
-
-
- nodes[8] -
-
- - - - -
-
-
- links[0] -
-
-
-
- links[0] -
-
- - - - -
-
-
- links[2] -
-
-
-
- links[2] -
-
- - - - - -
-
-
- links[1] -
-
-
-
- links[1] -
-
- - - - -
-
-
- links[3] -
-
-
-
- links[3] -
-
- - - - -
-
-
- links[4] -
-
-
-
- links[4] -
-
- - - - -
-
-
- links[5] -
-
-
-
- links[5] -
-
- - - - -
-
-
- links[6] -
-
-
-
- links[6] -
-
- - - - -
-
-
- links[7] -
-
-
-
- links[7] -
-
- - - - -
-
-
- links[8] -
-
-
-
- links[8] -
+ + + + + + + +
+
+
+ path: /mode/autonomous +
+ level: ERROR +
+
+
+
+ path: /mode/autonomous... +
+
+
+ + + + + + + +
+
+
+ nodes[0] +
+
+
+
+ nodes[0] +
+
+
+ + + + + + + +
+
+
+ path: /mode/emergency +
+ level: OK +
+
+
+
+ path: /mode/emergency... +
+
+
+ + + + + + + +
+
+
+ nodes[1] +
+
+
+
+ nodes[1] +
+
+
+ + + + + + + + + + + +
+
+
+ path: /module/localization +
+ level: OK +
+
+
+
+ path: /module/localization... +
+
+
+ + + + + + + + + + + + + + + +
+
+
+ path: /module/vehicle +
+ level: OK +
+
+
+
+ path: /module/vehicle... +
+
+
+ + + + + + + + + + + + + + + +
+
+
+ path: /sensor/lidar +
+ level: OK +
+
+
+
+ path: /sensor/lidar... +
+
+
+ + + + + + + + + + + +
+
+
+ path: /vehicle/interface +
+ level: OK +
+
+
+
+ path: /vehicle/interface... +
+
+
+ + + + + + + + + + + +
+
+
+ path: /module/perception +
+ level: ERROR +
+
+
+
+ path: /module/perception... +
+
+
+ + + + + + + + + + + +
+
+
+ path: /sensor/imu +
+ level: OK +
+
+
+
+ path: /sensor/imu... +
+
+
+ + + + + + + + + + + +
+
+
+ path: /sensor/camera +
+ level: ERROR +
+
+
+
+ path: /sensor/camera... +
+
+
+ + + + + + + +
+
+
+ nodes[2] +
+
+
+
+ nodes[2] +
+
+
+ + + + + + + +
+
+
+ nodes[3] +
+
+
+
+ nodes[3] +
+
+
+ + + + + + + +
+
+
+ nodes[4] +
+
+
+
+ nodes[4] +
+
+
+ + + + + + + +
+
+
+ nodes[5] +
+
+
+
+ nodes[5] +
+
+
+ + + + + + + +
+
+
+ nodes[6] +
+
+
+
+ nodes[6] +
+
+
+ + + + + + + +
+
+
+ nodes[7] +
+
+
+
+ nodes[7] +
+
+
+ + + + + + + +
+
+
+ nodes[8] +
+
+
+
+ nodes[8] +
+
+
+ + + + + + + +
+
+
+ links[0] +
+
+
+
+ links[0] +
+
+
+ + + + + + + +
+
+
+ links[2] +
+
+
+
+ links[2] +
+
+
+ + + + + + + + + + +
+
+
+ links[1] +
+
+
+
+ links[1] +
+
+
+ + + + + + + +
+
+
+ links[3] +
+
+
+
+ links[3] +
+
+
+ + + + + + + +
+
+
+ links[4] +
+
+
+
+ links[4] +
+
+
+ + + + + + + +
+
+
+ links[5] +
+
+
+
+ links[5] +
+
+
+ + + + + + + +
+
+
+ links[6] +
+
+
+
+ links[6] +
+
+
+ + + + + + + +
+
+
+ links[7] +
+
+
+
+ links[7] +
+
+
+ + + + + + + +
+
+
+ links[8] +
+
+
+
+ links[8] +
+
+
+ + + + + + + + + + + +
+
+
+ name: camera +
+ level: ERROR +
+ message: ... + +
+
+
hardware_id: ...
+
values: ...
+
+
+
+
+
+ name: camera... +
+
+
+ + + + + + + + + + + +
+
+
+ name: lidar +
+ level: OK +
+ message: ... + +
+
+
hardware_id: ...
+
values: ...
+
+
+
+
+
+ name: lidar... +
+
+
+ + + + + + + + + + + +
+
+
+ name: imu +
+ level: OK +
+ message: ... + +
+
+
hardware_id: ...
+
values: ...
+
+
+
+
+
+ name: imu... +
+
+
+ + + + + + + + + + + +
+
+
+ name: vehicle +
+ level: OK +
+ message: ... + +
+
+
hardware_id: ...
+
values: ...
+
+
+
+
+
+ name: vehicle... +
+
+
+ + + + + + + +
+
+
+ diags[0] +
+
+
+
+ diags[0] +
+
+
+ + + + + + + +
+
+
+ diags[1] +
+
+
+
+ diags[1] +
+
+
+ + + + + + + +
+
+
+ diags[2] +
+
+
+
+ diags[2] +
+
+
+ + + + + + + +
+
+
+ diags[3] +
+
+
+
+ diags[3] +
+
+
+ + + + + + + +
+
+
+ links[9] +
+
+
+
+ links[9] +
+
+
+ + + + + + + +
+
+
+ links[10] +
+
+
+
+ links[10] +
+
+
+ + + + + + + +
+
+
+ links[11] +
+
+
+
+ links[11] +
+
+
+ + + + + + + +
+
+
+ links[12] +
+
+
+
+ links[12] +
+
- + Text is not SVG - cannot display diff --git a/docs/design/autoware-interfaces/ad-api/list/api/system/diagnostics/reset.md b/docs/design/autoware-interfaces/ad-api/list/api/system/diagnostics/reset.md new file mode 100644 index 00000000000..05b6ef7eb2b --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/system/diagnostics/reset.md @@ -0,0 +1,16 @@ +--- +title: /api/system/diagnostics/reset +status: not released +method: function call +type: + name: autoware_adapi_v1_msgs/srv/ResetDiagGraph + res: + - name: status + text: response status +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Reset the latch state of the diagnostic graph. +See [diagnostics](../../../../features/diagnostics.md) for details. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/index.md b/docs/design/autoware-interfaces/ad-api/list/index.md index 52ec9e13d82..243af75b98d 100644 --- a/docs/design/autoware-interfaces/ad-api/list/index.md +++ b/docs/design/autoware-interfaces/ad-api/list/index.md @@ -53,6 +53,7 @@ | [/api/routing/set_route](./api/routing/set_route.md) | v1.0.0 | function call | | [/api/routing/set_route_points](./api/routing/set_route_points.md) | v1.0.0 | function call | | [/api/routing/state](./api/routing/state.md) | v1.0.0 | notification | +| [/api/system/diagnostics/reset](./api/system/diagnostics/reset.md) | not released | function call | | [/api/system/diagnostics/status](./api/system/diagnostics/status.md) | v1.3.0 | realtime stream | | [/api/system/diagnostics/struct](./api/system/diagnostics/struct.md) | v1.3.0 | notification | | [/api/system/heartbeat](./api/system/heartbeat.md) | v1.3.0 | realtime stream | diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStatus.md index 1a4b797d41b..779a261c6c6 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStatus.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStatus.md @@ -2,6 +2,7 @@ # This file is generated by tools/autoware-interfaces/generate.py title: autoware_adapi_v1_msgs/msg/DiagGraphStatus uses: + - autoware_adapi_v1_msgs/msg/DiagLeafStatus - autoware_adapi_v1_msgs/msg/DiagNodeStatus --- @@ -12,6 +13,7 @@ uses: builtin_interfaces/Time stamp string id autoware_adapi_v1_msgs/DiagNodeStatus[] nodes +autoware_adapi_v1_msgs/DiagLeafStatus[] diags ``` {% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStruct.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStruct.md index 953236dc942..76f64e13089 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStruct.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagGraphStruct.md @@ -2,6 +2,7 @@ # This file is generated by tools/autoware-interfaces/generate.py title: autoware_adapi_v1_msgs/msg/DiagGraphStruct uses: + - autoware_adapi_v1_msgs/msg/DiagLeafStruct - autoware_adapi_v1_msgs/msg/DiagLinkStruct - autoware_adapi_v1_msgs/msg/DiagNodeStruct --- @@ -13,6 +14,7 @@ uses: builtin_interfaces/Time stamp string id autoware_adapi_v1_msgs/DiagNodeStruct[] nodes +autoware_adapi_v1_msgs/DiagLeafStruct[] diags autoware_adapi_v1_msgs/DiagLinkStruct[] links ``` diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md new file mode 100644 index 00000000000..815e8a75e65 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md @@ -0,0 +1,22 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/DiagLeafStatus +used: + - autoware_adapi_v1_msgs/msg/DiagGraphStatus +uses: + - autoware_adapi_v1_msgs/msg/KvString +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +# The level of diagnostic_msgs/msg/DiagnosticStatus. +byte level +byte input_level +string message +string hardware_id +autoware_adapi_v1_msgs/KvString[] values +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStruct.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStruct.md new file mode 100644 index 00000000000..696237908e1 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStruct.md @@ -0,0 +1,15 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/DiagLeafStruct +used: + - autoware_adapi_v1_msgs/msg/DiagGraphStruct +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +string name +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagNodeStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagNodeStatus.md index b808d46d288..c487b560a76 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagNodeStatus.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagNodeStatus.md @@ -11,6 +11,9 @@ used: ```txt # The level of diagnostic_msgs/msg/DiagnosticStatus. byte level +byte input_level +byte latch_level +bool is_dependent ``` {% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/KvString.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/KvString.md new file mode 100644 index 00000000000..8010605cf29 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/KvString.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/KvString +used: + - autoware_adapi_v1_msgs/msg/DiagLeafStatus +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +string key +string value +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md index f93d251274c..6d5a4932abd 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md @@ -11,6 +11,7 @@ used: - autoware_adapi_v1_msgs/srv/GetVehicleSpecs - autoware_adapi_v1_msgs/srv/InitializeLocalization - autoware_adapi_v1_msgs/srv/ListManualControlMode + - autoware_adapi_v1_msgs/srv/ResetDiagGraph - autoware_adapi_v1_msgs/srv/SelectManualControlMode - autoware_adapi_v1_msgs/srv/SendMrmRequest - autoware_adapi_v1_msgs/srv/SetCooperationCommands diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ResetDiagGraph.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ResetDiagGraph.md new file mode 100644 index 00000000000..20ddfb19e11 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ResetDiagGraph.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/srv/ResetDiagGraph +uses: + - autoware_adapi_v1_msgs/msg/ResponseStatus +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +--- +autoware_adapi_v1_msgs/ResponseStatus status +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/index.md b/docs/design/autoware-interfaces/ad-api/types/index.md index 0943f687cca..1a00f1de448 100644 --- a/docs/design/autoware-interfaces/ad-api/types/index.md +++ b/docs/design/autoware-interfaces/ad-api/types/index.md @@ -7,6 +7,8 @@ - [autoware_adapi_v1_msgs/msg/CooperationStatus](./autoware_adapi_v1_msgs/msg/CooperationStatus.md) - [autoware_adapi_v1_msgs/msg/DiagGraphStatus](./autoware_adapi_v1_msgs/msg/DiagGraphStatus.md) - [autoware_adapi_v1_msgs/msg/DiagGraphStruct](./autoware_adapi_v1_msgs/msg/DiagGraphStruct.md) +- [autoware_adapi_v1_msgs/msg/DiagLeafStatus](./autoware_adapi_v1_msgs/msg/DiagLeafStatus.md) +- [autoware_adapi_v1_msgs/msg/DiagLeafStruct](./autoware_adapi_v1_msgs/msg/DiagLeafStruct.md) - [autoware_adapi_v1_msgs/msg/DiagLinkStruct](./autoware_adapi_v1_msgs/msg/DiagLinkStruct.md) - [autoware_adapi_v1_msgs/msg/DiagNodeStatus](./autoware_adapi_v1_msgs/msg/DiagNodeStatus.md) - [autoware_adapi_v1_msgs/msg/DiagNodeStruct](./autoware_adapi_v1_msgs/msg/DiagNodeStruct.md) @@ -23,6 +25,7 @@ - [autoware_adapi_v1_msgs/msg/HazardLights](./autoware_adapi_v1_msgs/msg/HazardLights.md) - [autoware_adapi_v1_msgs/msg/HazardLightsCommand](./autoware_adapi_v1_msgs/msg/HazardLightsCommand.md) - [autoware_adapi_v1_msgs/msg/Heartbeat](./autoware_adapi_v1_msgs/msg/Heartbeat.md) +- [autoware_adapi_v1_msgs/msg/KvString](./autoware_adapi_v1_msgs/msg/KvString.md) - [autoware_adapi_v1_msgs/msg/LocalizationInitializationState](./autoware_adapi_v1_msgs/msg/LocalizationInitializationState.md) - [autoware_adapi_v1_msgs/msg/ManualControlMode](./autoware_adapi_v1_msgs/msg/ManualControlMode.md) - [autoware_adapi_v1_msgs/msg/ManualControlModeStatus](./autoware_adapi_v1_msgs/msg/ManualControlModeStatus.md) @@ -64,6 +67,7 @@ - [autoware_adapi_v1_msgs/srv/GetVehicleSpecs](./autoware_adapi_v1_msgs/srv/GetVehicleSpecs.md) - [autoware_adapi_v1_msgs/srv/InitializeLocalization](./autoware_adapi_v1_msgs/srv/InitializeLocalization.md) - [autoware_adapi_v1_msgs/srv/ListManualControlMode](./autoware_adapi_v1_msgs/srv/ListManualControlMode.md) +- [autoware_adapi_v1_msgs/srv/ResetDiagGraph](./autoware_adapi_v1_msgs/srv/ResetDiagGraph.md) - [autoware_adapi_v1_msgs/srv/SelectManualControlMode](./autoware_adapi_v1_msgs/srv/SelectManualControlMode.md) - [autoware_adapi_v1_msgs/srv/SendMrmRequest](./autoware_adapi_v1_msgs/srv/SendMrmRequest.md) - [autoware_adapi_v1_msgs/srv/SetCooperationCommands](./autoware_adapi_v1_msgs/srv/SetCooperationCommands.md) diff --git a/yaml/autoware-interfaces.yaml b/yaml/autoware-interfaces.yaml index eb55e7f532f..69486837855 100644 --- a/yaml/autoware-interfaces.yaml +++ b/yaml/autoware-interfaces.yaml @@ -23,21 +23,36 @@ types: uuid: unique_identifier_msgs/msg/UUID autoware_adapi_v1_msgs/msg/DiagGraphStatus: msg: + diags: autoware_adapi_v1_msgs/msg/DiagLeafStatus[] id: string nodes: autoware_adapi_v1_msgs/msg/DiagNodeStatus[] stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/DiagGraphStruct: msg: + diags: autoware_adapi_v1_msgs/msg/DiagLeafStruct[] id: string links: autoware_adapi_v1_msgs/msg/DiagLinkStruct[] nodes: autoware_adapi_v1_msgs/msg/DiagNodeStruct[] stamp: builtin_interfaces/msg/Time + autoware_adapi_v1_msgs/msg/DiagLeafStatus: + msg: + hardware_id: string + input_level: byte + level: byte + message: string + values: autoware_adapi_v1_msgs/msg/KvString[] + autoware_adapi_v1_msgs/msg/DiagLeafStruct: + msg: + name: string autoware_adapi_v1_msgs/msg/DiagLinkStruct: msg: child: uint32 parent: uint32 autoware_adapi_v1_msgs/msg/DiagNodeStatus: msg: + input_level: byte + is_dependent: bool + latch_level: byte level: byte autoware_adapi_v1_msgs/msg/DiagNodeStruct: msg: @@ -97,6 +112,10 @@ types: msg: seq: uint16 stamp: builtin_interfaces/msg/Time + autoware_adapi_v1_msgs/msg/KvString: + msg: + key: string + value: string autoware_adapi_v1_msgs/msg/LocalizationInitializationState: msg: stamp: builtin_interfaces/msg/Time @@ -291,6 +310,9 @@ types: res: modes: autoware_adapi_v1_msgs/msg/ManualControlMode[] status: autoware_adapi_v1_msgs/msg/ResponseStatus + autoware_adapi_v1_msgs/srv/ResetDiagGraph: + res: + status: autoware_adapi_v1_msgs/msg/ResponseStatus autoware_adapi_v1_msgs/srv/SelectManualControlMode: req: mode: autoware_adapi_v1_msgs/msg/ManualControlMode