2. Definitions: parametric curves

autonomous cars on the roads, as there are both technical and legal problems involved [2, 3]. The intelligent system is composed of three different groups and subgroups: acquisition and

Although the vast majority of the literature often depicted the problems by focusing mainly on these groups or subgroups of processes, functionality in intelligent vehicles, or in mobile robots in general, cannot be conceived as composed of separate blocks, and therefore, a

This chapter is devoted to the use of parametric curves in the field of robotics. Parametric curves are mainly used in the decision block when the path is defined. However, they are also employed in other blocks, and some of their properties are beneficial for other processes.

Focusing on the decision-making block, the "path planning" or the design of the path to follow has been the subject of study in the last decades, where many authors divide the problem into global and local path planning. On the one hand, the global path planning generates an overall path composed of a set of points to be followed, covering large distances and considering static obstacles in the environment. On the other hand, the local path planning constructs a short path with much more precision, even in continuous form, taking into account unexpected

In general, path planning techniques can be grouped into four large groups: graph search,

• Graph search-based planners search a grid for the optimal way to go from a start point to a goal point. Algorithms, such as Dijkstra, A-Start (A \*) and its variants Dynamic A\* (D\*),

• Sampling-based planners try to solve the search problem restricting the computational time. The idea is to randomly explore/sample the configuration space, looking for connections between source and destination. The main problem is that the solution is suboptimal. The most common techniques are the probabilistic roadmap method (PRM) and the rapidly

• Interpolating curve planners try to insert a new group of data within the previously defined data group. In other words, both graph search and sampling-based planners are global planners that provide a rough approximation of the solution. In this case, it is a matter of interpolating this group of points. At this stage, the design of the trajectory is when the properties of continuity, smoothness and geometrical restrictions of the vehicle, among others, intervene. Computer-aided geometric design (CAGD) techniques are generally used to smooth the gross path provided by the global planner. The use of lines and circles is usually employed as a first solution, with Dubin's curves defined when the vehicle moves forward and Reed and Sheep's curves when the vehicle moves backward. The clothoid appears as a solution to the discontinuity in curvature between the line and the circle since, by definition, it has a constant relationship between the length of the arc and its curvature. The polynomial curves are another alternative to the previous ones. The modification of its coefficients allows taking into account, among others, the adjustment of positions, curvature restrictions, etc.

field D\*, Theta\*, etc., have been extensively studied in the literature.

sampling, interpolating and numerical optimization, see [3]:

sufficiently efficient system can only be achieved if all the systems work in unison.

perception, decision and actuation-control.

126 Advanced Path Planning for Mobile Entities

obstacles that may appear.

exploring random tree (RRT).

Curves in both space and plane are a part of the geometry necessary to represent certain shapes in different areas. Curves arise in many applications, such as art, industrial design, mathematics, architecture, engineering, etc.

#### 2.1. Different ways of defining a curve. Advantages and disadvantages

There are different ways of defining a curve: implicit, explicit, and parametric.

#### 2.1.1. Implicit and explicit expression of a curve

The coordinates (x, y) of the points of an implicitly defined plane curve verify that:

$$F(\mathbf{x}, \mathbf{y}) = \mathbf{0} \tag{1}$$

for some function F. If the curve is in R<sup>3</sup> , then the curve must satisfy these two conditions simultaneously:

$$F(\mathbf{x}, \mathbf{y}, z) = \mathbf{0} \text{ and } G(\mathbf{x}, \mathbf{y}, z) = \mathbf{0} \tag{2}$$

The explicit representation of a curve clears one of the variables as a function of the other. In the plane, the coordinates (x,y) of the points in the curve explicitly defined satisfy either.

$$\mathbf{y} = f(\mathbf{x}) \text{ or } \mathbf{x} = \mathbf{g}(\mathbf{y}) \tag{3}$$

In the case of a curve in the space, its explicit form could be defined as:

$$\infty = f(z) \text{ and } y = \mathbf{g}(z) \tag{4}$$

