Exponential Barrier Functions for Safe Steering of Nonholonomic Vehicles With Actuator Time-Delay

This work provides a provably safe feedback control for nonholonomic vehicles that autonomously operate in an obstacle field. A barrier function with a tunable, exponential decay rate is used to obtain a safe steering envelope for the vehicle. The safe steering envelope adapts, in real-time, to the vehicle’s velocity and its distance to the static obstacles. The safety control corrects steering commands provided by a nominal tracking control and prevents collisions between the vehicle and the obstacles. The safety and stability of the algorithm are proved analytically and verified via multiple experiments. The resulting safety control is modular and can work well with obstacles of different footprints. Since quick steering control is essential for successful vehicle navigation, a two-layer predictor is proposed to compensate for the time-delay in the vehicle dynamics. The two-layer predictor improves the control response time by as much as a factor of four. The safety and tracking control act on the vehicle kinematics, and the two-layer predictor improves the vehicle’s dynamic performance. The proposed control structure has a closed-form with eight tunable parameters, which facilitates control calibration and tuning in large systems of vehicles. Extensive experiments are carried out on a nonholonomic vehicle to verify the effectiveness of the proposed algorithm.


I. INTRODUCTION
Collision-free navigation algorithms have been studied for nonholonomic vehicles, self-driving cars, unmanned aerial vehicles, and surface vehicles [1]- [5]. Safe navigation of a vehicle inside an obstacle field forms a multi-objective control problem with analytic solutions that are computable only for some of the simplest cases [6]. Therefore, this work focuses on utilizing feedback control for the safe navigation of nonholonomic vehicles. Path planning algorithms, such as the works by Fareh et al. [7] and Chu et al. [8], are not in the scope of this work. Hoy et al. give a comprehensive survey of collision-free navigation algorithms for nonholonomic vehicles [9].

A. OBJECTIVES
This work aims to design a steering control with a closedform structure, where safety and stability are analytically proved. Also, it is intended to augment the safety The associate editor coordinating the review of this manuscript and approving it for publication was Emre Koyuncu . feature as a specific control module that can be conveniently tuned. The proposed algorithm needs to be flexible and expandable to advanced vehicle models. To this end, this research develops a safety control based on barrier functions. The result is an adaptive safe steering module, which corrects the steering command produced by a nominal tracking control. Moreover, the analytical complications associated with the stability of a multi-objective control are circumvented. The performance of the avoidance maneuver is calibrated by enforcing an exponential decay rate on a barrier function.
Recent developments of barrier functions [10], [11] have opened new avenues to construct and incorporate safety conditions in control algorithms for robotic applications [12]- [17]. Safety guarantees, however, may conflict with other control objectives such as trajectory tracking or output regulation. Hence, control Lyapunov function and control barrier function based quadratic programs (CLF-CBF-QPs) have been proposed to guarantee safety and stability simultaneously [18]. Jankovic has proposed a robust version of the CLF-CBF-QP [19].
The CLF-CBF-QP calculates optimal control commands by solving a quadratic program under constraints obtained from the control Lyapunov function (CLF) and control barrier function (CBF). Unlike model predictive control methods, the CLF-CBF-QP does not require predictions of future states to calculate the control input, so the control command is calculated at a relatively high speed. Hence, this method is suitable for real-time implementation [20].
However, new developments show that the quadratic program methods may produce undesirable local equilibria [21], [22] because of confliction between the CLF and CBF, which may lead to control failure. For example, when the vehicle tracks a reference trajectory in an obstacle field, undesirable equilibria may cause extreme variation in vehicle velocity, which may deteriorate obstacle avoidance performance.

B. BARRIER FUNCTIONS FOR SAFE STEERING
Multiple obstacles with different shapes and arrangements can be modeled using a distance-based barrier function, which divides the state-space into safe and unsafe sets. The barrier function value is zero on the avoidance border of the obstacle. An exponential decay rate is enforced on the barrier function, which determines the safe steering envelope in real-time. The safety control obtained from the barrier function is implemented as an adaptive steering module. The proposed module is independent of the count and footprint of the obstacles. The vehicle is steered away from the obstacle as soon as the safety control detects an unsafe maneuver. When the vehicle is far enough from the obstacle, the safety control is inactive. Explicit relations are derived for the safe bounds of the steering angle. Since the safety control modifies the tracking control outputs and linear velocity is kept close to the reference velocity, the proposed safety control maintains a smooth ride.

