An appropriate control architecture is a crucial premise for successfully achieving truly autonomous mobile robots. The architecture should allow for a robust control of the robot in complex tasks, while it should be flexible in order to operate in different environments pursuing different tasks. This chapter presents a control framework that is able to control an autonomous robot in complex real-world tasks. The key features of the framework are a hybrid control paradigm that incorporates reactive, planning and reasoning capabilities, a flexible software architecture that enables easy adaptation to new tasks and a robust task execution that makes reaction to unforeseen changes in the task and environment possible. Finally, the framework allows for detection of internal failures in the robot and includes self-healing properties. The framework was successfully deployed in the domain of robotic soccer and service robots. The chapter presents the requirements for such a framework, how the framework tackles the problems arising from the application domains, and results obtained during the deployment of the framework.