I.1. State representation

Biological, economic and other mechanical systems surrounding us can often be described by a differential equation such as:


under the hypothesis that the time t in which the system evolves is continuous [JAU 05]. The vector u(t) is the input (or control) of the system. Its value may be chosen arbitrarily for all t. The vector y(t) is the output of the system and can be measured with a certain degree of accuracy. The vector x(t) is called the state of the system. It represents the memory of the system, in other words the information needed by the system in order to predict its own future, for a known input u(t). The first of the two equations is called the evolution equation. It is a differential equation that enables us to know where the state (t) is headed knowing its value at the present moment t and the control u(t) that we are currently exerting. The second equation is called the observation equation. It allows us to calculate the output vector y(t), knowing the state and control at time t. Note, however, that, unlike the evolution equation, this equation is not a differential equation as it does not involve the derivatives of the signals. The two equations given above form the state representation of the system.

It is sometimes useful to consider a discrete time k, with  images/Introduction_Inline_2_2.gif where images/Introduction_Inline_2_3.gif is the set of integers. If, for instance, the universe is being considered as a computer, it is possible to consider that the time k is discrete and synchronized to the clock of the microprocessor. Discrete-time systems often respect a recurrence equation such as:


The first objective of this book is to understand the concept of state representation through numerous exercises. For this, we will consider, in Chapter 1, a large number of varied exercises and show how to reach a state representation. We will then show, in Chapter 2, how to simulate a given system on a computer using its state representation.

The second objective of this book is to propose methods to control the systems described by state equations. In other words, we will attempt to build automatic machines (in which humans are practically not involved, except to give orders, or setpoints), called controllers capable of domesticating (changing the behavior in a desired direction) the systems being considered. For this, the controller will have to compute the inputs u(t) to be applied to the system from the (more or less noisy) knowledge of the outputs y(t) and from the setpoints w(t) (see Figure I.1).

From the point of view of the user, the system, referred to as a closed-loop system, with input w(t) and output y(t), will have a suitable behavior. We will say that we have controlled the system. With this objective of control, we will, in a first phase, only look at linear systems, in other words when the functions f and g are assumed linear. Thus, in the continuoustime case, the state equations of the system are written as:


and in the discrete-time case, they become:


Figure I.1. Closed loop concept illustrating the control of a system


The matrices A, B, C, D are called evolution, control, observation and direct matrices. A detailed analysis of these systems will be performed in Chapter 3. We will then explain, in Chapter 4, how to stabilize these systems. Finally, we will show in Chapter 5 that around certain points, called operating points, nonlinear systems behave like linear systems. It will then be possible to stabilize them using the same methods as those developed for the linear case.

Finally, this book is accompanied by numerous MATLAB programs available at:

I.2. Exercises

EXERCISE I.1.– Underwater robot
The underwater robot Saucisse of the Superior National School of Advanced Techniques (SNSAT) Bretagne [JAU 09], whose photo is given in Figure I.2, is a control system. It includes a computer, three propellers, a camera, a compass and a sonar. What does the input vector u, the output vector y, the state vector x and the setpoint w correspond to in this context? Where does the computer come in the control loop?

Figure I.2. Controlled underwater robot

EXERCISE I.2.– Sailing robot
The sailing robot Vaimos (French Research Institute for Exploitation of the Sea (FRIES) and SNSAT Bretagne) in Figure I.3 is also a control system [JAU 12a, JAU 12b]. It is capable of following paths by itself, such as the one drawn in Figure I.3. It has a rudder and a sail adjustable using a sheet. It also has an anemometer on top of the mast, a compass and a Global Positioning System (GPS). Describe what the input vector u, the output vector y, the state vector x and the setpoint w may correspond to.

Figure I.3. Sailing robot Vaimos a) and a path followed by Vaimos b). The zig-zags in the path are due to Vaimos having to tack in order to sail against the wind


I.3. Solutions

