TaskStateProtocol

The Task-State-Protocol (TSP) is a messaging pattern in a client-server situation, where the server executes a task that takes some noticeable time. Using several messages, the server informs the client about both begin and end of execution, and may optionally also provide intermediate results. Furthermore, the client can update the goal of the task and cancel the task.

In comparison to remote procedure calls (RPC) or individual messages, the TSP provides much more fine-grained information and also more control. While some of this could be replicated by using multiple RPC calls, the TSP explicitly defines which transitions are legal, and how to recover from errors caused by communication delays. Furthermore, it does so in a generic way, which can be re-used across many different types of tasks, instead of having to be re-define every time. Last, but not least, it is defined in such a way that the more unusual transitions, such as updates, are optional and can be refused in a well-defined way.

The protocol can be described using a finite-state-automaton, as follows

XTT is an implementation of this protocol which already provides much of this functionality out-of-the-box, including the default behaviors when cancelation or update is not supported. The only requirement for using it is that the underlying middleware provides an efficient messaging service.

Further reading

The definitive paper on the TSP is Lütkebohle, I., Philippsen, R., Pradeep, V., Marder-Eppstein, E., & Wachsmuth, S. (2011). Generic middleware support for coordinating robot software components: The Task-State-Pattern. Journal of Software Engineering for Robotics, 1(2), 20–39. Available at http://joser.unibg.it/index.php?journal=joser&page=article&op=view&path[]=41&path[]=5

We have also built a number of systems using the pattern, and evaluated its practicality, as described in the following papers:
  • Lütkebohle, I., Peltason, J., Haschke, R., Wrede, B., & Wachsmuth, S. (2010). The Curious Robot Learns Grasping in Multi-Modal Interaction. Workshop on Interactive Communication for Autonomous Intelligent Robots.
  • Lütkebohle, I., Peltason, J., Schillingmann, L., Elbrechter, C., Haschke, R., & Wachsmuth, S. (2012). A Mixed-Initiative Approach to Interactive Robot Tutoring. Towards Service Robots for Everyday Environments (pp. 471–482). Berlin / Heidelberg Germany: Springer Verlag.
  • Lütkebohle, I., Peltason, J., Schillingmann, L., Elbrechter, C., Wrede, B., Wachsmuth, S., & Haschke, R. (2009). The Curious Robot - Structuring Interactive Robot Learning. International Conference on Robotics and Automation. IEEE. Retrieved from http://aiweb.techfak.uni-bielefeld.de/pubs/2009/curious-robot-structuring-interactive-robot-learning
  • Lütkebohle, I., & Wachsmuth, S. (2012). Task-Based Mixed-Initiative Coordination. Towards Service Robots for Everyday Environments (pp. 457–470). Berlin / Heidelberg Germany: Springer Verlag.
  • Peltason, J., Riether, N., Wrede, B., & Lütkebohle, I. (2012). Talking with Robots about Objects: A System-Level Evaluation in HRI. 7th ACM/IEEE International Conference on Human-Robot-Interaction.

tsp-generic.png (25.4 KB) Ingo Lütkebohle, 2012-11-29 13:29