C. IMPROVED DYNAMIC PERFORMANCE
Quick steering is essential in satisfying desirable safety and stability performance criteria. However, in practical applications, actuator time-delay causes prolonged transients and delayed avoidance maneuvers, which limits the vehicle's ability to avoid obstacles safely and quickly. Therefore, techniques such as receding horizon optimal control [23], nonlinear predictor-based control [24], adaptive sliding mode control [25], and nonlinear tracking algorithm [26] have been used to compensate time-delay for nonholonomic vehicles. Actuator time-delay deteriorates the vehicle's kinematic performance by slowing down the vehicle's dynamic response. Hence, unlike the existing research, this work proposes a two-layer predictor, where any trace of actuator time-delay is compensated at the dynamic and kinematic levels.

D. ACHIEVEMENTS
This work presents a provably safe steering algorithm for collision-free navigation of nonholonomic vehicles in obstacle fields. The explicit structure of the proposed design facilitates control implementation and calibration. Note that the proposed control only has eight parameters, and the barrier function is scalable to the count of obstacles. Therefore, design modularity and control scalability is improved. The proposed two-layer predictor reduces the response time of the control algorithm by as much as a factor of four, and improves the tracking precision above 98%. The control structure is independent of the obstacle count and footprint.

E. NOVELTIES AND CONTRIBUTIONS
This work addresses the problem of safe navigation for a nonholonomic vehicle using feedback control. Safety and stability objectives are addressed at the kinematic level and transient performance is improved at the dynamic level. The contributions of this work are threefold.
i) A feedback control approach is proposed to guarantee the safety of nonholonomic vehicles operating in static obstacle fields, where an exponential barrier function adaptively modifies the safe steering envelope in real-time. ii) Formal proof of safety and stability are provided. The decoupled safety and stability components not only facilitate the control design but also simplify proof of safety and stability. The proofs are summarized in Proposition 1 and 2. iii) Dynamic performance of the vehicle is improved using a two-layer predictor, which compensates for any trace of actuator time-delay in the dynamic and kinematic levels. To the best of the authors' knowledge, the proposed safety control and two-later predictor are novel ideas and have not been reported by other researchers. Moreover, the results have been verified through numerous experiments, three of which are presented here.
The rest of this paper is presented in the following order. Section II presents the kinematic and dynamic model of the vehicle. Section III discusses trajectory tracking using the vector-field-orientation method. Section IV explains the utility of barrier functions to create safety guarantees for a control system. Section V presents the safety control design using an exponential barrier function. Section VI presents the two-layer predictor to improve the dynamic performance of the vehicle. Section VII reports three experiments that validate the contributions made in this work. Section VIII concludes the paper.

