Rolling Biped Polynomial Motion Planning

*Santiago de J. Favela Ortíz and Edgar A. Martínez García*

## **Abstract**

This work discloses a kinematic control model to describe the geometry of motion of a two-wheeled biped's limbs. Limb structure is based on a four-bar linkage useful to alleviate damping motion during self-balance. The robot selfbalancing kinematics geometry combines with user-customized polynomial vector fields. The vector fields generate safe reference trajectories. Further, the robot is forced to track the reference path by a model-based time-variant recursive controller. The proposed formulation showed effectiveness and reliable performance through numerical simulations.

**Keywords:** rolling-biped, path planning, motion control, navigation, underactuation

## **1. Introduction**

Motion planning is an essential function and a critical aspect in robotics engineering. Motion planning allows increasing the robot's degree of autonomy. Fundamentally a wide area of robotic tasks needs planning models such as: transportation and vehicular technology, service robotics, search, exploration, surveillance, biomedical robotic applications, spatial deployment, industry, and so forth. Moreover, motion planning is inherently impacted by the degree of holonomy and kinematic constraints in all robotic modalities: robot arms, legged robots, rolling platforms, marine/underwater vehicles, aerial robots, and including their end effectors. Depending on the robotic application, motion planning is designed either global or local. When the robot has an environmental map in advance, it is called global planning even with possibility to globally optimize routes. Alternatively, when there is only robot's local sensor data and the whole environment is unknown, it uses feedback from local observations. Planning methods can be generalized into four types: deterministic (based on mathematical numeric/analytic functions and models) [1–3], stochastic (recursive numerical methods based on probabilistic uncertainties) [4–6], heuristic (algorithms based on logical control and humanheuristic decision-making) [7–10], and mixed planning methods [11–13].

In this chapter, a kinematic motion/path planning method for path tracking of an inverted pendulum self-balancing rolling biped is deduced and discussed. This work is focused on the rolling biped motion modeling and simulation of the robot shown in **Figure 1**. The principal component of a rolling biped is self-balancing by controlling its pitch motion through in-wheel motors that allow rolling motion (inverted-pendulum-like). The robot's yaw motion is accomplished by the angular

**Figure 1.** *Rolling biped platform views. (a) Isometric view. (b) Front-view. (c) Onboard robotic arm.*

velocity resulting from the differential lateral speeds, which is a nonholonomic constrained model. The robot's design is purposed for missions to collect solid garbage in outdoors (a park), similar to other works [14]. Nevertheless, the robotic mission/task is out of this chapter's scope, instead a detailed geometry of motion is described in three parts: (i) motion planning for biped's balance, (ii) navigational path generation, and (iii) path tracking control. The work [15] proposed a balancing and dynamic speed control of a unicycle robot based on variable structure and linear quadratic regulator to follow a desired trajectory. The work [16] modeled a wheeled bipedal robot with analytic solutions of closed-form expressions in kinematic control loops. The work [17] reported a self-balancing two-wheeled robot with a manipulator on-board, using auto-balancing system to maintain force equilibrium. The work [18] applied a proportional integral derivative (PID) control and active disturbance rejection control to balance and steer a two-wheeled selfbalancing robot modeled by Lagrange formula. In [19], an adaptive robust control of a self-balancing two-wheeled underactuated robot to estimate uncertainty bound information, using deterministic system performance by Lyapunov method, was reported. In [20], a navigational two-wheeled self-balancing robot control using a PD-PI controller based on the Kalman filter algorithm was reported. Similarly, [21] used variable structure combining proportional integral differential controllers for balance and locomotion deriving a kinematic model based on the center of gravity constraint. Lagrangian-based with Kane's approach for dynamic balancing was reported in [22]. Moreover, [23] conducted a study using model predictive control for trajectory tracking of an inverted-pendulum wheeled robot. The work [24] reported a self-balancing robot controller using Euler-Lagrange and geometric control, and planar motion is controlled by logarithmic feedback and Lie group exponential coordinates. The work [25] developed a balancing and trajectory tracking system for an inverted-pendulum wheeled robot using a Lagrange-based backstepping structure variable method. This work's main contributions are an original design of limbs based on four-bar linkages to alleviate damping motion yielded from irregular terrains, from which a kinematic balancing condition is deduced. Further, polynomial vector fields with limit conditions are deduced from user-customized interpolation functions as path-generator models to yield safe routes in advance. Moreover, a recursive time-varying kinematic controller forces the robot to track resulting routes. The proposed system is demonstrated at the level of simulation. This chapter is organized in the following sections. Section 2 deduces the limb kinematics and its effects in the biped's balance. Section 3 presents the polynomial approach to trajectory generation by directional fields. Section 4 describes a navigation recursive controller for path tracking control. Finally, Section 5 presents the work's conclusions.

## **2. Balancing motion planning model**

The main issue of an inverted-pendulum-like rolling biped is its capability to self-balance by controlling its pitch angle through the wheels velocity longitudinally (**Figure 2(b)**). This section deduces the balancing kinematics of the limb's planar linkage shown in **Figure 2(a)**. As a difference from other biomechanical inspired muscle-tendon limbs [26], in this work each limb is comprised of a four-bar linkage operating as a double crank, where bars r and d are linked by a coupling link l with limited rotary angles.

The expressions provided in Proposition 2.1 are obtained from deductions in Appendix A. The passive joint point **P**<sup>1</sup> ¼ *x*1, *y*<sup>1</sup> � �<sup>⊤</sup> mutually depends on the analytic model of the joint located at **P**<sup>2</sup> ¼ *x*2, *y*<sup>2</sup> � �<sup>⊤</sup> to describe a rotary planar motion, proposed by

**Proposition 2.1** Limbs motion estimation. *The four-bar linkage's passive joint* **P**<sup>2</sup> *is analytically described by.*

$$\mathbf{P}\_2 = d \begin{pmatrix} \cos \left(\theta \right) \\ \sin \left(\theta \right) \end{pmatrix} + \begin{pmatrix} \Delta \mathbf{x} \\ \Delta \mathbf{y} \end{pmatrix}. \tag{1}$$

*Therefore, based on Definitions 4.1–4.3 of Appendix A, the model solution* **P**<sup>2</sup> *is*

$$
\begin{pmatrix} x\_2 \\ y\_2 \end{pmatrix} = d \begin{pmatrix} \cos \left( 2 \arctan \left( \frac{-Q \pm \sqrt{Q^2 - 4PR}}{2P} \right) \right) \\\\ \sin \left( 2 \arctan \left( \frac{-Q \pm \sqrt{Q^2 - 4PR}}{2P} \right) \right) \end{pmatrix} + \begin{pmatrix} \Delta x \\\\ \Delta y \end{pmatrix} \tag{2}
$$

From Eq. (56) deduced in Appendix A, there are two possible solutions for *θ*, described as opened or crossed motion. For this work, the type of motion should be ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi *<sup>Q</sup>*<sup>2</sup> � <sup>4</sup>*PR* <sup>p</sup> <sup>∀</sup>*Q*<sup>2</sup> <sup>≤</sup> <sup>4</sup>*PR* that must be satisfied. Therefore, by using expressions (47), (52)–(56), the plots shown in 3 are obtained.

