**1. Introduction**

Wheeled Mobile Robots (WMRs) form a significant subset of Unmanned Ground Vehicles (UGVs). The continuing demand for more advanced and autonomous UGVs entails more reliable and higher-performance motion controllers for WMRs. The multitude of motion controllers proposed for mobile robots, especially those with nonholonomic constraints, may be roughly categorized into three groups [1]: point stabilization [2], trajectory tracking [3], and path-following [4]. Typically, the path-following approach is used under a decoupled control architectures [5], where a path-planner provides the desired geometric path. Then, a path-following module, while considering the temporal and other intrinsic constraints of the system, maneuvers the robot toward the planned path and steers it so that it indefinitely follows the path.

The path-following algorithms are classified into several branches, including, but not limited to, Optimal Control approaches [6,7], Feedback Linearizion methods [8], Line of Sight guidance laws [9], Pure Pursuit techniques [10], and Vector Fields methods [11] (see [12] for a thorough review). The majority of these algorithms incorporate a concept that goes by many names, including "Virtual Target Point", "Carrot", and "Rabbit". In this

**Citation:** Oftadeh, R.; Ghabcheloo, R.; Mattila, J. Universal Path-Following of Wheeled Mobile Robots: A Closed-Form Bounded Velocity Solution. *Sensors* **2021**, *21*, 7642. https://doi.org/10.3390/ s21227642

Academic Editor: Subhas Mukhopadhyay

Received: 9 October 2021 Accepted: 9 November 2021 Published: 17 November 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

concept, a virtual point is selected and moved along the desired path, while a tracking controller, also called a guidance controller, makes the robot follow and converge to that point. The differences among and between those branches mainly occur in the design of the guidance controller, the method for selecting the virtual point, and the its motion strategy along the path.

#### *1.1. Related Work*

