System Status and Diagnostic Interface
About 752 wordsAbout 3 min
Developers can conveniently access robot status, send control commands, and implement complex task programming and integration through standard ROS 2 communication mechanisms, including Topics, Services, and Actions.
Topic: A subscription‑based communication mechanism. Subscribers register for a specific topic, and publishers send messages to all registered subscribers based on the subscription list. This mechanism is primarily used for medium‑to‑high frequency or continuous data exchange.
Service: A request‑reply communication mechanism. Data retrieval or operations are performed via service requests. It is suitable for low‑frequency interactions or mode‑switching operations.
Action: A persistent, stateful communication mechanism designed for long‑running tasks. It supports real‑time status feedback and task cancellation during execution, making it ideal for complex motion control and task execution.
Interface Description
| Topic | /supervisor/system_status | |
|---|---|---|
| Effective Version | ≥V0.2 | |
| Access Method | Publish | |
| Interface Description | The system monitoring node (supervisor) publishes the current operating status of the robot system in real time, including the current mode and the boot startup mode
| |
| Interface Parameters | current_mode: Current system modeuint8 mode{ // Mode value, enumeration 0; // Undefined 1; // Automatic 2; // Remote operation 3; // Mapping 4; // ACT 99; // On standby, all services stopped } string mode_name{ // Mode name "UNDEFINED"; // Undefined "TELEOPERATION"; // Teleoperation mode "MAPPING"; // Mapping Mode "AUTONOMOUS"; // Automatic Mode "ACT"; // Specific operating mode "STANDBY"; // Standby mode, all services stopped } | |
startup_mode: The initial state when the system starts upuint8 mode{ // Mode value, enumeration 0; // Undefined 1; // Automatic 2; // Remote operation 3; // Mapping 4; // ACT 99; // On standby, all services stopped } string mode_name{ // Mode name "UNDEFINED"; // Undefined "TELEOPERATION"; // Teleoperation mode "MAPPING"; // Mapping Mode "AUTONOMOUS"; // Automatic Mode "ACT"; // Specific operating mode "STANDBY"; // Standby mode, all services stopped } | ||
| Topic | /supervisor/change_system_mode | |
|---|---|---|
| Effective Version | ≥V0.2 | |
| Access Method | Action
| |
| Interface Description | Switch the current system mode | |
| Interface Parameters | Goal: The request sent by the Client to the Server, containing two fields target_mode{ // The target mode value to switch to 1; // Automatic 2 ; // Remote operation 3; // Mapping 4; //ACT } bool startup: Whether to set it to start automatically upon boot, false indicates not starting automatically upon boot, true indicates starting automatically upon boot | |
| Result: The result returned to the Client after the server has completed execution, containing two fields bool success: Whether the mode switch was successful, false indicates the mode was not switched, true indicates the mode switch was successful string message: Descriptive information about the execution result of mode switching, such as "Successfully switched to automatic mode" | ||
| Feedback: Progress feedback sent periodically by the server to the Client during execution, containing two fields float32 progress: Progress of mode switching, with a value range of [0.0, 100.0] string status: A real-time status description of the current execution switch, such as "Currently shutting down the current service" | ||