RESPLE2: Inertial-Informed Recursive Non-Uniform Spline Estimation for Multi-Sensor Odometry with Global Refinement: what it means for business leaders
RESPLE2 is a real-time filter that tracks a robot's six-degree-of-freedom motion as a continuous spline, predicts the spline directly from inertial readings, and fuses LiDAR, camera, IMU and leg-joint data at their native timestamps.
1. What the method is
RESPLE2 is a state estimator for mobile robots that represents position and orientation over time as cubic B-splines with non-uniformly spaced knots, and estimates the spline's control points with an iterated extended Kalman filter. The advance is a process model built on the knot-clamping boundary property of non-uniform B-splines: by giving each new boundary knot multiplicity three, the newest control point is guaranteed to sit exactly on the trajectory, so it can be predicted by integrating IMU measurements in the usual strapdown way rather than extrapolated from earlier knots. A reset step then restores position, velocity, acceleration, orientation and angular velocity at the previous knot when it is unclamped. The same filter accepts LiDAR point-to-plane residuals, IMU residuals, visual feature projections and leg-kinematic foot constraints, giving LiDAR-only, LiDAR-inertial, LiDAR-visual-inertial and legged variants from one design. A separate module refines the control points globally when loop closures are detected, and the code and datasets are public.
2. Why the method was developed
Odometry systems that fuse several sensors mostly work in discrete time, with states tied to fixed frame rates. Asynchronous readings have to be interpolated, and LiDAR scans or rolling-shutter images taken during fast motion must be undistorted explicitly, which adds engineering and alters the noise model. Continuous-time representations avoid that, but most are solved by sliding-window optimization, which is hard to run in real time and awkward to extend with new sensors. The authors' earlier filter, RESPLE, used uniform knot spacing, forcing one global trade-off between knots short enough to follow aggressive motion and long enough to collect constraining measurements. More fundamentally, B-spline control points normally lie off the trajectory, so no prior system could initialise them from IMU integration; RESPLE copied velocities forward, SLICT2 added an IMU offset to the endpoint, Coco-LIC copied the last control points, and Coco-LIC also waits for future IMU data to place knots. None supported loop closure on non-uniform splines.
3. Who should care
This matters to teams building or buying autonomy for legged, tracked, aerial or handheld platforms: robotics engineering leads choosing a localisation stack, perception groups that must add a camera or leg encoders to an existing LiDAR-inertial pipeline, and hardware and procurement teams deciding IMU grade. Product owners for inspection, logistics, forestry or search-and-rescue robots should note that the system is validated on quadrupeds, a tracked vehicle and a jumping, flipping legged quadcopter, which is closer to our deployment conditions than the drone and car datasets most papers use. Controls engineers will care that velocity estimates are produced after every update for use in control loops. Platform and infrastructure teams should note the modest footprint: a ROS2 package with Eigen and OpenMP, about five threads per node, no GPU. Integrators doing mapping or survey work get an optional loop-closure refinement.
4. How the method works
Incoming IMU samples in each knot interval are split alternately into two disjoint sets. The first set drives prediction: the new control point is initialised at the previous endpoint and propagated through the standard IMU strapdown model substep by substep, with the covariance propagated through the corresponding Jacobians and the accelerometer and gyroscope biases carried in the state. A new knot is opened when a LiDAR batch passes an eigenvalue-based geometric sufficiency check with enough points and IMU samples, or when the interval, position change, orientation increment or velocity change exceeds a threshold, so knots fall densely during fast motion and sparsely otherwise. Unclamping the previous knot changes the local basis, so a closed-form linear reset fixes the position control points and a Newton iteration, typically converging within five steps, fixes the orientation ones, with the covariance transformed to match. The second IMU set, LiDAR points matched to VoxelMap planes, KLT-tracked image features with LiDAR-derived depth, and foot velocity and contact constraints are stacked and fused in an iterated update, with Huber weights guarding against accelerometer saturation and visual outliers. Loop closures from iBTC feed a sparse Levenberg-Marquardt optimisation over control points that keeps relative motion between neighbours fixed.
5. How it was evaluated
The authors tested on two public datasets and three of their own. GrandTour is an ANYmal D quadruped with LiDAR, camera, IMU and leg joints across indoor, outdoor and wilderness scenes: six test sequences scored through the public benchmark, where competing results used a high-end IMU unavailable to RESPLE2, plus four training sequences with stairs and hills. JEPLO is a Unitree Go2 running a locomotion policy over stairs and boxes, with two sequences where tape masks the LiDAR to induce degeneracy. PPS TV is a tracked vehicle at high speed in daytime and night outdoor scenes, with the accelerometer frequently saturating. HOPPER is 12 indoor sequences of a legged quadcopter jumping, flying and flipping, with accelerations beyond the built-in IMU's range and Vicon ground truth from 10 cameras. HANDI is a long handheld walk. Baselines were Coco-LIC, FAST-LIVO2, CTE-MLO, Point-LIO, Leg-KILO and RESPLE with its map swapped to VoxelMap for a fair comparison. One parameter set per dataset, evaluated with the evo package on a Ryzen 9 9950X desktop.
6. How it performed
The numeric error tables did not survive the rendering we read, so we report the authors' stated comparisons rather than figures. On GrandTour, RESPLE2-LIO is competitive with the visual-inertial baselines in absolute error using a lower-grade IMU, beats RESPLE on nearly all sequences, and adding camera and leg data improves it further. On JEPLO the legged variant has the lowest absolute error on all eight sequences and beats the purpose-built Leg-KILO; FAST-LIVO2 is substantially worse there. On the tracked vehicle it has lower absolute error than Coco-LIC on every sequence in the visual configuration. On HOPPER it has the lowest error on every sequence under both IMUs except one flip run, Coco-LIC and FAST-LIVO2 fail on every sequence with the saturating built-in IMU, and the LiDAR-only variant still completes all runs and beats Point-LIO. Stated limits: evaluation is on a desktop CPU, not an embedded board, and the global refinement is only wired to the LiDAR-visual configuration. Our call: pilot it on any platform with aggressive motion or a cheap IMU, and watch it otherwise. (Source: arXiv 2610.37602, 2026)
← Back to dossier index