Hierarchical rule‐base reduction fuzzy control for constant velocity path tracking of a differential steer vehicle

Hierarchical rule‐base reduction (HRBR) was used to create a new form of waypoint navigation control for a skid‐steer vehicle, which consists of a multiple input‐single output nonlinear fuzzy angular velocity controller. HRBR enabled an increase in system complexity by only selecting the rules most influential on state errors. The membership functions of the fuzzy controller employed a trapezoidal structure with a completely symmetric rule‐base. The work was motivated by a desire to find the limitations of fuzzy control in terms of accuracy and robustness across environments. To accomplish this, an examination of the proposed controller is completed by employing test courses. The test courses examine the effects of steering disturbance, phase lag, and overshoot. The controller's performance was compared with existing waypoint navigation controllers, pure pursuit, and the Huskić Buck Zell (HBZ) controller. After initial controller development/tuning was completed in the simulation, the controllers were tested outdoors. The HRBR fuzzy was found to outperform the pure pursuit and HBZ in simulation (36.74% and 80.56% improvement in Root Mean Square Error (RMSE) on one course) and on concrete with mixed results on a surface with different dynamics, namely grass (23.13% and 55.64% improvement in RMSE averaging the two on the same course). If a moderate amount of tuning of the fuzzy controller had not been performed in simulation, failure across different environments would be more likely. The present study is important as it illustrates the potential effectiveness of the HRBR for control applications beyond waypoint navigation.

odds with Model-based approaches, like LQR, linear-MPC, and Hinfinity.These controllers use the vehicle's A matrix and control error signal to develop an optimal and/or robust target trajectory and a corresponding control action (Khelfi & Abdessameud, 2007;Tashiro, 2013;Vinodh Kumar & Jerome, 2013).Several other control approaches include the following.
Frequency domain controllers, like P, PI, PD, or PID control, being inherently SISO, can not account for multiple objectives at the same time and require a preprocessing, mid-level path planning component to select waypoints (Majid et al., 2016).The stability dynamics associated with this approach will also vary heavily with travel time, speed, and terrain (Campbell, 2007).Stability and performance criteria can still be guaranteed, but this requires a sensitivity analysis and rigorous system identification only to be valid on hard, flat ground (Pentzer et al., 2014).
Sliding mode controllers operate in a binary fashion by prescribing either a maximal or minimal control effort to drive the desired error state to a sliding manifold with a zero-error state (Young et al., 1999).Sliding mode controllers have been demonstrated to work to an extent on skid steer autonomous land vehicles (Yang & Kim, 1999), but the steady-state oscillations have kept them from widespread use.
Learning-based controllers (Kuutti et al., 2020) that create a multivariable, nonlinear, sensor input-control output mapping have become popular for autonomous vehicle control applications (Ferrari & Stengel, 2005).However, vehicles can become unstable (Yi et al., 2007) when presented with disturbances outside of their training space, such as unexpected changes to the vehicle dynamics, ground contact physics, or unforeseen sensor measurements.To attempt to remedy this issue, recent works have begun to integrate zero-shot learning (Puang et al., 2020).
Geometric controllers determine the optimal control action based on the manifold defined by the geometric-based constraints on the vehicle and its error state (Sachkov, 2022).For differential and skid steer vehicles, the most common form of geometric control is pure pursuit (Samuel et al., 2016b).These controllers are robust, so long as the target point is far enough away from the vehicle to account for the maximum system time delays and any discrepancies between the real-world vehicle dynamics and model dynamics (Murphy, 1994).As such, pure pursuit was a baseline controller used in this paper.Another geometric controller used in this paper was the Huskić Buck Zell (HBZ) controller presented in Huskić et al. (2019) as it showed promising results in a variety of outdoor settings at high speeds.
Given the issues presented, fuzzy control was investigated.
Historical background on the use of fuzzy logic in general and applications in autonomous vehicle control can be found in Bělohlávek et al. (2017) and Driankov and Saffiotti (2001), respectively.A somewhat representative sample of more recent research is seen in Etlik et al. (2021), Rastelli and Peñas (2015), and Wang et al. (2015).
The overarching trend in this research is that the controllers are low-fidelity nonlinear input-output mappings that attempt to be logically intuitive using linguistic variables and values to partition the decision space.Doing this makes them good at modeling human perception and easy to tune to replicate expert human operator behavior (Norris et al., 2006;Zadeh, 1975).These controllers all tend to suffer in terms of performance because they have a limited number of linguistic variables with three or fewer linguistic values to keep their rule-base sizes manageable.A common way control theorists have tried to mitigate the downsides of these fidelity problems while maintaining the performance benefits of fuzzy logic is to integrate fuzzy logic into other control schemes.
One of the most common control schemes is to combine fuzzy and sliding mode control.This combination improves the fidelity of a pure fuzzy control system and adds robustness and multiobjective decisionmaking capability to a pure sliding mode control system.This combination is accomplished by fuzzifying the output of sliding mode controllers to reduce chatter (Jae-Oh et al., 2011;Song & Smith, 2000).An application of the fuzzy sliding mode controller can be seen in Hwang et al. (2018) and Panda et al. (2020) for an autonomous ground vehicle (AGV) and autonomous underwater vehicles (AUV), respectively, both with considerations for payload.Another advantage of fuzzy is its ability to simplify parameter adjustment when paired with other controllers, as in Wang et al. (2020), this was achieved when paired with a sliding mode active disturbance rejection controller for an AUV.
Another common approach is to use fuzzy logic to vary the lookahead distance used on a pure pursuit controller (Shan et al., 2015), which allows the pure pursuit controller to function outside of a fixed linear velocity environment.Various other approaches involve using fuzzy logic to pre-process and filter multiple inputs into a single output that is then used as the input to a different style of controller (Belorkar & Wong, 2016;de Silva, 1993).
These approaches help smooth the fidelity-related issues associated with fuzzy logic but do not solve the underlying issues associated with the lack of membership functions.The hierarchical rule-base reduction (HRBR) method presented in Section 3 attempts to solve these issues by enabling an increase in the number of linguistic values without an exponential increase in the related rulebase.When paired with the use of trapezoidal membership functions and the resulting symmetric rule-base, additional robustness and ease of implementation are further achieved.
The Clearpath Jackal UGV (Robotics, 2020) and presented in Figure 1, a skid steer vehicle, was used for experimental validation of the controller as well as a template for related simulation validation.
Ensuring the accuracy of the Jackal model in simulation, the variable, nonlinear dynamics of an outdoor setting were captured by incorporating a description of tire ground interactions using the rigid tire, nonlinear spring-damper model (Azad & Featherstone, 2010) , as seen in Figure 2. Accordingly, these wheels were specified as i = 2, 3, 4, 5.
The spatial velocity vector for F 1 was given by (1).This vector was comprised of the angular and translational velocities represented by ω and v, respectively.
Equation ( 2) was the velocity of each of the wheels.The motion transformation from F 1 to F i was given by X i 1 , the subspace matrix of each wheel was S i , and the angular velocity was q ˙i.
The inertia matrix of body i at the body's center of mass (COM) defined I i .The inertia matrix for the main body was given by (3) and for the wheels by (4).In (3), a, b, and c represented the dimensions of the body in x, y, and z.Similarly, in (4), 2r, w, 2r represented the dimensions of the wheels.r was the radius of the wheels, and w expressed the wheels' width. (3) For bodies n m = 1, 2, …, 5, n was the mass of the body.Likewise, the COM location for each body, expressed in body coordinates was given by c n .Combining the above, the generalized version of the parallel axis theorem for spatial inertia is shown in (5).
Relative to the main body, (6) represented the apparent inertia of any wheel to the main body.
( ) The total spatial inertia of the main body was then (7).
In addition, (8) determined the force due to the velocity-product.
The external spatial force on the main body was evaluated using (9).k ˆ1 was the unit vector parallel to the z 1 -axis.While the force due to gravity on the main body was f grav 1 and f iw 1 was the reaction force on each wheel.
The rigid body dynamic model.
The inertial acceleration of the main body was given by (10).X* i 1 represented the force transformation from The angular acceleration of each wheel, q ¨i, was determined using (11).Conversely, the applied torque was given by τ i and

