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.

The introduction of nonholonomic constraints has entailed revisiting these algorithms via the introduction of differential geometry materials. Such a combination has been made possible for certain classes of systems, the so-called small-time controllable ones. It remains that the underlying hypothesis of motion planning algorithms is the knowledge of a global and accurate map of the environment. More than that the considered system is a formal system of equations that does not account for the entire physical system: uncertainties in the world or system modeling are not considered. Such hypotheses are too strong in practice. This is why other complementary research has been done in parallel in a more pragmatic but realistic manner. Such research deals with obstacle avoidance. The problem here is not to deal with complicated systems like a car with multiple trailers. The considered systems are much simpler with respect to their geometric shape. The problem considers sensor-based motions to face the physical issues of a real system navigating in a real world better than motion planning algorithms. How can we navigate toward a goal in a cluttered environment when the obstacles to avoid have just been discovered in real time? This is the question that obstacle avoidance addresses.

The appearance of mobile robots in the late 1960s early 1970s initiated a new research domain: autonomous navigation. It is interesting to note that the first navigation systems were published at the very first International Joint Conferences on Artificial Intelligence (GlossaryTerm

IJCAI

 1969). These systems were based on seminal ideas, which have been very fruitful in the development of robot motion planning algorithms. For instance, in 1969, the mobile robot Shakey used a grid-based approach to model and explore the environment [47.1], in 1977 Jason used a visibility graph built from the corners of the obstacles [47.2], and in 1979 Hilare decomposed the environment into collision-free convex cells [47.3].

In the late 1970s, studies of robot manipulators popularized the notion of the configuration space of a mechanical system [47.4]. In the configuration space the piano becomes a point. The motion planning problem for a mechanical system was thus reduced to finding a path for a point in the configuration space. The way was open to extending the seminal ideas and to developing new and well-grounded algorithms (see Latombe’s book [47.5]).

One decade later, the notion of nonholonomic systems (also borrowed from mechanics) appeared in the literature [47.6] on robot motion planning through the problem of car parking. This problem had not been solved by the pioneering works on mobile robot navigation. Nonholonomic motion planning then became an attractive research field [47.7].

Besides this research effort in path planning, work was initiated in order to make robots move out of their initially artificial environments where the world was cylindrical and composed of wooden vertical boards. Robots started to move in laboratory buildings, with people walking around. Inaccurate localization, uncertain and incomplete maps of the world, and unexpected moving or static obstacles made roboticists aware of the gap between planning a path and executing a motion. Since then the domain of obstacle avoidance has been very active.

In the 2000s a lot of effort has been made toward the integration of motion planning and obstacle avoidance. This effort was stimulated by the DARPA Urban challenge competition. The most successful integration was done by the Carnegie Mellon University team, who won the competition [47.8].

1 Nonholonomic Mobile Robots: Where Motion Planning Meets Control Theory

Nonholonomic constraints are nonintegrable linear constraints over the velocity space of a system. For instance, the rolling without slipping constraint of a differentially-driven mobile robot (Fig. 47.1) is linear with respect to the velocity vector (vector of linear and angular velocities) of the differentially-driven robot and is non integrable (it cannot be integrated into a constraint over the configuration variables). As a consequence, a differentially-driven mobile robot can go anywhere but not following any trajectory. Other types of nonholonomic constraints arise when considering second-order differential equations such as the conservation of inertial momentum. A number of papers investigate the famous falling cat problem or free-floating robots in space [47.7]. This chapter is devoted to nonholonomic constraints for mobile robots with wheels.

While the constraints due to obstacles are expressed directly in the configuration space, that is a manifold, nonholonomic constraints are expressed in the tangent space. In the presence of a linear kinematic constraint, the first question that naturally arises is: does this constraint reduce the space reachable by the system? This question can be answered by studying the structure of the distribution spanned by the Lie algebra of the control system.

Even in the absence of obstacles, planning admissible motions (i. e., that satisfy the kinematic constraints) for a nonholonomic system between two configurations is not an easy task. Exact solutions have been proposed only for some classes of systems but a lot of systems remain without exact solution. In the general case, however, approximate solutions can be used.

The motion planning problem for a nonholonomic system can be stated as follows: given a map of the environment with obstacles in the workspace, a robot subject to nonholonomic constraints, an initial configuration and a goal configuration, find an admissible collision-free path between the initial and goal configurations. Solving this problem requires taking into account both the configuration space constraints due to obstacles and the nonholonomic constraints. The tools developed to address this issue thus combine motion planning and control theory techniques. Such a combination is possible for the class of so-called small-time controllable systems due to topological arguments (Theorem 47.2 in Sect. 47.3).

2 Kinematic Constraints and Controllability

In this section, we give the main definition of controllability, using Sussman’s terminology [47.9].

2.1 Definitions

Let us denote by C S the configuration space of dimension n of a given mobile robot and by q the configuration of this robot. If the robot is mounted on wheels, it is subject to kinematic constraints, linear in the velocity vector

ω i ( q ) q ˙ = 0 , i { 1 , , k } .

We assume that these constraints are linearly independent for any q. Equivalently, for each q, there exists m = n - k linearly independent vectors f 1 ( q ) , , f m ( q ) such that the above constraints are equivalent to

( u 1 , , u m ) R m , q ˙ = i = 1 m u i f i ( q ) .
(47.1)

Let us note that the choice of vectors f i ( q ) is not unique. Fortunately, all the following developments are valid whatever choice we make. Moreover, if the linear constraints are smooth, vector fields f 1 , , f m can be chosen smooth with respect to q. We assume this condition from now on.

Let us define by U a compact subset of R m . We denote by Σ the control system defined by (47.1), with ( u 1 , , u m ) U .

Definition 47.1

A local and small-time controllability:

  1. 1.

    Σ is locally controllable about configuration q iff the set of configurations reachable from q by an admissible trajectory contains a neighborhood of q.

  2. 2.

    Σ is small-time controllable about configuration q iff the set of configurations reachable from q by an admissible trajectory in time less than T contains a neighborhood of q for any T.

f 1 , , f m are called control vector fields of Σ. A system’s small-time controllable about each configuration is said to be small-time controllable.

2.2 Controllability

Checking the controllability properties of a system requires the analysis of the control Lie algebra associated with the system. Let us illustrate in an informal way what the Lie bracket of two vector fields is. Consider two basic motions: go along a straight line and turn on the spot, supported by vector fields denoted by f and g, respectively. Now consider the following combination: go forward during a time t, turn clockwise during the same time t, go backward during the same time t and then turn counterclockwise during the time t. The system reaches a configuration that is not the starting one. Of course when t tends to 0 the goal configuration is very close to the starting one. The direction indicated by such goal configurations when t tends to 0 correspond to a new vector field, which is the Lie bracket of f and g. In a more mathematical formulation, the Lie bracket [ f , g ] of two vector fields f and g is defined as being the vector field f . g - g . f . The k-th coordinate of [ f , g ] is

[ f , g ] [ k ] = i = 1 n g [ i ] x i f [ k ] - f [ i ] x i g [ k ] .

The following theorem [47.10] gives a powerful result for symmetric systems (a system is said to be symmetric when U is symmetric with respect to the origin).

Theorem 47.1

A symmetric system is small-time controllable about configuration q iff the rank of the vector space spanned by the family of vector fields fi together with all their brackets is n at q.

Checking the Lie algebra rank condition (GlossaryTerm

LARC

) on a control system consists in trying to build a basis of the tangent space from a basis (e. g., a P. Hall family) of the free Lie algebra spanned by the control vector fields. An algorithm is proposed in [47.11, 47.12].

2.3 Example: The Differentially-Driven Mobile Robot

Fig. 47.1
figure 1

A differentially-driven mobile robot is subject to one linear kinematic constraint, due to the rolling without slipping constraint of the wheel axis

To illustrate the notions developed in this section, we consider the differentially-driven mobile robot displayed in Fig. 47.1. The configuration space of this robot is R 2 × S 1 , and a configuration can be represented by q = ( x , y , θ ) where ( x , y ) is the position in the horizontal plane of the center of the wheel axis of the robot and θ the orientation with respect to the x-axis. The rolling without slipping kinematic constraint

- x ˙ sin θ + y ˙ cos θ = 0

is linear with respect to the velocity vector ( x ˙ , y ˙ , θ ˙ ) . Therefore, the subspace of admissible velocities is spanned by two vector fields, for instance,

