Only released in EOL distros:
Package Summary
High-level executive using teer, the task execution environment for robotics, from ETHZ ASL. Teer is a Python library proposing the use of co-routines (called tasks) to implement executives. Teer is an alternative to executives based on state machines such as smach.
- Author: Stéphane Magnenat
 - License: BSD
 - Source: git https://github.com/ethz-asl/executive_teer.git (branch: master)
 
Package Summary
High-level executive using teer, the task execution environment for robotics, from ETHZ ASL. Teer is a Python library proposing the use of co-routines (called tasks) to implement executives. Teer is an alternative to executives based on state machines such as smach.
- Author: Stéphane Magnenat
 - License: BSD
 - Source: git https://github.com/ethz-asl/executive_teer.git (branch: master)
 
Package Summary
High-level executive using teer, the task execution environment for robotics, from ETHZ ASL. Teer is a Python library proposing the use of co-routines (called tasks) to implement executives. Teer is an alternative to executives based on state machines such as smach.
- Author: Stéphane Magnenat
 - License: BSD
 - Source: git https://github.com/ethz-asl/executive_teer.git (branch: master)
 
About teer
Teer, which stands for task-execution environment for robotics, is a Python library proposing the use of co-routines (called tasks) to implement executives. Teer is an alternative to executives based on state machines such as smach. Teer provides the following features:
- Tasks are written as sequential code in standard Python.
 - Tasks can wait for a certain duration, for conditions to become true or for the termination of other tasks.
 - Tasks can create new tasks and kill other tasks.
 - Tasks can pause or resume other tasks.
 Tasks are implemented as continuations (co-routines) using the Python yield keyword.
- Conditions are evaluated as rarely as possible, avoiding regular polling of their expressions.
 Waits use rospy.Time and rospy.Timer.
Compared to state-machines, teer allows to maintain sequential code for sequential actions, using multiple lightweight tasks to implement parallel flows of execution. Compared to multi-threading, the cooperative aspect of co-routines removes synchronisation hazards.
Installation
Installing teer is easy, just clone the git source somewhere in your ROS_PACKAGE_PATH:
git clone --recursive git://github.com/ethz-asl/executive_teer.git
Documentation
The example package provides easy-to-understand examples.
The tutorials page contains tutorials to get you up to speed building and running your own teer-powered applications.
The documentation page provides an overview of the concepts used in teer.
The ChangeList shows the changes.
Report a Bug
You can report a bug on the ROS integration of teer on the stack's bug tracker.
If you think the bug is in teer itself, please use its own bug tracker.