II. SYSTEM MODELING
The nonholonomic vehicle considered in this work is driven by a differential-drive system comprised of two identical electric wheels. The schematic of the vehicle, and inertial and body reference frames are shown in Figure 1. The body reference frame is attached to the vehicle at the center of mass. The steering angle, θ, is measured with respect to the x-axis in the counterclockwise direction. The kinematic and dynamic models of the nonholonomic vehicle are given in the following [27] VOLUME 10, 2022 FIGURE 1. A schematic of a nonholonomic vehicle in an inertial reference frame x-y . The body reference frame is x b -y b and θ is the steering angle. Note that the center of mass is on the middle point between the two wheels. where where [x y] T is the vehicle's position, θ is the steering angle of the vehicle, and θ R and θ L are the angles of the right and left driving wheels. Also, ω w = [ω R ω L ] T is the angular velocity of the wheels, and T = [T R T L ] T consists of motor's torques T R and T L , which act on the right and left wheels, respectively. The system matrices are defined as where m 1 = mr 2 w /4 + Ir 2 w /d 2 + I w , m 2 = (m/4 − I /d 2 )r 2 w , where m = m b + 2m w , and I = m b d 2 c + m w d 2 /2 + I b + I m , where r w is the wheel radius, d is the distance between the two wheels, d c is the distance between the center of mass of the robot and the middle point of the line that connects the center of the wheels, m b is the robot body mass, and m w is the wheel mass. Also, I b , I w , and I m are the moments of inertia of the body about the vertical axis fixed at the center of mass, the wheel about the wheel axis, and the wheel about the wheel diameter, respectively. The damping coefficients of the right and left wheels are k R and k L , respectively.
The relationship between the vehicle velocities v and ω and wheel angular velocities is given as Also, note that the linear velocity of the wheels are obtained as Substituting (7) into (1) transforms the kinematic equations of the nonholonomic vehicle intȯ Mass density is higher around the driving wheels in comparison with other parts of the vehicle. Note that the vehicle is also symmetric. Moreover, as shown in Figure 1, the vehicle chosen for this study has a circular footprint, where the center of mass is on the middle point between the wheels. Hence, d c = 0 and m 2 ≈ 0. Then, term C(q,q) is eliminated from (2), and M becomes a diagonal matrix. Also, because of design symmetry the damping coefficient of the two wheels are the same, i.e., k R = k L . Substituting (8) where ] T are constant matrices. Therefore, the dynamic equation of the vehicle comprises of two decoupled, firstorder, linear time-invariant models. The dynamic model in (12) has been used commonly for control design of nonholonomic vehicles [28]- [30]. The wheel torques are produced by DC motors modeled as the followingż for the right and left wheels, respectively, where a > 0 and b are constant coefficients, τ represents a constant time-delay in the actuator, and u i is the motor command input. Because of symmetry, the two motors have the same model. Depending on the application, other models can be used instead of (13) and (14). The dynamic equation of the vehicle, including the motor model, is given bẏ Equivalently, the dynamic equations (15) and (16) can be represented as transfer functions where V i (s) = L(v i ), and U i (s) = L(u i ), where L denotes the Laplace transform. The wheel linear velocity is v i , and the motor command is u i , where i = R, L for the right and left wheel, respectively. The validity of the dynamic model obtained from the physical relationships is verified empirically using system identification. Wheel command inputs that guarantee persistent excitation [31] are fed to the motors, and the linear velocity of each wheel is measured. The System Identification toolbox of MATLAB shows that fit to estimation data is above 85%, and the dynamic equations of the two wheels are decoupled and closely match each other as suggested by (15) and (16). The model verifies that the actuator possesses a constant FIGURE 2. System identification verifies the validity of the dynamic model given by (15) and (16). Also, it is confirmed that the two wheels are decoupled with closely matching models. The result of system identification for (a) the right wheel and (b) the left wheel, where solid black is the model output, dotted red is the actual wheel velocity, and dash-dotted blue is the input command. It can be seen that a time delay of approximately 0.5 s is present in the system output.
time-delay. Figure 2 shows that the model output, shown in solid black, closely follows the actual wheel velocity, shown in dotted red. The dash-dotted blue line represents motor command inputs.
In the subsequent sections, the vehicle's kinematic model given by (9)-(11) is used for tracking and safety control design. The vehicle's dynamic model given by (15) and (16) is used to improve the transient performance by means of the two-layer predictor.

