Designing the software architecture for a human-robot collaborative system

16 September,2021 - BY admin

Designing the software architecture for a human-robot collaborative system

The Global Robotics Market is growing fast. It was valued at USD 27.73 billion in 2020 and is expected to reach USD 74.1 billion by 2026, registering a CAGR of 17.45%, during the period of 2021-2026 . Robots, have been used in manufacturing since the last century, however their market is on the rise the last years. The rise can be attributed to new applications and new technologies. One of the most promising new applications is the human robot collaboration and the advances in software and computing hardware is one of the key factors that enable these applications.

A brief definition of the “robot” is key to understand the importance of the underlying software and software architecture in a robotic system.

Robots can typically do three things: sense, compute, and act.  Computation are controlled by software, which is one of the key elements of a robot. A robot will diligently follow instructions one by one in order to act, and software crafts and provides these instructions. In order to know what happens in the surrounding environment, and be able to respond, it is software that processes the information provided by sensors. Hardware, software and sensors are all necessary components in a modern robotics system, especially one with practical applications. 

ODIN aims to take human robot collaboration to the next level and bring humans and robots closer in the manufacturing workplace. For this reason, ODIN utilizes several state-of-the-art software modules that need to be designed, developed, tested and integrated into a functional software system in a way that is also flexible to meet the agile development requirements of the ODIN project and its pilot cases.

In a nutshell, some of the features that ODIN Software modules will offer are:

•    High Payload Collaborative Robots (Cobots) control
•    Mobile Dual Arm Workers control
•    Augmented Reality operator support
•    Robot end-effectors control
•    Tools for easy robot programming
•    Robotic Perception Features for environment, process and human understanding
•    Colored Depth Camera control
•    State-of-the-art Human Machine Interfaces interfacing
•    AI Task Planning and Motion Planning
•    Digital Twin and Digital Simulation
•    Concurrent Human Robot Collaborative Task Orchestration
•    Operator Safety & Risk Assessment
•    Cyber Security
•    Operator Training
•    MES and ERP integration

The ODIN modules that will offer these features are developed by different teams of specialists, each one expert in their field, using different technologies and running in different, and in some cases specialized, hardware with heterogeneous requirements in communication.

Integrating the ODIN modules into an interoperable system requires an understanding of each module functionality and its interaction with other modules. 
A design by contract (DbC) approach has been followed to design the interfaces of each module. Using a DbC approach, facilitates collaboration between different developer teams as each module has concrete interface definitions to work at a given time. Since the development process follows an agile approach, it is anticipated that the interfaces will evolve, following the developments of the project. The use of a Domain Driven Design (DDD) approach has helped to the direction of agility and is followed to create and evolve a ubiquitous set of interfaces.  

The documentation of the architecture is also accompanied by a set of interactive diagrams of different layers of abstraction following a lean graphical approach that is similar to the C4 model, adapted for the needs of a robotic software system.
Spyros Koukas - MEng, MBA

Senior Software Engineer-Technical Lead @ INTRASOFT International
Architecture, technical Lead, design, integration and development of distributed software systems. Experienced in applications for Robotics, Manufacturing, IoT, Simulation, Telecommunications and the Web.  Diligently writing clean code since 2008.

Comments (0)

Get the latest news on ODIN right to your inbox!

Newsletter Permission: The ODIN project will use the information you provide in this form to be in touch with you and to provide updates and news. Please let us know if you would like to hear from us:
ODIN newsletter: You can change your mind at any time by contacting us at We will not distribute your email address to any party at any time.