splintered-reality/py_trees_ros

Re-implement bagging

Opened this issue · 0 comments

This was available in ROS1 (albeit without too much flexibility for different use cases), but removed in ROS2 since rosbags were not yet available. Trees could alternatively be bagged by usual mechanisms, however it's still useful to be able to do this in-tree:

  1. more efficient: direct bagging vs streaming + bagging
  2. conditionally bag: open/close a bag every time a task is started/completed

Some thoughts on implementation:

  • Exemplar: should aim to be inspirational rather than trying to satisfy every use case
  • Decouple: don't build it into the tree, perhaps a post tick handler
  • Building Blocks - provide building blocks that users can sub-class or stitch together easily so they don't have to do it from scratch
  • PyTrees ROS Tutorial - add another tutorial

See also #159.