A description of your use case for visualizing py_trees.
Describe for what purpose you need it
Tease out some key technical requirements
Differentiate between MVP (the minimum of value to you) and beyond
Any pain points to doing so with the currently recommended approach (see below)
Context
py_trees_js exists, but the only publicly available integration is a ros one. For non-ros environments, the expectation has been that users create their own integration to suit their own particular needs, basing it off what was done for the ros integration.
Nonetheless, there's been a recurring request for viz tools in non-ros environments. This is probably due to two reasons:
The path to creating your own integration is not well supported. There is no well-defined schema for the inputs to py_trees_js, nor are there mechanisms in py_trees itself for generating those inputs (or even, logging them).
Many users would like a simple solution with minimal dependencies that just works with py_trees
This issue is to try and get some understanding and alignment around those needs.
To track the run right now, I run my code with long periods between ticks, and using the provided unicode_tree() method. While the tree is clearly understandable, it is not instant to read (I have to look for tiny '*', '✕' and '-') and with every print there is that short console print jitter. I would like a less eye-straining version of that.
For me an 'obvius' solution is a matplotlib Animation. I think the look of the DOT visualization would be a great format for here as well.
I thinks an MVP is a matplotlib Animation that shows the tree and marks the currently used connection between Behaviours that lead to the current Behaviour, the borders of those Behaviours, and color of the last returned status for that Behaviour.
I would just really appriciate if that would be a py_trees native solution where I can configure a flag (in BehaviourTree.init()?) that pops a new window
Looking For
A description of your use case for visualizing py_trees.
Context
py_trees_js exists, but the only publicly available integration is a ros one. For non-ros environments, the expectation has been that users create their own integration to suit their own particular needs, basing it off what was done for the ros integration.
Nonetheless, there's been a recurring request for viz tools in non-ros environments. This is probably due to two reasons:
py_trees_js
, nor are there mechanisms inpy_trees
itself for generating those inputs (or even, logging them).py_trees
This issue is to try and get some understanding and alignment around those needs.