Skip to main content

Create a Skill

Skills are designed to carry out specific tasks within a robotics workflow. They are invoked directly by the process and can interact with the real world through services. Skills are best suited for implementing robot behaviors, such as moving an end-effector to a particular pose or opening and closing a gripper.

Skills are stateless and the platform ensures that they cannot retain state between individual executions. Skills API has set of well-defined, easy to use, classes to help developers focus on skill's function.

Flowstate has many built-in skills, including:

If the built-in skills aren't sufficient for your use case, you can create a custom skill using Python or C++.

Skill authoring

The following guides in this section walk you through the process of creating your own custom skills and how to add specific functionality to a skill.

Error handling

Skills should return None or a custom message if needed. In case of any errors a skill must raise either of the following types.

  • InvalidSkillParametersError: If the arguments provided to skill parameters are invalid.
  • SkillCancelledError: If the skill is aborted due to a cancellation request.
  • SkillError: Errors encountered while executing methods of this interface.