Solution to Exercise I.1 (underwater robot)

The input vector images/Introduction_Inline_5_6.gif corresponds to the electric voltage given to the three propellers and the output vector y(t) includes the compass, the sonar data and the images taken by the cameras. The state vector x corresponds to the position, orientation and speeds of the robot. The setpoint w is requested by the supervisor. For instance, if we want to perform a course control, the setpoint w will be the desired speed and course for the robot. The controller is a pogram executed by the computer.

Solution to Exercise I.2 (sailing robot)

The input vector images/Introduction_Inline_6_2.gif corresponds to the length of the sail sheet images/Introduction_Inline_6_2a.gif and to the angle of the rudder δg . The output vector images/Introduction_Inline_6_2b.gif includes the GPS data m, the ultrasound anemometer (weather vane on top of the mast) ψ and the compass θ. The setpoint w indicates here the segment ab to follow. Figure I.4 illustrates this control loop. A supervisor, not represented on the figure, takes care of sequencing the segments to follow in such a way that the robot follows the desired path (here 12 segments forming a square box followed by a return to port).

Figure I.4. Control loop of the sailing robot




We will call modeling the step that consists of finding a more or less accurate state representation of the system we are looking at. In general, constant parameters appear in the state equations (such as the mass or the inertial moment of a body, the coefficient of viscous friction, the capacitance of a capacitor, etc.). In these cases, an identification step may prove to be necessary. In this book, we will assume that all the parameters are known, otherwise we invite the reader to consult Eric Walter’s book [WAL 14] for a broad range of identification methods. Of course, no systematic methodology exists that can be used to model a system. The goal of this chapter and of the following exercises is to present, using several varied examples, how to obtain a state representation.

1.1. Linear systems

In the continuous-time case, linear systems can be described by the following state equations:


Linear systems are rather rare in nature. However, they are relatively easy to manipulate using linear algebra techniques and often approximate in an acceptable manner the nonlinear systems around their operating point.

1.2. Mechanical systems

The fundamental principle of dynamics allows us to easily find the state equations of mechanical systems (such as robots). The resulting calculations are relatively complicated for complex systems and the use of computer algebra systems may prove to be useful. In order to obtain the state equations of a mechanical system composed of several subsystems S1, S2, . . . , Sm, assumed to be rigid, we follow three steps:

1) Obtaining the differential equations. For each subsystem Sk, with mass m and inertial matrix J, the following relations must be applied:


where the fi are the forces acting on the subsystem Sk, Mfi represents the torque created by the force fi on Sk, with respect to its center. The vector a represents the tangential acceleration of Sk and the vector images/ch1_image_2_4a.gif represents the angular acceleration of Sk. After decomposing these 2m vectorial equations according to their components, we obtain 6m scalar differential equations such that some of them might be degenerate.

2) Removing the components of the internal forces. In differential equations there are the so-called bonding forces, which are internal to the whole mechanical system, even though they are external to each subsystem composing it. They represent the action of a subsystem Sk on another subsystem S. Following the action–reaction principle, the existence of such a force, denoted by fk, , implies the existence of another force f,k, representing the action of S on Sk, such that images/ch1_Inline_3_9.gif Through a formal manipulation of the differential equations and by taking into account the equations due to the action-reaction principle, it is possible to remove the internal forces. The resulting number of differential equations has to be reduced to the number n of degrees of freedom q1, . . . , qn of the system.
3) Obtaining the state equations. We then have to isolate the second derivative images/ch1_Inline_3_6.gif from the set of n differential equations in such a manner to obtain a vectorial relation such as:


where u is the vector of external forces that are not derived from a potential (in other words, those which we apply to the system). The state equations are then written as:


