py_trees icon indicating copy to clipboard operation
py_trees copied to clipboard

Python implementation of behaviour trees.

Results 57 py_trees issues
Sort by recently updated
recently updated
newest added

All Composite classes have logic inside their tick() function which calls self.update() before iterating through children and calling tick() on them. The return value for the call to self.update() is...

`Composite(behaviour.Behaviour)` should be implemented as an abstract (ABC) class. Users will confuse this as a valid type of `composite` when setting up a pytree (and end up getting `INVALID` state...

component:composites
type:design

What do you think about the generating trees by parsing yaml file. something like ``` root: name: Reality type: composites.Parallel children: child_a child_a: name: My Timer type: timer.Timer duration: 5.0...

flag:question
component:display

https://github.com/splintered-reality/py_trees/blob/devel/py_trees/composites.py#L778 ``` # clean up dangling (running) children for child in self.children: if child.status == common.Status.RUNNING: # this unfortunately knocks out it's running status for introspection # but logically is...

File "C:\Users\Darley\miniconda3\envs\antisubmarine\lib\site-packages\py_trees\display.py", line 661, in render_dot_tree writer(pathname) File "C:\Users\Darley\miniconda3\envs\antisubmarine\lib\site-packages\pydot\core.py", line 1660, in write f.write(s) UnicodeEncodeError: 'gbk' codec can't encode character '\u24c2' in position 289: illegal multibyte sequence

https://github.com/splintered-reality/py_trees/blob/0d5b39f2f6333c504406d8a63052c456c6bd1ce5/py_trees/decorators.py#L281 ```python else: # SUCCESS self.feedback_message = ( f"succeeded [status: {self.failures} failure from {self.num_failures}]" ) return common.Status.SUCCESS ``` This causes the Retry decorator to return SUCCESS when the child's status...

The Python type system considers `typing.List` to be mutable, and thus invariant on its child type. This doesn't let us pass `Behaviour` subclasses to composites through the `children` parameter, forcing...

Dear PyTrees-Team, in line 59 of timers.py (https://github.com/splintered-reality/py_trees/blob/devel/py_trees/timers.py#L59) the error message suggests, that the input can be of type float OR int, while the actual check only accepts type float....