The ODIN project utilizes the OpenFlow software architecture, which has been designed for human robot collaborative systems. The OpenFlow software architecture is an integration and orchestration framework for flexible, responsive and robust HRC manufacturing systems. The approach is modular and is designed with scalability and extensibility in mind.
In the OpenFlow architecture the execution of tasks and actions are managed by the OpenFlow orchestrator software module. The OpenFlow connects with the ODIN AI Task Planning to get an optimized task plan that is then converted to a detailed OpenFlow production schedule. The OpenFlow orchestrator main functionality is the execution of an OpenFlow production schedule, which defines its interactions with other modules.
The OpenFlow production execution schedule models the tasks and actions that need to be executed by the production resources to implement a production order. The production schedule also models the system level reactions and recovery options in anticipation of disrupting events such as safety, security or different type of failures, such as equipment or network failure.
The production schedule model is comprised of a directed graph of actions, together with meta-information that group the actions into tasks and define how to dispatch the necessary commands for each action. Each action is a node in the graph and connects to other actions with directed vertices. Every vertex has a source action, a destination action and a vertex unique name. Vertices among the same source and the same destination actions are uniquely named.
Actions in the OpenFlow architecture model atomic, indivisible processes or operations. These actions can represent human tasks, robot or machinery equipment operations, or computing processes. Each action is controlled by a specific action actor.
The OpenFlow supports different technologies, including the Robot Operating System (ROS), that is a set of software libraries and tools used to build robot applications.
All active actions are executed in parallel with no assumptions regarding the relative order of the action executions. The actor model is a concurrent computation model, first mentioned in 1973, that introduces actors as a primitive of concurrent computation. In a nutshell actors exchange information only by immutable messages.
Tasks are defined as groups of actions; each task has a single first action and a single last action. When requested, OpenFlow starts a schedule by automatically activating all the entry-point actions and stops a schedule when the first terminating, stop action has been reached. Once an action reaches a terminal state the action actor sends start signals to the appropriate actions that they could start. Selecting suitable next actions as well as the preconditions that need to be fulfilled before an action can start after receiving a start signal depends on the configurations in the OpenFlow manufacturing schedule and the monitored execution status of the action. The OpenFlow orchestrator selects the proper actions to start depending on the execution outcome of an action as well as the overall execution context. The following image shows a visualization of an OpenFlow schedule at task level.
A first version of the OpenFlow module has been developed in the ODIN project and has been used to orchestrate an integrated system scenario based on the White Goods Pilot Case. This integrated software system implementation was used to test and verify the module prototypes at both conceptual and functional level.
Future work, among others, will focus on the development of the OpenFlow architecture and orchestration module as well as the integration in the end users’ industrial environments. This will allow the full-scale deployment and operation of the ODIN Components and the subsequent measurement of their performance.
Spyros Koukas - MEng, MBA
Senior Software Engineer-Technical Lead @netcompany-intrasoft
Architecture, technical Lead, design, integration and development of distributed software systems. Experienced in applications for Robotics, Manufacturing, IoT, Simulation, Telecommunications and the Web