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:
estimate_posefor identifying an object's position,plan_graspfor planning how to pick up an object, andmove_robotfor moving a robot.
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.