1 Background

Wheeled mobile robotics remains a very active research topic, as witnessed by the Darpa Grand Challenges [49.1]. The first Grand Challenge, in 2005, took place in a clear environment and was won by Stanley (Fig. 49.1a). The second Grand Challenge, in 2007, took place in urban environment and demonstrated autonomous driving capabilities, especially in complex environments with strong safety and reliability issues. This made possible the development of autonomous cars, such as google car (Fig. 49.1b). Whatever the sensors used for localization and detection, the use in every day life of cybercars, such as VipaLab (Fig. 49.1c), is becoming a reality. Numerous tests are under progress all around the world showing the benefits of autonomous transportation systems. On-road transportation probably constitutes the main and most visible application domain of emerging autonomous wheeled robots. Driving assistance for human activities in off-road conditions constitutes another application domain. Indeed, WMRs can also be used in hazardous environments, or in environments that are not reachable by humans. Planetary exploration (Chap. 55), with the example of Curiosity (Fig. 49.1d), is a popular example of such applications. Other developments, concerning people well-being and safety, are also investigated in the field of environment monitoring, surveillance, agriculture, civil protection or defence. Figure 49.1e,f illustrate these developments with the first one representing the Claas etrion robot (for autonomous farming, see also Chap. 56) and the second one representing the GlossaryTerm

SUGV

robot manufactured by iRobot. This robot, dedicated to civil protection, was the first one to enter the damaged Fukushima power plant. All these examples highlight the possible benefits and different applications of WMRs. The variety of robot designs (in term of scale, locomotion mode, or related actuation strategy see Chap. 24), is in line with the diversity of application needs. Whatever the system and application, however, autonomy relies on the design of efficient feedback laws that can ensure precise autonomous motion of the vehicle despite all possible modeling errors and perturbations. This chapter is dedicated to this issue and aims at providing the basics of feedback control design for nonholonomic WMRs. Implementation of these control laws supposes that one is able to measure the variables involved in the control loop (typically the position and orientation of the mobile robot with respect to either a fixed frame or a path that the vehicle should follow). Throughout this chapter we will assume that these measurements are available continuously in time and that they are not corrupted by noise. In a general manner, robustness considerations will not be discussed in detail, one reason being that, beyond imposed space limitations, a large part of the presented approaches are based on linear control theory. The feedback control laws then inherit the strong robustness properties associated with stable linear systems. Results can also be subsequently refined by using complementary, eventually more elaborate, automatic control techniques. For the sake of simplicity, the control methods are developed mainly for unicycle-type and car-like mobile robots, which correspond respectively to the types (2,0) and (1,1) in the classification proposed in Chap. 24. Most of the results can in fact be easily extended/adapted to other mobile robots, in particular to systems with trailers. We will mention the cases where such extensions are straightforward. All reported simulation results, illustrating various control problems and solutions, are carried out for a car-like vehicle, whose kinematics is slightly more complex than that of unicycle-type vehicles.

Fig. 49.1a–f
figure 1

Some example of mobile robots for different applications: (a) Stanley (Stanford Univ.), off-road motion; (b) Google car, autonomous car; (c) Vipa (Institut Pascal/Ligier), urban transportation; (d) Curiosity (NASA) planetary exploration; (e) Etrion (Claas), agriculture robot; (f) PackBot (iRobot), public safety

Recall (Fig. 49.2) that:

  1. 1.

    unicycle-type mobile robot is schematically composed of two independent actuated wheels on a common axle whose direction is rigidly linked to the robot chassis, and one or several passively orientable – or caster – wheels, which are not controlled and serve for sustentation purposes.

  2. 2.

    A (rear-drive) car-like mobile robot is composed of a motorized wheeled axle at the rear of the chassis, and one (or a pair of) orientable front steering wheel(s).

Fig. 49.2a,b
figure 2

Unicycle-type (a) and car-like (b) mobile robots

Note also, as illustrated by the diagram below (Fig. 49.3), that a car-like mobile robot can be viewed (at least kinematically) as a unicycle-type mobile robot to which a trailer is attached.

Fig. 49.3
figure 3

Analogy car/unicycle with trailer

Despite the variety of application, three generic control problems can mainly be considered in mobile robotics and are detailed in this chapter.

1.1 Path Following

Given a curve C on the plane, a (nonzero) longitudinal velocity v0 for the robot chassis, and a point P attached to the chassis, the goal is to have the point P follow the curve C when the robot moves with the velocity v0. The variable that one has to stabilize at zero is thus the distance between the point P and the curve (i. e., the distance between P and the closest point M on C). This type of problem typically corresponds to driving on a road while trying to maintain the distance between the vehicle chassis and the side of the road constant. Automatic wall following is another possible application.

1.2 Stabilization of Trajectories

This problem differs from the previous one in that the vehicle’s longitudinal velocity is no longer predetermined because one also aims to monitor the distance gone along the curve C. This objective supposes that the geometric curve C is complemented with a time schedule, i. e., that it is parameterized with the time variable t. This boils down to defining a trajectory t ( x r ( t ) , y r ( t ) ) with respect to a reference frame F 0 . Then the goal is to stabilize the position error vector ( x ( t ) - x r ( t ) , y ( t ) - y r ( t ) ) at zero, with ( x ( t ) , y ( t ) ) denoting the coordinates of point P in F 0 at time t. The problem may also be formulated as one of controlling the vehicle in order to track a reference vehicle whose trajectory is given by t ( x r ( t ) , y r ( t ) ) . Note that perfect tracking is achievable only if the reference trajectory is feasible for the physical vehicle, and that a trajectory which is feasible for a unicycle-type vehicle is not necessarily feasible for a car-like vehicle. Also, in addition to monitoring the position ( x ( t ) , y ( t ) ) of the robot, one may be willing to control the chassis orientation  θ ( t ) at a desired reference value θ r ( t ) associated with the orientation of the reference vehicle. For a nonholonomic unicycle-type robot, a reference trajectory ( x r ( t ) , y r ( t ) , θ r ( t ) ) is feasible if it is produced by a reference vehicle which has the same kinematic limitations as the physical robot. For instance, most trajectories produced by an omnidirectional vehicle (omnibile vehicle in the terminology of Chap. 24) are not feasible for a nonholonomic mobile robot. However, nonfeasibility does not imply that the reference trajectory cannot be tracked in an approximate manner, i. e., with small (although nonzero) tracking errors.

1.3 Stabilization of Fixed Postures

Let F 1 denote a frame attached to the robot chassis. In this chapter, we call a robot posture (or situation) the association of the position of a point P located on the robot chassis with the orientation  θ ( t ) of F 1 with respect to a fixed frame F 0 in the plane of motion. For this last problem, the objective is to stabilize at zero the posture vector  ξ ( t ) = ( x ( t ) , y ( t ) , θ ( t ) ) , with ( x ( t ) , y ( t ) ) denoting the position of P expressed in F 0 . Although a fixed desired (or reference) posture is obviously a particular case of a feasible trajectory, this problem cannot be solved by classical control methods.

2 Control Models

2.1 Kinematics Versus Dynamics

In order to proceed with the control of mobile robots, a model describing its motion has to be derived. Several levels of motion equations may be derived, pending on the targeted application (expected velocity, terrain configuration, etc.). Chapter 24 provides a general configuration dynamic model for WMRs. Its particularization to the case of unicycle-type and car-like mobile robots gives

H ( q ) u ˙ + F ( q , u ) u = Γ ( ϕ ) τ ,
(49.1)

with q denoting a robot’s configuration vector, u a vector of independent velocity variables associated with the robot’s degrees of freedom, H ( q ) a reduced inertia matrix (which is invertible for any q), F ( q , u ) u a vector of forces combining the contribution of Coriolis and wheel–ground contact forces, ϕ the orientation angle of the car’s steering wheel, Γ an invertible control matrix (which is constant in the case of a unicycle-type vehicle), and τ a vector of independent motor torques (whose dimension is equal to the number of degrees of freedom in the case of full actuation, i. e., equal to two for the vehicles considered herein). In the case of a unicycle-type vehicle, a configuration vector is composed of the components of the chassis posture vector ξ and the orientation angles of the castor wheels (with respect to the chassis). In the case of a car-like vehicle, a configuration vector is composed of the components of ξ and the steering wheel angle ϕ. To be complete, this dynamic model must be complemented with kinematic equations in the form

q ˙ = S ( q ) u ,
(49.2)

from which one can extract a reduced kinematic model

z ˙ = B ( z ) u ,
(49.3)

with  z = ξ , in the case of a unicycle-type vehicle, and  z = ( ξ , ϕ ) in the case of a car-like vehicle. In the automatic control terminology, the complete dynamic model (49.1) and (49.2) forms a control system which can be written as

X ˙ = f ( X , τ ) with X = ( q , u )

denoting the state vector of this system, and τ the vector of control inputs. The kinematic models (49.2) and (49.3) are also control systems with respective state vectors q and z and control vector u. Any of these models can be used for control design and analysis purposes. In the remainder of this chapter, we have chosen to work with the kinematic model (49.3). By analogy with the motion control of manipulator arms, this boils down to using a model with velocity control inputs, rather than a model with torque control inputs. This is justified when dynamic effects are not preponderant and low-level velocity control loops on the wheels motor are powerful enough to ensure good velocity tracking. In Sect. 49.5, however, when nonideal wheel-ground contact is addressed, dynamics is considered.

2.2 Modeling in an Absolute Frame

For the unicycle-type mobile robot, the kinematic model (49.3) used from now on is

x ˙ = u 1 cos θ , y ˙ = u 1 sin θ , θ ˙ = u 2 ,
(49.4)

where ( x , y ) represents the coordinates of the point  P m located at mid-distance of the actuated wheels, and the angle θ characterizes the robot’s chassis orientation (Fig. 49.4). In this equation, u1 represents the intensity of the vehicle’s longitudinal velocity, and u2 is the chassis instantaneous velocity of rotation. The variables u1 and u2 are themselves related to the angular velocity of the actuated wheels via the one-to-one relations

u 1 = r 2 ( ψ ˙ r + ψ ˙ ) , u 2 = r 2 R ( ψ ˙ r - ψ ˙ ) ,

with r the wheels’ radius, R the distance between the two actuated wheels, and  ψ ˙ r (resp.  ψ ˙ ) the angular velocity of the right (resp. left) rear wheel.

Fig. 49.4
figure 4

Configuration variables

For the car-like mobile robot, the kinematic model (49.3) used from now on is

x ˙ = u 1 cos θ , y ˙ = u 1 sin θ , θ ˙ = u 1 L tan ϕ , ϕ ˙ = u 2 ,
(49.5)

where ϕ represents the vehicle’s steering wheel angle, and L is the distance between the rear and front wheels’ axles. In all forthcoming simulations, L is set equal to 1.2 m.

2.3 Modeling in a Frénet Frame

The object of this subsection is to generalize the previous kinematic equations when the reference frame is a Frénet frame. This generalization will be used later on when addressing the path following problem.

Let us consider a curve C in the plane of motion, as illustrated on Fig. 49.5 , and let us define three frames F 0 , F m , and F s , as follows. F 0 = { 0 , i , j } is a fixed frame, F m = { P m , i m , j m } is a frame attached to the mobile robot with its origin – the point  P m  – located on the rear wheels axle, at the mid-distance of the wheels, and F s = { P s , i s , j s } , which is indexed by the curve’s curvilinear abscissa s, is such that the unit vector is tangents C. Consider now a point P attached to the robot chassis, and let ( l 1 , l 2 ) denote the coordinates of P expressed in the basis of F m . To determine the equations of motion of P with respect to the curve C let us introduce three variables s, d, and θ e , defined as follows:

  • s is the curvilinear abscissa at the point  P s obtained by projecting P orthogonally on C. This point exists and is unique if the point P is close enough to the curve. More precisely, it suffices that the distance between P and the curve be smaller than the lower bound of the curve radii. We will assume that this condition is satisfied.

  • d is the ordinate of P in the frame F s ; its absolute value is also the distance between P and the curve.

  • θ e = θ - θ s is the angle characterizing the orientation of the robot chassis with respect to the frame  F s .

We also define the curvature c(s) of C at  P s , i. e., c ( s ) = θ s / s .

Fig. 49.5
figure 5

Representation in a Frénet frame

