Although diagnostics is not part of the ROS 2 Client Library packages (i.e., rclcpp, rclpy), it definitely can be counted to the extended client library as it provides very generic and application-independent functionalities.
That’s why the micro-ROS Client Library comes with basic diagnostics functionalities. These are compatible with ROS 2 diagnostics and comprise three features only:
- Diagnostic message types (optimized for Micro-XRCE-DDS - no dynamic arrays)
- Updater mechanisms for rclc
- Selected basic diagnostic monitors for microcontrollers
The micro-ROS diagnostics packages do not provide any aggregator as we assume that such aggregation takes place on a microprocessor running standard ROS 2. Hence, we assume the following typical architecture:
In order for the standard ROS 2 diagnostic aggregator to aggregate micro-ROS diagnostic message types, the ROS 2 agent has to translate micro-ROS diagnostic messages to standard ROS 2 diagnostic messages (tbd).
For more information, please see https://github.com/micro-ROS/micro_ros_diagnostics/. For further information on ROS 2 diagnostics, see ROS 2 diagnostics and ROS 2 diagnostic_msgs.