Furthermore, the wheels position is tracked by **P**<sup>f</sup> (**Figure 2(a)**). This design assumes the robot's center of gravity (cog) located at the same length *f* � *a*

**Figure 2.** *Rolling biped kinematic constrains. (a) Limb's planar linkage parameters. (b) Balancing parameters.*

**Figure 3.**

*Limb motion planning produced with parameters* r *= 0.15 m,* d *= 0.15 m,* l *= 0.03 m, Δ*x *=* �*0.07 m, Δ*y *= 0.05387 m,* ∀201° ≤*ϕ*≤236°*.*

(both in **Figure 3**) that is projected within the biped's body. Therefore, the cog is described by Definition 2.1:

**Definition 2.1** Robot's center of gravity (cog). *The robot's cog is assumed to be located at Cartesian body's position,*

$$\mathbf{x}\_{\rm cog} = \left(\frac{\mathbf{x}\_2 - \mathbf{x}\_1}{2} + a\right) \cos\left(\pi + \arctan\left(\frac{\mathbf{y}\_2 - \mathbf{y}\_1}{\mathbf{x}\_2 - \mathbf{x}\_1}\right)\right) \tag{3}$$

and

$$\mathcal{Y}\_{\text{cog}} = \left(\frac{\mathcal{Y}\_2 - \mathcal{Y}\_1}{2} + a\right) \sin\left(\pi + \arctan\left(\frac{\mathcal{Y}\_2 - \mathcal{Y}\_1}{\infty - \infty}\right)\right). \tag{4}$$

Hence, in accordance to Definition 2.1, it follows that the robot's falling speed vf due to vertical unbalance is

$$
\nu\_f = \sqrt[2]{\left(\frac{d\mathbf{x}\_{\rm cog}}{dt}\right)^2 + \left(\frac{d\mathbf{y}\_{\rm cog}}{dt}\right)^2}.\tag{5}
$$

Taking into account that the robot is a dual differential drive kinematic structure, where vR and vL are the right-sided and left-sided velocities, respectively

$$\frac{ds}{dt} = \frac{r}{2} \left( \frac{d\rho\_R}{dt} + \frac{d\rho\_L}{dt} \right),\tag{6}$$

where *s* is the robot displacement over the ground, and *r* is the wheel's radius [m]. Likewise, the dual differential velocity is

$$
v\_{dif} = \frac{d\rho\_R}{dt} - \frac{d\rho\_L}{dt}.\tag{7}$$

Hence, the robot's angular velocity *ω* ½ � rad*=*s in terms of its differential speed *vdiff* and constrained by its wheels lateral baseline distance *bl* and *vdiff* is substituted to yield:

$$
\rho \alpha = \frac{2v\_{\text{diff}}}{b\_l} = \frac{2r\_w}{b\_l} \left(\frac{d\rho\_R}{dt} - \frac{d\rho\_L}{dt}\right). \tag{8}
$$

The biped's falling angle and angular falling speed are *<sup>λ</sup>* ½ � rad and \_ *λ* ½ � rad*=*s , respectively. Let *vf* [m/s] be the falling velocity affecting the robot's balance

*Rolling Biped Polynomial Motion Planning DOI: http://dx.doi.org/10.5772/intechopen.101606*

$$
v\_f = \ell\_b \dot{\lambda}\_t,\tag{9}$$

which makes the robot's pitch turn around the wheel's center. Unbalancing velocity *vu* [m/s] is an horizontal component such that

$$\boldsymbol{v}\_{u} = \boldsymbol{v}\_{f} \cos\left(\frac{\pi}{2} - \lambda\right) = \boldsymbol{\ell}\_{b} \dot{\lambda} \cos\left(\frac{\pi}{2} - \lambda\right). \tag{10}$$

The wheel's axis point moves at balancing speed *vb* that is parallel to the ground. Wheel's tangential speed is *vw* ¼ *rφ*\_ , and linear motion speed is the balancing velocity underneath the biped's body at the wheel's axis,

$$v\_b = \frac{v\_w}{2} = \frac{r\dot{\rho}\_w}{2} \tag{11}$$

Therefore, the balancing condition is described by Definition 2.2:

**Definition 2.2** Kinematic balancing condition. *The robot's vertical equilibrium condition is assumed for balancing and unbalancing velocities of equal magnitudes (or very approximated). Thus,*

$$
v\_u - v\_b = 0,\\
\tag{12}$$

*and redefining, let φ*\_ *<sup>B</sup> be the wheel's balancing angular speed,*

$$i\ell\_b \dot{\lambda} \cos\left(\frac{\pi}{2} - \dot{\lambda}\right) - \frac{r\_w \dot{\rho}\_B}{2} = 0.\tag{13}$$

Therefore, it is of interest to find the wheel's rotary speed that balances the biped motion and from Definition 2.2, the following Proposition 2.2 arises,

**Proposition 2.2** Robot's balancing speed. *The wheel's rolling velocity to satisfy the robot's body balance is proposed as*

$$
\dot{\rho}\_B = \frac{2\ell\_b}{r\_w} \dot{\lambda}\_t \cos\left(\frac{\pi}{2} - \lambda\right). \tag{14}
$$

*and if and only if φ*\_ *<sup>R</sup>* ¼ *φ*\_ *<sup>L</sup> must exist, assuming that in such period of time, the robot's yaw ωt*≊0 *allowing longitudinal balancing equilibrium. Thus,*

$$v\_l = \begin{cases} r\dot{\rho}\_B, & \dot{\rho}\_R \approx \dot{\rho}\_L, \quad v\_u - v\_b \neq \mathbf{0} \\ r\frac{r}{2}(\dot{\rho}\_R + \dot{\rho}\_L), & v\_u - v\_b \approx \mathbf{0} \end{cases} \tag{15}$$

Thus, let us redefine the state variables as *<sup>x</sup>*<sup>1</sup> <sup>¼</sup> *<sup>λ</sup>*, *<sup>x</sup>*<sup>2</sup> <sup>¼</sup> *<sup>x</sup>*\_ 1, *<sup>x</sup>*\_ <sup>2</sup> <sup>¼</sup> *<sup>x</sup>*<sup>2</sup> <sup>2</sup> tan *<sup>π</sup>* <sup>2</sup> � *x*<sup>1</sup> � �. For an stability analysis for the balancing case when *vt* ¼ *rwφ*\_ *<sup>B</sup>*, and equilibrium condition *φ*€*<sup>B</sup>* ¼ 0 occurs,

$$\frac{2\mathcal{E}\_b}{2}\left(\dot{\varkappa}\_2\cos\left(\frac{\pi}{2}-\varkappa\_1\right)+\dot{\varkappa}\_2^{-2}\sin\left(\frac{\pi}{2}-\varkappa\_1\right)\right)=\mathbf{0}\tag{16}$$