Using these notations one easily deduces from (49.4) the following system of equations ([49.2] for details), which generalizes (49.4)

s ˙ = 1 1 - d c ( s ) [ ( u 1 - l 2 u 2 ) cos θ e - l 1 u 2 sin θ e ] , d ˙ = ( u 1 - l 2 u 2 ) sin θ e + l 1 u 2 cos θ e , θ ˙ e = u 2 - s ˙ c ( s ) .
(49.6)

For car-like vehicles, one easily verifies, by using (49.5), that the system (49.6) becomes

s ˙ = u 1 1 - d c ( s ) cos θ e - tan ϕ L ( l 2 cos θ e + l 1 sin θ e ) , d ˙ = u 1 sin θ e + tan ϕ L ( l 1 cos θ e - l 2 sin θ e ) , θ ˙ e = u 1 L tan ϕ - s ˙ c ( s ) , ϕ ˙ = u 2 .
(49.7)

3 Adaptation of Control Methods for Holonomic Systems

We address in this section the problems of trajectory stabilization and path following. When we defined these problems in the introduction, we considered a reference point P attached to the robot chassis. It turns out that the choice of this point is important. Indeed, consider for instance the equations (49.6) for a unicycle point P when C is the axis ( O , i ) . Then, s = x P , d = y P , and θ e = θ represent the robot’s posture with respect to the fixed reference frame F 0 . There are two possible cases depending on whether P is, or is not, located on the actuated wheels axle. Let us consider the first case, for which  l 1 = 0 . From the first two equations of (49.6 ), one has

x ˙ P = ( u 1 - l 2 u 2 ) cos θ , y ˙ P = ( u 1 - l 2 u 2 ) sin θ .

These relations indicate that P can move only in the direction of the vector ( cos θ , sin θ ) . This is a direct consequence of the nonholonomy constraint to which the vehicle is subjected. Now, if P is not located on the wheels axle, then

x ˙ P y ˙ P = cos θ - l 1 sin θ sin θ l 1 cos θ 1 - l 2 0 1 u 1 u 2 .
(49.8)

The fact that the two square matrices in the right-hand side of this equality are invertible indicates that  x ˙ P and  y ˙ P can take any values, and thus that the motion of P is not constrained. By analogy with holonomic manipulator arms, this means that P may be seen as the extremity of a two-degree-of-freedom (2-GlossaryTerm

DOF

) manipulator, and thus that it can be controlled by applying the same control laws as those used for manipulators. In this section, we assume that the point P, used to characterize the robot’s position, is chosen away from the rear wheels axle. In this case we will see that the problems of trajectory stabilization and path following can be solved very simply. However, as shown in the subsequent section, choosing P on the wheels axle may also be of interest in order to better control the vehicle’s orientation.

3.1 Stabilization of Trajectories for a Nonconstrained Point

3.1.1 Unicycle

Consider a differentiable reference trajectory t ( x r ( t ) , y r ( t ) ) in the plane. Let e = ( x P - x r , y P - y r ) denote the tracking error in position. The control objective is to asymptotically stabilize this error at zero. In view of (49.8), the error equations are

e ˙ = cos θ - l 1 sin θ sin θ l 1 cos θ u 1 - l 2 u 2 u 2 - x ˙ r y ˙ r .
(49.9)

Introducing new control variables ( v 1 , v 2 ) defined by

v 1 v 2 = cos θ - l 1 sin θ sin θ l 1 cos θ u 1 - l 2 u 2 u 2 ,
(49.10)

the equations (49.9) become simply

e ˙ = v 1 v 2 - x ˙ r y ˙ r .

The classical techniques of stabilization for linear systems can then be used. For instance, one may consider a proportional feedback control with precompensation such as

v 1 = x ˙ r - k 1 e 1 = x ˙ r - k 1 ( x P - x r ) , ( k 1 > 0 ) , v 2 = y ˙ r - k 2 e 2 = y ˙ r - k 2 ( y P - y r ) , ( k 2 > 0 ) ,

which yields the closed-loop equation  e ˙ = - K e . Of course, this control can be rewritten for the initial control variables u, since the mapping ( u 1 , u 2 ) ( v 1 , v 2 ) is bijective.

3.1.2 Car

This technique extends to car-like vehicles (and also to trailer systems) by choosing a point P attached to the steering wheel frame and not located on the steering wheel axle.

3.2 Path Following with no Orientation Control

3.2.1 Unicycle

Let us adopt the notation of Fig. 49.5 to address the problem of following a path associated with a curve C in the plane. The control objective is to stabilize the distance d at zero. From (49.6), one has

d ˙ = u 1 sin θ e + u 2 ( - l 2 sin θ e + l 1 cos θ e ) .
(49.11)

Recall that in this case the vehicle’s longitudinal velocity u1 is either imposed or prespecified. We will assume that the product l 1 u 1 is positive, i. e., the position of the point P with respect to the actuated wheels axle is chosen in relation to the sign of u1. This assumption will be removed in Sect. 49.4. To simplify, we will also assume that l 2 = 0 , i. e., the point P is located on the axis ( P m , i m ) . Let us then consider the following feedback control law

u 2 = - u 1 tan θ e l 1 - u 1 cos θ e k ( d , θ e ) d ,
(49.12)

with k a continuous, strictly positive, function on R × ( - π / 2 , π / 2 ) such that k ( d , ± π / 2 ) = 0 . Since l 2 = 0 , applying the control (49.12) to (49.11) gives

d ˙ = - l 1 u 1 k ( d , θ e ) d ,

which suggests that the control law (49.12) ensures convergence of d to zero under adequate conditions on l 1 , u 1 , and k. This is made precise in the following result ([49.2] for details).

Proposition 49.1

Consider the path following problem for a unicycle-type mobile robot with

  1. A

    A strictly positive, or strictly negative, longitudinal velocity u1.

  2. B

    A reference point P of coordinates ( l 1 , 0 ) in the vehicle’s chassis frame, with l 1 u 1 > 0 .

Let k denote a continuous function, strictly positive on R × ( - π / 2 , π / 2 ) , and such that k ( d , ± π / 2 ) = 0 for every d (for instance, k ( d , θ e ) = k 0 cos θ e ). Then, for any initial conditions ( s ( 0 ) , d ( 0 ) , θ e ( 0 ) ) such that

θ e ( 0 ) - π / 2 , π / 2 , l 1 c max 1 - | d ( 0 ) | c max < 1 ,

with c max = max s | c ( s ) | , the feedback control (49.12) makes the distance | d | between P and the curve nonincreasing, and makes it converge to zero if

0 t | u 1 ( s ) | d s + when t + .

3.2.2 Car

This control technique also applies to car (or trailer systems) by considering a point P attached to the steering wheel frame, with u1 positive.

4 Methods Specific to Nonholonomic Systems

The control methods recalled in the previous section are simple and sufficient for many applications. Their main limitation comes from the fact that the robot’s orientation is not actively controlled. This becomes a problem when the application requires manœuvers (i. e., when the vehicle’s velocity u1 has to become negative). This issue is especially critical for trailer systems (including car-like vehicles). Indeed, when the longitudinal velocity is positive, the leader vehicle has a pulling action which tends to align the followers along the curve. In the other case, the leader has a pushing action which tends to misalign them, thus leading to collisions between the vehicles’ components (the jackknife effect, see Fig. 49.6 for illustration). In order to remove this constraint on the sign of the longitudinal velocity, the control has to be designed so that all orientation angles are actively stabilized. An indirect way to do this consists in choosing the point P on the actuated wheels axle, at the mid-distance of the wheels, for instance. In this case, the nonholonomy constraints intervene much more explicitly, and the control can no longer be obtained by applying the techniques used for holonomic manipulators.

Fig. 49.6
figure 6

Path-following instability with reverse longitudinal velocity

This section is organized as follows. First, the modeling equations with respect to a Frénet frame are recast into a canonical form called the chained form. From there, a solution to the path-following problem with active stabilization of the vehicle’s orientation is worked out. The problem of (feasible) trajectory stabilization is also revisited with the complementary objective of controlling the vehicle’s orientation. The asymptotic stabilization of fixed postures is then addressed. Finally, some comments on the limitations of the proposed control strategies, in relation to the objective of asymptotic stabilization, serve to motivate and introduce a new control approach developed in the subsequent section.

4.1 Transformation of Kinematic Models into the Chained Form

The chapter dedicated to path planning shows how the kinematic equations of the mobile robots here considered (unicycle-type, car-like, with trailers) can be transformed into the chain form via a change of state and control variables. In particular, the equations of a unicycle (49.4), and those of a car (49.5), can be transformed into a three-dimensional and a four-dimensional chained system, respectively. Those of a unicycle-type vehicle with N trailers yield a chained system of dimension N + 3 when the trailers are hooked to each other in a specific way. As shown below, this transformation can be generalized to the kinematic models derived with respect to a Frénet frame. The result will be given only for the unicycle and car cases (49.6) and (49.7), but it also holds for trailer systems. The reference point P is now chosen at the mid-distance of the vehicle’s rear wheels (or at the mid-distance of the wheels of the last trailer, when trailers are involved).

Let us start with the unicycle case. Under the assumption that P corresponds to the origin of F m , one has l 1 = l 2 = 0 so that the system (49.6) simplifies to

s ˙ = u 1 1 - d c ( s ) cos θ e , d ˙ = u 1 sin θ e , θ ˙ e = u 2 - s ˙ c ( s ) .
(49.13)

Let us determine a change of coordinates and control variables ( s , d , θ e , u 1 , u 2 ) ( z 1 , z 2 , z 3 , v 1 , v 2 ) allowing to (locally) transform (49.13) into the three-dimensional chained system

z ˙ 1 = v 1 , z ˙ 2 = v 1 z 3 , z ˙ 3 = v 2 .
(49.14)

By first setting

z 1 = s , v 1 = s ˙ = u 1 1 - d c ( s ) cos θ e ,

we already obtain  z ˙ 1 = v 1 . This implies that

d ˙ = u 1 sin θ e = u 1 1 - d c ( s ) cos θ e [ 1 - d c ( s ) ] tan θ e = v 1 [ 1 - d c ( s ) ] tan θ e .

We then set z 2 = d and z 3 = [ 1 - d c ( s ) ] tan θ e , so that the above equation becomes  z ˙ 2 = v 1 z 3 . Finally, we define

v 2 = z ˙ 3 = - d ˙ c ( s ) - d c s s ˙ tan θ e + [ 1 - d c ( s ) ] ( 1 + tan 2 θ e ) θ ˙ e .

The equations (49.14) are satisfied with the variables zi and vi so defined.

From this construction it is simple to verify that the mapping ( s , d , θ e ) z is a local change of coordinates defined on R 2 × ( - π / 2 , π / 2 ) (to be more rigorous, one should also take the constraint | d | < 1 / c ( s ) into account). Let us finally remark that the change of control variables involves the derivative ( c / s ) of the path’s curvature (whose knowledge is thus needed for the calculations). In summary, we have shown that the change of coordinates and of control variables ( s , d , θ e , u 1 , u 2 ) ( z 1 , z 2 , z 3 , v 1 , v 2 ) defined by

( z 1 , z 2 , z 3 ) = ( s , d , [ 1 - d c ( s ) ] tan θ e ) ( v 1 , v 2 ) = ( z ˙ 1 , z ˙ 3 )

transforms the model (49.13) of a unicycle-type vehicle into a three-dimensional (GlossaryTerm

3-D

) chained system. One can similarly transform the car’s equations into a four-dimensional (GlossaryTerm

4-D

) chained system, although the calculations are slightly more cumbersome. More precisely, the change of coordinates and control variables ( s , d , θ e , ϕ , u 1 , u 2 ) ( z 1 , z 2 , z 3 , z 4 , v 1 , v 2 ) defined by

( z 1 , z 2 , z 3 , z 4 ) = 1 + tan 2 θ e cos θ e s , d , [ 1 - d c ( s ) ] tan θ e , - c ( s ) [ 1 - d c ( s ) ] 1 + 2 tan 2 θ e - d c s tan θ e + [ 1 - d c ( s ) ] 2 tan ϕ L 1 + tan 2 θ e cos θ e , ( v 1 , v 2 ) = ( z ˙ 1 , z ˙ 4 )

