Robots were built to push a box. They used the subsumption
architecture:
FIND: move randomly.
FOLLOW the nearest agent.
SLOW down.
GOAL: move towards the box.
AVOID other objects.
This had the effect of all robots getting on a cluster then
heading towards the box and pushing it. However, the system
would deadlock when an equal number of robots surrounded the box
(everyone pushing against each other).
To solve this the robots were modified to detect stagnation
if the box did not move after t seconds of pushing. When
stagnated, a robot would reposition itself. This completely
eliminated deadlock for large number of robots.