f 1 ( q ) = cos θ sin θ 0 and f 2 ( q ) = 0 0 1 .
(47.2)

The Lie bracket of these two vector fields is

f 3 ( q ) = sin θ - cos θ 0 .

This implies that about any configuration q, the rank of the vector space spanned by f 1 ( q ) , f 2 ( q ) , f 3 ( q ) is 3 and, therefore, that the differentially-driven mobile robot is small-time controllable.

3 Motion Planning and Small-Time Controllability

Motion planning raises two problems: the first one addresses the existence of a collision-free admissible path; this is the decision problem. The second one addresses the computation of such a path; this is the complete problem.

3.1 The Decision Problem

From now on, we assume that the set of collision-free configurations is an open subset. This implies that contact configurations are assumed in collision.

Theorem 47.2

The existence of a collision-free admissible path for a symmetric small-time controllable mobile robot between two configurations is equivalent to the existence of a collision-free (not necessarily admissible) path between these configurations.

Proof:

Let us consider a not necessarily admissible collision-free path between two configurations q 1 and  q 2 as a continuous mapping Γ from interval [ 0 , 1 ] into the configuration space C S such that:

  1. 1.

    Γ ( 0 ) = q 1 , Γ ( 1 ) = q 2 ,

  2. 2.

    for any t [ 0 , 1 ] , Γ ( t ) is collision free.

Point 2 implies that for any t there exists a neighborhood U(t) of Γ ( t ) included in the collision-free subset of the configuration space.

Let us denote by ε ( t ) the bigger lower bound of the time to collision of all the trajectories starting from Γ ( t ) . As the control vector ( u 1 , , u m ) remains in the compact set U, ε ( t ) > 0 .

As the system is small-time controllable about Γ ( t ) , the set reachable from Γ ( t ) in time less than ε ( t ) is a neighborhood of Γ ( t ) , which we denote by V(t).

The collection { V ( t ) , t [ 0 , 1 ] } is an open covering of the compact set { Γ ( t ) , t [ 0 , 1 ] } . Therefore, we can extract a finite covering, { V ( t 1 ) , , V ( t l ) } , where t 1 = 0 < t 2 < < t l - 1 < t l = 1 such that for any i between 1 and l - 1 , V ( t i ) V ( t i + 1 ) . For each i between 1 and l - 1 , we choose one configuration ri in V ( t i ) V ( t i + 1 ) . As the system is symmetric, there exists an admissible collision-free path between q ( t i ) and ri and between ri and q ( t i + 1 ) . The concatenation of these paths is a collision-free admissible path between q 1 and  q 2 .

3.2 The Complete Problem

In the former section, we have established that the decision problem, i. e., determining whether there exists a collision-free admissible path between two configurations, is equivalent to determining whether the configurations lie in the same connected component of the collision-free configuration space. In this section we present the tools necessary to solve the complete problem. These tools blend ideas from the classical motion planning problem addressed in Chap. 7 and from open loop control theory, but require specific developments that we are going to present in the next section. Two main approaches have been devised in order to plan admissible collision-free motions for nonholonomic systems. The first one proposed by [47.13] exploits the idea of the proof of Theorem 47.2 by recursively approximating a not necessarily admissible collision-free path by a sequence of feasible paths. The second approach replaces the local method of probabilistic roadmap method (GlossaryTerm

PRM

) algorithms (Chap. 7) by a local steering method that connects configuration pairs by admissible paths ( ).

Both approaches use a steering method. Before briefly describing them, we give the definition of a local steering method.

Definition 47.2

A local steering method for system Σ is a mapping

S loc : C S × C S C pw 1 ( [ 0 , 1 ] , C S ) ( q 1 , q 2 ) S loc ( q 1 , q 2 )

5 where S loc ( q 1 , q 2 ) is a piecewise continuously differentiable curve in C S satisfying the following properties:

  1. 1.

    S loc ( q 1 , q 2 ) satisfies the kinematic constraints associated to Σ,

  2. 2.

    S loc ( q 1 , q 2 ) connects q 1 to q 2 : S loc ( q 1 , q 2 ) ( 0 ) = q 1 , S loc ( q 1 , q 2 ) ( 1 ) = q 2 .

3.2.1 Approximation of a Not Necessarily Admissible Path

A not necessarily admissible collision-free path Γ ( t ) , t [ 0 , 1 ] connecting two configurations and a local steering method S loc being given, the approximation algorithm proceeds recursively, by calling function approximation defined by Algorithm 47.1 with input Γ, 0 and 1.

Algorithm 47.1

approximation function: inputs are a path Γ and two abscissas t 1 and t 2 along this path

if  S loc (Γ(t1), Γ(t2)) collision free then

 return S loc (Γ(t1), Γ(t2))

else

end if

3.2.2 Sampling-Based Roadmap Methods

Most sampling-based roadmap methods as described in Chap. 6 can be adapted to nonholonomic systems by replacing the connection method between pairs of configurations by a local steering method. This strategy is rather efficient for PRM algorithms. For the rapidly-exploring random tree (GlossaryTerm

RRT

) method, the efficiency strongly depends on the metric used to choose the nearest neighbor. The distance function between two configurations needs to account for the length of the path returned by the local steering method to connect these configurations [47.14].

4 Local Steering Methods and Small-Time Controllability

The approximation algorithm described in the former section is recursive and raises the completeness question: does the algorithm finish in finite time or may it fail to find a solution?

A sufficient condition for the approximation algorithm to find a solution in a finite number of iterations is that the local steering method accounts for small-time controllability.

Definition 47.3

A local steering method S loc accounts for the small-time controllability of system Σ iff

For any q C S , for any neighborhood U of q, there exists a neighborhood V of q such that for any r V , S loc ( q , r ) ( [ 0 , 1 ] ) U .

In other words, a local steering method accounts for the small-time controllability of a system if it produces paths getting closer to the configurations it connects when these configurations get closer to each other.

This property is also sufficient for probabilistic completeness of roadmap sampling-based methods.

4.1 Local Steering Methods Accounting for Small-Time Controllability

Constructing a local steering method that accounts for small-time controllability is a difficult task that has been achieved only for a few classes of systems. Most mobile robots studied in the domain of motion planning are wheeled mobile robots towing trailers or not.

4.1.1 Steering Using Optimal Control

The simplest system, namely the differentially-driven robot presented in Sect. 47.2.3 with bounded velocities or the so-called Reeds and Shepp [47.15] car with bounded curvature have the same control vector fields (47.2). The difference lies in the domain of the control variables:

  • - 1 u 1 1 , | u 2 | | u 1 | for RS car,

  • | u 1 | + b | u 2 | 1 for the differentially-driven robot,

where b is half of the distance between the right and left wheels. For these systems, a local steering method accounting for small-time controllability can be constructed using optimal control theory. For any admissible path defined over an interval I of one of these systems, we define a length as follows

I | u 1 | for the RS car , I | u 1 | + b | u 2 | for the differentially-driven robot .

The length of the shortest path between two configurations in both cases defines a metric over the configuration space. The synthesis of the shortest paths, i. e., the determination of the shortest path between any pair of configurations was achieved by [47.16] for the RS car and later by [47.17] for the differentially-driven robot. Figure 47.2 shows a representation of the balls corresponding to these metrics.

Fig. 47.2
figure 2

(a) Two perspective views of an RS (Reeds and Shepp) ball: set of configurations reachable by a path of length less than a given distance for the Reeds and Shepp car. (b) Perspective views of two DD (differentially driven) balls: set of configurations reachable by a path of a length less than a given distance for the differentially-driven robot. Orientation θ is represented on z-axis

Optimal control naturally defines a local steering method that associates a shortest path between these configurations to any pair of configurations. Let us note that the shortest path is unique between most pairs of configurations. A general result states that the collection of balls of radius r > 0 centered about q induced by nonholonomic metrics constitutes an increasing collection of neighborhoods of q, the intersection of which is { q } . This property directly implies that local steering methods based on shortest paths account for small-time controllability.

The main advantage of optimal control is that it provides both a local steering method and a distance metric consistent with the steering method. This makes the steering methods well suited for path planning algorithms designed for holonomic systems and using a distance function, such as RRT (Chap. 7), for instance.

Unfortunately, the synthesis of the shortest paths has been realized only for the two simple systems described in this section. For more complex systems, the problem remains open.

