1. Introduction
Robust and accurate pose estimation is a fundamental requirement in mobile robotics, enabling key capabilities such as localization, mapping, motion control, and autonomous navigation. In planar systems, the pose typically comprises the robot’s position and orientation relative to a global coordinate frame. However, when relying on low-cost onboard sensors—such as wheel encoders and inertial measurement units (IMUs)—the estimation process is susceptible to various sources of error, including noise, drift, and asynchronous sampling [
1]. These challenges are exacerbated in omnidirectional robots equipped with Mecanum wheels, which are particularly prone to lateral slip and imperfect ground contact, making odometry-based measurements less reliable [
2].
To address these limitations, sensor fusion techniques have become widely adopted, with the extended Kalman filter (EKF) emerging as one of the most commonly used frameworks for nonlinear state estimation in robotics [
3]. Traditional EKF implementations often represent orientation using Euler angles or unit quaternions. While these methods are computationally efficient, they suffer from well-known drawbacks: Euler angles are subject to singularities such as gimbal lock, and quaternions introduce redundancy and require continuous normalization [
4]. These shortcomings can compromise the consistency and stability of the filter, particularly under high angular velocities or in the presence of sensor uncertainty.
Recent research has demonstrated that formulating estimation filters on Lie group manifolds can offer more mathematically consistent and compact representations of rotational motion. By defining the EKF directly on the Lie group
—which describes planar rotations—it is possible to maintain minimal representations that preserve the geometric structure of the state space [
5,
6]. These Lie group-based EKFs, also known as Discrete Lie Group EKFs (D-LG-EKFs), have been successfully applied in various robotic domains such as inertial navigation, human motion tracking, and SLAM, often showing improved accuracy and robustness compared to their Euclidean counterparts [
7].
Several studies have also explored the integration of these estimation techniques within robotic middleware platforms such as the Robot Operating System (ROS). For instance, Moore and Stouch [
8] proposed a generalized EKF framework compatible with ROS-based systems, while Park et al. [
9] evaluated the timing behavior of ROS 2.0 in multi-agent environments. Nevertheless, the application of Lie group-based EKFs to omnidirectional ground robots—particularly those relying exclusively on onboard inertial and wheel encoder data—remains limited. In such platforms, where accurate localization is crucial and external references (e.g., motion capture systems) may not be available, a reliable onboard estimator is essential.
In this work, we propose a real-time 2D pose estimation framework for omnidirectional mobile robots with Mecanum wheels, based on an extended Kalman filter formulated on the Lie group . The proposed system fuses angular velocity measurements from each wheel with inertial data from an IMU to estimate the robot’s planar position and orientation. The EKF was designed to operate directly on the Lie algebra , enabling a minimal and geometrically consistent treatment of orientation updates. The full estimation pipeline was implemented in C++ within the ROS Noetic environment, using message filters to synchronize asynchronous sensor streams. The mathematical model incorporates a discrete-time motion model for wheel-based odometry and a measurement model that integrates acceleration, angular velocity, and magnetic orientation. The validation experiment was performed in: (i) simulation using Gazebo, RViz, and realistic noisy sensor inputs, and (ii) real implementation on an omnidirectional mobile robot from the Hiwonder series. Unlike prior works that rely on external ground truth systems for correction, our approach uses only onboard sensing—making it applicable for low-cost robotic platforms. Results demonstrate that the Lie group-based EKF improves estimation consistency and robustness, particularly during rotational maneuvers with lateral slip, providing a practical solution for embedded localization in omnidirectional systems. Note that a key limitation of the present work is that the EKF formulation does not include explicit bias estimation, since the IMU is treated solely as an update tool rather than as part of the state vector. As a result, the filter cannot fully compensate for gyro bias and related drift, which may impact orientation accuracy in certain trajectories. In addition, the scope of our experimental validation is constrained by the availability of ground truth: the optical tracking system used is limited to a [m2] capture area, which restricts the duration and spatial extent of the runs that can be evaluated. This work was formulated under the assumption of a purely 2D pose estimation, where the robot is constrained to planar motion. As a result, the filter does not estimate inclination or compensate for gravity effects, which restricts its applicability to flat environments. This simplification reduces complexity but limits performance in scenarios involving ramps, slopes, or uneven terrain, and we identify this as an area for improvement in future extensions of the model.
3. Results
The experiment results were obtained from controlled trials in both simulated and physical settings. In simulation, we used a Gazebo implementation based on a previous work [
12], taking the simulator-provided ground-truth trajectory as the reference and comparing an extended Kalman filter (EKF) pose estimate and a wheel-odometry estimate. Complementary experiments were conducted on an omnidirectional mobile robot with mecanum wheels, where sensor data came from wheel encoders and a WitMotion IMU; the EKF and odometry 2D pose estimation were compared against an external ground-truth solution based on a low-error visual algorithm developed in a previous work [
13], which is under a publication process.
The noise terms were tuned based on the sensor specifications and taking into account a sample time of approximately 50 [Hz], which belongs to the maximum acquisition frequency for the wheels’ odometry. The noise values used are as follows: linear acceleration noise [m/s2 ], wheel speed noise [rad/s], IMU linear acceleration noise [m/s2 ], IMU gyroscope noise [rad/s] and IMU magnetometer noise [rad/s]. Additionally, the kinematic model requires geometric constants specific to the omnidirectional robot from the Hiwonder series. The wheel radius is [m] and the semi-axis longitudinal and lateral are [m] and [m].
The experimental validation was carried out across three different trajectories as shown in
Figure 2, where the plots come from a trajectory controller implemented on the omnidirectional robot. Recall that we are not assessing the precision of the controller, just the 2D pose estimation performance. The top row in
Figure 2 belongs to a real implementation compared against an external ground-truth, while the bottom row comprises the simulated results in a Gazebo environment.
Across the three trajectories, the EKF and the wheel odometry reproduce the simulated paths almost perfectly (see red lines in
Figure 2), indicating that the kinematic model and numerical implementation are internally consistent. In the rectangular path (see
Figure 2a), wheel odometry tracks the ground-truth corners and straight segments more closely than the EKF, with the EKF exhibiting slight corner-rounding and small lateral drifts near turns. In contrast, for the smooth figure-eight and elliptical paths in
Figure 2b,c, the EKF adheres more tightly to the measured trajectory, while wheel odometry shows curvature-dependent drift (systematic over/under-shoot on arcs), accumulating pose error over the loop. Overall, the EKF provides superior accuracy on smooth, continuously curving motions, whereas wheel odometry is competitive—and occasionally better—on long straight segments with abrupt stops and 90° turns.
The larger errors observed in the rectangular trajectory in
Figure 3 can be attributed to the aggressive cornering, where the robot is subjected to lateral slip, encoder quantization, and increased vibration. Under these conditions, the IMU measurements—particularly the magnetometer near motor currents—are more disturbed, and even small time misalignments between encoder and IMU data become significant at high angular rates. Furthermore, slight roll and pitch during turning project gravity into the accelerometer readings, which are not compensated in our 2D formulation. Since the filter covariances were tuned for smoother motion, these effects cause the EKF to over-trust corrupted measurements, resulting in larger discrepancies compared to the lemniscate and circular trajectories, where the dynamics remain more stable and consistent with the model assumptions.
The contrasting behavior is consistent with sensing and modeling trade-offs. Wheel odometry performs well on straight segments because encoder integration is low noise and slip is minimal. Sharp corners also limit heading error, since the robot is nearly stationary during heading changes. On smooth curves, the wheel–ground contact and the roller mechanics of mecanum-omni wheels cause small but persistent lateral slip and calibration errors in wheel radius and track width. These errors accumulate into a curvature-dependent position bias, which is exactly where fusing inertial measurements helps. The EKF mitigates this curvature drift by stabilizing heading with gyroscope information, but it can degrade on the rectangular path if (i) gyroscope bias/noise is mis-tuned, leading to over-smoothing and corner rounding; (ii) IMU–encoder timestamps are slightly misaligned, causing filter lag around impulsive yaw-rate changes; (iii) the IMU frame is misaligned by a few degrees with respect to base link; or (iv) the process/measurement covariances overweight the IMU near zero-velocity phases, injecting small heading errors that become lateral offsets after each corner. The good agreement in simulation suggests that these discrepancies are dominated by real-world effects rather than algorithmic faults.
Figure 3 shows the error evolution over time, in position and orientation, for the real and simulated experiments. In the rectangular-real run, the EKF shows large yaw spikes at the turns and a late position jump, while odometry remains near zero; this points to filter issues around impulsive yaw—likely a combination of (i) mis-tuned gyro bias/noise (overweighting the IMU), (ii) a few-ms IMU–encoder timestamp skew that creates lag at corners, and/or (iii) small IMU–base misalignment that converts heading transients into lateral error. In the lemniscate/real case, both estimators drift, but the EKF only partially suppresses curvature-induced error; odometry’s oscillatory error follows curvature, consistent with mecanum slip and minor radius/track calibration bias. In the circular/real run, the EKF clearly dominates: both position and yaw errors grow more slowly than odometry, confirming the value of gyro fusion under sustained curvature. The simulated rows invert part of this pattern—odometry is comparable or better in rectangular and lemniscate—implying the simulator lacks the lateral slip that penalizes odometry in reality, while the EKF remains sensitive to exact IMU statistics and tuning. The circular case favors the EKF in both domains, consistent with heading stabilization by the gyro when curvature persistently excites yaw.
Table 1 and
Table 2 present a comparative evaluation of the proposed EKF and the odometry 2D estimator across three reference trajectories: circular, square, and lemniscate. The results indicate that, in general, the EKF achieves improved position accuracy in real-world experiments, particularly in the circular and lemniscate trajectories. These types of paths are characterized by continuous curvature and are more susceptible to wheel slip and drift, where odometry alone accumulates significant error over time. In contrast, the EKF leverages inertial data to reduce this drift, resulting in lower RMS and mean position error. However, in the orientation domain, odometry often outperforms EKF, especially in the square trajectory, where it found lower position error and maximum orientation errors. This behavior may be explained by the abrupt transitions at corners, where the EKF is more sensitive to timing misalignments and inertial sensor noise. However, the maximum orientation errors for the EKF consistently appear at sharp turns rather than along straight-line segments, indicating that high angular rate changes present a challenge for the filter, potentially due to delayed IMU integration or suboptimal noise parameters. However, it is important to note that in the simulation environment, the EKF achieves lower orientation errors overall, suggesting that under ideal conditions—such as precise sensor synchronization and noise-free inputs—the filter effectively manages rotational dynamics.
Across all three trajectories, the EKF’s performance in position estimation is more stable, with RMS and mean position errors typically lower or comparable to odometry. This reinforces the strength of the sensor fusion approach in mitigating encoder noise and slip, especially in real-world environments where ideal conditions are not guaranteed. The orientation estimation remains a limitation for the EKF in sharp cornering cases, suggesting that further improvements such as adaptive covariance tuning, bias correction, or improved timestamp synchronization could enhance heading estimation. To summarize, the EKF provides superior positional robustness in curved or dynamic motion, while odometry may still be preferable in structured paths with straight lines and predictable transitions.