| Ground contact
The model presented in the previous sub-section originated from Aguilera-Marinovic et al. ( 2016) with the addition of Azad and Featherstone (2010).In this model, the vehicle was treated as a rigid body that interacted with a compliant ground.This compliant ground was modeled as a uniform distribution of an infinite number of nonlinear spring-damper pairs.Further, these rigid body-ground interactions were represented as a set of discrete contact points, each of which caused the ground to deflect spherically.
The slipping force of the wheel(s) at point k was given by ( 12), where μ represented the coefficient of friction and N k represented the normal force from the ground.
The sticking component of friction between the wheel(s) and ground was evaluated using Equation (13).Moreover, K was the surface stiffness coefficient, δ was the nonpositive penetration distance, u was, "the tangential deformation of the ground at the contact point," D was the surface damping coefficient, and V sph was, "the tangential velocity of the bottom point of the sphere" (Azad & Featherstone, 2010).
Given the above, the friction force was determined using (14). in a process called fuzzification (Shan et al., 2015).
Linguistic values describe their associated variable's performance with descriptors like fast and slow.Membership functions, μ ,

Zn m
, determine what elements comprise the fuzzy set associated with a given linguistic value (Hanumanthakari et al., 2021).
After fuzzification, output value membership is determined using IF-THEN rules (Mamdani & Assilian, 1975).This structure is presented in (15) with O k being the output linguistic variables and B n m , being the output linguistic values.How the AND, OR, and IF-THEN operations interact with the membership functions for the values in the antecedents and consequents varies with implementation.
A Mamdani-type implementation using a product AND (t-norm) was used for the proposed controller.The controller also maintained a constant linear velocity with the vehicle's angular velocity as the only output.To calculate this crisp output, Center of Mass (CoM) defuzzifcation ( 16), was used.In ( 16), n was the number of membership functions, x i was the amount of control output for membership function i, and μ x ( ) c i was the degree of membership in membership function i.
It was noteworthy that the controller's rule-base was symmetric, and similar to the rule-base presented in Norris et al. (2006).The reason for the symmetry was that the controller was assumed to act with the same magnitude but opposite gains while making right or left turns.The proposed fuzzy controller used trapezoidal membership functions, as opposed to the traditional triangular or Gaussian membership functions.This choice is related to a human operator in Norris et al. (2003).
Furthermore, the use of trapezoidal membership functions reduced bang-bang and improved overall system stability as the flat regions provided a margin of acceptable error in the input, especially around the zero error region.Moreover, using a trapezoid allowed for some of the more desirable traits of a Gaussian function to be captured (Khairuddin et al., 2020), in a computationally efficient way.
The proposed controller incorporated more input error functions (five inputs) than most.This was done while still keeping the rulebase fairly small (40 rules) as compared to the potential hundreds of rules that would result from a standard fuzzy controller with the same linguistic variables and values.This level of fidelity was achieved through use of the fuzzy relations control strategy (FRCS) introduced in Norris ( 2001).First, relevant controller linguistic variables, fuzzy relations control variables (FRCVs), and outputs were established.
Then, an FRCS determined the most globally influential FRCVs and put the FRCVs in a hierarchy of influence.This hierarchy was used to divide the operating environment into distinct regions.Following, the relations in the hierarchy/regions informed a selection of the rules most influential on state errors.This entire top-down process comprised the HRBR as was introduced in Norris ( 2001) and Norris et al. (2006).
Error signal functions, the FRCVs, were minimized when the vehicle was in a specific state with the span of all error states corresponding to all possible vehicle positions and orientations.The FRCVs were: the distance from the vehicle to the target point (distErr Target) Table 1, the minimum distance from the vehicle to the current path segment (distErr Line) Table 2, the angle between the vehicle's heading and the current path segment (θ Near ) Table 3, the angle between the vehicle's heading and the next path segment (θ Lookahead ) Table 4, and the angle between the vehicle's heading and a point F on the current path segment between the vehicle's projected onto the segment and the next waypoint (θ Far ) Table 5.  17)-( 19).
If the fuzzy controller were to stray from the path given a set of tuned values that reflected a dramatically different environment, a recovery point could be useful as a potential fail-safe.Thus, the fuzzy controller used (θ Far ).When the positional error state was far away from the target trajectory and target point, the controller was designed to orient the vehicle to minimize (θ Far ) and head towards the far from trajectory target point (F in Figure 3).Defining the location of F was done through the use of Equations ( 20)-( 22).In Equation the robot's position, R, onto the current path segment, AB ¯.In Equation ( 22), k is a constant used to place the recovery point F.
To have the controller approach the trajectory quickly, the value of k had to be close to 1. Figure 4 shows the system approach behavior over a range of values, which were used for tuning purposes to select the desired k.For this controller, a k of 0.95 was selected as the root mean square error (RMSE) was fairly low compared to the other values tested, Table 7, while oscillating marginally less than the k of one on the initial turn, Figure 4.
This method to select F provided a harmonious solution that solved several issues.The vehicle aggressively approached the waypoint when segment completion was imminent, while approaching from a more casual angle when the end of the segment was further away.This casual angle decreased the overall completion time for the path, and in cases where the waypoints were far enough apart for the approach angle to be substantially shallow, it would typically be much less important than the path being tightly followed.In cases where obstacle avoidance was a priority, a k of one would reduce risk of collision and thus controller failure.Alternatively, if this controller was implemented on a piece of construction equipment a k of zero would be preferable as sharp turns can cause excess wear and even potential failure of the machine.
When distErr Target was small and in the range of its "near" linguistic value minimizing (θ Lookahead ) was the sole control objective.
Similarly, minimizing (θ Far ) was the sole control objective when distErr Target was in its "far" range and distErr line was in its "far left" range However, the controller performance saw no benefit from having the potential output spanning the space of all possible control inputs.Keeping in mind the full set of inputs and output, the left half of the symmetric rule-base is provided in Table 9.
F I G U R E 3 Distances and angles relevant to the robot.
F I G U R E 4 The fuzzy system approach behavior over multiple k values on a 5 m target path with a 2 m initial offset.
T A B L E 7 The root mean square error for multiple k values on a 5 m target path with a 2 m initial offset.2 sin( ) .The lookahead distance was chosen to be 0.5 m by sweeping through potential lookahead values while converging to a straight line with an initial offset.The results of this experiment were run in simulation and can be seen below in Figures 6 and 7.The lookahead value of 0.5 m was selected because it appeared to have reasonably small overshoots while also having acceptably fast rise times and settling distances.In test cases like the one presented in Figure 6, it made sense to choose a further lookahead point between 0.55 and 0.65 m because it further reduced overshoot and did not sacrifice much in terms of settling distance.As well, it can be gleaned from Figure 7 that a further lookahead point requires less control action.
However, these controllers performed worse in terms of accumulating phase lag.The 0.5 m lookahead controller also performed slightly better than these controllers in terms of minimizing the RMSE over the path; with mse values of 0.5338 m for 0.5 and 0.5545, 0.586, and 0.5864 m for 0.55, 0.60, and 0.65 m of lookahead distance respectively.There can also be an argument to be made for using slightly smaller lookahead values because they have slightly smaller mse values; with 0.40 m having had a value of 0.5254 and 0.45 m having had a value of 0.5270 m.However, on the actual test courses, these controllers performed worse than the controller with a lookahead distance of 0.5 m.This was because the settling distance and overshoot became much more important metrics than rise distance when the vehicle was initialized on the T A B L E 9 Half of the symmetric fuzzy controller rule-base.| 725 path.If the vehicle was expected to have to regularly converge to paths from far away the benefits from these controllers may outweigh the costs, but this is an edge case in most day-to-day operations.