The main drawback of the shortest path-based steering methods described in this section is that input functions are not continuous. This requires an additional step to compute a time-parameterization of the paths before motion execution. Along this time-parameterization, input discontinuities force the robot to stop. For instance, to follow two successive arcs of circles of opposite curvature a mobile robot needs to stop between the arcs of circle in order to ensure continuity of the linear and angular velocities u1 and u2.

4.1.2 Steering Chained-Form Systems

Some classes of systems can be put into the form called the chained-form system by a change of variable

z ˙ 1 = u 1 ,
(47.3)
z ˙ 2 = u 2 ,
(47.4)
z ˙ 3 = z 2 u 1 ,
(47.5)
z ˙ n = z n - 1 u 1 .
(47.6)

Let us consider the following inputs [47.18]

u 1 ( t ) = a 0 + a 1 sin ω t , u 2 ( t ) = b 0 + b 1 cos ω t + + b n - 2 cos ( n - 2 ) ω t .
(47.7)

Let Z start R n be a starting configuration. Each z i ( 1 ) can be computed from the coordinates of Zstart and parameters ( a 0 , a 1 , b 0 , b 1 , , b n - 2 ) . For a given a 1 0 and a given configuration Zstart, the mapping from ( a 0 , b 0 , b 1 , b 2 , b 3 ) to Z ( 1 ) is a C1-diffeomorphism at the origin; the system is then invertible. For n smaller or equal to 5, parameters ( a 0 , b 0 , b 1 , , b n - 2 ) can be analytically computed from the coordinates of the two configurations Zstart and Zgoal. The corresponding sinusoidal inputs steer the system from Zstart to Zgoal. The shape of the path only depends on parameter a1. Each value of a1 thus defines a local steering method denoted by S sin a 1 . None of these steering methods account for small-time controllability since for any Z R n , S sin a 1 ( Z , Z ) ( [ 0 , 1 ] ) is not reduced to { Z } . To construct a local steering method accounting for small-time controllability from the collection of S sin a 1 , we need to make a1 depend on the configurations Z1 and Z2 that we want to connect

lim Z 2 Z 1 a 1 ( Z 1 , Z 2 ) = 0 , lim Z 2 Z 1 a 0 Z 1 , Z 2 , a 1 ( Z 1 , Z 2 ) = 0 , lim Z 2 Z 1 b i Z 1 , Z 2 , a 1 ( Z 1 , Z 2 ) = 0 .

Such a construction is achieved in [47.19].

4.1.3 Steering Feedback-Linearizable Systems

The concept of feedback linearizability (or differential flatness ) was introduced by Fliess et al. [47.20, 47.21].

A system is said to be feedback linearizable if there exists an output (i. e., function of the state, input and input derivatives) called the linearizing output, such that the state and the input of the system is a function of the linearizing output and its derivatives. The dimension of the linearizing output is the same as the dimension of the input.

Let us illustrate this notion with a simple example. We consider a differentially-driven mobile robot towing a trailer hitched on top of the wheel axis of the robot, as displayed in Fig. 47.3. The tangent to the curve followed by the center of the wheel axis of the trailer gives the orientation of the trailer. From the orientation of the trailer along the curve, we can deduce the curve followed by the center of the robot. The tangent to the curve followed by the center of the robot gives the orientation of the robot. Thus the linearizing output of this system is the center of the wheel axis of the trailer. By differentiating the linearizing output twice, we can reconstruct the configuration of the system.

Fig. 47.3
figure 3

A differentially-driven robot towing a trailer. Hitched on top of the wheel axis of the robot is a feedback-linearizable system. The linearizing output is the center of the wheel axis of the trailer. The configuration of the system can be reconstructed by differentiating the curve y ( s ) , where s is an arc-length parameterization, followed by the linearizing output. The orientation of the trailer is given by τ = arctan ( y ˙ 2 / y ˙ 1 ) . The angle between the robot and the trailer is given by ϕ = - l arctan ( d τ / d s ) . l is the length of the trailer connection

Feedback linearizability is very interesting for steering purposes. Indeed, the linearizing output is not subject to any kinematic constraints. Therefore, if we know the relation between the state and the linearizing output, planning an admissible path between two configurations simply consists in building a curve in R m , where m is the dimension of the input with differential constraints at both ends. This problem can be easily solved using, for instance, polynomials.

For two input driftless systems like Σ, the linearizing output only depends on state q. The state q depends on the linearizing output through the parameterization invariant values, namely, the linearizing output y, the orientation τ of the vector tangent to the curve followed by y and the successive derivatives of τ with respect to the curvilinear abscissa s.

Thus, the configuration of a two input feedback-linearizable driftless system of dimension n can be represented by a vector ( y , τ , τ 1 , , τ n - 3 ) representing the geometric properties of the curve followed by the linearizing output along an admissible path passing through the configuration.

Therefore, designing a local steering method for such a system is equivalent to associating to any pair of vectors ( y 1 , τ 1 , τ 1 1 , , τ 1 n - 3 ) , ( y 2 , τ 2 , τ 2 1 , , τ 2 n - 3 ) a curve in the plane starting from y 1 and ending at y 2 with orientation of the tangent vector and successive derivatives with respect to s and equal to τ 1 , τ 1 1 , , τ 1 n - 3 at the beginning and to τ 2 , τ 2 1 , , τ 2 n - 3 at the end. This exercise is relatively easy using polynomials and transforming the boundary conditions into linear equations over the coefficients of the polynomials. However, taking into account small-time controllability is a little bit more tricky. Reference [47.22] proposes a flatness-based steering method built on convex combinations of canonical curves.

4.2 Equivalence Between Chained-Formed and Feedback-Linearizable Systems

In the previous section, we proposed methods to steer feedback-linearizable control systems or systems that can be put into chained-form. We now give a necessary and sufficient condition for feedback-linearizability.

4.2.1 Feedback-Linearizability: A Necessary and Sufficient Condition

In [47.23], Rouchon gives conditions to check whether or not a system is feedback-linearizable. For two-input driftless systems a necessary and sufficient condition is the following: let us define as Δ k , k > 0 the collection of distributions (i. e., set of vector fields) iteratively defined by: Δ 0 = span { f 1 , f 2 } , Δ 1 = span { f 1 , f 2 , [ f 1 , f 2 ] } and Δ i + 1 = Δ 0 + [ Δ i , Δ i ] with [ Δ i , Δ i ] = span { [ f , g ] , f Δ i , g Δ i } . A system with two-dimensional input is feedback-linearizable iff rank ( Δ i ) = 2 + i .

4.2.2 Example: The Chained-Form System

Let us consider the chained-form system defined by (47.3)–(47.6). The control vector fields of this system are

f 1 = ( 1 , 0 , z 2 , , z n - 1 ) , f 2 = ( 0 , 1 , , 0 ) ,

rank Δ 0 = 2 . If we compute f 3 = [ f 1 , f 2 ] = ( 0 , 0 , 1 , 0 , , 0 ) , we note that rank Δ 1 = 3 . By computing f i = [ f 1 , f i - 1 ] for i up to n, we find a sequence f i = ( 0 , , 0 , 1 , 0 , , 0 ) , where 1 is at position i. Therefore, rank Δ i = 2 + i for i up to n - 2 and the chained-form system is feedback linearizable. This conclusion could have been drawn in a more straightforward way by noticing that the state can be reconstructed from ( z 1 , z 2 ) and its derivatives. ( z 1 , z 2 ) is thus the linearizing output of the chained-form system.

5 Robots and Trailers

Robotics systems studied in motion planning are mainly those composed of a mobile robot alone or towing one or several trailers. The input of these systems is two dimensional.

5.1 Differentially-Driven Mobile Robots

The simplest mobile robot, namely the differentially-driven mobile robot displayed in Fig. 47.1, is obviously feedback-linearizable. the trajectory of the center of the wheel axis (the linearizing output) of the robot gives the orientation of the robot. It can thus be steered using a flatness-based local steering method.

5.2 Differentially-Driven Mobile Robots Towing One Trailer

The differentially-driven mobile robot towing a trailer hitched on top of the wheel axis of the robot displayed in Fig. 47.3 is feedback linearizable and the linearizing output is the center of the wheel axis of the trailer. The differentially-driven mobile robot towing a trailer with hitched kingpin (Fig. 47.4) is also feedback linearizable [47.24] but the relation between linearizing output and configuration variables is more intricate

