From 13b7a99fc6c30acb8a4e14059debaff93f5aeffb Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Fri, 13 Jun 2025 18:32:34 +0900 Subject: [PATCH 1/4] feat(ad-api): update diagnostics api Signed-off-by: Takagi, Isamu --- .../ad-api/features/diagnostics.md | 12 +- .../features/diagnostics/data.drawio.svg | 3756 ++++++++++++----- .../features/diagnostics/level.drawio.svg | 966 +++++ .../features/diagnostics/tree.drawio.svg | 1763 +++++--- .../list/api/system/diagnostics/reset.md | 16 + .../autoware-interfaces/ad-api/list/index.md | 1 + .../msg/DiagGraphStatus.md | 2 + .../msg/DiagGraphStruct.md | 2 + .../msg/DiagLeafStatus.md | 21 + .../msg/DiagLeafStruct.md | 15 + .../msg/DiagNodeStatus.md | 4 + .../autoware_adapi_v1_msgs/msg/KvString.md | 16 + .../msg/ResponseStatus.md | 1 + .../srv/ResetDiagGraph.md | 16 + .../autoware-interfaces/ad-api/types/index.md | 4 + yaml/autoware-interfaces.yaml | 22 + 16 files changed, 5095 insertions(+), 1522 deletions(-) create mode 100644 docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg create mode 100644 docs/design/autoware-interfaces/ad-api/list/api/system/diagnostics/reset.md create mode 100644 docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md create mode 100644 docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStruct.md create mode 100644 docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/KvString.md create mode 100644 docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ResetDiagGraph.md diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md index 2cf7afd29a4..298d776bc45 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. ![graph-data](./diagnostics/data.drawio.svg) + +Some functional unit levels may be latched. In this case, if the abnormality continues for a certain period, the level value will not return to normal. +Use stable_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..227ab50813a --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg @@ -0,0 +1,966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ stable_level +
+
+
+
+ stable_level +
+
+
+ + + + + + + +
+
+
+ latch_level +
+
+
+
+ latch_level +
+
+
+ + + + + + + +
+
+
+ 0.0s +
+
+
+
+ 0.0s +
+
+
+ + + + + + + +
+
+
+ 5.0s +
+
+
+
+ 5.0s +
+
+
+ + + + + + + +
+
+
+ 10.0s +
+
+
+
+ 10.0s +
+
+
+ + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ stable_level +
+
+
+
+ stable_level +
+
+
+ + + + + + + +
+
+
+ latch_level +
+
+
+
+ latch_level +
+
+
+ + + + + + + +
+
+
+ level +
+
+
+
+ level +
+
+
+ + + + + + + +
+
+
+ stable_level +
+
+
+
+ stable_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..fd38dd8ccbd --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md @@ -0,0 +1,21 @@ +--- +# 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 +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..2b987658838 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,10 @@ used: ```txt # The level of diagnostic_msgs/msg/DiagnosticStatus. byte level +byte stable_level +byte actual_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..f1817a49481 100644 --- a/yaml/autoware-interfaces.yaml +++ b/yaml/autoware-interfaces.yaml @@ -23,22 +23,37 @@ 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 + 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: + actual_level: byte + is_dependent: bool + latch_level: byte level: byte + stable_level: byte autoware_adapi_v1_msgs/msg/DiagNodeStruct: msg: path: string @@ -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 From 7a778986472026efa99aef63a53308f2dd6d525e Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Mon, 16 Jun 2025 18:47:49 +0900 Subject: [PATCH 2/4] feat(ad-api): modify field name Signed-off-by: Takagi, Isamu --- .../ad-api/features/diagnostics.md | 4 ++-- .../ad-api/features/diagnostics/level.drawio.svg | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md index 298d776bc45..527cbb21473 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md @@ -28,8 +28,8 @@ The status has an array of nodes of the same length as the struct, with the same ![graph-data](./diagnostics/data.drawio.svg) -Some functional unit levels may be latched. In this case, if the abnormality continues for a certain period, the level value will not return to normal. -Use stable_level to know the level before it was latched. Also, use latch_level to know if the latch is currently activated. +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/level.drawio.svg b/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg index 227ab50813a..873d7b1262f 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics/level.drawio.svg @@ -7,7 +7,7 @@ width="641px" height="401px" viewBox="-0.5 -0.5 641 401" - content="<mxfile><diagram id="X3zx3qeRQ7xMZRMNeQ_G" name="Page-1">7ZxBc6M2FMc/jWd2Lx4JIQzHJE3bmU5nO8mhxx0Cis0UGxfjOOmnrzDCBiQGZc2TDawPCQgh4Pd/kp70BDPysH7/LfW3qz+TkMUzC4XvM/LLzLI8YvO/ecJHkWBjWiQs0ygskvA54Tn6j4lEJFL3Uch2tYxZksRZtK0nBslmw4KsluanaXKoZ3tN4vpVt/6SSQnPgR/LqX9HYbYSqRih84HfWbRciUu7VBxY+2VmkbBb+WFyqCSRxxl5SJMkK7bW7w8sztmVXIrzfm05erqxlG0yrRPKW37z4714OnFn2Uf5uMs02W9FNpZm7F0F2X8psyP5JvDp0bhJsGTNsvSDZykLcsQppTmI3cOZLcXe3Cbo9BPXXlUgk/I0X6i7PF3oDIBvCAZqHo7bjYNtwrvciPjeJtnwxPvQ361YXgLmO6tsHYvN4lQWStZUIYOQmk314ZH8tGVaymI/i97qF1AREFf4K4n4pU+oJWi7ZJ8GTOSqGk55Ypkx89Mly6SMR8Cnx9BivtAwwVEwF+ZOvPkC1wz+8yrIRQHogqely8Kbe7VfPxq1FAuglz0tvTBukF30I1hbuQCK0YkpRoEUaykXQDFnYop5vIdBFbJuT4q1lAug2GJaiuU+Qa0u2P0o1lYugGJT8cFLsk0PoS/FWsoFUMyblmKk6SH0pFhbuf0r5k5tzEV7HHRRyFGXO7FRF/EaNt+TSOpiAfSypqWX3fQD+tGrpVgAvcjE9OJegG1VwNKeBGspF0Cxic1rFHPd/ahULat/ZTDSGFylyX4THpVAHP9hFWXseesH+dFD6m/r6rxGcfyQxEl6PJeElLmhzdN3WZr8wypHXOuFOM5JT0VcQkvR0pjLMIjgXQYkDtXozplkVXQLteurG3XASMOBHiJH7JoGeSMcpeCXAq12PExhja6i+ekFoDz2jtlbHr1tUOSPktVR+XG03PDtgD8441Tu8weOAj++EwfWURjmpyuZ11XRM8YOU+ys0QgKoqo2O3HOa7f1NzWQzr/7PNZ7HxSmdJd3H8uXL/wu+GVQ+e/rkUmZl28tj4Udg67fhUDFBfi9FdcosgxeN1UDAqWbrTB+PwtW38dRBU7cTLB05dAGmqPd8CDiBkWisEgbCqIcbaCDhEiuCVH2UfEwTZFekaInT0uNpFU02cN41k/PoC/hLJPdmSfPGo3JNTgxMsJS7tXGQZEYtUjV1MvPpuTHhDNq/uMeZRDF6l0wlqrudPDTPQqHBGq6R2Nm/fb5Wd38HCB+WGM52O0DPI0j2gESqBqsEY27BOCrG7AgUAF8calNUU8W2D1pZUG1gMAz3toAL5sfsK5WhSkwwN5CL5/qQ1RzfVCdCAGuw9chqBpeghG8lX74IoLNflhFEKoWE42V9LdPUKrFBl1BciuuzGUdidttg2C+jD2Kaiw1hIrBsQWGcBT1uNkSquoxWEsIvCTHjEOoM9kL5VITjfcPhkdQZYNQBG1rDASbgxKT/oyn0ZWYfi1fNb1NVSbk9ACAaiyDv4WOoBBKZvhRtwUDDhwFrnTQxMozULPWGat0dCAD2TaCJoxsIC5uh5FZUtMuGRnYKIECuxeGWjbVR1qg/Ak6kOXRuk2bgbasLPfWXbAOZNJwXgIIZXMOsANiGKAJYgPx+rtqqTSNaa7SDmQOTrd3NdGdOrcSQezJ6kxErZHctn3hu8dlKPz/MQUVa2TRV4nm0FakmFyQgpHcCMpo8VjQqqwWkK1c1WW21ljYGn31BSN5YJeyHcuGh5F2j+3A3p5Dowhf0O73D0Ff4gSeY7jOmiAFRALlidvA4+UrRTBUsVwohBgNZJrmc1XZ9AvZNvCI5jqRIGUsDerNK3sUAV1yzVUFWPFdgG9/DLA6q/xtMGcGy6PEx6enb08DtD5eOeeWJ6FbnD/kdSE9vnv+aHvxJZXzl+/J4/8=</diagram></mxfile>" + content="<mxfile><diagram id="X3zx3qeRQ7xMZRMNeQ_G" name="Page-1">7Zxdb6M4FIZ/TaSZm8jGmMBl2+3MSqvVrNqLvRxRcBO0BLKENO3++jXBJIDNhEw4Dh/TiwaMMfC859jHHzAjD+v3r4m7Wf0Z+yycGch/n5HfZoaxMAn/nyV85AmEOnnCMgn8PAmfEp6D/5hIRCJ1F/hsW8mYxnGYBptqohdHEfPSSpqbJPG+mu01DqtX3bhLJiU8e24op/4d+OlKpGKETgd+Z8FyJS5tU3Fg7RaZRcJ25frxvpREHmfkIYnjNN9avz+wMGNXcMnP+9Jw9HhjCYvSVicUt/zmhjvxdOLO0o/icZdJvNvIJYuLvbEkZe8q7u5LUcLp0bhJsHjN0uSD5yvOssRNCHMwxe7+xJZiZ24SdPwTF1qVIJPiNFeouzxe6ASAbwgGah6WfR4Hi/y7zIj4XhRHPPHed7crlpWA+c4qXYdiU8Gs4M38ionJbMoPj+SnLdISFrpp8FY1TBUBcYW/4oDfyxG1BG0b7xKPiVxlwylOLDKmbrJkqZTxAPj4GK2YL1qY4CiYC3MnznyBKwZ/uQpyUQC64GnpsnDmTuWvG40aigXQy5yWXhjXyC66EaypXADF6MQUo0CKNZQLoJg1McUc3sKgElm7I8UaygVQbDEtxbKYoOILZjeKNZULoNhUYvCCbD1C6EqxhnIBFHOmpRipRwgdKdZUbveK2VPrc9EOO10UstdlT6zXRZyazXckkrpYAL2Maell1uOAbvRqKBZALzIxvXgUYBolsLQjwRrKBVBsYuMa+Vh3NyqVy+peGYxadK6SeBf5ByUQx79fBSl73rhednSfuJuqOq9BGD7EYZwcziU+ZbZv8vRtmsT/sNIR23ghlvVjPaWZicYZCLM4RfAuJiT25dmdE8my6AZq1rftrANGLQLoIXLEtm6QfeR4KcX6fJjCGm1F9dMJQLnvHbK3bPa2RpE/SlpF5YbBMuLbHn9wxqncZw8ceG54Jw6sA9/PTlcyr6rSAUTzvEcjKIgqb7bCjNd240YVkNa/u2yu997LTekuaz6WL5/4XfDLoOLn84FJkZdvLbPfINrs0u9Cn7x8fmv5JfIcg5dNVX9AyWYqbN9NvdX3cXjAkZsOlrY8s4HmaDs8iLhGkSgs0oSCKE820EFCJLeEKIeoeJimSG9I0ZFHpUZSK+psYRzjV2DQkW6GztbMkceMxhQZHBlpYSk3auOgSLRapGrg5VdN8lO6abX+cfcxiGLpLhhLVWM6+LEeRTgCNdbTYli9//yM8/wsIH64xVqw/gM89iKaARIoD24xFXcNwFfbY56nAvhiU5N2VAW2GLIyoGpA4OFuPQCPDbB+F6bAAG/ThqhG+qAaEQLsw7chqOpdghEcZTusIgjlxaTFMvr+E5S8WGMoSEYZyqhsECyWMUfhxlJFqOgcG2AIR+HH9ZpQ5cdgNSHwepzbRNQqP4YKqUmLlw+GR1Blg1AETWMMBOudEp3xjNOiKdH9Tr5qdJuqTMjqAABtsQZee0NwVOW8DX1UbUFDAEeBnQ6aWHEU1b1Om9PRPnZkLyCow8j6GOJebmSGVLVLRgbWS6DA4YWmmk31hRaoeKL4NtBQkdWrNg11WVFur0Kwy5FJ3XkJIJTNWcABiGaAOoj1Mer/CS+VhjH1OW0fx+CuaF11NKdWH2cQr7A6HbPWSK7bPvHdwzIU/ntIQfkKWfRZojm0FSk6F6RgJFeCMlo8FrQqqwVkK7u6zNYYC1utL75gJHfsErZl6fAw0vN9O7BX59Aopi/o+ZcPQd/gBB5juM34uwIigYrETeD+8o1mMFRzuVAIMerjMM3Vrqz7bWwTuEdzm5kg5Vwa1HtX5igmdMktVxVgxUcBvv0xQHdWxdtgwQyWe4mPT0/fngZofdw554YjoVucvuJ1JT2+e/pie/4ZldNn78nj/w==</diagram></mxfile>" > @@ -163,12 +163,12 @@
- stable_level + input_level
- stable_level + input_level @@ -307,12 +307,12 @@
- stable_level + input_level
- stable_level + input_level @@ -379,12 +379,12 @@
- stable_level + input_level
- stable_level + input_level From 24f914fd712b31793e5a24026e627433693b65bf Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Mon, 16 Jun 2025 18:52:26 +0900 Subject: [PATCH 3/4] feat(ad-api): modify field name Signed-off-by: Takagi, Isamu --- .../ad-api/types/autoware_adapi_v1_msgs/msg/DiagLeafStatus.md | 1 + .../ad-api/types/autoware_adapi_v1_msgs/msg/DiagNodeStatus.md | 3 +-- yaml/autoware-interfaces.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) 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 index fd38dd8ccbd..815e8a75e65 100644 --- 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 @@ -13,6 +13,7 @@ uses: ```txt # The level of diagnostic_msgs/msg/DiagnosticStatus. byte level +byte input_level string message string hardware_id autoware_adapi_v1_msgs/KvString[] values 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 2b987658838..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,8 +11,7 @@ used: ```txt # The level of diagnostic_msgs/msg/DiagnosticStatus. byte level -byte stable_level -byte actual_level +byte input_level byte latch_level bool is_dependent ``` diff --git a/yaml/autoware-interfaces.yaml b/yaml/autoware-interfaces.yaml index f1817a49481..69486837855 100644 --- a/yaml/autoware-interfaces.yaml +++ b/yaml/autoware-interfaces.yaml @@ -37,6 +37,7 @@ types: autoware_adapi_v1_msgs/msg/DiagLeafStatus: msg: hardware_id: string + input_level: byte level: byte message: string values: autoware_adapi_v1_msgs/msg/KvString[] @@ -49,11 +50,10 @@ types: parent: uint32 autoware_adapi_v1_msgs/msg/DiagNodeStatus: msg: - actual_level: byte + input_level: byte is_dependent: bool latch_level: byte level: byte - stable_level: byte autoware_adapi_v1_msgs/msg/DiagNodeStruct: msg: path: string From 4dd6e3ad016727e26361e9d2351d13b974c2e7c2 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Mon, 16 Jun 2025 19:01:41 +0900 Subject: [PATCH 4/4] fix description Signed-off-by: Takagi, Isamu --- docs/design/autoware-interfaces/ad-api/features/diagnostics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md index 527cbb21473..40aaeebfe76 100644 --- a/docs/design/autoware-interfaces/ad-api/features/diagnostics.md +++ b/docs/design/autoware-interfaces/ad-api/features/diagnostics.md @@ -24,7 +24,7 @@ The static part of the diagnostic is published only once as the DiagGraphStruct 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)