A mechanical system whose dynamics can be described by the relation images/ch1_Inline_3_7.gif will be referred to as holonomic. For a holonomic system, q and images/ch1_Inline_3_7a.gif are thus independent. If there is a so-called non-holonomic constraint that links the two of them (of the form images/ch1_Inline_3_8.gif the system will be referred to as non-holonomic. Such systems may be found for instance in mobile robots with wheels [LAU 01]. Readers interested in more details on the modeling of mechanical systems may consult [KHA 07].

1.3. Servomotors

A mechanical system is controlled by forces or torques and obeys a dynamic model that depends on many poorly known coefficients. This same mechanical system represented by a kinematic model is controlled by positions, velocities or accelerations. The kinematic model depends on well-known geometric coefficients and is a lot easier to put into equations. In practice, we move from a dynamic model to its kinematic equivalent by adding servomotors. In summary, a servomotor is a direct current motor with an electrical control circuit and a sensor (of the position, velocity or acceleration). The control circuit computes the voltage u to give to the motor in order for the value measured by the sensor corresponds to the setpoint w. In practice, the signal w is generally given in the form of a square wave called pulse-width modulation (PWM) ). There are three types of servomotors:

– the position servo. The sensor measures the position (or the angle) x of the motor and the control rule is expressed as u = k (xw). If k is large, we may conclude that x img w;
– the velocity servo. The sensor measures the velocity (or the angular velocity) img of the motor and the control rule is expressed as images/ch1_Inline_4_8.gif If k is large, we have images/ch1_Inline_4_9.gif
– the acceleration servo. The sensor measures the acceleration (tangential or angular) img of the motor and the control rule is expressed as images/ch1_Inline_4_10.gif If k is large, we have img img w.

1.4. Exercises

EXERCISE 1.1.– Integrator
The integrator is a linear system described by the differential equation img = u. Find a state representation for this system. Give this representation in a matrix form.
EXERCISE 1.2.– Second order system
Let us consider the system with input u and output y described by the second order differential equation:


Taking x =(y, img), find a state equation for this system. Give it in matrix form.
EXERCISE 1.3.– Mass-spring system
Let us consider a system with input u and output q1 as shown in Figure 1.1 (u is the force applied to the second carriage, qi is the deviation of the ith carriage with respect to its point of equilibrium, ki is the stiffness of the ith spring and α is the coefficient of viscous friction).

Figure 1.1. a) Mass-spring system at rest, b) system in any state


Let us take the state vector:


1) Find the state equations of the system.
2) Is this system linear?
EXERCISE 1.4.– Simple pendulum
Let us consider the pendulum in Figure 1.2. The input of this system is the momentum u exerted on the pendulum around its axis. The output is y(t), the algebraic distance between the mass m and the vertical axis:
1) Determine the state equations of this system.
2) Express the mechanical energy Em as a function of the state of the system. Show that the latter remains constant when the momentum u is nil.
EXERCISE 1.5.– Dynamic modeling of an inverted rod pendulum
Let us consider the so-called inverted rod pendulum system, which is composed of a pendulum of length placed in an unstable equilibrium on a carriage, as represented in Figure 1.3. The value u is the force exerted on the carriage of mass M, x indicates the position of the carriage, θ is the angle between the pendulum and the vertical axis and img is the force exerted by the carriage on the pendulum. At the extremity B of the pendulum, a point mass m is fixated. We may ignore the mass of the rod. Finally, A is the point of articulation between the rod and the carriage and images/ch1_Inline_6_10.gif is the rotation vector associated with the rod.
1) Write the fundamental principle of dynamics as applied on the carriage and the pendulum.
2) Show that the velocity vector at point B is expressed by the relation images/ch1_Inline_6_11.gif Calculate the acceleration images/ch1_Inline_6_11a.gif of point B.
3) In order to model the inverted pendulum, we will take the state vector images/ch1_Inline_6_12.gif Justify this choice.
4) Find the state equations for the inverted rod pendulum.

Figure 1.2. Simple pendulum with state vector images/ch1_image_7_3.gif


Figure 1.3. Inverted rod pendulum

