One of the most common controllers is a PID-controller, which are currently used to control the actions of the robot. A visual representation of the system is given in Figure 1 below.
The controller tries to minimize the error by the adjustment of a control variable, which consists of a weighted sum of three control terms: a Proportional, an Intergral and a Derivative action, hence the name PID-controller. These actions can in short be explained as follows:
For the P action, the error $e(t)$ is multiplied by the gain $K_p$ , so $P = K_p \times e(t)$. For the I action the past errors are summed by an integral and multiplied by a gain called $K_i$ , which makes the second control action $I = K_i \times \int_{0}^{t} e(\tau) d\tau$. The third control action consists of the multiplication of controller gain $K_d$ with the rate of change in error and is described as $D = K_d \times \frac{de(t)}{dt}$. The control actions can be balanced by tuning the controller, which implies changing the gains of the three separate control actions, which regulate the so to say amount of this action.
The proportional action (P) gets the plant as fast as possible to the set-point (SP), the integral action (I) eliminates the steady state error, which is the difference between the set-point and the value that the plant (the robot in this case) converges to as a final value and the derivative control action restrains the system from moving to quickly (it dampens the systems oscillations).