Robotic systems are complex mechatronic systems as they combine the domains of mechanical and electrical engineering as well as the discipline of computer science and control theory in a synergetic manner.
These characteristics make the robotic domain an intriguing and fascinating field, which easily can get very complex from the systems point of view due to the amount of components and their strong interaction among the different disciplines mentioned before.
The increasing effort in terms of system design, configuration management and harmonization, in order to meet the system requirements and expected behavior, challenges for new development approaches.
To handle this complexity the methodology of model-based engineering is used nowadays. By modeling the components of the system and their properties upfront, certain analysis can be made, e.g. mechanical and electrical interfaces, weight, power, computing performance, etc.
Due to the rise of multicore processors, their utilization by new algorithms and different processor architectures within a robot, e.g. FPGA, x86, ARM, etc., the landscape of processing entities is highly distributed and versatile.
Equally, the amount and diversity of implementations of different algorithms and their mapping to execution components is a challenging task and nowadays mainly driven by their implementation architecture.
With the introduction of communication frameworks and middleware solutions, e.g. ROCK, hardware can be abstracted, binaries are compiled to the hardware architecture on-the-fl. The deployment or the mapping of software to execution units becomes arbitrary and is hence mainly based on heritage and engineering judgement of the system engineer.
Although there are proposals for automatizing and optimizing this step, this work proposes an additional layer on top.
Utilizing automatic cost analysis, software simulation, semantic analysis and this introduced independence based between algorithm specifications and their implementation on a target architecture, the model-based design of robots can be enriched by the specification of non-functional properties, e.g. latencies, bandwidth, resource utilization, which in turn can be used to apply different optimization techniques to achieve the targeted runtime performance of robotic systems.