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