Universal Path-Following of Wheeled Mobile Robots: A Closed-Form Bounded Velocity Solution

This paper presents a nonlinear, universal, path-following controller for Wheeled Mobile Robots (WMRs). This approach, unlike previous algorithms, solves the path-following problem for all common categories of holonomic and nonholonomic WMRs, such as omnidirectional, unicycle, car-like, and all steerable wheels. This generality is the consequence of a two-stage solution that tackles separately the platform path-following and wheels’ kinematic constraints. In the first stage, for a mobile platform divested of the wheels’ constraints, we develop a general paradigm of a path-following controller that plans asymptotic paths from the WMR to the desired path and, accordingly, we derive a realization of the presented paradigm. The second stage accounts for the kinematic constraints imposed by the wheels. In this stage, we demonstrate that the designed controller simplifies the otherwise impenetrable wheels’ kinematic and nonholonomic constraints into explicit proportional functions between the velocity of the platform and that of the wheels. This result enables us to derive a closed-form trajectory generation scheme for the asymptotic path that constantly keeps the wheels’ steering and driving velocities within their corresponding, pre-specified bounds. Extensive experimental results on several types of WMRs, along with simulation results for the other types, are provided to demonstrate the performance and the efficacy of the method.


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 • Unlike other path-followers, in this design, the control signals and the resultant vector field of closed-loop equations of motion are linearly proportional to the base speed (In this paper, speed exclusively refers to the magnitude of velocity vectors.). In fact, the controller acts as a feedback path-planner that minimizes the Lyapunov function of errors as its corresponding cost function. • The kinematic constraints of all types of wheels are rigorously derived in their most general form. We derive and prove sufficient conditions for a path-following controller that simplify the kinematic and nonholonomic constraints into explicit relations between the speed of the base and that of the wheels. • Based on this framework, we present a closed-form solution for the speed of the WMR's base so that all the wheels' steering and driving speeds remain within their respective bounds. We show that the solution is time-optimal, because it provides a bang-bang velocity profile in which, at each time step, at least one of the wheels runs at its maximum speed. • This solution allows WMRs with active steering wheels to get close to, and even pass, their singular configurations by regulating the speed of the WMR and the steering velocities of the wheels. Hence, this method expands the allowable configuration space of such robots and allows them to exploit their whole maneuverability.
This paper is the culmination of several earlier studies presented by the authors in [39][40][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.

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 δ s and, therefore, the WMRs' category. δ m represents the dimension of the tangent space of the configuration space, while δ s corresponds to the ability to change (steer) the basis of the tangent space by means of steering wheels. The degree of maneuverability defined as δ M = δ m + δ s then, analogous to degrees of freedom for mechanism, determines the total mobility of the WMR.

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 where q is the position vector of point Q (the origin of body frame B) and θ b is the heading angle. The base linear velocity at Q is vv with v being the base speed andv(ψ 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 ith wheel is L i and the velocity of the wheel is v ivi , in which v i is the driving speed andv i (φ i ) is the direction of wheels heading, which, in turn, is a function of wheel's steering angle φ i . The desired path P d is a 2D and bounded-curvature regular curve on the horizontal plane. This is defined by the vector-valued function P d (s) : [0, L d ] → R 2 , where s and L d are the natural parametrization (arc length) and the length of P d , respectively. The desired heading function θ d (s) : [0, L d ] → R of class C 3 determines the base's desired heading θ d . Similar to Equation (1), the WMR desired posture, X d , is defined as Furthermore, the path P a (λ) is an asymptotic path to P d . It is defined by P a (λ) : [0, L a ] → R 2 , where λ and L a are the natural parametrization (arc length) and length of the path, respectively, with its tangent angle denoted by ψ a . Correspondingly, the function θ a (λ) : [0, L d ] → R is an asymptotic angle from the base current heading θ b , to the desired heading θ d . We will later show that P a (λ) and θ a (λ) are solutions to autonomous differential equations with the current pose of the base as the initial conditions.
λ Natural parameter(arc length) of the asymptotic path, P a

Problem Formulation
As shown in Figure 1, the virtual target point on P d is denoted as P. It is determined by s, which is set as an auxiliary state withṡ being its corresponding control signal. Along with s, we define error state variables as S = (x e , y e , θ e , ψ e ) (3a) S * = (x e , y e , θ e ), where, and U R T , equivalent to R(ψ t ), is the rotation matrix from frame T to frame U . In the above, the position error signals, x e and y e , are measured alongt andn, respectively, while θ e 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 P d (s). The time derivation of Equations (4a) to (4c) yields to the open-loop equations of motionẋ in which the angular velocity of the frame B, is ω b θ b and, similarly, ω v ψ v . 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 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 ψ e in (4c) as an error state (ψ e = 0 ∀t), therefore controlling the base velocity directionv(ψ v ) directly. In the reduced states S * , ψ v acts as a control signal by directly setting ψ v = ψ d (s, S * ). In Section 4.2, we will detail the types of WMRs and conditions under which the choice of S * 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 P d (s) and heading profile θ d (s) derive feedback control laws for the wheels' driving v i and steering inputs φ i (or their ratesφ i ) such that: (I) Path-Following: The velocity frame B v converges and follows the tangent frame T ; that is, error signals x e and y e , remain bounded and converge to zero (See Equation (4a)).

(II)
Heading Control: The body frame B converges and follows B d ; that is, the heading error signal θ e , remains bounded and converges to zero (See (4b)).

(III)
Bounded Velocity: v i andφ i should not exceed their corresponding predefined limits.
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 (δ m = 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.

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.

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ṡ in which s , κ b , and κ v 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 P a (λ) 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 and as λ increases, P T a (λ > 0) θ a (λ > 0) T 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 λ . Based on the chain rule, we have v = ds dλλ and, hence, s = ds dλ . Using the same analogy for Equations (7b) and (7c) and substituting them into the open-loop error states (Equations (5a) to (5d)) results in where, 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 ψ v as functions of λ, which are P a (λ), θ a (λ), and ψ a (λ), respectively, and are governed by 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 P a (λ) 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 ≥ v m > 0), the asymptotic path P a 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 P a (λ(t)). However, Proposition 1 enables us to determine P a (λ) 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 d . 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. where, Finally, for the closed-loop system, we may transform BẊ and BẌ , the velocity and acceleration of the base posture (Equation (1)) expressed in the body frame B, into in which, ψ vb ψ v − θ b , and κ vb κ v − κ b . The above transformation facilitates the treatment of kinematic constraints in Section 3.2.

Wheels' Kinematic Constraints
Figure 2 depicts a schematic view of an abstract Generalized Wheel (GW) as the ith wheel of the WMR and its corresponding parameters. The GW represents both Swedish wheels and normal wheels. In this sense, r sr and γ define the radius and the direction of the small rollers' axis, respectively; hence, for a functional Swedish wheel: γ = π 2 and r sr = 0. For a normal, non-Swedish wheel, we simply set γ = π 2 and r sr = 0. The wheel is mounted on an L-shaped rod, parametrized by off-center values: The rod is connected to the base at the attachment point L i by a revolute joint. As shown in the figure, φ i represents the steering angle of the wheel, and v ivi represents its driving velocity vector, generated by the wheel's actuator. We define the absolute steering angle Φ i and the projection matrix J i (x i ) as in whichx i is an arbitrary unit vector. Moreover, for fixed and Swedish types, the steering direction Bv 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 i = q + i + d ivi + c iûi and express it in the body frame to arrive at a velocity constraint between the wheel and the base, which is in whichφ sr is the angular velocity of the GW's small rollers. The above equation can be manipulated into scalar equations where,â Equation (17) accompanied by the proper choice ofâ i (Equation (18)) determines the driving velocity v i . By definition, for fixed and Swedish wheelsφ i = 0. For the steerable wheels, when d i = 0,φ i is determined by settingâ i = Bû i in Equation (17), which eliminates the left-hand side of the equation. (17) and differentiating from this yields: 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.

Type Fixed Wheel Centered Steering Wheel Caster Wheel Swedish Wheel
Bv Proof. We prove this proposition by constructing v i 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 Clearly, Equation (20b) automatically holds for zero steering wheels (fixed and Swedish wheels) with Φ i = κ b and φ i = 0. For the other types, settingâ i = Bû i in Equation (17), and substituting BẊ by B X v from Equation (14c), and BẌ from Equation (14b) in Equation (19), this can be rewritten in the form ofΦ which proves the second relation, Equation (20b). Notice that, for d i = 0, the choice of control signals eliminates the acceleration terms from Equation (19) and simplifies it into the form ofΦ i = Φ i v. In this case, the only caveat is that J i ( Bv i ) B X in the above equation may become very small, or even zero. This situation corresponds to the singularity configuration of wheels with d i = 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 in whichâ i is determined by Equation (18).

Remark 1.
For a WMR with centered steerable wheels (d i = 0), under the reduced state model S * , the wheels' steering angles φ i can be set as control signals and are derived as follows. Based on Equation (16), the steering direction is Bv . Therefore, for the closed-loop system, ω b can be replaced with κ b v and the steering direction becomes 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.

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 n d driving actuators and n s steering actuators (n d + n s ≤ 2n). The maximum driving velocity of the ith driving actuator is denoted as v (max) i , and the maximum steering velocity of the ith steering actuator is denoted asφ (max) i . At each time step, the control signals of wheels' actuators is evaluated by 1.
Desired Inputs: Evaluate the internal state s, by integrating the internal feedbackṡ, and obtain the virtual target values P and θ d by using P d (s) and θ d (s).

2.
Error Calculation: Evaluate the error states S by using the localization feedback (see Equations (4a) to (4c)).

3.
Controller Σ: Evaluate S (Equation (13)), and C (Equation (21)) and, by using the values of those signals, obtainv i , v i , and φ i of Equations (20a) and (20b) for all the wheels.

4.
Bounded Velocity: Based on Equations (20a) and (20b), there are n d + n s candidates for v, namely, v (i) , which are Then, the maximum allowable base speed, denoted as

5.
Wheels' Control Inputs: Select a v ≤ v (max) , and use v i = v i v andφ i = φ 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 v i , 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.

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 .

Base Path-Following: The Controller
First, we define ψ d (s, S * ), the desired input for ψ v as in which, σ(y e ) is a function that generates a suitable approach angle from the base to P d (s) and has the following features: σ(0) = 0 and y e σ(y e ) > 0 ∀y e = 0. One candidate for σ(y e ) is σ(y e ) sin −1 k 2 y e |y e | + , where 0 < k 2 ≤ 1 and > 0. Based on the above definition, it can be construed that, for large normal errors y e , σ(y e ) goes toward π/2 and, consequently, the base turns toward the virtual point P to decrease the error. As y e decreases, σ(y e ) 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 2 result in sharper turns for the robot to reach the path. Proposition 3. The feedback control laws for signals C that are given bẏ where, and k 1 , k 3 > 0, lead the reduced error states, S * , to asymptotically converge to zero. Moreover, replacing Equation (30c) with in which κ e = 0 and k 4 > 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) ≥ v m > 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: which is positive, definite and radially unbounded. The time differentiation of V 1 , along with the solution of Equations (5a) to (5c), results in: which is negative; thus, the origin is stable. For a given d 1 > 0, if v(t) ≥ v m > 0 and, initially, |y e (t 0 )| < d 1 , it is easy to show thatV 1 < −λV 1 . Thus, the origin is semi-globally exponentially stable.
To complete the proof, consider the following Lyapunov function: The time differentiation of V 2 along the solution of Equations (5a) to (5d) results in: 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 σ(y e ) in the literature. However, while all of them result in negativė V, the one presented here is the one that results in a quadratic form for y e inV, and hence provides exponential stability.

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 δ M = δ m + δ s = 3, and, for the other two, δ M = 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.

Param. Error States Desired Inputs Selection of
1 a c is the common axis of the fixed wheels.

WMRs with δ M = 3
These types of WMRs are omnidirectional in nature, which means that they have independent heading and linear movements. However, the holonomic type with δ = (3, 0) provides full mobility and, hence, instantaneous velocity in any direction. The other two categories (δ = (2, 1) and δ = (1, 2)) are steerable and nonholonomic. They are capable of providing movement in any arbitrary direction, but only after they have steered their wheels to the corresponding configuration. For the problem at hand, the difference between holonomic and nonholonomic types only occurs at the beginning of the path, in which the holonomic type may start path-following instantly, but the nonholonomic types have to rearrange their steerable wheels. Other than this, on a smooth path and heading profile, both types provide the same functionality.
These types of WMRs are capable of changing the direction of their base linear velocity while the base is stationary. This can be instantly performed in the case of holonomic types or in the case of nonholonomic types by changing the direction of the steering wheels over time. This fact allows us to directly control ψ v and have S * as the error states instead of S. Consequently, for this type of WMR, the heading and linear movements are independent. Hence, the controller's inputs are both P d and θ d , and the body frame B is chosen arbitrarily. For the base path-following (Definition 2) of such WMRs, s , and κ b of Proposition 1 are s , and θ b given by Equations (30a) and (30b) in Section 4.1, respectively. There are two viable options for κ v . If the target states is set to be full states (s, S * ), then, as mentioned earlier, κ v should be set as ψ d given by Equation (30d). The second option is to set (s, S) as the target states and, therefore, κ v should be evaluated using ψ v given by Equation (31a). Table 3 summarize these results.

WMRs with δ M = 2
These types of WMRs have limited mobility in their working plane, and the heading and linear movements are dependent. They are either differential with δ = (2, 0) or carlike with δ = (1, 1). Both categories have a set of coaxial fixed wheels. The only difference between these categories occurs at the beginning of the path-following. The differential type starts the path-following instantly, but the carlike type has to steer its steerable wheel according to the start of the path. Aside from this difference, both types provide the same functionality on a smooth path.
For such WMRs, there is no independent heading control and the progress of the base heading, as shown in Figure 4, is linked to the position of body origin Q. Therefore, in what follows, we strive to derive the control laws for ω b , in the form of κ b v of Equation (7b), which observes the kinematic constraints. For a kinematically feasible WMR, all the fixed wheels are coaxial and, therefore, allû i are on the same line, which we call this common axis a c . To derive the constraint equations, setφ i =φ i = 0 in Equation (16), and its time derivative, which can be rearranged into From the above equations, it follows that if Q, the origin of the body frame, is not on the common axis a c , a kinematically consistent expression for ω b may be derived based on Equation (36a). However, when Q is placed on a c , Equation (36a) degenerates, since both Bû i . Bv and d i − Bû i .(ẑ × B i ) become zero and Equation (36b) should be employed. If Q has been placed on the common axis, then the right-hand side of Equation (36b) is zero and, in order for the constraint to be valid, ω b should be set equal to ω v at all times. In both cases, ω b is in the form of κ b (s, S)v, which are Finally, based on Equation (36b), if Q is on the common axis of the fixed wheels a c , then the heading is tangent to (or has a constant misalignment with) the footprint of Q, which, in the case of path-following, is eventually ψ t . In this case, the WMR is not able to instantly provide any arbitrary ψ v ; hence, only the full states path-following (s, S) are possible. Consequently, for the base path-following, s is evaluated using Equation (30a) and κ b , and κ v are both set to be ψ v given by Equation (31a). On the other hand, if Q is not placed on a c then, based on Equation (37), ω b can be used to achieve any arbitrary ψ v . Consequently, both the full states' path-following (s, S), and the reduced states' path-following (s, S * ) are possible. For the base path-following, s and κ b are evaluated using Equations (30a) and (37), respectively. κ v is set to ψ v given by Equation (31a) in the full states' case or ψ d given by Equation (30d) in the case of reduced states. These results are also listed in order in Table 3.

Analysis of Steering Wheels Singularities
In Section 4.1, we provided a stable path-following controller for the base pathfollowing system defined in Definition 2. Next, we incorporated the constraints of Section 3.2 to map the base control signals to the wheels' velocities. The path-following of a WMR with a stable base controller is stable if there is no singularity in the mapping from the base onto the wheel. Hence, in this section, we elaborate on the singularities of the mapping and how the bounded velocity path-following algorithm treats and resolves those singularities, which specifically occurs with centered steering wheels.
As mentioned in the introduction, one way of examining the singularity of the steering wheels is by studying the base ICR. As the ICR moves closer to a wheel axis, the driving velocity of that wheel decreases and its steering velocity unboundedly increases. When the ICR coincides with the wheel's steering axis, the steering angle becomes undefined and singular. Here, we study this situation both geometrically and analytically based on the WMR's path-following. Figure 5 shows the path-following of a WMR with four steering wheels that follow a straight line P d , during which it rotates around itself for 2π. As shown in the magnified area of the figure, during the operation, as the body ICR moves close to the first wheel, the curvature of P 1 , which is the wheel's footprint, increases; therefore, for the wheel to keep up with the rest of the WMR, it has to increase its steering velocity to pass the tight curvature. At the singularity, the ICR coincides with the steering axis, the curvature of the wheel's path becomes infinite and the steering direction becomes undefined. Theretofore, geometrically, the kinematic mapping between the base and a wheel becomes singular when a smooth path and movement toward a base result in an infinite curvature for the wheel's path.
In Section 3.2, for the closed-loop system, we derived the driving and steering velocities, v i and φ i , in the form of v i v and φ i v, respectively. The curvature of P i , the ith steering wheel's path, denoted as κ i , becomes κ i = φ i /v i and can be written as The singularity occurs when the denominator of the above equation becomes zero; that is, when sin η i = − sgn κ b and |κ b | = 1 /l i . One of the significant benefits of the bounded velocity path-following presented in Algorithm 1 is that it properly handles the steering wheels' singularities. As the wheel moves close to its singular configuration φ i unboundedly increases; therefore, based on Equation (25), that is, v (n d +i) =φ (max) i /|φ i |, the velocity candidate v (n d +i) , is reduced to limiṫ φ i to its maximum. This, in turn, leads to the reduction in the base speed v. Hence, as the WMR moves close to its singular configuration, it reduces its speed and allows the steering wheel to make a tight turn. Figure 6 demonstrates this procedure for the path-following scenario depicted in Figure 5. If the WMR falls right into the singular configuration, φ i becomes infinity and the robot stops. At this configuration, the curvature of P i is infinity and the path has inward and outward tangents at the singular point. This configuration can be seen as the start of a new path-following; the WMR reorientates its singular wheel from the inward tangent to the outward tangent and starts a new path-following.

Experimental and Simulation Results
In this section, we demonstrate some simulation and experimental data of the presented path-following controller in action. The results are for four categoiesy of WMR.
The experimental setup consists of two WMRs, shown in Figure 7. The robot in the left is a four-wheel, independently steered mobile manipulator called iMoro that is a nonholonomic omnidirectional WMR (δ = (1, 2)), also known as a two-steer. By manually fixing the steering of the rear wheels (settingφ i = 0), it can also emulate the car-like type (δ = (1, 1)). In this case, the steering of the front wheels is naturally governed by the path-following based on the Ackerman principal. This feature was incorporated to test the algorithm for the car-like WMRs. For the last type, the WMR to the right of Figure 7, called LabRat, was employed, which is a differential drive mobile robot (δ = (2, 0)) and represents the unicycle kinematics. The path-following controller, namely, the Algorithm 1, was implemented on these WMRs in a real-time Linux environment based on [44]. This section is divided into three case studies; each focuses on different types of WMR and different scenarios (Videos of some of the experiments are provided in the multimedia attachment.). Finally, we finish this section by a brief discussion on some of the restrictions of the presented framework.  (1, 2)), and LabRat (right): a differential drive WMR (δ = (2, 0)) with active fixed wheels at the rear. 5.1. Case Study I: δ = (3, 0) and δ = (2, 0) The simulation was performed on a holonomic omnidirectional WMR (δ = (3, 0)). The WMR has the same architecture as iMoro, but the steering wheels are virtually replaced by Swedish wheels of the same radii. Figures 8 and 9 portray the path-following scenario, the base footprint q, and the two of the wheels' paths for the holonomic type (simulation) and the unicycle type (experiment using Labrat), respectively. As shown in the figures, the desired path is smooth, but has sharp turns and, hence, large curvatures at some of its points, which challenges the agility of the controller. q ICR Figure 9. Experiment: Bounded velocity path-following with large initial errors for LabRat WMR (δ = (2, 0)). It seeks and follows the path P d while correcting its heading from the initial heading error of −180 • toward the path tangent angle ψ t (s).  Figure 10. Simulation: Driving velocities v i , and the base speed v, for path-following of a WMR with four Swedish wheels depicted in Figure 8.
We have intentionally set large initial errors to demonstrate the performance of the controller. The WMR is two meters off the starting point of the path and faces away from it (initial heading error is −180 • ). For the holonomic type, independent heading control is possible and the desired heading is 360 • by the end of the path. Conversely, for the unicycle type (δ M = 2), independent heading control is not possible. Since the origin of the body frame is on the common axis of the fixed wheels, the heading and the linear velocity angle are the same. Hence, along with the base path-following, the algorithm corrects the initial heading error and the base heading follows the tangent of the path. As shown in the figures, the controller can maneuver the robot toward, and asymptotically onto, the path. The maximum driving velocity was set to 600 MMmm/s and the base speed was selected as v = v (max) given by Equation (26) in Algorithm 1. Figures 10 and 11 present the wheels' driving velocities v i and the base speed v, for the holonomic, and unicycle type, respectively. As shown in the figures, the bounded velocity algorithm duly scales the base speed so that none of the wheels exceed their maximum driving velocity. As shown in Figure 11, LabRat makes sharp turns by setting the velocities of both wheels to their maximum values but with different signs, which implies that one is driving forward and another is running backward. Hence, the base speed becomes almost zero and the velocity difference leads to the angular velocity that is needed for the turn. Collectively, these experiments demonstrate the agility of the proposed path-following algorithm to steadily realize sharp maneuvers without relying on switching procedures.

