15.5.1 Using the P. Hall Basis

The steering method presented in this section is due to Lafferriere and Sussmann [574]. It is assumed here that a driftless control-affine system is given, in which $ X$ is a Lie group, as introduced in Example 15.15. Furthermore, the system is assumed to be STLC. The steering method sketched in this section follows from the Lie algebra $ {\cal L}({\triangle})$. The idea is to apply piecewise-constant motion primitives to move in directions given by the P. Hall basis. If the system is nilpotent, then this method reaches the goal state exactly. Otherwise, it leads to an approximate method that can be iterated to get arbitrarily close to the goal. Furthermore, some systems are nilpotentizable by using feedback [442].

The main idea is to start with (15.53) and construct an extended system

$\displaystyle {\dot x}= \sum_{i=1}^s b_i(x) v_i ,$ (15.114)

in which each $ v_i$ is an action variable, and $ b_i$ is a vector field in $ {\cal PH}$, the P. Hall basis. For every $ i \leq m$, each term of (15.114) is $ b_i(x) v_i = h_i(x) u_i$, which comes from the original system. For $ i > m$, each $ b_i$ represents a Lie product in $ {\cal PH}$, and $ v_i$ is a fictitious action variable. It is called fictitious because the velocity given by $ b_i$ for $ i > m$ cannot necessarily be achieved by using a single action variable of the system. In general, $ s$ may be larger than $ n$ because at each $ x \in X$ a different subset of $ {\cal PH}$ may be needed to obtain $ n$ independent vectors. Also, including more basis elements simplifies some of the coming computations.

Example 15..21 (Extended System for the Nonholonomic Integrator)   The extended system for the nonholonomic integrator (15.83) is

$\displaystyle \begin{pmatrix}{\dot x}_1  {\dot x}_2  {\dot x}_3 \end{pmatri...
... x_1  \end{pmatrix} v_2 + \begin{pmatrix}0  0  2  \end{pmatrix} v_3 .$ (15.115)

The first two terms correspond to the original system. The last term arises from the Lie bracket $ [h_1,h_2]$. Only one fictitious action variable is needed because the three P. Hall vector fields are independent at every $ x \in X$.

It is straightforward to move this system along a grid-based path in $ {\mathbb{R}}^3$. Motions in the $ x_1$ and $ x_2$ directions are obtained by applying $ v_1 = u_1$ and $ v_2 = u_2$, respectively. To move the system in the $ x_3$ direction, the commutator motion in (15.71) should be performed. This corresponds to applying $ v_3$. The steering method described in this section yields a generalization of this approach. Higher degree Lie products can be used, and motion in any direction can be achieved. $ \blacksquare$

Suppose some $ {x_{I}}$ and $ {x_{G}}$ are given. There are two phases to the steering method:

  1. Determine an action trajectory $ {\tilde{v}}$ for the extended system, for which $ x(0) = {x_{I}}$ and $ x(t_F) = {x_{G}}$ for some $ t_F
> 0$.
  2. Convert $ {\tilde{v}}$ into an action trajectory $ {\tilde{u}}$ that eliminates the fictitious variables and uses the actual $ m$ action variables $ u_1$, $ \dots$, $ u_m$.
The first phase is straightforward. For the extended system, any velocity in the tangent space, $ T_x(X)$, can be generated. Start with any smooth path $ \tau :
[0,1] \rightarrow X$ such that $ \tau(0) =
{x_{I}}$ and $ \tau(1) = {x_{G}}$. The velocity $ \dot{\tau}(t)$ along the path $ \tau$ is a velocity vector in $ T_{\tau(t)}(X)$ that can be expressed as a linear combination of the $ b_i(\tau(t))$ vectors using linear algebra. The coefficients of this combination are the $ v_i$ values. The second phase is much more complicated and will be described shortly. If the system is nilpotent, then $ {\tilde{u}}$ should bring the system precisely from $ {x_{I}}$ to $ {x_{G}}$. By the way it is constructed, it will also be clear how to refine $ {\tilde{u}}$ to come as close as desired to the trajectory produced by $ {\tilde{v}}$.

Steven M LaValle 2012-04-20