| HBZ control
The HBZ controller (Huskić et al., 2019), used both environmental and geometric factors to determine a speed and steering control effort.Core to both control efforts was knowledge of the velocity of the left wheels, V l , and the velocity of the right wheels, V r , as seen in Figure 8 and computed using Equation ( 23).
In Equation ( 23  F I G U R E 8 Linear and angular velocities alongside instantaneous centers of rotation used to compute the HBZ's control efforts.

F I G U R E 9
The geometry used to compute positional/angular errors between the robot's frame (xr, yr), and the target waypoint's frame (xp, yp), given the world frame (xW, yW).
From V l and V r , an instantaneous arc of the vehicle's future motion can be determined.The curvature, c, of this arc was evaluated using Equation ( 24) such that c v ω = ∕ .In Equation (24) x ICR was x coordinate of the ICR with respect to the robot's local x-axis, x r .Note that α α y y x , , , , l r ICRl ICRr ICR can all vary depending on the environment.(24) Also necessary to determining both control actions were the geometric errors.These errors include x e and y e which were the vehicle's x and y position with respect to the target way-point's frame of reference as seen in Figure 9. Similarly, θ e was the difference between the vehicle's orientation θ r and the orientation of the path segment immediately preceding the waypoint θ p .From these errors ψ y v ( , ) e x , the steering smoothing function, could be computed using Equation ( 25) where ψ y v ( , ) e x 's maximum was some positive angle θ a .
x a e (25) Additionally, from the geometric errors V , the controller's Lyapunov function, was used both to establish the controller's stability and to determine when to transition between speed commands.V was evaluated using Equation ( 26) where σ was a positive constant.
. From all of the above, the forward linear speed command v xnew was determined using Equation ( 27).In Equation ( 27) V m was the maximum linear velocity of the vehicle and ϵ was a positive constant that determines whether a faster or slower v xnew should be used.Focusing now on determining the steering command, evaluating ψ y v ˙( , ) e x , the derivative of the steering smoothing function, was necessary.This was done with Equation ( 28) where ψ y v ( , ) old e x was the previously commanded smoothing function output from dt seconds before.(29) In addition to θ s ˙, ė , the velocity of the vehicle's transformed movement toward the waypoint, was needed to compute the angular velocity command.s ˙was determined using Equation (30) with γ having been yet another positive constant.

| Simulation and outdoor experimental setup
The metrics used to compare the controllers were the square root of the mean squared distance error with respect to the target trajectory, the maximum distance error with respect to the target trajectory, and the time required to complete the courses.The controller tuning was done by hand and with the aid of automation scripts.
The outdoor experimental results were acquired by running the Clearpath Jackal outdoors on a concrete parking lot and a grass lawn.
An instance of the robot operating system (ROS) ran on the Clearpath Jackal.Using ROS allowed for both sensor data to be sent to and commands to be received from an external laptop.To enable such communication/control the laptop ran MATLAB, the MATLAB ROS Toolbox (The MathWorks, Inc., 2021c), the MATLAB Fuzzy Logic Toolbox (The MathWorks, Inc., 2021a), and Simulink.In Simulink, a subscriber block subscribed to the position and orientation inputs from the ROS topic "/jackal_velocity_controller/odom" on the concrete lot and "/odometry/filtered" on the grass lawn.Next, these inputs were converted into vehicle states and a target trajectory.
Those were then fed into the fuzzy controller.The controller proceeded to determine the angular velocity setpoint.Both the predefined linear and controlled angular velocity setpoints were then DEKHTERMAN ET AL.
| 727 published to the ROS topic "/cmd_vel" using a publish block.At the same time, the x position, y position, angular velocity, and distErr Line were saved to a matrix in MATLAB.
The same data was saved in the simulation, where results were acquired using the skid-steer vehicle dynamic model presented in Section 2. Accordingly, the Spatial v _ 2 toolbox, as presented in Featherstone (2015) and accompanied by Featherstone (2008), allowed for the implementation of the dynamic model.Related values specific to the Clearpath Jackal can be found in Table 10.Both the left and right velocity commands were divided by the wheel radii and compared against current angular velocities for the corresponding wheels.The low-level controller was a black box that was a stand-in for both the DC motor(s) and any associated control of said motor(s).The low-level controller took in a wheel angular velocity error and output a torque.The low-level controller was chosen to be a PID controller with an integral windup saturation limit.The parameters of the PID were chosen manually such that steady-state wheel velocity errors went to zero quickly, see Figure 10.Related parameters were defined as follows: , wheel velocity saturation = 2.2 m/s, torque saturation = 7 Nm, realistic linear velocity factor = 0.978, and realistic angular velocity factor = 0.275.Furthermore, for ease of implementation, each wheel was modeled as having an associated motor despite the actual vehicle having only one motor for the left two wheels and one motor for the right two wheels.
Additionally, an initialization file was used to create an environment for the vehicle to interact with, which consisted of the ground geometry and ground contact coefficients K D = 1, 000, 000, = 1000, and μ = 0.85.These values were used to reflect the indoor testing environment used to determine the characteristics of the controller used to control the vehicle's DC motor.Next, it created a 6-DOF floating base parent link with the physical characteristics of the base of the vehicle.Then, it created wheel models with the physical characteristics of the wheels and linked them to the base with a 1-DOF rotation link.After that, the file defined the contact point locations of the base, which were the corners, and the wheels which were 32 points evenly spaced about the circumference of the wheels.Lastly, the vehicle and wheel initial positions, orientations, and velocities were defined.
To verify the proposed dynamic model and tune any inaccurate parameters, a high-fidelity motion capture system with 8 Vicon T40 motion capture cameras located in the University of Illinois Intelligent Robotics Laboratory were used.These cameras were designed to track the wavelength of light reflected by the silver balls attached to the vehicle.This was done by performing a least-squares regression/ triangulation of the position of each of the individual balls, which allowed it to calculate the position of the balls with 1 mm accuracy.
The proposed ball configuration was thus deemed sufficient to   The implementation of all of the above can be found at https:// github.com/AUVSL/constant_velocity_HRBR_for_skid_steer_vehicles.

| Results
There were similar paths traveled between the indoor simulation and outdoor concrete tests.As such, simulation figures were excluded for brevity while noting that the HBZ had minimal/no osculation on curves in simulation due to the simulation's high update rate enabling the control effort to be more responsive than on the Jackal.
Additionally, a tabulated set of results for all test courses can be found in Tables 12-16.Moreover, in the "Course" column of the tables sim.represents a simulated indoor test surface, con.represents an outdoor concrete test surface, while grass resents an outdoor grass test surface.For brevity, exact RMSEs, MEs, and CCTs are not discussed as PC is the most relevant when comparing controllers.
The C Course, as seen in Figures 11 and 12, and as discussed in Section 4.1 was designed to examine overshoot related to its above minimum radius turns and whether related instability would be detected.
When running the controllers on the C course, it was observed qualitatively that the overshoot was mildly larger for the HBZ on the concrete path as compared to the grass path with it seeing a similar degree of oscillation across both surfaces.The degree of overshoot is seen between Figures 13 and 14 where the HBZ took longer to settle to the same section.Figures 13 and 14 also exemplify the increased control action and oscillation seen in the HRBR fuzzy and pure pursuit when moving from the concrete lot to the grass lawn.
Numerically it can be seen in Tables 15 and 16, that in the simulation of an indoor environment, the HRBR fuzzy showed an improvement over both the pure pursuit and HBZ.On the outdoor concrete lot, the HRBR fuzzy had a larger MA than the pure pursuit due to it overshooting the turns on this course/surface.The RMSE  As well, similar to the C course an increase in control action was observed for the HRBR fuzzy and pure pursuit when moving from the concrete lot to the grass lawn, see Figures 17 and 18.
In terms of metrics, it can be observed from Tables 15 and 16 that just as in the other indoor simulation course the HRBR fuzzy outperformed the other controllers tested.When testing on the outdoor concrete parking lot the HRBR fuzzy performed better than the other two controllers.While testing on the outdoor grass lawn, the HRBR fuzzy did outperform the HBZ but it did markedly worse than the pure pursuit.Just as was discussed in the other grass case the behavior of the HRBR fuzzy strayed from the surface it was tuned for.In this case, the heading of the vehicle was close to that of the path, see the zoom-ins for Figures 15 and 16, but the "close left/ right" value did not trigger to the degree it needed to.

| CONCLUSION
In this paper, a novel waypoint navigation control algorithm for a skid-steer vehicle that used the HRBR methodology with the FRCS was presented.This methodology was used to reduce the rule-base of the controller, and as a result the algorithm's computational It is advised that future work explore dynamic optimal tuning methods to improve the robustness of the controller, assess the stability of the controller presented in this paper, and perform a sensitivity analysis.Moreover, the controller could be paired with obstacle avoidance protocols, additional inputs/outputs, and a second lookahead point could be leveraged to create a secondorder approximation of curves.Beyond even skid vehicles this pathfollowing control scheme can be extended to other types of ground vehicles, underwater vehicles, and aerial vehicles given the controller's ability to mimic expert human operator performance.Given the versatile yet highly customizable nature of such a controller, there is even greater potential for the HRBR control type to be employed in a wide range of applications far beyond path-following.
, as discussed in Section 2. Additional model considerations are also explored in Section 4.4.The remainder of the paper is organized as follows.Section 2 presents the dynamic model of the Jackal.Section 3 describes the design of the fuzzy logic controller and the HRBR.Section 4 provides associated simulation and outdoor studies.Lastly, Section 5 con-Forward dynamics The forward dynamics presented below appeared originally in Aguilera-Marinovic et al. (2016).Five interconnected bodies were used to represent the vehicle.Each of these bodies had a reference frame.The main body referenced frame F 1 , and each of the wheels referenced frames F F − 2 5 Figure 3, θ AB is the orientation of the path segment connecting A to B, θ BC is the orientation of the path segment connecting B to C, θ RF , is the orientation of the path segment connecting R to F and θ R is the orientation of the robot.The distance error signals can be seen in Figure 3 with the aforementioned angular errors calculated using (17)-(19).

FRCVs
or "far right" range.As a result, both variables had the same linguistic values.They also all mapped to very similar steering control output values such that: far left mapped to right 4, close left mapped to right 2 or 1, respectively, zero mapped to zero, close right mapped to the left 2 or 1 respectively, and far-right mapped to left 4. When the vehicle was close to the path but away from the target point, the control objective was multifaceted.It prioritized minimizing (θ Near ) while also driving and then maintaining distErr Line to/at zero.This task incorporated five linguistic values from the distErr Line membership functions (near left, close left, zero, close right, and near right), and all five linguistic values from the (θ Near ) membership T A B L E 4 Theta lookahead's membership functions.Linguistic values Membership functions Far left trap(−3.142,−3.142, −2.391, −1.414) Close left trap(−2.391,−1.414, −0.9409, −0.0034) Zero trap(−0.9409,−0.0034, 0.0034, 0.9409) Close right trap(0.0034,0.9409, 1.414, 2.391) Far right trap(1.414,2.391, 3.142, 3.142) T A B L E 5 Theta far's membership functions.Linguistic values Membership functions Far left trap(−3.142,−3.142, −2.45, −1.4) Close left trap(−2.45,−1.4,−1.2, −0.2) Zero trap(−1.2,−0.2, 0.2, 1.2) Close right trap(0.2, 1.2, 1.4, 2.45) Far right trap(1.4,2.45, 3.142, 3.142)T A B L E 6 A summary of the applied hierarchy of errors.Metric used for fuzzy relation control strategy classificationIn each scenario presented in the top rows of the table, a ranking of the considered errors for said case is provided.1 represents the most important error in that scenario and 2 and 3 represent less important errors in descending order.The hierarchy of errors relating these different scenarios can be viewed as a tree with the errors of rank 1 being leaf nodes and distErr Target being the root node such that each scenario represents a branch in the tree.DEKHTERMAN ET AL. | 723 functions (far left, near left, zero, near right, and far right).These were combined to make 25 rules that stabilized the vehicle about its equilibrium point.When the distErr line was zero, the steering control output minimized (θ Near ) as follows: far left mapped to right 3, near left mapped to right 1, zero mapped to zero, near right mapped to left 1, and far right mapped to left 3.In the presented fuzzy system, the output angular velocity setpoint that ranged from ω − max to ω max also had nine potential linguistic values.Those linguistic values were left 4, left 3, left 2, left 1, zero, right 1, right 2, right 3, and right 4. Unlike the membership functions associated with the input values, the membership functions for the output were triangular, all had the same area, and did not sum to one, see Table 8.The defuzzification process, which combined these control signals, used the CoM approach discussed previously.Each of the output membership functions being triangles with the same area meant that the defuzzification would take a weighted average of the peak values of the triangles, with the weights being the percentage that the associated rules were active.The normalized input membership functions had to span all errors to ensure that at all states the vehicle had output function membership.
Test coursesThe methodology presented inNorris and Patterson (2019) for validating controller performance was used for the HRBR fuzzy, pure pursuit, and HBZ controllers.The approach validated controller performance by testing controllers under a set of path conditions that emphasized the efforts of disturbance rejection, phase lag, overshoot, and so on.There are no figures in this section associated with blank versions of each of these test courses.However, each course is shown in Section 4.5 with plots of the vehicle performance overlayed.The C course, incorporated above minimum radius turns that were still relatively sharp.These above minimum radius turns allowed for a more accurate assessment of RMSE as a vehicle that could not turn in place could still have zero error.Accordingly, straightaways were paired with these above minimum radius turns to evaluate overshoot.This distinction is more important than it would initially seem as squaring the error term amplifies the errors associated with overshooting.The C course also had both right-handed and lefthanded turns, thus ensuring that the vehicle operated identically in both directions.The B course incorporated both oscillatory turns that invoked/ illustrated phase lag and the above minimum radius turns paired with straightaways of the C course.Thus, the course allowed for a more holistic examination of the controllers given the factors associated with RMSE discussed above.4.2| Pure pursuitOn each course, the fuzzy controller's performance was compared to that of the classical pure pursuit algorithm implemented inSamuel et al. (2016a).This choice was made as pure pursuit is one of the most commonly used waypoint navigation control algorithms and thus made for an ideal baseline controller.For that reason and those discussed in Section 1, the controller used was the default MATLAB pure pursuit control block (The MathWorks, Inc., 2021b).The geometric structure of the controller is presented in Figure5with: D being the lookahead distance from the vehicle to the path, and α being the angle between the vehicle's orientation, and r being the radius of the curve that the vehicle R travels along.Moreover, r was computed using D and α with the equation r = D α ), v x was the forward linear velocity of the robot, ω was the robot's angular velocity about its z-axis, y ICRl and y ICRr were the y coordinates of instantaneous center of rotations (ICR) of the left and right sides with respect to the robot's local y axis, y r , and α l and α r were mechanical correction factors.Notice that in Figure8, vx was not present as it was derived from the overall v.