and dropping off the highest-order derivative of the system

$$\ddot{\lambda} = \varkappa\_2^2 \tan\left(\frac{\pi}{2} - \varkappa\_1\right) \tag{17}$$

The system total energy *Ek* þ *Ep* (kinetic plus potential) is a positive function, which is used as a Lyapunov candidate function, where the robot's translation motion *rwφ*\_ *<sup>B</sup>* for equilibrium is

$$E\_T = E\_k + E\_p = \frac{1}{2} m r\_w^2 \dot{\rho}\_B^2 + m \text{g} \frac{\ell\_b}{2} \left(1 - \cos\left(\lambda\right)\right) \tag{18}$$

and substituting *φ*\_ *<sup>B</sup>*,

$$E\_T = 2m\ell\_b^2 \dot{\lambda}^2 \cos\left(\frac{\pi}{2} - \dot{\lambda}\right) + mg\frac{\ell\_b}{2} (1 - \cos\left(\dot{\lambda}\right)).\tag{19}$$

For *V x*ð Þ¼ *ET* and finding out that v(x) and *V x* \_ ð Þ fulfill *<sup>V</sup>*\_ ð Þ¼ <sup>0</sup> 0. In addition, assuming that �2*<sup>π</sup>* <sup>≪</sup> *<sup>λ</sup>* <sup>≪</sup> <sup>2</sup>*π*, then *<sup>V</sup>*\_ ð Þ <sup>0</sup> <sup>&</sup>gt; <sup>∈</sup> *<sup>D</sup>* � 0. Assuming that *<sup>V</sup>* : *<sup>D</sup>* ! is a continuous differentiable function. Finally, the following Lyapunov criterion is satisfied (20),

$$\left(\frac{\partial V(\mathbf{x})}{\partial \mathbf{x}\_1}, \frac{\partial V(\mathbf{x})}{\partial \mathbf{x}\_2}\right) \cdot \left(\mathbf{x}\_2, \dot{\mathbf{x}}\_2\right)^\top = \mathbf{0} \tag{20}$$

## **3. Polynomial vector fields**

This section introduces the proposed path planning strategy to dynamically generate local paths. Two polynomial models are enhanced as vector fields to exert attractive and repulsive robot's accelerations. In principle, the desired acceleration functions are designed from the interpolating attractive/repulsive accelerations with respect to (w.r.t.) distance. The method used to fit points is the Lagrange formula:

$$a(\delta) = \sum\_{i} \left( \prod\_{j} \frac{\delta - \delta\_{i}}{\delta\_{i} - \delta\_{j}} \right) a\_{i}, \tag{21}$$

where the human-user establishes a desired numerical acceleration *ai* w.r.t. a desired distance *δi*, from either goal or obstacle. Therefore, the following general cubic polynomial forms attractive *aA* and repulsive *aR* are obtained with their respective numeric coefficients *λ<sup>i</sup>* and *βi*,

$$a\_A(\delta) = \lambda\_0 + \lambda\_1 \delta + \lambda\_2 \delta^2 + \lambda\_3 \delta^3, \quad a\_R(\delta) = \beta\_0 + \beta\_1 \delta + \beta\_2 \delta^2 + \beta\_3 \delta^3 \tag{22}$$

It follows that, Definition 3.1 establishes the acceleration path planning model toward a goal of interest.

**Definition 3.1** Planning toward a goal. *Given the kinematic parameters λ*<sup>0</sup> ¼ 0*, <sup>λ</sup>*<sup>1</sup> <sup>¼</sup> <sup>18</sup> <sup>75</sup> *s* �<sup>2</sup> ½ �*, <sup>λ</sup>*<sup>2</sup> <sup>¼</sup> <sup>18</sup> <sup>75</sup> *m*�<sup>1</sup>*s* �<sup>2</sup> ½ �*, <sup>λ</sup>*<sup>3</sup> <sup>¼</sup> <sup>3</sup> <sup>75</sup> *m*�<sup>2</sup>*s* �<sup>2</sup> ½ �*, the attraction path model* �∇*δκ <sup>f</sup> <sup>A</sup>*ð Þ*<sup>δ</sup> is defined by*

$$f^{A}\left(\delta\_{\mathbf{g}}\right) = -\nabla\_{\delta}\frac{\mathbf{3}}{75}\left(\mathsf{6}\delta\_{\mathbf{g}} + \mathsf{6}\delta\_{\mathbf{g}}^{2} - \delta\_{\mathbf{g}}^{3}\right). \tag{23}$$

*Assuming that the distance between the goal and the robot <sup>δ</sup><sup>g</sup>* <sup>¼</sup> ffiffiffiffiffiffiffiffiffiffiffiffiffiffi *<sup>x</sup>*<sup>2</sup> <sup>þ</sup> *<sup>y</sup>* <sup>2</sup> <sup>2</sup> <sup>p</sup> *, such that x*≐*xg* � *xr and y*≐*yg* � *yr.*

Similarly, Definition 3.2 establishes the acceleration path planning model that avoids obstacles zones.

**Definition 3.2** Planning obstacles avoidance. *Given the kinematic parameters <sup>β</sup>*<sup>0</sup> <sup>¼</sup> <sup>5</sup>*, <sup>β</sup>*<sup>1</sup> <sup>¼</sup> <sup>109</sup> <sup>440</sup>*, <sup>β</sup>*<sup>2</sup> ¼ � <sup>18</sup> <sup>55</sup> *m*�<sup>1</sup>*s* �<sup>2</sup> ½ �*, <sup>β</sup>*<sup>3</sup> <sup>¼</sup> <sup>3</sup> <sup>110</sup> *m*�<sup>2</sup>*s* �<sup>2</sup> ½ �*, the avoidance path model* �∇*<sup>δ</sup> f <sup>R</sup>*ð Þ*<sup>δ</sup> is defined by*

*Rolling Biped Polynomial Motion Planning DOI: http://dx.doi.org/10.5772/intechopen.101606*

$$f^{\mathbb{R}}(\delta\_o) = -\nabla\_{\delta} \kappa\_{\mathbb{R}} \left( \mathbf{5} + \frac{\mathbf{10}\mathbf{9}}{44\mathbf{0}} \delta\_o - \frac{\mathbf{18}}{\mathbf{55}} \delta\_o^2 + \frac{\mathbf{3}}{\mathbf{11}} \delta\_o^3 \right), \tag{24}$$

*Assuming that the distance between the obstacle and the robot <sup>δ</sup>*<sup>0</sup> <sup>¼</sup> ffiffiffiffiffiffiffiffiffiffiffiffiffiffi *<sup>x</sup>*<sup>2</sup> <sup>þ</sup> *<sup>y</sup>* <sup>2</sup> <sup>2</sup> <sup>p</sup> *, such that x*≐*xo* � *xr and y*≐*yo* � *yr.*