y 1 = x 1 - b cos θ + L ( ϕ ) b sin θ + a sin ( θ + ϕ ) a 2 + b 2 + 2 a b cos ϕ , y 2 = x 2 - b sin θ - L ( ϕ ) a cos ( θ + ϕ ) + b cos θ a 2 + b 2 + 2 a b cos ϕ ,

where L is defined by the following elliptic integral

L ( ϕ ) = a b 0 ϕ cos σ a 2 + b 2 + 2 a b cos ( σ ) d σ ,

which is the linearizing output of the system. These relations together with the following ones

tan τ = a sin ( θ + ϕ ) + b sin θ b cos θ + a cos ( θ + ϕ ) , κ = sin ( ϕ ) cos ϕ a 2 + b 2 + 2 a b cos ϕ + L ( ϕ ) sin ( ϕ ) ,

make it possible to reconstruct the configuration variables from the linearizing output and its two first derivatives.

Fig. 47.4
figure 4

A differentially-driven mobile robot towing a trailer with hitched kingpin is feedback linearizable

5.3 Car-Like Mobile Robots

A car-like mobile robot is constituted of a fixed rear wheel axis and of two steerable front wheels, the axes of which intersect at the center of curvature (Fig. 47.5). A car-like mobile robot is kinematically equivalent to a differentially-driven mobile robot towing a trailer hitched on top of the wheel axis of the robot (Fig. 47.3): the virtual front wheel corresponds to the differentially-driven robot, while the body of the car corresponds to the trailer.

Fig. 47.5
figure 5

Car-like mobile robot. The axes of the front wheels intersect at the center of curvature. The steering angle ϕ is the angle between the longitudinal axis of the car and a virtual front wheel in the middle of the two front wheels

5.4 Bi-Steerable Mobile Robots

The bi-steerable mobile robot (Fig. 47.6) is a car with front and rear steerable wheels and with a relation between the front and rear steering angles. This system has been proved to be feedback linearizable in [47.25]. As for the mobile robot towing a trailer with hitched kingpin, the linearizing output is a moving point in the robot reference frame.

Fig. 47.6
figure 6

Bi-steerable robot. The front and rear wheels are steerable and there is a relation between the rear steering angle and the front steering angle: α = f ( ϕ )

5.5 Differentially-Driven Mobile Robots Towing Trailers

Let us consider the differentially-driven mobile robot towing a trailer connected on top of the wheel axis of the robot, and let us add an arbitrary number of trailers, each one connected on top of the wheel axis of the previous one. By differentiating once the curve followed by the center of the last trailer, we get the orientation of the last trailer (this orientation coincides with the orientation of the tangent to the curve). If we know the orientation and the position of the center of the last trailer along the path, we can reconstruct the curve followed by the center of the previous trailer. Repeating this reasoning, we can reconstruct the trajectory of the whole system by differentiating a sufficient number of times. The system is therefore feedback linearizable and the linearizing output is the center of the last trailer.

Combining the above reasoning with the systems reviewed in this section, we can build hybrid feedback-linearizable trailer systems. For instance, a differentially-driven mobile robot towing an arbitrary number n of trailers each one connected on top of the wheel axis of the previous trailer, except the last trailer with hitched kingpin is feedback linearizable. Simply consider the two last trailers as a feedback-linearizable system composed of a mobile robot with one trailer as in Fig. 47.4. The linearizing output of this system enables us to reconstruct the trajectory of the two last trailers. The center of trailer n - 1 is a linearizing output for the mobile robot towing the n - 1 last trailers.

5.6 Open Problems

Finally, all the systems for which we are able to plan exact motions between arbitrary pairs of configurations are included in the large class of feedback-linearizable systems. We have indeed seen that chained-form systems are also part of this class. For other systems, no exact solution has been proposed up to now. For instance, neither of the systems displayed in Fig. 47.7 is feedback linearizable. They do not satisfy the necessary condition of Sect. 47.4.2.

Fig. 47.7
figure 7

A truck towing a towbar trailer with hitched kingpin and a differentially-driven mobile robot towing two trailers with hitched kingpin: two open problems for exact path planning for nonholonomic systems

6 Approximate Methods

To deal with nonholonomic systems not belonging to any class of systems for which exact solutions exist, numerical approximate solutions have been developed. We review some of these methods in this section.

6.1 Forward Dynamic Programming

In [47.26] Barraquand and Latombe propose a dynamic programming approach to nonholonomic path planning. Admissible paths are generated by a sequence of constant input values, applied over a fixed interval of time δ t . Starting from the initial configuration the search generates a tree: the children of a given configuration q are obtained by setting the input to a constant value and integrating the differential system over δ t . The configuration space is discretized into an array of cells of equal size (i. e., hyper-parallelepipeds). A child q of a configuration q is inserted in the search tree if and only if the computed path from q to q is collision free and q does not belong to a cell containing an already generated configuration. The algorithm stops when it generates a configuration belonging to the same cell as the goal (i. e., it does not necessarily reach the goal exactly).

The algorithm has been proved to be asymptotically complete with respect to both δ t and the size of the cells. As a brute force method, it remains quite time consuming in practice. Its main interest is that the search is based on Dijkstra’s algorithm, which allows taking into account optimality criteria such as the path length or the number of reversals. Asymptotical optimality to generate the minimum of reversals is proved for the car-like robot alone.

6.2 Discretization of the Input Space

In [47.27] Divelbiss and Wen propose a method to produce an admissible collision-free path for a nonholonomic mobile robot in the presence of obstacles. They restrict the set of input functions over the subspace spanned by Fourier basis over interval [ 0 , 1 ] . An input function is thus represented by a finite-dimensional vector λ. Reaching a goal configuration thus becomes a nonlinear system of equations, the unknowns of which are the coordinates λi’s of λ. The authors use the Newton–Raphson method to find a solution. Obstacles are defined by inequality constraints over the configuration space. The path is discretized into N samples. The noncollision constraint expressed at these sample points yields the inequality constraint over vector λ. These inequality constraints are turned into equality constraints through function g defined as

g ( c ) = ( 1 - e c ) 2 if c > 0 , 0 if c 0 .

Reaching a goal configuration while avoiding obstacles thus becomes a nonlinear system of equations over vector λ again solved using the Newton–Raphson method. The method is rather efficient for short maneuvers. The main difficulty is to tune the order of the Fourier expansion. Long motions in cluttered environments require a higher order, while motion in empty space can be solved with a low order. The authors do not mention the problem of numerical instability in the integration of the dynamic system.

6.3 Input-Based Rapidly Exploring Random Trees

The RRT algorithms described in Chap. 7 can be used without a local steering method to plan paths for nonholonomic systems. New nodes can be generated from existing nodes by applying random input functions over an interval of time [47.28]. The main difficulty consists in finding a distance function that really accounts for the distance the system needs to travel to go from one configuration to another. Moreover, the goal is never exactly reached. This latter drawback can be overcome by post-processing the path returned by RRT using a path deformation method, as described in [47.29].

7 From Motion Planning to Obstacle Avoidance

Up to now we have described motion planning techniques. Their objective is to compute a collision-free trajectory to the target configuration that complies with the vehicle constraints. They assume a perfect model of the robot and scenario. The advantage of these techniques is that they provide complete and global solutions of the problem. Nevertheless, when the surroundings are unknown and unpredictable, these techniques fail.

A complementary way to face the motion problem is obstacle avoidance. The objective is to move a vehicle towards a target location free of collisions with the obstacles collected by the sensors during motion execution. The advantage of reactive obstacle avoidance is to compute motion by introducing the sensor information within the control loop, used to adapt the motion to any contingency incompatible with initial plans.

The main cost of considering the reality of the world during execution is locality. In this instance, if global reasoning is required, a trap situation could occur. Despite this limitation, obstacle avoidance techniques are mandatory to deal with mobility problems in unknown and evolving surroundings.

Notice that methods have been developed to combine both the global point of view of motion planning and the local point of view of obstacle avoidance. How can we consider robot perception at the planning level? This is so-called sensor-based motion planning. Several variants exists, such as the Bug algorithms initially introduced in [47.30]. However, non of them consider the practical context of nonholonomic mobile robots.

8 Definition of Obstacle Avoidance

Let A be the robot (a rigid object) moving in the workspace W, whose configuration space is C S . Let q be a configuration, qt this configuration in time t, A ( q t ) W the space occupied by the robot in this configuration. In the vehicle there is a sensor, which in qt measures a portion of the space S ( q t ) W identifying a set of obstacles  O ( q t ) W .

