# Safety-Control of Mobile Robots Under Time-Delay Using Barrier Certificates
and a Two-Layer Predictor

Azad Ghaffari and Manavendra Desai The authors are with the Department of
Mechanical Engineering, Wayne State University, MI 48202, USA,
<EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

Performing swift and agile maneuvers is essential for the safe operation of
autonomous mobile robots. Moreover, the presence of time-delay restricts the
response time of the system and hinders the safety performance. Thus, this
paper proposes a modular and scalable safety-control design that utilizes the
Smith predictor and barrier certificates to safely and consistently avoid
obstacles with different footprints. The proposed solution includes a two-
layer predictor to compensate for the time-delay in the servo-system and angle
control loops. The proposed predictor configuration dramatically improves the
transient performance and reduces response time. Barrier certificates are used
to determine the safe range of the robot’s heading angle to avoid collisions.
The proposed obstacle avoidance technique conveniently integrates with various
trajectory tracking algorithms, which enhances design flexibility. The angle
condition is adaptively calculated and corrects the robot’s heading angle and
angular velocity. Also, the proposed method accommodates multiple obstacles
and decouples the control structure from the obstacles’ shape, count, and
distribution. The control structure has only eight tunable parameters
facilitating control calibration and tuning in large systems of mobile robots.
Extensive experimental results verify the effectiveness of the proposed
safety-control.

##  I Introduction

Obstacle avoidance has become an integral part of nonholonomic mobile robots,
self-driving cars, unmanned aerial vehicles, and surface vehicles [1, 2, 3, 4,
5]. Prominent methods include potential field [6, 7], collision cone [8, 9],
path planning [10, 11], receding horizon control [12, 13, 14], and fuzzy
neural networks [15]. Recently, barrier certificates and control barrier
functions have gained attention to design safety-controllers [16, 17, 18, 19].

However, analytical and numerical complexity restricts the practicality and
scalability of existing safety methods for large-scale applications. For
example, methods based on potential fields and barrier functions tie the
safety-control law to the shape of the functions that model the obstacles. On
the other hand, methods based on receding horizon optimization are numerically
demanding. Thus, when the number of obstacles increases, one faces the
cumbersome task of obstacle modeling and control implementation, which rapidly
depletes processing resources. Also, simultaneous proof of stability and
safety becomes an involved task.

Furthermore, time-delay in mobile robots causes long transients in trajectory
tracking and delayed avoidance maneuvers which may cause collisions. In the
presence of time-delay, any attempt to achieve fast transient by implementing
high-gain controls often leads to oscillatory responses and instability.
Hence, advanced techniques such as receding horizon optimal control [14],
nonlinear predictor-based control [20], adaptive sliding mode control [21],
and nonlinear tracking algorithm [22] have been proposed to compensate time-
delay for nonholonomic mobile robots.

Moreover, the Smith predictor is effective for time-delay compensation in
linear time-invariant systems [23, 24, 25]. The nonholonomic mobile robot
investigated in this work comprises DC motors and linear gear-boxes. Also, the
wheel slip is negligible. Thus, one can accurately model the servo-system and
heading angle using linear differential equations. Hence, a two-layer
predictor, comprising three independent Smith predictors, is proposed to
compensate for time-delay. First, the time-delay is compensated in the servo-
system loops, which transfers the time-delay into the heading angle control.
Second, another Smith predictor is embedded in the heading angle control to
compensate for the transferred time-delay in steering the mobile robot.

Modular safety-control using barrier certificates has been proven effective to
enforce safety nets around unmanned aerial vehicles [26, 27]. Here, collision
avoidance for mobile robots with time-delay is addressed such that control
scalability is also achieved. Thus, the implementation and calibration effort
remains minimal regardless of the number of robots and obstacles. Design
objectives include high precision trajectory tracking, obstacle avoidance, and
control scalability. Thus, a modular control structure is proposed. First, the
two-layer predictor compensates time-delay and guarantees a desirable
transient performance. The proposed predictor comprises an inner loop for the
servo-system and an outer loop for angle tracking. Trajectory tracking is
based on the vector-field-orientation (VFO) control, which guarantees accurate
tracking by modifying the linear speed and heading angle [28].

The safety-control is achieved by calculating the safe range of the heading
angle using an exponential barrier certificate. Multiple obstacles with
different shapes and arrangements can be modeled as a barrier certificate. The
number and distribution of the obstacles only affect the barrier certificate’s
equation, and the rest of the algorithm remains unchanged. Each obstacle has
an avoidance region with a tunable radius. The safety-control pushes the robot
away from the avoidance region as soon as the actual heading angle projects a
collision with the obstacle. The safety condition provides an inequality that
ties the position, safe heading angle, and translational velocity of the robot
to the obstacle’s location and avoidance radius. The proposed safety algorithm
provides a dynamic estimate of the safe heading angle. Moreover, when the
robot is far enough from the obstacle, the safety algorithm is inactive.

The proposed modular safety-control dramatically improves control scalability
by utilizing linear control components, Smith predictor, and safe heading
angle estimate. Regardless of the number, shape, and distribution of the
obstacles or the reference trajectory, the proposed algorithm maintains safe
trajectory tracking for the nonholonomic mobile robot. Also, the algorithm’s
analytical complexity and needed processing power are independent of the
number of obstacles. The proposed design is flexible and easy to tune and
calibrate. Therefore, improved scalability is a byproduct of the proposed
algorithm.

This paper is built upon the work by Ghaffari [29]. This work presents three
main contributions: 1) the two-layer predictor to compensate time-delay, 2)
embedded modular safety-control structure, and 3) extensive experimental
results to verify the effectiveness of the proposed algorithm when facing
obstacles of different size and shape. Tracking accuracy is achieved as high
as 98%, and the response time is improved by a factor of four. Hence, unlike
the preliminary work [29], this paper does not utilize the contour error
estimate and feedback modification to improve trajectory tracking precision.
The two-layer predictor and the experimental results are reported here for the
first time.

The rest of this paper is presented in the following order. Dynamic model and
trajectory tracking using the VFO algorithm is explained in Section II. The
two-layer predictor is described in Section III. The safety-control and
allowable heading angle are presented in Section IV. Section V presents
experimental results to verify and validate the effectiveness of the proposed
method. Section VI concludes the paper.

##  II Dynamic Model and Trajectory Tracking

The nonholonomic mobile robot is driven by a differential-drive system
comprised of two identical electric wheels. Fig. 1 shows the schematic of the
robot and inertial and body-fixed reference frames. The body-fixed reference
frame is attached to the robot at the center of mass. The heading angle is
$\theta$, and is measured with respect to the $x$-axis. The kinematic
equations of the robot are given as

$\displaystyle\dot{x}$ $\displaystyle=$ $\displaystyle v\cos\theta$ (1)
$\displaystyle\dot{y}$ $\displaystyle=$ $\displaystyle v\sin\theta$ (2)
$\displaystyle\dot{\theta}$ $\displaystyle=$ $\displaystyle\omega,$ (3)

where $[x~{}~{}y]^{T}$ is the robot’s position in the inertial reference
frame, $\theta$ is the heading angle, $v$ is linear velocity, and $\omega$ is
angular velocity.