**Figure 4(a)** shows the robot's instantaneous acceleration toward a goal of interest. The attraction acceleration starts when the goal-robot distance *δ<sup>g</sup>* <9m. The planner allows start from *f <sup>A</sup>*≊0 to realistically provide speeds physically possible. **Figure 4(b)** shows the robot's instantaneous acceleration away from obstacles. The avoidance acceleration starts when the obstacle-robot distance *δ<sup>o</sup>* <8m. This avoidance planner *f <sup>R</sup>* is faster than *f <sup>A</sup>* to increase confidence against obstacles.

Therefore, extending to two-dimension Cartesian space, let us deduce the following algebraic process for the goal-attraction planner *f A* :

$$\frac{\partial f^A}{\partial \mathbf{x}} = -\kappa\_A \left( \frac{6\mathbf{x}}{\sqrt[2]{\mathbf{x}^2 + \mathbf{y}^2}} + 12\mathbf{x} - \frac{3\mathbf{x}}{2} \sqrt[2]{\mathbf{x}^2 + \mathbf{y}^2} \right),\tag{25}$$

as well as

$$\frac{\partial f^A}{\partial \mathbf{y}} = -\kappa\_A \left( \frac{6\mathbf{y}}{\sqrt[3]{\mathbf{x}^2 + \mathbf{y}^2}} + 12\mathbf{y} - \frac{3\mathbf{y}}{2} \sqrt[2]{\mathbf{x}^2 + \mathbf{y}^2} \right). \tag{26}$$

Similarly, for the robot's acceleration to avoid obstacles, let us develop the following *f <sup>R</sup>*, by substituting the functional form of *δ<sup>o</sup>* into the gradient function

$$f^{\mathbb{R}}(\mathbf{x},\boldsymbol{y}) = -\nabla \kappa\_{\mathbb{R}} \left( \mathbf{5} + \frac{\mathbf{10}\mathbf{9}}{440} \sqrt[2]{\mathbf{x}^2 + \boldsymbol{y}^2} - \frac{\mathbf{18}}{55} \left( \mathbf{x}^2 + \boldsymbol{y}^2 \right) + \frac{\mathbf{3}}{110} \left( \mathbf{x}^2 + \boldsymbol{y}^2 \right)^{3/2} \right), \tag{27}$$

subsequently by applying the gradient operator,

$$\frac{\partial f^{\mathbb{R}}}{\partial \mathbf{x}} = -\frac{109\mathbf{x}}{440\sqrt[2]{\mathbf{x}^2 + \mathbf{y}^2}} + \frac{18\mathbf{x}}{55} - \frac{9\mathbf{x}}{110}\sqrt[2]{\mathbf{x}^2 + \mathbf{y}^2} \tag{28}$$

and

$$\frac{\partial f^{\mathbb{R}}}{\partial \mathbf{y}} = -\frac{109\mathbf{y}}{440\sqrt[3]{\mathbf{x}^2 + \mathbf{y}^2}} + \frac{18\mathbf{y}}{55} - \frac{9\mathbf{y}}{110}\sqrt[3]{\mathbf{x}^2 + \mathbf{y}^2} \tag{30}$$

#### **Figure 4.**

*Navigational robot's motion planning, desired acceleration w.r.t. distance. (a) Goal attractive motion. (b) Obstacle avoidance motion.*

#### *Motion Planning*

Thus, by substituting terms in both local planners, the general attractive motion planning is a negative function with amplitude coefficient *<sup>κ</sup><sup>A</sup>* <sup>¼</sup> <sup>3</sup> <sup>75</sup> *s* �<sup>2</sup> ½ � is represented by

$$
\begin{pmatrix}
\frac{\partial f^A}{\partial \mathbf{x}} \\
\frac{\partial f^A}{\partial \mathbf{y}}
\end{pmatrix} = -\kappa\_A \left(\frac{\mathbf{6}}{\delta\_t} + \mathbf{12} - \frac{\mathbf{3}}{2}\delta\_\mathbf{g}\right) \begin{pmatrix}
\mathbf{x}\_\mathbf{g} - \mathbf{x}\_t \\
\mathbf{y}\_\mathbf{g} - \mathbf{y}\_t
\end{pmatrix} \tag{31}
$$

The attractive field is a positive function working within limits 0 ≤*δ<sup>g</sup>* < 9, thus

$$\lim\_{\delta\_{\mathbf{f}} \to \mathbf{9}} f^{\mathbb{R}}(\delta\_{\mathbf{f}}) = \mathbf{0}; \quad \text{and} \quad \lim\_{\delta\_{\mathbf{f}} \to \mathbf{6}} f^{\mathbb{R}}(\delta\_{\mathbf{f}}) = \mathbf{3.75} \tag{32}$$

and the repulsive with *<sup>κ</sup><sup>R</sup>* <sup>¼</sup> <sup>1</sup> <sup>440</sup> *s* �<sup>2</sup> ½ �

$$
\begin{pmatrix}
\frac{\partial f^R}{\partial \mathbf{x}} \\
\frac{\partial f^R}{\partial \mathbf{y}}
\end{pmatrix} = -\kappa\_\mathbb{R} \begin{pmatrix}
109 \\
\delta\_o
\end{pmatrix} - 288 + 36\delta\_o
\begin{pmatrix}
\mathbf{x}\_o - \mathbf{x}\_t \\
\mathbf{y}\_o - \mathbf{y}\_t
\end{pmatrix}.
\tag{33}
$$

The repulsive field is a negative function that works within range 0 ≤*δ<sup>o</sup>* ≤8,

$$\lim\_{\delta\_o \to \\$} f^{\mathbb{R}}(\delta\_o) = \mathbf{0}; \quad \text{and} \quad \lim\_{\delta\_o \to \mathbf{0}} f^{\mathbb{R}}(\delta\_o) = \mathbf{5}. \tag{34}$$

The direction fields produced are shown in **Figure 5**, where for both cases the coordinates origin represents either goal or obstacle locations.

Moreover, when neither goals of interest nor obstacles are within the observation field of the robot, it must keep navigating along a prior route plan. The routing plan is map comprised of a sequence of Cartesian points **g***<sup>k</sup>* ∈ <sup>2</sup> , **g***<sup>k</sup>* ¼ ð Þ *x*, *y* ⊤.

When the robot accomplishes either *f A* or *f <sup>R</sup>*, it continues toward the following route point, expressed in terms of unit vectors:

$$\mathbf{a}\_{t}^{o} = a^{o} \frac{\mathbf{g}\_{k+1} - \mathbf{g}\_{k}}{||\mathbf{g}\_{k+1} - \mathbf{g}\_{k}||},\tag{35}$$

where *a<sup>o</sup>* is an ideal or averaged acceleration toward the next route point **g**<sup>2</sup> from **g**1. Therefore, the total path planner mode is given by Proposition 3.1.

**Proposition 3.1** Total mission path planning. *The total path planning model subjected to adaptive environmental changes is proposed as a vector fields sum:*