This work belongs to a category of path-followers that parametrize (using the path's natural parameter) a virtual position for the mobile robot on the desired path. A nonlinear guidance controller is employed for the robot to track the virtual point based on an error space projected on the path through the path's Serret–Frenet frame.

Early notable works in this field were conducted by [13] for the car-like WMRs, by [14] for the unicycle types, and by [15] for both unicycles and WMRs with two steering wheels. However, the projection scheme of this approach, which selects the path's closest point to the robot as the virtual point, would result in singularities that, in turn, would impose stringent initial conditions on the system and on the drivable path curvatures. This drawback was overcome by having the path's natural parameter as an auxiliary state and, therefore, deriving a control law for its progression rate along the path [16]. There have been various extensions of the original problem, such as covering uncertainties [17], actuator saturations [18], obstacle avoidance [19] and an extension to aerial [20], marine [21] and articulated frame [22] vehicles. Comprehensive experimental results of some of these algorithms have been provided by [23]. However, the majority of recent studies on the path-following of WMRs consider only a special type of WMR: usually the unicycle type, with some exceptions, such as [24]. Nevertheless, there is no unified solution for the path-following of WMRs.

Aside from the general difficulties in designing a universal path-follower for WMRs, this paper tackles several challenges in the design of motion controllers that are *specific* to certain types of WMRs. Most notable is the presence of singularities, both inherently [25] and in the representation of the configuration space [26] of WMRs with active steering wheels. While several types of WMR possess steering wheels, those singularities are a major issue for WMRs that utilize two or more actively steered standard wheels. Due to their kinematic configuration, such WMRs are called nonholonomic omnidirectional robots [27,28] or pseudo-omnidirectional robots [29,30]. They have recently gained a significant level of popularity and are now being used in a wide range of practical fields, including service robotics (PR2 [31], Care-O-bot [32], Rollin' Justin [33]), space robotics (Mars-Exo-Rover [30]), agricultural applications [34,35], among others [36].

The common way of formulating the configuration space of such WMRs is with the notion of Instantaneous Center of Rotation (ICR) [37]. As the ICR moves closer to a wheel axis, the driving velocity of that wheel decreases, while the curvature of the wheel's footprint, and, hence, its steering velocity, unboundedly increases. When the ICR coincides with the wheel, its steering angle becomes undefined and singular. To circumvent such singular configurations, many proposed solutions rely on numerical methods to plan singularity-free ICR trajectories in velocity space [25]. Others treat the neighborhood of the singularities as obstacles and solve a navigation problem [29,38]. However, in all of those methods, considerable portions of the configuration space are avoided, thus reducing the maneuverability of the platform. Furthermore, when the robot is required to follow a desired path and heading profile, ICR position has already been determined and, therefore, none of those approaches are suitable for path-following problems.

#### *1.2. Contributions and Organization*

The contributions of this paper are as follows:

• This study solves the path-following problem for all WMRs categories in which their wheels roll without skidding. To the best knowledge of the authors, this is the first study that coherently solves the path-following problem with this level of generality.


This paper is the culmination of several earlier studies presented by the authors in [39–41]. Compared to [41], this paper has several novelties. Section 3 is new, in which the controller in [41] is generalized into a generic parametrized form and we demonstrate that the controller serves as an example of such generic form. Moreover, the results of [40] are coherently included to address the singularities of WMRs with steering wheels. The majority of the equations, especially the kinematic constraints, are derived in a more general form and are presented in compact matrix format that is further consistent with the formulation of WMR constraints in the literature. A new set of comprehensive experimental and simulation results in a more complex scenario is presented, with further explanations and remarks.

This paper is organized as follows. In Section 2, we formally define the WMR that is the focus of this paper and define the corresponding path-following problem. Next, in Section 3, we present the path-following solution in a parametrized generic form. In Section 4, the variables in the parametrized model are meticulously derived and categorized for different types of wheels and WMRs. We explain how the solution solves the problem of singularities for WMRs with steering wheel in Section 4.3 and, finally, Section 5 covers the implementation results and provides extensive experimental data for three types of WMRs, and simulation results for the other two.

#### **2. Problem Description**

WMRs are classified based on the seminal work of [42] into five kinematically feasible categories. An ordered pair (*δm*, *δs*) is assigned to each category the degree of mobility and degree of steerability of the WMR, respectively. The number of wheels, their types, and their arrangements determine *δm*, and *δ<sup>s</sup>* and, therefore, the WMRs' category. *δ<sup>m</sup>* represents the dimension of the tangent space of the configuration space, while *δ<sup>s</sup>* corresponds to the ability to change (steer) the basis of the tangent space by means of steering wheels. The degree of maneuverability defined as *δ<sup>M</sup>* = *δ<sup>m</sup>* + *δ<sup>s</sup>* then, analogous to degrees of freedom for mechanism, determines the total mobility of the WMR.

#### *2.1. WMR Architecture and Definitions*

**Definition 1** (WMR)**.** *The WMR considered in this paper is equipped with n wheels, which are attached to a main body called the* base*. It belongs to and possesses the minimum actuated wheels of one of those five kinematically feasible categories of WMRs, and the actuators provide velocity and position control. Each wheel is of one of the following types:* fixed wheels*,* standard steerable wheels*,* off-centered steerable wheels *(*Caster wheels*),* Swedish wheels*. Furthermore,* *the following assumptions hold. The WMR traverses on a flat and horizontal plane. The base and the wheels are rigid, the tires are non-deformable, their contact surface with the ground can be approximated with a point, and there is no mechanical constraint for the steering of the steerable wheels; hence, they are free-turn. However, we will discuss the case with limited steering angle separately in Section 5.3.*

Figure 1, depicts a schematic view of a WMR and the desired path. Additionally, Table 1 lists the definitions of the corresponding parameters and variables. We define the base current posture *X* , as

$$\mathcal{X} = \begin{bmatrix} \mathfrak{q}^{\mathrm{T}} & \theta\_{b} \end{bmatrix}^{\mathrm{T}},\tag{1}$$

where *q* is the position vector of point *Q* (the origin of body frame *B*) and *θ<sup>b</sup>* is the heading angle. The base linear velocity at *Q* is *vv*ˆ with *v* being the base speed and *v*ˆ(*ψv*) being the direction of the velocity as a function of the linear velocity angle *ψv*. Moreover, based on Definition 1, for a general WMR, several types of wheels may be connected to the base. As shown in Figure 1, the connection point of the *i*th wheel is *L<sup>i</sup>* and the velocity of the wheel is *viv*ˆ*i*, in which *vi* is the driving speed and *v*ˆ*i*(*φi*) is the direction of wheels heading, which, in turn, is a function of wheel's steering angle *φi*.

The desired path *P<sup>d</sup>* is a 2D and bounded-curvature regular curve on the horizontal plane. This is defined by the vector-valued function *<sup>P</sup>d*(*s*) : [0, *Ld*] <sup>→</sup> <sup>R</sup>2, where *<sup>s</sup>* and *Ld* are the natural parametrization (arc length) and the length of *Pd*, respectively. The desired heading function *<sup>θ</sup>d*(*s*) : [0, *Ld*] <sup>→</sup> <sup>R</sup> of class *<sup>C</sup>*<sup>3</sup> determines the base's desired heading *<sup>θ</sup>d*. Similar to Equation (1), the WMR desired posture, *X <sup>d</sup>*, is defined as

$$\mathcal{X}\_d = \begin{bmatrix} \mathbf{P}\_d^\mathrm{T} & \theta\_d \end{bmatrix}^\mathrm{T}. \tag{2}$$

Furthermore, the path *Pa*(*λ*) is an asymptotic path to *Pd*. It is defined by *Pa*(*λ*) : [0, *La*] <sup>→</sup> <sup>R</sup>2, where *<sup>λ</sup>* and *La* are the natural parametrization (arc length) and length of the path, respectively, with its tangent angle denoted by *ψa*. Correspondingly, the function *<sup>θ</sup>a*(*λ*) : [0, *Ld*] <sup>→</sup> <sup>R</sup> is an asymptotic angle from the base current heading *<sup>θ</sup>b*, to the desired heading *θd*. We will later show that *Pa*(*λ*) and *θa*(*λ*) are solutions to autonomous differential equations with the current pose of the base as the initial conditions.

**Figure 1.** The desired path and the required coordinate frames.


#### *2.2. Problem Formulation*

As shown in Figure 1, the virtual target point on *P<sup>d</sup>* is denoted as *P*. It is determined by *s*, which is set as an *auxiliary* state with *s*˙ being its corresponding control signal. Along with *s*, we define error state variables as

$$\mathcal{S} = (\mathfrak{x}\_{\ell}, \mathfrak{y}\_{\ell}, \theta\_{\ell}, \mathfrak{y}\_{\ell}) \tag{3a}$$

$$\mathbf{S}^\* = (\mathbf{x}\_{\varepsilon}, y\_{\varepsilon}, \theta\_{\varepsilon}), \tag{3b}$$

where,

$$
\begin{bmatrix} \mathbf{x}\_{\ell} \\ y\_{\ell} \end{bmatrix} = {}^{\mathcal{U}} \mathbf{R}\_{\mathcal{T}}^{-1} (\boldsymbol{q} - \boldsymbol{p}) \tag{4a}
$$

$$
\theta\_{\varepsilon} = \theta\_d - \theta\_{b\prime} \tag{4b}
$$

$$
\psi\_{\mathfrak{e}} = \psi\_d(\mathfrak{s}, \mathfrak{S}^\*) - \psi\_{\mathfrak{v}\_{\vee}} \tag{4c}
$$

and *<sup>U</sup>R<sup>T</sup>* , equivalent to *R*(*ψt*), is the rotation matrix from frame *T* to frame *U*. In the above, the position error signals, *xe* and *ye*, are measured along *t*ˆ and *n*ˆ, respectively, while *θ<sup>e</sup>* independently represents the heading error. The signal *ψd*, as a function of *S*∗, is the desired heading that is determined by the controller and basically generates a suitable approach angle to *Pd*(*s*).

The time derivation of Equations (4a) to (4c) yields to the open-loop equations of motion

$$\dot{\mathbf{x}}\_{\varepsilon} = \dot{\mathbf{s}}(\kappa\_d(s)\boldsymbol{y}\_{\varepsilon} - \mathbf{1}) + \boldsymbol{\upsilon}\cos(\psi\_t - \psi\_{\upsilon}) \tag{5a}$$

$$
\dot{y}\_t = -\dot{s}\kappa\_d(s)x\_t - \upsilon \sin(\psi\_t - \psi\_{\overline{v}}) \tag{5b}
$$

$$
\theta\_c = \frac{d\theta\_d}{ds}\dot{s} - \omega\_b \tag{5c}
$$

$$
\psi\_{\varepsilon} = \dot{\psi}\_{d} - \omega\_{v} \tag{5d}
$$

in which the angular velocity of the frame *B*, is *ω<sup>b</sup>* - ˙ *θ<sup>b</sup>* and, similarly, *ω<sup>v</sup> ψ*˙ *<sup>v</sup>*. We assemble all of the above formulations into the following definition for the WMR's base.

**Definition 2** (Base Path-Following)**.** *Base path-following error dynamics is a system with the full states* (*s*,*S*) *or the reduced states* (*s*,*S*∗)*, and with the control inputs C, which are defined as*

$$\mathcal{L} = (\models, \omega\_{\flat}, \omega\_{\upsilon}).\tag{6}$$

*The dynamics of this system is given by Equations* (5a) *to* (5d)*, in which the base speed v is seen as an exogenous input.*

Some further notes are given here for the reduced states, *S*∗. For the majority of WMRs, except a special case, it is possible to incorporate a rather simpler scheme by dismissing *ψ<sup>e</sup>* in (4c) as an error state (*ψ<sup>e</sup>* = 0 ∀*t*), therefore controlling the base velocity direction *v*ˆ(*ψv*) directly. In the reduced states *S*∗, *ψ<sup>v</sup>* acts as a control signal by directly setting *ψ<sup>v</sup>* = *ψd*(*s*,*S*∗). In Section 4.2, we will detail the types of WMRs and conditions under which the choice of *S*<sup>∗</sup> is not possible.

In what follows, we formally define the problem that is the focal point of this paper.

**Problem 1** (WMR Bounded Velocity Path-Following)**.** *Given the desired path Pd*(*s*) *and heading profile θd*(*s*) *derive feedback control laws for the wheels' driving vi and steering inputs φ<sup>i</sup> (or their rates φ*˙ *i) such that:*


We solve the above problem in two stages. In the first stage, we place our focus solely on the base path-following defined by Definition 2, its stability and features. In the second stage, we focus on the kinematic constraints between the wheels and the base, the details of which are given in Section 3.2. We utilize these constraints to solve sub-problems (I) and (II) of Problem 1 by mapping the intermediary control inputs *C*, to the wheels' variables. Furthermore, those mappings are used to solve the bounded velocity problem (sub-problem (III)) by selecting an appropriate *v* that bounds the driving and steering velocities.

At first glance, this approach is solely applicable to holonomic omnidirectional WMRs (*δ<sup>m</sup>* = 3). However, this treatment is a rather general and we will show that, for each category of WMRs, a proper subset of the above intermediary control sets along with a pertinent choice of body origin *Q* results in a feasible solution that abides by the kinematic limitations of that category.

#### **3. WMR Path-Following: The Generic Form**

In the following, Section 3.1 focuses on a generic form of *C* for the base path-following that has some unique features. Then, in Section 3.3, those features are utilized to present a parametrized version of the WMRs' kinematic constraints, which, in turn, are incorporated into a closed-form solution for Problem 1.

#### *3.1. Base Path-Following*

**Proposition 1.** *For the base path-following system defined by Definition 2, assume that some exists feedback control laws exist for C that render the origin of the error space asymptotically stable and they are in the generic form of*

$$\dot{s} = s'(s, \mathbf{S})v\tag{7a}$$

$$
\omega\_b = \kappa\_b(s, \mathbf{S}) v \tag{7b}
$$

$$
\omega\_v = \kappa\_v(s, \mathbf{S}) v \tag{7c}
$$

$$
\psi\_d = \psi\_d(s, \mathcal{S}^\*),
\tag{7d}
$$

*in which s , κb, and κ<sup>v</sup> are functions of* only *s and error states, S. Then, at any given time t* ≥ 0*, the closed-loop equations of motion result in a set of differential equations for an asymptotic path Pa*(*λ*) *and a heading θa*(*λ*)*, with the initial conditions being q*(*t*) *and θb*(*t*)*, respectively. In other words, X* (*t*)*, the base posture at the time t, is*

$$\mathcal{X}(t) = \begin{bmatrix} \mathbf{P}\_a^T(\lambda = 0) & \theta\_a(\lambda = 0) \end{bmatrix}^T,\tag{8}$$

*and as λ increases, PT <sup>a</sup>* (*λ* > 0) *θa*(*λ* > 0) *<sup>T</sup> asymptotically converges toward the desired posture X d.*

**Proof.** To prove the above proposition, notice that ||*q*˙ || = *v* and a geometric variable *λ* exist, where *λ*˙ = *v*. Consequently, Equation (7a) becomes *s*˙ = *s λ*˙ . Based on the chain rule, we have *v* = *ds <sup>d</sup><sup>λ</sup> <sup>λ</sup>*˙ and, hence, *<sup>s</sup>* <sup>=</sup> *ds <sup>d</sup><sup>λ</sup>* . Using the same analogy for Equations (7b) and (7c) and substituting them into the open-loop error states (Equations (5a) to (5d)) results in

$$\frac{d s(\lambda)}{d \lambda} = s'(s, \mathbf{S}) \tag{9a}$$

$$\frac{d\mathbf{x}\_{\varepsilon}(\lambda)}{d\lambda} = \mathbf{x}\_{\varepsilon}'(\mathbf{s}, \mathbf{S}) = \mathbf{s}'(\kappa\_d(\mathbf{s})y\_{\varepsilon} - 1) + \cos(\psi\_{l} - \psi\_{\mathbb{P}}) \tag{9b}$$

$$\frac{dy\_c(\lambda)}{d\lambda} = y'\_c(s, \mathbf{S}) = -s'\mathbf{x}\_d(s)\mathbf{x}\_c - \sin(\psi\_t - \psi\_v) \tag{9c}$$

$$\frac{d\theta\_{\mathfrak{e}}(\lambda)}{d\lambda} = \theta\_{\mathfrak{e}}'(s, \mathbf{S}) = \frac{d\theta\_{\mathfrak{d}}}{ds}\mathbf{s}' - \kappa\_b(s, \mathbf{S}) \tag{9d}$$

$$\frac{d\psi\_{\varepsilon}(\lambda)}{d\lambda} = \psi\_{\varepsilon}'(s, \mathbf{S}) = \psi\_{d}' - \kappa\_{v}(s, \mathbf{S}),\tag{9e}$$

where,

$$
\psi\_d' = \frac{d\psi\_d}{d\lambda} = \frac{\partial \psi\_d}{\partial x\_\varepsilon} \mathbf{x}\_\varepsilon' + \frac{\partial \psi\_d}{\partial y\_\varepsilon} y\_\varepsilon' + \frac{\partial \psi\_d}{\partial \theta\_\varepsilon} \theta\_\varepsilon'. \tag{10}
$$

The above equations provide a set of differential equations for (*s*,*S*) based on the independent variable *λ*. The algebraic Equations (4a) to (4c) can be used to track the geometric evolution of *q*, *θb*, and *ψ<sup>v</sup>* as functions of *λ*, which are *Pa*(*λ*), *θa*(*λ*), and *ψa*(*λ*), respectively, and are governed by

$$\mathbf{P}\_{\mathfrak{a}}(\lambda) = \mathbf{P}\_{d}(\mathfrak{s}(\lambda)) + \mathbf{^{\mathcal{U}}\mathbf{R}}\mathbf{\mathcal{T}}(\mathfrak{s}(\lambda)) \begin{bmatrix} \mathbf{x}\_{\mathfrak{e}}(\lambda) \\ \mathbf{y}\_{\mathfrak{e}}(\lambda) \end{bmatrix} \tag{11a}$$

$$
\theta\_a(\lambda) = \theta\_d(s(\lambda)) - \theta\_e(\lambda) \tag{11b}
$$

$$
\psi\_d(\lambda) = \psi\_d(s(\lambda), \mathbf{S}^\*(\lambda)) - \psi\_\ell(\lambda). \tag{11c}
$$

Therefore, the differential Equations (9a) to (9e) together with the algebraic Equations (11a) to (11c) result in a set of expressions for the asymptotic path *Pa*(*λ*) and heading *θa*(*λ*). Notice that *λ* does not explicitly appear in any of the above equations; therefore, (*s*(*t*),*S*(*t*)), the base path-following states at time *t*, can be associated with initial conditions (*λ* = 0) of the above differential equations.

The merit of Proposition 1 is that a majority of path-following controllers in the literature (e.g., [16,19]) cannot be written in the generic form of Equations (7a) to (7c). Therefore, while, in those path-followers, *v* is an exogenous input and does not have a direct role in the stability (as long as *v* ≥ *vm* > 0), the asymptotic path *P<sup>a</sup>* cannot be determined independently of *v*(*t*) and it is only after the assignment of the speed profile that one can derive the asymptotic trajectory *Pa*(*λ*(*t*)). However, Proposition 1 enables us to determine *Pa*(*λ*) without specifying the future velocity commands by directly integrating closed-loop equations. In other words, a path-following controller in the form of Equations (7a) to (7d) acts as a feedback path-planner that has a certain error function as its cost function and plans asymptotic paths from the base current posture *X* , toward the desired posture *X <sup>d</sup>*. We provide an example for such a controller in Section 4.1.

In this paper, there is no need to solve the closed-loop differential equations. The differentials of (*s*,*S*), obtained in the form of the above proposition, will be used for WMRs' kinematic constraints in the next proposition. For that purpose, the higher time differentiations of control signals and error states may also be written as differentials based on *λ*, which are listed below for future reference.

$$\ddot{s} = s^{\prime\prime}(s, \mathcal{S}, \mathcal{S}^{\prime})v^2 + s^{\prime}(s, \mathcal{S})\dot{v} \tag{12a}$$

$$
\dot{\omega}\_b = \kappa\_b'(s, \mathbf{S}, \mathbf{S}')\upsilon^2 + \kappa\_b(s, \mathbf{S})\dot{\upsilon} \tag{12b}
$$

$$
\dot{\omega}\_{\upsilon} = \kappa\_{\upsilon}^{\prime}(\mathbf{s}, \mathbf{S}, \mathbf{S}^{\prime})\upsilon^{2} + \kappa\_{\upsilon}(\mathbf{s}, \mathbf{S})\dot{\upsilon}, \tag{12c}
$$

where, *s* = *ds <sup>d</sup><sup>λ</sup>* <sup>=</sup> *<sup>d</sup>*2*<sup>s</sup> <sup>d</sup>λ*<sup>2</sup> , *κ <sup>b</sup>* <sup>=</sup> *<sup>d</sup>κ<sup>b</sup> <sup>d</sup><sup>λ</sup>* , *κ <sup>v</sup>* = *<sup>d</sup>κ<sup>v</sup> <sup>d</sup><sup>λ</sup>* , and

$$\mathbf{S}' = \left( \mathbf{x}'\_{\mathbf{c}'} y'\_{\mathbf{c}'} \theta'\_{\mathbf{c}'} \psi'\_{\mathbf{c}} \right). \tag{13}$$

Finally, for the closed-loop system, we may transform *BX*˙ and *BX*¨ , the velocity and acceleration of the base posture (Equation (1)) expressed in the body frame *B*, into

$$\mathbf{^B\dot{\mathcal{K}}} = \mathbf{^B\mathcal{K}'v}, \qquad \mathbf{^B\dot{\mathcal{K}}'} = \mathbf{^B\mathcal{K}''v}, \tag{14a}$$

$$\mathbf{^B\dot{\mathcal{K}}} = \mathbf{^B\mathcal{K}''} \mathbf{v}^2 + \mathbf{^B\mathcal{K}'} \mathbf{v},\tag{14b}$$

$$\mathbf{^B \mathcal{X}'} = \begin{bmatrix} \cos \psi\_{vb} & \sin \psi\_{vb} & \kappa\_b \end{bmatrix} \mathbf{^T} \tag{14c}$$

$$\mathbf{^B\mathcal{K}^{\prime\prime}} = \begin{bmatrix} -\kappa\_{vb}\sin\psi\_{vb} & \kappa\_{vb}\cos\psi\_{vb} & \kappa\_{b}^{\prime} \end{bmatrix}^{\mathrm{T}},\tag{14d}$$

in which, *ψvbψ<sup>v</sup>* − *θb*, and *κvbκ<sup>v</sup>* − *κb*. The above transformation facilitates the treatment of kinematic constraints in Section 3.2.

#### *3.2. Wheels' Kinematic Constraints*

Figure 2 depicts a schematic view of an abstract Generalized Wheel (GW) as the *i*th wheel of the WMR and its corresponding parameters. The GW represents both Swedish wheels and normal wheels. In this sense, *rsr* and *γ* define the radius and the direction of the small rollers' axis, respectively; hence, for a functional Swedish wheel: *γ* = *<sup>π</sup>* <sup>2</sup> and *rsr* = 0. For a normal, non-Swedish wheel, we simply set *γ* = *<sup>π</sup>* <sup>2</sup> and *rsr* = 0. The wheel is mounted on an L-shaped rod, parametrized by off-center values: (*di*, *ci*), at the point *L i* , with *B- <sup>i</sup>* = *ci <sup>B</sup>u*ˆ*<sup>i</sup>* + *di <sup>B</sup>v*ˆ*i*. The rod is connected to the base at the attachment point *L<sup>i</sup>* by a revolute joint. As shown in the figure, *φ<sup>i</sup>* represents the steering angle of the wheel, and *viv*ˆ*<sup>i</sup>* represents its *driving velocity vector*, generated by the wheel's actuator. We define the absolute steering angle Φ*<sup>i</sup>* and the projection matrix *Ji*(*x*ˆ*i*) as

$$
\Phi\_i = \theta\_b + \phi\_{i\prime} \tag{15a}
$$

$$J\_i(\mathfrak{x}\_i) = \begin{bmatrix} \mathfrak{x}\_i^T & \mathfrak{x}\_i.(\mathfrak{z} \times^{\mathbf{B}} \ell\_i) \end{bmatrix}\_{\mathsf{I}} \tag{15b}$$

in which ˆ*x<sup>i</sup>* is an arbitrary unit vector.

**Figure 2.** A generalized wheel and its corresponding parameters.

Moreover, for fixed and Swedish types, the steering direction *<sup>B</sup>v*ˆ*i*(*φi*), is a mechanical design variable, and is measured for steerable types, except when it is set as the control signal—a case that will be further explored. Table 2, for each type of wheel, lists the required values for the GW variables and parameters. To derive the kinematic relations for the GW, we may differentiately form the vector relation *L <sup>i</sup>* = *q* + *<sup>i</sup>* + *div*ˆ*<sup>i</sup>* + *ciu*ˆ*<sup>i</sup>* and express it in the body frame to arrive at a velocity constraint between the wheel and the base, which is

$$\begin{aligned} \boldsymbol{\upsilon} \cdot \mathbf{^{B}\boldsymbol{\hat{\sigma}}} + \boldsymbol{\omega}\_{b} (\boldsymbol{\hat{\varepsilon}} \times \,^{\mathbf{B}}\boldsymbol{\ell}\_{i}) &= (\boldsymbol{\upsilon}\_{i} - \boldsymbol{c}\_{i} \boldsymbol{\dot{\Phi}}\_{i}) \,^{\mathbf{B}} \boldsymbol{\uphat{\sigma}}\_{i} + d\_{i} \boldsymbol{\dot{\Phi}}\_{i} \,^{\mathbf{B}} \boldsymbol{\hat{\mu}}\_{i} \\ &- r\_{sr} \boldsymbol{\phi}\_{sr} (\boldsymbol{\hat{\varepsilon}} \times \,^{\mathbf{B}}\boldsymbol{\hat{\gamma}}), \end{aligned} \tag{16}$$

in which *φ*˙*sr* is the angular velocity of the GW's small rollers. The above equation can be manipulated into scalar equations

$$
v\_{i}\,\mathop{\mathfrak{a}}\_{i}.\,^{\mathbf{B}}\psi\_{i} = J\_{i}(\mathop{\mathfrak{a}}\_{i})\,^{\mathbf{B}}\dot{\mathcal{X}} + \dot{\Phi}\_{i}\mathring{\mathfrak{a}}\_{i}.(\mathop{\mathfrak{z}}\times^{\mathbf{B}}\ell'\_{i})\tag{17}$$

where,

$$\mathfrak{a}\_{i} = \begin{cases} \mathfrak{B}\_{\uparrow}\mathfrak{H}(\gamma) & \text{Swedish where} (\gamma \neq \frac{\pi}{2}, r\_{sr} \neq 0) \\ \mathfrak{B}\mathfrak{H}\_{i}(\phi\_{i}) & \text{Other types}(\gamma = \frac{\pi}{2}, r\_{sr} = 0) \end{cases} . \tag{18}$$

Equation (17) accompanied by the proper choice of *a*ˆ*<sup>i</sup>* (Equation (18)) determines the driving velocity *vi*. By definition, for fixed and Swedish wheels *φ*˙ *<sup>i</sup>* = 0. For the steerable wheels, when *di* = 0, *φ*˙ *<sup>i</sup>* is determined by setting *a*ˆ*<sup>i</sup>* = *<sup>B</sup>u*ˆ*<sup>i</sup>* in Equation (17), which eliminates the left-hand side of the equation. When *<sup>B</sup>u*ˆ*i*.(*z*ˆ × *<sup>B</sup>- <sup>i</sup>*) is zero (equivalent to *di* = 0), setting ˆ*a<sup>i</sup>* = *<sup>B</sup>u*ˆ*<sup>i</sup>* and *di* = 0 in Equation (17) and differentiating from this yields:

$$
\Phi\_i \mathfrak{f}\_i (^{\mathbf{B}}\psi\_i) \,^{\mathbf{B}}\dot{\mathcal{X}} + f\_i (^{\mathbf{B}}\hat{u}\_i) \,^{\mathbf{B}}\dot{\mathcal{X}} = \omega\_b^2 \,^{\mathbf{B}}\hat{u}\_i \,^{\mathbf{B}}\ell\_i. \tag{19}
$$

Evidently, the above kinematic constraints cannot be analytically solved for a base speed that results in specified driving and steering velocities. However, as in the following proposition, we show that the incorporation of Proposition 1 into the kinematic constraints yields a set of direct relationships between the base speed and wheel velocities.


**Table 2.** GW Parameters for each Type of Wheel.

**Proposition 2.** *Consider a WMR defined in Definition 1. If the WMRs intermediary control signals C conform to the generic form, as outlined in Proposition 1, then the driving and steering velocities of the ith wheel (*1 ≤ *i* ≤ *n) are in the form of*

$$v\_i = v\_i'(s, \mathbf{S}, \mathbf{S}', \mathbf{C}')v \tag{20a}$$

$$\dot{\phi}\_{i} = \phi\_{i}^{\prime}(s, \mathcal{S}, \mathcal{S}^{\prime}, \mathcal{C}^{\prime}) v,\tag{20b}$$

$$\text{in uzichch, } \upsilon\_i^{\prime} = \frac{d\upsilon\_i}{d\lambda}, \phi\_i^{\prime} = \frac{d\phi\_i}{d\lambda}, \text{and} \\ \mathcal{C}^{\prime} = \left(\mathbf{s}^{\prime}, \kappa\_{b\nu}\kappa\_{\upsilon}\right). \tag{21}$$

**Proof.** We prove this proposition by constructing *v <sup>i</sup>* and *φ i* . This is carried out by substituting the results of Proposition 1 into the kinematic constraints and performing some algebraic manipulations that can be simplified to the form of Equations (20a) and (20b). Based on Equations (7b) and (15a), we have Φ˙ *<sup>i</sup>* = *ω<sup>b</sup>* + *φ*˙ *<sup>i</sup>* and *ω<sup>b</sup>* = *κbv*. Therefore, the proof for Equation (20b) is equivalent to finding an expression for Φ˙ *<sup>i</sup>* = Φ *i v* and setting *φ <sup>i</sup>* = Φ *<sup>i</sup>* − *κb*. Clearly, Equation (20b) automatically holds for zero steering wheels (fixed and Swedish wheels) with Φ *<sup>i</sup>* = *κ<sup>b</sup>* and *φ <sup>i</sup>* = 0. For the other types, setting *a*ˆ*<sup>i</sup>* = *<sup>B</sup>u*ˆ*<sup>i</sup>* in Equation (17), and substituting *BX*˙ by *BX <sup>v</sup>* from Equation (14c), and *BX*¨ from Equation (14b) in Equation (19), this can be rewritten in the form of Φ˙ *<sup>i</sup>* = Φ *i v* with

$$\Phi\_{i}^{\prime} = \begin{cases} d\_{i}^{-1} J\_{i}(^{\mathbf{B}}\hat{\boldsymbol{u}}\_{i})^{\mathbf{B}} \mathcal{X}^{\prime} & d\_{i} \neq 0\\ \left( J\_{i}(^{\mathbf{B}}\hat{\boldsymbol{\sigma}}\_{i})^{\mathbf{B}} \mathcal{X}^{\prime} \right)^{-1} (\kappa\_{b}^{2}{}^{\mathbf{B}}\hat{\boldsymbol{u}}\_{i} \cdot ^{\mathbf{B}}\hat{\boldsymbol{\ell}}\_{i} - J\_{i}(^{\mathbf{B}}\hat{\boldsymbol{u}}\_{i})^{\mathbf{B}} \mathcal{X}^{\prime\prime}) & d\_{i} = 0 \end{cases} \tag{22}$$

which proves the second relation, Equation (20b). Notice that, for *di* = 0, the choice of control signals eliminates the acceleration terms from Equation (19) and simplifies it into the form of Φ˙ *<sup>i</sup>* = Φ *i v*. In this case, the only caveat is that *Ji*(*Bv*ˆ*i*)*BX* in the above

**Figure 3.** Schematic block diagram of the whole system.

equation may become very small, or even zero. This situation corresponds to the singularity configuration of wheels with *di* = 0 that are called centered steering wheels. This situation and its treatment is fully explained in Section 4.3. Finally, following the same paradigm, Equation (17) can be manipulated into the form of Equation (20a) with

$$
\sigma\_i' = (\mathbf{\hat{a}}\_i \cdot \mathbf{^B} \boldsymbol{\hat{v}}\_i)^{-1} \left( J\_i(\mathbf{\hat{a}}\_i) \, ^\mathbf{B} \mathcal{X}' + \Phi\_i' \mathbf{\hat{a}}\_i \, (\mathbf{\hat{z}} \times \, ^\mathbf{B} \mathcal{E}'\_i) \right), \tag{23}
$$

in which ˆ*a<sup>i</sup>* is determined by Equation (18).

**Remark 1.** *For a WMR with centered steerable wheels (di* = 0*), under the reduced state model S*∗*, the wheels' steering angles φ<sup>i</sup> can be set as control signals and are derived as follows. Based on Equation* (16)*, the steering direction is <sup>B</sup>v*ˆ*i*(*φi*) *is v <sup>B</sup>v*ˆ + *ωb*(*z*ˆ × *<sup>B</sup><sup>i</sup>*)*. Therefore, for the closed-loop system, ω<sup>b</sup> can be replaced with κbv and the steering direction becomes*

$$\mathfrak{s}\_{i} = \frac{\mathfrak{s}\_{\hat{\mathfrak{v}}} + \kappa\_{b} (\hat{z} \times {}^{\mathbf{B}} \ell\_{i})}{\sqrt{1 + \kappa\_{b}^{2} l\_{i}^{2} + 2 l\_{i} k\_{b} \sin \eta\_{i}}}. \tag{24}$$

*The major benefit of the above formulation is that it determines the proper steering direction of the wheels, even when the robot is stopped and the base speed is zero.*

#### *3.3. WMR Path-Following*

The previous proposition most importantly shows that, for the closed-loop pathfollowing of all WMR types, the kinematic constraints between the base and the wheels can be reduced to proportional functions of the base speed with proportions that are only functions of *s* and instant error states *S*. Consequently, a suitable solution to Subproblems (I) and (II) of Problem 1 is the selection of an arbitrary *v*, and a *C* that conforms to conditions in Proposition 1, and then using Equations (20a) and (20b) to evaluate the wheels' driving and steering velocities. Furthermore, to solve the Subproblem (III), instead of having an arbitrary profile for *v*, Proposition 2 can be used to find instant limits for *v* that bound the wheels' velocities. Such a solution exhaustively solves Problem 1 and is formally stated in the following Algorithm 1, with Figure 3 schematically depicting the corresponding block diagram.

#### **Algorithm 1** WMR Bounded Velocity Path-Following.

Assume that the WMR possess *nd* driving actuators and *ns* steering actuators (*nd* + *ns* ≤ 2*n*). The maximum driving velocity of the *i*th driving actuator is denoted as *v*(max) *<sup>i</sup>* , and the maximum steering velocity of the *i*th steering actuator is denoted as *φ*˙(max) *<sup>i</sup>* . At each time step, the control signals of wheels' actuators is evaluated by


$$v^{(i)} = \frac{v\_i^{(\text{max})}}{|v\_i'|} \qquad \qquad \text{and} \qquad \qquad v^{(n\_d+i)} = \frac{\dot{\phi}\_i^{(\text{max})}}{|\phi\_i'|} \tag{25}$$

Then, the maximum allowable base speed, denoted as *v*(max), is

$$
v^{(\text{max})} = \min\_{i} v^{(i)}, \quad i \in \{1, 2, \dots, n\_d + n\_s\}.\tag{26}$$

5. **Wheels' Control Inputs:** Select a *<sup>v</sup>* <sup>≤</sup> *<sup>v</sup>*(max), and use *vi* <sup>=</sup> *<sup>v</sup> i v* and *φ*˙ *<sup>i</sup>* = *φ i v* to evaluate the actuators' velocity commands (Equations (20a) and (20b)).

Note that Equations (20a) and (20b), which are used in the forth step of the above algorithm to derive the velocity candidates, are strictly monotonic with respect to *vi*, and *φ*˙ *i* and so is their inverse with respect to *v*. Hence, applying the minimum of those *m* velocity candidates results in driving and steering velocities less than or equal to the given velocity bounds. Alternatively, at each instant, if *v* = *v*(max) is selected, then at least one of the actuators is being driven at its maximum velocity, which renders the solution a bang-bang control [43] for the velocity *v* and, therefore, for a given desired path, heading, and control gains, the solution is time-optimal.

#### **4. WMR Path-Following: Detailed Illustration**

In this section, we provide the pertinent expressions for the parametrized controller presented in the previous section. In Section 4.1, we present an example controller for the base that complies with the conditions of Proposition 1, and thereby customize Algorithm 1 for WMRs based on their degree of maneuverability, *δM*.

#### *4.1. Base Path-Following: The Controller*

First, we define *ψd*(*s*,*S*∗), the desired input for *ψ<sup>v</sup>* as

$$
\psi\_d(s, \mathcal{S}^\*) = \psi\_t - \sigma(y\_\varepsilon),
\tag{27}
$$

in which, *σ*(*ye*) is a function that generates a suitable approach angle from the base to *Pd*(*s*) and has the following features: *σ*(0) = 0 and *yeσ*(*ye*) > 0 ∀*ye* = 0. One candidate for *σ*(*ye*) is

$$
\sigma(y\_\varepsilon) \stackrel{\Delta}{=} \sin^{-1} \frac{k\_2 y\_\varepsilon}{|y\_\varepsilon| + \epsilon'} \tag{28}
$$

where 0 < *k*<sup>2</sup> ≤ 1 and > 0.

Based on the above definition, it can be construed that, for large normal errors *ye*, *σ*(*ye*) goes toward *π*/2 and, consequently, the base turns toward the virtual point *P* to decrease the error. As *ye* decreases, *σ*(*ye*) moves toward zero and the base velocity turns

toward the path tangent at *P*; therefore, the robot motion becomes more aligned with the path. Evidently, larger values for *k*<sup>2</sup> result in sharper turns for the robot to reach the path.

**Proposition 3.** *The feedback control laws for signals C that are given by*

$$\dot{s} = s'(s, \mathbf{S})v \qquad \qquad \omega\_{\flat} = \theta\_{\flat}^{\prime}(s, \mathbf{S})v \qquad \qquad \qquad \omega\_{\upsilon} = \psi\_{\upsilon}^{\prime}(s, \mathbf{S})v,\tag{29}$$

*where,*

$$s'(s, \mathbf{S}) = k\_1 \mathbf{x}\_{\varepsilon} + \cos(\psi\_l - \psi\_{\upsilon}) \tag{30a}$$

$$
\theta\_b'(s, \mathbf{S}) = k\_3 \theta\_\varepsilon + \frac{d\theta\_d}{ds} \mathbf{s}'\tag{30b}
$$

$$
\psi\_v'(s, \mathcal{S}) = \psi\_d'\tag{30c}
$$

$$
\psi\_d' = \kappa\_d s' - y\_\varepsilon' \frac{d\sigma(y\_\varepsilon)}{dy\_\varepsilon}.\tag{30d}
$$

*and k*1, *k*<sup>3</sup> > 0*, lead the reduced error states, S*∗*, to asymptotically converge to zero. Moreover, replacing Equation* (30c) *with*

$$
\psi\_v'(s, \mathbf{S}) = \kappa\_d s' - \frac{d\sigma(y\_\varepsilon)}{dy\_\varepsilon} y\_\varepsilon' - \kappa\_\varepsilon^2 y\_\varepsilon \Delta + k\_4 \psi\_\varepsilon \tag{31a}
$$

$$\Delta = \begin{cases} \frac{\sin(\psi\_t - \psi\_v) - \sin \sigma(y\_c)}{\psi\_c} & \psi\_c \neq 0\\ \cos \sigma(y\_c) & \psi\_c = 0 \end{cases} \tag{31b}$$

*in which κ<sup>e</sup>* = 0 *and k*<sup>4</sup> > 0 *result in error states S asymptotically converging to zero. Consequently, the origin of the error space is stable and semi-globally exponentially stable by setting v*(*t*)≥*vm* >0 ∀*t.*

**Proof.** Here, we use standard quadratic form of error signals as the Lyapunov function but with modified control laws to make curvatures independent of speed, *v*. First, we provide a proof for the case where error states are *S*∗, and then we extend it for the full state *S*. Consider the following Lyapunov function:

$$V\_1 = \frac{1}{2} \mathbf{x}\_{\varepsilon}^2 + \frac{1}{2} \mathbf{y}\_{\varepsilon}^2 + \frac{1}{2} \theta\_{\varepsilon}^2,\tag{32}$$

which is positive, definite and radially unbounded. The time differentiation of *V*1, along with the solution of Equations (5a) to (5c), results in:

$$\dot{V}\_1 = -\left(k\_1 x\_c^2 + k\_2 \frac{y\_c^2}{|y\_c| + \epsilon} + k\_3 \theta\_c^2\right) v(t) \,\text{,}\tag{33}$$

which is negative; thus, the origin is stable. For a given *d*<sup>1</sup> > 0, if *v*(*t*) ≥ *vm* > 0 and, initially, <sup>|</sup>*ye*(*t*0)<sup>|</sup> <sup>&</sup>lt; *<sup>d</sup>*1, it is easy to show that *<sup>V</sup>*˙ <sup>1</sup> < −*λV*1. Thus, the origin is semi-globally exponentially stable.

To complete the proof, consider the following Lyapunov function:

$$V\_2 = V\_1 + \frac{1}{2\kappa\_\epsilon^2} \psi\_\varepsilon^2. \tag{34}$$

The time differentiation of *V*<sup>2</sup> along the solution of Equations (5a) to (5d) results in:

$$
\dot{V}\_2 = \dot{V}\_1 - \frac{k\_4}{\kappa\_c^2} \psi\_c^2 \ v(t) \,, \tag{35}
$$

which, again, is negative; therefore, the origin of the error state is stable.

The above control laws clearly follow the generic format of Proposition 1. As mentioned in the above proposition, with the given control laws, the origin of *S* is semi-globally exponentially stable for non-zero base speeds. The practical implication of this feature is that the WMR may stop (*v* = 0) for some time during the path-following operation, during which the states remain bounded and the path-following is naturally resumed once the WMR starts to move and the speed is not zero anymore. Note that there are several other functions for *σ*(*ye*) in the literature. However, while all of them result in negative *V*˙ , the one presented here is the one that results in a quadratic form for *ye* in *V*˙ , and hence provides exponential stability.

#### *4.2. Customization of the Path-Following Algorithm*

WMRs are classified based into five different categories on the ordered pair *δ* = (*δm*, *δs*). Three of these categories possess the degree of maneuverability *δ<sup>M</sup>* = *δ<sup>m</sup>* + *δ<sup>s</sup>* = 3, and, for the other two, *δ<sup>M</sup>* = 2. In the following, we customize Algorithm 1 based on the WMR's degree of maneuverability and explain the accompanying details. The results of this section are listed in Table 3.


**Table 3.** Customization of the Path-Following.

<sup>1</sup> *a<sup>c</sup>* is the common axis of the fixed wheels.