Figure 1: A schematic of a nonholonomic mobile robot in an inertial reference
frame $x$-$y$. The body-fixed reference frame is $x_{b}$-$y_{b}$ and $\theta$
is the heading angle.

The force and torque generated by the electric wheels control the linear and
angular velocity of the robot, respectively. Assume that the effect of
friction and wheel slip on the dynamic model is negligible, and the left and
right wheel’s movements do not affect each other. Thus, one can decouple the
dynamic equation of the left and right wheels. Since the mobile robot is
symmetric with identical left and right wheels and motors, it is reasonable to
assume that both wheels have the same dynamic equation given as

$\displaystyle\frac{V_{i}(s)}{U_{i}(s)}$ $\displaystyle=$ $\displaystyle
G(s)\mathrm{e}^{-\tau s}$ (4)

where $G(s)$ is the a transfer function, $\tau$ is the constant time-delay,
$V_{i}(s)={\mathcal{L}}(v_{i})$, and $U_{i}(s)={\mathcal{L}}(u_{i})$, where
${\mathcal{L}}$ denotes the Laplace transform. The wheel linear velocity is
$v_{i}$ and the wheel voltage is $u_{i}$, where $i=R,L$ for the right and left
wheel, respectively. The voltage of the electric wheels are bounded as
$|u_{i}|\leq u_{\text{max}}$ for $i=R,L$, where $u_{\text{max}}$ is a positive
constant. The robot’s linear and angular velocity are related to the wheels’
velocity through the following equations

$\displaystyle v$ $\displaystyle=$ $\displaystyle\big{(}v_{R}+v_{L}\big{)}/2$
(5) $\displaystyle\omega$ $\displaystyle=$
$\displaystyle\big{(}v_{R}-v_{L}\big{)}/d,$ (6)

where $d$ is the distance between the center of the wheels. Therefore, the
equations of linear and angular velocity can be written as the following

$\displaystyle\frac{V(s)}{W_{i}(s)}$ $\displaystyle=$ $\displaystyle
G(s)\mathrm{e}^{-\tau s},$ (7)

where $V(s)={\mathcal{L}}(v)$, $\Omega(s)=\mathcal{L}(\omega)$,
$W_{i}(s)={\mathcal{L}}(w_{i})$ for $i=v,\omega$, where

$\displaystyle w_{v}$ $\displaystyle=$
$\displaystyle\big{(}u_{R}+u_{L}\big{)}/2$ (8) $\displaystyle w_{\omega}$
$\displaystyle=$ $\displaystyle\big{(}u_{R}-u_{L}\big{)}/d.$ (9)

The vector-field-orientation (VFO) method proposed by Michalek and Kozlowski
[28] is utilized to determine adjusted linear and angular velocities, $v_{a}$
and $\omega_{a}$, for the servo-system (inner loop) of the mobile robot. Given
the instantaneous position $[x~{}~{}y]^{T}$ and heading angle $\theta$ of the
mobile robot, the essence of the VFO lies in orienting the mobile robot along
an adjusted direction $\theta_{a}$, and pushing it along this direction with
adjusted velocity $v_{a}$, to eventually reach the reference position
$[x_{r}~{}~{}y_{r}]^{T}$ with a reference orientation $\theta_{r}$. Thus, the
differential-drive nature of the mobile robot model is effectively reduced to
that of a unicycle.

The reference trajectory is constructed such that the nonholonomic condition
is satisfied

$\displaystyle\dot{x}_{r}$ $\displaystyle=$ $\displaystyle
v_{r}\cos\theta_{r}$ (10) $\displaystyle\dot{y}_{r}$ $\displaystyle=$
$\displaystyle v_{r}\sin\theta_{r}$ (11) $\displaystyle\dot{\theta}_{r}$
$\displaystyle=$ $\displaystyle\omega_{r}.$ (12)

The proper selection of $v_{r}$ and $\omega_{r}$ creates a variety of
reference trajectories. Also, this paper only considers forward movement.
Thus, $v_{r}$ is a positive real value. However, $\omega_{r}$ can take a
positive or negative real value. The VFO control is used for trajectory
tracking control. The algorithm calculates the adjusted linear velocity,
$v_{a}$, and heading angle, $\theta_{a}$, from the position error.

Denote the position error variables as $e_{x}(t)=x_{r}(t)-x(t)$ and
$e_{y}(t)=y_{r}(t)-y(t)$. The adjusted linear velocity and heading angle are
obtained as the following

$\displaystyle v_{a}(t)$ $\displaystyle=$ $\displaystyle
h_{x}(t)\cos\theta+h_{y}(t)\sin\theta$ (13) $\displaystyle\theta_{a}(t)$
$\displaystyle=$ $\displaystyle\text{atan2c}\big{(}h_{y}(t),h_{x}(t)\big{)},$
(14)

where

$\displaystyle h_{x}(t)$ $\displaystyle=$ $\displaystyle
ke_{x}(t)+\dot{x}_{r}(t)$ (15) $\displaystyle h_{y}(t)$ $\displaystyle=$
$\displaystyle ke_{y}(t)+\dot{y}_{r}(t),$ (16)

where $k>0$, and $h(t)=[h_{x}(t)~{}~{}h_{y}(t)]^{T}$ is the convergence vector
field, which can be interpreted as the desired linear velocity of the mobile
robot. Note that $q(\theta)=[\cos\theta~{}~{}\sin\theta]^{T}$ interprets the
instantaneous heading of the mobile robot. Thus, the adjusted linear velocity
$v_{a}(t)$ is defined as the projection of $h(t)$ on $q(\theta)$. This ensures
that the mobile robot is pushed only in proportion to the extent of
collinearity between $\theta$ and $\theta_{a}(t)$. Moreover, the function
$\text{atan2c}\left(a,b\right)$ is the four quadrant arctangent of $a$ and
$b$, which is implemented such that $\theta_{a}(t)$ provides a continuous and
differentiable curve and is not wrapped between $[-\pi,\pi]$. For more
information please see the work of Michalek and Kozlowski [28].

For situations where the time-delay is negligible, one can obtain the adjusted
angular velocity as the following

$\displaystyle\omega_{a}$ $\displaystyle=$ $\displaystyle
K_{P,\theta}e_{\theta}(t)+K_{I,\theta}\int_{0}^{t}e_{\theta}(\eta)\mathrm{d}\eta+\dot{\theta}_{a}(t),$
(17)

where $K_{P,\theta}>0$ and $k_{I,\theta}>0$ are control gains,
$e_{\theta}(t)=\theta_{a}(t)-\theta(t)$, and

$\dot{\theta}_{a}(t)=\frac{\dot{h}_{y}(t)h_{x}(t)-h_{y}(t)\dot{h}_{x}(t)}{h_{x}^{2}(t)+h_{y}^{2}(t)},$
(18)

where

$\displaystyle\dot{h}_{x}(t)$ $\displaystyle=$ $\displaystyle
k\Big{(}\dot{x}_{r}(t)-v_{a}\cos\theta\Big{)}+\ddot{x}_{r}(t)$ (19)
$\displaystyle\dot{h}_{y}(t)$ $\displaystyle=$ $\displaystyle
k\Big{(}\dot{y}_{r}(t)-v_{a}\sin\theta\Big{)}+\ddot{y}_{r}(t).$ (20)

