Software Architecture
Intelligent Software Structures and Mechanisms for Capable Service and Assistive Robots
Time and again, industry and research have predicted that service robotics will bring medium and long-term commercial success and influence our society significantly. Important contributions are needed and expected from innovations in software. Whereas typical control tasks are priorities among classic robots, more flexible or even autonomous systems particularly require such capabilities as understanding environments or aspects of environments or capabilities to interact with humans. This trend is leading to more complex software with greater demands on computing power and range of communication as well as runtime performance that is more difficult to control and predict.
These challenges are being met by developments in organizational designs and patterns of software (architecture) and in suitable implementation frameworks. Not only repositories with finished and tested modules but also specific tools for programming, configuration and diagnosis are available to support the development of concrete applications.
The Robotic Systems Business Unit’s research on software architecture is tackling problems ranging from lower level organization and communication of components to generic support of complex patterns of interaction, including:
- Distributed systems, robot control architectures and finite-state machines
- Versions of data logistics for specific demands and applications (e.g. dynamic load distribution)
- Customized and generic error tolerance mechanisms to integrate real-time and non-real-time components and subsystems
- Distributed algorithms (e.g. machine attention; consensus finding among several non-orthogonal, embedded pattern recognition modules, etc.)
Our expertise enables us to even support, i.e. quickly and cost effectively produce, applications, which, given their specific requirements, would be difficult to produce with other available software frameworks.