This paper presents a control architecture that enables the execution of cooperative tasks with a set of mobile robots. In this architecture, a cooperative task is defined by known subtasks specified for mono-robot tasks and/or group subtasks. The representation of a cooperative task uses the formalism of a Petri net, which allows the definition of a sequential and/or concurrent execution of group subtasks, and the formation and/or separation of groups of robots. The mono-robot or group subtasks are controlled/regulated by transitions that have associated conditions. The Petri net representation allows controlling the execution of the subtasks that comprise it by delegating responsibilities at the level of groups and these, in turn, to individual robots. The proposed architecture was validated through simulation and experimentation.