The Robotics WEBook

An online textbook about robots and other mechatronic systems

Embedded systems for control

This chapter describes the hardware, the operating system basics and the software tools and primitives used in the control systems for mechatronic machines, such as robots, machine tools, cars, airplanes, satellites, … Less attention is paid to non-mechatronic domains such as telecommunications, multimedia, home appliances, etc. The major differences between these two classes is that mechatronic machines always contain moving parts (“mechanisms”) whose motion must be actuated, sensed and planned.

What are embedded (control) systems?

An embedded system is a set of computer-controlled devices that make products work while remaining mostly invisible to the users of the products. This in contrast to much more visible computers such as desktops and servers. Hence, embedded systems can differ in many possible ways from these “normal” computers. Here is a list of such differences, and, many of them can be linked together but very few systems have to satisfy all these special requirements:

The following sections describe

Operating system basics

This section introduces the basics of operating systems, as far as relevant for embedded systems engineers. Special attention is given to the realtime aspects of many embedded systems.

Hardware interfacing

This section introduces the basics of how to interface a control computer to the hardware of the machine. DAQ (AD, DA, DIO, …), motor drive unit, fieldbus, PLC, …

Software primitives & tools

This section introduces the basic software concepts, primitives and tools that are useful for mechatronic machine controllers. Low-level software primitives; design patterns for mechatronic control systems; cross-development, debugging, JTAG, BDM; bootloader; …