Modern and flexible industrial production requires a quick and easy operation of robot systems. When several robots or several robot components need to operate cooperatively, the effort for programming the system becomes considerable, given the difficulty of efficiently synchronizing all the working components. Therefore, there is the need to program the robot tasks in an intuitive way providing the possibility to easily change the work flow using user-friendly interfaces.

In order to define tasks in an easy way, HORSE extends the FlexBE framework, which allows the definition and testing of custom tasks through a user-friendly graphical interface.

The user can connect together building blocks that represent the steps, which together define a complex task. The steps represent for example the movement of a robotic arm or the activation of a specific tool. They can be parameterized to permit an easy specification of the desired values in the task editor and it is possible to fully customize step definitions to allow for the integration of additional hardware and software interfaces after the initial deployment of HORSE.

Once the basic steps to control a robot or a tool are defined, the user can easily connect them to fulfill the desired task workflow using the graphical interface. This allows the easy definition or modification of a task without the need of a software expert.

Through this module is also possible to define the requirements related to the execution of a task, for example the need of an autonomous agent equipped with a gripper or capable of handling heavy payload. Once these requirements are defined, it is possible to retrieve this information to allow the HORSE framework to select the suitable agents for the execution.

In conclusion, using FlexBE for the task definition allows the user to define the task execution flow, all the required parameters and the necessary components that are needed for the complete task definition, avoiding the need of specialized operators.