SCRUB: Contact-Based Surface-Frame Estimation for Force-Motion Control with an Armless Quadruped

TL;DR An armless Unitree Go1 presses and slides a body-mounted tool along unmapped walls by estimating the surface normal from contact force and gait-averaged tool velocity. It completed 89 of 90 hardware trials across speeds and loads, while no estimator ablation completed a column orbit.
What they do
Wiping and sanding need force-motion control: press a tool along the surface normal while sliding it along the surface. On unmapped surfaces the normal is unknown, and contact-based estimators that assume the tool velocity is tangent to the surface break on a walking robot, whose gait and pressing move the tool in and out. SCRUB lets an armless quadruped slide a trunk-mounted tool along near-vertical surfaces, estimating the surface frame from contact alone.
How it works
- Force cue. A multiplicative Kalman filter tracks the tilt of the normal estimate. The force cue measures cross-slide tilt from the force component outside the estimated sliding plane. If friction opposes the motion, it is zero exactly at zero tilt for any friction coefficient.
- Gait-averaged velocity cue. Along-slide tilt comes from tool velocity, after subtracting the commanded press rate and averaging over each 0.5 s gait cycle so that gait ripple cancels.
- Control. A 100 Hz centroidal MPC plans body motion, foot forces and the tool reaction (with a lag, a Coulomb drag cost and a cap on sideways force). A depth loop sets the load and a 1 kHz whole-body controller tracks the plan.
- Sensing is a force/torque sensor plus leg-inertial odometry; no vision or surface map.
Results
- On a Unitree Go1 at 12 mm/s and 10 N: 5/5 traverses of about 1 m on a wall leaning 10° and 5/5 orbits of a 0.303 m-radius column, no falls. Median normal error 2.29° (wall) and 2.48° (column).
- Sweeping speed (8-16 mm/s) and load (5-15 N) on both surfaces: 89 of 90 trials completed, with one column fall at 5 N.
- On the column, none of five estimator variants (fixed normal, friction-compensated normal, per-sample velocity cue, either cue removed) completed an orbit. An MPC planning only the normal reaction completed 2/5; one without the tool reaction, 0/5.
Limitations
Only horizontal slides up to 16 mm/s on surfaces of constant curvature, each started with the tool hand-placed in contact. The estimator assumes independent samples and may overstate its accuracy, has no odometry-drift state and runs outside the MPC. The authors note that speed and friction settings came from SCRUB’s own runs, which may favor it.
Figures




Abstract
Wiping, sanding, and inspection robots press a sliding tool on a surface with controlled force. Controlling that force needs the surface normal, which is unknown on real-world, unmapped surfaces. Surface-normal estimators can help estimate the surface normal, but they either need a friction model or assume that the instantaneous tool velocity lies along the surface; however, walking violates this assumption. We propose SCRUB, a contact-based surface-frame estimator, which lets an armless quadruped slide a body-mounted tool along near-vertical surfaces in the absence of known, axis-aligned, or vision-predicted normals. SCRUB's predictive controller presses and slides the tool using a Kalman-filter estimate of the normal from two cues: 1) A force cue measures the estimate's tilt across the motion. If friction directly opposes the motion, the cue is zero exactly when that tilt is zero, for any friction coefficient. However, if the cue's sliding direction is wrong, friction appears as a false tilt. 2) A velocity cue measures tilt along the motion. Walking and pressing move the tool in and out. SCRUB therefore subtracts the commanded press rate from the tool velocity, averages the result over each gait cycle, and treats this mean as lying along the surface. On Unitree Go1 hardware at nominal speed and load, SCRUB completed every wall traverse and column orbit. No orbit completed with either cue removed, without gait averaging, or with a fixed normal.
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
