If multiple robots are used to cooperatively clean a large room, e.g. an airport, a variety of problems have to be solved. The area which has to be cleaned must be partitioned among the robots, each robot must completely cover the area it is responsible for and collisions among the robots must be avoided.
To partition the area among the robots, the area is divided into polygons, which are allocated by the robots. After a robot has allocated a certain polygon, it is responsible for cleaning the polygon.
The basic idea to avoid collisions is to monitor the distances of the robots. Whenever the distance between two robots drops below a certain value, they exchange information about their planned trajectories and determine whether they are in danger of a collision. If a possible collision is detected, they monitor their movements and, if necessary, insert idle times between certain segments of their trajectories or plan alternative trajectories, in order to avoid the collision.
The methods work completely decentralized. There is no centralized component or global synchronization needed. There is also no need for a global communication network. It is sufficient if the robots are able to communicate in a local neighborhood.