A Bézier curve of degree n is specified by a sequence of (n + 1) control points, and its explicit expression is (6). The polygon that joins the control points is called the control polygon, and

The dimension of the vector containing the control points is related to the dimension of the

A conic is a curve obtained as the intersection of a plane with the surface of a double cone. There are three types of irreducible conics: hyperbola, parabola, and ellipse. Parabolas can be parameterized by polynomial functions, but hyperbolas and ellipses need rational functions such as RBC. The explicit definition of an RBC is (8), where Pi are the control points, Bi,n(u) are the Bernstein bases, and ω<sup>i</sup> are weights associated with each control point. These weights allow

ð6Þ

129

Path Planning Based on Parametric Curves http://dx.doi.org/10.5772/intechopen.72574

ð7Þ

ð8Þ

the functions or bases used are the Bernstein polynomials Bi,n(u), defined in (7).

space where the curve is represented.

Figure 1. Classification of the most important curves in CAGD.

a new way of modifying the curve.

2.2.2. Rational Bézier curves

#### 2.1.2. Parametric expression of a curve

In this case, the coordinates of a parametric curve are expressed as a function of a parameter, for example, u. The definition of a curve defined in R<sup>n</sup> could be done as in (5), where functions α<sup>i</sup> are the coordinate functions or component functions. The image of α(u) is called the trace of α and α(u) is the parametrization of α.

$$\alpha: [a, b] \to \mathbb{R}^n \land \alpha(u) = (\alpha\_1(u), \dots, \alpha\_n(u)); u \in [a, b] \tag{5}$$

Parametric curves are the most used in computer graphics and geometric modeling because the curve points are calculated in a simple way. In contrast, the calculation of the points through the implicit expression is much more complex.

Within the parametric curves, it is possible to differentiate between polynomial curves and rational curves. Polynomial curves are those whose component functions are polynomials, and rational curves are those expressed as the quotient of polynomials. The representation in the form of parametric curves allows a great variety of curves, some known, some strange, some complex and others surprising for their symmetry and beauty.

The advantageous properties of the parametric curves that make them widely used are intuitivity, flexibility, affine-invariant, fast computation, and numerical stability.

In order to model complicated shapes or surfaces, it is necessary to introduce a way of representing curves based on a polygon. From this idea, the most used parametric curves arise in computer-aided geometric design (CAGD): Bézier, B-splines, RBC, and NURBS. Figure 1 shows a schematic of the most important curves in CAGD. It can be seen how NURBS are the most general curves, and Bézier are the most particular ones. Among them, Bézier is the simplest, possessing properties that make them be the most extensively used.

## 2.2. Most common parametric curves: Bézier, B-spline, NURBS, and RBC

#### 2.2.1. Bézier curves

Bézier curves arose as a result of the car modeling in both Renault and Citroën companies, by the engineers Pierre Bézier and Casteljau. The simplicity in the manipulation of these curves makes their use and application widespread.

The popularity of the Bézier curves is due to their numerous mathematical properties that facilitate their manipulation and analysis. Moreover, their use does not require great mathematical knowledge, which is very interesting for designers who shape objects.

Figure 1. Classification of the most important curves in CAGD.

A Bézier curve of degree n is specified by a sequence of (n + 1) control points, and its explicit expression is (6). The polygon that joins the control points is called the control polygon, and the functions or bases used are the Bernstein polynomials Bi,n(u), defined in (7).

$$\alpha\left(u\right) = \sum\_{\iota=0}^{n} \mathbf{P}\_{\iota} B\_{\iota,\iota}\left(u\right); u \in \left[0, 1\right] \tag{6}$$

$$B\_{i,n}\left(u\right) = \binom{n}{i} \mu'\left(1-u\right)^{n-i}; i = 0, \square \quad , n \tag{7}$$

The dimension of the vector containing the control points is related to the dimension of the space where the curve is represented.

#### 2.2.2. Rational Bézier curves

ð3Þ

ð4Þ

ð5Þ

In the case of a curve in the space, its explicit form could be defined as:

