8.4.4.1 An acceleration-based control model

To motivate the introduction of constraints, consider a control model proposed in [235,830]. The action space, defined as $ U(x) =
T_x(X)$ in Formulation 8.2, produces a velocity for each action $ u \in U(x)$. Therefore, $ {\dot x}= u$. Suppose instead that each action produces an acceleration. This can be expressed as $ {\ddot x}= u$, in which $ {\ddot x}$ is an acceleration vector,

$\displaystyle {\ddot x}= \frac{d{\dot x}}{dt} = \left[\frac{d^2x_1}{dt^2} \;\; \frac{d^2x_2}{dt^2} \;\; \cdots \;\; \frac{d^2x_n}{dt^2} \right].$ (8.44)

The velocity $ {\dot x}$ is obtained by integration over time. The state trajectory, $ {\tilde{x}}: T \rightarrow X$, is obtained by integrating (8.44) twice.

Suppose that a vector field is given in the form $ {\dot x}= f(x)$. How can a feedback plan be derived? Consider how the velocity vectors specified by $ f(x)$ change as $ x$ varies. Assume that $ f(x)$ is smooth (or at least $ C^1$), and let

$\displaystyle \nabla_{\dot x}f(x) = \left[\nabla_{\dot x}f_1(x) \;\; \nabla_{\dot x}f_2(x) \;\; \cdots \;\; \nabla_{\dot x}f_n(x) \right],$ (8.45)

in which $ \nabla_{\dot x}$ denotes the unnormalized directional derivative in the direction of $ {\dot x}$: $ \nabla f_i \cdot {\dot x}$. Suppose that an initial state $ {x_{I}}$ is given, and that the initial velocity is $ {\dot x}= f({x_{I}})$. The feedback plan can now be defined as

$\displaystyle u = \nabla_{\dot x}f(x) .$ (8.46)

This is equivalent to the previous definition of a feedback plan from Section 8.4.1; the only difference is that now two integrations are needed (which requires both $ x$ and $ {\dot x}= f({x_{I}})$ as initial conditions) and a differentiability condition must be satisfied for the vector field.

Now the relationship between $ {\dot x}$ and $ f(x)$ will be redefined. Suppose that $ {\dot x}$ is the true measured velocity during execution and that $ f(x)$ is the prescribed velocity, obtained from the vector field $ f$. During execution, it is assumed that $ {\dot x}$ and $ f(x)$ are not necessarily the same, but the task is to keep them as close to each other as possible. A discrepancy between them may occur due to dynamics that have not been modeled. For example, if the field $ f(x)$ requests that the velocity must suddenly change, a mobile robot may not be able to make a sharp turn due to its momentum.

Using the new interpretation, the difference, $ f(x) - {\dot x}$, can be considered as a discrepancy or error. Suppose that a vector field $ f$ has been computed. A feedback plan becomes the acceleration-based control model

$\displaystyle u = K (f(x) - {\dot x}) + \nabla_{\dot x}f(x) ,$ (8.47)

in which $ K$ is a scalar gain constant. A larger value of $ K$ will make the control system more aggressively attempt to reduce the error. If $ K$ is too large, then acceleration or energy constraints may be violated. Note that if $ {\dot x}= f(x)$, then $ u = \nabla_{\dot x}
f(x)$, which becomes equivalent to the earlier formulation.

Steven M LaValle 2012-04-20