Nowadays, robots have to face very complex tasks, often requiring collaboration between several individuals. As a consequence, robotics can be considered one of the most suitable paradigms for agent-based software. In this work, we present an approach to the design of distributed multi-agent architectures for mobile robotics, that is based on the Unified Modeling Language. Our main goal is to provide a framework to perform a rigorous agent-based design process for this kind of systems both in the case of a single robot, and in a multi-robot scenario. Our methodology allows the designer to use system requirements in order to identify agents, and decide if they have to be implemented in a single mobile platform, or they're spread over many cooperative ones, or even shared by some repository. Details of the methodology, system implementation using FIPA-OS environment, along with real and simulated experiments are reported.