Let u be a constant control vector and u ( q t ) this control vector applied in qt during time δ t . Given u ( q t ) , the vehicle describes a trajectory q t + δ t = f ( u , q t , δ t ) , with δ t 0 . Let Q t , T be the set of configurations of the trajectory followed from qt with δ t [ 0 , T ] , a given time interval. T > 0 is called the sampling period. Let F : C S × C S R + be a function that evaluates the progress of one configuration to another.

8.1 Obstacle Avoidance Problem

Let qtarget be a target configuration. Then, in time ti the robot A is in q t i , where a sensor measurement is obtained S ( q t i ) , and thus an obstacle description O ( q t i ) .

The objective is to compute a motion control u i , such that ( i ) the trajectory generated is free of collisions with the obstacles A ( Q t i , T ) O ( q t i ) = ; and (ii) it makes the vehicle progress to the target location F ( q t i , q target ) < F ( q t i + T , q target ) .

The result of solving this problem at each sample time (Fig. 47.8a) is a sequence of motion controls { u 1 u n } computed in execution time that avoids the obstacles gathered by the sensors, while making the vehicle progress towards the target location in each configuration { q t 1 q target } (Fig. 47.8b). Notice that the motion problem is a global problem. The obstacle avoidance methods are local and iterative techniques to address this problem. The disadvantage of locality (trap situations) is counteracted with the advantage of introducing the sensory information within the control cycle (to take into account the reality of the world in execution).

Fig. 47.8
figure 8

(a) Obstacle avoidance problem consists of computing motion control that avoids collisions with the obstacles gathered by the sensors whilst driving the robot towards the target location. (b) The result of applying this technique at each time is a sequence of motions that drive the vehicle free of collisions to the target

There are at least three aspects that affect the development of an obstacle avoidance method: the avoidance technique, the type of robot-sensor and the type of scenario. These subjects correspond to the next three sections. First, we describe the obstacle avoidance techniques (Sect. 47.9). Second, we discuss the techniques to adapt a given obstacle avoidance method to work on a vehicle taking into account the shape, kinematics, and dynamics (Sect. 47.10). The sensory processing is detailed in Chaps. 5 and 25 of this book. Finally, the usage of an obstacle avoidance technique on a vehicle in a given scenario is highly dependent on the scenario nature (static or dynamic, unknown or known, structured or not, or its size, for example). Usually, this problem is associated with the integration of planning and obstacle avoidance (Sect. 47.11).

9 Obstacle Avoidance Techniques

We describe here a taxonomy of obstacle avoidance techniques and some representative methods. First there are two groups, methods that compute the motion in one step and methods that do it in more than one. Methods of one step directly reduce the sensor information to motion control. There are two types:

  • The heuristic methods were the first techniques used to generate motion based on sensors. The majority of this work was derived in classic planning methods and will not be described here. See [47.1, 47.30, 47.31, 47.32, 47.33] for some representative work.

  • The methods of physical analogies assimilate the obstacle avoidance to a known physical problem. We discuss here the potential field methods [47.34, 47.35]. Other works are variants adapted to uncertain models [47.36] or that use other analogies [47.37, 47.38, 47.39].

Methods with more than one step compute some intermediate information, which is processed next to obtain the motion:

  • The methods of subset of controls compute an intermediate set of motion controls, and next they choose one of them as a solution. There are two types: (i) methods that compute a subset of motion directions. We describe here the vector field histogram (GlossaryTerm

    VFH

    ) [47.40] and the obstacle restriction method [47.41] (see [47.42] for three-dimensional (GlossaryTerm

    3-D

    ) workspaces). Another method is the steer angle field approach [47.43]. (ii) Methods that compute a subset of velocity controls. We describe here the dynamic window approach (GlossaryTerm

    DWA

    ) [47.44] and velocity obstacles [47.45] (see [47.46] for moving obstacles). Another method based on similar principles but developed independently is the curvature velocity method [47.47].

  • Finally, there are methods that compute some high-level information such as intermediate information, which is translated next in motion. We describe the basic versions of the nearness diagram navigation  [47.48, 47.49]. The reader is directed to [47.50, 47.51, 47.52] for further improvements.

All the methods outlined here have advantages and disadvantages, depending on the navigation context, like uncertain worlds, motion at high speeds, motion in confined or troublesome spaces, etc. Unfortunately there is no metric available to quantitatively measure the performance of the methods. However, for an experimental comparison in terms of their intrinsic problems see [47.48].

9.1 Potential Field Methods

The potential field method (GlossaryTerm

PFM

) uses an analogy in which the robot is a particle that moves in the configuration space under the influence of a force field. While the target location exerts a force that attracts the particle Fatt, the obstacles exert repulsive forces Frep. At each time ti, the motion is computed to follow the direction of the artificial force induced by the sum of both potentials F tot ( q t i ) = F att ( q t i ) + F rep ( q t i ) (the most promising motion direction), Fig. 47.9.

Fig. 47.9
figure 9

(a) Computation of the motion direction with a potential field method. The target attracts the particle Fatt while the obstacle exerts a repulsive force Frep. The resulting force Ftot is the most promising motion direction. (b) Motion directions computed in each point of the space with the classic method

9.1.1 Example

F att ( q t i ) = K att n q target
(47.8)
F rep ( q t i ) = K rep j 1 d ( q t i , p j ) - 1 d 0 n p j if d ( q t i , p j ) < d 0 , 0 otherwise
(47.9)

where Katt and Krep are the constants of the forces, d0 is the influence distance of the obstacles pj, q t i is the current vehicle configuration and n q target and n p j are the unitary vectors that point from q t i to the target and each obstacle pj. From F tot ( q t i ) , the control ui can be obtained with a position or force control [47.53].

This is the classic version, where the potentials only depend on the current vehicle configuration. Complementarily the generalized potentials depend also on the instantaneous robot velocity and vehicle accelerations.

9.1.2 Example

F rep ( q t i ) = K rep j a q ˙ t i [ 2 a d ( q t i , p j ) - q ˙ t i 2 ] n p j n q ˙ t i if q ˙ t i > 0 , 0 otherwise
(47.10)

where q ˙ t i is the current robot velocity, n q ˙ t i the unitary vector pointing in the direction of the robot velocity, and a is the maximum vehicle acceleration. This expression arises when the repulsive potential is defined as the inverse of the difference between the estimated time until a collision takes place and the time needed to stop the robot until full backward acceleration. Notice how the repulsive only affect in the direction of motion of the vehicle, as opposed to the classic potential. For a comparison of the classic and generalized versions, and the relation with the way to compute the motion controls next, see [47.53]. This method is widely used because it is easy to understand and due to its clear mathematic formalism.

9.2 Vector Field Histogram

The vector field histogram (GlossaryTerm

VFH

) solves the problem in two steps by computing a set of candidate motion directions and then selecting one of them.

9.2.1 Candidate Set of Directions

Firstly the space is divided into sectors from the robot location. The method uses a polar histogram H constructed around the robot, where each component represents the obstacle polar density in the corresponding sector. The function that maps the obstacle distribution in sector k on the corresponding component of the histogram h k ( q t i ) is

h k ( q t i ) = Ω k P ( p ) n . 1 - d ( q t i , p ) d max m d p .
(47.11)

The dominion of integration is Ω k = { p W \ p k d ( q t i , p ) < d 0 } . The density h k ( q t i ) is proportional to the probability P ( r ) that a point was occupied by an obstacle, and to a factor that increases when the distance to the point decreases.

Typically the resulting histogram has peaks (directions with high density of obstacles) and valleys (directions with low density). The set of candidate directions is the set of adjacent components with density lower than a given threshold, and closest to the component that contains the target direction. This set of components (sectors) is called the selected valley, and represents a set of candidate directions (Fig. 47.10).

Fig. 47.10a,b
figure 10

Computation of the motion direction θsol with VFH. (a) Robot and obstacle occupancy distribution. (b) The candidate valley is the set of adjacent components with values lower than the threshold. The navigation case is Case 3, since the sector of the target ktarget is not in the valley and the number of sectors is lower than a fixed quantity m (m = 8, i. e., 45 °). Thus the solution is k sol = ( k i + k j ) / 2 , whose bisector is θsol in (a). The bisectors of ki and kj are θi and θj, respectively

