What Path Lets a Robot Mop Cover a Whole Room?
- Advanced
- Article
- Ages 18+
- 8 min read

A mop robot covers a room by following one path that passes over every part of the floor to be cleaned, not only the shortest route to a goal. The room is split into cells around furniture, each mopped in parallel rows. A map of cleaned cells lets the robot resume after charging.
Contents
- Bed
- Round table
- Dock by the door
- Robot's back-and-forth path
- Mopping robot
- Blocked cell
- Door to the hallway
What you will learn
- Tell coverage path planning apart from shortest-path planning, then choose between back-and-forth, spiral and random paths.
- Split a room into cells around obstacles, set the spacing between rows and remember which cells are cleaned.
- Explain position drift, how it is corrected, and what the robot does when a cell is blocked.
Before you start
It helps to know what a mopping robot is made of, for example from the article What Does a Mini Mopping-Robot Fleet Include?, and its close-range sensors from Which Sensors Stop a Small Robot Falling or Colliding?. The design below is an illustrative model, not a result tested on a real robot.
How does covering a floor differ from finding the shortest path?
Shortest-path planning takes a robot from one point to another, while coverage path planning must take it over every part of the floor. According to a study on replanning coverage paths, the coverage problem is to find a path that lets the robot cover its entire environment with an onboard sensor or tool. For a mop robot that tool is the pad, so "cover" means the pad touches every part of the floor.
Three common path types are compared below.
| Path type | How it moves | Fits when |
|---|---|---|
| Back-and-forth (boustrophedon) | Parallel rows joined at the end of each row | Open, rectangular areas where even coverage and easy overlap counting matter |
| Spiral | Circles that shrink or grow around a point | Small areas around one object, such as a round table |
| Random | Straight until a collision, then a new heading | A low-cost robot with no map |
A survey of cleaning robots describes the most straightforward approach: relying on simple bump sensors to detect obstacles and correct the route. In randomised coverage algorithms, it adds, cleaning robots are often simple and less efficient. Another study notes that spiral, greedy and zigzag patterns have been implemented in a conventional cleaning robot. The first survey also warns that common programmed patterns, including zigzag, spiral and wall-following, are not always sufficient.
The illustrative design uses back-and-forth paths as its main pattern. Spirals handle small areas around a round table's legs, and wall-following sweeps along edges. This is a design choice, not a conclusion of the sources above.
- Back-and-forth path
- Spiral path
- Random path
How is a room split into cells around obstacles?
The robot splits the room into cells with no obstacle inside, then covers each cell. According to a study on multi-robot coverage, the divide-and-conquer approach partitions the environment into subregions called cells. Each cell is covered by a simple motion path such as a zigzag or a spiral. The same study mentions that Choset proposed the boustrophedon cell decomposition. It generalises trapezoidal decomposition and allows non-polygonal obstacles.
In a bedroom, the bed and the table are obstacles. Cell decomposition cuts the floor into a zone in front of the bed, a zone beside it, a zone around the table and a zone near the door. Each zone gets its own back-and-forth path, and the robot joins the zones with a short route. A method built on boustrophedon cell decomposition was designed to redistribute coverage tasks dynamically when a robot fails. That idea also helps a fleet.
The robot stores its progress in a grid of small cells: not yet cleaned, cleaned or blocked. According to the replanning study, grid-based methods suit cluttered environments. The reason is that a grid is easy to update with new occupancy information. One aim of coverage path planning is to reduce repeated visits to the same region, according to the multi-robot coverage study.
The spacing between rows sets the overlap. The cleaning-robot survey describes a planning framework that assumes passing through a region cleans it within the robot's footprint. That framework does not model coverage width or overlap rate. For a mop robot, the row spacing should be slightly smaller than the pad width. Wide spacing leaves unwashed stripes, and very tight spacing mops the same spot again. This is design reasoning.
- Cell boundaries
- Bed
- Round table
- Parallel rows inside a cell
- Two mopped bands
- Slight overlap strip
- Unmopped stripe
How is position drift corrected?
A position estimated from the wheels drifts over time, so the robot needs an outside reference to correct it regularly. According to the ROS proposal on coordinate frames, the pose of a mobile platform in the odom frame can drift over time without any bounds. The same proposal says the pose in the odom frame is continuous, with no discrete jumps. The illustrative design uses that continuity to follow a path over short stretches.
The correction lives in the map frame. In a typical setup, a localization component constantly recomputes the robot's pose in the map frame from sensor observations, which eliminates drift. The price is that the pose in the map frame can change in discrete jumps at any time. The planner must tolerate those jumps. In the illustrative model, progress stays in a common map frame and the pad trace carries position uncertainty. A large correction or map change requires rechecking boundary cells and remopping uncertain areas; old cleaned flags are not automatically valid.
A small robot can take references from three places: touching a wall or an edge, a fixed marker on the floor, and the dock on return. Touching a wall tells the robot it is a known distance from that wall, which can reduce uncertainty perpendicular to a correctly identified wall. Contact, body size and map errors remain, so the error is not zero. This is an illustrative model; only measurements on a real robot show how many rows can pass before a correction is needed.
- Planned path
- Growing error region
- Path estimated from the wheels
- Wall
- Real robot touching the wall
- Drifted position estimate
- Correction back to the right place
What happens to a blocked cell, and how does the robot resume after charging?
When a cell is blocked, the robot marks it, detours to the next cell and reports, without stopping the whole run. The reason is that recomputing coverage paths online can be computationally expensive and make the robot stop, which lengthens coverage time. That study also describes greedy detour replanning. It deviates least from the original path and is quick to compute, but may add unnecessary detours. The illustrative design uses it for a small blocked cell, then gathers the blocked cells into one alert for a person.
According to the cleaning-robot survey, a plan built offline on a static map does not yet account for dynamic changes such as people moving or objects shifting. So the grid must be correctable when a chair is pulled into the aisle.
After charging, the robot does not start over. The grid of cleaned cells is kept, so the robot goes to the nearest uncleaned cell and carries on. The battery reserve for the trip home is in the battery runtime article. Metering the water against speed is in the wet-cleaning article. The coverage path only reports its speed and the row it is on.
Three starting measures for a run are: the share of area covered, the share mopped again, and the total time. Fix the target area before the test and report blocked area separately; do not remove it from the denominator to inflate coverage. Geometric coverage does not establish cleaning quality. The share mopped again corresponds to the aim of reducing repeated visits.
- Cleaned cell
- Uncleaned cell
- Blocked cell
- Mopping robot
- Dock
- Path to the nearest uncleaned cell
Real-world example
A bedroom has a bed, a small table and a door to the hallway. This is a design scenario, not a test result. The robot leaves its dock beside the door, follows the wall to correct its position, then covers the zone in front of the bed in parallel rows.
Midway along a row it meets a pair of slippers lying across the path. It marks that cell as blocked, detours and carries on with the next row. Before the battery runs low, the robot has covered the zone beside the bed and part of the area around the table. It goes to charge, then returns to the nearest uncleaned cell and finishes the table zone with a spiral. At the end of the run the controller sends one alert: a cell near the bed was blocked by slippers. A person picks them up, and the cell is mopped on the next run.
Common misunderstandings
Random movement covers the floor if it runs long enough. In randomised coverage algorithms, cleaning robots are often simple and less efficient. This suits a low-cost robot with no map, while a cluttered room needs a planned path.
With a map, the position is always right. The pose in the odom frame can drift without any bounds. A map is only right when there are references to correct against.
A cell the robot has passed is clean. Passing over a region does not prove it was cleaned well. Pad width, overlap and the amount of water still decide the result.
Frequently asked questions
Should a mop robot use a zigzag or a spiral path?
Choose by the shape of the area. Back-and-forth paths suit open rectangular areas, and spirals suit small areas around one object. The illustrative design uses both and adds wall-following for the edges.
Why is there still an unwashed stripe where the robot has passed?
The row spacing may be wider than the pad, or the position estimate may have drifted so the rows no longer line up. Measure the spacing, and let the robot touch a wall or return to the dock to correct its position.
Does the robot start over after charging?
No. The grid of cleaned cells is kept, so the robot continues from the nearest uncleaned cell.
Summary
- Coverage path planning takes the robot over every part of the floor; the room is split into cells around obstacles and each cell is covered by back-and-forth or spiral paths.
- A grid records cells not yet cleaned, cleaned and blocked; row spacing is slightly smaller than the pad width so no stripe is missed.
- Wheel-based position drifts and needs references; a blocked cell is marked and reported, and the grid lets the robot resume after charging.
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.
- coverage path planninglập đường phủ kín
- Planning a path that lets a robot cover its entire environment with an onboard sensor or tool.
- cell decompositionchia ô
- Partitioning the environment into subregions called cells, each covered by a simple path.
- boustrophedon
- A cell decomposition proposed by Choset that generalises trapezoidal decomposition and allows non-polygonal obstacles.
- driftsai số trôi
- The robot's estimated pose moving away over time without any bounds.
- odom framehệ odom
- A world-fixed coordinate frame in which the robot's pose is continuous but can drift over time.
- replanninglập lại đường
- Recomputing the remaining path when a newly found obstacle interrupts the planned path.
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
AdvancedHow Do Many Mop Robots Split Zones and Share a Dock?
How a fleet of mop robots splits a floor into zones, assigns one robot to each, queues for a shared dock and hands a zone over after a failure.
Robotics8 min read
IntermediateWhich Layers of a Mop Robot Should Simulation Cover?
Four simulation layers for a mop robot: circuit, firmware, motion and fleet; what each can verify, its pass criteria and when to build a prototype.
Robotics7 min read
IntermediateWhich Tools Simulate a Mop Robot's Electronics?
Simulating a mop robot's circuits: SPICE tools, which circuits to test, how to read a pass or fail result and what simulation cannot replace.
Robotics7 min read
IntermediateHow Can Robot Firmware Run Before the Hardware Exists?
Three ways to test mop-robot firmware before hardware exists: host-side logic tests, microcontroller emulation and hardware-in-the-loop, and their limits.
Robotics7 min read
Sources
These sources are written for older readers. If they feel hard, read them with an adult.
- Evolutionary Algorithm-Based Complete Coverage Path Planning for Tetriamond Tiling Robots(opens in a new tab)
PubMed CentralTier A: government, standards or research bodiesRead on November 2, 2026
- Genetic algorithm-based coverage path planning for autonomous aircraft cabin cleaning by reconfigurable robot(opens in a new tab)
PubMed CentralTier A: government, standards or research bodiesRead on November 2, 2026
- Resilient Multi-Robot Coverage Path Redistribution Using Boustrophedon Decomposition for Environmental Monitoring(opens in a new tab)
PubMed CentralTier A: government, standards or research bodiesRead on November 2, 2026
- REP 105: Coordinate Frames for Mobile Platforms(opens in a new tab)
ROS.orgTier A: government, standards or research bodiesRead on November 2, 2026
- Anytime Replanning of Robot Coverage Paths for Partially Unknown Environments(opens in a new tab)
arXivTier C: other sourcesRead on November 2, 2026
- Collaborative Complete Coverage and Path Planning for Multi-Robot Exploration(opens in a new tab)
PubMed CentralTier A: government, standards or research bodiesRead on November 2, 2026