transforms the model (49.7) of a car-like vehicle (with l 1 = l 2 = 0 ) into a four-dimensional chained system.

4.2 Tracking of a Reference Vehicle with the Same Kinematics

Let us first consider the problem of tracking, in both position and orientation, a reference vehicle (Fig. 49.7). For simplicity, we choose P as the origin  P m of the robot’s chassis frame F m .

Fig. 49.7
figure 7

Reference vehicle and error coordinates

Although the terminology is rather loose, the tracking problem is usually associated, in the control literature, with the problem of asymptotically stabilizing the reference trajectory. In this case, a necessary condition for the existence of a control solution is that the reference is feasible. Feasible trajectories t ( x r ( t ) , y r ( t ) , θ r ( t ) ) are smooth time functions which are solution to the robot’s kinematic model for some specific control input t u r ( t ) = ( u 1 , r ( t ) , u 2 , r ( t ) ) T , called the reference control. For a unicycle-type robot for example, this means in view of (49.4) that

x ˙ r = u 1 , r cos θ r , y ˙ r = u 1 , r sin θ r , θ ˙ r = u 2 , r .
(49.15)

In other words, feasible reference trajectories correspond to the motion of a reference frame F r = { P r , i r , j r } rigidly attached to a reference unicycle-type robot, with  P r (alike  P = P m ) located at the mid-distance of the actuated wheels (Fig. 49.7). From there, the problem is to determine a feedback control which asymptotically stabilizes the tracking error ( x - x r , y - y r , θ - θ r ) at zero, with ( x r , y r ) being the coordinates of  P r in F 0 , and θ r the oriented angles between i and ir. One can proceed as in the path-following case, first by establishing the error equations with respect to the frame F r , then by transforming these equations into the chain form via a change of variables like the one used to transform the kinematic equations of a mobile robot into a chained system, and finally by designing stabilizing control laws for the transformed system.

Expressing the tracking error in position ( x - x r , y - y r ) with respect to the frame F r gives the vector (Fig. 49.7)

x e y e = cos θ r sin θ r - sin θ r cos θ r x - x r y - y r .
(49.16)

Calculating the time derivative of this vector yields

x ˙ e y ˙ e = u 2 , r y e + u 1 cos ( θ - θ r ) - u 1 , r - u 2 , r x e + u 1 sin ( θ - θ r ) .

By denoting θ e = θ - θ r , the orientation error between the frames F m and F r , we obtain

x ˙ e = u 2 , r y e + u 1 cos θ e - u 1 , r , y ˙ e = - u 2 , r x e + u 1 sin θ e , θ ˙ e = u 2 - u 2 , r .
(49.17)

To determine a control ( u 1 , u 2 ) which asymptotically stabilizes the error ( x e , y e , θ e ) at zero, let us consider the following change of coordinates and control variables

( x e , y e , θ e , u 1 , u 2 ) ( z 1 , z 2 , z 3 , w 1 , w 2 ) ,

defined by

z 1 = x e , z 2 = y e , z 3 = tan θ e , w 1 = u 1 cos θ e - u 1 , r , w 2 = u 2 - u 2 , r cos 2 θ e .
(49.18)

Note that, around zero, this mapping is only defined when θ e ( - π / 2 , π / 2 ) . In other words, the orientation error between the physical robot and the reference robot has to be smaller than π / 2 .

It is immediate to verify that, in the new variables, the system (49.17) can be written as

z ˙ 1 = u 2 , r z 2 + w 1 , z ˙ 2 = - u 2 , r z 1 + u 1 , r z 3 + w 1 z 3 , z ˙ 3 = w 2 .
(49.19)

We remark that the last term in each of the above three equations corresponds to the one of a chained system. From here, it can be shown that the feedback control law

w 1 = - k 1 | u 1 , r | ( z 1 + z 2 z 3 ) ( k 1 > 0 ) , w 2 = - k 2 u 1 , r z 2 - k 3 | u 1 , r | z 3 , ( k 2 , k 3 > 0 ) ,
(49.20)

makes the origin of system (49.19) globally asymptotically stable provided essentially that u 1 , r does not tend to zero as t tends to infinity. A precise stability statement and associated proof are provided in [49.2], together with complementary details about the gain tuning. Finally, the velocity control inputs u1 and u2 can be deduced from w1 and w2 by using the two last lines of (49.18).

4.2.1 Generalization to a Car-Like Vehicle

The previous method extends to the car case. We provide below the main steps of this extension. Consider the car’s kinematic model (49.5) and a reference vehicle satisfying the same kinematic equations with all variables indexed by the subscript r. We assume that there exists  δ ( 0 , π / 2 ) such that the reference steering angle ϕ r belongs to the interval [ - δ , δ ] . By defining xe, ye, and θ e as in the unicycle case, and by setting ϕ e = ϕ - ϕ r , one obtains the following system

x ˙ e = u 1 , r L tan ϕ r y e + u 1 cos θ e - u 1 , r , y ˙ e = - u 1 , r L tan ϕ r x e + u 1 sin θ e , θ ˙ e = u 1 L tan ϕ - u 1 , r L tan ϕ r , ϕ ˙ e = u 2 - u 2 , r .
(49.21)

Let us introduce the following new state variables

z 1 = x e , z 2 = y e , z 3 = tan θ e , z 4 = tan ϕ - cos θ e tan ϕ r L cos 3 θ e + k 2 y e , ( k 2 > 0 ) .

We note that for any ϕ r ( - π / 2 , π / 2 ) , the mapping ( x e , y e , θ e , ϕ ) z defines a diffeomorphism between R 2 × ( - π / 2 , π / 2 ) 2 and R 4 . Introduce now the new control variables

w 1 = u 1 cos θ e - u 1 , r , w 2 = z ˙ 4 = k 2 y ˙ e + 3 tan ϕ cos θ e - 2 tan ϕ r sin θ e L cos 3 θ e θ ˙ e - u 2 , r L cos 2 ϕ r cos 2 θ e + u 2 L cos 2 ϕ cos 3 θ e .
(49.22)

One shows that ( u 1 , u 2 ) ( w 1 , w 2 ) defines a change of variables for θ e , ϕ, and ϕ r , inside the interval ( - π / 2 , π / 2 ) . These changes of state and control variables transform the system (49.21) into

z ˙ 1 = u 1 , r L tan ϕ r z 2 + w 1 , z ˙ 2 = - u 1 , r L tan ϕ r z 1 + u 1 , r z 3 + w 1 z 3 , z ˙ 3 = - k 2 u 1 , r z 2 + u 1 , r z 4 + w 1 z 4 - k 2 z 2 + ( 1 + z 3 2 ) tan ϕ r L , z ˙ 4 = w 2 .
(49.23)

From here, one can deduce that the control law w1 and w2 defined as

w 1 = - k 1 | u 1 , r | × z 1 + z 3 k 2 z 4 + ( 1 + z 3 2 ) tan ϕ r L , w 2 = - k 3 u 1 , r z 3 - k 4 | u 1 , r | z 4 ,
(49.24)

with k 1 , 2 , 3 , 4 denoting positive numbers, makes the origin of system (49.23) globally asymptotically stable provided essentially that u 1 , r does not tend to zero as t tends to infinity.

4.2.2 Simulation Results

The simulation shown on Fig. 49.8 and illustrates this control scheme. The gain parameters ki have been chosen as ( k 1 , k 2 , k 3 , k 4 ) = ( 1 , 1 , 3 , 3 ) . The initial configuration of the reference vehicle (i. e., at t = 0), which is represented in Fig. 49.8a by dashed lines, is ( x r , y r , θ r ) ( 0 ) = ( 0 , 0 , 0 ) . The reference control ur is defined by (49.25). The initial configuration of the controlled robot, represented in the figure by plain lines, is ( x , y , θ ) ( 0 ) = ( 0 , - 1.5 , 0 ) . The configurations at time t = 10, 20, and 30, are also represented on the figure. Due to the fast convergence of the tracking error to zero (see the time evolution of the components x e , y e , θ e of the tracking error in Fig. 49.8b), one can basically consider that the configurations of both vehicles coincide after time t = 10.

u r ( t ) = ( 1 , 0 ) T , if t [ 0 , 10 ] , { - 1 , 0.5 cos [ 2 π ( t - 10 ) / 5 ] } T , if t [ 10 , 20 ] , ( 1 , 0 ) T , if t [ 20 , 30 ] .
(49.25)
Fig. 49.8a,b
figure 8

Tracking of a reference vehicle. (a) Cartesian motion; (b) error coordinates versus time

4.3 Path Following with Orientation Control

We reconsider the path-following problem with the reference point P now located on the actuated wheels axle, at the mid-distance of the wheels. The objective is to synthesize a control law which allows the vehicle to follow the path in a stable manner, independently of the sign of the longitudinal velocity.

4.3.1 Unicycle Case

We have seen in Sect. 49.4.1 how to transform kinematic equations with respect to a Frénet frame into the three-dimensional chained system

z ˙ 1 = v 1 , z ˙ 2 = v 1 z 3 , z ˙ 3 = v 2 .
(49.26)

Recall that ( z 1 , z 2 , z 3 ) = ( s , d , ( 1 - d c ( s ) ) tan θ e ) and that v 1 = u 1 / ( 1 - d c ( s ) ) cos θ e . The objective is to determine a control law which asymptotically stabilizes ( d = 0 , θ e = 0 ) and also ensures that the constraint on the distance d to the path (i. e., | d c ( s ) | < 1 ) is satisfied along the trajectories of the controlled system. For the control law, a first possibility consists in considering a proportional feedback like

v 2 = - v 1 k 2 z 2 - | v 1 | k 3 z 3 , ( k 2 , k 3 > 0 ) .
(49.27)

It is straightforward to verify that the origin of the closed-loop subsystem

z ˙ 2 = v 1 z 3 , z ˙ 3 = - v 1 k 2 z 2 - | v 1 | k 3 z 3
(49.28)

is asymptotically stable when v1 is constant, either positive or negative. Since u1 (not v1) is the intensity of the vehicle’s longitudinal velocity, one would rather establish stability conditions which depend on u1. As detailed in [49.2], the control law (49.27) in fact makes the origin of system (49.28) asymptotically stable under the main condition that u1 does not tend to zero a t tends to infinity. Note that the sign of u1 now does not need to be constant. As for the constraint | d c ( s ) | < 1 , it is satisfied along any solution to the controlled system provided that

z 2 2 ( 0 ) + 1 k 2 z 3 2 ( 0 ) < 1 c max 2 ,

with c max = max s | c ( s ) | .

From a practical point of view it can be useful to complement the control action with an integral term. More precisely, let us define a variable z0 by  z ˙ 0 = v 1 z 2 with  z 0 ( 0 ) = 0 . The control (49.27) can be modified as follows

v 2 = - | v 1 | k 0 z 0 - v 1 k 2 z 2 - | v 1 | k 3 z 3 , = - | v 1 | k 0 0 t v 1 z 2 - v 1 k 2 z 2 - | v 1 | k 3 z 3 , ( k 0 , k 2 , k 3 > 0 , k 0 < k 2 k 3 )
(49.29)

leading to similar stability results as before. The constraint | d c ( s ) | < 1 is now satisfied along any solution to the controlled system provided that

z 2 2 ( 0 ) + 1 k 2 - k 0 k 3 z 3 2 ( 0 ) < 1 c max 2 .

4.3.2 Generalization

One of the assets of this type of approach, besides the simplicity of the control law and little demanding conditions of stability associated with it, is that it can be generalized in a straightforward manner to car-like vehicles and unicycle-type vehicles with trailers. The result is summarized hereafter by considering an n-dimensional chained system

z ˙ 1 = v 1 , z ˙ 2 = v 1 z 3 , z ˙ n - 1 = v 1 z n , z ˙ n = v 2 ,
(49.30)

with n 3 . Its proof is a direct extension of the one in the three-dimensional case. The dimension n = 4 corresponds to the car case (Sect. 49.4.1). As for a unicycle-type vehicle with N trailers, one has n = N + 3 . Recall also that, in all cases, z2 represents the distance d between the path and the point P located at the mid-distance of the rear wheels of the last vehicle. The control objective is then to ensure the convergence of z 2 , , z n to zero. A solution to this problem, which extends the solution (49.27) proposed for the unicycle, is given by