III. TRACKING CONTROL WITH GUARANTEED STABILITY
The first control objective is precision trajectory tracking. Assume that the reference trajectory satisfies the nonholonomic conditionẋ This paper only considers the forward movement. Thus, v r is a positive real value, and ω r is a real value. The reference position is [x r y r ] T . Remark 1: One might question the generality of (19)-(21) for applications where only the reference position is available. Assume that the reference position [x r y r ] T is provided and twice differentiable, i.e., [ẋ rẏr ] T and [ẍ rÿr ] T exist. Also, the reference linear velocity is positive. Then, one can obtain the magnitude and angle of the velocity vector as v r = ẋ 2 r +ẏ 2 The function atan2c (a, b) is the four quadrant arctangent of a and b, which is implemented such that θ r provides a continuous and differentiable curve and is not wrapped between [−π, π]. Taking the time derivative of (23) gives the angular velocity as the following The reference can now be reproduced using (19)- (21), with v r and ω r given by (22) and (24), respectively. An extensive body of research exists on tracking algorithms for nonholonomic vehicles, including but not limited to Lyapunov method [32], sliding mode control [33], vector-field-orientation method [30], adaptive robust control [25], model predictive control [34], and adaptive neural networks [35]. Advanced design methods can be used when input and state constraints are present [36], [37]. Low complexity, guaranteed stability, tracking accuracy, and convenient integration with the safety control are the primary design criteria for the tracking control. The authors have found that the vector-field-orientation (VFO) method balances the design criteria [30]. A concise stability proof is developed for the VFO.
The VFO method is explained in the following. Denote the position vector as e = [e x e y ] T = [x r − x y r − y] T . The tracking objective is equivalent to reducing the position error to zero and aligning the vehicle velocity vector with the reference velocity vector. As shown in Figure 3, one can define an auxiliary velocity vector (shown in dashed purple by v a , θ a ) as the summation of a weighted error vector and the reference velocity vector, i.e., If the vehicle is governed toward the auxiliary velocity vector, one can show that trajectory tracking is achieved, i.e., the red vector aligns with the green vector and e = 0. Therefore, one needs to drive the vehicle wheels such that the vehicle velocity vector mimics the behavior of the auxiliary velocity vector. To determine the proper wheel velocities, first, the auxiliary velocity and steering angle are obtained as the following The auxiliary angular velocity is obtained as whereḣ Consider v = v a and ω = ω a in (9)- (11). Then, one getsė θ = −k 1 e θ , which guarantees that θ converges to θ a . VOLUME 10, 2022 Thus, (26) gives Also, (27) gives Substituting (33) and (34) into (32) gives v 2 a = h 2 x + h 2 y , which in turn gives cos θ a = h x /v a and sin θ a = h y /v a . Therefore,ẋ = v a cos θ a andẏ = v a sin θ a giveẋ = h x anḋ y = h y , respectively. Using (25) one obtainsẋ = ke x +ẋ r anḋ y = ke y +ẏ r . The position error equations are then obtained asė x = −ke x andė y = −ke y , which show that position error converges to zero for k > 0. Accurate position tracking transforms (25) into h x =ẋ r and h y =ẏ r . Hence, (33) and (34) along with (19) and (20) give cos θ a = cos θ r and sin θ a = sin θ r , which means accurate steering is achieved, i.e., θ a = θ r . The stability result is summarized in the following.
Proposition 1: Consider the vehicle kinematics given by (9)-(11) and the reference trajectory is represented as (19)-(21), where v r > 0. If the linear and angular velocities are set to (26) and (28), respectively, where h x and h y are given by (25) and θ a is given by (27), then perfect trajectory tracking is achieved for any positive k and k 1 .
One can improve steering angle tracking of the actual vehicle by replacing (28) with where K P,θ > 0 and K I ,θ > 0 are control gains. The integral action in (35) reduces the steady-state tracking error. The obtained values for v a and ω a serve as the desirable reference values for the vehicle dynamics.
The VFO provides the pushing, v a , and steering, θ a , commands. One can modify the steering command to avoid obstacles that are located on or near the vehicle's trajectory. Barrier functions can be utilized to calculate an envelope of safe steering angles for the vehicle. Hence, the concept of barrier function and its usage for collision avoidance is discussed in the next section.

IV. COLLISION AVOIDANCE USING BARRIER FUNCTIONS
First, the barrier function is introduced. Consider the following systemẊ where F(X ) is smooth enough. A set of initial conditions X 0 ∈ X and a set of unsafe states X u ⊂ X are given. The safety is achieved if all the state trajectories initiated inside X 0 avoid the unsafe set for all t > 0. The following lemma introduces the barrier function and necessary conditions for guaranteed safety of (36). Lemma 1 (Safety Condition [10]): Consider the system (36) and the corresponding sets X , X 0 , and X u . For any given α ∈ R, if there exists a barrier function, i.e., a continuously differentiable function B(X ) : X → R satisfying the following conditions: whereḂ(X ) = (∂B(X )/∂X ) f (X ). Then, the safety property is satisfied by the system (36), i.e., B(X (t)) ≤ 0 for all t > 0. Note that B(X ) = 0 shows the obstacle boundary. A nonpositive value of α creates a repelling obstacle boundary, which is unsuitable to use with the trajectory tracking control. For α > 0, the system can perform accurate steering maneuvers without violating the safety condition. Thus, throughout this paper, positive values of α are considered.
Obstacles are modeled as a barrier function B(x, y) satisfying conditions (37)- (39), where B(x, y) > 0 inside the avoidance zone. The value of the barrier function is zero on the avoidance boundary, i.e., B(x, y) = 0. Note that the structure of the barrier function is optional, and multiple obstacles with different shapes could be modeled using one barrier function. Denote the gradient of the barrier function as Substituting the kinematic equations (9) and (10) in (39) giveṡ The gradient vector in (40) is nonzero near the avoidance zone of the obstacle. Also, forward motion is considered, i.e., v > 0. The gradient of the barrier function points from the vehicle toward the obstacle as shown in Figure 4. The gradient can also be represented as where ∇B and β are the magnitude and angle of the gradient vector, respectively. Thus, inequality (43) can be written as Using cos(θ − β) = cos θ cos β + sin θ sin β, one can transform (45) into where Note that c ≥ 0 outside the avoidance zone because v > 0, α > 0, and B(x, y) ≤ 0. Moreover, if c > 1, the angle condition (46) gives which is true for any value of θ. Thus, the vehicle steering angle need not be restricted, and the vehicle can safely track the reference trajectory. On the other hand, if c ≤ 1, there is an unsafe envelope for the steering angle, which is to be avoided to ensure collision-free navigation.
As Figure 4 shows, when the vehicle is near the avoidance zone, there is an unsafe steering envelope bounded between θ L and θ H , which indicates a potential collision with the obstacle. In other words, if the vehicle stays inside the unsafe envelope, the risk of collision increases as the vehicle approaches the obstacle. One can deduce from (50) that angle δ is the minimum safe deviation from the gradient vector of the barrier function. A graphical representation of the angle condition is shown in Figure 4. Therefore, the safety control is designed to modify the auxiliary steering angle such that the vehicle avoids entering the unsafe envelope. As shown by (47) and (49), the value of δ not only depends on the barrier function and its gradient but also is affected by the vehicle velocity and α. Higher vehicle velocities mean that c drops below one at a farther distance from the obstacle. Hence, the steering angle is adjusted early to avoid a collision. Moreover, increasing α causes δ to drop below one at a closer distance to the obstacle. In other words, a large value of α causes a tight maneuver around the obstacle and may increase the risk of collision. On the other hand, small values of α lead to early correction of the steering angle, leading to long detours around the obstacle. Hence, α needs to be appropriately designed to achieve a desirable avoidance maneuver.
The proposed method is applicable to multiple obstacles that are adequately far from each other. In other words, the environment is navigable by the vehicle. A barrier function that represents multiple obstacles may have shallow dips/valleys outside X u , which means ∇B ≈ 0. Evaluation of (42) gives B(x, y) ≤ 0, which is valid outside X u . Hence, no additional condition is needed for the barrier function. The safety result about the steering angle is summarized in the following.
Proposition 2: Let the kinematic equation of the nonholonomic vehicle be given as (9) In the next section, a safety control is designed using a barrier function.

