4.2.2. WMRs with *δ<sup>M</sup>* = 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 *κbv* of Equation (7b), which observes the kinematic constraints. For a kinematically feasible WMR, all the fixed wheels are coaxial and, therefore, all *u*ˆ*<sup>i</sup>* are on the same line, which we call this common axis *ac*. To derive the constraint equations, set *φ*¨*<sup>i</sup>* = *φ*˙ *<sup>i</sup>* = 0 in Equation (16), and its time derivative, which can be rearranged into

$$\boldsymbol{\omega}\_{b}(\boldsymbol{d}\_{i}-\,^{\mathbf{B}}\boldsymbol{\hat{u}}\_{i}.(\boldsymbol{\hat{z}}\times\,^{\mathbf{B}}\boldsymbol{\ell}\_{i}))=\boldsymbol{v}\,^{\mathbf{B}}\boldsymbol{\hat{u}}\_{i}.\,^{\mathbf{B}}\boldsymbol{\hat{v}}\tag{36a}$$

$$(\boldsymbol{\upsilon}(\omega\_{\mathbb{b}}-\omega\_{\mathbb{v}})(\boldsymbol{\upsilon}+l\_{i}\omega\_{\mathbb{b}}\sin\eta\_{i})=(d\_{i}\boldsymbol{\upsilon}\_{i}+\boldsymbol{\upsilon}l\_{i}\cos\eta\_{i})\dot{\omega}\_{\mathbb{b}}\tag{2.4.14}$$

$$-(d\_i\dot{\upsilon}\_i + \dot{\upsilon}l\_i \cos \eta\_i)\omega\_b. \tag{36b}$$

From the above equations, it follows that if *Q*, the origin of the body frame, is not on the common axis *ac*, a kinematically consistent expression for *ω<sup>b</sup>* may be derived based on Equation (36a). However, when *Q* is placed on *ac*, Equation (36a) degenerates, since both *<sup>B</sup>u*ˆ*i*. *<sup>B</sup>v*ˆ and *di* − *<sup>B</sup>u*ˆ*i*.(*z*ˆ × *<sup>B</sup><sup>i</sup>*) 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, *ω<sup>b</sup>* should be set equal to *ω<sup>v</sup>* at all times. In both cases, *ω<sup>b</sup>* is in the form of *κb*(*s*,*S*)*v*, which are

$$\kappa\_{\flat} = \begin{cases} \left(d\_{l} - \,^{\mathsf{B}}\hat{\boldsymbol{u}}\_{l}, (\hat{\boldsymbol{z}} \times \,^{\mathsf{B}}\ell\_{l})\right)^{-1} \,^{\mathsf{B}}\hat{\boldsymbol{u}}\_{l} . ^{\mathsf{B}}\hat{\boldsymbol{v}} & \mathcal{Q} \text{ is not on } a\_{\boldsymbol{\mathsf{a}}}\\ \kappa\_{\boldsymbol{\mathsf{v}}} & \mathcal{Q} \text{ is on } a\_{\boldsymbol{\mathsf{a}}}. \end{cases} \tag{37}$$

Finally, based on Equation (36b), if *Q* is on the common axis of the fixed wheels *ac*, 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 *κ<sup>v</sup>* are both set to be *ψ <sup>v</sup>* given by Equation (31a). On the other hand, if *Q* is not placed on *a<sup>c</sup>* then, based on Equation (37), *ω<sup>b</sup>* 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 *κ<sup>b</sup>* are evaluated using Equations (30a) and (37), respectively. *κ<sup>v</sup>* is set to *ψ <sup>v</sup>* 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.

**Figure 4.** Two WMRs with *δ<sup>M</sup>* = 2. For the one on the left, the origin of *B* is on the *a<sup>c</sup>* and for the one on the right, the origin is outside of *ac*.

#### *4.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 *Pd*, 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, *vi* and *φi*, in the form of *v i v* and *φ i v*, respectively. The curvature of *Pi*, the *i*th steering wheel's path, denoted as *κi*, becomes *κ<sup>i</sup>* = *<sup>φ</sup> <sup>i</sup>*/*v <sup>i</sup>* and can be written as

$$\kappa\_{i} = \frac{\kappa\_{b}^{\prime} l\_{i} \cos \eta\_{i} + (\kappa\_{v} - \kappa\_{b}) \left(1 + l\_{i} k\_{b} \sin \eta\_{i}\right)}{\left(1 + \kappa\_{b}^{2} l\_{i}^{2} + 2 l\_{i} \kappa\_{b} \sin \eta\_{i}\right)^{\frac{3}{2}}}. \tag{38}$$

The singularity occurs when the denominator of the above equation becomes zero; that is, when sin *η<sup>i</sup>* = − sgn *κ<sup>b</sup>* and |*κb*| = 1/*li*.

**Figure 5.** A nonholonomic omnidirectional WMR with four steering wheels following the desired path *P*(*d*), which is a straight line, while turning around itself.

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 *φ <sup>i</sup>* unboundedly increases; therefore, based on Equation (25), that is, *v*(*nd*+*i*) = *<sup>φ</sup>*˙(max) *<sup>i</sup>* /|*<sup>φ</sup> i* <sup>|</sup>, the velocity candidate *v*(*nd*+*i*), is reduced to limit *φ*˙ *<sup>i</sup>* 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<sup>i</sup>* 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.

**Figure 6.** First wheel angular velocity *φ*˙ 1, with and without bounded velocity.

#### **5. 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 *φ*˙ *<sup>i</sup>* = 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.

**Figure 7.** *Experimental setups*: iMoro (**left**): a four-wheel independently steering WMR (*δ* = (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.

**Figure 8.** *Simulation*: Path-following with large initial errors of a WMR with four Swedish wheels (*δ* = (3, 0)). It seeks and follows the path *Pd*, while correcting its heading from the initial error of −180◦ to the desired heading of 360◦ at the end of the path.

**Figure 9.** *Experiment*: Bounded velocity path-following with large initial errors for LabRat WMR (*δ* = (2, 0)). It seeks and follows the path *P<sup>d</sup>* while correcting its heading from the initial heading error of −180◦ toward the path tangent angle *ψt*(*s*).

**Figure 10.** *Simulation*: Driving velocities *vi*, 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 (*δ<sup>M</sup>* = 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 *vi* 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.

**Figure 11.** *Experiment*: Driving velocities *v*<sup>1</sup> and *v*2, and the base speed *v*, for the bounded velocity path-following of LabRat (*δ* = (2, 0)).

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.

#### *5.2. 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]).

**Figure 12.** *Experiment*: The repeatability of the path-following controller. The robot starts from the grasping position marked by "Start" follows the path shown in Figure 13 and returns close to the initial pose.

**Figure 13.** *Experiment*: The desired path and the localization feedback of the WMR, performing the task shown in Figure 12 (The ramp image is shown for the purpose of clarity and does not represent the exact position of the ramp).

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.

**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.

**Figure 15.** *Experiment*: Bounded velocity path-following with independent heading control of iMoro WMR (*δ* = (1, 2)). It seeks and follows the path *P<sup>d</sup>* 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.

**Figure 16.** *Experiment*: Driving velocities *vi*, and the base speed *v*, for the bounded-velocity pathfollowing of iMoro depicted in Figure 15. The maximum driving velocity for all the wheels (*v*(max) *<sup>i</sup>* ) are set as 200 mm/s. The base speed is selected to be *v* = *v*(max), given by Equation (26) in Algorithm 1.

**Figure 17.** *Experiment*: Steering velocities *φ*˙ *<sup>i</sup>* for the bounded velocity path-following of iMoro depicted in Figure 15. The maximum steering velocity for all the wheels (*φ*˙(max) *<sup>i</sup>* ) are set as 1.9 rad/s (110 deg/s).

#### *5.3. Case Study III: δ* = (1, 1)

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 (*δ<sup>s</sup>* = 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 *δ<sup>s</sup>* > 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 *δ<sup>s</sup>* = 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 *<sup>i</sup>* = {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 *vi <sup>B</sup>v*ˆ*<sup>i</sup>* = *vBv*ˆ + *ωb*(*z*ˆ × *<sup>B</sup><sup>i</sup>*) can be simplified to

$${}^{\mathcal{B}}\hat{\boldsymbol{\upnu}}\_{i}(\phi\_{i}) = \frac{{}^{\mathcal{B}}\hat{\boldsymbol{\upnu}} + \kappa\_{\boldsymbol{\upnu}}(\hat{\boldsymbol{\upnu}} \times {}^{\mathcal{B}}\ell\_{i})}{||{}^{\mathcal{B}}\hat{\boldsymbol{\upnu}} + \kappa\_{\boldsymbol{\upnu}}(\hat{\boldsymbol{\upnu}} \times {}^{\mathcal{B}}\ell\_{i})||\_{2}}.\tag{39}$$

In the above equation, *Bv*ˆ is known and constant (in case of Figure 18 it is [100] T). Replacing *φ<sup>i</sup>* with the front wheels' steering limit *φ*max *<sup>i</sup>* , the above equation can be solved for the maximum *κv*, namely *κ*max *<sup>v</sup>* > 0. Therefore, the bounded control signal *κ*¯*<sup>v</sup>* that is used to derive actuator commands can be be found by saturating the output of the controller for *κv*, using

$$\kappa\_{\upsilon} = \begin{cases} \kappa\_{\upsilon} & |\kappa\_{\upsilon}| \le \kappa\_{\upsilon}^{\max} \\ \text{sgn}(\kappa\_{\upsilon}) \kappa\_{\upsilon}^{\max} & |\kappa\_{\upsilon}| > \kappa\_{\upsilon}^{\max} \end{cases} \tag{40}$$

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 *<sup>B</sup>v*ˆ(*ψd*). In this case, the virtual steering bounds are achieved by using the reduced-state model *S*<sup>∗</sup> and the saturated value of *ψd*.

**Figure 18.** *Experiment*: Path-following of iMoro in car-like mode with three steering limits: *φ*max *<sup>i</sup>* = {45◦, 65◦, 90◦}.

### *5.4. 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.

#### **6. 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.

**Supplementary Materials:** The following are available online at https://www.mdpi.com/article/10 .3390/s21227642/s1.

**Author Contributions:** The individual contributions of the authors are as follows. Investigation, formal analysis, software, writing—review and editing by R.O. Conceptualization, validation, writing review, editing, and supervision by R.G. Supervision, project administration, and funding acquisition by J.M. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work, supported by the European Union's Seventh Framework Program under the Marie Curie Initial Training Network, was carried out within the framework of the PURESAFE, Preventing hUman intervention for incREased SAfety in inFrastructures Emitting ionizing radiation, under REA grant agreement number 264336.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

### **References**