9.2.2 Motion Computation

The objective of the next step is to choose a direction of this set. The strategy is to apply three heuristics that depend on the component that contains the target or on the size of the selected valley. The cases are checked in sequence:

  1. 1.

    Case 1: goal sector in the selected valley. Solution: k sol = k target , where ktarget is the sector that contains the goal location.

  2. 2.

    Case 2: goal sector not in the selected valley and number of sectors of the valley greater than m. Solution: k sol = k i ± m / 2 , where m is a fixed number of sectors and ki the sector of the valley closer to the ktarget.

  3. 3.

    Case 3: goal sector not in the selected valley and number of sectors of the valley lower or equal to m. Solution: k sol = ( k i + k j ) / 2 , where ki and kj are the extreme sectors of the valley.

The result is a component or sector ksol, whose bisector is the direction solution θsol. The velocity vsol is inversely proportional to the distance to the closest obstacle. The control is u i = ( v sol , θ sol ) .

VFH is a method formulated to work with probability obstacle distributions, and thus, it is well adapted to work with uncertain sensors as ultrasonic sonars.

9.3 The Obstacle Restriction Method

The obstacle restriction method (GlossaryTerm

ORM

) solves the problem in three steps, where the result of the two first steps is a set of candidate motion directions. The first step is to compute an instantaneous subgoal if necessary. The second one associates a motion constraint to each obstacle and joins them next to compute the set of desirable directions. The last step is an strategy to compute the motion given this set.

9.3.1 Instantaneous Target Selection

This step computes a subgoal when is better to direct the motion towards a given zone of the space (which ameliorates the situation to reach the goal latter), rather than directly towards the goal itself. The subgoals are located in between obstacles or in the edge of an obstacle (Fig. 47.11a). Next, the process is to check with a local algorithm whether the goal can be reached from the robot location. If it is not, then the closest reachable subgoal to the goal is selected. To check if a point can be reached, there is a local algorithm that computes the existence of a local path that joins two locations [47.48].

Fig. 47.11
figure 11

(a) Distribution of the subgoals xi. The selected instantaneous target location is x2. The set of candidate directions is S n D and the solution is θsol (the second case). (b) The two sets of not desirable directions S1 and S2 for a given obstacle

Let xa and xb be two locations of the space, R the robot radius, and L a list of obstacle points, where pi is an obstacle of the list. Let A and B be the two semiplanes divided by the line that joins xa and xb. Then, if for all the points of L, d ( p j , p k ) > 2 R (with  p j A and p k B ), there is a collision free path that joins both locations. If this condition is not satisfied, then there is no local path (although a global one could exist). The interesting result is when the result is positive, since the guarantee that one point can be reached from the other exists.

The result of the process is the goal or an instantaneous subgoal (from now this location is called the target location). Note that this process is general and can be used as a preprocess step by other methods to instantaneously validate the goal location or to compute an instantaneous subgoal to drive the vehicle.

9.3.2 Candidate Set of Directions

For each obstacle i a set of not desirable directions for motion S n D i is computed (motion constraint). This set is the union of two subsets S 1 i and S 2 i . S 1 i represents the side of the obstacle not suitable to do the avoidance and S 2 i is an exclusion area around the obstacle (Fig. 47.11b). The motion constraint for the obstacle is the union of both sets S n D i = S 1 i S 2 i . The set of desired directions of motion is the complementary S D = { [ - π , π ] \ S n D } , where S n D = i S n D i .

9.3.3 Motion Computation

The final step is to select a direction of motion. There are three cases that depend on the set of desirable directions SD and on the target direction θtarget. The cases are checked in sequence:

  1. 1.

    Case 1: S D and θ target S D . Solution: θ sol = θ target .

  2. 2.

    Case 2: S D and θ target S D . Solution: θ sol = θ lim , where θlim is the direction of SD closest to θtarget.

  3. 3.

    Case 3: S D = . Solution: θ sol = ( ϕ lim l + ϕ lim r ) / 2 , where ϕ lim l and ϕ lim r are the directions of S D r and S D l closer to θtarget ( S D r and S D l are the set of desirable directions of obstacles on the left and right-hand sides of the target, respectively).

The result is a direction of motion solution θsol. The velocity vsol is inversely proportional to the distance to the closest obstacle. The control is u i = ( v sol , θ sol ) . This is a geometric-based method based on cases. The advantage is that it has been demonstrated to address effective motion in confined spaces.

9.4 Dynamic Window Approach

The dynamic window approach (GlossaryTerm

DWA

) ( ) is a method that solves the problem in two steps, by computing as intermediate information a subset of the control space U. For simplicity, we consider a motion control such as translational and rotational velocity ( v , w ) ; U is defined by

U = { ( v , w ) R 2 \ v [ - v max , v max ] w [ - w max , w max ] } .
(47.12)

9.4.1 Set of Candidate Controls

The candidate set of controls U R contains the controls: (i) within the maximum velocities of the vehicle U, (ii) that generate safe trajectories U A , and (iii) that can be reached within a short period of time given the vehicle accelerations U D . The set U A contains the admissible controls. These controls can be canceled before collision by applying the maximum deceleration  ( a v , a w )

U A = ( v , w ) U | v 2 d obs a v w 2 θ obs a w ,
(47.13)

where dobst and θobst are the distance to the obstacle and the orientation of the tangent to the trajectory in the obstacle. The set U D contains the controls reachable in a short period

U D = { ( v , w ) U \ v [ v o - a v T , v o + a v T ] w [ w o - a w T , w o + a w T ] } ,
(47.14)

where q ˙ t i = ( v o , w o ) is the current velocity.

The resulting subset of controls is (Fig. 47.12)

U R = U U A U D .
(47.15)
Fig. 47.12
figure 12

Subset of controls U R = U U A U D , where U contains the controls within the maximum velocities, U A the admissible controls, and U D the controls reachable in a short period of time

9.4.2 Motion Computation

The next step is to select one control u i U R . The problem is set out as the maximization of an objective function

G ( u ) = α 1 Goal ( u ) + α 2 Clearance ( u ) + α 3 Velocity ( u ) .
(47.16)

This function is a compromise among Goal ( u ) that favors velocities that offer progress to the goal, Clerance ( u ) that favors velocities far from the obstacles, and Velocity ( u ) that favors high speeds. The solution is the control ui that maximizes this function.

DWA solves the problem in the control space using information of the vehicle dynamics, thus the method is well adapted to work on vehicles with slow dynamic capabilities or that work at high speeds.

9.5 Velocity Obstacles

The method of velocity obstacles (GlossaryTerm

VO

) solves the problem in two steps, by computing as intermediate information a subset of the U. The framework is equal to that of DWA. The difference is that the computation of the set of safe trajectories U A takes into account the velocity of the obstacles, which is described next.

Let vi be the velocity of obstacle i (which became enlarged with the vehicle radius occupying an area Bi) and u a given vehicle control. The set of colliding relative velocities is called collision cone

C C i = u i | λ i B i ,
(47.17)

where λi is the direction of the unitary vector u i = u i - v i . The velocity obstacle is this set in a common absolute system of reference

V O i = C C i v i ,
(47.18)

where is the Minkowski vector sum. The set of unsafe trajectories is the union of the velocity obstacles for each moving obstacle U ¯ A = i V O i (Fig. 47.13). The advantage of this method is that takes into account the velocity of the obstacles; thus it is well suited in dynamic scenarios.

Fig. 47.13
figure 13

Subset of not safe controls U A ¯ = V O 1 V O 2 . A control vector out of this velocity generates a collision-free motion with the moving obstacles

9.6 Nearness Diagram Navigation

This method is more a methodology to design obstacle avoidance methods rather than a method in itself. Nearness diagram navigation (GlossaryTerm

ND

) is an obstacle avoidance method obtained with a geometric implementation following this methodology. The idea behind is to employ a divide and conquer strategy based on situations to simplify the obstacle avoidance problem following the situated-activity paradigm [47.54]. First, there is a set of situations that represent all the cases among robot locations, obstacles, and target locations. Also, for each case there is a motion law associated with it. During the execution phase, at time ti one situation is identified and the corresponding law is used to compute the motion.

9.6.1 Situations