$$\mathbf{a}\_{t} = \mathbf{a}\_{t}^{o} + \sum\_{\mathcal{S}} \left[ \kappa\_{A} \left( \frac{3\delta\_{\mathcal{S}}}{2} - \frac{6}{\delta\_{\mathcal{S}}} - 12 \right) \left( \frac{\mathbf{x}\_{\mathcal{S}} - \mathbf{x}\_{t}}{\mathbf{y}\_{\mathcal{S}} - \mathbf{y}\_{t}} \right) + \sum\_{o} \kappa\_{\mathcal{R}} \left( 288 - \frac{109}{\delta\_{o}} - 36\delta\_{o} \right) \binom{\mathbf{x}\_{0} - \mathbf{x}\_{t}}{\mathbf{y}\_{o} - \mathbf{y}\_{t}} \right] \tag{36}$$

and the robot's instantaneous navigational total velocity **v***<sup>T</sup>* ∈ <sup>2</sup> , **v***<sup>T</sup>* ¼ *xT*, *y*\_*<sup>T</sup>* � �<sup>⊤</sup> is obtained by

$$\mathbf{v}\_T = \int\_{t\_1}^{t\_2} \mathbf{a}\_t \mathbf{d}t. \tag{37}$$

*Rolling Biped Polynomial Motion Planning DOI: http://dx.doi.org/10.5772/intechopen.101606*

**Figure 5.**

*Acceleration fields w.r.t. variations along the plane* xy*. (a) Goals attractive motion generation. (b) Obstacles avoidance motion generation.*

Thus, to automatically limit the speed until the robot's maximal velocity *v*max, the real physical velocity *vph* is constrained by the final planning motion

$$v\_{ph}\left(\frac{||\mathbf{v}\_T||}{v\_{max}}\right) = \begin{cases} \frac{||\mathbf{v}\_T||}{v\_{max}}, & \frac{||\mathbf{v}\_T||}{v^{max}} < \mathbf{1} \\\\ v\_{max}, & \frac{||\mathbf{v}\_T||}{v^{max}} \ge \mathbf{1} \end{cases} \tag{38}$$

**Figure 6** shows simulation results of the total navigation planner.

## **4. Path tracking**

This section deduces an algebraic trajectory tracking linearized controller based on the kinematics geometry of the reference path: linear and angular velocities. Considering from previous Section 3, let *vph* be called the reference velocity that is going to be tracked. Likewise, let (*x*1,2, *y*1,2) be the next local planning coordinates to be reached (from location 1 to location 2). Hence, let us define *x*1,2 ≐*x*<sup>2</sup> � *x*<sup>1</sup> and *y*1,2 ≐*y*<sup>2</sup> � *y*1. Such that *s*\_1,2 ½ � m*=*s is a segment of the planning speed. Hence, let us obtain the first-order derivative,

$$\dot{\mathbf{x}}\_{1,2} = \frac{d}{dt}\sqrt[2]{\mathbf{x}\_{1,2}^2 + \mathbf{y}\_{1,2}^2} = \frac{\mathbf{x}\_{1,2}\dot{\mathbf{x}}\_{1,2} + \mathbf{y}\_{1,2}\dot{\mathbf{y}}\_{1,2}}{\sqrt[2]{\mathbf{x}\_{1,2}^2 + \mathbf{y}\_{1,2}^2}}.\tag{39}$$

Similarly, by obtaining the desired robot's orientation *θ*1,2, its first-order derivative w.r.t. time is

$$\dot{\theta}\_{1,2} = \frac{d}{dt} \left( \arctan \left( \frac{\mathcal{V}\_{1,2}}{\mathcal{x}\_{1,2}} \right) \right) = \frac{\mathcal{x}\_{1,2}\dot{\mathcal{y}}\_{1,2} - \mathcal{y}\_{1,2}\dot{\mathcal{x}}\_{1,2}}{\mathcal{x}\_{1,2}^2 + \mathcal{y}\_{1,2}^2}. \tag{40}$$

It follows that, the tracking control vector is **u**\_ *<sup>t</sup>* ∈ <sup>2</sup> , such that **<sup>u</sup>**\_ *<sup>t</sup>* <sup>¼</sup> *<sup>s</sup>*\_1,2, \_ *<sup>θ</sup>*1,2 � �<sup>⊤</sup> . Therefore, by stating (39) and (40) as a system of linear equations, the first-order derivatives must simultaneously be solved:

$$\begin{aligned} \frac{\mathbf{x}\_{1,2}}{s\_{1,2}} \dot{\mathbf{x}}\_{1,2} + \frac{\mathcal{Y}\_{1,2}}{s\_{1,2}} \dot{\mathbf{y}}\_{1,2} &= \dot{\mathbf{s}} \\ -\frac{\mathcal{Y}\_{1,2}}{s\_{1,2}^2} \dot{\mathbf{x}}\_{1,2} + \frac{\mathbf{x}\_{1,2}}{s\_{1,2}^2} \dot{\mathbf{y}}\_{1,2} &= \dot{\theta} \end{aligned} \tag{41}$$

**Figure 6.**

*Vector fields path generation. (a) High-density obstacles yielding robot's repulsion. (b) Obstacles repulsive field. (c) High density* **<sup>f</sup>***<sup>R</sup>* � � � � � �*. (d) Attractive goals along a route.*

thus, by factorizing both, the common term 1*=s*1,2 and the first-order derivatives, the matrix form of the forward tracking law is

$$
\dot{\mathbf{u}} = \frac{1}{s\_{1,2}} \begin{pmatrix} \varkappa\_{1,2} & \mathcal{Y}\_{1,2} \\ -\frac{\mathcal{Y}\_{1,2}}{s\_{1,2}} & \frac{\varkappa\_{1,2}}{s\_{1,2}} \end{pmatrix} \cdot \begin{pmatrix} \dot{\varkappa}\_{1,2} \\ \dot{\mathcal{Y}}\_{1,2} \end{pmatrix}. \tag{42}
$$

Likewise, as the inverse tracking law is of our interest, it is inversely dropped off

$$
\begin{pmatrix}
\dot{\mathbf{x}}\_{1,2} \\
\mathbf{y}\_{1,2}
\end{pmatrix} = s\_{1,2} \begin{pmatrix}
\mathbf{x}\_{1,2} & \mathbf{y}\_{1,2} \\
\end{pmatrix}^{-1} \cdot \dot{\mathbf{u}}.\tag{43}
$$

For notation simplicity, let us redefine \_ *<sup>ζ</sup><sup>t</sup>* <sup>≐</sup> *<sup>x</sup>*\_ 1,2, *<sup>y</sup>*\_ 1,2 � �<sup>⊤</sup> and the time-variant control matrix **K***<sup>t</sup>* as

$$\mathbf{K}\_{t} = \begin{pmatrix} \varkappa\_{1,2} & \varkappa\_{1,2} \\ -\frac{\mathcal{Y}\_{1,2}}{s\_{1,2}} & \frac{\varkappa\_{1,2}}{s\_{1,2}} \end{pmatrix},\tag{44}$$


