How Is a Mop Robot Built to Fit Under a Bed?
- Intermediate
- Article
- Ages 16+
- 7 min read

A mopping robot fits under a bed when its body is lower than the lowest gap on its route, after subtracting a tolerance. The chassis is therefore designed backwards from the gap: differential drive, a tank, pump and battery stacked low, a pad touching the floor, and a way to back out when jammed. This article describes an illustrative design.
Contents
- Floor
- Bed with a low cross rail
- Flat robot body
- Mop pad
- Upward sensor and its beam
- Smallest gap under the rail
- Tolerance strip
What you will learn
- Go from a measured gap under a bed to the maximum body height of the robot.
- Explain why differential drive suits a flat body and what odometry depends on.
- Describe the layout of tank, pump and battery and how the robot escapes a jam.
Before you start
You only need to know what a robot is, for example from What Is a Robot?. The parts of the whole system are covered in What Does a Mini Mopping-Robot Fleet Include?.
How does the gap under a bed set the body height?
The maximum body height equals the smallest gap the robot must pass, minus a tolerance. The smallest gap is usually a cross rail, a drawer or a step under the bed, not the leg. The tolerance covers measurement error, the pad swelling when wet and the body bouncing over a rug edge. The designer measures the real home first and only then picks a figure; this article gives none.
In the illustrative model, check each assembly’s envelope from the floor to its highest point. Side-by-side assemblies do not add their heights; only actual stacked layers do. The table lists the parts to check:
| Layer | What decides it |
|---|---|
| Wheels and floor clearance | Wheel diameter sets a minimum for the body |
| Mop pad | Its wet thickness, because it sits under the body |
| Tank, battery, circuit board | The height of the tallest of them |
| Shell and sensors | How far the shell and the upward-looking sensor stick out |
An upward-looking sensor tells the robot whether the ceiling of a gap is higher or lower than the body. According to the Adafruit guide, the VL53L0X time-of-flight sensor measures how long light takes to bounce back to it. Because it uses a very narrow beam, it gives the distance only to the surface directly in front of it. A narrow beam suits measuring the ceiling of a gap. The same page says readings are poor if the object absorbs the laser light, so a dark bed board needs a trial.
Why does differential drive suit a flat body?
Differential drive needs only two wheels, one on each side with its own motor, so the body needs no steering linkage and can stay low. That is why the illustrative design uses it. The ros2_control documentation says the differential drive controller takes velocity commands for the whole body and translates them into commands for each wheel.
Two dimensions govern that translation. The same documentation describes the shortest distance between the left and right wheels and says that if the value is wrong, the robot will not behave correctly in curves. The wheel radius turns linear velocity into wheel rotation; if it is wrong, the robot moves faster or slower than expected. Both numbers must be re-measured on the built robot. Odometry, the position estimate from wheel rotation, is computed from hardware feedback, so any error in those two numbers flows straight into the estimated position.
Wheels carry their own trade-off. A large wheel climbs thresholds and rug edges more easily but lifts the body. A small wheel keeps the body low but struggles at thresholds, so the illustrative design uses geared motors to give a small wheel enough torque.
- Robot body seen from above
- Left wheel, slower
- Right wheel, faster
- Spacing between the wheels
- Path of the turn
- Wheel and its radius
How are the tank, pump and battery arranged in a low body?
Arrange them as one flat layer with the heaviest items near the wheel axis. NASA Glenn defines the centre of gravity as the average location of the weight of an object. The designer therefore locates the centre of gravity by summing the parts one by one: battery, pump, tank, circuit board, shell.
The tank moves the centre of gravity because it is heavy when full and light when empty. The illustrative design checks both states and places the tank around the wheel axis so that the robot does not pitch forward or back as the water runs out. Tank, pump and battery share the middle layer; the board and sensors sit in a thin upper layer.
Tank volume trades directly against body height:
| Choice | Gain | Cost |
|---|---|---|
| Large tank | Longer mopping before a refill | Taller, heavier body that struggles with low gaps |
| Small tank | Low body that fits narrow gaps | More frequent trips to the dock for water |
An automatic water refill at the dock reduces the cost of a small tank, because each return is a fresh fill. For maintenance, the tank slides out without removing the shell, and the pad clips on and off in one move, so a person can change it without tools.
- Low body shell
- Water tank
- Pump and tube
- Battery
- Circuit-board and sensor layer
- Wheel on the axis
- Centre of gravity
- Mop pad
- Direction the tank slides out
How does the pad add drag, and how does the robot escape a jam?
The pad presses on the floor and creates drag the motors must overcome. According to the OpenStax textbook, in the simple model, sliding friction and the limit of static friction are proportional to the normal force; actual static friction rises only as far as that limit. A harder-pressed pad drags more. The same textbook says the static-friction limit is usually greater than kinetic friction, so the start of a move is when the robot needs the most torque.
A real pad on a real floor may not follow the simple model, so measure the drag on the actual floor, wet and dry.
When jammed under a bed, the robot follows these steps:
- Recognise the jam: motor current rises while the encoders report no further wheel rotation.
- Stop the pump and the mopping.
- Back out slowly along the stored route only while rear and cliff sensors confirm clearance, with a limited number of attempts. If escape fails, stop and wait for help.
- Mark the cell as a low gap and report it to the computer.
The differential drive controller also has a command timeout: a velocity command older than the timeout is considered stale. So when commands stop arriving, the wheels do not keep turning on an old command.
- Entering, measuring the ceiling
- Jammed at the low block
- Backing out, pump off
- Cell marked on the map
- Order of the steps
Real-world example
This is a design scenario, not a test result. The robot reaches the edge of a bed. The upward sensor reports a gap higher than the body plus tolerance, so it goes in. Deeper in, an inner rail is lower: the reading falls, the robot stops before contacting the rail and rejects that direction. If measurement error still leaves it trapped, current may rise without encoder progress. It treats that as a possible jam, stops the pump, backs out only while rear clearance remains safe, marks the cell as a low gap and reports it to the computer. The computer removes that cell from the under-bed mopping area.
Common misunderstandings
A lower body is always better. A lower body holds less water and less battery, so the robot returns to the dock more often. The body only needs to be low enough for the gap, not as low as possible.
A larger wheel always climbs better. A large wheel lifts the body and may stop the robot fitting the gap. Choosing a wheel balances two goals.
An upward sensor reads correctly on every bed board. An object that absorbs the laser light gives poor readings, so test it on the real material.
Frequently asked questions
How low must a mop robot be to fit under a bed?
There is no single figure. The body must be lower than the smallest gap under the bed minus a tolerance, so measure your own home and then choose.
Why do mop robots usually have two side wheels?
Two side wheels, each with its own motor, need no steering linkage, so the body can stay low. The controller translates body velocity commands into commands for each wheel.
What does a robot do when it jams under a bed?
In the illustrative model it compares current and encoder feedback, cuts the pump and backs out only with safe rear clearance. Attempts are limited; if it cannot escape, it stops and reports.
Summary
- Body height comes from the smallest measured gap minus a tolerance; an upward-looking sensor checks the gap at run time.
- Differential drive keeps the body flat; wheel size and wheel spacing govern odometry; tank, pump and battery form one layer around the wheel axis.
- The pad adds drag, so the robot needs torque to spare and must know how to back out of a jam.
Terms in this article
English and Vietnamese terms, with the meanings used here. Hover, tap or Tab to a term with a dotted underline for an explanation as you read.
- clearancekhe hở
- The smallest vertical space under furniture that the robot body must pass; the body height must be lower than it, minus a tolerance.
- differential drivedẫn động vi sai
- Movement with two wheels, one per side with its own motor; the controller translates body velocity commands into commands for each wheel.
- odometry
- The estimate of a robot's position from wheel rotation, computed from hardware feedback.
- time-of-flight sensorcảm biến thời gian bay
- A sensor that measures distance from the time light takes to bounce back; its narrow beam measures only the surface directly ahead.
- centre of gravitytâm trọng lực
- The average location of the weight of an object; summed from the parts when planning a layout.
- frictionma sát
- A force resisting relative motion between surfaces. In the simple model, sliding friction and the static-friction limit depend on normal force.
This article is not marked as viewed
Spotted something wrong or unsafe?
Tell the administrator by email. The message already has the article title and address.
You may also like
IntermediateHow Does a Robot Mop Clean and Leave the Floor Dry?
A damp-pad mopping robot meters water to its speed so floors dry quickly; this covers the method, its limits and an optional scent module.
Robotics7 min read
IntermediateHow Does a Dock Recharge and Refill a Mop Robot?
A mop robot docks in stages, charges through contacts, then refills its tank; this covers guidance, contact checks, water levels and sharing a dock.
Robotics7 min read
IntermediateHow Long Does a Small Mop Robot Run per Charge?
The energy budget of a small mop robot: load split, usable capacity, charge estimates and the reserve needed to reach the dock.
Robotics7 min read
AdvancedWhat Path Lets a Robot Mop Cover a Whole Room?
How a mop robot covers a whole room: cells around obstacles, back-and-forth passes, a map of cleaned cells, drift correction and blocked cells.
Robotics8 min read
Sources
These sources are written for older readers. If they feel hard, read them with an adult.
- Diff Drive Controller (ros2_controllers)(opens in a new tab)
ROS 2 ControlTier A: government, standards or research bodiesRead on November 2, 2026
- University Physics Volume 1, 6.2 Friction(opens in a new tab)
OpenStaxTier C: other sourcesRead on November 2, 2026
- Center of Gravity(opens in a new tab)
NASA Glenn Research CenterTier A: government, standards or research bodiesRead on November 2, 2026
- Adafruit VL53L0X Time of Flight Distance Sensor(opens in a new tab)
AdafruitTier C: other sourcesRead on November 2, 2026
