Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Framework for controlling the execution of tasks

From what I see, SMACH seems to be the standard framework for managing the execution of tasks. However, I am unsure if SMACH is an appropriate tool, given my requirements. I would appreciate advice.

Requirements are:

  • Must be able to run a sequence of tasks (SMACH's Sequence container seems to be made for this).
  • User should be able to pause and resume the sequence of tasks at any time (possibly through a ROS service call).
  • User should be able to switch to any task within the sequence of tasks at any time (possibly through a ROS sevice call).
  • User should be able to replace the existing sequence of tasks with another sequence of tasks, which can either be hardcoded, or programatically generated.

Given the above requirements, is SMACH a good fit? Or are there alternatives I should take a look at?

Thank you in advance.