V. DESIGN AND IMPLEMENTATION OF SAFETY CONTROL
This paper uses barrier functions to design a safety control that adjusts the auxiliary steering angle produced by the VFO method so that the vehicle safely maneuvers around an obstacle. The proposed method has a preassigned structure and is decoupled from obstacle properties. The proposed algorithm does not interfere with the trajectory tracking control, simplifies the collision avoidance control design, and reduces the processing power required for collision-free navigation of the nonholonomic vehicle. Moreover, the safety control handles obstacles of different footprints. VOLUME 10, 2022 Condition (50) gives the unsafe range of steering angle as 2k π − δ ≤ θ − β ≤ 2k π + δ for k = 0, ±1, ±2, · · · . However, the steering angle cannot change abruptly. Therefore, one can neglect non-zero values of k , and express the unsafe envelope of the steering angle as the following set where θ L = β − δ, θ H = β + δ, and δ is obtained using (49). The gradient angle β is calculated when c drops below one. If c = 1, one can deduct from (49) and (50) that β = θ. Hence, β is initialized to the value of θ at the moment where c drops below one. Note that the vehicle may face one obstacle multiple times or encounter different obstacles. Hence, calculation of β using atan2c(·, ·) requires additional modification.
Here, a dynamic update law for β is provided, which ensures robust calculation. Denote ∇B = [∇B x ∇B y ]. Using (44), one can calculate angle β as the following The barrier function only depends on the vehicle's position. Thus, ∇B depends on x and y, too. Recall thatẋ andẏ are expressed as (9) and (10), respectively, which means where the Hessian matrix of B(x, y) is given as Also, the Hessain matrix depends on x and y. Hence, the right-hand side of (53) depends on x, y, v, and θ. Thus, one can calculate β in real-time by integrating (53). Recall that β is calculated for c ≤ 1. Therefore, the initial value of β is reset to the value of the steering angle at the moment where c ≤ 1 for the first time.
Since the steering angle must avoid the set u , the auxiliary steering angle, θ a , obtained from the VFO, is modified to avoid the unsafe set. The vehicle can either turn left or right to avoid the obstacle. Here, the left turn avoidance maneuver is considered. Thus, the safe steering angle, θ s , is calculated as The right turn avoidance maneuver is obtained using the following logic The values of θ L and θ H depend on β and δ, which are calculated in real-time using the vehicle's location and translational velocity data. Moreover, the angle control requires the derivative of the safe angle. Therefore, the following logic is utilized to createθ ṡ where T is small enough in comparison to the response time of the steering angle control loop. If the auxiliary steering angle falls inside the unsafe steering angle envelope, i.e.,Ḃ(x, y) > −αB(x, y), the safety control is activated. Then, the safe steering angle, θ s , and its estimated time derivative respectively replace the auxiliary steering angle, θ a , and its time derivative,θ a , in (35). Therefore, the safe rotational speed, ω s , is generated accordingly. However, the auxiliary linear velocity, v a , is calculated using the position error, and the result may be inconsistent with the intent of avoiding the obstacle in favor of tracking. Hence, v a is replaced by v r during avoidance maneuvers, i.e., the safe linear velocity is obtained as (60) Figure 5 shows a block diagram of the safety control and its connection with the VFO block. Angles δ and β are calculated using the exponential barrier function. IfḂ(x, y) > −αB(x, y), the safety control is active. Angle β is reset whenever the value of c drops below zero, i.e., the integrator is reset to the current value of θ on the rising edge of sign(1 − c).
The safe angular and linear velocities, created by the safety control, are fed to the servo-system of the nonholonomic vehicle. The vehicle linear and angular velocity are related to the wheel velocities as (7) and (8). Then, one can calculate the safe wheel velocities as the following Since the wheel velocity is bounded, the safe values of v R,s and v L,s are scaled to avoid control saturation where µ = max |v R,a |, |v L,a | /v max , where v max is the maximum wheel velocity. The subsequent section improves the dynamic response of the vehicle such that quick steering is achieved. As shown by (17), the vehicle dynamics includes actuator time-delay, which compromises the tracking and avoidance maneuver performed by the vehicle. Hence, a two-layer predictor is proposed to compensate for any trace of time-delay in the vehicle control loops.

