The creation of a universal service robot for daily use in the home or working environment is an ambitious objective of ongoing research and engineering efforts. Considering today's state-of-the-art, service robots cannot be expected to be able to act fully autonomously and intelligently in unstructured environments within the middle-term future. This is due to the generally high complexity of meaningful task executions, with still unsolved problems in task and motion planning as well as sufficient scene understanding. To encounter these problems, an approach has been developed that reduces the technical complexity with the help of two development paradigms: The task knowledge for a certain scenario is pre-structured, and the robotic system executes its tasks semi-autonomously, i.e. involves the user into task execution. By means of simulations in representative sample scenarios it has been demonstrated that the real time suitability of task planning based on this approach can be guaranteed.
Within this work, the fundamental concepts are now integrated into a complete process model for the development of semi-autonomous service robots. The process model gives a clear guidance for a scenario- and behavior-driven development of a service robotic system. The process contains four levels and starts with analysis steps that lead to well-defined outputs for guiding subsequent steps. Due to the paradigm of pre-structuring and offline verification of task knowledge, a lot of effort is required for the introduction of new task knowledge and the enhancement of existing one. The complexity of the specification procedure is encountered with the development of special tools that provide a userfriendly input of task knowledge and fully integrate into the overall concept. The process of task knowledge specification leads to the definition of software interfaces that encapsulate functionality of a robotic system. Besides defining the interfaces, the process model guides the development process on the functional level and also supports the final testing on component and scenario level. As it will be argued, the application of a process model cannot be successful without support of suitable tools. Besides the tools that especially target at task knowledge specification methods developed throughout this work, the complete process model makes use of a state-of-the-art CASE tool for the development of software systems based on executable UML-models.