This paper describes the design and implementation of a behaviour-based architecture in the context of multi-robot cooperative cleaning. The architecture uses a distributed action selection mechanism that unifies planning of spatial and topological paths, cooperative interactions and reactive behaviours. The system is implemented using a number of sensing technologies including real-time vision.