EXERCISE 1.6.– Kinematic modeling of an inverted rod pendulum
In a kinematic model, the inputs are no longer forces or moments, but kinematic variables, in other words positions, velocities or accelerations. It is the role of servomotors to translate these kinematic variables into forces or moments.
Let us take the state equations of the inverted rod pendulum established in the previous exercise:


1) Instead of taking the force u on the carriage as input, let us rather take the acceleration images/ch1_Inline_8_8.gif What does the state model become?
2) Show how, by using a proportional control such as images/ch1_Inline_8_9.gif with large K, it is possible to move from a dynamic model to a kinematic model. In what way does this control recall the servomotor principle or the operational amplifier principle?
EXERCISE 1.7.– Segway
The segway represented on the left side of Figure 1.4 is a vehicle with two wheels and a single axle. It is stable since it is controlled. In the modeling step, we will of course assume that the engine is not controlled.
Its open loop behavior is very close to that of the planar unicycle represented in Figure 1.4 on the right hand side. In this figure, u represents the exerted momentum between the body and the wheel.
The link between these two elements is a pivoting pin. We will denote by B the center of gravity of the body and by A that of the wheel. C is a fix point on the disk. Let us denote by α the angle between the vector images/ch1_Inline_8_10.gif and the horizontal axis and by θ the angle between the body of the unicycle and the vertical axis. This system has two degrees of freedom α and θ. The state of out system is given by the vector images/ch1_Inline_8_11.gif
The parameters of our system are:
– for the disk: its mass M, its radius a, its moment of inertia JM ;
– for the pendulum: its mass m, its moment of inertia Jp, the distance between its center of gravity and the center of the disk.
Find the equations of the systems.

Figure 1.4. The segway has two wheels and one axle

EXERCISE 1.8.– Hamilton’s method
Hamilton’s method allows us to obtain the state equations of a conservative mechanical system (in other words, whose energy is conserved) only from the expression of a single function: its energy. For this, we define the Hamiltonian as the mechanical energy of the system, in other words the sum of the potential energy and the kinetic energy. The Hamiltonian can be expressed as a function H (q, p) of the degrees of freedom q and of the associated amount of movement (or kinetic moments in the case of a rotation) p. The Hamilton equations are written as:


1) Let us consider the simple pendulum shown in Figure 1.6. This pendulum has a length of and is composed of a single point mass m. Calculate the Hamiltonian of the system. Deduce the state equations from this.
2) Show that if a system is described by Hamilton equations, then the Hamiltonian is constant.

Figure 1.5. Holonomic robot with omni wheels

EXERCISE 1.9.– Omnidirectional robot
Let us consider the robot with three omni wheels, as shown in Figure 1.5. An omni wheel is a wheel equipped with a multitude of small rollers over its entire periphery that allow it to slide sideways (in other words perpendicularly to its nominal movement direction). Let us denote by vi the velocity vector of the contact point of the ith wheel. If ii is the normed direction vector indicating the nominal movement direction of the wheel, then the component of vi according to ii corresponds to the rotation ωi of the wheel whereas its complementary component (perpendicular to ii ) is linked to the rotation of the peripheral rollers. If r is the radius of the wheel, then we have the relation i = 〈vi, ii〉 = imgviimg. imgiiimg. cos αi, where images/ch1_Inline_10_6.gif If cos αi = ±1, the wheel is in its nominal state, i.e. it behaves like a classical wheel. If cos αi =0, the wheel no longer turns and it is in a state of skid.
1) Give the state equations of the system. We will use the state vector x =(x, y, θ) and the input vector ω =(ω1, ω2, ω3).
2) Propose a loop that allows us to obtain a model tank described by the following state equations:


Figure 1.6. Simple pendulum

EXERCISE 1.10.– Modeling a tank
The robot tank in Figure 1.7 is composed of two parallel motorized crawlers (or wheels) whose accelerations (which form the inputs u1 and u2xyθ
v and 2xyθv, 2T