VI. IMPROVED TRANSIENT USING TWO-LAYER PREDICTOR
The success of the proposed control heavily depends on the performance of the dynamic response of the vehicle. Inadequate accuracy and slow transient response in the velocity and steering angle loops deteriorate the control performance and may cause the failure of tracking and safety control. One needs to compensate for the effect of time-delay at the dynamic level to achieve desirable closed-loop performance. Thus, this section presents a two-layer predictor that guarantees fast transient responses.
The dynamic model in (17) is a combination of a transfer function and constant time-delay. Hence, the Smith predictor (SP) is used to compensate for the effect of time-delay in the wheel control loops. The Smith predictor compensates time-delay by acting on a nominal model of the system to provide a controlled response 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 [38], [39].
Since the wheels dynamics are identical, the velocity control loops for the two wheels are also identical. Consider the nominal model of the wheel velocity given bŷ whereV i (s) is the estimate of wheel velocity, andĜ(s) and τ are found using mathematical modeling or system identification, which may be different from the actual values G(s) and τ . The estimate of wheel velocity is obtained asV i (s) = G(s)e −τ s U i (s), where U i (s) for i = R, L is the wheel control input. Moreover, one can predict the future output asV i (s)eτ s . Thus, the feedback signal can be corrected as where v i,sc is the scaled safe wheel velocity. Using (64), an implementable realization of (65) is obtained as The controller with the Smith predictor can be described as Hence, the closed-loop transfer function of each electric wheel becomes For the ideal case where the nominal model and delay are perfectly known, i.e.,Ĝ(s) = G(s) andτ = τ , the closed-loop transfer function of the wheel velocity simplifies to where Therefore, the Smith predictor moves the time-delay to the outside of the wheel velocity loops. Using (7) and (8) (72) VOLUME 10, 2022 Assume that the safe wheel velocities are not scaled, i.e., v i,sc = v i,s for i = R, L. Substituting the Laplace transform of (61) and (62) into (72) gives (s) where s (s) = L(ω s ), where ω s = (v R,s − v L,s )/d is obtained from (61) and (62). Using equation (11) and (73), one obtains the transfer function from the safe angular speed, ω s , to the actual steering angle, θ, as the following (s) where (s) = L(θ(t)). It is observed that the first layer of the Smith predictor transfers time-delay to the steering angle loop. Achieving proper steering is key to the success of the proposed control. Thus, the effect of transferred time-delay to the steering angle control needs to be compensated. The steering angle control with the Smith predictor correction is implemented as the following The two-layer predictor is shown in Figure 5, where the red and yellow boxes compensate for the time-delay in the velocity loops. The transferred time-delay to the steering angle loop is compensated using another layer of the Smith predictor shown inside the blue box. The values of v s , θ s , anḋ θ s , are produced by the safety control. The steering angle and wheel velocity control are shown as C θ (s) and C(s), respectively. Recall that C θ (s) is a proportional-integral control given by (35). The wheel velocity loops are adequately faster than the steering angle control loop.
Remark 2: The time-delay determines the response time of the wheel velocity and the steering angle control loops. Moreover, the VFO is required to act slower than the steering angle and velocity control loops. In other words, the inner-loops settle down long before the VFO converges. Hence, the response time of the VFO will be sufficiently lengthier than the time-delay, and an additional predictor for the VFO may neither be an appropriate design nor can lead to a noticeable improvement in trajectory tracking performance. Experimental results verified that a layer of the Smith predictor in the VFO control loop did not improve the tracking performance of the nonholonomic vehicle. Hence, It was decided against adding a predictor in the VFO control loop.
The details of the conducted experiments are explained in the next section. It is shown that the proposed control can achieve adequately precise trajectory tracking performance with guaranteed obstacle avoidance behavior.

