ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Late reply, but for reference, this ostensibly shouldn't require anything special.

If the entire tree is such that it immediately returns to the self-same sequence once it's ticked success, then you're done. It will just restart. A very simple tree in which the sequence is the lowest priority behaviour under a root behaviour that is a selector would do this. If not, you may be able to influence the tree to ensure it returns you to the same point.

A more complex case might look something like:

[ ] - Sequence 1
  --> Lead-in Worker 1 
  --> Lead-in Worker 2
  [ ] Sequence
    --> Waypoint 1
    --> Waypoint 2
    --> Waypoint 3

which would inevitably drop back into the lead-ins once the sequence was done. If you wanted the waypoint sequence to repeat ad-nauseum, then a SuccessIsRunning decorator would suffice. If you'd like to repeat a finite number of times, then, yes, a Repeat decorator would be useful. py_trees does not have one at the moment, but it should be simple to write (especially under the v1 style decorators) and would be a welcome addition to the library.

Late reply, but for reference, this ostensibly shouldn't require anything special.

If the entire tree is such that it immediately returns to the self-same sequence once it's ticked success, then you're done. It will just restart. A very simple tree in which the sequence is the lowest priority behaviour under a root behaviour that is a selector would do this. If not, you may be able to influence the tree to ensure it returns you to the same point.

A more complex case might look something like:

[ ] - Sequence 1
  --> Lead-in Worker 1 
  --> Lead-in Worker 2
  [ ] Sequence
    --> Waypoint 1
    --> Waypoint 2
    --> Waypoint 3

which would inevitably drop back into the lead-ins once the sequence was done. If you wanted the waypoint sequence to repeat ad-nauseum, then a SuccessIsRunning decorator would suffice. If you'd like to repeat a finite number of times, then, yes, a Repeat decorator would be useful. py_trees does not have one at the moment, but it should be simple to write (especially under the v1 style decorators) and would be a welcome addition to the library.