**Table 1.**

*Simulation parameters deployed with high-density range scanner Hokuyo URG 04LX.*

thus from Section 3, let *uref* be the global reference planning model during time segment *t*1,2 ≐*t*<sup>2</sup> � *t*<sup>1</sup> such that,

$$\mathfrak{u}^{r\circ f} = \left( \begin{array}{c} v\_{ph} \cdot t\_{1,2} \\ \arctan\left(\frac{\dot{\mathcal{Y}}\_T}{\dot{\mathcal{X}}\_T}\right) \end{array} \right) . \tag{45}$$

Therefore, the recursive path tracking control law is stated as

$$\begin{array}{rcl}\mathbf{1}: & \zeta\_{t+1} & = & \zeta\_t + s\_{1,2}\mathbf{K}\_t^{-1} \cdot \left(\mathbf{u}^{ref} - \hat{\mathbf{u}}\_t\right) \\\mathbf{2}: & \mathbf{u}\_{t+1} & = & \mathbf{u}\_t + \frac{\mathbf{1}}{s\_{1,2}}\mathbf{K}\_t \cdot \left(\zeta\_{t+1} - \hat{\zeta}\_t\right) \end{array} \tag{46}$$

where **u**^*<sup>t</sup>* is the instantaneous sensors observation of both components, displacement ^*<sup>s</sup>* and yaw ^*θ*. The prediction control speed vector *<sup>ζ</sup><sup>t</sup>*þ<sup>1</sup> is the next desired local reference in line 2, while ^*ζ<sup>t</sup>* is the robot's Cartesian speed observer vector. Finally, **u***<sup>t</sup>* + 1 is the control vector global prediction (**Table 1**).

## **5. Conclusion**

The mechanical design of the biped's lower-limb mechanical structure was configured as a double-crank four-bar linkage with passive-allowed motions. Motion planning began from determining the limbs' linkage positions causing the robot's height and pitch varying overtime producing unbalanced motions. Inferring balancing velocities to yield robot's vertical balance was possible and worked stable. The proposed balancing rolling condition was analyzed throughout its total energy model as a Lyapunov candidate function resulting stable in three criteria: **V**(0) = 0, *<sup>v</sup>*(*x*) = 0, and *V x* \_ ð Þ¼ 0. The proposed navigational approach allowed human-user to design short range-limited trajectories by cubic polynomials obtained from four empirical coordinates distance-acceleration by Lagrange interpolation. Both polynomial planning models have initial conditions *a*0ð Þ¼ *t*<sup>0</sup> 0 *m=s* <sup>2</sup> ½ �. Thus, the robot did not require an infinite acceleration to reach a desired speed at **t**0. Physically, the model is applied to any motion in equilibrium. For goal attraction the maximal acceleration is reached at the 55% of the distance, subsequently decreases monotonically until the goal position.

The navigational general planning model is a set of partial derivatives model combined, allowing dynamic local planning among multiple obstacles, goals, and routes. The navigational general planning model worked as the reference model for the tracking control system. It consisted of a set of time-varying linear equations, with recursive feedback showing suitable performance. The work was implemented in simulation and coded in C++ under Linux. Future improvements will consider the inclusion of kinetic models and dynamic forces fitted to the proposed planer.

## **Appendix A**

This appendix provides the algebraic deduction of the limb's Cartesian motion model described in Section 2.

Let **P**<sup>1</sup> ¼ *x*1, *y*<sup>1</sup> � �<sup>⊤</sup> be the Cartesian point of passive joint between links b and ℓ, obtained by

$$
\begin{pmatrix} \varkappa\_1 \\ \varkappa\_1 \end{pmatrix} = r \begin{pmatrix} \cos \left( \phi \right) \\ \sin \left( \phi \right) \end{pmatrix}. \tag{47}
$$

Likewise, let **P**<sup>2</sup> ¼ *x*2, *y*<sup>2</sup> � �<sup>⊤</sup> be the coordinate of passive joint between links *r* and ℓ, expressed by:

$$
\begin{pmatrix} \varkappa\_2 \\ \varkappa\_2 \end{pmatrix} = r \begin{pmatrix} \cos \left( \phi \right) \\ \sin \left( \phi \right) \end{pmatrix} + \begin{pmatrix} \sqrt{l^2 - \left( \wp\_1 - \wp\_2 \right)^2} \\ \sqrt{l^2 - \left( \varkappa\_1 - \varkappa\_2 \right)^2} \end{pmatrix}. \tag{48}
$$

Both expressions (47) and (48) are described in terms of *ϕ*, but can similarly be described in terms of the angle *θ* by

$$
\begin{pmatrix} \varkappa\_2 \\ \varkappa\_2 \end{pmatrix} = d \begin{pmatrix} \cos \left( \theta \right) \\ \sin \left( \theta \right) \end{pmatrix} + \begin{pmatrix} \Delta \mathbf{x} \\ \Delta \mathbf{y} \end{pmatrix}, \tag{49}
$$

where the distances Δ*x* and Δ*y* separate the joints *phi* and *theta* along the chassis, see **Figure 2(a)**. By algebraically treating the Cartesian components separately, let us equal the *x* components of (48) and (49) to form the equation

$$d\cos\left(\theta\right) + \Delta x = r\cos\left(\phi\right) + \sqrt{l^2 - \left(\chi\_1 - \chi\_2\right)^2},\tag{50}$$

dropping off the squared root term of (50),

$$\sqrt{l^2 - \left(\chi\_1 - \chi\_2\right)^2} = d\cos\left(\theta\right) + \Delta x - r\cos\left(\phi\right) \tag{51}$$

and squaring both sides of the equality, the following is obtained,

$$d^2 - \left(\mathcal{y}\_1 - \mathcal{y}\_2\right)^2 = \left[d\cos\left(\theta\right) + \Delta\mathfrak{x} - r\cos\left(\phi\right)\right]^2\tag{52}$$

and algebraically expanding the squared binomials and substituting *y*<sup>1</sup> and *y*<sup>2</sup> from expression (47) and (49) respectively into (52),

$$\begin{aligned} &d^2 \cos^2(\theta) + 2\Delta x d \cos\left(\theta\right) - 2rd \cos\left(\theta\right) \cos\left(\phi\right) + \left(\Delta x\right)^2 \\ &- 2\Delta x r \cos\left(\phi\right) + r^2 \cos^2(\phi) \\ &= l^2 - r^2 \sin^2(\phi) + 2rd \sin\left(\theta\right) \sin\left(\phi\right) + 2\Delta y r \sin\left(\phi\right) \\ &- d^2 \sin^2(\theta) - 2\Delta y d \sin\left(\theta\right) - \left(\Delta y\right)^2 \end{aligned} \tag{53}$$

and organizing trigonometric terms by their degree, Eq. (53) becomes:

