|
Fabric
|
Fabric is a ROS2 package that provides a system to coordinate and manage various capabilities as defined by the Capabilities2 framework. This package extends the functionality of the Capabilities2 package to implement a Finite State Machine based on capabilities. It is designed to parse an execution plan given via an XML file and identify connections between various capabilities in the system which would be relayed back to Capabilities2 framework to execute.
Currently the system supports 4 control functions:
sequential: triggers child runners in sequence.parallel_all: waits for all child branches to report success before proceeding.parallel_any: proceeds when any child branch reports success.recovery: defines a recovery branch that can be triggered on failure.Clone the repo into a workspace
Setup the capabilities2 framework as instructed.
The fabric_server/plans/default.xml file is the default example plan. New plans can be added there or stored anywhere else on disk.
The fabric_server/config/fabric.yaml file configures the parser plugin, validation plugin, and capability client settings. The plan path itself is provided by the launch file.
Launch with the packaged default plan:
Launch with a different packaged plan by filename:
Launch with an explicit plan path: