|
Capabilities2 0.3.0
|
The runner API is designed to be extensible, so that specific runners can be created on a per provider basis. Another feature that can be implemented is cross-runner communication, which could allow capabilities to be combined at runtime to perform more complex tasks. This could overcome limitations in robot programming in which there is a common need for extensive pre-definition of tasks.
A runner is a plugin that inherits from the capabilities2_runner::RunnerBase class. The RunnerBase class is a pure virtual class that defines the interface for a runner. The RunnerBase class has the following methods:
start - starts the runnerstop - stops the runnertrigger - triggers the runnerMultiple classes are provided to inherit from, depending on the type of runner you want to create. A notable example is the capabilities2_runner::ActionRunner class, which is used to create runners that run actions.
The runner should be exported as a plugin using the PLUGINLIB_EXPORT_CLASS macro.
The runner should be exposed as a plugin in the plugins.xml file.
plugin.xml needs to be included in the CMakeLists.txt.