The integral action is added to (17) to further reduce the tracking error in
steady-state. Using (5) and (6), the adjusted wheel velocity values for the
servo-system control loop are found using the following relationships

$\displaystyle v_{R,a}$ $\displaystyle=$ $\displaystyle
v_{a}+\frac{d}{2}\omega_{a}$ (21) $\displaystyle v_{L,a}$ $\displaystyle=$
$\displaystyle v_{a}-\frac{d}{2}\omega_{a}.$ (22)

Since the wheel voltage is limited, the obtained values of $v_{R,a}$ and
$v_{L,a}$ are scaled to avoid control saturation

$\displaystyle
v_{i,sc}=\left\\{\begin{array}[]{lcl}{v_{i,a}}/{\mu}&~{}~{}\text{if}{}{}&\mu>1\\\
v_{i,a}&~{}~{}\text{if}{}{}&\text{otherwise}\end{array}\right.,\quad i=R,L,$
(25)

where $\mu=\max\left(|u_{R}|,|u_{L}|\right)/{u_{\text{max}}}$, and $v_{i,sc}$
is the scaled wheel voltage, for $i=R,L$.

The success of the VFO heavily depends on the performance of the angle
tracking and servo-system. If the servo-system and angle tracking are not
enough fast and accurate, the VFO performance deteriorates, and the trajectory
tracking may fail. Since time-delay limits the system’s response time, one
needs to compensate for the effect of time-delay to achieve a desirable
trajectory tracking performance. Thus, the next section presents a two-layer
predictor that guarantees enough fast transient responses.

##  III Two-Layer Predictor

Figure 2: Block diagram of the proposed two-layer predictor. The innermost
loops (highlighted in red and yellow) compensate for the time-delay in the
servo-system, and the outer-loop (highlighted in green) compensates the
transferred time-delay to the heading angle control from the servo-system.

The robot is driven using DC motors and linear gear-boxes, and the wheel slip
is negligible. Moreover, reasons such as communication lags and actuator or
sensor properties may cause time-delay in the servo-system. Here, a constant
time-delay is considered in the input of the servo-system. Thus, each wheel is
modeled as (4), which is a combination of a transfer function and constant
time-delay. If the time-delay is comparable to the response time of the servo-
system, one needs to compensate for the effect of time-delay to improve the
transient performance of the system.

As shown in Fig. 2, the Smith predictor (SP) compensates time-delay by acting
on a nominal model of the system to provide a controlled response that is
unaffected by time-delay. Furthermore, the Smith predictor compares the actual
system output to the nominal delayed-output to eliminate drifts and external
disturbances in the system response. Since heading angle determines the
robot’s translational motion, a layer of predictor only in the servo-system
won’t achieve the best tracking precision. Thus, another layer of predictor is
considered for the heading angle. The two layers shown in Fig. 2 work in
tandem to achieve a desirable transient performance for trajectory tracking.

Since the servo-system of the wheels are assumed identical, the velocity
control for the two wheels are also identical. Consider the nominal model of
each wheel is given as

$\frac{\hat{V}_{i}(s)}{U_{i}(s)}=\hat{G}(s)\mathrm{e}^{-\hat{\tau}s},\quad
i=R,L,$ (26)

where $\hat{V}_{i}$ is the estimate of wheel velocity, and $\hat{G}(s)$ and
$\hat{\tau}$ are found using mathematical modeling or system identification,
which might be different from the actual values $G(s)$ and $\tau$. One can use
(26) to obtain an estimate of the wheel velocity,
$\hat{V}_{i}(s)=\hat{G}(s)\mathrm{e}^{-\hat{\tau}s}U_{i}(s)$, where $U_{i}(s)$
is the input voltage of the wheel, where $i=R,L$. Moreover, one can predict
the future output as $\hat{V}_{i}(s)\mathrm{e}^{\hat{\tau}s}$. Thus, the
feedback signal can be corrected as the following

$U_{i}(s)=C(s)\left(V_{i,sc}(s)-\left(V_{i}(s)-\hat{V}_{i}(s)+\hat{V}_{i}(s)\mathrm{e}^{\hat{\tau}s}\right)\right),$
(27)

where $C(s)$ is the control and $V_{i,sc}$ is the scaled adjusted velocity
obtained from the VFO, where $i=R,L$. Using (26), an implementable realization
of the (27) is obtained as

$U_{i}(s)=C(s)\bigg{(}V_{i,sc}(s)-\Big{(}V_{i}(s)+Z(s)U_{i}(s)\Big{)}\bigg{)},i=R,L,$
(28)

where

$Z(s)=\hat{G}(s)-\hat{G}(s)\mathrm{e}^{-\hat{\tau}s}.$ (29)

The controller with the Smith predictor can be described as

$C_{sp}(s)=\frac{C(s)}{1+C(s)Z(s)}.$ (30)

Hence, the closed-loop transfer function of the servo-system becomes

$\displaystyle G_{cl}$ $\displaystyle=$
$\displaystyle\frac{C_{sp}(s)G(s)\mathrm{e}^{-\tau
s}}{1+C_{sp}(s)G(s)\mathrm{e}^{-\tau s}}$ (31) $\displaystyle=$
$\displaystyle\frac{C(s)G(s)\mathrm{e}^{-\tau
s}}{1\\!+\\!C(s)\hat{G}(s)\\!-\\!C(s)\hat{G}(s)\mathrm{e}^{-\hat{\tau}s}+C(s)G(s)\mathrm{e}^{-\tau
s}}.$

For the ideal case where the nominal model and delay are perfectly known,
i.e., $\hat{G}(s)=G(s)$ and $\hat{\tau}=\tau$, the closed-loop transfer
function of the servo-system simplifies to

$\frac{V_{i}(s)}{V_{i,sc}}=G_{v,cl}(s)\mathrm{e}^{-\tau s},$ (32)

where

$G_{v,cl}(s)=\frac{C(s)G(s)}{1+C(s)G(s)}$ (33)

Therefore, the Smith predictor removes the effect of time-delay on the closed-
loop poles of the servo-system and moves the time-delay to outside of the
servo-system loop. For a detailed look inside the Smith predictor, please see
[23, 24].

The first layer of the Smith predictor transfers time-delay to angle and
position loops. Achieving proper orientation is key for the success of the
VFO. Thus, the effect of transferred time-delay on the angle control needs to
be compensated. Assume that the wheel voltages are not saturated,
$v_{i,sc}=v_{i,a}$ for $i=R,L$. Using (6) and (32), one obtains

$\frac{\Omega(s)}{\Omega_{a}(s)}=G_{v,cl}\mathrm{e}^{-\tau s},$ (34)

where $\Omega_{a}(s)={\mathcal{L}}(\omega_{a})$, where (21) and (22) give

$\omega_{a}=\frac{v_{R,a}-v_{L,a}}{d}.$ (35)

As mentioned earlier, the trajectory tracking performance depends on the
servo-system and the angle control to a more considerable extent. Furthermore,
the VFO convergence rate is limited by the servo-system and angle control
convergence rate. In other words, the inner-loop control must achieve an
adequately fast transient response in comparison with the VFO. Hence, another
Smith predictor is designed for the angle control loop.

Using equation (3) and (34), one obtains

$\frac{\Theta(s)}{\Omega_{a}(s)}=G_{\theta}\mathrm{e}^{-\tau s},\quad
G_{\theta}={G_{v,cl}}/{s},$ (36)

where $\Theta(s)={\mathcal{L}}(\theta(t))$. Thus, the angle control with the
Smith predictor correction is implemented as the following

$\Omega_{a}(s)=C_{\theta}(s)\Big{(}\Theta_{a}(s)-\big{(}\Theta(s)+Z_{\theta}(s)\Omega_{a}(s)\big{)}\Big{)},$
(37)

where

$Z_{\theta}(s)=\hat{G}_{\theta}(s)-\hat{G}_{\theta}(s)\mathrm{e}^{-\hat{\tau}s},$
(38)

where $\hat{G}_{\theta}(s)=\hat{G}_{v,cl}/s$, where

$\hat{G}_{v,cl}(s)=\frac{C(s)\hat{G}(s)}{1+C(s)\hat{G}(s)}.$ (39)

The block diagram of the two-layer predictor is shown in Fig. 2. The adjusted
values of, $v_{a}$, $\theta_{a}$, and $\dot{\theta}_{a}$, are produced by the
VFO control. The angle control and servo-system control is shown as
$C_{\theta}(s)$ and $C(s)$, respectively.

###### Remark 1

The time-delay determines the response time of the servo-system and the angle
control. Moreover, the VFO is required to act slower than the inner-loops,
including the angle control and the servo-system. In other words, the inner-
loops need to settle down long before the VFO settles down. Thus, the response
time of the VFO will be enough larger than the sample-time. Therefore, an
additional predictor for the VFO may neither be an appropriate design nor can
lead to a noticeable improvement in trajectory tracking performance.

##  IV Safe Heading Angle and Collision Avoidance

Popular obstacle avoidance control techniques such as artificial potential
fields, collision cones, and receding horizon optimization tie the control law
to the obstacle properties. Hence, any changes in the number, shape, and
distribution of the obstacles lead to control recalculation, which complicates
control design and prolongs the control calibration. Thus, in this paper,
exponential barrier certificates are used to isolate the safety-control from
obstacle properties. The proposed algorithm does not interfere with the
trajectory tracking control, simplifies the collision avoidance control
design, and minimizes the processing power required to implement the safety-
control.

Consider the following system

$\dot{X}=F(X),\quad X\in\mathcal{X}\subseteq\mathbb{R}^{n},$ (40)

where $F(X)$ is smooth enough. A set of initial conditions
$\mathcal{X}_{0}\in\mathcal{X}$ and a set of unsafe states
$\mathcal{X}_{u}\subset\mathcal{X}$ are given. The safety is achieved if all
the state trajectories initiated inside $\mathcal{X}_{0}$ avoid the unsafe set
for all $t>0$. The following lemma is introduced to use barrier certificates
to obtain the safe limits of the robot’s heading angle.

######  Lemma 1 (Exponential Safety Condition [16])

Consider the system (40) and the corresponding sets
$\mathcal{X},\mathcal{X}_{0},$ and $\mathcal{X}_{u}$. For any given
$\alpha\in\mathbb{R}$, if there exists a barrier certificate, i.e., a
continuously differentiable function
$\mathcal{B}(X):\mathcal{X}\rightarrow\mathbb{R}$ satisfying the following
conditions:

$\displaystyle\forall X\in\mathcal{X}_{0}:$ $\displaystyle\mathcal{B}(X)\leq
0$ (41) $\displaystyle\forall X\in\mathcal{X}_{u}:$
$\displaystyle\mathcal{B}(X)>0$ (42) $\displaystyle\forall X\in\mathcal{X}:$
$\displaystyle\left({\partial\mathcal{B}(X)}/{\partial
X}\right)f(X)\leq-\alpha\mathcal{B}(X)$ (43)

then the safety property is satisfied by the system (40), i.e.,
$\mathcal{B}(X(t))\leq 0$ for all $t>0$.

Note that $\mathcal{B}(X)=0$ shows the avoidance boundary. Also, for
$\alpha>0$, the system can be steered very close to the avoidance boundary
without violating the safety condition. A negative or zero value of $\alpha$
creates a repelling avoidance boundary leading to a conservative control
design, which is not suitable to augment with the trajectory tracking control.
Thus, throughout this paper, positive values of $\alpha$ are considered.

Consider an avoidance boundary modeled as a barrier certificate function
$B(x,y)$ satisfying conditions (41)–(43). Note that the barrier certificate’s
choice is optional, and multiple obstacles with different shapes could be
modeled using a single barrier certificate. Denote the gradient and Hessian of
the barrier certificate as

$\displaystyle g$ $\displaystyle=$ $\displaystyle\left[\frac{\partial
B(x,y)}{\partial x}~{}~{}\frac{\partial B(x,y)}{\partial y}\right]$ (44)
$\displaystyle H$ $\displaystyle=$
$\displaystyle\left[\begin{array}[]{cc}\frac{\partial^{2}B(x,y)}{\partial
x^{2}}&\frac{\partial^{2}B(x,y)}{\partial x\partial y}\\\
\frac{\partial^{2}B(x,y)}{\partial x\partial
y}&\frac{\partial^{2}B(x,y)}{\partial y^{2}}\end{array}\right].$ (47)

Using the kinematic equations (1) and (2), the following is obtained using
(43)

$\displaystyle g_{1}\dot{x}+g_{2}\dot{y}\leq-\alpha B(x,y)$ (48)
$\displaystyle g_{1}v\cos\theta+g_{2}v\sin\theta\leq-\alpha B(x,y).$ (49)

Since $v>0$, inequality (49) can be written as

$\displaystyle g_{1}\cos\theta+g_{2}\sin\theta$ $\displaystyle\leq$
$\displaystyle-\alpha\frac{B(x,y)}{v}$ (50)
$\displaystyle\frac{g_{1}}{\|g\|}\cos\theta+\frac{g_{2}}{\|g\|}\sin\theta$
$\displaystyle<$ $\displaystyle c,$ (51)

where $c=-\alpha{B(x,y)}/{(v\|g\|)}$, and $\|\cdot\|$ denotes the Euclidean
norm.

Denote

$\displaystyle\cos\beta=\frac{g_{1}}{\|g\|}$ (52)
$\displaystyle\sin\beta=\frac{g_{2}}{\|g\|}.$ (53)

Thus, inequality (51) gives the angle condition

$\cos(\theta-\beta)\leq c.$ (54)

Note that $c>0$ outside the avoidance region because $v>0$ and $B(x,y)<0$.
Moreover, if $c>1$, the angle condition (54) gives

$\cos\left(\theta-\beta\right)\leq 1,$ (55)

which is true for any value of $\theta$. Thus, the robot heading angle is not
restricted, and the robot can safely track the reference trajectory. On the
other hand, if $c<1$, there is a range of safe heading angles prohibiting the
robot from entering the avoidance region.

To calculate the safe limits of the heading angle, first, angle $\delta$ is
introduced such that

$\cos\delta=c.$ (56)

Recall that $c>0$ outside the avoidance region. Thus, it is obtained that
$0\leq\delta\leq\pi/2$. Hence, one can calculate $\delta$ as shown in the
following

$\delta=\arccos\left(c\right).$ (57)

Therefore, the angel condition (54) gives

$\cos\left(\theta-\beta\right)\leq\cos\delta$ (58)

The safety result about the heading angle is summarized in the following
proposition.

###### Proposition 1

Consider the kinematic equation of the mobile robot is given as (1)–(3), where
the linear velocity is positive. Assume obstacles are described as a barrier
certificate $B(x,y)$, where $B(x,y)>0$ inside the avoidance zone of obstacles,
and $B(x_{0},y_{0})\leq 0$, where $[x_{0}~{}~{}y_{0}]^{T}$ is the initial
position of the mobile robot. There exist a positive $\alpha$ and a set of
angular velocities such that the heading angle satisfies (58) for all $t>0$.
Then, the mobile robot does not enter the avoidance zone of any obstacle.

Condition (58) gives the unsafe range of heading angle as
$2k^{\prime}\pi-\delta\leq\theta-\beta\leq 2k^{\prime}\pi+\delta$ for
$k^{\prime}=0,\pm 1,\pm 2,\cdots$. However, the heading angle cannot change
abruptly. Therefore, one can neglect non-zero values of $k^{\prime}$, and
express the unsafe range of the heading angle as the following set

$\displaystyle\Theta_{u}$ $\displaystyle=$
$\displaystyle\left\\{\theta\in\mathbb{R}:-\delta\leq\theta-\beta\leq\delta\right\\}$
(59) $\displaystyle=$
$\displaystyle\left\\{\theta\in\mathbb{R}:\beta-\delta\leq\theta\leq\beta+\delta\right\\}$

Since $\beta$ can take any real values, applying the inverse trigonometric
functions to (52) and (53) is not a viable method to calculate $\beta$ in
real-world applications. Here, a dynamic update law is provided to ensure
robust calculation. Taking the derivative of both sides of
$\tan\beta=g_{2}/g_{1}$ gives

$\displaystyle\dot{\beta}\left(1+\tan^{2}\beta\right)$ $\displaystyle=$
$\displaystyle\frac{\dot{g}_{2}g_{1}-\dot{g}_{1}g_{2}}{g_{1}^{2}}$ (60)
$\displaystyle\dot{\beta}\left(1+\frac{g_{2}^{2}}{g_{1}^{2}}\right)$
$\displaystyle=$
$\displaystyle\frac{\dot{g_{2}}g_{1}-\dot{g_{1}}g_{2}}{g_{1}^{2}}$ (61)
$\displaystyle\dot{\beta}$ $\displaystyle=$
$\displaystyle\frac{\dot{g}_{2}g_{1}-\dot{g}_{1}g_{2}}{\|g\|^{2}}.$ (62)

The barrier certificate function only depends on the robot’s position. Thus,
$g_{1}$ and $g_{2}$ depend on $x$ and $y$. Also, recall that $\dot{x}$ and
$\dot{y}$ are expressed as (1) and (2), respectively. Hence, $\dot{g}_{1}$ and
$\dot{g}_{2}$ depend on $x,~{}y,~{}v,$ and $\theta$. Therefore, it is obtained
that $\dot{g}_{1}=\phi_{1}(x,y,v,\theta)$ and
$\dot{g}_{2}=\phi_{2}(x,y,v,\theta)$, where

$\displaystyle\phi_{1}(x,y,v,\theta)$ $\displaystyle=$ $\displaystyle
H_{11}v\cos\theta+H_{12}v\sin\theta$ (63)
$\displaystyle\phi_{2}(x,y,v,\theta)$ $\displaystyle=$ $\displaystyle
H_{21}v\cos\theta+H_{22}v\sin\theta$ (64)

Thus, (62) can be rewritten as

$\dot{\beta}=\frac{v\phi(x,y,v,\theta)}{\|g\|^{2}},$ (65)

where

$\displaystyle\phi(x,y,v,\theta)$ $\displaystyle=$ $\displaystyle
g_{1}(H_{21}\cos\theta+H_{22}\sin\theta)-$ (66)
$\displaystyle{}-g_{2}(H_{11}\cos\theta+H_{12}\sin\theta).$

Recall that $\beta$ is calculated for $c<1$. Thus, the initial value of
$\beta$ is reset to the value of the heading angle at the moment where $c<1$
for the first time.

Since the heading angle must avoid the set $\Theta_{u}$, the adjusted angle,
$\theta_{a}$, obtained from the VFO is further modified to avoid the unsafe
set. The robot can either turn left or right to avoid the obstacles. Here,
left turn avoidance maneuver is considered. Thus, the $\theta_{a}$ is modified
as the following

$\displaystyle\theta_{s}=\left\\{\begin{array}[]{lcl}\theta_{a}&~{}~{}\text{if}{}{}&\theta_{a}\notin\Theta_{u}\\\
\beta+\delta&~{}~{}\text{if}{}{}&\theta_{a}\in\Theta_{u}\end{array}\right.,$
(69)

where $\theta_{s}$ is the safe heading angle. Right turn avoidance maneuver is
obtained using the following logic

$\displaystyle\theta_{s}=\left\\{\begin{array}[]{lcl}\theta_{a}&~{}~{}\text{if}{}{}&\theta_{a}\notin\Theta_{u}\\\
\beta-\delta&~{}~{}\text{if}{}{}&\theta_{a}\in\Theta_{u}\end{array}\right..$
(72)

The low and high limits of the unsafe heading angle change depending on the
robot’s location and translational velocity. Thus, the values of $\beta$ and
$\delta$ are calculated in real-time. Moreover, the angle control requires the
derivative of the safe angle. A high-pass filter is utilized to create an
estimate of $\dot{\theta}_{s}$

$z=\frac{s}{Ts+1}\theta_{s},$ (73)

where $T$ is small enough in comparison to the angle control response time.

If the robot’s heading angle falls inside the unsafe angle range, the safety
control is activated. Then, the safe angle, $\theta_{s}$, and its estimated
time derivative, $z$, replace the adjusted heading angle, $\theta_{a}$, and
its time derivative, $\dot{\theta}_{a}$. Therefore, the adjusted rotational
speed, $\omega_{a}$, is accordingly modified. However, the adjusted linear
velocity, $v_{a}$, is calculated using the position error. The produced values
by the VFO for $v_{a}$ are not reliable during avoidance maneuver. Thus, the
adjusted linear velocity is replaced by the reference linear velocity,
$v_{r}$, during the avoidance maneuver, i.e.,

$\displaystyle
v_{s}=\left\\{\begin{array}[]{lcl}v_{a}&~{}~{}\text{if}{}{}&\theta_{a}\notin\Theta_{u}\\\
v_{r}&~{}~{}\text{if}{}{}&\theta_{a}\in\Theta_{u}\end{array}\right.,$ (76)

The details of the conducted experiments are explained in the next section. It
is shown that the combination of the VFO, two-layer predictor, and safety-
control can achieve adequately precise trajectory tracking performance with
guaranteed safety behavior.

##  V Experimental Results

(a)

(b)

Figure 3: (a) Components of the experimental testbed. (b) Quanser’s QBot 2e used in the experiments [30]. The white spheres are passive markers. TABLE I: Technical parameters of the mobile robot [30] Parameter | Value
---|---
Diameter |  $35$ cm
Total mass |  $3.82$ kg
Maximum translational velocity |  $70$ cm/s
Maximum rotational velocity |  $180$ ∘/s
Distance between right and left wheels |  $23.50$ cm
Encoder |  $11.73$ ticks/mm

Extensive experiments are carried out to verify the effectiveness of the
proposed safety-control. As shown in Fig. 3, the experimental testbed includes
a ground control station, which is used to code, compile, and download the
executable files to the mobile robot. The ground control station also acts as
a data acquisition system. The position and orientation information is
acquired using a motion capture system, which comprises eight Flex 13 infrared
cameras. The cameras are connected to the ground control station through two
USB hubs. A wireless router is used to communicate with the mobile robot. The
mobile robot is equipped with a processing board that allows running the
control loops locally. The servo-system of each wheel is comprised of a DC
motor and a gearbox, which amplifies the produced torque of the DC motor. The
velocity of each wheel is numerically derived from the angular positions of
the respective axle, that are measured using encoders. Technical information
of the mobile robot is given in Table I.

As shown in Fig. 3(b), the robot has six passive markers which allow the
motion capture system to measure the robot’s position and orientation in the
operating environment. The linear and rotational velocities are produced using
the wheel velocities and from (5) and (6). The control sample rate is set to 1
ms throughout this paper.

System identification is carried out to obtain the dynamic equation of the
vehicle. The results show that the wheels behave independently and a linear
model with time-delay can model each wheel. A quantitative system
identification shows that a second-order transfer function with input delay
fits the estimation data with accuracy above $85\%$. The wheel model from the
DC motor voltage to the wheel linear velocity is obtained as

$\frac{V_{i}(s)}{U_{i}(s)}=\frac{5.94s+1.45}{s^{2}+7.40s+1.42}\mathrm{e}^{-0.50s},\quad
i=R,L,$ (77)

where the input and output units are V and m/s, respectively.

The wheel dynamic has a pole at $s=-0.20$ and a zero at $s=-0.24$, which
causes a lengthy transient. Moreover, time-delay restricts a controller’s
ability to reduce the response time of the system to a desirable level.
Numerical simulations were conducted a priori to design the control and
initialize the control parameters, evaluate the proposed safety-control
capabilities, and troubleshoot the implementation issues. In general, the
conducted numerical simulations align with the experiments. However, modeling
error and system uncertainty cause a noticeable deviation between numerical
simulations and experimental results. Hence, the experimental setup is used to
calibrate the control parameters. The subsequent analysis only reports the
experimental results.

The experiments are presented as follows: 1) the effect of the two-layer
predictor on the trajectory tracking is investigated, 2) the safety algorithm
is tested with two circular obstacles in the operating environment, and 3) the
obstacle avoidance maneuver is tested for a large obstacle with non-circular
avoidance zone in the operating environment.

###  V-A First Experiment—Effect of Two-Layer Predictor

Figure 4: Trajectory-tracking of a circular reference path. Experimental
performance with (in solid red) and without (in dash-dotted blue) a two-layer
Smith predictor.

Numerous experiments are carried out to evaluate the effectiveness of the two-
layer predictor to improve trajectory tracking. Control calibration is done
empirically. Each wheel’s servo-system is controlled using a PI control, i.e.,
$C(s)=2+1/s$. Moreover, the angle control is also designed as a PI, i.e.,
$C_{\theta}(s)=0.6+0.1/s$. The integral action noticeably reduces the steady-
state tracking error.

First, a circular reference trajectory is generated as
$x_{r}=R\sin(\omega_{r}t),y_{r}=-R\cos(\omega_{r}t)$, where $R=1$ m, and
$\omega_{r}=2\pi/20$ rad/s. The VFO without the two-layer predictor is
unstable with $C(s)=2+1/s$. Thus, the servo-system control is modified as
$C(s)=0.5+0.1/s$ when the two-layer predictor is not present. The initial
condition is set to $x(0)=0.05$ m, $y(0)=-1.50$ m, and $\theta(0)=-3^{\circ}$.
The effect of the two-layer Smith predictor (SP) is shown in Fig. 4 and 5.
Despite the large initial error, the proposed algorithm brings the robot to
steady-sate in less than $7$ s, which improves the convergence time of the VFO
by a factor of four. Contour error is defined as the closest distance from the
actual position to the reference curve, directly measuring the tracking
precision. The RMS and average value of the steady-state contour error for the
proposed algorithm are $1.69$ cm and $1.57$ cm, respectively.

Figure 5: Trajectory-tracking of a circular reference path. Variation of (a)
position error and (b) angle error versus time, with (in solid red) and
without (in dash-dotted blue) the two-layer Smith predictor. With the two-
layer predictor, the transient is passed in less than $7$ s. Figure 6:
Performance of the proposed method for a figure-8 reference path. (a) Robot
accurately tracks the reference trajectory. (b) Variation of position error
versus time. (c) Variation of angle error versus time. The transient is passed
in less than $5$ s.

Moreover, the proposed method is tested with a figure-8 reference trajectory
as given by $x_{r}=a_{x}\sin(2\omega_{r}t)$ and
$y_{r}=-a_{y}\cos(\omega_{r}t)$, where $a_{x}=0.5$ m and $a_{y}=1.5$ m, and
$\omega_{r}=2\pi/30$ rad/s. The initial condition is set to $x(0)=0.08$ m,
$y(0)=-1.52$ m, and $\theta(0)=14~{}^{\circ}$. The experimental result is
shown in Fig. 6. The algorithm passes the transient in less than $5$ s. The
RMS and mean contour error are $1.28$ cm and $1.16$ cm.

###### Remark 2

The PI controller has limited ability to maintain steady-state angle error
below a desirable range. If the reference angle exhibits complicated behavior,
the steady-state error may increase. For example, in the circular reference,
the angle increases with a fixed ramp. Thus, as shown in Fig. 5(b), the PI
controller keeps the RMS value of the steady-state angle error about
$4^{\circ}$. However, the reference angle of the figure-8 oscillates between
$\pm 2.13$ rad. Thus, as shown in Fig. 6(c), the RMS value of the steady-state
angle error is about $10^{\circ}$. Advanced angle control techniques require
special investigation, which is not in the scope of this work.

###  V-B Second Experiment—Avoidance Maneuver with Multiple Circular Obstacles

Figure 7: Experimental validation with two circular obstacles (in solid blue)
on a reference circular path (in dashed-green). The QBot 2e consistently
avoids the obstacles over multiple revolutions. Figure 8: Experimental
validation of safety-control of the QBot 2e with two circular obstacles. (a)
The unsafe angle range is bounded between $\theta_{L}$ and $\theta_{H}$. The
algorithm keeps the heading angle outside the unsafe angle range. (b) Negative
value of $B(x,y)$ shows that the robot stays away from the obstacles.

The proposed algorithm can handle single or multiple obstacles in the
operating environment. The control structure, including the VFO, the two-layer
predictor, and the safe angle estimate, remains the same. The barrier
certificate can also be formed using a general methodology, where the number,
position, and dimension of the obstacles can be modified arbitrarily. For
example, consider the following barrier certificate function (BCF)

$B(x,y)=-B_{0}+\sum_{j=1}^{m}\exp\left(-{d_{j}^{2}}/{\sigma_{j}}\right),$ (78)

where $B_{0}$ and $\sigma_{j}$ are positive constants, $m$ is the number of
obstacles, and $d_{j}$ is the distance of the robot from the obstacle $j$
calculated as

$d_{j}=\sqrt{\left(x-x_{oj}\right)^{2}+\left(y-y_{oj}\right)^{2}},$ (79)

where $[x_{oj}~{}~{}y_{oj}]^{T}$ is the position of obstacle $j$ and
$[x~{}~{}y]^{T}$ is the position of the robot.

An appropriate selection of $B_{0}$ and $\sigma_{j}$ can model arbitrary
avoidance radii for all the obstacles. For example, two obstacles with
different avoidance radii are considered for this experiment. The obstacles
are located at $[0.85~{}~{}0.85]^{T}$ m and $[-1.25~{}~{}0]^{T}$ m, where
$\sigma_{1}=0.4$, $\sigma_{2}=0.3$, and $B_{0}=0.6$. The designer is free to
choose any barrier certificate function for the obstacle avoidance as long as
the conditions (41)–(43) are satisfied.

Figure 9: Effect of parameter $\alpha$ on the avoidance maneuver. As $\alpha$
increases, the robot moves closer to the avoidance radius. Thus, $B(x,y)$ can
experience values close to zero. The safety-control may fail if $\alpha$ is
increased beyond a certain level.

The experimental result is shown in Fig. 7 and 8. The reference trajectory is
generated as $x_{r}=R\sin(\omega_{r}t),y_{r}=-R\cos(\omega_{r}t)$, where $R=1$
m, and $\omega_{r}=2\pi/40$ rad/s. The initial position and heading angle are
$x(0)=0.07$ m, $y(0)=-1.48$ m, and $\theta(0)=3^{\circ}$. The algorithm
provides consistent avoidance performance. The robot stays away from the
obstacles shown as blue circles. Additional obstacles can be included by
properly modifying the barrier certificate function (78). The calculated range
of the unsafe heading angle is shown in Fig. 8(a), where the adjusted heading
angle, $\theta_{a}$, is not allowed to take any value between
$\theta_{L}=\beta-\delta$ and $\theta_{H}=\beta+\delta$. In other words, the
safe angle is kept outside the unsafe range during the experiment. As Fig.
8(b) shows, the barrier certificate function stays below zero, which proves
that safety is achieved.

The selection of parameter $\alpha$ in (43) affects the obstacle avoidance
maneuver. Small values of $\alpha$ cause a conservative obstacle avoidance,
which creates a long detour around the obstacle. On the other hand, a large
value of $\alpha$ causes the corresponding value of $\delta$ to remain near
zero, which means the safe angle estimate is not accurate. Thus, large values
of $\alpha$ may cause the robot to collide with the obstacle. The experimental
result shown in Fig. 9 verifies the effect of $\alpha$ on the variation of the
barrier certificate function. If one increases the value of $\alpha$, the
robot may narrowly evade the obstacle. Hence, the barrier certificate
experiences values near zero, as shown in Fig. 9. Thus, the upper limit of
$\alpha$ needs to be selected carefully.

###  V-C Third Experiment—Non-Circular Obstacles

The proposed safety algorithm can also handle non-circular obstacles. The
components of the algorithm remain the same. A modified barrier certificate is
needed to model the obstacle properly. For example, a square obstacle can be
expressed as

$B(x,y)=-B_{0}+\exp\left(-\left(\frac{x-x_{o}}{\sigma_{x}}\right)^{2n}\\!\\!-\\!\\!\left(\frac{y-y_{o}}{\sigma_{y}}\right)^{2n}\right),$
(80)

where $n$ is positive integer larger than one, $B_{0}$ is a positive real
number, $\sigma_{x}$ and $\sigma_{y}$ are positive real numbers which specify
the dimensions of the obstacle along $x$\- and $y$-axis, respectively. Note
that $n=1$ models an ellipse. Additional circular or square obstacles can be
modeled by adding similar exponential terms with appropriate values for
$\sigma_{x}$, $\sigma_{y}$, and $n$ for each obstacle. Here, a square obstacle
is considered at $[0~{}~{}1.2]^{T}$ m with $\sigma_{x}=\sigma_{y}=1$ and
$\alpha=1$. A circular reference trajectory is generated as
$x_{r}=R\sin(\omega_{r}t),y_{r}=-R\cos(\omega_{r}t)$, where $R=0.75$ m, and
$\omega_{r}=2\pi/40$ rad/s. The initial condition is set to $x(0)=-0.1$ m,
$y(0)=-0.87$ m, and $\theta(0)=2^{\circ}$. The experimental results are shown
in Fig. 10 and 11. The heading angle is kept outside the unsafe angle range.
Thus, the robot successfully avoids the obstacle. When the robot is enough far
from the obstacle, the trajectory tracking is accurate. Also, the barrier
certificate function is kept below zero during the experiment.

Figure 10: Experimental validation with a square obstacle (in solid blue) on a
reference circular path (in dashed green). The QBot 2e consistently avoids the
obstacles over multiple revolutions. Figure 11: Experimental validation of
safety-control of the QBot 2e with a square obstacle. (a) The heading angle is
kept outside the unsafe range specified by $\theta_{L}$ and $\theta_{H}$. (b)
The barrier certificate stays negative. Hence, the robot does not collide with
the obstacle.

##  VI Conclusions

A scalable and modular trajectory tracking with a two-layer predictor and
integrated barrier certificates for obstacle avoidance is proposed for the
safe and agile operation of nonholonomic mobile robots with time-delay. The
two-layer predictor dramatically improves the transient performance of the
heading angle control and servo-system loops. Barrier certificate functions
are used to maintain a safe heading angle and thus avoid obstacles. The
barrier certificate can model an arbitrary number of obstacles with different
footprints. The structure of the proposed control is fully modular and
independent of the obstacle properties. Thus, the proposed algorithm
guarantees precision tracking and fast, successful avoidance maneuvers. Hence,
the control design is dramatically simplified. The safety-control has been
implemented in the form of an independent adaptive saturation block
determining the robot’s allowable heading angle, which steers the mobile robot
clear of in-path obstacles. This block does not interfere with other
components of the control system and hence makes the design modular and
compatible with a wide class of control architectures. The conducted
experiments verify that desirable closed-loop performance is achieved using
linear control components. Future work addresses the extension of the proposed
scalable and modular control architecture to provide safety-control of mobile
robots in uncontrolled environments in the presence of moving obstacles.

## References

  * [1] T. Peng, L. Su, R. Zhang, Z. Guan, H. Zhao, Z. Qiu, C. Zong, and H. Xu, “A new safe lane-change trajectory model and collision avoidance control method for automatic driving vehicles,” _Expert Systems with Applications_ , vol. 141, p. 112953, 2020.
  * [2] X. Liang, X. Qu, N. Wang, Y. Li, and R. Zhang, “Swarm control with collision avoidance for multiple underactuated surface vehicles,” _Ocean Engineering_ , vol. 191, p. 106516, 2019.
  * [3] A. Behjat, S. Paul, and S. Chowdhury, “Learning reciprocal actions for cooperative collision avoidance in quadrotor unmanned aerial vehicles,” _Robotics and Autonomous Systems_ , vol. 121, p. 103270, 2019.
  * [4] H. Dong, C.-Y. Weng, C. Guo, H. Yu, and I.-M. Chen, “Real-time avoidance strategy of dynamic obstacles via half model-free detection and tracking with 2d lidar for mobile robots,” _IEEE/ASME Transactions on Mechatronics_ , 2020\.
  * [5] J. Lim, S. Pyo, N. Kim, J. Lee, and J. Lee, “Obstacle magnification for 2-D collision and occlusion avoidance of autonomous multirotor aerial vehicles,” _IEEE/ASME Transactions on Mechatronics_ , vol. 25, no. 5, pp. 2428–2436, 2020.
  * [6] Z. Pan, D. Li, K. Yang, and H. Deng, “Multi-robot obstacle avoidance based on the improved artificial potential field and PID adaptive tracking control algorithm,” _Robotica_ , vol. 37, no. 11, pp. 1883–1903, 2019.
  * [7] M. Karkoub, G. Atınç, D. Stipanovic, P. Voulgaris, and A. Hwang, “Trajectory tracking control of unicycle robots with collision avoidance and connectivity maintenance,” _Journal of Intelligent & Robotic Systems_, vol. 96, no. 3-4, pp. 331–343, 2019.
  * [8] Z. Qu, J. Wang, and C. E. Plaisted, “A new analytical solution to mobile robot trajectory generation in the presence of moving obstacles,” _IEEE Transactions on Robotics_ , vol. 20, no. 6, pp. 978–993, 2004.
  * [9] J. Alonso-Mora, P. Beardsley, and R. Siegwart, “Cooperative collision avoidance for nonholonomic robots,” _IEEE Transactions on Robotics_ , vol. 34, no. 2, pp. 404–420, 2018.
  * [10] R. Fareh, M. Baziyad, M. H. Rahman, T. Rabie, and M. Bettayeb, “Investigating reduced path planning strategy for differential wheeled mobile robot,” _Robotica_ , vol. 38, no. 2, pp. 235–255, 2020.
  * [11] K. Chu, M. Lee, and M. Sunwoo, “Local path planning for off-road autonomous driving with avoidance of static obstacles,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 13, no. 4, pp. 1599–1616, 2012.
  * [12] B. Pinkovich, E. Rivlin, and H. Rotstein, “Predictive driving in an unstructured scenario using the bundle adjustment algorithm,” _IEEE Transactions on Control Systems Technology_ , 2020.
  * [13] X. Zhang, A. Liniger, and F. Borrelli, “Optimization-based collision avoidance,” _IEEE Transactions on Control Systems Technology_ , 2020.
  * [14] Y. Gao, C. G. Lee, and K. T. Chong, “Receding horizon tracking control for wheeled mobile robots with time-delay,” _Journal of mechanical science and technology_ , vol. 22, no. 12, p. 2403, 2008.
  * [15] C.-J. Kim and D. Chwa, “Obstacle avoidance method for wheeled mobile robots using interval type-2 fuzzy neural network,” _IEEE Transactions on Fuzzy Systems_ , vol. 23, no. 3, pp. 677–687, 2014.
  * [16] H. Kong, F. He, X. Song, W. N. N. Hung, and M. Gu, “Exponential-condition-based barrier certificate generation for safety verification of hybrid systems,” in _International Conference on Computer Aided Verification_ , 2013.
  * [17] M. Z. Romdlony and B. Jayawardhana, “Stabilization with guaranteed safety using Control Lyapunov-Barrier Function,” _Automatica_ , vol. 66, pp. 39–47, 2016.
  * [18] A. D. Ames, X. Xu, J. W. Grizzle, and P. Tabuada, “Control barrier function based quadratic programs for safety critical systems,” _IEEE Transactions on Automatic Control_ , vol. 62, pp. 3861–3876, 2017.
  * [19] P. Glotfelter, I. Buckley, and M. Egerstedt, “Hybrid nonsmooth barrier functions with applications to provably safe and composable collision avoidance for robotic systems,” _IEEE Robotics and Automation Letters_ , vol. 4, no. 2, pp. 1303–1310, 2019.
  * [20] K. Kojima, T. Oguchi, A. Alvarez-Aguirre, and H. Nijmeijer, “Predictor-based tracking control of a mobile robot with time-delays,” _IFAC Proceedings Volumes_ , vol. 43, no. 14, pp. 167–172, 2010.
  * [21] S. Roy and I. N. Kar, “Adaptive sliding mode control of a class of nonlinear systems with artificial delay,” _Journal of the franklin Institute_ , vol. 354, no. 18, pp. 8156–8179, 2017.
  * [22] B. S. Park and S. J. Yoo, “A low-complexity tracker design for uncertain nonholonomic wheeled mobile robots with time-varying input delay at nonlinear dynamic level,” _Nonlinear Dynamics_ , vol. 89, no. 3, pp. 1705–1717, 2017\.
  * [23] T. G. Molnar, D. Hajdu, and T. Insperger, “The smith predictor, the modified smith predictor, and the finite spectrum assignment: A comparative study,” in _Stability, control and application of time-delay systems_. Elsevier, 2019, pp. 209–226.
  * [24] A. Ingimundarson and T. Hägglund, “Robust tuning procedures of dead-time compensating controllers,” _Control Engineering Practice_ , vol. 9, no. 11, pp. 1195–1208, 2001.
  * [25] H. Xing, J. Ploeg, and H. Nijmeijer, “Smith predictor compensating for vehicle actuator delays in cooperative acc systems,” _IEEE Transactions on Vehicular Technology_ , vol. 68, no. 2, pp. 1106–1115, 2018.
  * [26] A. Ghaffari, I. Abel, D. Ricketts, S. Lerner, and M. Krstic, “Safety verification using barrier certificates with application to double integrator with input saturation and zero-order hold,” in _American Control Conference_ , 2018.
  * [27] A. Ghaffari, “Analytical design and experimental verification of geofencing control for aerial applications,” _IEEE/ASME Transactions on Mechatronics_ , 2020.
  * [28] M. Michalek and K. Kozlowski, “Vector-field-orientation feedback control method for a differentially driven vehicle,” _IEEE Transactions on Control Systems Technology_ , vol. 18, no. 1, pp. 45–65, 2009.
  * [29] A. Ghaffari, “Modular safety control for mobile robots using barrier certificates and modified feedback,” in _American Control Conference_ , 2021\.
  * [30] Quanser, “QBot 2e user manual,” Quanser, Tech. Rep., 2019.