Welcome to the page of predictive
control
PREDICTIVE CONTROL APPLIED TO AN AUTONOMOUS MICROROBOT
In the 90s some new types of controllers have demonstrated good results in diverse applications. They are the called predictive controllers. Their principle is simple, being based on the model of the process, it calculates the control values in order to obtain an appropriate response in accordance to some values of the desired outputs and some constraints and conditions of operation. In spite of this interesting principle, these controllers, and mainly for complex applications, have limitations derived from the number of calculations to carry out. In this case, the predictive control is applied to a microrobot that will carry out trajectories on a 2-D space.
Contents · Foundations of predictive control
Our robot has an internal controller of speed that executes the orders of speed (lineal and angular), that are send by radio. The controller controls the speed of movements of the robot in a precise way. The characteristics of this controller are:
This controller is that of lower level. To a superior level there exists the predictive controller that calculates the setpoints of the lower control: lineal speed and the angular correction.
- Quick answer time.
- Very good regulation from very low speeds (1 cm/s) to the maximum speed (100 cm/s).
- Symmetrical behavior in spin.
- Null influence of a wheel on the other one.
- Forward and backward movements.
Foundations of predictive control.
The based on models predictive control are based on the following ideas:
In the following drawing these principles for the t instant and t+1could be interpreted.
- A dynamic model of the process is used to predict the future behavior, in a horizon of prediction N2. The predicted values of the outputs
(t+ k/ t), for k= 1., N2, depend on the values until the t instant (past values of the entrances and the exits) and of the future values of the control signals u(t+ k/ t).
- A future reference trajectory w(t+ j) is defined, that describes how we want to drive the robot from the current value y(t) to the watchword future wanted r(t+ j).
- The future values of control are calculated {u(t), u(t+1)., u(t+ N2)} so that a certain function of cost of the errors of prediction, w(t+ j)-
(t+ j), is minimized. Normally some structure in the law of control is added, introducing a control horizon Nu.
- The first element of the vector of optimum control u(t/t) is applied to the plant. The remaining elements are not considered and this procedure is repeated every sampling time. In this way, a new law of control u(t+1/t+1), that it is different from the signal calculated previously u(t+1/t) is obtained.
Predictive control of the robot.
The control program has been developed with Matlab 5.1, the diagram of flow for the predictive controller is the following:
In general, the controller carries out:
- Beginning: Initialization of parameters, position of the robot, nodes of trajectory.
- Calculating trajectories: it calculates the trajectory with the main previous nodes.
- Inverse model simulation: Obtaining the trajectory of reference for the controller.
- CMPC algorithm: Algorithm predictive control of Matlab that gives the control signals.
- Transmission of the control signals.
- If there is an error the process is repeated, otherwise the following control signals previously calculated are sent.
Results of the experiments for several trajectories.Below, four experiments of control are shown where we could see the behavior of the robot. In order to interpret the graphic results is necessary the following:
Trajectory 1.
- One square followed by one blue triangle marks the position of the robot and its orientation.
- The following blue squares are the nodes that define the initial trajectory.
- The blue points mark the initial trajectory.
- The red circles point out the position that of the robot with the data of vision in each sample time.
In this trajectory the robot is on the right with an orientation of 180º and it must go towards the left taking a curve in order to locate guided toward the right. It could be the case of a robot attacker picking up the ball in order to
attack again.Trajectory 2.
In this case the robot is in the center of the field with an initial orientation of about 45º, completely disoriented with respect to the trajectory to do. We could see the robot rotates from the first moment and it continues a good trajectory. It could be a similar case to the previous where a robot returns from an early position in order to pick up the ball from behind.
Trajectory 3.
Now, an extreme case where it continues a quite complicated trajectory and the robot reacts and corrects the sense.
Trajectory 4.
The last case is a diagonal movement to the field where it goes by some intermediates points that defines a bended trajectory in the two senses.
For this case also come in the following graph the control signals obtained with the predictive controller.
Also, you could see a video with two experiments.
Project (PDF)
comments and suggestions:gamero AT eia DOT udg DOT es