# Controlling Off-Road Bi-steerable Mobile Robots: An Adaptive Multi-control Laws Strategy

Roland Lenain, Ange Nizard, Mathieu Deremetz, Benoit Thuilot, Vianney Papot, Christophe Cariou

## ► To cite this version:

Roland Lenain, Ange Nizard, Mathieu Deremetz, Benoit Thuilot, Vianney Papot, et al., Controlling Off-Road Bi-steerable Mobile Robots: An Adaptive Multi-control Laws Strategy. Lecture Notes in Electrical Engineering, 613, pp.344-363, 2020, 10.1007/978-3-030-31993-9_17. hal-03042453

HAL Id: hal-03042453

https://uca.hal.science/hal-03042453

Submitted on 6 Dec 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Controlling off-road bi-steerable mobile robots: an adaptive multi-control laws strategy

Roland Lenain¹, Ange Nizard², Mathieu Deremetz¹, Benoit Thuilot², Vianney Papot¹, and Christophe Cariou¹

¹ Irstea, UR TSCF,
9 avenue Blaise Pascal, CS 20085
F-63172 Aubiere, France
roland.lenain@irstea.fr

WWW home page: http://www.irstea.fr/la-recherche/unites-de-recherche/tscf/

² Université Clermont Auvergne, CNRS, SIGMA Clermont, Institut Pascal, F-63000 Clermont-Ferrand, France.

**Abstract.** This paper proposes a path tracking strategy for wheeled mobile robots of type {1,2} (i.e equipped with two steering axles), with the aim to ensure the convergence of the front and rear control points along a same trajectory, leading to reduce the required space to achieve maneuvers. The proposed approach considers front and rear steering axles as two separate systems with their own control variables: the front and the rear steering angles. The problem of managing two steering axles is solved without considering an explicit control of the robot's orientation, nor a relationship between the two steering angles which is generally a not optimal approach. The proposed control laws are based on adaptive and predictive control techniques in order to address phenomena acting when moving in unstructured context, such as bad grip conditions, low-level and inertial delays. As a result, this control algorithm enables to accurately control bi-steerable mobile robots, while increasing their maneuverability. This is particularly suitable for off-road applications, such as in agriculture where potentially large robots have to move in cluttered environments and face low grip conditions.

**Keywords:** wheeled mobile robots, four wheel-steered robot, path tracking, adaptive control.

## 1 INTRODUCTION

Mobile robotics arises as a promising solution to different societal problems in many areas such as transportation [7], civil safety and defense, or agriculture [3]. Beyond acting in hazardous environments or situations instead of human operators, the automation of vehicles may offer new potentialities thanks to extended control capabilities. It is notably the case of bi-steerable vehicles. With respect to classical car-like vehicles [1], they theoretically offer enhanced functionalities, such as an increased maneuverability or the possibility to control the actual orientation independently from the position. Four wheeled-steered (4WS) vehicles are generally used in order to reduce the radius of curvature, such as within warehouses where lots of goods are stored or within agricultural
fields to minimize maneuver areas. Nevertheless, the manual control of such vehicles
may be difficult for a human driver. In autonomous modes, the control of 4WS robots
is generally made by imposing the rear steering angle as a function of the front steering
one, as proposed in [12]. Such an approach enables to decrease the radius of curvature
without however achieving a specific task.

Beyond motion control, one can take advantage of this additional degree of freedom to achieve a secondary task. In automotive industry, this can be for instance the compensation of sideslip angles and the improvement of the vehicle lateral dynamics [14]. In the framework of mobile robotics, the control of such vehicles may reduce the space required to maneuver, such as for transportation in cluttered environment [10]. It is also particularly interesting in agriculture to optimize half-turn maneuvers within headlands, since they are usually low-yield field areas due to high soil compaction, or to ensure the proper orientation of an implement. In an off-road context, a control strategy has for instance be proposed in [6] to control independently the heading and the position of the robot in the framework of path tracking [13].

In this framework, a path is preliminary defined and a reference point on the robot has to follow this trajectory (for a car-like mobile robot, this point is usually chosen as the middle of the rear axle, since it presents interesting properties, see [4]). When only the front steering angle is actuated, the middle of the front axle is necessarily outside of the turn. In this paper, the control of bi-steerable cars is investigated to ensure that front and rear axles follow the same trajectory. For that purpose, the robot is viewed as two subsystems, such as introduced in [8]: one describes the motion of the rear axle of the robot, and the other one is dedicated to the front axle. These two models are linked by the rear steering variable, which is regarded as a measured parameter for the front semi-model. Moreover, extended kinematic models are considered, enabling to account for non-perfect conditions thanks to model-based adaptive algorithms [2]. This approach permits to derive independently two control laws for the front and the rear steering angles. As a result, two points on the robot (the middle of the two front wheels and the middle of the two rear wheels) can track the same trajectory.

The paper is organized as follows: first, the modeling of the robot is proposed, based
on an extended kinematic approach recalled in Section 2. The on-line estimation of the
required variables, based on observation techniques, is then briefly detailed in Section 3.
This observer permits to know all the variables introduced in the model. As a result, this
model may then be used to build two independent control laws, which are derived in
Section 4. The addition of a predictive layer is also briefly introduced by considering
the future curvature of the reference path. Next, after describing in Section 5 how to
avoid lock-up risks due to steering saturation encountered in practice, the performances
of the proposed approach are then tested by performing full-scale experiments with two
different off-road mobile robots. The results shown in Section 6 permit to highlight the
efficiency of the proposed algorithms.
# 2 MODELING OF THE ROBOT

## 2.1 Assumptions and notations

In this paper, path tracking for a four-wheeled steered robot is considered. The robot is viewed as a bicycle model (see [11]), such as depicted in Figure 1. The two front (respectively rear) wheels are reduced to a unique front (resp. rear) wheel with an equivalent steering angle denoted $\delta_F$ at point $F$ (and resp. $\delta_R$ at point $R$). This is made possible assuming that the robot has a longitudinal axis symmetry, moves on a plane, and that all the wheels are in contact with the ground.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Extended kinematic model of a two-wheeled steered robot</figcaption></figure>