v 2 = - v 1 i = 2 n sign ( v 1 ) n + 1 - i k i z i .
(49.31)

where the control gains k 2 , , k n are chosen such that the polynomial

s n - 1 + k n s n - 2 + k n - 1 s n - 3 + + k 3 s + k 2

is Hurwitz stable. Satisfaction of the constraint | d c ( s ) | < 1 along any solution to the controlled system can also be guaranteed, upon a condition on ( z 2 ( 0 ) , , z n ( 0 ) ) specified in [49.2]. The possibility of adding an integral correction term in (49.31) is also addressed in [49.2].

4.3.3 Simulation Results

The simulation results reported in Fig. 49.9 and illustrate how this control scheme performs for a car-like vehicle. The reference curve is the circle of radius equal to four, centered at the origin. The robot’s longitudinal velocity u1 is defined by u 1 = 1 for t [ 0 , 5 ] , and u 1 = - 1 for t > 5. The control gains have been chosen as ( k 2 , k 3 , k 4 ) = ( 1 , 3 , 3 ) . The motion of the car-like robot in the plane is represented in Fig. 49.9a, and its configuration at times t = 0, 5, and 25 are also depicted in the figure. The time evolution of the variables z 2 , z 3 , z 4 (defined at the end of Sect. 49.4.1) is represented in Fig. 49.9b. One can observe that the (discontinuous) change of the longitudinal velocity u1 at t = 5 does not affect the convergence of these variables to zero.

Fig. 49.9a,b
figure 9

Path following along a circle. (a) Cartesian motion; (b) coordinates z 2 , 3 , 4 versus time

4.4 Asymptotic Stabilization of Fixed Postures

We now consider the problem of asymptotic stabilization of a fixed desired (reference) posture (i. e., position and orientation) for the robot chassis. This problem may be seen as a limit case of the trajectory tracking problem. However, none of the feedback controllers proposed previously in this chapter provides a solution to this problem. From the automatic control point of view, the asymptotic stabilization of fixed postures is very different from the problems of path following and trajectory tracking with nonzero longitudinal velocity, much in the same way as a human driver knows, from experience, that parking a car at a precise location involves techniques and skills different from those exercised when cruising on a road. In particular, it cannot be solved by any classical control method for linear systems (or based on linearization). Technically, the underlying general problem is the one of asymptotic stabilization of equilibria of controllable driftless systems with less control inputs than state variables. This problem has motivated numerous studies during the last decade of the last century, from many authors and with various angles of attack, and it has remained a subject of active research at the beginning of this century. The variety of candidate solutions proposed until now, the mathematical technicalities associated with several of them, together with unsolved difficulties and limitations, particularly (but not only) in terms of robustness (an issue on which we will return), prevent us from attempting to cover the subject exhaustively. Instead, we have opted for a somewhat informal exposition of approaches which have been considered, with the illustration of a few control solutions, without going into technical and mathematical details.

A central aspect of the problem, which triggered much of the subsequent research on the control of nonholonomic systems, is that asymptotic stabilization of equilibria (or fixed points) cannot be achieved by using continuous feedbacks which depend on the state only (i. e., continuous pure-state feedbacks). This is a consequence of an important result due to Brockett in 1983. The original result by Brockett concerned differentiable feedbacks; it has later been extended to the larger set of feedbacks which are only continuous.

Theorem 49.1 (Brockett [49.3])

Consider a control system

x ˙ = f ( x , u ) ( x R n , u R m ) ,

with f a differentiable function and ( x , u ) = ( 0 , 0 ) an equilibrium of this system. A necessary condition for the existence of a continuous feedback control  u ( x ) which renders the origin of the closed-loop system

x ˙ = f ( x , u ( x ) )

asymptotically stable is the local surjectivity of the application ( x , u ) f ( x , u ) . More precisely, the image by f of any neighborhood Ω of (0,0) in R n + m must be a neighborhood of 0 in R n .

This result implies that the equilibria of many controllable (nonlinear) systems are not asymptotically stabilizable by continuous pure-state feedbacks. All nonholonomic WMRs belong to this category of systems. This will be shown in the case of a unicycle-type vehicle; the proof for the other mobile robots is similar. Let us thus consider a unicycle-type vehicle, whose kinematic equations (49.4) can be written as  x ˙ = f ( x , u ) with  x = ( x 1 , x 2 , x 3 ) T , u = ( u 1 , u 2 ) T , and f ( x , u ) = ( u 1 cos x 3 , u 1 sin x 3 , u 2 ) T , and let us show that f is not locally onto in the neighborhood of ( x , u ) = ( 0 , 0 ) . To this purpose, take a vector in R 3 of the form ( 0 , δ , 0 ) T . It is obvious that the equation f ( x , u ) = ( 0 , δ , 0 ) T does not have a solution in the neighborhood of ( x , u ) = ( 0 , 0 ) since the first equation, namely u 1 cos x 3 = 0 , implies that u 1 = 0 , so that the second equation cannot have a solution if δ is different from zero.

It is also obvious that the linear approximation about the equilibrium ( x , u ) = ( 0 , 0 ) of the unicycle kinematic equations is not controllable. If it were, it would be possible to (locally) asymptotically stabilize this equilibrium with a linear (thus continuous) state feedback.

Therefore, by application of the above theorem, a unicycle-type mobile robot (like other nonholonomic robots) cannot be asymptotically stabilized at a desired posture (position/orientation) by using a continuous pure-state feedback. This impossibility has motivated the development of other control strategies in order to solve the problem. Three major types of controls have been considered:

  1. 1.

    Continuous time-varying feedbacks, which, besides from depending on the state x, depend also on the exogenous time variable (i. e., u ( x , t ) instead of  u ( x ) for classical feedbacks).

  2. 2.

    Discontinuous feedbacks, in the classical form  u ( x ) , except that the function u is not continuous at the equilibrium that one wishes to stabilize.

  3. 3.

    Hybrid discrete/continuous feedbacks. Although this class of feedbacks is not defined as precisely as the other two sets of controls, it is mostly composed of time-varying feedbacks, either continuous or discontinuous, such that the part of the control which depends upon the state is only updated periodically, e. g., u ( t ) = u ¯ [ x ( k T ) , t ] for any t [ k T , ( k + 1 ) T ] , with T denoting a constant period, and k N .

We focus hereafter on continuous time-varying feedbacks. Examples of hybrid discrete/continuous feedbacks for unicycle and car-like vehicles are provided in [49.2, Sect 34.4.4], together with associated simulation results. As for discontinuous feedbacks, they involve difficult questions (existence of solutions, mathematical meaning of these solutions, etc.) which complicate their analysis and for which complete answers are not available. Moreover, for most of the discontinuous control strategies described in the literature, the property of stability in the sense of Lyapunov is either not granted or remains an open issue.

The use of time-varying feedbacks for the asymptotic stabilization of a fixed desired equilibrium, for a nonholonomic WMR, in order to circumvent the obstruction pointed out by Brockett’s Theorem, was first proposed in [49.4]. Since then, very general results about the stabilization of nonlinear systems by means of time-varying feedbacks have been obtained. For instance, it has been proved that any controllable driftless system can have any of its equilibria asymptotically stabilized with a control of this type [49.5]. This includes the kinematic models of the nonholonomic mobile robots here considered. We will illustrate this approach in the case of unicycle-type and car-like mobile robots modeled by three- and four-dimensional chained systems, respectively. In order to consider the three-dimensional case, let us come back on the results obtained in Sect. 49.4.3 for path following. The control law (49.27), i. e., v 2 = - v 1 k 2 z 2 - | v 1 | k 3 z 3 applied to the system

z ˙ 1 = v 1 , z ˙ 2 = v 1 z 3 , z ˙ 3 = v 2 ,

renders the function

V ( z ) := 1 2 ( z 2 2 + 1 k 2 z 3 2 )

nonincreasing along any trajectory of the controlled system, i. e.,

V ˙ = - k 3 k 2 | v 1 | z 3 2 ,

and ensures the convergence of z2 and z3 to zero if, for instance, v1 does not tend to zero as t tends to infinity. For example, if v 1 ( t ) = sin t , z2 and z3 tend to zero, and

z 1 ( t ) = z 1 ( 0 ) + 0 t v 1 ( s ) d s = z 1 ( 0 ) + 0 t sin s d s = z 1 ( 0 ) + 1 - cos t ,

so that z 1 ( t ) oscillates around the mean value z 1 ( 0 ) + 1 . To reduce these oscillations, one can multiply v1 by a factor which depends on the current state. Take, for example, v 1 ( z , t ) = ( z 2 , z 3 ) sin t , that we complement with a stabilizing term like - k 1 z 1 with k 1 > 0 , i. e.,

v 1 ( z , t ) = - k 1 z 1 + ( z 2 , z 3 ) sin t .

The feedback control so obtained is time-varying and asymptotically stabilizing.

Proposition 49.2

The continuous time-varying feedback

v 1 ( z , t ) = - k 1 z 1 + α ( z 2 , z 3 ) sin t , v 2 ( z , t ) = - v 1 ( z , t ) k 2 z 2 - | v 1 ( z , t ) | k 3 z 3 ,
(49.32)

with  α , k 1 , 2 , 3 > 0 , renders the origin of the 3-D chained system globally asymptotically stable [49.6].

The above proposition can be extended to chained systems of arbitrary dimension [49.6]. For the case n = 4, which corresponds to the car-like robot, one has the following result.

Proposition 49.3

The continuous time-varying feedback

v 1 ( z , t ) = - k 1 z 1 + α ( z 2 , z 3 , z 4 ) sin t , v 2 ( z , t ) = - | v 1 ( z , t ) | k 2 z 2 - v 1 ( z , t ) k 3 z 3 - | v 1 ( z , t ) | k 4 z 4 ,
(49.33)

with  α , k 1 , 2 , 3 , 4 > 0 chosen such that the polynomial s 3 + k 4 s 2 + k 3 s + k 2 is Hurwitz stable, renders the origin of the 4-D chained system globally asymptotically stable [49.6].

Figure 49.10 below illustrates the previous result. For this simulation, the parameters  α , k 1 , 2 , 3 , 4 in the feedback law (49.33) have been chosen as α = 3 and k 1 , 2 , 3 , 4 = ( 1.2 , 10 , 18 , 17 ) . Figure 49.10a shows the motion of the car-like robot in the plane. The initial configuration, at time t = 0, is depicted in plain lines, whereas the desired configuration is shown in dashed lines. The time evolution of the variables x, y, and θ (i. e., the position and orientation variables corresponding to the model (49.5)) is shown in Fig. 49.10b.

Fig. 49.10a,b
figure 10

Asymptotic stabilization with a Lipschitz-continuous controller. (a) Cartesian motion; (b) error coordinates versus time

A shortcoming of this type of control, very clear from this simulation, is that the system’s state converges to zero quite slowly. One can show that the rate of convergence is only polynomial, i. e., it is commensurable with t - α (for some  α ( 0 , 1 ) ) for most of the trajectories of the controlled system. This slow rate of convergence is related to the fact that the control function is Lipschitz-continuous with respect to x. It is a characteristics of systems the linear approximation of which is not stabilizable. Indeed, it can be shown that exponential stability (in the classical sense of linear systems) of an equilibrium point of a nonlinear system cannot be obtained with a Lipschitz-continuous feedback when the system’s linear approximation at that point is not stabilizable ([49.2, Prop. 34.11] for a precise statement and details). The need of better performance and efficiency, has triggered the development of stabilizing time-varying feedbacks which are continuous, but not Lipschitz-continuous. Examples of such feedbacks, yielding uniform exponential convergence, are given in the following propositions for chained systems of dimension three and four, respectively.

Proposition 49.4

Let  α , k 1 , 2 , 3 > 0 denote scalars such that the polynomial p ( s ) = s 2 + k 3 s + k 2 is Hurwitz stable. For any integers p , q N * , let ρ p , q denote the function defined on R 2 by

z ¯ 2 = ( z 2 , z 3 ) R 2 , ρ p , q ( z ¯ 2 ) = | z 2 | p q + 1 + | z 3 | p q 1 p .

Then, there exists q 0 > 1 such that, for any q q 0 and p > q + 2 , the continuous state feedback