$$\begin{aligned} 2rd\cos\left(\theta\right)\cos\left(\phi\right) &+ 2rd\sin\left(\theta\right)\sin\left(\phi\right) \\ &= d^2\cos^2(\theta) + d^2\sin^2(\theta) + \left(\Delta x\right)^2 + \left(\Delta y\right)^2 \\ &+ r^2\cos^2(\phi) + r^2\sin^2(\phi) + 2\Delta x d\cos\left(\theta\right) - 2\Delta x r\cos\left(\phi\right) \\ &+ 2\Delta y d\sin\left(\theta\right) - 2\Delta y r\sin\left(\phi\right). \end{aligned} \tag{54}$$

By factorizing the common terms of (47) and exchanging terms with suitable identities such as cos <sup>2</sup>ð Þþ *<sup>α</sup>* sin <sup>2</sup> ð Þ¼ *<sup>α</sup>* 1 and *<sup>c</sup>*<sup>2</sup> <sup>¼</sup> ð Þ <sup>Δ</sup>*<sup>x</sup>* <sup>2</sup> <sup>þ</sup> ð Þ <sup>Δ</sup>*<sup>y</sup>* <sup>2</sup> in order to obtain Eq. (55)

$$\begin{aligned} \cos\left(\theta\right)\cos\left(\phi\right) + \sin\left(\theta\right)\sin\left(\phi\right) &= \\ \frac{r^2 + d^2 + c^2 - l^2 - 2r[\Delta x \cos\phi + \Delta y \sin\left(\phi\right)] + 2d\Delta x \cos\left(\theta\right) + 2d\Delta y \sin\left(\theta\right)}{2rd} \end{aligned} \tag{55}$$

In order to simplify the main expression, some constant terms are rewritten as

$$K\_1 = \frac{r^2 + d^2 + c^2 - l^2}{2rd}, \quad K\_2 - \frac{1}{d}, \quad K\_3 = \frac{\Delta x}{r}, \quad K\_4 = \frac{\Delta y}{r}. \tag{56}$$

Therefore, the following simplified algebraic expression is deduced:

$$\begin{aligned} \cos\left(\theta\right)\cos\left(\phi\right) + \sin\left(\theta\right)\sin\left(\phi\right) &= K\_1 + K\_2[\Delta x \cos\left(\phi\right) + \Delta y \sin\left(\phi\right)] \\ + K\_3 \cos\left(\theta\right) + K\_4 \sin\left(\theta\right). \end{aligned} \tag{57}$$

The trigonometric identity forms sin ð Þ¼ *<sup>θ</sup>* 2 tan *<sup>θ</sup>* ð Þ<sup>2</sup> <sup>1</sup><sup>þ</sup> tan <sup>2</sup> *<sup>θ</sup>* ð Þ<sup>2</sup> and cosð Þ¼ *<sup>θ</sup>* <sup>1</sup>� tan <sup>2</sup> *<sup>θ</sup>* ð Þ<sup>2</sup> <sup>1</sup><sup>þ</sup> tan <sup>2</sup> *<sup>θ</sup>* ð Þ<sup>2</sup> are substituted into (57) to produce (58),

$$\begin{aligned} \cos\left(\phi\right) \left[ \frac{1-\tan^2\left(\frac{\theta}{2}\right)}{1+\tan^2\left(\frac{\theta}{2}\right)} \right] + \sin\left(\phi\right) \left[ \frac{2\tan\left(\frac{\theta}{2}\right)}{1+\tan^2\left(\frac{\theta}{2}\right)} \right] &= K\_1 + K\_2[\Delta x \cos\left(\phi\right) + \Delta y \sin\left(\phi\right)] \\ + K\_3 \left[ \frac{1-\tan^2\left(\frac{\theta}{2}\right)}{1+\tan^2\left(\frac{\theta}{2}\right)} \right] + K\_4 \left[ \frac{2\tan\left(\frac{\theta}{2}\right)}{1+\tan^2\left(\frac{\theta}{2}\right)} \right] \end{aligned} \tag{58}$$

and by multiplying both sides of the equality (57) by common denominator <sup>1</sup> <sup>þ</sup> tan <sup>2</sup> *<sup>θ</sup>* 2 � � and algebraically simplifying:

$$\begin{aligned} \cos\left(\phi\right) - \cos\left(\phi\right)\tan^2\left(\frac{\theta}{2}\right) + 2\sin\left(\phi\right)\tan\left(\frac{\theta}{2}\right) &= K\_1 + K\_1\tan^2\left(\frac{\theta}{2}\right) \\\\ + K\_2[\Delta x\cos\left(\phi\right) + \Delta y\sin\left(\phi\right)] &+ K\_2[\Delta x\cos\left(\phi\right) + \Delta y\sin\left(\phi\right)]\tan^2\left(\frac{\theta}{2}\right) \\\\ + K\_3 - K\_3\tan^2\left(\frac{\theta}{2}\right) &+ 2K\_4\tan\left(\frac{\theta}{2}\right). \end{aligned} \tag{59}$$

Hereafter, to find a root for *θ* as independent variable, common terms are factorized and Eq. (59) is equated to zero to obtain

$$\begin{aligned} \tan^2\left(\frac{\theta}{2}\right) [K\_1 + K\_2[\Delta x \cos\left(\phi\right) + \Delta y \sin\left(\phi\right)] - K\_3 + \cos\left(\phi\right)] \\ + \tan\left(\frac{\theta}{2}\right) [2K\_4 - 2\sin\left(\phi\right)] + K\_1 + K\_2[\Delta x \cos\left(\phi\right) + \Delta y \sin\left(\phi\right)] \\ + K\_3 - \cos\left(\phi\right) = 0, \end{aligned} \tag{60}$$

in order to reduce expression complexity, the following Definitions are stated: **Definition 4.1** [term *P*]. Let *P* be defined as a Cartesian horizontal decreasing segment by expression:

$$P = K\_1 + K\_2[\Delta \propto \cos\left(\phi\right) + \Delta y \sin\left(\phi\right)] - K\_3 + \cos\left(\phi\right). \tag{61}$$

**Definition 4.2** [term *Q*]. Let *Q* be defined as a Cartesian vertical segment that is expressed by:

$$Q = 2K\_4 - 2\sin\left(\phi\right) \tag{62}$$

and

**Definition 4.3** [term *P*]. Let *R* be defined as a Cartesian horizontal increasing segment by expression:

$$R = K\_1 + K\_2[\Delta \mathfrak{x} \cos(\phi) + \Delta \mathfrak{y} \sin(\phi)] + K\_3 - \cos(\phi) \tag{63}$$

Therefore, by substituting the terms of Definitions 4.1–4.3 into Eq. (60), the following quadratic form is deduced,

$$P\tan^2\left(\frac{\theta}{2}\right) + Q\tan\left(\frac{\theta}{2}\right) + R = \mathbf{0}.\tag{64}$$

By analytically solving (64), which is a second-degree equation using the general form, a real solution for *θ* is possible, thus

$$\theta = 2 \arctan\left(\frac{-Q \pm \sqrt{Q^2 - 4PR}}{2P}\right) \tag{65}$$

## **Author details**