Such a robot belongs to the type {1,2} in the classification proposed by [4]. Basically, the control variables attached to this kind of robots are:

* $v$: the velocity imposed at the rear axle,

* $\delta_F$: the front steering angle,

* $\delta_R$: the rear steering angle.

In the path tracking framework, the velocity is supposed to be strictly positive ($v > 0$) or at least non-null. Such a condition had to be strictly satisfied in the previous version proposed in [8]. In this version, it is no longer mandatory, since the objective is to ensure the convergence of the robot to its trajectory after a settling curvilinear distance. Therefore, the control of the robot speed is not considered in this paper and only control expressions for the front and the rear steering angles are derived, with the value of $v$ regarded as a measured parameter potentially variable. In order to achieve the path tracking task, one considers the following state variables:
* $y^R$ is the tracking error: it is the shortest distance between the point $R$ and the trajectory $\Gamma$ to be followed.

* $\tilde{\theta}$ is the angular deviation, denoting the difference between the robot's heading $\theta$ and the orientation of the trajectory $\Gamma$ at the closest point of $R$ belonging to $\Gamma$. In the sequel, this point is identified by its curvilinear abscissa $s$ along the trajectory $\Gamma$ and $c(s)$ denotes the curvature of $\Gamma$ at this point.

* $y^F$ is a second lateral deviation defined at the center of the front axle $F$, separated from the point $R$ by the wheelbase $L$. Specifically, it is the distance between $F$ and the trajectory $\Gamma$ in the same direction than the projection of $R$ onto $\Gamma$ (see Figure 1).

These variables are sufficient to describe the robot motion when ideal "rolling without sliding" conditions are assumed. Nevertheless, when moving at important speed or on a non-ideal ground, such an assumption is not satisfied. In such a case, the directions of the speed vectors at the wheel centers no longer belong to the wheel planes. As detailed in [5], an angle appears for each virtual wheel (front and rear), which is named sideslip angle and denoted in this paper $\beta_F$ for the front wheel and $\beta_R$ for the rear one. In order to describe properly the robot motion, these two angles have to be incorporated into the robot model. They are hardly measurable directly and are here assumed to be estimated indirectly by the observer described in Section 3.

Classically, the objective of path tracking is to ensure the convergence of the tracking error to zero (i.e. $y^R \to 0$). Thanks to the two steering angles, a second objective is here assigned: the convergence of the front lateral deviation to zero (i.e. $y^F \to 0$). Assuming that sideslip angles are known, the kinematic model of the bi-steerable robot depicted in Figure 1 can be established and next be used to derive the control expressions.

## 2.2 Classical motion equations

As detailed in [15], when classical path tracking is addressed, the motion equations for the extended model depicted in Figure 1 may be advantageously expressed as:

