Skip to content
LSLab

What Path Lets a Robot Mop Cover a Whole Room?

  • Advanced
  • Article
  • Ages 18+
  • 8 min read
A robot mops cream tiles beside a bed, with faint parallel mop trails joined by turns behind it.

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
One coverage run passes over all the floor around the furniture in parallel rows, and some cells may be blocked.
  • 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 typeHow it movesFits when
Back-and-forth (boustrophedon)Parallel rows joined at the end of each rowOpen, rectangular areas where even coverage and easy overlap counting matter
SpiralCircles that shrink or grow around a pointSmall areas around one object, such as a round table
RandomStraight until a collision, then a new headingA 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.

A back-and-forth path covers evenly, a spiral winds in to a point, and a random path leaves gaps.
  • 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.

The floor is split into cells around the furniture, and the row spacing is chosen so adjacent mopped bands overlap slightly and leave no gap.
  • 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.

Position uncertainty accumulates; a correctly identified wall reference reduces it without eliminating all error.
  • 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.

The grid records cleaned, uncleaned and blocked cells, so after charging the robot goes straight to the nearest uncleaned cell.
  • 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.

Report this article
See all articles of the topic

Sources

These sources are written for older readers. If they feel hard, read them with an adult.