15.4.1 Control-Affine Systems

Nonholonomic system theory is restricted to a special class of nonlinear systems. The techniques of Section 15.4 utilize ideas from linear algebra. The main concepts will be formulated in terms of linear combinations of vector fields on a smooth manifold $ X$. Therefore, the formulation is restricted to control-affine systems, which were briefly introduced in Section 13.2.3. For these systems, $ {\dot x}=
f(x,u)$ is of the form

$\displaystyle {\dot x}= h_0(x) + \sum_{i=1}^m h_i(x) u_i ,$ (15.52)

in which each $ h_i$ is a vector field on $ X$.

The vector fields are expressed using a coordinate neighborhood of $ X$. Usually, $ m < n$, in which $ n$ is the dimension of $ X$. Unless otherwise stated, assume that $ U = {\mathbb{R}}^m$. In some cases, $ U$ may be restricted.

Each action variable $ u_i \in {\mathbb{R}}$ can be imagined as a coefficient that determines how much of $ h_i(x)$ is blended into the result $ {\dot x}$. The drift term $ h_0(x)$ always remains and is often such a nuisance that the driftless case will be the main focus. This means that $ h_0(x) = 0$ for all $ x \in X$, which yields

$\displaystyle {\dot x}= \sum_{i=1}^m h_i(x) u_i .$ (15.53)

The driftless case will be used throughout most of this section. The set $ h_1$, $ \ldots $, $ h_m$, is referred to as the system vector fields. It is essential that $ U$ contains at least an open set that contains the origin of $ {\mathbb{R}}^m$. If the origin is not contained in $ U$, then the system is no longer driftless.15.7

Control-affine systems arise in many mechanical systems. Velocity constraints on the C-space frequently are of the Pfaffian form (13.5). In Section 13.1.1, it was explained that under such constraints, a configuration transition equation (13.6) can be derived that is linear if $ q$ is fixed. This is precisely the driftless form (15.53) using $ X = {\cal C}$. Most of the models in Section 13.1.2 can be expressed in this form. The Pfaffian constraints on configuration are often called kinematic constraints because they arise due to the kinematics of bodies in contact, such as a wheel rolling. The more general case of (15.52) for a phase space $ X$ arises from dynamic constraints that are obtained from Euler-Lagrange equation (13.118) or Hamilton's equations (13.198) in the formulation of the mechanics. These constraints capture conservation laws, and the drift term usually appears due to momentum.

Example 15..5 (A Simplified Model for Differential Drives and Cars)   Both the simple-car and the differential-drive models of Section 13.1.2 can be expressed in the form (15.53) after making simplifications. The simplified model, (15.48), can be adapted to conveniently express versions of both of them by using different restrictions to define $ U$. The third equation of (15.48) can be reduced to $ {\dot \theta}= u_2$ without affecting the set of velocities that can be achieved. To conform to (15.53), the equations can then be written in a linear-algebra form as

$\displaystyle \begin{pmatrix}{\dot x} {\dot y} {\dot \theta} \end{pmatrix} ...
...ta  0  \end{pmatrix} u_1 + \begin{pmatrix}0  0  1  \end{pmatrix} u_2.$ (15.54)

This makes it clear that there are two system vector fields, which can be combined by selecting the scalar values $ u_1$ and $ u_2$. One vector field allows pure translation, and the other allows pure rotation. Without restrictions on $ U$, this system behaves like a differential drive because the simple car cannot execute pure rotation. Simulating the simple car with (15.54) requires restrictions on $ U$ (such as requiring that $ u_1$ be $ 1$ or $ -1$, as in Section 15.3.2). This is equivalent to the unicycle from Figure 13.5 and (13.18).

Note that (15.54) can equivalently be expressed as

$\displaystyle \begin{pmatrix}{\dot x} {\dot y} {\dot \theta} \end{pmatrix} ...
...\theta & 0  0 & 1  \end{pmatrix} \begin{pmatrix}u_1  u_2  \end{pmatrix}$ (15.55)

by organizing the vector fields into a matrix. $ \blacksquare$

In (15.54), the vector fields were written as column vectors that combine linearly using action variables. This suggested that control-affine systems can be alternatively expressed using matrix multiplication in (15.55). In general, the vector fields can be organized into an $ n \times m$ matrix as

$\displaystyle H(x) = \big[ h_1(x) \;\; h_2(x) \;\; \cdots \;\; h_m(x) \big] .$ (15.56)

In the driftless case, this yields

$\displaystyle {\dot x}= H(x)   u$ (15.57)

as an equivalent way to express (15.53)

It is sometimes convenient to work with Pfaffian constraints,

$\displaystyle g_1(x) {\dot x}_1 + g_2(x) {\dot x}_2 + \cdots + g_n(x) {\dot x}_n = 0,$ (15.58)

instead of a state transition equation. As indicated in Section 13.1.1, a set of $ k$ independent Pfaffian constraints can be converted into a state transition equation with $ m = (n - k)$ action variables. The resulting state transition equation is a driftless control-affine system. Thus, Pfaffian constraints provide a dual way of specifying driftless control-affine systems. The $ k$ Pfaffian constraints can be expressed in matrix form as

$\displaystyle G(x)   {\dot x}= 0 ,$ (15.59)

which is the dual of (15.57), and $ G(x)$ is a $ k \times n$ matrix formed from the $ g_i$ coefficients of each Pfaffian constraint. Systems with drift can be expressed in a Pfaffian-like form by constraints

$\displaystyle g_0(x) + g_1(x) {\dot x}_1 + g_2(x) {\dot x}_2 + \cdots + g_n(x) {\dot x}_n = 0 .$ (15.60)

Steven M LaValle 2012-04-20