$$ 
\left\{ 
\begin{aligned}
\dot{s} &= v \frac{\cos \tilde{\theta}_2}{1-c(s)y^R} \\
\dot{y}^R &= v \sin \tilde{\theta}_2 \\
\dot{\tilde{\theta}} &= v \left[ \cos(\delta_R + \beta_R) \lambda_1 - \lambda_2 \right]
\end{aligned}
\right. 
\qquad (1) 
$$

with: $\lambda_1 = \frac{\tan(\delta_F + \beta_F) - \tan(\delta_R + \beta_R)}{L}$, $\lambda_2 = \frac{c(s) \cos(\tilde{\theta} + \delta_R + \beta_R)}{1-c(s)y^R}$ and $\tilde{\theta}_2 = \tilde{\theta} + \delta_R + \beta_R$.

Model (1) is singular if $1 - c(s)y^R = 0$. However, if the robot is properly initialized and the steering laws properly tuned, the rear lateral deviation $y^R$ never drifts up to the radius of curvature $1/c(s)$ of the path to be followed. So, in practice, the model singularity is never met.

This model is attractive, since it can be turned into a linear form as it has been shown in [11] (the extension of kinematic models with the sideslip angles does not change indeed the structure of these models). As achieved in [9], model (1) permits to derive
a front steering control law enabling the convergence of the rear lateral deviation $y^R$ to zero, whatever the value of the rear steering angle $\delta^R$, provided that its time derivative $\dot{\delta}^R$ can be neglected with respect to the settling time of the proposed front steering control law. In the above-mentioned reference, the rear steering angle is then used to servo the angular deviation. If this permits to control the heading of a robot independently from its lateral position, it does not explicitly control the front axle position. As this paper aims at ensuring the convergence of the position of both front and rear axles (points $R$ and $F$) to the reference path $\Gamma$, a second model is investigated.

## 2.3 Modeling robot motion in two subsystems

In this paper, the objective is to ensure that both steering axles converge and stay on the desired trajectory $\Gamma$. To meet this aim, two models for the derivatives of the tracking errors $y^F$ and $y^R$ are developed from the representation depicted in Figure 1. In [8], time-derivatives have been considered. This leads to control performances expressed as settling times. Moreover, both control laws depend on the velocity $v$ and are therefore singular when the speed is close to zero. However, in path tracking applications, control performances expressed as settling distances are usually preferred, so that the imposed behavior is independent from the robot velocity. As a result, derivatives with respect to the curvilinear abscissa $s$ are here considered. The dynamic of the rear lateral deviation $y^R$ is obtained directly from the two first lines in equations (1):

$$ \frac{dy^R}{ds} = (1 - c(s)y^R) \tan \tilde{\theta}_2 \quad (2) $$

With respect to the front axle, it can first be derived from Figure 1 that:

$$ y^F = y^R + L \sin \tilde{\theta} + e \quad (3) $$

(in view of sign conventions, $e$ is negative in the configuration shown in Figure 1). Next, assuming that the trajectory can be locally (at any curvilinear abscissa $s$) viewed as a circle of radius $\frac{1}{c(s)}$, the deviation $e$ can be expressed as:

$$ e = \frac{1}{c(s)} (1 - \cos \alpha) \quad (4) $$

where $\alpha$, depicted in Figure 1, is the angle defined by the points $\{R, O, F_\Gamma\}$. This angle can easily be expressed using the curvature of the reference trajectory, the angular deviation $\tilde{\theta}$ and the robot wheelbase $L$:

$$ \alpha = \arcsin(L \cos \tilde{\theta} c(s)) \quad (5) $$

Since an expression for $e$ has been obtained, the derivative of the lateral front deviation can be computed. In view of actuator reactivity, it can be considered that $e$ is slowly-varying with respect to the possible variations of $y^F$, so it comes from (3) that:

$$ \frac{dy^F}{ds} = \frac{dy^R}{ds} + L \frac{d\tilde{\theta}}{ds} \cos \tilde{\theta} \quad (6) $$

Using model (1), equation (6) can be developed as:

$$ \frac{dy^F}{ds} = \frac{(1-c(s)y^R)}{\cos \tilde{\theta}_2} \left( \sin \tilde{\theta}_2 + L \cos \tilde{\theta} (\cos(\delta_R + \beta_R) \lambda_1 - \lambda_2) \right) \quad (7) $$
The definitions of $\lambda_1$, $\lambda_2$ and $\tilde{\theta}_2$ given in model (1) show that these variables are explicitly linked to the control variables $\delta_F$ and $\delta_R$. Therefore, equations (2) and (7) provide the relation between the control variables and the derivatives of the lateral deviations with respect to the curvilinear abscissa. These two equations constitute the model that will be used in Section 4 to design the control laws. However, the sideslip angles $\beta_F$ and $\beta_R$ have to be known. This is the aim of the observer described hereafter.

## 3 Observation of sideslip angles

In order to design control laws for the convergence of the lateral errors to zero, the knowledge of the sideslip angles is mandatory. There is no perception system allowing to measure directly such variables. The sensors on-boarded on the robot permit usually to measure the position, the orientation and the velocity of the robot at a given point, here R. As it has been shown in [9], an observer may be built in order to estimate the two sideslip angles from the data supplied by such a perception system. Since this observer is here used, a short presentation is given below. More details can be found in [9].

### 3.1 Observer state

In order to achieve the indirect estimation of sideslip angles, let us consider the state vector $\xi$ composed of the robot lateral deviation, its relative orientation and the two sideslip angles. Relying on model (1), its time-derivative (since derivatives with respect to time are more appropriate to account for sliding occurrence) can be written as:

$$ \dot{\xi} = \begin{bmatrix} \dot{\xi}_{dev} \\ \dot{\xi}_{\beta} \end{bmatrix} = \begin{bmatrix} f(\xi_{dev}, \xi_{\beta}, v, \delta_F, \delta_R) \\ 0_{2 \times 1} \end{bmatrix} \quad (8) $$

where $\xi$ is split into two sub-states:

* $\xi_{dev} = [y^R \tilde{\theta}]^T$ gathers the deviations of the robot with respect to the trajectory $\Gamma$. These variables can be measured with the common robot perception systems.

* $\xi_{\beta} = [\beta_F \beta_R]^T$ is composed of the sideslip angles, to be estimated.

The function $f(\xi_{dev}, \xi_{\beta}, v, \delta_F, \delta_R)$ is constituted of the two last lines in model (1) and the lower term has been set to $0_{2 \times 1}$, since no equation is available in a kinematic representation for the evolution of $\dot{\beta}_F$ and $\dot{\beta}_R$. The objective of the observer is to ensure the convergence of the complete observed state $\xi$ to the actual one $\xi$, when measuring only the sub-state $\xi_{dev}$. As a result, only the observation error related to the deviations, namely $\tilde{\xi}_{dev} = \hat{\xi}_{dev} - \xi_{dev}$, is available and may be used.

### 3.2 Observer equations

It has been shown in [9] that the observer defined by equation (9) permits the convergence of the whole observed state $\xi$ to the actual one $\xi$:

$$ \left\{ \begin{aligned} \dot{\hat{\xi}}_{dev} &= f(\xi_{dev}, \xi_{\beta}, v, \delta_F, \delta_R) + \alpha_{dev}(\tilde{\xi}_{dev}) \\ \dot{\hat{\xi}}_{\beta} &= \alpha_{\beta}(\tilde{\xi}_{dev}) \end{aligned} \right. \quad (9) $$
where $\alpha_{dev}$ and $\alpha_{β}$ are functions of $\tilde{\xi}_{dev}$, the part of the observation error that can actually be measured. They are defined as follows:

$$ \left\{ \begin{aligned} \alpha_{dev}(\tilde{\xi}_{dev}) &= K_{dev} \tilde{\xi}_{dev} \\ \alpha_{β}(\tilde{\xi}_{dev}) &= K_{β} \left[ \frac{\partial f}{\partial \tilde{\xi}_{β}}(\tilde{\xi}_{dev}, \xi_{β}, v, \delta_{F}, \delta_{R}) \right]^{T} \tilde{\xi}_{dev} \end{aligned} \right. \quad (10) $$

with $K_{dev}$ a 2 × 2 positive diagonal matrix and $K_{β}$ a positive scalar, that both permit to tune the settling time of the observer. Thanks to observer (9)-(10), all the variables in model (1) are known and control design can now be addressed in the next section.

# 4 Control laws

In the sequel, estimated sideslip angles $\hat{\beta}_R$ and $\hat{\beta}_F$ are regarded as the actual ones and expressions (2) and (7) proposed for the derivatives of the rear and front lateral deviations with respect to the curvilinear abscissa are used successively to design control laws ensuring that points R and F track the reference path $\Gamma$.

## 4.1 Rear steering angle

Let us first consider the control of the rear point R. The objective is to ensure the convergence of the rear lateral deviation $y^R$ to zero. The evolution of this variable is related to the rear steering angle $\delta_R$ by equation (2), through the intermediate variable $\tilde{\theta}_2$. The convergence $y^R \to 0$ may be ensured by imposing the following differential equation:

$$ \frac{dy^R}{ds} = -K_R y^R \quad (11) $$

with $K_R$ a positive scalar defining a settling distance for the exponential convergence of $y^R$ to zero imposed by (11). By injecting the expression (2) for the derivative of the rear lateral deviation into (11), and using the definition of $\tilde{\theta}_2$, it can be obtained that:

$$ \delta_R = \arctan \left( \frac{-K_R y^R}{1-c(s)y^R} \right) - \tilde{\theta} - \hat{\beta}_R \quad (12) $$

Expression (12) constitutes the control law on the rear steering angle. It ensures that the lateral deviation $y^R$ satisfies differential equation (11), implying its convergence to zero.

## 4.2 Front steering angle

Once the rear steering angle is controlled according to expression (12), the subsequent objective is to design a control law for the front steering angle in order that the front point (denoted F in Figure 1) converges to the desired trajectory $\Gamma$. In other words, the objective is to ensure the convergence of the front lateral deviation to zero: $y^F \to 0$. The evolution of this variable is related to the front steering angle $\delta_F$ by equation (7), through the intermediate variable $\lambda_1$. As previously, the convergence $y^F \to 0$ may be ensured by imposing the following differential equation:

$$ \frac{dy^F}{ds} = -K_F y^F \quad (13) $$
with $K_F$ a positive scalar defining a settling distance for the exponential convergence of $y^F$ to zero imposed by (13). By injecting the expression (7) for the derivative of the front lateral deviation into (13), and using the definition of $\lambda_1$, it can be obtained that:

$$ \delta_F = \arctan \left( \frac{L \lambda_2}{\cos(\delta_R + \hat{\beta}_R)} - \frac{K_F y^F \cos \tilde{\theta}_2}{(1-c(s)y^R) \cos(\delta_R + \hat{\beta}_R) \cos \tilde{\theta}} - \frac{\sin \tilde{\theta}_2}{\cos(\delta_R + \hat{\beta}_R) \cos \tilde{\theta}} + \tan(\delta_R + \hat{\beta}_R) \right) - \hat{\beta}_F \quad (14) $$

All the variables in expression (14) are known: the rear steering angle $\delta_R$ is computed from (12) and the sideslip angles $\hat{\beta}_F$ and $\hat{\beta}_R$ are estimated on-line from observer (9). Therefore expression (14) can serve as the control law for the front steering angle. It is properly defined provided that $\delta_R + \hat{\beta}_R \neq \frac{\pi}{2} [\pi]$ and $\tilde{\theta} \neq \frac{\pi}{2} [\pi]$. Since the range of the steering angles is mechanically limited and the sideslip angles never approach large values, the first condition is always satisfied. Next, if the robot is properly initialized and the steering laws properly tuned, the robot never heads perpendicularly to the reference trajectory, so the second condition is also satisfied. Expression (14) can therefore be used without any restriction and ensures that the lateral deviation $y^F$ satisfies differential equation (13), implying its convergence to zero.

## 4.3 Curvature anticipation

Control performances may however be depreciated when the robot moves at high speed, since the delay induced by the steering actuator has not been taken into account within model (1). Specifically, overshoots may transiently be recorded when the curvature of the reference path presents fast variations. This difficulty has been addressed in [9] by adding a predictive layer onto the front steering control law. The same approach can be considered in the framework of this paper. The idea is to take advantage of the knowledge of the trajectory to be followed in order to anticipate curvature variations.

The reference path curvature $c(s)$ appears twice within the front steering control law (14). The term $(1-c(s)y^R)$ is not crucial: when the robot converges to the reference trajectory ($y^R \to 0$), its influence vanishes $(1-c(s)y^R \to 1)$. The path curvature $c(s)$ appears also within the term $\lambda_2$. This term is essential, since it is the preponderant one when the robot has converged to the reference trajectory: if the robot tracks the path $\Gamma$ ($y^R$ and $y^F$ stay equal to 0), then $\tilde{\theta}_2 = 0$ (in view of the second line in model (1)) and injecting these 3 null values into control law (14) leads to:

$$ \delta_F = \arctan \left( \frac{L \lambda_2(c(s))}{\cos(\delta_R + \hat{\beta}_R)} + \tan(\delta_R + \hat{\beta}_R) \right) - \hat{\beta}_F \quad (15) $$

or, if $\lambda_2(c(s))$ is replaced by its expression when $y^R = y^F = \tilde{\theta}_2 = 0$:

$$ \delta_F = \arctan \left( \frac{L c(s)}{\cos(\delta_R + \hat{\beta}_R)} + \tan(\delta_R + \hat{\beta}_R) \right) - \hat{\beta}_F \quad (16) $$

In other words, in order for the robot to go on tracking the reference trajectory, its radius of curvature must be equal to the radius of curvature of this trajectory. In view of (15), the term $\lambda_2(c(s))$ is instrumental to steer appropriately the front axle so that this condition is met.
When the curvature of the reference trajectory is fast varying, the desired value (15) for the front steering angle cannot be applied instantaneously due to the delay in steering actuation. As a consequence, the robot slightly drifts from the trajectory and an overshoot is recorded. In order to reduce this effect, the curvature of the reference trajectory must be anticipated to compensate for the steering delay, denoted $T_s$. Since a prediction of the curvilinear abscissa covered by the robot during the settling time of the steering actuator is:

$$s_H = v T_s \qquad (17)$$

the term $c(s)$ has to be substituted with $c(s + s_H)$ within the expression of $\lambda_2(c(s))$, leading to the following predictive expression for the front steering control law:

$$\delta_F^{\text{Pred}} = \arctan \left( \frac{L \lambda_2(c(s+s_H))}{\cos(\delta_R + \hat{\beta}_R)} - \frac{K_F y^F \cos \hat{\theta}_2}{(1-c(s)y^R) \cos(\delta_R + \hat{\beta}_R) \cos \hat{\theta}} - \frac{\sin \hat{\theta}_2}{\cos(\delta_R + \hat{\beta}_R) \cos \hat{\theta}} + \tan(\delta_R + \hat{\beta}_R) \right) - \hat{\beta}_F \qquad (18)$$

This anticipation has also an action on the control of the rear steering angle: the front steering angle acts directly on the robot orientation $\tilde{\theta}$. The anticipation introduced in the front steering control law reflects therefore on the evolution of the robot orientation, so that in view of (12) the rear steering control law is also somehow anticipated.

## 5 Prevention of steering angle saturations

On an actual robot, the mechanical design may limit the steering angles: $|\delta_{\{F,R\}}| < \delta_{Sat}$. The proposed control laws do not take into account this constraint and may then send values leading to saturation for rear and front steering angles. One situation is especially critical: when both steering angles are saturated with the same sign. As it is highlighted in Figure 2, the robot moves then crabwise ($\delta_R = \delta_F = \delta_{Sat}$ or $\delta_R = \delta_F = -\delta_{Sat}$): it has lost its ability to turn and keeps on drifting away from the reference trajectory. This constitutes a failure, since the robot may not reach the trajectory $\Gamma$ anymore. The other situations (only one steering angle is saturated or both of them are saturated, but with opposite signs) are less harmful: a transient error will be recorded, but since the robot can still turn ($\delta_R \neq \delta_F$), the robot angular deviation with respect to the reference trajectory can decrease, so that eventually the values delivered by the steering control laws are expected to return within the authorized range ($|\delta_R| < \delta_{Sat}$ and $|\delta_F| < \delta_{Sat}$) and ensure again the convergence of the robot to the reference trajectory.

In order to avoid the situation depicted in Figure 2, a first possibility may consist in imposing a saturation value for the rear angle lower than for the front steering angle: the ability of the robot to turn when both steering angles are saturated is then preserved, but it is not an optimal solution since the robot turning capability is reduced (the full range of the rear steering angle values is not used). In order to restrict as little as possible the robot turning capability, it has been preferred here to reduce the rear steering angle only when a saturation with the same sign occurs for the front steering angle. Specifically, if $\delta_R$ and $\delta_F$ are the rear and front steering angle values computed from the rear and front steering law (12) and (18), it is proposed to substitute $\delta_R$ with $\delta'_R$ defined as follows:

$$\left\{ \begin{array}{ll} \delta'_R = \delta_R & \text{if } |\delta_F| < \delta_{Sat} \\ \delta'_R = \delta_R - \text{sign}(\delta_F)(|\delta_F| - \delta_{Sat}) & \text{otherwise} \end{array} \right. \qquad (19)$$
<figure><img src="image_3.png" /><figcaption>Fig. 2. Robot experiencing a failing test due to steering saturation</figcaption></figure>

Rear steering law (19) guarantees that the failure situation shown in Figure 2 can no longer occur: if $|\delta_F| = \delta_{Sat}$, then $|\delta'_R| < |\delta_F|$, so that the robot can still turn and converge back to the reference trajectory. The rear lateral deviation $y^R$ is temporarily not controlled when $|\delta_F| = \delta_{Sat}$, but as soon as $|\delta_F| < \delta_{Sat}$, convergence is restarted (since then $\delta'_R = \delta_R$).

# 6 Experimental results

## 6.1 Experimental setup

Two four-wheel drive robots, depicted in Figure 3, are used in order to highlight the performances of the proposed approach. They are fully electric and equipped with four independent motors controlling the wheel speeds and additional motors controlling the front and rear steering angles. Their main properties are listed in Table 1.

<table><caption>Table 1. Main properties for each robot used in experiments</caption><thead><tr><th></th><th>Adap2E</th><th>RobuFAST</th></tr></thead><tbody><tr><td>Mass (kg)</td><td>650</td><td>525</td></tr><tr><td>Wheelbase (m)</td><td>1.38</td><td>1.2</td></tr><tr><td>Track (m)</td><td>0.7</td><td>1.22</td></tr><tr><td>Steering angle saturation (°)</td><td>45</td><td>22</td></tr><tr><td>Steering angle settling time (s)</td><td>0.750</td><td>0.270</td></tr></tbody></table>

One of the main differences in these robots lies in the steering properties: the saturation threshold is much higher for Adap2E, when the steering angle settling time leads RobuFAST to be the most reactive. As it is shown in Figure 3, the main on-boarded
sensor is an RTK-GPS settled at the vertical of the rear axle (above the point *R* depicted in Figure 1). It supplies a position accurate to within ±2cm, while the heading is computed thanks to a Kalman filter mixing the GPS heading data and the robot odometry. Connected to the reference path, these data permit to feed both the observer and the control laws (18) and (19).

<figure><img src="image_4.png" /><figcaption>**Fig. 3.** Experimental robots and on-boarded sensors</figcaption></figure>

## 6.2 Maneuverability improvement and tracking accuracy

**With high saturation threshold** The first set of tests consists in the tracking of the trajectory depicted in black line in Figure 4 with Adap2E robot. The reference path is composed of a straight line part at the beginning, followed by two successive curves with an important curvature and the robot speed is 1m/s.

<figure><img src="image_5.png" /><figcaption>**Fig. 4.** Ref. path (black), robot traj. with front steering (red) or front and rear steering (blue)</figcaption></figure>

In order to show the efficiency of the proposed control algorithms, the autonomous tracking of this path is first realized using only the front steering axle, namely with the
previous adaptive and predictive control law proposed in [9]. The trajectory obtained for the middle of the rear axle (point *R*) is depicted in red in Figure 4. A second tracking is then achieved using the proposed control laws (18) and (19) for the front and rear steering angles. The results of this test are reported in blue line. One can see in Figure 4 that in both cases the successive positions of the point *R* are almost superimposed with the reference trajectory. Such a result is logical, since both control strategies have been tuned in a similar way (same settling distance equal to 10*m*) and the high saturation limit is not reached during the tests.

The main difference is revealed when considering the lateral errors reported in Figure 5. One can see in this figure that the tracking errors $y^R$ recorded in the two tests are quite similar. They indeed converge to zero and stay within few centimeters despite the harsh curves (between abscissas 15*m*-25*m* and 40*m*-50*m*) and the terrain modification (gravel below 20*m* and grass after). On the contrary, front lateral deviations $y^F$ are quite different. When controlling only the front steering angle (plain red line), one can indeed check that important deviations may be recorded during the curves (up to 50*cm*), since the robot has an important wheelbase. In contrast, the control of both front and rear steering angles proposed in this paper permits to servo properly the front lateral deviation to zero. As a result, $y^F$ and $y^R$ present about the same accuracy. The front and the rear axles are then both superimposed with the reference trajectory, allowing to reduce the space occupied by the robot.

<figure><img src="image_6.png" /><figcaption>**Fig. 5.** Adapt2E robot: comparison of tracking errors with and without the use of rear steering</figcaption></figure>

This reference path is achievable by the Adapt2E robot, even when only the front steering angle is controlled. Therefore, the proposed control laws do not improve the tracking error. This is not the case when the robot has a lower saturation limit.

**With low saturation threshold** To highlight the improvement in maneuverability, a similar trajectory, depicted in Figure 6, is tracked with RobuFAST robot, which has a much lower steering saturation. The robot velocity is 2*m*/s. As previously, two successive trackings have been achieved: one using only the front steering angle and a second one using the proposed approach.

This robot cannot reach the radius of curvature imposed by the reference trajectory if only the front angle is steered (limited to an angle of 20°). As a result, the front steering angle saturates and the robot cannot follow the trajectory properly, as it can be observed in red in Figure 6. On the contrary, when using the front and rear steering
<figure><img src="image_7.png" /><figcaption>**Fig. 6.** Ref. path (black), robot traj. with front steering (red) or front and rear steering (blue)</figcaption></figure>

control strategy proposed in this paper, the robot is able to track accurately the trajec-
tory: the successive positions when using control laws (18) and (19), reported in blue in
Figure 6, are superimposed with the reference trajectory.

<figure><img src="image_8.png" /><figcaption>Fig. 7. RobuFast robot: comparison of tracking errors with and without the use of rear steering</figcaption></figure>

The tracking accuracy obtained with and without the use of the rear steering an-
gle can be investigated in Figure 7. The red dashed line depicts the tracking error ob-
tained when controlling only the front steering axle. The large errors obtained during
the curves (between abscissas 15-25m and 30-42m) are due to the saturation of the front
steering axle, as shown in Figure 8: the front steering angle recorded when controlling
the robot only with the front steering wheels is reported in dashed red line and it can
be noticed that the saturation value δSat = 20° is reached during the two curved parts.
On the contrary, when using the front and rear steering wheels, the front steering angle
 depicted in green dotted line. The robot can then stay on the reference trajectory (lateral
deviation stays around zero), whatever the curvature of this trajectory and the type of
the ground (alternatively gravel and wet grass): the tracking error is shown in blue plain
line in Figure 7 and stays within ±10cm.

<figure><img src="image_9.png" /><figcaption>Fig. 8. RobuFast robot: comparison of front steering angles, and rear steering angle (when used)</figcaption></figure>

One can also check that both lateral deviations are properly servoed around zero.
This fact is highlighted in Figure 9, where the reference trajectory is depicted in black
line and the trajectories of the front and rear axles (points *F* and *R*) are depicted in green
dotted line and blue dotted line respectively. One can see that each point of the robot (*F*
and *R*) follows accurately the reference trajectory, when in contrast a deviation of point
*F* is observed when only the front axle is steered. The robot turning capability has been
increased and this permits to reduce the necessary space to achieve harsh maneuvers.
Moreover, with the proposed control strategy, the robot is able to reach the trajectory
without creating a transient angular deviation: as it can be observed in Figure 8, the
front and rear steering angles rotate in the same direction during initialization phase,
which means that the initial lateral deviation is canceled via a crabwise motion.

In order to assess the accuracy obtained during the tracking, Table 2 shows the
statistical data related to the absolute value of the lateral deviations, namely the mean
and the standard deviation of the absolute value of the errors recorded at points *R* and
*F* (*y*<sup>*R*</sup> and *y*<sup>*F*</sup>) in the two experiments. When using the proposed control strategy, it
can be noticed that the means and the standard deviations are very close to zero (a few
centimeters accuracy), despite the high curvature of the reference path. On the contrary,
since saturations occur when only front steering is used, large deviations are recorded,
leading to a poor accuracy: the mean value at the front steering point is equal to 32*cm*. At
the rear steering point, since *R* is the only point to be explicitly controlled with the front
steering law, the mean value is logically lower (22*cm*), but also quite unsatisfactory.

Eventually, when using the proposed control laws (18) and (19), it can be noticed
that the front lateral deviation *y*^F is a little bit less accurate than the rear one *y*^R (7cm
against 4cm), which is consistent with the small deviations of the point *F* that can be
noticed in Figure 9. This is a consequence of the fact that the front steering law (18)
depends on the rear steering angle δ_R: when the rear steering law (19) imposes fast
<figure><img src="image_10.png" /><figcaption>**Fig. 9.** RobuFast robot: ref. path (black), front axle position (green) and rear axle position (blue)</figcaption></figure>

<table><caption>**Table 2.** Comparison of the absolute values of the lateral deviations recorded during tracking [8]</caption><thead><tr><th rowspan="2"></th><th colspan="2">2 steering angles</th><th colspan="2">1 steering angle</th></tr><tr><th>|y<sup>R</sup>|</th><th>|y<sup>F</sup>|</th><th>|y<sup>R</sup>|</th><th>|y<sup>F</sup>|</th></tr></thead><tbody><tr><th>mean (m)</th><td>0.04</td><td>0.07</td><td>0.22</td><td>0.32</td></tr><tr><th>standard deviation (m)</th><td>0.03</td><td>0.05</td><td>0.19</td><td>0.27</td></tr></tbody></table>

variations to the rear steering angle $\delta_R$, a settling time is mandatory for the front axle to compensate for these variations. As a result, the evolution of point F presents some punctual overshoots.

## 6.3 Prevention of steering saturation

As it has been pointed out in Section 5, a bi-steering control strategy may lead to failure situations if both steering wheels saturate with the same sign. The modified control law (19) permits to avoid these failures, but it may depreciate the tracking accuracy. In order to investigate this point, a third experiment is proposed using the RobuFast robot (since this robot has the lowest saturation limit). The reference trajectory is shown in black line in Figure 10. It is composed of a first straight line, a harsh curve on the right, a long straight line on a lateral slope (as pointed out on the right part in Figure 10), and finally a harsh curve on the left. Two tracking have been achieved at 2m/s. A first one with only front steering, leading to the trajectory depicted in red. A second one with the proposed control laws, leading to the trajectory depicted in blue.

One can notice an overshoot during the first curve with both control strategies: the curvature of the reference trajectory is so high that this path is not achievable, even when the two steering angles are used. If the modification proposed in Section 5 for the rear steering law is not used (i.e. rear steering law (12) is used instead of (19)),
<figure><img src="image_11.png" /><figcaption>**Fig. 10.** Ref. path (black), robot traj. with front steering (red) or front and rear steering (blue)</figcaption></figure>

then a failure occurs, the robot is not able to follow the trajectory. The modified rear steering law (19) permits to avoid failure: the stability of the bi-steering approach is preserved and the robot is this time able to converge back to the trajectory and track it during the slope and the second turn. Figure 11 compares the front and the rear lateral errors ($y^F$ and $y^R$) obtained during the two tests. One can see that the tracking errors are quite comparable during the overshoot (between abscissas 10m and 20m): even if the tracking accuracy is reduced with control law (19), the error stays comparable with the one obtained with only front steering. One can also see that, thanks to rear steering, the errors are much more stable, since the angular error stays close to zero. In contrast, when the robot is controlled with only the front steering angle, one can see some small oscillations, because of the crabwise angle mandatory to compensate for sideslip angles.

<figure><img src="image_12.png" /><figcaption>**Fig. 11.** Comparison of tracking errors with and without the use of the rear steering angle</figcaption></figure>

The front and rear steering angles are reported in Figure 12 in order to illustrate the procedure used to deal with steering saturation. The saturation of the front steering angle (in black line) can clearly be observed between abscissas 10m and 20m. As a result, the quantity $\delta_e = \text{sign}(\delta_F)(|\delta_F| - \delta_{Sat})$ becomes non-null and then reaches significant values from the abscissa 13m: as a consequence, the rear steering angle (in red line) is drastically decreased. This permits to keep the robot turning and the saturation of the front steering angle then stops at 20m.

At the end of the trajectory, one can see an oscillating behavior due to a loss of accuracy in the RTK-GPS signal, since the robot goes under a tree during the second bend (at abscissa 80m). Nevertheless, the action of the rear steering angle stabilizes the
<figure><img src="image_13.png" /><figcaption>Fig. 12. Comparison of the front and rear steering angles</figcaption></figure>

angular deviation, so that the tracking accuracy is eventually preserved. This is not the case when the robot is controlled with only the front steering angle: oscillations are increased, as it can be observed in Figure 11.

Excepted when the steering angles are saturated, where the robot cannot physically reach the reference path, a high accurate tracking is achieved with the proposed control strategy. The means and standard deviations of the absolute errors are reported in Table 3. One can see the advantage of controlling the rear axle, not only with respect to the front lateral error $y^F$, but also with respect to the tracking error $y^R$, since rear steering offers a stabilizing effect.

<table><caption>Table 3. Comparison of the absolute value of the lateral deviations recorded during the tracking</caption><thead><tr><th rowspan="2"></th><th colspan="2">2 steering angles</th><th colspan="2">1 steering angle</th></tr><tr><th>|y<sup>R</sup>|</th><th>|y<sup>F</sup>|</th><th>|y<sup>R</sup>|</th><th>|y<sup>F</sup>|</th></tr></thead><tbody><tr><td>mean (m)</td><td>0.06</td><td>0.06</td><td>0.08</td><td>0.19</td></tr><tr><td>standard deviation (m)</td><td>0.06</td><td>0.07</td><td>0.07</td><td>0.27</td></tr></tbody></table>

## 7 CONCLUSION

In this paper, a new control algorithm dedicated to path tracking for four-wheel drive mobile robots is proposed. The two axles of such robots are considered as two separate subsystems, with their own servoing tasks. The rear steering angle is devoted to the convergence of the middle of the rear axle to the trajectory (i.e. convergence of the tracking error to zero). Next, considering this rear steering angle as a known parameter, the front steering angle is computed so that a front lateral deviation (the distance between the middle of the robot front axle and the trajectory) also converges to zero. The link between front and rear subsystems is ensured when deriving the front steering control law. An adaptive approach is then developed in order to face the potential influence of bad grip conditions, since this work is devoted to off-road applications, such as in civil security or in agriculture, where high maneuverability is an important feature. In addition,
a predictive layer, allowing to compensate for actuator delays has been introduced. Fi-
nally, a practical solution to the problem of steering saturation, which may occur when
considering actual trajectory control of two-wheel steered robots, is proposed. This so-
lution consists in injecting the difference between the desired and the maximum values
of the front steering angle to the value computed for the rear one. This actually permits
to avoid lock-up and preserve the path tracking stability without generating important
deviations.

Experimental results with several robots and in different conditions are proposed in this paper. They permit to highlight the different contributions and explore several conditions which can be encountered in actual applications. Future works are focused on the increase of the robot speed. At higher speeds, the extended kinematic model may be insufficient to describe the robot dynamics, while dynamical models may introduce parameters difficult to estimate. As a result, mixed kinematic-dynamic models may appear as an attractive alternative. They should permit to propose a control strategy improving the maneuverability of bi-steerable robots, at high speed and in off-road conditions.

8 Acknowledgment

This work has been sponsored by the French government research program “Investissements d’Avenir” through the IMobS3 Laboratory of Excellence (ANR-10-LABX-16-01), by the European Union through the program “Regional competitiveness and employment 2007-2013” (ERDF Auvergne region), and by the Auvergne region.

It received the support of French National Research Agency under the grant number
ANR-14-CE27-0004 attributed to Adap2E project (adap2e.irstea.fr) and has also been
sponsored through the RobotEx Equipment of Excellence (ANR-10-EQPX-44). We
thank them for their financial support.

*Notes and Comments.* This paper constitutes an extension of the original control algo-
rithms proposed in [8], where the robot model was expressed with respect to time, so
that control performances were dependent on the robot velocity. In this paper, models
are expressed with respect to the curvilinear abscissa covered by the robot, so that con-
trol performances are henceforth described as settling distances and are independent
from robot velocity. Furthermore, this paper proposes an anticipation layer to improve
the robustness of the path tracking with respect to actuator delays and the rear steer-
ing law has been modified to avoid lock-up situations occurring when a saturation is
present at the front steering angle. Experiments have also been enhanced to highlight
the generality of the approach with respect to the robot configuration and the diversity
of the situations encountered in targeted applications.

References

1. Jürgen Ackermann. Robust decoupling, ideal steering dynamics and yaw stabilization of 4WS cars. *Automatica*, 30(11):1761–1768, 1994.

2. Rusty Anderson and David M. Bevly. Estimation of tire cornering stiffness using GPS to improve model based estimation of vehicle states. In *IEEE Intelligent Vehicles Symposium (IV)*, pages 801–806, Las Vegas (U.S.A.), 2005.
3. Simon Blackmore. Towards robotic agriculture. In *SPIE Conference Autonomous Air and Ground Sensing Systems for Agricultural Optimization and Phenotyping*, volume 9866, page 986603, Baltimore (U.S.A.), 2016.

4. Guy Campion, Georges Bastin, and Brigitte d'Andréa-Novel. Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. In *IEEE Transactions on Robotics and Automation*, 12(1):47–62, 1996.

5. Carlos Canudas de Wit, Panagiotis Tsiotras, Xavier Claeys, Jingang Yi, and Roberto Horowitz. Friction tire/road modeling, estimation and optimal braking control. In *Non-linear and Hybrid Systems in Automotive Control, Lecture Notes in Control and Information Science (Springer)*, pages 125–146, 2003.

6. Christophe Cariou, Roland Lenain, Benoit Thuilot, and Michel Berducat. Automatic guidance of a four-wheel-steering mobile robot for accurate field operations. *Journal of Field Robotics*, 26(6-7):504–518, 2009.

7. Stéphanie Lefèvre, Ashwin Carvalho, and Francesco Borrelli. Autonomous Car Following: A Learning-Based Approach. In *IEEE Intelligent Vehicles Symposium (IV)*, pages 920–926, Seoul (Korea), 2015.

8. Roland Lenain, Ange Nizard, Mathieu Deremetz, Benoit Thuilot, Vianney Papot, and Christophe Cariou. Path tracking of a bi-steerable mobile robot: An adaptive off-road multi-control law strategy. In *International Conference on Informatics in Control, Automation and Robotics (ICINCO)*, pages 109–114, Porto (Portugal), 2018.

9. Roland Lenain, Benoit Thuilot, Audrey Guillet, and Bernard Benet. Accurate target tracking control for a mobile robot: a robust adaptive approach for off-road motion. In *IEEE International Conference on Robotics and Automation (ICRA)*, pages 2652–2657, Hong Kong (China), 2014.

10. Eric Lucet and Alain Micaelli. State and parameters observation for accurate off-road navigation of wheeled mobile robots. In *IEEE International Workshop on Advanced Robotics and its Social Impacts (ARSO)*, pages 1–6, Lyon (France), 2015.

11. Pascal Morin and Claude Samson. Practical stabilization of a class of nonlinear systems. Application to chain systems and mobile robots. In *IEEE Conference on Decision and Control (CDC)*, pages 2989–2994, Sydney (Australia), 2000.

12. Shou-Tao Peng, Jer-Jia Sheu, and Chau-Chin Chang. A control scheme for automatic path tracking of vehicles subject to wheel slip constraint. In *IEEE American Control Conference (ACC)*, pages 804–809, Boston (U.S.A.), 2004.

13. Pongsathorn Raksincharoensak, Masaya Nagai, and Hideaki Mouri. Investigation of automatic path tracking control using four-wheel steering vehicle. In *IEEE International Vehicle Electronics Conference (IVEC)*, pages 73–77, Tottori (Japan), 2001.

14. Steffen Wagner, Thomas Weiskircher, Dieter Ammon, and Günther Prokop. Pivot point-based control for active rear-wheel steering in passenger vehicles. *Vehicle system dynamics*, 56(8):1139–1161, 2018.

15. Jingang Yi, Hongpeng Wang, Junjie Zhang, Dezhen Song, Suhada Jayasuriya, and Jingtai Liu. Kinematic modeling and analysis of skid-steered mobile robots with applications to low-cost inertial-measurement-unit-based motion estimation. *IEEE Transactions on Robotics*, 25(5):1087–1097, 2009.