splintered-reality/py_trees_ros

ToBlackboard behaviours need variants

Opened this issue · 1 comments

Problems to Solve

  • The ToBlackboard classes (transforms, subscribers, battery) are all of the blocking variety (return RUNNING || SUCCESS and can't be usefully employed in different situations without an excessive number of decorators.
  • Visualisation gives no indication of the decision paths that can result from a XYZToBB behaviour

We could resolve the first problem with constructor arguments, but that would not resovle the second problem. Preferred solution choice is to have multiple classes.

Variants

  • Blocking on New Data → RUNNING||SUCCESS
  • New Data is Required → FAILURE||SUCCESS
  • New Data is Optional → SUCCESS

Victory Conditions

  • Users can deploy transform/battery/subscriber - to - balckboard behaviours of all three variants above without the need for decorators

FYI @IanTheEngineer. I'll update here when released.