Case Study II: δ = (1, 2)
This case study focuses on the emulation of a manipulation task with iMoro in the two-steer mode. As shown in Figure 12, the manipulation task consists of grasping the tip of a T-Slot aluminum profile, which is mounted on and extended from a wheeled table. A marker attached on the table is detected by a camera mounted on-board at the front of iMoro. The inertial frame is set on the marker and the pose of the tip is known with respect to the frame, while the wheeled table is placed randomly in the room. At the start, the WMRs' fingers are about to grasp the tip. It is desired for the WMR to start from this configuration, follow a desired tear shaped path around the room ( Figure 13) and creturn to the exact same initial grasping configuration, which provides a means of investigating the repeatability of the system. In this experiment, the localization module consists of sensor fusion between vision data and wheel odometry (more information is given in [45]). To investigate the effects of uncertainties and disturbances, a cable protector ramp is placed somewhere on the path. The WMR driving up and down the ramp precipitates temporary but heavy localization disturbances that are evident in Figure 14 between 20 s and 30 s. Moreover, the independent desired heading is designed such that, for some time, the marker is out of the camera's field of view and the localization relies solely on wheel odometry. Once the marker returns into the camera's view, a sudden jump appears in the localization due to the accumulated drifting of the wheels' dead reckoning, which is also apparent in the figure before 50 s. Since this happens close to the end of the path, the controller has little time to correct the absolute error and bring the robot back to the initial configuration. x e y e Figure 14. Experiment: Position errors in x and y directions of the inertial frame for the scenario depicted in Figure 13. It shows the disturbances due to the robot moving on a ramp and the localization jump due accumulated error of wheels' dead reckoning.
The two images on the right side of Figure 12 are from a separate camera mounted on the aluminum profile that show the position of the gripper's fingers at the start and end of the path-following, which attests to the successful return of the WMR to the initial configuration with around 15 mm of final error. This is also evident in Figures 13 and 14, which show the appearance of the errors and disturbances, and the controller's pertinent compensation. This experiment was repeated nine times with the ramp placed on several different locations on the path. The WMR successfully returned to the initial grasping configuration with the maximum error of 25 mm. Therefore, while the localization relying on vision and wheel odometry is very noisy, the control system shows sufficient robustness against this noise.
Another scenario using the same setup was also implemented to assess the controller's practical ability to bound the velocities and alleviate the singularities. In this scenario, the robot has to follow a given path, as shown in Figure 15 that ends in the same grasping configuration as before. However, during the path-following, the WMR is required to make a turn around itself, which not only pushes the platform near its singular configuration but also moves the marker out of the camera's field of view for some time. As illustrated in Figure 15, the turn happens somewhere near the start of the path, with the base ICR moving closer to one of the wheels steering axis. During the turn, the vision is lost and the accumulated error during this phase results in a localization jump once the camera can see the marker again. However, as shown in the figure, the controller manages to compensate for the errors and usher the robot toward the final grasping pose. x(mm) y(mm) P d q P 2,4 ICR Figure 15. Experiment: Bounded velocity path-following with independent heading control of iMoro WMR (δ = (1, 2)). It seeks and follows the path P d while correcting its heading from its initial heading to the desired heading of 360 • at the end of the path.
The base speed is selected to be v = v (max) given by Equation (26) in Algorithm 1; therefore, at least one of the wheels runs with its maximum driving or steering velocity. Comparing Figures 16 and 17, it is clear that, most of the time, at least one of the wheels drives with its maximum driving velocity. However, when a tight turn is needed, the maximum velocity steadily changes from driving to steering, as shown in Figure 17. Notice that, near the beginning of the path, iMoro moves close to its singular configuration a couple of times, which corresponds to some of the peaks in the steering velocities. Figure 15 shows the high curvature of one of the wheels' footprint and the closeness of the body ICR to the wheel's steering near the singular configuration.    The last case study focuses on the path-following of car-like WMRs (δ = (1, 1)) and, specifically, their bounded steering control. In this paper, we assumed that the steering wheels are free-turn. This assumption can easily be alleviated for some types of WMRs. Generally speaking, limited steering for WMRs with a degree of steerability greater than one (δ s = 2) is not favorable. This limitation greatly decreases the maneuverability of the platform to the point that it questions the benefits of allocating extra resources to obtain a WMR with δ s > 1. For example, the independence of heading and linear motion is greatly compromised and most of the results in the previous case study would not be possible. However, for configurations with δ s = 1, such as car-like WMRs, a limited steering range for steering wheels is common and widely used. Therefore, in this section we present a straightforward approach to account for bounded steering in car-like mode.
This experiment has been performed on iMoro. While the steering wheels on iMoro are free-turn, virtual limits are set to emulate bounded steering. Figure 18 shows the path-following of iMoro in car-like mode with three steering limits: φ max i = {45 • , 65 • , 90 • }. The desired path is smooth but has a very high curvature at its turning point. The derivation of virtual bounds on control signals to achieve bounded steering is as follows. As shown in the figure, the body frame is on the common axis of the fixed wheels. Therefore, based on Equation (37) and the kinematic constraints of Section 3.2, the velocity constraint v i