Santiago de J. Favela Ortíz† and Edgar A. Martínez García\*† Laboratorio de Robótica, Instituto de Ingeniería y Tecnología, Universidad Autónoma de Ciudad Juárez, Chihuahua, Mexico

\*Address all correspondence to: edmartin@uacj.mx

† These authors contributed equally.

© 2021 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

*Rolling Biped Polynomial Motion Planning DOI: http://dx.doi.org/10.5772/intechopen.101606*

## **References**

[1] Azzabi A, Nouri K. Path planning for autonomous mobile robot using the potential field method. In: Proceedings of International Conference on Advanced Systems and Electric Technologies (IC\_ASET 2017). 2017. pp. 389-394

[2] Reyes Muñoz JU, Martínez-García EA, Rodriguez Jorge R, Torres-Córdoba R. WMR kinematic control using underactuated mechanisms for goal-direction and evasion. In: Gorrostieta E, editor. Kinematics. IntechOpen; 2017. pp. 147-169. DOI: 10.5772/intechopen.70811

[3] Castro-Jiménez LE, Martínez-García EA. Thermal image sensing model for robotic planning and search. Sensors. 2016;**16**(8):1253

[4] Norouzi M, Valls Miro J, Dissanayake G. Probabilistic stable motion planning with stability uncertainty for articulated vehicles on challenging terrains. Autonomous Robots. 2016;**40**(2):361-381

[5] Kamalova A, Kim KD, Lee SG. Waypoint mobile robot exploration based on biologically inspired algorithms. IEEE Access. 2020;**8**: 190342-190355

[6] Ma L, Xue J, Kawabata K, Zhu J, Ma C, Zheng N. Efficient samplingbased motion planning for on-road autonomous driving. IEEE Transactions on Intelligent Transportation Systems. 2015;**16**(4):1961-1976

[7] Bai J, Lian S, Liu Z, Wang K, Liu D. Deep learning based robot for automatically picking up garbage on the grass. IEEE Transactions on Consumer Electronics. 2018;**64**(3):382-389. DOI: 10.1109/TCE.2018.2859629

[8] Fang B, Ding J, Wang Z. Autonomous robotic exploration based on frontier point optimization and

multistep path planning. IEEE Access. 2019;**7**:46104-46113

[9] Lu C, Shan L, Jiang C, Dai Y. Reinforcement based mobile robot path planning with improved dynamic window approach in unknown environment. Autonomous Robots. 2021;**45**(1):51-76

[10] Zakiev A, Lavrenov R, Magid E, Svinin M, Matsuno F. Partially unknown environment exploration algorithm for a mobile robot. Journal of Advanced Research in Dynamical and Control Systems. 2019;**11**(8):1743-1753

[11] Yoon HS, Park TH. Motion planning of autonomous mobile robots by iterative dynamic programming. Intelligent Service Robotics. 2015;**8**(3): 165-174

[12] Qureshi AH, Ayaz Y. Potential functions based sampling heuristic for optimal path planning. Autonomous Robots. 2016;**40**(6):1079-1093

[13] Receveur JB, Victor S, Melchior P. Autonomous car decision making and trajectory tracking based on genetic algorithms and fractional potential fields. Intelligent Service Robotics. 2020;**13**(2):315-330

[14] Ferri G, Manzi A, Salvini P, Mazzolai B, Laschi C, Dario P. DustCart, an autonomous robot for door-to-door garbage collection: From DustBot project to the experimentation in the small town of Peccioli. In: 2011 IEEE International Conference on Robotics and Automation; 9–13 May 2011; Shanghai, China: IEEE; 2011. pp. 655-660. DOI:10.1109/ICRA.2011.5980254

[15] Han SI, Lee JM. Balancing and velocity control of a unicycle robot based on the dynamic model. IEEE Transactions on Industrial Electronics. 2015;**62**(1):405-413

[16] Klemm V, Morra A, Gulich L, Mannhart D, Rohr D, Kamel M, et al. LQR-assisted whole-body control of a wheeled bipedal robot with kinematic loops. IEEE Robotics and Automation Letters. 2020;**5**(2):3745-3752

[17] Li CG, Zhou L, Chao Y. Self-balancing two-wheeled robot featuring intelligent end-to-end deep visual-steering. IEEE/ASME Transactions on Mechatronics. 2021; **26**(5):2263-2273

[18] Jiang L, Qiu H, Wu Z, He J. Active disturbance rejection control based on adaptive differential evolution for twowheeled self-balancing robot. Proceedings of the 28th Chinese Control Decision Conference (CCDC 2016). IEEE; 2016. pp. 6761-6766

[19] Chen X, Zhao H, Sun H, Zhen S. Adaptive robust control based on Moore-Penrose generalized inverse for underactuated mechanical systems. IEEE Access. 2021;**7**:157136-157144

[20] Iwendi C, Alquarni MA, Anajemba JH, Alfakeeh AS, Zhang Z, Bashir AK. Robust navigational control of a two-wheeled self-balancing robot in a sensed environment. IEEE Access. 2019;**7**:82337-82348

[21] Zhang C, Liu T, Song S, Meng MQH. System design and balance control of a bipedal leg-wheeled robot. International Conference on Robotics and Biomimetics (ROBIO 2019). IEEE; 2019. pp. 1869-1874

[22] Kim S, Kwon SJ. Dynamic modeling of a two-wheeled inverted pendulum balancing mobile robot. International Journal of Control, Automation and Systems. 2015;**13**(4):926-933

[23] Yue M, An C, Sun JZ. An efficient model predictive control for trajectory tracking of wheeled inverted pendulum vehicles with various physical constraints. International Journal of

Control, Automation and Systems. 2018; **16**(1):265-274

[24] Tayefi M, Gen Z. Self-balancing controlled Lagrangian and geometric control of unmanned mobile robots. Journal of Intelligent and Robotic Systems: Theory and Applications. 2018; **90**(1–2):253-265

[25] Esmaeili N, Alfi A, Khosravi H. Balancing and trajectory tracking of two-wheeled mobile robot using backstepping sliding mode control: Design and experiments. Journal of Intelligent and Robotic Systems: Theory and Applications. 2017;**87**(3–4):601-613

[26] Sato R, Miyamoto I, Sato K, Ming A, Shimojo M. Development of Robot legs inspired by bi-articular muscle-tendon complex of cats. International Conference on Intelligent Robots and Systems (IROS). IEEE; 2015

## *Edited by Edgar A. Martínez García*

Motion planning is a fundamental function in robotics and numerous intelligent machines. The global concept of planning involves multiple capabilities, such as path generation, dynamic planning, optimization, tracking, and control. This book has organized different planning topics into three general perspectives that are classified by the type of robotic applications. The chapters are a selection of recent developments in a) planning and tracking methods for unmanned aerial vehicles, b) heuristically based methods for navigation planning and routes optimization, and c) control techniques developed for path planning of autonomous wheeled platforms.

Motion Planning

Motion Planning

*Edited by Edgar A. Martínez García*