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 do not retain state between individual executions. The Skills API provides a set of well-defined, easy to use classes to help developers focus on the Skill's function.

The Asset Catalog provides many Skills, including:

If the available 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 Skill and adding specific functionality to it.

Error handling

Skills should return None or a custom message if needed. In case of a error, a Skill must raise either of the following error types:

  • InvalidSkillParametersError: If the arguments provided to Skill parameters are invalid.
  • SkillCancelledError: If the Skill is aborted due to a cancellation request.
  • SkillError: An error encountered while executing the Skill.