v 1 ( z , t ) = - k 1 ( z 1 sin t - | z 1 | ) sin t + α ρ p , q ( z ¯ 2 ) sin t v 2 ( z , t ) = - v 1 ( z , t ) k 2 z 2 ρ p , q 2 ( z ¯ 2 ) - | v 1 ( z , t ) | k 3 z 3 ρ p , q ( z ¯ 2 )
(49.34)

renders the origin of the three-dimensional chained system globally asymptotically stable, with a uniform exponential rate of convergence [49.7].

The parenthood of the controls (49.32) and (49.34) is noticeable. One can also verify that the control (49.34) is well defined (by continuity) at  z ¯ 2 = 0 . More precisely, the ratios

z 2 ρ p , q 2 ( z ¯ 2 ) and z 3 ρ p , q ( z ¯ 2 ) ,

which are obviously well defined when  z ¯ 2 0 , tend to zero when  z ¯ 2 tends to zero. This guarantees the continuity of the control law.

The property of exponential convergence pointed out in the above result calls for some remarks. Indeed, this property does not exactly correspond to the classical exponential convergence property associated with stable linear systems. In this latter case, exponential convergence means that for some constant K, γ, and along any solution to the controlled system, one has

z ( t ) K z ( t 0 ) e - γ ( t - t 0 )

This corresponds to the common notion of exponential stability. In the present case, this inequality becomes

ρ [ z ( t ) ] K ρ [ z ( t 0 ) ] e - γ ( t - t 0 )

for some function ρ, defined for example by

ρ ( z ) = | z 1 | + ρ p , q ( z 2 , z 3 ) ,

with ρ p , q as specified in Proposition 49.4. Although the function ρ shares common features with the Euclidean norm of the state vector (it is definite positive and it tends to infinity when  z tends to infinity), it is not equivalent to this norm. Of course, this does not change the fact that each component zi of z converges to zero exponentially. However, the transient behavior is different because one only has

| z i ( t ) | K z ( t 0 ) α e - γ ( t - t 0 ) ,

with α < 1, instead of

| z i ( t ) | K z ( t 0 ) e - γ ( t - t 0 ) .

In the case of the four-dimensional chained system, one can establish the following result, which is similar to Proposition 49.4.

Proposition 49.5

Let  α , k 1 , k 2 , k 3 , k 4 > 0 be chosen such that the polynomial p ( s ) = s 3 + k 4 s 2 + k 3 s + k 2 is Hurwitz stable. For any integers p , q N * , let ρ p , q denote the function defined on R 3 by

ρ p , q ( z ¯ 2 ) = | z 2 | p q + 2 + | z 3 | p q + 1 + | z 4 | p q 1 p

with z ¯ 2 = ( z 2 , z 3 , z 4 ) R 3 . Then, there exists q 0 > 1 such that, for any q q 0 and p > q + 2 , the continuous state feedback

v 1 ( z , t ) = - k 1 ( z 1 sin t - | z 1 | ) sin t + α ρ p , q ( z ¯ 2 ) sin t , v 2 ( z , t ) = - | v 1 ( z , t ) | k 2 z 2 ρ p , q 3 ( z ¯ 2 ) - v 1 ( z , t ) k 3 z 3 ρ p , q 2 ( z ¯ 2 ) - | v 1 ( z , t ) | k 4 z 4 ρ p , q ( z ¯ 2 ) ,
(49.35)

renders the origin of the 4-D chained system globally asymptotically stable, with a uniform exponential rate of convergence [49.7].

The performance of the control law (49.35) is illustrated by the simulation results shown in Fig. 49.11. The control parameters have been chosen as follows:  α = 0.6 , k 1 , 2 , 3 , 4 = ( 1.6 , 10 , 18 , 17 ) , q = 2, p = 5. The comparison with the simulation results of Fig. 49.10 shows a clear gain in performance.

Fig. 49.11a,b
figure 11

Asymptotic stabilization with a continuous (non-Lipschitz) time-varying feedback. (a) Cartesian motion; (b) error coordinates versus time

4.5 Limitations Inherent to the Control of Nonholonomic Systems

Let us first mention some problems associated with the nonlinear time-varying feedbacks just presented. An ever important issue, when studying feedback control, is robustness. Indeed, if it were not for the sake of robustness, feedback control would lose much of its value and interest with respect to open-loop control solutions. There are various robustness issues. One of them concerns the sensitivity to modeling errors. For instance, in the case of a unicycle-type robot whose kinematic equations are in the form  x ˙ = u 1 b 1 ( x ) + u 2 b 2 ( x ) , one would like to know whether a feedback law which stabilizes an equilibrium of this system also stabilizes this equilibrium for the neighbor system x ˙ = u 1 [ b 1 ( x ) + ε g 1 ( x ) ] + u 2 [ b 2 ( x ) + ε g 2 ( x ) ] , with g1 and g2 denoting continuous applications, and ε a parameter which quantifies the modeling error. This type of error can account, for example, for a small uncertainty concerning the orientation of the actuated wheels axle with respect to the chassis, which results in a bias in the measurement of this orientation. One can show that time-varying control laws like (49.34) are not robust with respect to this type of error in the sense that, for certain functions g1 and g2, and for ε arbitrarily small, the system’s solutions end up oscillating in the neighborhood of the origin, instead of converging to the origin. In other words, both the properties of stability of the origin and of convergence to this point can be jeopardized by arbitrarily small modeling errors, even in the absence of measurement noise. In view of these problems, one is brought to question the existence of fast (exponential) stabilizers endowed with robustness properties similar to those of stabilizing linear feedbacks for linear systems. The answer is that, to our knowledge, no such control solution (either continuous or discontinuous) has ever been found. More than likely such a solution does not exist for nonholonomic systems. Robustness of the stability property against modeling errors, and control discretization and delays, has been proved in some cases, but this could only be achieved with Lipschitz-continuous feedbacks which, as we have seen, yield slow convergence. The classical compromise between robustness and performance thus seems much more acute than in the case of stabilizable linear systems (or nonlinear systems whose linear approximation is stabilizable).

A second issue is the proven nonexistence of a universal feedback controller capable of stabilizing any feasible reference state trajectory asymptotically [49.8]. This is another notable difference with the linear case. Indeed, given a controllable linear system  x ˙ = A x + B u , the feedback controller  u = u r + K ( x - x r ) , with K a gain matrix such that  A + BK is Hurwitz stable, exponentially stabilizes any feasible reference trajectory xr (solution to the system) associated with the control input ur. The nonexistence of such a controller, in the case of nonholonomic mobile robots, is related to the conditions upon the longitudinal velocity stated in previous propositions concerning trajectory stabilization. This basically indicates that such conditions cannot be removed entirely: whatever the chosen feedback controller, there always exists a feasible reference trajectory that this feedback cannot asymptotically stabilize. Note that this limitation persists when considering nonstandard feedbacks (such as, e. g., time-varying periodic feedbacks capable of asymptotically stabilizing reference trajectories which are reduced to a single point). Moreover, it has clear practical consequences because there are applications (automatic tracking of a human-driven car, for instance) for which the reference trajectory, and thus its properties, are not known in advance (is the leading car going to keep moving or stop?) so that one cannot easily decide on which controller to use. Switching between various controllers is a possible strategy, which has been studied by some authors and may give satisfactory results in many situations. However, since implementing a predefined switching strategy between two controllers sums up to designing a third controller, this does not solve the core of the problem nor grant any certitude of success.

A third issue, which is not specific to nonholonomic systems, but has seldom been addressed in the nonlinear control literature, concerns the problem of tracking nonfeasible trajectories (i. e., trajectories which are not solutions to the system’s equations). Since exact tracking is not possible, by the definition of a nonfeasible trajectory, the control objective is then to ensure that the tracking errors shrink to, and ever after never exceed, certain nonzero thresholds. The fact that these thresholds can theoretically be arbitrarily small in the case of nonholonomic systems, if the amplitude of the velocity control inputs is not limited, makes this problem particularly relevant for these systems. This can be termed as a practical stabilization objective which, although slightly less ambitious than the objective of asymptotic stabilization considered in previous sections, opens up both the control design problem and the range of applications significantly. For instance, it allows one to address the problem of tracking an omnidirectional vehicle with a unicycle-type, or a car-like, vehicle. In the context of planning a trajectory with obstacle avoidance, transforming a nonfeasible trajectory into a feasible approximation for a certain mobile robot can be performed by applying a practical stabilizer to a model of this robot and by numerical integration of the system’s closed-loop equations. Also, if one reformulates the former question about the existence of a universal stabilizer, with the objective of asymptotic stabilization now replaced by the one of practical stabilization, then the answer becomes positive: such a stabilizer exists and, moreover, the reference trajectories do not even have to be feasible.

4.6 Practical Stabilization of Arbitrary Trajectories

A possible approach for the design of practical stabilizers in the case of controllable driftless systems is described in [49.9]. Some of its basic principles, here adapted to the specific examples of unicycle-type and car-like mobile robots, are recalled next.

Let us introduce some matrix notation that will be used in this section.

R ( θ ) = cos θ - sin θ sin θ cos θ , S = 0 - 1 1 0 R ¯ ( θ ) = R ( θ ) 0 0 1 .

4.6.1 Unicycle Case

With the above notation, the kinematic model (49.4) can be written as

g ˙ = R ¯ ( θ ) C u ,
(49.36)

with  g = ( x , y , θ ) and

C = 1 0 0 0 0 1 .

Let us now consider a smooth function

f : α f ( α ) = f x ( α ) f y ( α ) f θ ( α ) ,

with  α S 1 = R / 2 π Z (i. e., α is an angle variable), and define

g ¯ := x ¯ y ¯ θ ¯ := g - R ¯ θ - f θ ( α ) f ( α ) = x y - R ( θ - f θ ( α ) ) f x ( α ) f y ( α ) θ - f θ ( α ) .
(49.37)

Note that  g ¯ can be viewed as the situation of a frame  F ¯ m ( α ) the origin of which has components

- R ( - f θ ( α ) ) f x ( α ) f y ( α )

in the frame F m . In term of differential geometry, g ¯ is the product of g by the inverse f ( α ) - 1 of f ( α ) , in the sense of the Lie group operations in S E ( 2 ) . Hence, F ¯ m ( α ) is all the closer to F m as the components of f ( α ) are small. For any smooth time function t α ( t ) , and along any solution to system (49.36), the time derivative of  g ¯ is given by

g ¯ ˙ = R ¯ ( θ ¯ ) u ¯ ,
(49.38)

with

u ¯ = A ( α ) R ¯ ( f θ ( α ) ) - f α ( α ) C u α ˙ ,
(49.39)

and

A ( α ) = I 2 - S f x ( α ) f y ( α ) 0 1 .
(49.40)

From (49.38) and (49.39), one can view  α ˙ as a complementary control input that can be used to monitor the motion of the frame  F ¯ m ( α ) . More precisely, F ¯ m ( α ) can be viewed as an omnidirectional frame provided that  u ¯ can be rendered equal to any vector of R 3 , i. e., provided that the mapping ( u , α ˙ ) u ¯ is onto. Let us determine when this condition is satisfied. Equation (49.39) can also be written as

u ¯ = A ( α ) H ( α ) u α ˙ ,
(49.41)

with

H ( α ) = cos f θ ( α ) 0 - f x α ( α ) sin f θ ( α ) 0 - f y α ( α ) 0 1 - f θ α ( α ) .
(49.42)

Since  A ( α ) is invertible, F ¯ m ( α ) is omnidirectional if and only if the matrix  H ( α ) is also invertible. A function f which satisfies this property for any  α S 1 is called a transverse function [49.10]. The issue of the existence of such functions has been treated in the much more general context of the transverse function approach [49.10, 49.9]. In the present case, a family of transverse functions is given by

f ( α ) = ε sin α ε 2 η sin 2 α 4 arctan ( ε η cos α ) with ε , η > 0 .
(49.43)

Indeed, with this function one can verify that, for any  α S 1 ,

det H ( α ) = - ε 2 η 2 cos ( arctan ( ε η cos α ) ) < 0 .

Note that the components of f uniformly tend to zero as ε tends to zero, so that the associated omnidirectional frame  F ¯ m ( α ) can be made arbitrarily close to F m by choosing ε small (but different from zero).

Now, let

t g r ( t ) = [ x r ( t ) , y r ( t ) , θ r ( t ) ] T

denote a smooth, but otherwise arbitrary, reference trajectory. It is not difficult to derive from (49.38) a feedback law  u ¯ which asymptotically stabilizes  g ¯ at gr. A possible choice is given by

u ¯ = R ¯ ( - θ ¯ ) [ g ˙ r - k ( g ¯ - g r ) ] ,
(49.44)

which implies that

( g ¯ ˙ - g ˙ r ) = - k ( g ¯ - g r )

and therefore that  g ¯ - g r = 0 is an exponentially stable equilibrium of the above equation for any k > 0. Then, it follows from (49.37) that

lim t + g ( t ) - g r ( t ) - R ¯ [ θ r ( t ) ] f [ α ( t ) ] = 0 .
(49.45)

The norm of the tracking error  g - g r is thus ultimately bounded by the norm of f ( α ) which, in view of (49.43), can be made arbitrarily small via the choice of ε. It is in this sense that practical stabilization is achieved. The control u for the unicycle-like robot is then calculated by inverting the relation (49.41) and using the expression (49.44) of  u ¯ .

While it can be tempting to use very small values of ε for the transverse function f in order to obtain a good tracking precision, one must be aware of the limits of this strategy. Indeed, when ε tends to zero, the matrix  H ( α ) defined by (49.42) becomes ill-conditioned, and its determinant tends to zero. This implies, by (49.41), that the robot’s velocities u1 and u2 may become very large. In particular, when the reference trajectory gr is not feasible, many manoeuvres are likely to occur. Note that this difficulty is intrinsic to the robot’s nonholonomy and that it cannot be circumvented (think about the problem of parking a car in a very narrow parking place). For this reason, trying to impose very accurate tracking of nonfeasible trajectories is not necessarily a good option in practice. On the other hand, when the trajectory is feasible, manoeuvres are not needed to achieve accurate tracking, so that smaller values of ε can be used in this case. This clearly leads to a dilemma when the reference trajectory is not known in advance and its properties in term of feasibility can vary with time. A control strategy which addresses this issue, based on the use of transverse functions whose magnitude can be adapted online, is proposed in [49.11]. Experimental validations of the present approach on a unicycle-like robot can also be found in [49.12].

4.6.2 Car Case

The control approach presented above can be extended to car-like vehicles (and also to the trailer case). Again, the idea is to associate with the robot’s frame F m an omnidirectional companion frame  F ¯ m ( α ) which can be maintained arbitrarily close to F m via the choice of some design parameters. Let us show how this can be done for a car-like vehicle. To simplify the forthcoming equations, let us rewrite system (49.5) as

x ˙ = u 1 cos θ , y ˙ = u 1 sin θ , θ ˙ = u 1 ξ , ξ ˙ = u ξ ,

with ξ = ( tan ϕ ) / L and u ξ = u 2 ( 1 + tan 2 ϕ ) / L . This system can also be written as (compare with (49.36))

g ˙ = R ¯ ( θ ) C ( ξ ) u 1 , ξ ˙ = u ξ ,
(49.46)

with  g = ( x , y , θ ) T and C ( ξ ) = ( 1 , 0 , ξ ) T . Let us now consider a smooth function

f : α f ( α ) = f g ( α ) f ξ ( α ) = f x ( α ) f y ( α ) f θ ( α ) f ξ ( α ) ,

with  α S 1 × S 1 (i. e., α = ( α 1 , α 2 ) ), and define (compare with (49.37))

g ¯ := x ¯ y ¯ θ ¯ := g - R ¯ ( θ - f θ ( α ) ) f g ( α ) = x y - R ( θ - f θ ( α ) ) f x ( α ) f y ( α ) θ - f θ ( α ) ,
(49.47)

which, as in the unicycle case, can be viewed as the situation of some companion frame  F ¯ m ( α ) . By differentiating  g ¯ along any smooth time function t α ( t ) and any solution to system (49.46), one can verify that (49.38) is still satisfied, except that  u ¯ is now given by

u ¯ = A ( α ) R ¯ [ f θ ( α ) ] - f g α 1 ( α ) - f g α 2 ( α ) × C ( ξ ) u 1 α ˙ 1 α ˙ 2
(49.48)

rather than by (49.39) (with  A ( α ) still defined by (49.40)). Using the fact that

C ( ξ ) u 1 = C ( f ξ ( α ) ) u 1 + { C ( ξ ) - C [ f ξ ( α ) ] } u 1 = 1 0 f ξ ( α ) u 1 + 0 0 ξ - f ξ ( α ) u 1 ,

(49.48) can also be written as

u ¯ = A ( α ) H ( α ) u 1 α ˙ 1 α ˙ 2 + A ( α ) 0 0 u 1 [ ξ - f ξ ( α ) ] ,
(49.49)

with

H ( α ) = cos f θ ( α ) - f x α 1 ( α ) - f x α 2 ( α ) sin f θ ( α ) - f y α 1 ( α ) - f y α 2 ( α ) f ξ ( α ) - f θ α 1 ( α ) - f θ α 2 ( α ) .
(49.50)

By setting