In this case, the coordinates of a parametric curve are expressed as a function of a parameter, for example, u. The definition of a curve defined in R<sup>n</sup> could be done as in (5), where functions α<sup>i</sup> are the coordinate functions or component functions. The image of α(u) is called the trace of

Parametric curves are the most used in computer graphics and geometric modeling because the curve points are calculated in a simple way. In contrast, the calculation of the points

Within the parametric curves, it is possible to differentiate between polynomial curves and rational curves. Polynomial curves are those whose component functions are polynomials, and rational curves are those expressed as the quotient of polynomials. The representation in the form of parametric curves allows a great variety of curves, some known, some strange, some

The advantageous properties of the parametric curves that make them widely used are

In order to model complicated shapes or surfaces, it is necessary to introduce a way of representing curves based on a polygon. From this idea, the most used parametric curves arise in computer-aided geometric design (CAGD): Bézier, B-splines, RBC, and NURBS. Figure 1 shows a schematic of the most important curves in CAGD. It can be seen how NURBS are the most general curves, and Bézier are the most particular ones. Among them, Bézier is the

Bézier curves arose as a result of the car modeling in both Renault and Citroën companies, by the engineers Pierre Bézier and Casteljau. The simplicity in the manipulation of these curves

The popularity of the Bézier curves is due to their numerous mathematical properties that facilitate their manipulation and analysis. Moreover, their use does not require great mathe-

intuitivity, flexibility, affine-invariant, fast computation, and numerical stability.

simplest, possessing properties that make them be the most extensively used.

2.2. Most common parametric curves: Bézier, B-spline, NURBS, and RBC

matical knowledge, which is very interesting for designers who shape objects.

2.1.2. Parametric expression of a curve

128 Advanced Path Planning for Mobile Entities

α and α(u) is the parametrization of α.

2.2.1. Bézier curves

makes their use and application widespread.

through the implicit expression is much more complex.

complex and others surprising for their symmetry and beauty.

A conic is a curve obtained as the intersection of a plane with the surface of a double cone. There are three types of irreducible conics: hyperbola, parabola, and ellipse. Parabolas can be parameterized by polynomial functions, but hyperbolas and ellipses need rational functions such as RBC. The explicit definition of an RBC is (8), where Pi are the control points, Bi,n(u) are the Bernstein bases, and ω<sup>i</sup> are weights associated with each control point. These weights allow a new way of modifying the curve.

$$\alpha(u) = \frac{\sum\_{i=0}^{n} \alpha\_i \mathbf{P}\_i B\_{i,n}(u)}{\sum\_{i=0}^{n} \alpha\_i B\_{i,n}(u)}; u \in [0, 1] \tag{8}$$

#### 2.2.3. B-spline curves

B-splines are polynomial curves defined in pieces, continuously differentiable up to a prescribed order. The name spline is a word that means "elastic slats". These slats were used by craftsmen to create curves describing the surfaces to be built, such as boat hulls and aircraft fuselages. Constrained by weights, these elastic slats or splines assume a shape that minimizes their elastic energy.

B-spline curves were developed to overcome the limitations of Bézier curves: the need for a local control of the curve, the difficulty in imposing C2 continuity and the fact that a number of control points of a Bézier curve imposes its degree.

Analogous to the definition of a Bézier curve, a B-spline curve of degree k (or k + 1 order) is expressed in (9) as an affine combination of certain control points Pi, where Ni,k are polynomial functions by pieces with finite support of order k (degree k-1, meaning that they are zero out of a finite interval) that satisfy certain conditions of continuity. Each of these functions can be calculated using the Cox-de-Boor recursive formulas.

$$\alpha(u) = \sum\_{\iota=0}^{n} \mathbf{P}\_{\iota} N\_{\iota,k} \left( u \right) \tag{9}$$

B-splines can be defined by a recurrence relationship; simplicity is considered a double infinite sequence of simple nodes such that for all i. B-splines are then defined through the following recurrence relationship.

For the sake of simplicity, a double infinite sequence of simple nodes ai is considered such that ai < ai+1 for all i. Then, the B-splines Ni,k are then defined through the recurrence relationships (10) and (11).

