Nonuniform Dual-Rate Extended Kalman-Filter-Based Sensor Fusion for Path-Following Control of a Holonomic Mobile Robot with Four Mecanum Wheels

: This paper presents an extended Kalman-ﬁlter-based sensor fusion approach, which enables path-following control of a holonomic mobile robot with four mecanum wheels. Output measurements of the mobile platform may be sensed at different rates: odometry and orientation data can be obtained at a fast rate, whereas position information may be generated at a slower rate. In addition, as a consequence of possible sensor failures or the use of lossy wireless sensor networks, the presence of the measurements may be nonuniform. These issues may degrade the path-following control performance. The consideration of a nonuniform dual-rate extended Kalman ﬁlter (NUDREKF) enables us to estimate fast-rate robot states from nonuniform, slow-rate measurements. Providing these estimations to the motion controller, a fast-rate control signal can be generated, reaching a satisfactory path-following behavior. The proposed NUDREKF is stated to represent any possible sampling pattern by means of a diagonal matrix, which is updated at a fast rate from the current, existing measurements. This fact results in a ﬂexible formulation and a straightforward algorithmic implementation. A modiﬁed Pure Pursuit path-tracking algorithm is used, where the reference linear velocity is decomposed into Cartesian components, which are parameterized by a variable gain that depends on the distance to the target point. The proposed solution was evaluated using a realistic simulation model, developed with Simscape Multibody (Matlab/Simulink), of the four-mecanum-wheeled mobile platform. This model includes some of the nonlinearities present in a real vehicle, such as dead-zone, saturation, encoder resolution, and wheel sliding, and was validated by comparing real and simulated behavior. Comparison results reveal the superiority of the sensor fusion proposal under the presence of nonuniform, slow-rate measurements.