Bv
In the above equation, Bv is known and constant (in case of Figure 18 it is [1 0 0] T ). Replacing φ i with the front wheels' steering limit φ max i , the above equation can be solved for the maximum κ v , namely κ max v > 0. Therefore, the bounded control signalκ v that is used to derive actuator commands can be be found by saturating the output of the controller for in which sgn(x) is the sign function. Note that, for the case where the base frame is not on the common axis of the fixed wheels, based on the first case of Equation (37), a similar procedure can be followed to derive the corresponding bound for the desired velocity direction Bv (ψ d ). In this case, the virtual steering bounds are achieved by using the reduced-state model S * and the saturated value of ψ d .

Restrictions
As presented in the results of this section, the proposed universal method navigates the WMRs while keeping the driving and steering actuators within their velocity boundaries. This approach is generally suitable in conjunction with a path-planner that generates obstacle-free paths for the WMR. While this approach is capable of navigating the robot toward the desired path, even when the errors are very large, this feature has to be used with care with respect to the obstacles that might be present on the corrective path. Moreover, in order to achieve higher velocity limits while performing tight maneuvers, bounding the velocities is not enough; the accelerations should be bounded too. We have presented a bounded acceleration solution for two-steer WMRs, such as iMoro, in [46], and are currently extending the results to cover all types of WMRs.

Conclusions
In this paper, we presented a universal bounded-velocity path-following algorithm for Wheeled Mobile Robots (WMRs) operating under the condition of pure rolling without skidding. The solution can be applied to various types of WMRs such as car-like, differential drive, and omnidirectional. The versatility of the framework is due to the generic representation of kinematic constraints. This representation accentuates the possibility of having universal controllers for kinematically different WMRs. We employed these results to derive a closed-form time-scaling solution for the base speed that keeps the velocities of the actuators within a set of pre-specified limits. Extending this establishment, we are currently working to enhance our solution to cover bounded accelerations, dynamic uncertainties and employ barrier functions for obstacle avoidance.