EasyFleet
A simple-by-default framework for multi-robot, multi-capability fleets built on ROS 2
Loading...
Searching...
No Matches
CapabilityInfo Struct Reference

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).

Detailed Description

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").

Member Data Documentation

◆ busy

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.


The documentation for this struct was generated from the following file: