Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

2.1 The Common Models

In this book all systems, including robots, are modeled as operating in continuous time. This is the natural world given to us by Newtonian physics. Controllers are continuous-time too, but can be implemented digitally with samplers.

2.1.1 A 1D Rover

We begin with the simplest example: a wheeled rover of unit mass moves along a straight infinite road that runs through the 2D plane. We can take the plane to be either \(\mathbb {C}\) or \(\mathbb {R}^2\); we take the former for now. By translating and rotating if necessary, we may suppose the road is the real line (the horizontal axis). The position of the rover on the road is denoted by the real variable z. The rover has an onboard motor that drives a wheel without slipping, imparting f Newtons of force (negative f implies the force is to the left). We neglect viscous friction and say that Newton’s second law is applicable:

$$ \ddot{z}=f. $$

Equivalently,

$$ \dot{z}=v, \ \ \dot{v}=f. $$

See Fig. 2.1. Furthermore, if the robot has a velocity sensor, a high-gain feedback in an inner loop, as shown in Fig. 2.2, converts the double integrator into the single integrator. A high-gain inner loop is placed around the dynamics. The transfer function from f to z is \(\displaystyle s^{-2} \), but from u, a command velocity, to z is approximately just \(\displaystyle s^{-1} \) if K is sufficiently large. Thus a high-gain loop around the dynamics gives

$$ \dot{z} =u. $$

2.1.2 2D Integrator Point

Now we turn to 2D robot models. The first obvious generalization of the 1D rover is a unit mass moving freely on the plane. The position z of the mass is now a complex variable and so is the force f:

$$ \ddot{z} = f. $$

Just as in the 1D case, we may use high-gain feedback and view the velocity as a control input, in which case we obtain the model of an integrator point

$$ \dot{z}=u. $$

Letting \(z:=x+jy\) and \(u := v + jw\) we get an equivalent model in real variables:

$$\begin{aligned} \dot{x}&= v \\ \dot{y}&= w . \end{aligned}$$
Fig. 2.1
figure 1

The simplest rover. Force input, position output

Fig. 2.2
figure 2

A high-gain inner loop. If K is large, from u to z is approximately \(s^{-1}\)

Is an integrator point a physically meaningful model of a robot? The robots we consider are rigid bodies, or made up of rigid bodies. A rigid body in 3D has six degrees of freedom (three for translation and three for rotation). A rigid body in 2D has three degrees of freedom (two for translation and one for rotation). Integrator points cannot represent something physical in the plane because there are only two degrees of freedom instead of three. To account for the missing degree of freedom, angular position, we could write

$$\begin{aligned} \dot{x}&= v \\ \dot{y}&= w \\ \dot{\theta }&=0. \end{aligned}$$

This robot can move in any direction but its orientation does not change, and therefore it is not related to motion. While it is possible to devise a mechanism that decouples the orientation of the robot from its direction of motion, it is rather uncommon to find physical robots with this property. Many researchers use integrator points so that control problems can be easily solved, but it is not always clear how to apply such solutions to physical robots.

Fig. 2.3
figure 3

A wheeled robot with an omnidirectional camera. (This image is in the public domain and was downloaded from Wikipedia, Omnidirectional camera)

Realistic models of 2D robots couple the robot’s orientation with its direction of motion. An example of this kind of robot is shown in Fig. 2.3. The robot has an omnidirectional camera (a conventional camera pointing up at a conical mirror), two wheels with independent motor drives, and a laptop to store a controller program. The robot is confined to move on a floor (it cannot fly). Thus as a mechanical dynamical system it has three degrees of freedom, which in conventional notation are \(x,y,\theta \). The vector (xy) locates the centre of mass on the floor, and \(\theta \) specifies the heading angle as measured from some fixed direction.

To model a robot of the kind represented in Fig. 2.3, we turn to unicycles and bicycles.Footnote 1 These are kinematic models. Of course, a real robot has dynamics too, but this can frequently be removed by a high-gain inner loop as we just did in Fig. 2.2. Sometimes, it is convenient to make the complex plane the workspace where the robots live. Recall that every complex number w can be written uniquely in polar form as \(w=v \mathrm {e}^{j \theta }\), where \(v=|w|\) and \(\theta \) is a real number in the interval \([0,2\pi )\).

2.1.3 Unicycles

A kinematic unicycle is a robot with one steerable drive wheel (see Fig. 2.4). If we assume that the wheel is always perpendicular to the ground, we may represent the unicycle on the complex plane as in Fig. 2.5, where \(z:=x+jy\) is the position vector and \(\mathrm {e}^{j\theta }\) the normalized velocity vector.

Fig. 2.4
figure 4

The unicycle

Convention. In Fig. 2.5 we represent a complex number in two different ways. First, z is shown as a dot, obviously at the correct location in the complex plane. On the other hand, \(\mathrm {e}^{j\theta }\), which is a complex number too, is shown as an arrow. The convention is likely familiar. An element of \(\mathbb {C}\) (or \(\mathbb {R}^2\)) can be regarded geometrically as a geometric vector or a point. A point, depicted as a dot, identifies a position in space. A geometric vector, depicted as an arrow, identifies a magnitude and a direction.

We return to the unicycle. Its degrees of freedom are \(x,y,\theta \), just as for the robot in Fig. 2.3. From \(\dot{z}=v\mathrm {e}^{j\theta }\) we get the two equations

$$\begin{aligned} \dot{x}&= v \cos (\theta ) \\ \dot{y}&= v \sin (\theta ) . \end{aligned}$$

Defining \(\omega = \dot{\theta }\) we get a third equation. In this way we arrive at the state equations

$$\begin{aligned} \begin{aligned} \dot{x}&= v \cos (\theta ) \\ \dot{y}&= v \sin (\theta ) \\ \dot{\theta }&= \omega . \end{aligned} \end{aligned}$$
(2.1)

The state variables are \(x,y,\theta \) and the inputs are \(v,\omega \). In terms of complex variables we have

$$\begin{aligned} \dot{z}&= v \mathrm {e}^{j \theta } \\ \dot{\theta }&=\omega . \end{aligned}$$
Fig. 2.5
figure 5

Unicycle in the complex plane

Fig. 2.6
figure 6

Unicycle body frame and the Frenet–Serret frame of a regular curve

There is a third equivalent model in which one regards the unicycle as a moving orthonormal frame. Consider the body frame \(\mathcal{B}=\{r,s\}\) attached to the unicycle—see the picture on the left in Fig. 2.6. The origin of the frame is at (xy); r is the normalized velocity vector, \(r=\mathrm {e}^{j \theta }\); finally, s is the counterclockwise rotation of r by \(\pi /2\), \(s:= j r\). Thus

$$\begin{aligned} \dot{r}&= \frac{d}{dt} \mathrm {e}^{j \theta } \\&= j \mathrm {e}^{j \theta } \dot{\theta } \\&= j r \omega \\&= s \omega . \end{aligned}$$

Likewise

$$ \dot{s}=-r \omega . $$

Using (zrs) as state of the unicycle, we find that the state model is

$$\begin{aligned} \begin{aligned} \dot{z}&= v r \\ \dot{r}&= s \omega \\ \dot{s}&= -r\omega . \end{aligned} \end{aligned}$$
(2.2)

The control inputs are, as before, v and \(\omega \).

There is an intriguing relationship between the body frame \(\mathcal{B}\) defined above and the Frenet–Serret frame of differential geometry [7]. In differential geometry, the Frenet–Serret frame is a moving orthonormal frame one associates with a regular curve—see the picture on the right in Fig. 2.6. The relationship between the frame \(\mathcal{B}\) defined earlier and the Frenet–Serret frame is this: If in the unicycle model (2.2) we set \(v(t)\equiv 1\) and we let \(\omega (t)\) be an arbitrary continuous function, then the moving frame \(\{r(t),s(t)\}\) is precisely the Frenet–Serret frame associated with the curve z(t) traced by the unicycle on the complex plane. Moreover, \(\omega (t)\) is the signed curvature of the curve. In differential geometry, the last two equations in (2.2) are called the Frenet–Serret formulas associated with the curve z(t).

We conclude this part with a remark. The unicycle can move only in the direction it is heading. That is, there is a no side-slip condition. To derive it, note that the velocity vector of the unicycle is parallel to the body frame vector r, which in turn is perpendicular to the body frame vector s. In other words, \(\langle \dot{z},s\rangle =0\), or

$$ -\dot{x}\sin (\theta ) +\dot{y}\cos (\theta ) =0. $$

This velocity constraint is called a nonholonomic constraint. Systems with nonholonomic constraints are difficult to control in general. We will return to this issue at the end of this chapter.

2.1.4 Bicycles

The simplest kinematic model of a bicycle is the one depicted in Fig. 2.7, in which the bicycle frame is perpendicular to the ground and the steering axis passes through the centre of the front wheel. We denote by (xy) the coordinates of the point of contact of the rear wheel with the ground. We let \(\theta \) be the angle that the frame makes with the x axis, and \(\gamma \) the steering angle, as in the figure. While this model might not be a faithful representation of a real bicycle, it turns out to be quite useful because it captures the essential features of a car with four wheels, only the front two being steerable.

Fig. 2.7
figure 7

Schematic: (xy) is the location of the rear wheel, B is the wheelbase, \(\theta \) is the angle of the frame with respect to the x-axis, \(\gamma \) is the angle of the front wheel with respect to the frame

Since the bicycle is assumed to be perpendicular to the ground, we may represent it on the complex plane as in Fig. 2.8. In the figure, \(z_1\) is the position of the rear wheel, i.e., \(z_1=x+jy\), and \(z_2\) the position of the front wheel. The vector \(r_1\) is the normalized difference \(z_2-z_1\), while \(r_2\), also a unit vector, represents the heading of the front wheel. In terms of the angles \(\theta \) and \(\gamma \), we have \(r_1 = \mathrm {e}^{j \theta }\) and \(r_2= \mathrm {e}^{j (\theta +\gamma )}\).

Fig. 2.8
figure 8

Variables used to describe the bicycle: \(z_1\) and \(z_2\) are the positions of the two wheels; \(r_1\) and \(r_2\) are the normalized velocity vectors

We see that the bicycle has four degrees of freedom: \(x,y, \theta , \gamma \). We take as control inputs the speed of the point \(z_1\) and the steering rate \(\dot{\gamma }\). We denote them by v and \(\omega \), respectively.

Lemma 2.1

The kinematic model of the bicycle in Fig. 2.7 is

$$\begin{aligned} \begin{aligned} \dot{x}&=v\cos (\theta ) \\ \dot{y}&=v \sin (\theta ) \\ \dot{\theta }&=\frac{v}{B} \tan (\gamma ) \\ \dot{\gamma }&=\omega . \end{aligned} \end{aligned}$$
(2.3)

Proof

The velocity of the point of contact \(z_1\) is proportional to \(r_1\) and its magnitude is v. Thus, \(\dot{z}_1 = v r_1\). Writing the real and imaginary parts of this identity we get the first two equations in (2.3).

Letting \(v_1 := v\) and \(v_2:=| \dot{z}_2|\), we have the following equations:

$$\begin{aligned} r_1=\mathrm {e}^{j \theta }, \ \ r_2=\mathrm {e}^{j (\theta +\gamma )}, \ \ z_2-z_1=Br_1 \end{aligned}$$
(2.4)
$$\begin{aligned} \dot{z}_1=v_1 r_1, \ \ \dot{z}_2=v_2 r_2. \end{aligned}$$
(2.5)

Differentiating the third equation in (2.4) we get

$$ \dot{z}_2-\dot{z}_1 = B \dot{r}_1. $$

Substitute from Eqs. (2.4) and (2.5):

$$ v_2r_2-v_1 r_1=Bj\dot{\theta }r_1. $$

Divide by \(r_1\):

$$ v_2\mathrm {e}^{j \gamma }-v_1=Bj\dot{\theta }. $$

Write the real and imaginary parts:

$$ v_2 \cos (\gamma ) =v_1, \ \ \ v_2 \sin (\gamma ) = B \dot{\theta }. $$

Divide the two equations and drop the subscript on \(v_1\):

$$ \dot{\theta }=\frac{v}{B} \tan (\gamma ). $$

Finally, by definition we have \(\omega =\dot{\gamma }\). \(\quad {\square }\)

The model (2.3) has four state variables, \(x,y,\theta , \gamma \), and two inputs, \(v,\omega \). Like the unicycle, the bicycle has a nonholonomic constraint, the no-side slip condition of the rear wheel. The constraint is

$$ -\dot{x} \sin (\theta ) + \dot{y} \cos (\theta )=0. $$

Compare the bicycle and unicycle models in (2.3) and (2.1). The two are very similar. A control law developed for the unicycle can be adapted, with some limitation, to the bicycle. The limitation is the obvious one that the front wheel of the bicycle must never become orthogonal to the rear wheel.

Fig. 2.9
figure 9

Block diagram of the bicycle model

Now consider the block diagram of the bicycle model shown in Fig. 2.9. The middle box stands for the two-input, single-output nonlinear function \((\gamma ,v) \mapsto \bar{\omega }\) given by

$$ \bar{\omega }= \frac{v}{B} \tan (\gamma ). $$

The unicycle may be regarded as a subsystem. If we place a high-gain inner loop around the dynamics of the steering angle, the bicycle and the unicycle become approximately equivalent. More precisely, let \(v^\star (t)>0\) and \(\omega ^\star (t)\) be arbitrary continuous signals. Define

$$ \bar{\gamma }(t):=\arctan (B \omega ^\star (t) / v^\star (t)), $$

and assume that \(\bar{\gamma }(t)\) is a bounded signal.Footnote 2 Define the following control law for the steering rate of the bicycle:

$$ \omega (t) = K (\bar{\gamma }(t) - \gamma (t)). $$

Here, \(K>0\) is a large gain. The block diagram of the bicycle with this control lawFootnote 3 is depicted in Fig. 2.10. There is a high-gain negative feedback loop around the steering angle, so that we have the approximate identity \(\gamma (t) \approx \bar{\gamma }(t)\). Assuming that this is true, from the block diagram in Fig. 2.10 we have

$$ \bar{\omega }(t) = \frac{v^\star (t)}{B} \tan (\gamma (t)) \approx \frac{v^\star (t)}{B} \tan (\bar{\gamma }(t)) = \omega ^\star (t). $$

Thus, in the block diagram of Fig. 2.10 we have the approximate identity \(\bar{\omega }(t) \approx \omega ^\star (t)\), and the closed-loop bicycle dynamics are approximately equivalent to the dynamics of a unicycle with control input \((v^\star ,\omega ^\star )\).

Fig. 2.10
figure 10

A high-gain inner loop makes the bicycle look like a unicycle

In conclusion, if we are given control laws \((v^\star ,\omega ^\star )\) for the unicycle, we get control laws \((v, \omega )\) for the bicycle through the formulas

$$ \begin{aligned}&v = v^\star \\&\omega = K\left( \arctan (B \omega ^\star / v^\star ) - \gamma \right) , \ K>0 \text { large}. \end{aligned} $$

This works only if \(v^\star (t)>0\) and \(\omega ^\star (t) / v^\star (t) \) is bounded. In other words, if the speed of the unicycle tends to zero we require the angular speed of the unicycle to tend to zero at least as fast. This strategy, therefore, may be problematic when the control specification requires the bicycle to stop (such is the case in the solution to the rendezvous problem presented in Chap. 4).

We stress that the argument outlined above is not mathematically rigorous, which is why we do not state it as a theorem. A rigorous argument would rely on singular perturbation theory. Nonetheless, the argument suggests that if one can solve a control problem for the unicycle model, then it is possible to obtain a solution for the bicycle model. For this reason, in this monograph we focus our attention on the unicycle model.

2.1.5 Summary

  1. 1.

    The model of an integrator point robot on the complex plane is

    $$ \dot{z} = u. $$

    In terms of real variables the model is

    $$\begin{aligned} \dot{x}&= v \\ \dot{y}&= w. \end{aligned}$$

    This model is kinematic—mass is not included. It has only two degrees of freedom, x and y coordinates. It is not a complete model of a physical robot because its orientation is fixed. The reason point robots were introduced was so that control problems could be solved. How to apply these mathematical solutions is not always obvious.

  2. 2.

    A unicycle is a mathematical model of a wheeled robot with one steerable drive wheel. Again it is a kinematic model. It is a more realistic model of a mobile robot than is an integrator point robot. The equations of the unicycle on the real plane are

    $$\begin{aligned} \dot{x}&=v \cos (\theta ) \\ \dot{y}&=v \sin (\theta ) \\ \dot{\theta }&=\omega . \end{aligned}$$

    The model on the complex plane is

    $$\begin{aligned} \dot{z}&=v \mathrm {e}^{j \theta } \\ \dot{\theta }&=\omega . \end{aligned}$$

    We can also view the unicycle as a moving orthonormal frame, in which case its equations are

    $$ \begin{aligned} \dot{z}&= v r \\ \dot{r}&= s \omega \\ \dot{s}&= -r \omega . \end{aligned} $$
  3. 3.

    A bicycle is a mathematical model of a wheeled car-type robot, with a non-steerable drive wheel and a steerable non-drive wheel. It is a kinematic model. It has four degrees of freedom. The equations are

    $$\begin{aligned} \dot{x}&= v \cos (\theta ) \\ \dot{y}&= v \sin (\theta ) \\ \dot{\theta }&=\frac{v}{B} \tan (\gamma ) \\ \dot{\gamma }&= \omega . \end{aligned}$$

    The bicycle and unicycle models are very similar. A controller developed for the unicycle can be adapted to the bicycle, with some limitation.

2.2 Feedback Linearization of the Unicycle

As we emphasized in the previous section, the integrator point robot is not a good model of a real wheeled robot, whereas a unicycle is (except for articulated vehicles). The virtue of an integrator point robot is that it makes it easier to solve mathematical problems. However, a unicycle can be feedback linearized into an integrator point robot. This suggests that to solve a wheeled robot problem, one can first feedback linearize the unicycle robot, then solve the problem, and finally transform back to the wheeled robot. Will this work? We begin to look at this question in this brief section. We will return to it in Chap. 4.

Start with the unicycle model viewed as a moving orthonormal frame:

$$ \begin{aligned} \dot{z}&= v r \\ \dot{r}&= s \omega \\ \dot{s}&= -r \omega . \end{aligned} $$

Let \(\varepsilon >0\). The point

$$\begin{aligned} {p}={z}+\varepsilon {r} \end{aligned}$$
(2.6)

is a distance \(\varepsilon \) in front of the unicycle, as shown in Fig. 2.11. Differentiate both sides of (2.6) with respect to t to get

$$ \dot{p} =v r +\varepsilon s \omega . $$
Fig. 2.11
figure 11

Feedback linearization of a unicycle about a point just ahead

Define u to be the right-hand side:

$$\begin{aligned} {u}:={{r}}v+\varepsilon {{s}} \omega . \end{aligned}$$
(2.7)

Take inner products of both sides of this equation first with r and then with s. Since rs are orthonormal, we obtain

$$\begin{aligned} v=\langle u, r \rangle ,\ \ \omega =\varepsilon ^{-1}\langle u, s \rangle . \end{aligned}$$
(2.8)

The dynamics of the point p are simply

$$\begin{aligned} \dot{{p}}={u}. \end{aligned}$$
(2.9)

To recap, the feedback linearized unicycle model is (2.9), which is in terms of the point just-ahead p; the input u is related to the physical inputs \(v, \omega \) via Eqs. (2.7) and (2.8).

Example 2.1

We illustrate by a numerical example. The task is to get a unicycle to drive to a beacon placed at the origin from any starting point. We start from the feedback linearized model (2.9). We can drive the point p to the origin by the control law \(u=-p\), i.e., \(u=-z-\varepsilon r\). From (2.8)

$$ v=-\langle r,z \rangle -\varepsilon , \ \ \ \omega = -\varepsilon ^{-1} \langle s,z\rangle . $$

Now our control laws are

$$ v=-x\cos (\theta ) -y\sin (\theta ) - \varepsilon , \ \ \ \omega =\varepsilon ^{-1} \left( x \sin (\theta ) -y \cos (\theta ) \right) . $$
Fig. 2.12
figure 12

A unicycle controlled to go to the origin: \(\varepsilon =0.1\), \((x(0),y(0))=(-1,1)\) and \((x(0),y(0))=(1,1).\) The axes are x and y

Figure 2.12 shows simulation results. Because the robot is not initially headed toward the origin, there are initial turns, followed by straight line segments. The robot does not meet the origin. To get it to end up closer to the origin, one would have to make \(\varepsilon \) smaller. Again, this makes \(\omega \) have larger values, as can be seen from the formula

$$ \omega (t)=\varepsilon ^{-1} \left[ x(t) \sin (\theta (t)) -y(t) \cos (\theta (t)) \right] . $$

For \(t=0, \ x(0)=1, \ y(0)=1, \ \theta (0)=0,\) we have \(\displaystyle \omega (0)= \varepsilon ^{-1} \). \(\triangle \)

2.3 Stabilizing the Unicycle to the Origin

Consider the problem of stabilizing the unicycle to the origin. This problem is of little practical interest, but it illustrates some of the challenges in dealing with systems with nonholonomic constraints. A consequence of a celebrated result by Brockett [5] is that for a class of systems with nonholonomic constraints there do not exist continuous time-invariant control laws for equilibrium stabilization. The unicycle and the bicycle are examples of such systems.

While it is impossible to stabilize the unicycle to the origin by means of a continuous time-invariant control law, it is possible to do so by means of a continuous (in fact, smooth) time-varying control law. We start with the unicycle model

$$\begin{aligned} \dot{x}&= v\cos (\theta ) \\ \dot{y}&= v\sin (\theta ) \\ \dot{\theta }&= \omega . \end{aligned}$$

Here it is convenient to decomplexify the quantities z and r defined earlier and regard them as real vectors. Thus \(z=(x,y)\) and \(r=(\cos (\theta ),\sin (\theta ))\).

Suppose the unicycle mounts a camera pointing in the direction of the body frame vector r. Suppose also that there is a beacon at the origin, and that the camera is able to measure the coordinates \((x_b,y_b)\) of the beacon in the body frame \(\mathcal{B}\). To derive \((x_b,y_b)\), consider Fig. 2.13. The displacement of the beacon relative to the unicycle is the vector \(-z\). The scalars \(x_b\) and \(y_b\) are the projections of this vector onto the body frame axes \(\{r,s\}\). Therefore

$$ \begin{aligned} x_b&= \langle -z, r \rangle = \left[ \begin{array}{cc} -x&-y \end{array}\right] \left[ \begin{array}{l} \text {cos}(\theta ) \\ \text {sin}(\theta ) \end{array} \right] = -x \cos (\theta ) - y \sin (\theta )\\ y_b&= \langle -z, s \rangle = \left[ \begin{array}{cc} -x&-y \end{array}\right] \left[ \begin{array}{r} -\sin (\theta ) \\ \cos (\theta ) \end{array} \right] = x \sin (\theta ) - y \cos (\theta ). \end{aligned} $$
Fig. 2.13
figure 13

The robot is positioned at z and heading in the direction of r. The vector \(0-z\) from the robot to the beacon has coordinates \((x_b,y_b)\) in the frame \(\{r,s\}\)

The controller equations are taken to be

$$\begin{aligned} v&=k x_{b} \\&=-k [ x \cos (\theta ) +y \sin (\theta )] \\ \omega (t)&=\cos (t), \end{aligned}$$

where k is a small positive gain. Note that only the measurement \(x_{b}\) is needed, not \(y_{b}\). The usefulness of the periodic \(\omega \) will be revealed soon.

The position dynamics of the closed-loop unicycle are given by

$$ \begin{aligned} \dot{z}&= -k z^T r r \\&=-k r r^T z. \end{aligned} $$

Define the \(2 \times 2\) matrix \(M={{r}} {r} ^T\). Then

$$ \dot{{{z}}} = -k M {z}. $$

Now look at M:

$$\begin{aligned} r&= (\cos (\theta ), \sin (\theta )) \\ M&= {r} {r}^T \\&= \left[ \begin{array}{c} \cos (\theta )\\ \sin (\theta ) \end{array} \right] \left[ \begin{array}{cc} \cos (\theta )&\sin (\theta ) \end{array} \right] \\&= \left[ \begin{array}{cc} \cos ^2(\theta ) &{} \cos (\theta )\sin (\theta ) \\ \cos (\theta )\sin (\theta ) &{} \sin ^2(\theta ) \end{array} \right] . \end{aligned}$$

Since \(\theta (t)=\theta (t_0)+\sin (t)\), so M(t) is a \(2\pi \)-periodic function of t.

Whether or not the unicycle converges to the origin reduces to studying a periodically time-varying linear system. This is a post facto motivation for the control law \(\omega (t)=\cos (t)\).

Look at the function \( \cos ^2(\theta (t))\). Its average value over one period is

$$ \frac{1}{2\pi } \int _0^{2\pi } \cos ^2(\theta (t))dt. $$

Likewise, the average of M(t) is