u ξ = f ˙ ξ ( α ) - k ( ξ - f ξ ( α ) ,
(49.51)

with k > 0, it follows from (49.46) that  ξ - f ξ ( α ) exponentially converges to zero. Hence, after some transient phase whose duration is commensurable with 1 / k , ξ - f ξ ( α ) 0 , and (49.49) reduces to

u ¯ = A ( α ) H ( α ) u 1 α ˙ 1 α ˙ 2 .
(49.52)

Provided that the function f is such that  H ( α ) is always invertible, this latter relation means that the frame  F ¯ m ( α ) associated with  g ¯ is omnidirectional. Any function f for which this property is satisfied is called a transverse function. Once it has been determined, one can proceed as in the unicycle case to asymptotically stabilize an arbitrary reference trajectory gr for  g ¯ , for example, by defining  u ¯ as in (49.44). The control u1 for the car is then obtained by inverting relation (49.52). The following lemma specifies a family of transverse functions for the car case.

For any ε > 0 and any η 1 , η 2 , η 3 such that η 1 , η 2 , η 3 > 0 and 6 η 2 η 3 > 8 η 3 + η 1 η 2 , the function f defined by

f ( α ) = f ¯ 1 ( α ) f ¯ 4 ( α ) arctan ( f ¯ 3 ( α ) ) f ¯ 2 ( α ) cos 3 f 3 ( α )

with

f ¯ : S 1 × S 1 R 4

given by

f ¯ ( α ) = ε ( sin α 1 + η 2 sin α 2 ) ε η 1 cos α 1 ε 2 η 1 sin 2 α 1 4 - η 3 cos α 2 ε 3 η 1 sin 2 α 1 cos α 1 6 - η 2 η 3 sin 2 α 2 4 - η 3 sin α 1 cos α 2 ,

satisfies the transversality condition  det H ( α ) 0 α , with  H ( α ) defined by (49.50) [49.13].

The simulation results reported in Fig. 49.12 illustrate the application of this control approach for a car-like robot. The reference trajectory is defined by the initial condition  g r ( 0 ) = 0 and its time derivative

g ˙ r ( t ) = ( 0 , 0 , 0 ) T if t [ 0 , 30 ] ( 1 , 0 , 0 ) T if t [ 30 , 38 ] ( 0 , 0.3 , 0 ) T if t [ 38 , 53 ] ( - 1 , 0 , 0 ) T if t [ 53 , 61 ] ( 0 , 0 , 0.2 ) T if t [ 61 , 80 ] .

This corresponds to a fixed situation when t [ 0 , 30 ] , three sequences of pure translational motion when t [ 30 , 61 ] , and a pure rotational motion when t [ 61 , 80 ] . Let us remark that this trajectory is not feasible for the car-like robot when t [ 38 , 53 ] , since it corresponds to a lateral translation in the direction of the unit vector jr of the frame F r associated with gr, nor when t [ 61 , 80 ] , since a rear-drive car cannot perform pure rotational motion. The initial configuration of the car-like robot, at t = 0, is  g ( 0 ) = ( 0 , 1.5 , 0 ) , and the initial steering wheel angle is  ϕ ( 0 ) = 0 .

Fig. 49.12a,b
figure 12

Practical stabilization of an arbitrary trajectory by the transverse function approach. (a) Cartesian motion; (b) error coordinates versus time

In Fig. 49.12a, the robot is drawn with a solid line at several time instants, whereas the chassis of the reference vehicle is shown as a dashed line at the same time instants. The figure also shows the trajectory of the point located at the mid-distance of the robot’s rear wheels. Figure 49.12b shows the time evolution of the tracking error expressed in the reference frame (i. e., ( x e , y e ) as defined by (49.16), and θ e = θ - θ r ). It follows from (49.45) that, after the transient phase associated with the exponential convergence of  g ¯ to zero, the ultimate bound for | x e | , | y e | , and | θ e | is upper-bounded by the maximum amplitude of the functions fx, fy, and f θ , respectively. For this simulation, the control parameters of the transverse function f of Lemma 49.4.6.2 have been chosen as follows:  ε = 0.17 , η 1 , 2 , 3 = ( 12 , 2 , 20 ) . With these values, one can verify that | f x | , | f y | , and | f θ | are bounded by 0.51, 0.11, and 0.6, respectively. This is consistent with the time evolution of the tracking error observed in the figure. As pointed out for the unicycle case, tracking errors could be diminished by decreasing the value of ε, but this would involve larger values of the control inputs and also more frequent manoeuvres, especially on the time intervals [ 38 , 53 ] and [ 61 , 80 ] when the reference trajectory is not feasible. Additional simulation and experimental results on this approach are illustrated by and .

5 Path Following in the Case of Nonideal Wheel-Ground Contact

The kinematic models used in the previous sections are derived under the classical rolling-without-sliding assumption for the vehicle’s wheels. This assumption is satisfied with a good degree of accuracy for many applications both indoor and outdoor (e. g., on-road). In some cases, however, sliding can be significant. This happens for example when a vehicle operates on natural terrain with poor grip conditions (grass, earth) and when the vehicle’s speed is significant and/or the terrain is not perfectly horizontal. In these cases, the control laws presented in the previous sections may not give full satisfaction. We show in this section that these control laws can still be used successfully, provided that sliding is taken into account at the modelling level and estimated on-line via a dedicated observer. For simplicity, only the path following problem is addressed, but the techniques here presented can be extended to other control problems.

5.1 Extended Control Models in the Presence of Sliding

5.1.1 Extended Kinematic Model

Consider the two-wheels schematic representation of a car-like vehicle on Fig. 49.13. The angles βR and βF are introduced in order to represent the sliding of the rear and front wheels respectively. More precisely, denoting the centres of the rear and front wheels as  P R and  P F respectively, βR is the angle between the vector  P R P F and the velocity vector vR of PR, whereas βF represents the angle between the steering direction and the velocity vector vF of PF. The kinematic modeling of Sect. 49.2 is easily extended to the present case [49.14], resulting in the following model

x ˙ = u 1 cos ( θ + β R ) y ˙ = u 1 sin ( θ + β R ) θ ˙ = u 1 cos ( β R ) tan ( ϕ + β F ) - tan ( β R ) L ϕ ˙ = u 2 ,
(49.53)

with u1 the (signed) intensity of the vector vR. Note that these equations reduce to (49.5) when  β F = β R = 0 .

Fig. 49.13
figure 13

Car-like vehicle in the presence of sliding

5.1.2 Kinematic Model in a Frénet Frame

In the context of path following, a kinematic model with reference to a Frénet frame moving along the desired path is obtained via a straightforward adaptation of the pure-rolling case discussed in Sect. 49.2.3. Defining the distance between the vehicle and the desired path C as the distance d between the point  P R and this path (Fig. 49.5), the equations of this model are readily deduced from (49.53) (compare with (49.13))

s ˙ = u 1 cos ( θ e + β R ) 1 - d c ( s ) d ˙ = u 1 sin ( θ e + β R ) θ ˙ e = u 1 cos ( β R ) λ 1 - λ 2 ϕ ˙ = u 2 ,
(49.54)

with θe the angle between the vehicle’s body axis P R P F and the tangent to the desired path evaluated at the projection of the point  P R on this path, c(s) the path curvature at the projected point, λ 1 = ( tan ( ϕ + β F ) - tan ( β R ) ) / L and λ 2 = ( c ( s ) cos ( θ e + β R ) ) / ( 1 - d c ( s ) ) .

5.1.3 Dynamic Model of Sliding Angles

The kinematic model (49.53) can be used for control design once it is completed by a model of the dynamics of the sliding angles βR and βF. Such a model can be obtained from Newton’s law and a model of tire/ground interactions. A few notation (Fig. 49.14 for details) and assumptions are introduced for this purpose:

  • The vehicle’s mass is denoted as m and its moment of inertia with respect to the (body-fixed) vertical axis is denoted as Iz. The vehicle’s center of mass G is located on the segment joining  P R to  P F , at a distance LR from  P R and LF from  P F .

  • The longitudinal dynamics is neglected. More precisely, it is assumed that the traction force applied to the vehicle, in relation to the monitoring of longitudinal tire/ground contact forces, is controlled independently of the vehicle’s lateral dynamics and that, as a result of this control, the longitudinal velocity of the vehicle expressed in body frame, i. e., u 1 cos β r , varies slowly so that its time-derivative can be neglected in the calculus of the lateral dynamics.

  • Lateral tire/ground contact forces, that are orthogonal to the wheels planes, are denoted as FR and FF respectively.

  • The lateral component of the gravity force is denoted as FG. This force applies at G and its magnitude is m g sin α with α denoting the terrain slope angle in the lateral direction.

Fig. 49.14
figure 14

Lateral forces applying to a car-like vehicle

Application of Newton’s law yields [49.15], after projection in the direction orthogonal to vR,

β ˙ R = 1 m u 1 θ ¨ ( F R + m g sin α ) cos β R + F F cos ( β R - ϕ ) - m L R θ ¨ cos β R - θ ˙

with FF and FR the (signed) intensity of the lateral forces FF and FR and

θ ¨ = 1 I z L F F F cos ϕ - L R F R
(49.55)

From (49.53)

tan ( ϕ + β F ) = tan β R - L θ ˙ u 1 cos β R .

Differentiating this equation with respect to time and using the assumption that u 1 cos β R is constant yields

β ˙ F = cos 2 ( ϕ + β F ) β ˙ R cos 2 β R - L θ ¨ u 1 cos β R - ϕ ˙ .

The dynamics of the sliding angles is thus given by

β ˙ R = 1 m u 1 θ ¨ ( F R + m g sin α ) cos β R β ˙ R = + F F cos ( β R - ϕ ) - m L R θ ¨ cos β R - θ ˙ , β ˙ F = cos 2 ( ϕ + β F ) β ˙ R cos 2 β R - L θ ¨ u 1 cos β R - ϕ ˙ .
(49.56)

Replacing the vehicle’s angular acceleration  θ ¨ by its expression (49.55), and  θ ˙ , ϕ ˙ by (49.53), one obtains expressions of the sliding angles dynamics in terms of ϕ, α, u1, u2, FR, and FF.

5.1.4 Tire/Ground Interaction Models for Lateral Forces Computation

In view of (49.56), knowledge of the lateral ground forces FR and FF is needed to calculate the evolution of the sliding angles and the vehicle’s motion. In this respect, a model of tire/ground interactions is useful, in particular for simulation purposes. The Coulomb model, although very popular, does not allow one to describe the complexity of tire/ground interactions in a large operating domain. For this reason, other contact models have been proposed in the literature. For instance, the Dahl [49.16] and LuGre [49.17] models, eventhough they are not dedicated to tire/ground contact description, give a relationship between contact force and sliding velocity with a small number of parameters. They are used to describe a vehicle’s dynamics in [49.18]. Of particular interest is the celebrated tire/ground contact model of et al. [49.19], of which several versions depending on the application have been derived. A convenient model for mobile robot simulation and analysis is the so-called magic formula proposed in [49.20]. Alike other contact models, this formula expresses the lateral ground force in term of the sliding angle. It is defined as follows,

F * = D sin c arctan ( B [ 1 - E ] ) β * + E B arctan ( B β * ) D = a 1 ( F z * ) 2 + a 2 F z * E = a 6 ( F z * ) 2 + a 7 F z * + a 8 B = a 3 sin ( a 4 arctan ( a 5 F z * ) ) c D ,
(49.57)

with * { F , R } used to denote either the front (F) or Rear (R) wheel, and F z * the corresponding tire load here defined as  L * L m . The parameters ai, i [ 1 , , 8 ] and c are representative of the grip conditions and tire properties (pressure, contact patches). Table 49.1 shows typical values of these parameters for a vehicle moving on wet grass at a velocity of 2 m/s (Sect. 49.5.4 further on). Fig. 49.15 depicts the corresponding relation between the front lateral force FF and the front sliding angle βF. This relationship is symmetric with respect to the origin, is quasi linear for small angles, has an extremum near  ± - 10 , and involves a saturation for large sliding angles. The linear part of the function is often sufficient to account for slow to moderately fast motion in the case of good grip conditions, whereas its nonlinear part becomes important when the vehicle moves on natural ground or at high speed with possibly large sliding angles.

Table 49.1 Parameters used for dynamic modelling
Fig. 49.15
figure 15

Relationship between lateral force and sliding angle obtained using Pacejka Model

Tire/ground contact models are necessary to describe the sliding angles’ dynamics with some accuracy and are useful to evaluate the performance of control laws in simulation. The main drawback of these models is the large number of involved parameters and the difficulty to evaluate appropriate values in practical applications, since such values heavily depend on imprecisely known ground characteristics which, furthermore, may rapidly change along the vehicle’s trajectory. For these reasons, previously evoked models may not be best suited for control design. In many cases, rather than trying to exploit a complete model involving unreliable and rapidly varying parameters it is preferable to use cruder models associated with an on-line estimation procedure. The control design proposed further on follows this latter avenue.

5.2 On-Line Estimation of Sliding Angles

As already mentionned, some knowledge of the sliding angles βF and βR is useful to precisely control the lateral distance d between the vehicle and the desired path. Since direct measurement of these angles via the use of dedicated sensors is quite difficult in practice, an alternative consists in designing an observer that produces on-line estimates of the sliding angles based on the measurement of the relative vehicle/path position and orientation. The underlying implicit (crude) model used for the design of this observer is that the sliding angles do not change rapidly, as can be anticipated in common situations like driving along a road with a slowly varying curvature or following a straight line across a field with a constant slope. A solution of this type, exploiting also the vehicle’s kinematic model (49.54), is proposed next.

Define  ξ = ( d , θ e ) T , β = ( β F , β R ) T , and consider the function f defined by

f ( ξ , β , ϕ , c ( s ) ) = sin ( ξ 2 + β 2 ) cos ( β 2 ) tan ( ϕ + β 1 ) - tan ( β 2 ) L - c ( s ) cos ( ξ 2 + β 2 ) 1 - ξ 1 c ( s ) .

From (49.54),

ξ ˙ = u 1 f ( ξ , β , ϕ , c ( s ) ) .
(49.58)

Define an observer of the form

ξ ^ ˙ = u 1 f ( ξ , β ^ , ϕ , c ( s ) ) + α ξ , β ^ ˙ = α β .
(49.59)

The estimation error ( ξ ̃ , β ̃ ) T = ( ξ - ξ ^ , β - β ^ ) T satisfies

ξ ̃ ˙ = u 1 [ f ( ξ , β , ϕ , c ( s ) ) - f ( ξ , β ^ , ϕ , c ( s ) ) ] - α ξ , β ̃ ˙ = - α β + β ˙ .
(49.60)

The objective is to define the terms  α ξ and  α β so as to ensure the asymptotic stability of the origin of the above estimation error system when β is constant, i. e., when  β ˙ = 0 , and thus the asymptotic convergence of the estimate  β ^ to β in this case. Furthermore, if β varies slowly the estimation error should remain small.

Proposition 49.6

Let

α ξ = | u 1 | K 1 ξ ̃ α β = K 2 u 1 f β ( ξ , β ^ , ϕ , c ( s ) ) T ξ ̃
(49.61)

with K1 a 2 × 2 positive definite matrix and K2 a positive scalar. Assume that β is constant and that

  1. i

    The variables u 1 , ξ , ϕ , c ( s ) , 1 - d c ( s ) are bounded, differentiable, and their time-derivatives are bounded.

  2. ii

    There exists τ > 0 such that

    | ϕ + β 1 | , | β 2 | , | ξ 2 + β 2 | π / 2 - τ .
  3. iii

    The function u1 is persistently exciting in the sense that there exist two constants T , δ > 0 such that

    t , t t + T | u 1 ( s ) | d s δ .

Then, the origin of system (49.60) is locally exponentially stable.

Sketch of Proof: From (49.61), the estimation error dynamics (49.60) can be written as

ξ ̃ ˙ = u 1 f β ( ξ , β ^ , ϕ , c ( s ) ) β ̃ + O 2 ( β ̃ ) - | u 1 | K 1 ξ ̃ , β ̃ ˙ = - K 2 u 1 f β ( ξ , β ^ , ϕ , c ( s ) ) T ξ ̃ ,
(49.62)

where O 2 ( β ̃ ) denotes a second-order term in  β ̃ in a neighborhood of  β ̃ = 0 . Note that this term also depends on  ξ , ϕ , c(s) and 1 - d c ( s ) . The linearized system associated with system (49.62) is thus given by

ξ ̃ ˙ = u 1 f β ( ξ , β , ϕ , c ( s ) ) β ̃ - | u 1 | K 1 ξ ̃ , β ̃ ˙ = - K 2 u 1 f β ( ξ , β , ϕ , c ( s ) ) T ξ ̃ .
(49.63)

Consider the candidate Lyapunov function V defined by

V ( ξ ̃ , β ̃ ) = K 2 | ξ ̃ | 2 + | β ̃ | 2 .

One verifies that the time-derivative of V along the solutions of system (49.63) satisfies

V ˙ = - | u 1 | K 2 ξ ̃ T K 1 ξ ̃ .

Since K1 is positive definite and K2 is positive, V is decreasing. This ensures the stability of the origin ( ξ ̃ , β ̃ ) = 0 . Using assumptions i) and ii) and the fact that the matrix f / β ( ξ , β , ϕ , c ( s ) ) is invertible one can show, that the origin of system (49.63) is asymptotically stable. Assumption iii) implies that the origin is in fact exponentially stable. Using assumptions i) and ii) again, one shows that the origin of the original (nonlinear) system (49.62) is locally exponentially stable.  

Proposition 49.6 calls for a few remarks. Although convergence of the estimation errors is proved in the case of constant sliding angles only, the observer can still provide a good estimate of β if  β ˙ is small. For fast variations of β, estimation based on a dynamic model and GlossaryTerm

IMU

measurements (inertial measurement unit) will usually provide better results [49.21]. Satisfaction of assumptions i) and ii) is strongly related to the choice of the controller used to determine the steering wheel angular velocity u2 in (49.54). In this respect, let us recall that the separation principle, which allows one to design independently a feedback controller and an observer for a linear system with a guarantee of stability of the coupled system, is not systematically satisfied for nonlinear systems.

5.3 Feedback Laws for Path Following

The kinematic model (49.54) can be transformed into a chained system. This is a direct extension of the results of Sect. 49.4.1. More precisely, the change of coordinates and control variables ( s , d , θ e , ϕ , u 1 , u 2 ) ( z 1 , z 2 , z 3 , z 4 , v 1 , v 2 ) defined by

( z 1 , z 2 , z 3 , z 4 ) = s , d , [ 1 - d c ( s ) ] tan ( θ e + β R ) , - c ( s ) [ 1 - d c ( s ) ] 1 + 2 tan 2 ( θ e + β R ) - d c s tan ( θ e + β R ) + [ 1 - d c ( s ) ] 2 tan ( ϕ + β F ) - tan β R L 1 + tan 2 ( θ e + β R ) cos ( θ e + β R ) , ( v 1 , v 2 ) = ( z ˙ 1 , z ˙ 4 )

transforms the model (49.54) of a car-like vehicle into a 4-D chained system.

Based on this transformation, Sect. 49.4 provides a feedback control solution v2 to the path following problem. Since the relation between v2 and the original control variable u2 involves the sliding angles βF and βR, u2 can be computed from the outputs  β ^ F , β ^ R of the observer proposed in the previous section.

