|
EasyFleet
A simple-by-default framework for multi-robot, multi-capability fleets built on ROS 2
|
Everything known about one running capability instance, gathered from its /capabilities (easyfleet_interfaces/CapabilityDescription) and /capabilities_status (easyfleet_interfaces/CapabilityStatus) messages. More...
#include <capability_info.hpp>
Public Attributes | |
| std::string | robot |
| Robot identity this capability was announced under (e.g. "robot1"). | |
| std::string | capability |
| Capability type (e.g. "navigation"). | |
| std::string | action_name |
| Fully-qualified action name (e.g. "/robot1/navigation"). | |
| std::string | description_json_raw |
| Raw JSON text of the capability description, as published. | |
| nlohmann::json | description_json |
| description_json_raw, parsed – empty if parsing failed. | |
| bool | description_json_valid {false} |
| Whether description_json_raw parsed successfully as JSON. | |
| bool | active {false} |
| Whether this capability was announced on /capabilities at all, at discovery time. | |
| bool | busy {false} |
| True while the capability has a goal currently executing (from the latest CapabilityStatus heartbeat seen). | |
Everything known about one running capability instance, gathered from its /capabilities (easyfleet_interfaces/CapabilityDescription) and /capabilities_status (easyfleet_interfaces/CapabilityStatus) messages.
action_name is the unique identity: two robots can both offer a capability named "navigation", but each has its own action_name (e.g. "/robot1/navigation" vs "/robot2/navigation").
| bool busy {false} |
True while the capability has a goal currently executing (from the latest CapabilityStatus heartbeat seen).
Meaningless if active is false: a capability that isn't publishing heartbeats at all can't be "busy" or "idle", it's just gone.