The Robotics WEBook

An online textbook about robots and other mechatronic systems

Software architectures

The “brain” of a robot is an embedded control system, providing a set of software processes to couple the (energy-carrying) mechanical parts of the robot with the (non-energy-carrying) signal processing parts. The software processes must provide efficient and deterministic execution of control, planning and sensing algorithms, while still allow (re)configuration for each particular application or instantiation.

Every particular structure of putting the software processes together is called an architecture. This Chapter describes the architectures that have been used in a wide range of applications during the last decades.

Relevant topics: realtime software needs for control (scheduling, timing, mutual exclusion, interprocess communication, …); input/output to hardware; middleware; Human-Machine Interface; monitoring and exception handling; …