In practice, preexisting low-level control loops may use the steering angle ϕ itself, rather than its time-derivative, as a control input. In this case the expression for the desired steering angle can be obtained by identifying the expression of  θ ˙ e in (49.54) with the one in (49.13), where u2 is the feedback law deduced from the (chained-form) control law  (49.27) of a unicycle-like robot. Further assuming that c(s) is constant, one obtains the following expression

ϕ ref = arctan L cos ( β ^ R ) tan ( β ^ R ) + L cos ( β ^ R ) c ( s ) cos θ ̃ 2 κ + A cos 3 θ 2 ̃ κ 2 - β ^ F
(49.64)

with

θ ̃ 2 = θ e + β ^ R κ = 1 - c ( s ) d A = - k 2 d - k 3 κ sign ( u 1 ) tan θ ̃ 2 + c ( s ) κ tan 2 θ ̃ 2 .
(49.65)

5.4 Path Following Illustrations in Low Grip Conditions

5.4.1 Simulation Results

The simulation results presented next have been obtained by using the kinematic and dynamic models (49.54) and (49.56) respectively, with the set of parameters for the tire/ground interaction specified in Table 49.1. The reference path, depicted on Fig. 49.16 in black plain line, is composed of two straight lines connected by a circular path with a radius of 13 m. The simulated grip conditions generate sliding along the circular part of the path. The transitions between this circular part and the straight lines yield transient errors due to the curvature discontinuity. The vehicle’s velocity is 3 m/s.

Fig. 49.16
figure 16

Reference path and trajectories in Cartesian plane

The steering velocity u2 is computed according to the simple proportional feedback law

u 2 = - k ϕ ( ϕ - ϕ ref )

with ϕref defined by (49.64) and the control gain k ϕ = 12 (settling time of 250 ms). The other control gains in (49.64) are defined as ( k 2 , k 3 ) = ( 0.09 , 0.6 ) , yielding a settling distance of 12m without overshoot. First, the control law is applied with ( β ^ F , β ^ R ) = ( 0 , 0 ) (i. e., without considering sliding). The results are shown in blue on Figs. 49.16 and 49.17. Then, the control law is applied with  β ^ F and  β ^ R obtained via the observer (49.59)–(49.61), using for K1 a diagonal matrix with elements equal to 10 and 20 and the gain  K 2 = 10 . The results are shown in red. Fig. 49.17 clearly illustrates the reduction of lateral error resulting from the sliding angles estimation.

Fig. 49.17
figure 17

Lateral tracking error (d)

Performance of the proposed observer is illustrated on Fig. 49.18 with the true sliding angles (i. e., obtained from the simulated dynamics) in plain lines and the estimated angles in dashed lines. One can verify that the sliding angles are correctly estimated. In practice, using an observer allows one to also compensate for various unmodeled dynamics resulting, for instance, from imprecise knowledge of the vehicle’s geometry (the distance L, for example) or from an unknown offset on the steering angle.

Fig. 49.18
figure 18

Comparison of estimated and actual sliding angles

5.4.2 Experimental Results

Full scale experiments on natural terrain with the car-like vehicle of Fig. 49.19 are reported next and in . This mobile robot is equipped with a real time kinematics global positioning system (GlossaryTerm

RTK

-GlossaryTerm

GPS

) producing a  ± 2 cm accurate absolute position measurement. The GPS antenna is located straight above the control point  P R . The reference path, consisting of a straight line perpendicular to the slope direction, has been previously recorded during a manual driving. The top left of Fig. 49.19 shows the recorded coordinates in x-y plane, and the z axis represents the absolute value of the lateral slope angle α. This angle progressively reaches the value of 10 ° at the curvilinear abscissa 27 m, and it subsequently rapidly increases up to about 18 °.

Fig. 49.19a–c
figure 19

Path following with sliding effects for an autonomous off-road robot: (a) Reference trajectory in 3-D frame (b) Robot during autonomous tracking (c) Tracking errors (dashed: without sliding compensation, dash-dotted: with sliding estimation and compensation)

As for the simulation results reported previously, the feedback control (49.64) was first applied with

β ^ F = β ^ R = 0

(i. e., without taking sliding into account), then with β ^ F , β ^ R given by the observer. In both cases, control gains equal to these used in simulation have been used, i. e., ( k 2 , k 3 ) = ( 0.09 , 0.6 ) . The vehicle’s longitudinal velocity during experiments was 3 m/s. The bottom part of Fig. 49.19 shows the tracking error along the path with the blue dashed line corresponding to using ( β F , β R ) = ( 0 , 0 ) in the control law, and the red dashed-dotted line corresponding to the use of sliding angles estimated values.

These experimental results confirm the simulation ones reported before. The improvement in tracking accuracy resulting from the use of estimated sliding angles in the control law is clearly illustrated: the lateral error remains small (smaller than 0.25 m) all the time and it becomes negligible as soon as the terrain’s slope is alsmost constant (beyond the curvilinear abcissa 30 m). This is consistent with the observer’s stability and convergence analysis when the sliding angles are assumed constant.

6 Complementary Issues and Bibliographical Guide

6.1 General Trailer Systems

Most of the control design approaches here presented and illustrated for unicycle-like and car-like vehicles can be extended to the case of trains of vehicles composed of trailers hitched to a leading vehicle. In particular, the methods of Sect. 49.4 which are specific to nonholonomic systems can be extended to this case, provided that the kinematic equations of motion of the system can be transformed (at least semiglobally) into a chained system [49.6]. This basically requires that the hitch point of each trailer is located on the rear-wheel axle of the preceding vehicle [49.22]. For instance, the transformation to the chained form is not possible when there are two (or more) successive trailers with off-axle hitch points [49.23]. So-called general trailer systems (with off-axle hitch points) raise difficult control design issues, and the literature devoted to them is sparse. For this reason, and also because these systems are not met in applications as frequently as simpler vehicles, control methods specifically developed for them are not reported here. Nonetheless, a few related references are given next. The path-following problem has been considered in, e. g., [49.24] for a system with two trailers and, more generally, in [49.25, Chap. 3] and [49.26] for an arbitrary number of trailers. To our knowledge, the problem of stabilizing nonstationary reference trajectories has not been addressed for these systems (except in the single trailer case for which the system can be transformed into the chained form [49.23, 49.27]). In fact, the explicit calculation of feasible trajectories joining a given configuration to another is already a very difficult problem, even in the absence of obstacles. As for the asymptotic stabilization of fixed configurations, the problem can (in theory) be solved by using existing general methods developed for the larger class of controllable driftless systems. However, the calculations associated with these methods quickly become intractable when the number of trailers increases. More specific and simpler ones have been proposed in [49.28], for an arbitrary number of trailers and the asymptotic stabilization of a reduced set of configurations, and in [49.29], in the case of two trailers and arbitrary fixed configurations.

6.2 Sensor-Based Motion Control

The control laws described in the present chapter, and their calculation, involve the online measurement, eventually complemented by the online estimation, of variables depending on the position of the vehicles in their environment. Measures can be acquired via the use of various sensors (odometry, GPS, proximetry, vision, etc.). Usually, various treatments are applied to raw sensory data prior to computing the control variables themselves. For instance, noise filtering and state estimation are such basic operations, well documented in the automatic-control literature. Among all sensors, vision sensors play a particularly important role in robotic applications, due to the richness and versatility of the information which they provide. The combination of visual data with feedback control is often referred to as visual servoing. In Chap. 34, a certain number of visual servoing tasks are addressed, mostly in the context of manipulation and/or under the assumption that realizing the robot task is equivalent to controlling the pose of a camera mounted on an omnidirectional manipulator. In a certain number of cases, the concepts and methods described in this chapter can be adapted, without much effort, to the context of mobile robots. These cases basically correspond to the control methods adapted from robotic manipulation which are described in Sect. 49.3 of the present chapter. For instance, automatic driving via the control of the visually estimated lateral distance between a robotic vehicle and the side of a road, or car-platooning by controlling the frontal and lateral distances to a leading vehicle, can be addressed with the control techniques reported in Chap. 34. The reason is that it is possible to simply recast these techniques in the form of the control laws proposed in Sect. 49.3. However, there are also vision-based applications for nonholonomic mobile robots which cannot be solved by applying classical visual-servoing techniques. This is the case, for instance, of the task objectives addressed in Sect. 49.4, an example of which is the stabilization of the complete posture (i. e., position and orientation) of a nonholonomic vehicle at a desired one. Vision-based control problems of this type have been addressed in [49.11, 49.30].

6.3 Sliding Effects and Other Dynamical Issues

Results of Sect. 49.5 can be viewed as a first step to addressing dynamical issues associated with sliding effects. The kinematic control models (49.53)–(49.54) can be extended to other wheeled vehicles ([49.31] for the mobile robot classification proposed by [49.32] and [49.33] for a trailer system). On-line estimation of sliding angles via an observer can also be achieved by exploiting the dynamics of these angles and making use of complementary measurements (from an IMU for example). A result in this direction is proposed in [49.21] where a model of sliding angle dynamics is used at the observer level, thus yielding a much more reactive estimation of these angles. Note that the kinematic control law of Sect. 49.5 may still be used in this case. When prior knowledge of the reference path is available, a predictive control strategy may also be adopted to reduce transient error effects associated with slow steering angle dynamics.

Various risks related to the vehicle’s integrity when operating at high speed, like e. g., swing around or roll-over, were not addressed in this chapter. In [49.34] these issues are treated at the path planning level. Knowledge of the robot’s dynamics can also be used to relate control inputs to a metrics measuring the importance of such risks in order to introduce constraints at the control level [49.35]. A multimodels approach (kinematic and dynamic) can be used to translate stability aspects into control constraints, for instance by defining a maximal admissible longitudinal velocity. A predictive control strategy may also help to limit the risk of roll-over, of steering saturation, or of swing around [49.36]. Finally, it is possible to take advantage of additional actuators, as in the case of four independent actuated wheels [49.37], or by using inclination actuators [49.38].

6.4 Bibliographical Guide

A few former surveys on the control of WMRs have been published. Let us mention [49.39, 49.40, 49.41], which contain chapters on the modeling and control issues. A detailed classification of kinematic and dynamic models for the different types of WMR structures, on which Chap. 24 is based, is provided in [49.32]. The use of the chain form to represent WMR equations has been proposed in [49.42], then generalized in [49.22].

Path following may have been the first mobile robot control problem addressed by researchers in robotics. Among the pioneering works, let us cite [49.43, 49.44]. Several results presented in the present chapter are based on [49.45, 49.6].

The problem of tracking admissible trajectories for unicycle-type and car-like vehicles is treated in the books [49.39, 49.40, 49.41], and also in numerous conference and journal papers. Several authors have addressed this problem by applying dynamic feedback linearization techniques. In this respect, one can consult [49.46, 49.47, 49.48], and [49.39, Chap. 8], for instance.

Numerous papers on the asymptotic stabilization of fixed configurations have been published. Among them, [49.49] provides an early overview of feedback control techniques elaborated for this purpose, and also a list of references. The first result presenting a time-varying feedback solution to this problem, in the case of a unicycle-type vehicle, is in [49.4]. The conference paper [49.50] provides a survey on time-varying feedback stabilization, in the more general context of nonlinear control systems. More specific results, like Propositions 49.2 and 49.4, are given in [49.6, 49.7]. Other early results on the design of smooth time-varying feedbacks can be found in [49.51, 49.52], for example. Concerning continuous (but not Lipschitz-continuous) time-varying feedbacks yielding exponential convergence, one can consult [49.53]. Designs of hybrid discrete/continuous fixed-point stabilizers can be found in [49.54, 49.55, 49.56, 49.57], for instance. Discontinuous control design techniques are not addressed in the present chapter, but the interested reader will find examples of such feedbacks in [49.58, 49.59].

To our knowledge, the control approach presented in Sect. 49.4.6, which is based on the concept of transverse functions [49.10, 49.9], is the first attempt to address the problem of tracking arbitrary trajectories (i. e., not necessarily feasible for the controlled robot). Implementation issues and experimental results for this approach can be found in [49.11, 49.12]. An overview of trajectory tracking problems for wheeled mobile robots, with a detailed case study of car-like systems, is presented in [49.13].