Wheel slip
Wheel slip – definition
Wheel slip is the relative motion between a driven or braked wheel and the ground at its contact patch. In mobile robotics, it means that wheel rotation does not correspond exactly to the rover’s linear or angular motion. As a result, odometry calculated from wheel encoders contains error.
For a differential-drive UGV, longitudinal slip is commonly expressed as a slip ratio:
s = (rω - v) / max(|rω|, |v|)
In this expression, r is the effective wheel radius, ω is wheel angular velocity, and v is ground-relative longitudinal velocity. A value near zero indicates rolling without significant longitudinal slip. This expression is undefined when both rω and v are zero. The sign convention and exact denominator differ between vehicle-dynamics references, especially for driving versus braking. ISO 8855 defines vehicle-dynamics terminology and should be used when a project requires a formal convention.
Wheel slip also includes lateral slip or skidding. Lateral slip occurs when a wheel’s rolling direction differs from its actual velocity vector. It is especially relevant to skid-steer and differential-drive rovers during turns on loose soil, grass, gravel, wet surfaces, ramps, or uneven terrain.
Why wheel slip matters in UGV odometry
Wheel encoders measure wheel rotation, not displacement over the terrain. A ROS 2 driver can therefore publish internally consistent encoder data while the estimated pose is physically incorrect. This is a sensing limitation, not necessarily a driver fault.
For a differential-drive platform, the nominal kinematic estimate uses left and right wheel travel:
Δs = (ΔsR + ΔsL) / 2
Δθ = (ΔsR - ΔsL) / b
Here, ΔsR and ΔsL are encoder-inferred right and left wheel travels and b is the effective wheel separation. Slip means that the ground-relative wheel travel can differ from these encoder-inferred values. The resulting errors accumulate over time and can cause map drift, poor path tracking, or failure to meet the pose-tolerance requirements of an autonomous navigation task.
Typical operational symptoms include the following:
- the
odompose diverges from LiDAR-, camera-, or GNSS-based localization; - the rover rotates less or more than commanded during in-place turns;
- Nav2 recovery behavior occurs repeatedly because the local pose estimate is inconsistent;
- an occupancy-grid map shows duplicated walls or curved corridors;
- wheel velocity is non-zero while an external sensor indicates little or no platform motion.
Wheel slip in ROS 2
ROS 2 does not define a universal standard message named WheelSlip. Slip is normally inferred by comparing wheel odometry with one or more independent measurements. A base driver usually publishes wheel-derived motion as nav_msgs/msg/Odometry, which contains pose, twist, frame IDs, and covariance arrays.
REP 105 defines the conventional mobile-robot frame hierarchy. Wheel odometry is usually represented as a transform from odom to base_link. The odom frame may drift over long distances, while the map frame can be corrected by SLAM, visual localization, or global positioning.
A practical ROS 2 sensor-fusion configuration should treat encoder odometry as an uncertain input rather than ground truth. The uncertainty should increase when the rover operates on surfaces where traction is variable.
ekf_filter_node:
ros__parameters:
frequency: 30.0
two_d_mode: true
odom0: /wheel/odometry
odom0_config: [false, false, false,
false, false, true,
true, true, false,
false, false, true,
false, false, false]
imu0: /imu/data
imu0_config: [false, false, false,
false, false, true,
false, false, false,
false, false, true,
false, false, false]
The example follows the parameter structure documented by the ROS robot_localization package. The value frequency: 30.0 is an integration choice, not a required rate. It must be selected according to sensor update rates, processor load, and rover dynamics.
Detection and mitigation methods
No single method detects every type of slip. Encoder and IMU fusion can identify some inconsistent motion, but an IMU alone cannot provide stable long-term position because acceleration integration drifts. External observations are required for robust correction over longer trajectories.
Engineering approaches used on UGV platforms include:
- LiDAR odometry or SLAM: compare wheel-derived motion with scan matching or map localization.
- Visual odometry: estimate motion from a monocular, stereo, or depth camera when texture and illumination are adequate.
- GNSS/RTK: constrain global position outdoors. RTK does not directly measure wheel slip, but it exposes accumulated odometry error.
- IMU consistency checks: compare encoder-derived yaw rate with
sensor_msgs/msg/Imu.angular_velocity.z. - Adaptive covariance: increase wheel-odometry covariance during rapid turns, high commanded acceleration, or detected traction loss.
- Motion constraints: reduce acceleration and turning commands, especially on low-friction terrain.
Wheel slip on Leo Rover and Raph Rover
Leo Rover is a four-wheel skid-steer mobile platform that can be controlled as a differential-drive vehicle. Its encoder-based odometry is suitable for short-range motion estimation and closed-loop velocity control, but it should not be assumed to provide globally accurate position on terrain with changing traction.
On Leo Rover, slip is commonly visible during zero-radius turns, transitions between indoor flooring and carpet, or outdoor driving on loose ground. A LiDAR, depth camera, or RTK GNSS receiver can provide independent pose observations for a ROS 2 navigation stack, while an IMU provides complementary rotational and acceleration measurements. The required hardware and ROS interfaces depend on the selected payload and compute budget.
Raph Rover is intended for larger payloads and more demanding field deployments. Increased mass or payload does not eliminate slip. It can change normal wheel loads, rolling resistance, and turning behavior. For field mapping, inspection, agriculture, or construction monitoring, validate odometry on the actual surface, payload configuration, tire condition, and commanded speed profile.
Validation and reporting
Wheel-slip performance should be measured on a defined route rather than described qualitatively. Record the surface, payload, tire configuration, commanded velocity, encoder odometry, IMU data, and an independent reference trajectory.
Useful reported metrics include:
- absolute trajectory error (ATE) against a reference pose source;
- relative pose error (RPE) over fixed path lengths or time intervals;
- heading error after straight-line and turning tests;
- difference between encoder-derived and reference distance;
- slip events per route, with the detection threshold explicitly stated.
References and technical documentation
The following sources define or document the ROS interfaces and terminology most relevant to wheel-slip analysis in mobile robots.
- ROS REP 105 – Coordinate Frames for Mobile Platforms.
- ROS 2 nav_msgs/msg/Odometry documentation.
- ROS 2 sensor_msgs/msg/Imu documentation.
- robot_localization package documentation.
- ISO 8855:2011 – Road vehicles – Vehicle dynamics and road-holding ability – Vocabulary.
- Leo Rover technical documentation.