VII. EXPERIMENTAL RESULTS
In-house experiments were carried out to verify the effectiveness of the proposed control system for collision-free navigation of a nonholonomic vehicle. As shown in Figure 6(a), the experimental testbed includes a ground control station (GCS), which is used to code, compile, and download the executable files to the nonholonomic vehicle. The ground control station also acts as a data acquisition system. The position and orientation information of the vehicle 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 Wifi router is used to communicate with the vehicle. A schematic of the experiment is shown in Figure 6(b).
The vehicle used in this work is the Qbot 2e, shown in Figure 6(c), which is developed by Quanser [40]. The vehicle 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 torque produced by the DC motor. The velocity of each wheel is numerically derived from the angular positions of the respective axle measured using encoders. Technical information of the vehicle is given in Table 1.
As shown in Figure 6(c), the vehicle has five passive markers which allow the motion capture system to measure the vehicle's position and orientation in the operating environment. The linear and rotational velocities of the vehicle are calculated using the wheel velocities, i.e., v = (v R +v L )/2 and ω = (v R − v L )/d. 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 validate the dynamic model given by (17) and (18)  The wheel dynamic model 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. Preliminary numerical simulations were conducted to 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  [40]. The white spheres are passive markers. 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: A) the effect of the two-layer predictor on the trajectory tracking is investigated, B) the safety algorithm is tested with two circular obstacles in the operating environment, and C) the obstacle avoidance maneuver is tested for a large obstacle with non-circular footprint in the operating environment.

A. FIRST EXPERIMENT-EFFECT OF THE TWO-LAYER 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 velocity loop has a PI control, i.e., C(s) = 2 + 1/s. Moreover, the steering angle control is also designed as a PI control, i.e., C θ (s) = 0.6 + 0.1/s. The integral action noticeably reduces the steady-state tracking error.  With the two-layer predictor, the transient is passed in less than 7 s, and tracking accuracy above 98% is achieved.
First, a circular reference trajectory is generated as x r = R sin(ω r t), y r = −R cos(ω r t), where R = 1 m, and ω r = 2π/20 rad/s. The VFO without the two-layer predictor is unstable with C(s) = 2 + 1/s. Thus, the wheel velocity control is modified as C(s) = 0.5+0.1/s, where the two-layer predictor is not present. The initial condition is set to x(0) = 0.05 m, y(0) = −1.50 m, and θ(0) = −3 • . The effect of the two-layer Smith predictor (SP) is shown in Figure 7 and 8. Despite the large initial error, the proposed algorithm brings the vehicle to steady-sate in less than 7 s, which improves the convergence time of the VFO by a factor of four. Contour error is the closest distance from the actual position to the reference curve, directly measuring the tracking precision.  Moreover, the proposed method is tested with a figure-8 reference trajectory as given by x r = a x sin(2ω r t) and y r = −a y cos(ω r t), where a x = 0.5 m and a y = 1.5 m, and ω r = 2π/30 rad/s. The initial condition is set to x(0) = 0.08 m, y(0) = −1.52 m, and θ(0) = 14 • . The experimental result is shown in Figure 9. The algorithm passes the transient in less than 5 s. The RMS and mean contour error are 1.28 cm and 1.16 cm, respectively. The tracking accuracy is above 98% for the two cases.
Remark 3: 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 Figure 8(b), the PI controller keeps the RMS value of the steady-state angle error about 4 • . However, the reference angle of the figure-8 oscillates between ±122 • . Thus, as shown in Figure 9(c), the RMS value of the steady-state angle error is about 10 • . Advanced angle control techniques require special investigation, which is not in the scope of this work.