The situations are represented in a binary decision tree. The selection of a situation depends on the obstacles O ( q t i ) , on the robot location q t i and target qtarget. The criteria are based on high-level entities, like a security distance around the robot bounds and a motion area (that identifies suitable areas of motion). For example, one criterion is if there are obstacles within the security zone. Another is if the motion area is large or narrow. The result is only one situation, since by definition and representation (binary decision tree) the set of situations is complete and exclusive (Fig. 47.14).

Fig. 47.14
figure 14

(a) Design diagram of the method. Given the obstacle information and the target location, one situation is identified given some criteria. Next the associated action is executed computing the motion. (b) Example of computation of the solution of the ND (geometric implementation). The first step is to identify the situation. There are no obstacles closer than the security distance Ds. Next qtarget is not within the motion area. Third, the motion area is wide. With these three criteria we identify the current situation, HSWR. In this situation, the associated action computes the control as u i = ( v sol , θ sol ) , where vsol is the maximum velocity and θsol is computed as a deviation α from the limit direction θdisc of the motion area closer to the target direction

9.6.2 Actions

Associated to any situation there is an action that computes the motion to adapt the behavior to the case represented by each situation. At a high level the actions describe the behavior desired in each situation. For example, one situation is when there are no obstacles within a security area and the goal is within the motion area (GlossaryTerm

HSGR

). The solution is to move towards the goal. Another situation is when there are no obstacles within a security area, and the goal is not within the motion area but is wide (GlossaryTerm

HSWR

). The solution is to move towards the limit of the motion area but clearing the security area of obstacles.

The interesting aspect of this method is that it employs a divide and conquer strategy to solve the navigation. As a consequence, it simplifies the difficulty of the problem. The first advantage is that the methodology is described at a symbolic level and, thus, there are many ways to implement the method. Second, a geometric implementation of this methodology (ND method) has been demonstrated to address difficult navigation cases, which translate in to achieve safe navigation in dense, complex, and difficult scenarios.

10 Robot Shape, Kinematics, and Dynamics in Obstacle Avoidance

There are three aspects of the vehicle that have to be taken into account during the obstacle avoidance process: shape, kinematics, and dynamics. The shape with the kinematics is a geometric problem that involves the representation of the vehicle configurations in collision, given the admissible trajectories Q t , . The dynamics involves the accelerations and temporal considerations, and is derived in two aspects: (i) choosing a control reachable in a short period of time T given the current velocity q ˙ t i and the maximum accelerations. (ii) Taking the braking distance into account, so that after a control execution, the vehicle can always stop before collision by applying the maximum deceleration (improving safety).

The problem of shape, kinematics, and dynamics in obstacle avoidance has been taken into account from three different points of view:

  1. 1.

    Designing a way to incorporate the constraints within the method (Sect. 47.9.4)

  2. 2.

    Developing techniques that abstract the vehicle aspects from the application of the method [47.55, 47.56, 47.57, 47.58]

  3. 3.

    By techniques that break down the problem into subproblems and incorporate the aspects in sequence [47.59, 47.60, 47.61] after method usage.

10.1 Techniques that Abstract Vehicle Aspects

These techniques are based on constructing an abstraction layer between the aspects of the vehicle and the obstacle avoidance method, in such a way that when the method is applied its solutions already take into account these aspects [47.55, 47.56, 47.57, 47.58]. We consider here vehicles whose elementary paths obtained under execution of constant controls can be approximated by circular arcs (for example, a differential-drive robot, syncro-drive, or a tri-cycle). To simplify, a control is translational and rotational velocity u = ( v , w ) . The set of reachable controls U A given the current velocity q ˙ t i = ( v 0 , w 0 ) and the maximum accelerations ( a v , a w ) is obtained by (47.14).

10.1.1 Abstraction Construction

For these vehicles, the configuration space C S is three-dimensional. The idea is to construct, centered in the robot at each time ti, the manifold of the configuration space A R M ( q t i ) A R M defined by elementary circular paths. The function that defines the manifold is

θ = f ( x , y ) = arctan 2 x , x 2 - y 2 2 y if y 0 , - arctan 2 x , - x 2 - y 2 2 y otherwise .
(47.19)

It is easy to see that function f is differentiable in R 2 \ ( 0 , 0 ) . Thus ( x , y , f ( x , y ) ) defines a two-dimensional manifold in R 2 × S 1 when ( x , y ) R 2 \ ( 0 , 0 ) . This manifold ARM contains all the configurations that can be reached at each step of the obstacle avoidance.

Next, in the ARM one computes the exact region of the configurations in collision COARM given any shape of the robot (i. e., obstacle representation in the manifold). Given an obstacle point ( x p , y p ) and a point of the robot bounds ( x r , y r ) , a point ( x s , y s ) of the COARM boundary is obtained by

x s = ( x f + x i ) a , y s = ( y f - y i ) a ,
(47.20)

with

a = x f 2 - x i 2 2 y f 2 - y i 2 + x f 2 - x i 2 ( y f - y i ) 2 + ( x f - x i ) 2 × [ ( y f - y i ) 4 + 2 x f 2 + x i 2 ( y f - y i ) 2 + x f 2 - x i 2 2 ] - 1 .

This result is used to map the robot bounds for all obstacles in the manifold, computing the exact shape of the COARM. Next, one compute the nonadmissible configurations CNAARM in the manifold ARM, which correspond to configurations that once reached at a given velocity in time T, the vehicle cannot be stopped by applying the maximum deceleration without collision (i. e., there is not enough braking distance). These regions CNAARM are the COARM enlarged by a magnitude that depends on the maximum vehicle accelerations. The set of configurations RCARM reachable by controls in a short period of time U A is also computed in the ARM. Finally, a change of coordinates is applied to ARM leading to ARMp. Its effect is that the elementary circular paths become straight segments in the manifold. As a consequence, the problem now is to move an omnidirectional point in a bidimensional space free of any constraint.

10.1.2 Method Application

The final step is to apply the avoidance method on the ARMp to avoid the C N A A R M p regions. The method solution βsol is the most promising direction in ARMp. This direction is used to select and admissible location q sol p C N A A R M p in the set of dynamic reachable configurations R C A R M p . Finally, the control usol that leads to this location at time T is selected. By construction, this control is kinematically and dynamically admissible, avoids collisions with the exact vehicle shape, and takes into account the braking distance (Fig. 47.15).

Fig. 47.15
figure 15

(a) Robot location, obstacle information and goal location. (b) The abstraction layer in ARMp. In this representation the obstacles are the nonadmissible region C N A A R M p in ARM and that the motion is omnidirectional (applicability conditions of many obstacle avoidance methods). The method is applied to obtain the most promising direction βsol, used to obtain the configuration solution q sol p in the set of reachable configurations R C A R M p . Finally, the solution is the control usol that reaches this configuration at time T. This control complies with the kinematics and dynamics and takes into account the exact vehicle shape

Note how with these techniques, the three-tridimensional obstacle avoidance problem is converted into the simple problem of moving a point in a two-dimensional space without kinematic and dynamic restrictions (applicability conditions of many existing methods). Thus, many existing methods can be applied in this abstraction, and as a consequence, the solutions take the vehicle constraints into account.

10.2 Techniques of Decomposition in Subproblems

These techniques address the obstacle avoidance problem taking into account the vehicle constraints by breaking down this problem into subproblems:

  1. 1.

    Obstacle avoidance

  2. 2.

    Kinematics and dynamics

  3. 3.

    The shape.

Each subproblem is dealt with in sequence (Fig. 47.16).

Fig. 47.16
figure 16

Decomposition of the obstacle avoidance problem into subproblems that are addressed in steps, successively incorporating the vehicle aspects

10.2.1 Obstacle Avoidance

First the obstacle avoidance method is used by assuming a circular and omnidirectional vehicle. The solution is the most promising motion direction and the velocity u 1 = ( v 1 , θ 1 ) to direct the vehicle towards the target.

10.2.2 Kinematics and Dynamics

Second, this control is converted into a control that complies with the kinematics and dynamics, which tends to align the vehicle with the instantaneous motion direction θ1 of u 1 . For example, [47.60, 47.61] modify the output of the obstacle avoidance method by a feedback action that aligns the vehicle with the direction solution in a least squares fashion. Moreover, [47.59] use a dynamic controller of the vehicle. This controller models the behavior of the vehicle as it would be pulled by a virtual force, and computes the motion that would result after applying this force during a short period of time. The motion generated is the new control. In order to use the controller, the previous control u 1 is converted into an instantaneous force F = ( θ 1 , F max ( v 1 / v max ) ) input of the controller, which computes a control u 2 that complies with the kinematic and dynamics.