$$\begin{aligned} \overline{M}&= \left[ \begin{array}{cc} m_1 &{} m_2 \\ m_2 &{} m_3 \end{array} \right] \\&=\left[ \begin{array}{cc} \frac{1}{2\pi } \int _0^{2\pi } \cos ^2(\theta (t))dt &{} \frac{1}{2\pi } \int _0^{2\pi } \cos (\theta (t))\sin (\theta (t))dt \\[4pt] \frac{1}{2\pi }\int _0^{2\pi } \cos (\theta (t))\sin (\theta (t))dt &{} \frac{1}{2\pi } \int _0^{2\pi } \sin ^2(\theta (t))dt \end{array} \right] . \end{aligned}$$

Lemma 2.2

\(\overline{M}\) is positive definite.

Proof

A symmetric matrix is positive definite if and only if its principle minors are positive. Since \(m_1>0\), we just have to show \(\text{ det } (\overline{M})>0\), i.e., \(m_1m_3>m_2^2\).

We have already used the letters xy, but for this proof alone let us use \(x(t)=\cos (\theta (t))\) and \(y(t)=\sin (\theta (t))\). Also, we shall temporarily use the inner product

$$ \langle x,y \rangle = \frac{1}{2\pi } \int _0^{2\pi } x(t)y(t)dt. $$

Then \(m_2^2<m_1m_3\) is equivalent to

$$ \langle x,y \rangle ^2 < \langle x,x \rangle \langle y,y \rangle . $$

The Cauchy–Schwarz inequality gives

$$ \langle x,y \rangle ^2 \le \langle x,x \rangle \langle y,y \rangle $$

with equality holding if and only if x is a scalar multiple of y or vice versa. Neither is the case here—since \(\theta (t)\) is time-varying, we cannot have \(\cos (\theta (t))=c\sin (\theta (t))\)\(\quad {\square }\)

With the periodically time-varying (PTV) linear system

$$ \dot{{z}}(t) = -k M(t) {z}(t) $$

we associate the linear time-invariant (LTI) averaged system

$$ \dot{{z}}(t) = -k \overline{M} {z}(t). $$

Convergence in the LTI system is immediate since \(\overline{M}\) is positive definite. We have to show that this implies convergence in the PTV system for small enough k. This uses averaging theory.

We begin by reviewing the general linear time-varying system

$$\begin{aligned} \dot{x}(t)=A(t)x(t). \end{aligned}$$
(2.10)

The transition matrix of (2.10) is the matrix that maps the state at one time, say \(t_0\), to the state at another time, say t:

$$ x(t)=\varPhi (t,t_0)x(t_0). $$

In general, there is no closed-form expression for \(\varPhi (t,t_0)\) in terms of A(t) except in some special cases.

  1. 1.

    As you well know, if \(A(t)=A\), a constant matrix, then

    $$ \varPhi (t,t_0)=\mathrm{e}^{A(t-t_0)}. $$
  2. 2.

    If A(t) is a scalar (\(1 \times 1\) matrix), then

    $$ \varPhi (t,t_0)=\mathrm{e}^{ \int _{t_0}^t A(\tau ) d\tau }. $$
  3. 3.

    If, for every value of \(t_1\) and \(t_2\), \(A(t_2)\) and \(\int _{t_1} ^{t_2} A(\tau ) d\tau \) commute, then

    $$ \varPhi (t,t_0)=\mathrm{e}^{ \int _{t_0}^t A(\tau ) d\tau }. $$

Theorem 2.1

Let A(t) be periodic of period T. Suppose that

$$ \bar{A}=\frac{1}{T} \int _0^T A(\sigma ) d \sigma $$

has all its eigenvalues in the half plane \(\mathfrak {R}(s)<0\). Then there exists \(\varepsilon _0>0\) such that the origin of

$$ \dot{x}(t) = \varepsilon A(t) x(t) $$

is exponentially stable for all \(0<\varepsilon < \varepsilon _0\).

You can find the proof in [19].

2.3.1 Summary

The simple controller

$$ v=-k{z}^T{r}, \ \ \omega (t)=\cos (t) $$

makes the position of the unicycle converge to the origin for any initial condition. But the proof that it does the job is quite involved. If \(\theta \) is a known function of t, then the system

$$\begin{aligned} \dot{x}&= v \cos (\theta ) \\ \dot{y}&= v \sin (\theta ), \end{aligned}$$

with state (xy) and input v, is linear time-varying.