In this talk, I will discuss my research in the development of distributed control approaches to multi-robot cooperation. Developing operational multi-robot teams involves research on a number of topics, including fault tolerant cooperative control, adaptive action selection, distributed control, robot awareness of team member actions, improving efficiency through learning, inter-robot communication, action recognition, local versus global control, and metrics for measuring success. I will discuss several of these issues of cooperation and learning in the context of a distributed software architecture I have developed, called ALLIANCE, that facilitates robust, fault tolerant cooperative control in multi-robot teams. I will also show some video clips of the implementation of these approaches on multi-robot teams. Finally, in light of the focus and intent of this workshop, I will conclude with some remarks about my own career path and advice to new researchers just beginning their careers.