F
I G U R E 5 The geometry used by pure pursuit to determinate a trajectory.F I G U R E 6 The pure pursuit trajectories for multiple lookahead distances on a 5 m target path with a 1 m initial offset.F I G U R E 7 The pure pursuit's control actions for multiple lookahead distances on a 3 m stepped course with the step at 1 m.
ψ y v ˙( , ) e x the change in the angular error θ ˙e was evaluated using Equation (29) with ζ having been another positive constant., ) + sin( − ( , )) sin( − ( , ))cos( − ( , )) reliant and sightly oscillatory nature of the HBZ controller meant that optimizing the performance of the controller given the level of fidelity of the simulation, as discussed in the next section, saw an inherent trade-off between simulation and real-world performance.As such, performance was mixed in both settings.More optimal values were found in the simulation; however, those same values resulted in controller failure in outdoor testing.This failure could have been due to model assumptions such as the vehicle being differential steer, that is, the turning radius of left/right wheels being half the track width.As such, further tuning done on the starting sinusoidal portion of the B course in simulation, found that values close to those proposed in Huskić et al. (2019) were acceptable and did not encounter failure modes outdoors.Those tuned values were

Further, the
Simulink portion of the model in the simulation was divided into four major components: the forward dynamics solver, the ground contact model, an external vehicle controller, and an internal vehicle controller.The forward dynamics solver applied forces/torques to update the vehicle's position and velocity.The ground contact model determined how the ground applied forces and torques back to the vehicle.The external vehicle controller worked much the same as in the experimental equivalent.It receives the vehicle position, orientation, and target path and output the target linear and angular velocities to minimize error with respect to the target trajectory.The internal vehicle controller accepted these velocity targets as inputs and translated them into wheel torques.During the creation of this model, Clearpath was contacted in an attempt to obtain more information about any specifics regarding the internal control processes of the vehicle, but that information was considered a trade secret.It was thus assumed that the control processes consisted of a high-level and low-level controller.The high-level controller would receive the linear and angular velocity control setpoints and transformed them into lower-level DC motor torque setpoints.The high-level controller first converted the angular and linear velocities setpoints to the right and left wheel velocities such that V left = Realistic Linear Velocity Factor * linear vel − Realistic Angular Velocity Factor * angular vel and V right = Realistic Linear Velocity Factor * linear vel + Realistic Angular Velocity Factor * angular vel.