$$\mathcal{N}\_{\iota,0}\left(u\right) = \begin{cases} 1 \text{ if } u \in \left[a\_{\iota}, a\_{\iota+1}\right] \\ 0 \text{ otherwise} \end{cases} \tag{10}$$

2.3. Comparison of properties

Table 1. Comparison of the properties of parametric curves.

When dealing with curves, their representation is important, but their shape manipulation is a key factor in their usability. The object to be modeled will determine the type of parametric curve chosen, depending on the properties required. In Table 1, we can see a comparison of the properties of the parametric curves in CAGD. In the following section, some of the most

Path Planning Based on Parametric Curves http://dx.doi.org/10.5772/intechopen.72574 131

Predicting the movement of a robot is important as it implies the computation of a proper path that meets the kinematic and dynamic properties of the robot. Simply moving a mobile robot from an initial position (xi,yi,θi) to a final position (xg,yg,θg) safely implicates many research

relevant works in mobile robots using parametric curves are described.

3. Use of parametric curves in robotics: state of the art

3.1. Generation of trajectories of mobile robots through parametric curves

fields, which are involved in the generation of efficient path planning algorithms.

$$N\_{i,k}\left(u\right) = \frac{t - a\_l}{a\_{i \leftrightarrow k-l} - a\_l} N\_{i,k-l}\left(u\right) + \frac{a\_{l \leftrightarrow k-l}}{a\_{l \leftrightarrow k} - a\_{l \leftrightarrow l}} N\_{i \leftrightarrow l,k-l}\left(u\right) \tag{11}$$

#### 2.2.4. Non-uniform rational B-spline curves

Rational B-spline curves are obtained in a similar way as the RBCs from Bézier curves. The definition of a NURBS curve is:

$$\alpha\left(u\right) = \frac{\sum\_{i=0}^{n} \text{P}\_i \text{o}\_i \text{N}\_{\iota,k}\left(u\right)}{\sum\_{i=0}^{n} \text{o}\_i \text{N}\_{\iota,k}\left(u\right)}\tag{12}$$


Table 1. Comparison of the properties of parametric curves.

### 2.3. Comparison of properties

2.2.3. B-spline curves

130 Advanced Path Planning for Mobile Entities

their elastic energy.

recurrence relationship.

2.2.4. Non-uniform rational B-spline curves

definition of a NURBS curve is:

(10) and (11).

control points of a Bézier curve imposes its degree.

calculated using the Cox-de-Boor recursive formulas.

B-splines are polynomial curves defined in pieces, continuously differentiable up to a prescribed order. The name spline is a word that means "elastic slats". These slats were used by craftsmen to create curves describing the surfaces to be built, such as boat hulls and aircraft fuselages. Constrained by weights, these elastic slats or splines assume a shape that minimizes

B-spline curves were developed to overcome the limitations of Bézier curves: the need for a local control of the curve, the difficulty in imposing C2 continuity and the fact that a number of

Analogous to the definition of a Bézier curve, a B-spline curve of degree k (or k + 1 order) is expressed in (9) as an affine combination of certain control points Pi, where Ni,k are polynomial functions by pieces with finite support of order k (degree k-1, meaning that they are zero out of a finite interval) that satisfy certain conditions of continuity. Each of these functions can be

B-splines can be defined by a recurrence relationship; simplicity is considered a double infinite sequence of simple nodes such that for all i. B-splines are then defined through the following

For the sake of simplicity, a double infinite sequence of simple nodes ai is considered such that ai < ai+1 for all i. Then, the B-splines Ni,k are then defined through the recurrence relationships

Rational B-spline curves are obtained in a similar way as the RBCs from Bézier curves. The

ð9Þ

ð10Þ

ð11Þ

ð12Þ

When dealing with curves, their representation is important, but their shape manipulation is a key factor in their usability. The object to be modeled will determine the type of parametric curve chosen, depending on the properties required. In Table 1, we can see a comparison of the properties of the parametric curves in CAGD. In the following section, some of the most relevant works in mobile robots using parametric curves are described.