Introduction
A holonomic robot is a mobile robot where the number of controllable degrees of freedom (DOF) is the same as the number of total DOF-that is, the robot has no kinematic constraints [1].In contrast, in a nonholonomic robot, the number of controllable DOF is less than the number of total DOF; thus, the robot may have one or more kinematic constraints.The main advantage of holonomic vehicles over nonholonomic vehicles is their ability to rotate and translate independently and simultaneously [2]-that is, to move in any direction immediately with any orientation, e.g., they can move sideways [3].In other words, the holonomic vehicle is capable of omnidirectional movement [4].Among others, mecanum wheels [5] are a special kind of wheel that can be installed on the robotic platform to achieve omnidirectional mobility.This feature of the mecanum-wheeled mobile platforms implies their use in a wide variety of fields [6]: military activities, industrial tasks, medical applications, educational environments, etc.However, they usually present some practical problems such as random wheel slippage and high-speed vibration, which may cause uncertain position errors and low efficiency [7].
In our work, a path-tracking application is developed for a holonomic robot equipped with four mecanum wheels.As no time constraints are required for the mobile platform to converge to and follow the path, the path-tracking application becomes a path-following motion control [8].The Pure Pursuit path-tracking algorithm (see, e.g., [9]) is used in order to make the robotic platform follow a predefined path approximately.Modified versions of the algorithm can be found in literature.They introduce different approaches with the aim of improving the path-tracking behavior by minimizing oscillations and lateral error.For instance, in [10], the next position of the path is obtained by considering a factor (which is experimentally calculated) multiplied by the path error (the closest distance of the vehicle to the path); in [11], a derivative term is added to the desired curvature equation; in [12], multiple look ahead points along the target path are aggregated to form a spatially filtered steering command; in [13], the ideal vehicle speed is estimated from curvature information; in [14], fuzzy control techniques are applied to dynamically obtain the look ahead distance; in [15], linear interpolation for waypoints and tuning rules for the look ahead distance based on curvature and speed are proposed.In our case, the Pure Pursuit path-tacking algorithm computes reference linear velocities from position estimations provided by a Kalman filter.The novelty of our modified version lies in decomposing the reference linear velocity into Cartesian components, which are parameterized by a variable gain that depends on the distance to the target point.
The control solution proposed in this work uses the celebrated Kalman filter [16][17][18] via its extended version (see, e.g., [19]) in order to (i) estimate the nonlinear behavior of the mobile platform, provide not available (not measurable) variables, and reduce the possible process and measurement noise effect; (ii) fuse all the data provided by the different sensing devices (encoders and beacons) to be used in the control stage.These data may arrive to the filter at two different rates-that is, whereas rotational velocities and orientation may be sensed at a faster rate, position information is usually obtained at a slower rate.In addition, the possible occurrence of sensor failures or the use of lossy wireless sensor networks may make the presence of the measurements nonuniform.Not facing these facts in the control solution may degrade the path-following control performance.For this reason, a novel, nonuniform dual-rate extended Kalman filter (NUDREKF) is formulated in order to estimate fast-rate robot states from nonuniform, slow-rate measurements.Providing these estimations to the fast-rate motion controller, a proper control signal may be generated so as to achieve a satisfactory path-following behavior.The proposed NUDREKF introduces a flexible formulation based on the use of a diagonal matrix, which is updated at fast rate from the current, existing measurements, allowing any possible sampling pattern.This feature results in a straightforward algorithmic implementation.
Few works on (uniform) DREKF can be found in literature related to autonomous vehicle frameworks.For instance, the DREKF is used to better estimate unavailable system states in unmanned aerial vehicles [20] to manage uncertainty in an obstacle tracking application [21], to fuse output variables sensed at different rates in a self-driving vehicle [22] and in a two-wheeled mobile robot [23].Nevertheless, to the best of the authors' knowledge, no work is available coping with the problem of nonuniform measurements via the so-called NUDREKF.Only in [24,25] is this kind of filter used to deal with nonuniform and delayed measurements, but applied to numerical examples and case studies out of the autonomous vehicle field.
In order to authentically reproduce the expected real behavior of the robotic platform, Simscape Multibody is used in this work.This multibody modeling tool is an extension of Matlab/Simulink, where complex physical bodies and their interactions can be intuitively defined so as to realistically simulate system dynamics.In this way, the robot model can include nonlinearities present in the real vehicle such as dead-zone, saturation, encoder resolution, and wheel sliding.These model parameters can be previously validated by comparing real and simulated behavior.Simscape Multibody has been employed in some recent studies related to autonomous vehicle frameworks.For instance, in [26], an antilock braking system (ABS) control for a vehicle is simulated; in [27], a mathematical model needed for torque determination during robot locomotion is tested and validated; in [28], simulation results for even and uneven surfaces are compared for a tread robot; in [29], a mechatronic interface for mobile manipulators is developed; in [23], a path-following control for a two-wheeled mobile robot is simulated.To the best of authors' knowledge, few works on the simulation of mecanum-wheeled mobile platforms via Simscape Multibody can be found in literature.Some examples may be [30,31], where different motion models including multiple contact forces for this kind of robot are simulated.
Summarizing, the main contributions of the work are as follows: • Consideration of a NUDREKF, which enables us to generate fast-rate state estimates from nonuniform, slow-rate measurements to be supplied to the fast-rate motion controller in order to reach a satisfactory path-following behavior.

•
Modification of the Pure Pursuit path-tacking algorithm to improve adaptability to the change in turning and curvature sections of paths.• Development of a powerful simulation tool, which takes into account complex modeling aspects to realistically represent the mobile platform movement.
The paper is organized as follows.Section 2 describes the problem scenario and the proposed control solution.Section 3 is devoted to mathematical aspects such as kinematic modeling of the process (Section 3.1), formulation of the NUDREKF (Section 3.2), and presentation of the modified version of the Pure Pursuit algorithm (Section 3.3).Section 4 presents the simulation tool developed, focusing on the description of the nonlinear aspects of the model.Section 5 introduces the cases simulated and the results obtained, which are analyzed in detail via some cost indexes.Finally, some conclusions summarize the present work in Section 6.

Problem Scenario
The overall control scheme is depicted in Figure 1, where two main parts can be distinguished:

•
Robot simulator, which contains some complex vehicle modeling aspects as a result of using the features of the specialized Simscape Multibody simulation tool, and includes a dynamic proportional-integral (PI) controller for controlling the velocities of the wheels.More details can be found in Section 4. • Control structure, which includes a path-tracking controller (in this case, the Pure Pursuit algorithm), PI controllers for angular orientation and linear and angular velocities, an inverse kinematics computation block, and a state estimator (in this case, the proposed NUDREKF).The control structure generates the path reference based on waypoints and then generates the consequent actions to control the actuators.The main novelty of the NUDREKF concerning the DREKF [23] is the consideration of possible irregularities in the sampling period, such as loss of information from the sensors.
The control structure uses two different periods: T as the estimation and control period, and the sensing period for vehicle orientation and angular velocity; NT as the vehicle position sensing period, where N ∈ N + is the multiplicity between both periods.The position output will be more slowly sampled (at period NT) due to real hardware constraints in the beacon system.The beacon system also suffers from information losses denoted by γ i .Let us, respectively, denote (.) T k and (.) NT k as a T-period and an NT-period signal or variable, where k ∈ N are iterations at the corresponding period.In more detail, the control structure works as follows: • At the current instant kT, from a set of waypoints and the current position estimation ( X, Y) T k , the Pure Pursuit path-tracking algorithm [9] generates the reference linear velocities along the X-axis and Y-axis of the vehicle body, (V Other important parameters of the algorithm are the reference linear velocity V re f , the look ahead distance L re f , and the minimum distance from the robot to the target point.More details about the Pure Pursuit algorithm will be given in Section 3.3.

•
The reference linear velocities (V re f x , V re f y ) T k are injected to linear velocity PI controllers to generate the velocity control actions (V u x , V u y ) T k .These PI controllers are used to reduce the negative effect that may cause dead-zones and possible external disturbances over the reference linear velocities.The vehicle inverse kinematics block transforms the velocity control actions T k , the internal dynamic PI controller (included in the robot simulator) computes the control signal to be applied to the vehicle.These control actions will be applied under Zero-Order Hold (ZOH) conditions.

•
As a result, the robot outputs will be obtained.The vehicle is equipped with a virtual beacon.Four fixed beacons are additionally placed on the walls of the simulation environment, emulating a beacon-based indoor positioning system.The measurements are the distances between the virtual mobile beacon and the four fixed beacons, which are located in a known place with respect to the world system of the simulator.
may be disturbed by Gaussian noise, which will be created from a set of independent seeds in order to generate a reproducible pseudorandom noise.As a consequence, the experiments developed with the simulator will be reproducible under the same conditions.

•
In addition, each of the position distances (d 1 , d 2 , d 3 , d 4 ) NT k may be individually lost according to a pseudorandom uniform probability distribution with loss probability P. When a position distance The prediction step is generated at period T from the odometry measurements (ω 1 , ω 2 , ω 3 , ω 4 ) T k .The correction step is also obtained at period T, but from data sensed at the two different periods-that is, (ψ) T k and (d 1 , d 2 , d 3 , d 4 ) NT k .More details about the proposed NUDREKF can be found in Section 3.2.

Mathematical Foundations
In this section, the mathematical aspects of the work are presented.First, the model of the four-mecanum-wheeled mobile platform is stated.Second, the formulation of the NUDREKF is presented.Finally, the modified Pure Pursuit path-tracking algorithm is introduced.

Kinematic and Dynamic Vehicle Modeling
The kinematic model represents the vehicle velocity evolution in a fixed inertial frame (see in Figure 2).A discrete-time version of the model at period T can be deduced as follows.A detailed description of the kinematic modeling can be found in [32,33]: where R is the radius of the wheel, and L x and L y are, respectively, the distance between the center of the wheels and the center of the robot along the longitudinal and lateral body axis of the robot.The linear and angular velocity control actions are transformed into reference rotational velocities by means of the inverse kinematic model: In this work, although the mobile platform has 3 DOF, only two of them will be used in order to reach any 2D point (i.e., lateral and longitudinal movement).Then, the reference orientation is set to 0 (i.e., (ψ re f )

Non-Uniform Dual-Rate Extended Kalman Filter (NUDREKF)
In this section, the NUDREKF is stated.Its formulation is based on a well-known theory about nonuniform, multirate, sampled-data system modeling [34][35][36], which will be revisited in the next subsection.

Nonuniform, Multirate, Sampled-Data System Modeling
First of all, let us consider a continuous time-invariant linear state-space plant model: where t ∈ R + , x ∈ R n is the state vector, u ∈ R m is the control input vector, and y ∈ R p is the output vector.In consequence, the state transition matrix A ∈ R n×n , the input matrix B ∈ R n×m , the output matrix C ∈ R p×n , and the feedthrough (or feedforward) D ∈ R p×m .Assuming a periodic sampling T (i.e., t = k • T, k ∈ N), a discrete-time-invariant, linear, state-space plant model under ZOH conditions yields where An example of sampling scheme for a nonuniform, multirate, sampled-data multipleinput multiple-output (MIMO) system is depicted in Figure 3.To represent the different sampling times, two diagonal matrices of dimensions m × m and p × p can be used as follows: 1, when there is a sample 0, otherwise 1, when there is a sample 0, otherwise Following the principles developed in [37,38], a nonuniform, multirate, sampled-data system can be expressed as two discrete time systems, one of them representing the plant and another one representing the input-hold process where being B SR (T) = T 0 e A•(T−s) Bds.These multirate matrices can be easily obtained as the product of two independent matrices: the first one corresponds to the single-rate system, and the second one to the nonuniform multirate sampling procedure.So, we have If a similar reasoning is additionally applied to output signals, a compact, nonuniform, multirate, discrete model can be obtained as follows: where, now, The proposed NUDREKF-based control structure considers nonuniform, dual-rate, sampled-data system outputs and fast-rate inputs to the plant.Then, from the previous formulation, we will have being

Formulation of the NUDREKF
The previous reasoning can be applied to the well-known Extended Kalman Filter equations [19]: where ; η T k is a possible measurement noise, which is assumed to be zero mean multivariate Gaussian noise with covariance R T k ; and the output is , being d i = 0, (i = 1 . . .4) at times k = NT and γ i = 1 if no measurement loss is produced (otherwise, γ i = 0).
The nonlinear functions f and g can be linearized as follows: where, as usual, the notation ξ T k|k−1 means the state estimated for the instant k from the instant k − 1.If the previous nonuniform multirate modeling is applied to the linearized model, it yields Then, the NUDREKF is formulated as follows: • Initialization: where Cov(• ) denotes covariance, and E(• ) denotes the expectation.• Algorithm ∀k ≥ 1: where K T k is the Kalman filter gain, and Q T k , P T k|k are covariance matrices (see more details in Appendix A).

Pure Pursuit Algorithm
As is well-known [9], from a set of waypoints, the current robot position, and the look ahead distance L re f , the Pure Pursuit path-tracking algorithm provides the next point to be followed by the robot.This target point is reached at a desired speed, known as the reference linear velocity V re f .Let us name D as the distance from the current robot position to the target point.D can be decomposed into Cartesian components d x and d y , as depicted in Figure 4.In the present work, a modified version of the algorithm is proposed.Since the mobile platform is able to laterally and longitudinally move, V re f can also be decomposed into Cartesian components, i.e., lateral (V re f x ) and longitudinal (V re f y ) reference linear velocities.Additionally, the set of waypoints is composed of a subset of so-called via-points (see, e.g., [39]).The main goal of these via-points is to improve the approach to the target point in curved sections of the path.The procedure needs to define a minimum distance .Then, the algorithm searches for the next target point.If this point is not a via-point, the algorithm proceeds as usual.If the point is a via-point, it will be retained as the current target point while the distance D is greater than .
Finally, the algorithm computes the reference linear velocities V re f x and V re f y .They are parameterized by a variable gain K V ∈ [0, 1] that depends on D in such a way that K V = D L re f .If the target point is not a via-point, D = L re f ; hence, K V = 1.Note that for a via-point, the lower D is, the lower the velocities will be.The modified Pure Pursuit path-tracking algorithm is detailed in Algorithm 1.

Four-Mecanum-Wheeled Mobile Platform
Firstly, the simulation tool developed to test the proposed control solution will be presented in Section 4.1.Secondly, some hardware details about the real platform will be shown in Section 4.2.

Simulation Tool
Obviously, the best way to test the proposed path-tracking algorithm is by using a real four-mecanum wheeled vehicle.The main issue is that it is not easy to measure the real position of the vehicle.Outdoor positioning (e.g., GPS) does not have enough precision to measure XY coordinates of a small size vehicle.Indoor positioning (e.g., beacons or LIDAR) provides the position with a great amount of noise.To prove the validity of the proposed solutions, a precise way of determining the position and orientation of the vehicle is needed.Simulation tools can be an especially useful alternative, but the simulation model must imitate the behavior of the real model as precisely as possible.
Using transfer functions and kinematic equations of the vehicle excludes some important characteristics of the real vehicle.Nonlinearities of the motors, the limited resolution of the encoders, and the sliding of the wheels play a significant role in the trajectory described by the real vehicle and must be included in the simulation model.Simscape Multibody, a well-known Matlab/Simulink library, is used to develop a simulation model in this work.
In this case, the main challenge is to simulate the real behavior of the mecanum wheel.In a conventional wheel, the friction between the wheel surface and the ground generates the forces and torques that move the vehicle.An example of this for a two-wheeled vehicle can be found in [23].However, in the case of the mecanum wheel, the forces and torques are generated by the friction with the rollers of the wheel (see Figure 5).The rollers, attached with a 45 • angle, allow the wheel to generate a twisting force that makes the vehicle to move in 3 DOF (forward-backwards, right-left, rotation around the vertical axis).Figure 6 shows the Simscape Multibody model of the mecanum wheel.As can be seen, each one of the rollers has a revolute joint to allow it to turn over the hub in which it is mounted.The contact forces of each one of the rollers can also be seen.These blocks are the ones that generate the combination of forces/torques that make the wheel behave as in the real world.Each one of the four wheels of the simulated vehicle has its own angular velocity control, as shown in Figure 7.The revolute joint allows the wheel to turn over the vehicle chassis.The damping coefficient in this revolute joint was adjusted to emulate the dynamic behavior of the motor used in the real vehicle.Saturation and dead-zone blocks were included for a better simulation of the real behavior.As the motors used in the real vehicle have good linearity, it was considered necessary to include any other nonlinearities.A PI controller was used to assure that the wheel angular velocity follows its desired reference.This control loop uses the same sample time as the real control loop, implemented in the microcontroller mounted in the vehicle.The parameters on this PI controller are the ones used in the angular velocity control loops of the real vehicle.In the real motor, the angular velocity was measured by means of a built-in encoder.The resolution of this encoder, which depends on the number of pulses-per-revolution, was included in the feedback so that the simulated control loop works with the same information as in the real world.Joining four of these structures to the CAD (Computer-Aided Design) model of the chassis, the simulated vehicle is completed, as shown in Figure 9.A Cartesian joint was included to provide XYZ DOF.A Z-axis revolute joint allows the vehicle to turn around its vertical axis.The complete simulation model has four inputs (the angular velocity references) and seven outputs (the angular velocities of the wheels, X and Y position, and orientation of the vehicle).The angular velocities are provided, as measured by the encoders.Position and orientation are provided as if they were measured by a perfect positioning system.To evaluate the proposed algorithms, some noise was added to the outputs to consider the unavoidable uncertainty of the real measurement devices.To be useful, the simulation model must provide the same information as the real vehicle.Some parameters of the model must be experimentally adjusted, and this can only be achieved by comparing the real response with the simulated one.Some of these parameters are related to the friction of the joints (damping coefficients) that allow the vehicle to move and turn over the floor; however, the most important ones are the parameters involved with the Spatial Contact Forces blocks.Stiffness and damping determine the normal forces that appear when the mecanum wheel rollers touch the ground surface.These forces prevent the vehicle going through the ground, as it happens in the real world.Coefficients of dynamic and static friction determine the frictional forces that make the vehicle move and turn over the ground surface.
Some angular velocity references can be applied to the control loops of the vehicle wheels.The consequent movement of the vehicle (position and orientation) can be measured by processing some images captured by a zenithal camera.The goal is to obtain, with the simulated vehicle, the same outputs when the same inputs are applied.
For the first test, the same reference was applied to the four wheels, which cause a longitudinal (in the direction of the wheels) movement ((V 10a shows the results (real and simulated) obtained from this test.As can be seen, the vehicle moves about 1.5 m in the Y direction, and the results are quite similar.The second test applies the same reference to the front-right and back-left wheels and the opposite reference to the other two wheels.These references cause a transversal (perpendicular to the direction of the wheels) movement ((V The results are shown in Figure 10b.The vehicle moves about 1.5 m in the X direction, and the simulation model proves to be quite accurate.For the third test, the signs of the references for the right wheels are different from the ones for the left wheels causing a rotational (around the vertical axis) movement ((V The results in Figure 10c show that the real vehicle turns approximately at the same velocity as the simulated model.
These comparisons between real and simulated results prove that the simulated vehicle behaves similar to the real one.So, it can be used to test the goodness of the path-tracking algorithms proposed in this work.This will be performed in Section 5.

Real Platform
The reference model for the robot used in the simulator is the NEXUS Robot 4WD Mecanum Wheel Mobile Arduino Robotics Car 10011 (see Figure 11).Some features of the robotic platform are as follows: the body weighs about 3 kg, the wheels weigh 400 g and have 9 rubber rollers, and the parameters related to the kinematic model are (see in Section 3.1) R = 0.05 m and L x = L y = 0.15 m.More details about the robot can be found in http://www.nexusrobot.com/product/4wd-mecanum-wheel-mobile-arduino-roboticscar-10011.html,accessed on 25 March 2022.
By default, the robotic platform does not include a global positioning system for indoors.For this reason, a beacon-based indoor positioning system-Marvelmind HW v4.9was integrated (https://marvelmind.com/pics/marvelmind_navigation_system_manual.pdf, accessed on 25 March 2022).The experiments in Section 5.3 were performed in an interference-free environment, where the robot position may be sensed via the Marvelmind beacon system and the robot orientation by means of a Bosch BNO055 Absolute Orientation Sensor (https://www.bosch-sensortec.com/products/smart-sensors/bno055/),accessed on 25 March 2022.
The original metal gearmotor is replaced by a Pololu 37D metal gearmotor (https: //www.pololu.com/product/4754,accessed on 25 March 2022) with a gear ratio (GR) of 70 and equipped with an integrated quadrature encoder with 64 counts per revolution (CPR).In order to transform the CPR into the angular velocity of the wheels ω i , the following equivalence is applied: where NC is the number of counts during the sensing period T. The original hardware was updated by means of a ESP32 with Arduino UNO form factor for compatibility with Adafruit Motor Shield V2 (https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino),accessed on 25 March 2022.In addition, a DFRobot Gravity-I2C Digital Wattmeter is included (https://www.dfrobot.com/product-1827.html,accessed on 25 March 2022) to measure the voltage and amperage of the battery, and estimate the real voltage injected to the motor by the PWM reference of the Adafruit Motor Shield V2.The code was developed via FREERTOS, a real-time operating system for microcontrollers, which uses a periodic task and the two cores of the ESP32.

Simulation Results
This section is organized as follows: The cases simulated are defined in Section 5.1.Some cost indexes are formulated in Section 5.2 with the aim of being used to better assess the results obtained in Section 5.3.

Cases Evaluated
These are the cases studied in the simulation tool: The reference trajectory to be tracked is the Lissajous curve (1, 2) shown in Figure 12, where the subset of via-points can also be seen.

Cost Indexes for Performance Assessment
To better quantify the results to be shown in Section 5.3, four cost indexes will be used.These indexes evaluate control performance for every case simulated with the aim of making the comparison easier.The cost indexes are as follows: • J 1 , which is based on the 2 -norm, and its goal is to provide a measure (in meters) about how accurately the path is followed: where l is the number of iterations at period T required by the vehicle to reach the final point of the path, (X, Y) T k is the current vehicle position, and (X re f , Y re f ) T k is the nearest kinematic position reference to the current vehicle position.It is worth noting that, despite using a dual-rate control scheme, the position data may be available at period T (intersample behavior; see, e.g., [40]) in the simulator environment.• J 2 , which is based on the ∞ -norm and is defined to know the maximum difference (in meters) between the desired path and the current vehicle position: • J 3 , which measures the total amount of time (in seconds) elapsed to arrive at the final destination: • J 4 , which is based on the 2 -norm, and its goal is to provide a measure (in meters) about how accurately the estimation is made: where ( X, Y) T k is the estimated vehicle position.

Results
First of all, let us compare the modified Pure Pursuit path-tracking algorithm with the original, conventional version under the same conditions and for SR 0.1 s.
Figure 13 clearly reveals the benefits of using the modified proposal (MPP) versus the original, conventional one (CPP)-that is, MPP is able to track the path more accurately than CPP.This fact is confirmed by the cost indexes presented in Table 1, where J 1 and J 2 are noticeably worsened for the original algorithm.However, J 3 points out a slight reduction of time that CPP needs to take in order to follow the trajectory.Note that the indexes are divided by the best case-that is, the SR 0.1 s MPP.Then, adopting the modified Pure Pursuit algorithm for the rest of simulations, Figures 14-16 show the results obtained for the Lissajous curve.Table 2 presents the cost indexes calculated for every case, where the cost indexes J 1 , J 2 , and J 3 are divided by the nominal case-that is, the single-rate case at T = 0.1 s (SR 0.1 s)-and J 4 is divided by the best case-that is, NUDREKF P = 0.1.The main conclusions of the comparison are as follows: • Cost index J 3 presents values very similar to the nominal one for every case, except for SR 0.3 s-that is, the case where direct measurements are sensed at sampling period T = 0.3 s, which has a value 2.7 times higher.• SR 0.3 s shows the worst behavior (noticeable oscillations), which is confirmed by the clear rise of every cost index.On average, J 1 and J 2 increase their values by 42.8 and 17.5 times, respectively.

•
In general, the NUDREKF cost indices are lower than the DREKF cost indices when appearing in nonuniform sampling patterns, beyond managing noisy and scarce data, and existing process nonlinearities.As can be seen in Figure 14, the higher P is, the worse the cost value will be.This rule is more evident for the DREKF.Note that the worst case for NUDREKF-that is, when P = 0.5-presents lower J 1 , J 2 , and J 4 than the best case for DREKF-that is, when P = 0.1.• NUDREKF P = 0.1 shows accurate path tracking, despite having scarce position measurements (10 less times), and assuming dropouts, noise, and nonlinearities.The cost indexes confirm the achievement of satisfactory control properties, since J 1 and J 2 are slightly worsened with respect to the nominal case (4.8 and 2.4 times higher, respectively).NUDREKF P = 0.3 shows slightly worse path tracking with respect to NUDREKF P = 0.1, increasing 0.5, 1, and 0.3 points in J 1 , J 2 , and J 4 , respectively.NUDREKF P = 0.5 worsens the path-tracking behavior a bit more regarding NUDREKF P = 0.1, and increases 0.7, 1.2, and 0.5 points in J 1 , J 2 , and J 4 , respectively.In summary, the NUDREKF strategy preserves a satisfactory trajectory tracking performance under conditions of loss of measurements.

•
In contrast, DREKF P = 0.1 shows slightly worse path tracking with respect to NUDREKF P = 0.5, and quite worse behavior regarding NUDREKF P = 0.1.As can be seen in Figure 15, DREKF P = 0.3 and DREKF P = 0.5 seem to achieve good path tracking; however, the correction of the position is taken only a few times and it is generally based on odometry measurements, obtaining poor performance on the cost index J 1 , J 2 and J 4 .If the experiment were extended over time, the tracking would suffer from drift in the estimation of the robot.• Figure 16 depicts the path-tracking trajectory error for the different cases evaluated.
As expected (see Figure 16a), SR 0.1 s presents the lowest error, being practically null except for the four slight spikes corresponding to the four curves of the trajectory, and SR 0.3 s shows the highest error, which reaches up to 0.6 m. Between both single-rate cases, the error value for the dual-rate approaches can be found.As can be seen in Figure 16b,c, NUDREKF cases depict lower error (up to 0.1 m) than DREKF cases (which can reach up to 0.3 m).This fact confirms the previous conclusions about the improvement introduced by the nonuniform sampling strategy.
As a summary, the proposed NUDREKF strategy enables us to reach a satisfactory path-tracking performance, despite considering possible nonuniform patterns of loss of data.To check the possibilities and power of the simulation tool developed, the next link to one video that shows the cases evaluated is provided: https://1drv.ms/v/s!AgyvxPGH2 rA4ezbNYsz7S1O6xqg, accessed on 25 March 2022.

Conclusions
The proposed nonuniform dual-rate extended Kalman filter solves the problem of estimating the state of a vehicle from output measurements sensed at different periods and with possible nonuniform loss of data, despite existing nonlinearities and noises.The modified Pure Pursuit path-tracking algorithm is a useful procedure for precise reference tracking of the four-mecanum-wheeled mobile platform along a curved path.The simulation application based on Simscape Multibody is a powerful tool to test the control structure proposed.

Figure 1 .
Figure 1.Control structure with NUDREKF estimator for the vehicle.

Figure 7 .
Figure 7. PI controller with the revolute joint as motor attached to a mecanum wheel.The simulated control loop was validated by comparison with the real one.With the wheels-in-the-air (i.e, no contact with the ground) and the wheels-on-the-ground, the results provided by the real and simulated encoder are shown in Figure8a,b.As can be seen, real results have a great amount of noise, but the dynamical behavior is quite similar to the simulated results in the transient and steady state.

Figure 10 .
Figure 10.Comparison of results between the simulator and real robot data.

•
Direct position, orientation, and angular velocity at single-rate T (SR): In this experiment, output measurements (ω 1 , ω 2 , ω 3 , ω 4 , X, Y, ψ) T k are directly sampled from the simulator block at different periods T = 0.1 s and T = 0.3 s.No noise is considered.In addition, for the case SR 0.1 s, the modified version of the Pure Pursuit path-tracking algorithm presented in this work is compared with the original method under the same conditions.• Dual-rate Extended Kalman Filter (DREKF): This is the filter introduced in [23], which is used in the present work to be compared with the proposed NUDREKF.Gaussian noises are added to the robot outputs: distances (d 1 , d 2 , d 3 , d 4 ) NT k , which are sensed at sampling period NT, being N = 10; velocities (ω 1 , ω 2 , ω 3 , ω 4 ) T k ; and vehicle orientation (ψ) T k , which are sampled at period T = 0.1 s.Regarding possible losses of the distance values, three options for the loss probability P are simulated: P = 0.1, P = 0.3, and P = 0.5.Due to the nature of the DREKF, if one or more distances are lost at the current sensing time, the full set of distances will be considered lost.• Nonuniform dual-rate extended Kalman filter (NUDREKF): This is the case presented in Section 3.2.The simulations are carried out under the same considerations as in the DREKF scenario; now, however, as the NUDREKF is able to face nonuniform sampling patterns, individual losses for each distance can be treated.

Figure 15 .
Figure 15.Comparison results for a Lissajous reference.
is an extended state vector and (ν u ) T k is the held input.Note that [• ] denotes the transpose function.The matrices (A MR ) T k , (B MR ) T k are defined as

Table 1 .
Cost index results for Pure Pursuit comparison.
Figure 13.Pure Pursuit comparison results for a Lissajous reference.

Table 2 .
Cost index results.