T
A B L E 10 The vehicle model parameters of the Jackal.position/orientation data through differentiation and to develop a polynomial fit to map the wheel velocity setpoint allocation.This motion capture system was used to track the position of wheels as they spun for a given static open-loop control action as the vehicle was on a stand.This data was used to create the realistic setpoint polynomial fit.The motion capture system tracked the ground movement of the vehicle when given a single motion command.This movement data and the static open-loop control action were used to align the simulated vehicle model performance with real-world performance by manually tuning the compliant ground spring, damper, and friction coefficients.Once these coefficients were tuned.Attention was turned towards validating the simulation's performance relative to a range of control actions.The "test courses" used for simulation validation were a 5 m straight line course, a course with a 90°turn, and a course where the vehicle turned in place 360°.These courses provided a stopping condition for each open-loop control action.Moreover, there were three main metrics used to compute the errors on a given course/for a given control effort.The first was the difference between the vehicle's position in simulation to the vehicle's realworld position at a given point in time.The second and third metrics were the difference between the simulated and real-world vehicle's angular and linear velocity outputs.Each course was tested at two different linear/angular velocity commands.Straight Line I was set to a linear velocity of 0.5 m/s and 0 rad/s, Straight Line II at 1.5 m/s and 0 rad/s, 90°Turn I at 0.5 m/s and 0.5 rad/s, 90°Turn II at 1.5 m/s and 1.5 rad/s, 360°Spin I at 0 m/s and 0.5 rad/s, and 360°Spin II at 0 m/s and 1.5 rad/s.Each course was run twice with the averaged RMSE and maximum errors (ME) appearing in Table 11.The communication F I G U R E 10 The velocity error for each wheel given its velocity command and simulated velocity (y-axis) versus time (x-axis).T A B L E 11 Accuracy of the simulation is relative to the real-world vehicle when using a static open-loop control action.
delay of the Jackal was also incorporated.To measure the communication time delay, a discontinuity was generated between the vehicle's zero angular velocity and a commanded nonzero angular velocity.The time between the Jackal's localization package recognizing the command and the angular velocity of the wheels changing was then measured.Across several trials, this value averaged out to 0.068 s.However, since the simulation was not real-time the delay was increased to 0.075 s to reduce time discrepancies between it and the outdoor experiment.Due to the uncertainty of the course completion time (CCT) of the simulation, experimental and simulation CCTs were calculated by dividing the total distance traveled by the linear velocity.It was found in testing that the errors between controllers were on a similar scale.As such, percent change (PC) as seen in Equation (32) was used to compare controllers.In the next section, the pure pursuit and HBZ errors were the base values in Equation (32) with the fuzzy errors being the new values.simulation and the outdoor experiment, the Clearpath Jackal ran at an angular velocity set-point ranging between − 4 and 4 rad/s across all three courses and a linear velocity of 2 m/s, with the only HBZ able to lower its forward linear velocity from that value This gave the vehicle a theoretical minimum turn radius of 0.5 m, respectively.Once the simulated commands were determined, they were then converted to more realistic velocity setpoints and used to compute the forward forces relative to the ground contact model, see Section 3.