10.2.3 Shape

The final step is to assure that the control u 2 obtained in the previous step avoids collisions with the exact shape of the vehicle. To do this, a shape corrector is used to check collisions by dynamic simulation of the control. If there is collision, there is a search in the set of reachable controls (47.14) until one of them is collision free. The result of this process is a motion control ui that guarantees obstacle avoidance and complies with the kinematics and dynamics of the vehicle.

11 Integration Planning – Reaction

In this section we show how the obstacle avoidance methods are integrated in real systems. On the one hand, the obstacle avoidance methods are local techniques to address the motion problem. Thus, they are doomed to fall in local minima that translate in trap situations or cyclic motions. This reveals the necessity of a more global reasoning. On the other hand, motion planning techniques compute a geometric path free of collisions, which guarantees global convergence. However, when the scenarios are unknown and evolve, these techniques fail, since the precomputed paths will almost surely collide with obstacles. It seems clear that one key aspect to build a motion system is to combine the best of both worlds: the global knowledge given by motion planning and the reactivity of the obstacle avoidance methods.

The most extended ways to specify the interaction between the deliberation and reaction are: (i) to precompute a path to the target deformed in execution as a function of the changes in the scenario obtained from the sensor information (systems of path deformation), for example, [47.62, 47.63, 47.64, 47.65, 47.66, 47.67]. (ii) To use a planner at a high frequency with a tactical role, leaving the degree of execution to the reactor [47.68, 47.69, 47.70, 47.71, 47.72, 47.73].

11.1 Systems of Path Deformation

Elastic bands is a method that initially assumes the existence of a geometric path to the target location (computed by a planner). The path is assimilated with a band, subjected to two types of forces: an inner contraction force and an external force. The inner force simulates the tension of a strip and maintains the stress. The external force is exerted by the obstacles and moves the band far from them. During the execution, the new obstacles produce forces that remove the band far from them, guaranteeing their avoidance. These methods are described in Chap. 37.

An extension of the method of path deformation was proposed in [47.64] for nonholonomic systems ( ). Even though the objective is the same as for mobile robots without kinematic constraints, avoiding obstacle while following a trajectory, the concepts are completely different. The trajectory Γ of a nonholonomic system is completely defined by an initial configuration Γ ( 0 ) and the value of the input function u C 1 ( I , R m ) , where I is an interval. The trajectory deformation method for nonholonomic systems is thus based on the perturbation of the input function of the current trajectory in order to achieve three objectives:

  1. 1.

    Keeping the nonholonomic constraints satisfied

  2. 2.

    Getting away from obstacles detected online by onboard sensors

  3. 3.

    Keeping unchanged the initial and last configurations of the trajectory after deformation.

Perturbing the input function of Γ, by a vector-valued input perturbation v C 1 ( I , R m ) , yields a trajectory deformation η C 1 ( I , R n )

u u + τ v Γ Γ + τ η ,

where τ is a positive, asymptotically small real number. As an approximation of order 1, the relation between u and η is given by the linearized system, which we do not express here.

11.1.1 Potential Field of Obstacles

Obstacles are taken into account by defining a potential field over the configuration space, which increases when the robot gets closer to obstacles. This potential field is lifted into the space of trajectories by integration along the trajectory of the configuration potential value.

11.1.2 Discretization of the Input Space

The space C 1 ( I , R m ) of input perturbations is an infinite-dimensional vector space. The choice of an input perturbation is restricted to a finite-dimensional subspace spanned by p arbitrary test functions, e 1 , , e p where p is a positive integer. An input perturbation: u = i = 1 p λ i e i is thus defined by a vector λ R p . The variation of the trajectory potential is linear with respect to λ.

11.1.3 Boundary Conditions

The boundary conditions consisting in applying a trajectory perturbation equal to zero at both ends of interval I is linear with respect to λ. It is, therefore, easy to find a vector λ making the potential decrease and satisfying the boundary conditions.

11.1.4 Nonholonomic Constraint Deviation

The approximation of order 1 in the relation between the input perturbation and trajectory deformation induces a side effect: after a few iterations, the nonholonomic constraints are no longer satisfied. This side effect is corrected by considering an augmented system with n control vector fields f 1 , , f n spanning R n for each configuration and by keeping the input components u m + 1 to un along the additional vector fields as close as possible to 0. Figure 47.17 shows an example of the trajectory deformation algorithm applied to a nonholonomic system.

Fig. 47.17
figure 17

A differentially-driven mobile robot towing a trailer applying the trajectory deformation algorithm to avoid obstacles detected online

11.2 Systems of Tactical Planning

The systems of tactical planning recompute at a high frequency a path to the target location, and use the main course to advise the obstacle avoidance module. The design of these motion systems involves at least the synthesis of three functionalities. The construction of a model, the deliberative planning, and the obstacle avoidance. The modeler constructs a representation base for deliberation and memory for the reactive behavior. The planner generates global plans used tactically to guide the obstacle avoidance module, which generates the local motion. Next we give a perspective of the three functionalities and three possible tools to implement them [47.73].

11.2.1 Model Builder Module

Construction of a model of the environment (to increase the spatial domain of the planning and used as local memory for obstacle avoidance). One possibility is to use a binary occupancy grid that is updated whenever a new sensory measurement is available, and to employ a scan matching technique  [47.74, 47.75] to improve the vehicle odometry before integrating any new measure in the grid.

11.2.2 Planner Module

Extraction of the connectivity of the free space (used to avoid the cyclical motions and trap situations). A good choice is a dynamic navigation function such as the D *  [47.76, 47.77]. The idea behind the planner is to focus the search locally in the areas where the changes in the scenario structure have occurred and affect the computation of the path. The planner avoids the local minima and is computationally very efficient for real-time implementations.

Fig. 47.19
figure 18

(a) Snapshot of an experiment carried out with the motion system described working on a wheelchair robot equipped with a planar range laser sensor. (b) Information of the motion system at a given time: current accumulated map of the scenario, path computed with the planner and tactical direction of motion, and solution of the reactive obstacle avoidance method

11.2.3 Obstacle Avoidance Module

Computation of the collision-free motion. Any of the methods described in this chapter could be used. One possibility is the ND method (Sect. 47.9.6), since it has been demonstrated to be very efficient and robust in environments with little space to manoeuvre.

Globally the system works as follows (Fig. 47.18): given a laser scan and the odometry of the vehicle, the model builder incorporates this information into the existing model. Next, the information of the changes in obstacle and free space in the model is used by the planner module to compute the course to follow to reach the goal. Finally, the avoidance module uses the information of the obstacles contained in the grid and information of this tactical planner to generate the motion (to drive the vehicle free of collisions towards the goal). The motion is executed by the vehicle controller and the process restarts with a new sensorial measurement. It is important to stress that the three modules should work synchronously within the perception – action cycle for consistency reasons. The advantage of these systems is that the synergy of the modules allows to avoid trap situations and the cyclic motions (limitations associated to the local nature of the avoidance methods). Figure 47.19 shows a snapshot of an experiment carried out with this motion system.

Fig. 47.18
figure 19

Overview of the system of motion

12 Conclusions, Future Directions, and Further Reading

The algorithmic tools presented in this chapter show that motion planning and obstacle avoidance research techniques have reached a level of maturity that allow their transfer onto real platforms ( , ). Today, several indoor mobile robots use obstacle avoidance techniques on a daily basis to guide visitors in museums. Outdoor applications still require some developments in perception and modeling. For these applications, 3-D sensing capabilities are necessary to model the environment but also to detect obstacles. As an example, several car manufacturer are working on parallel parking assistance. The difficult point of this application is to build a model of a parking spot from 3-D data in a great variety of environments.

The main challenge of autonomous motion in mobile robots currently consists in integrating techniques from different robotics research domains in order to plan and execute motions for very complex systems, like humanoid robots, for instance. Integration in the sense that different software components need to work together on a machine but also in a scientific meaning: the classical motion planning formulation with configuration variables that locate the robot with respect to a global reference frame does not fit partially known environments with imprecise maps. Robotic tasks like motion need to be specified with respect to landmarks of the environment. For instance, grasping an object is by definition a motion specified with respect to the position of the object. Very little has been done to design a general framework in this direction.

For useful complementary reading on motion planning and obstacle avoidance for mobile robots see [47.5, 47.78, 47.79, 47.80].