B. SECOND EXPERIMENT-AVOIDANCE MANEUVER WITH TWO CIRCULAR OBSTACLES
The proposed algorithm can handle single or multiple obstacles in the operating environment. The control structure remains the same. The barrier function can also be formed using a general methodology, where the count, position, and dimension of the obstacles can be modified arbitrarily. For example, consider the following barrier function where B 0 and σ j are positive constants, m is the number of obstacles. The distance of the vehicle from the obstacle j is  calculated as where The snapshots of the experiment are shown in Figure 10, where three traffic cones mark each obstacle. The quantitative experimental results are shown in Figure 11 and 12. The reference trajectory is generated as x r = R sin(ω r t), y r = −R cos(ω r t), where R = 1 m, and ω r = 2π/40 rad/s. The initial position and steering angle are x(0) = 0.07 m, y(0) = −1.48 m, and θ(0) = 3 • . The algorithm provides consistent avoidance performance. The vehicle stays away from the obstacles shown as blue circles. Additional obstacles can be included by properly modifying the barrier function (78). The calculated envelope of the unsafe steering angle is shown in Figure 12(a), where the adjusted steering angle, θ a , is not allowed to take any value between θ L = β−δ and θ H = β+δ. In other words, the safe angle is kept outside the unsafe  envelope during the experiment. As Figure 12(b) shows, the barrier function stays negative, which proves that safety is achieved.
The selection of parameter α in (39) affects the obstacle avoidance maneuver. Small values of α cause a conservative obstacle avoidance, which creates a long detour around the obstacle. On the other hand, a large value of α causes aggressive avoidance maneuvers. Thus, large values of α may cause the vehicle to collide with the obstacle when the vehicle velocity increases. The experimental result shown in Figure 13 verifies the effect of α on the variation of the barrier function. If the value of α is increased, the vehicle may narrowly evade the obstacle. Hence, as shown in Figure 13, the barrier function experiences values near zero.
Some guidelines to tune the value of α can be obtained from (47). Note that the value of c determines the safe heading angle. If the vehicle velocity is slow, one can increase α. Then, c drops below one at a closer distance to the avoidance boundary, and a tight maneuver can be safely executed. On the other hand, if the vehicle moves fast, the value of α needs to be reduced so that c drops below one farther from the avoidance boundary. Hence, the fast vehicle will have adequate room to avoid the obstacle. One can design an adaptive algorithm to update the value of α based on the vehicle's velocity.

C. THIRD EXPERIMENT-NON-CIRCULAR OBSTACLE
The proposed safety algorithm can also handle non-circular obstacles. The components of the algorithm remain the same.
where n is positive integer larger than one, B 0 is a positive real number, σ x and σ 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 σ x , σ y , and n for each obstacle. Here, a square obstacle is considered at [0 1.2] T m with σ x = σ y = 1, n = 2, and α = 1. A circular reference trajectory is generated as x r = R sin(ω r t), y r = −R cos(ω r t), where R = 0.75 m, and ω r = 2π/40 rad/s. The initial condition is set to x(0) = −0.1 m, y(0) = −0.87 m, and θ(0) = 2 • . The snapshots of the experiment are shown in Figure 14, where five traffic cones mark the obstacle. The experimental result shown in Figure 15 confirms that the vehicle accurately tracks the reference trajectory and safely avoids the obstacle. As shown in Figure 16(a), the steering angle is kept outside the unsafe steering angle envelope. Also, as shown in Figure 16(b), the barrier function is negative during the experiment, which means safety is achieved.

VIII. CONCLUSION
This work develops a controller with guaranteed safety for collision-free navigation of nonholonomic vehicles. The stability and safety of the proposed algorithm are proved analytically and verified via extensive experiments. The two-layer predictor reduces the response time of the control algorithm by a factor of four and improves trajectory tracking accuracy above 98%. The safety control keeps the vehicle steering angle outside the unsafe steering angle envelope, thus ensuring obstacle avoidance. The performance of the safety control is tunable using the decay rate of the barrier function, α. The value α is selected to accommodate collision-free navigation at high vehicle velocities. If the vehicle velocity changes widely, one may achieve a consistent avoidance maneuver by adaptively modifying α. The proposed design uses linear control components and has eight control parameters distributed between the three control modules, i.e., the VFO, safety control, and dynamic control. Hence, the control design and calibration are simplified. Future work expands the usage of barrier function for collision-free navigation of vehicles in the presence of moving obstacles.