F
Section 4.1 was designed to examine both phase lag and overshoot, as well as determine if the two in tandem create instability in the controller.Qualitatively, it was found that when running the controllers on the B course the HBZ saw larger oscillates in the outdoor grass case than in the outdoor concrete case.This was assumed to be due to the T A B L E 15 The performance percent change from the pure pursuit to the HRBR fuzzy controller in a simulation reflecting an indoor environment, on an outdoor concrete parking lot, and on an outdoor grass lawn.L E 16 The performance percent change from the HBZ to the HRBR fuzzy controller in a simulation reflecting an indoor environment, on an outdoor concrete parking lot, and on an outdoor grass lawn.I G U R E 11 The vehicle trajectories on the outdoor concrete lot on the C course with a zoom-in on one representative turn.F I G U R E 12 The vehicle trajectories on the outdoor grass lawn on the C course with a zoom-in on one representative turn.F I G U R E 13 The angular velocity set-points on the concrete lot for a portion of the C course.DEKHTERMAN ET AL. | 731 wheels having less traction and thus ability to institute a gentler recovery once the control effort began oscillating between extremes.

F
I G U R E 14 The angular velocity set-points on the grass lawn for a portion of the C course.F I G U R E 15 The vehicle trajectories on the concrete lot on the B course with zoom-ins on two representative turns.F I G U R E 16 The vehicle trajectories on the grass lawn on the B course with zoom-ins on two representative turns.F I G U R E 17 The angular velocity set-points on the concrete lot for the sinusoidal portion of the B course.complexity, while simultaneously increasing the number of input membership functions that the controller could accept from two or three to five.This made for a substantial improvement that better allowed the controller to emulate an expert human operator as it more accurately modeled the complex nonlinear decision-making that humans use.The controller also used trapezoidal membership functions to mitigate the bang-bang effects that traditional controllers, especially HRBR fuzzy controllers, can encounter near the zero error state.The symmetric nature of the rule-base further simplified both the rule-base and tuning procedures.As a result of all of the above, the HRBR fuzzy controller was seen in Section 4.5 to have outperformed both the HBZ and pure pursuit controller in terms of RMSE, overshoot, and phase lag in simulation, on an outdoor concrete lot, with mixed results on grass.These results validate the controller on surfaces with dynamics similar to the one it was tuned on with robustness to changes in the environment.
T A B L E 12 The performance of the fuzzy controller in a simulation reflecting an indoor environment, on an outdoor concrete parking lot, and on an outdoor grass lawn.The performance of the pure pursuit controller in a simulation reflecting an indoor environment, on an outdoor concrete parking lot, and on an outdoor grass lawn.PC from the HRBR fuzzy to the pure pursuit was both more representative of overall course performance and larger than the unsigned ME PC.As such, the HRBR fuzzy was deemed to have outperformed the HBZ and outperformed or at minimum, matched the pure pursuit in this case.Grass was another case where the HRBR fuzzy outperformed the other two controllers.It is worth noting that on the grass the HRBR fuzzy did begin to mildly stray from how it was tuned to behavior in the indoor sim.The difference is present in the zoom-ins of Figures11 and 12, where it the HRBR fuzzy is seen to be more aggressively cutting corners on grass.