Skip to content

Commit

Permalink
[example] fixed old examples can not runs
Browse files Browse the repository at this point in the history
  • Loading branch information
Tunglies committed Sep 14, 2024
1 parent 7d3d907 commit eb47fca
Show file tree
Hide file tree
Showing 8 changed files with 61 additions and 46 deletions.
23 changes: 17 additions & 6 deletions docs/examples/blackboard_behaviour.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,19 @@ class Foo(py_trees.behaviour.Behaviour):
def __init__(self, name):
super().__init__(name=name)
self.blackboard = self.attach_blackboard_client(name="Foo Global")
self.parameters = self.attach_blackboard_client(name="Foo Params", namespace="foo_parameters_")
self.state = self.attach_blackboard_client(name="Foo State", namespace="foo_state_")
self.parameters = self.attach_blackboard_client(
name="Foo Params", namespace="foo_parameters_"
)
self.state = self.attach_blackboard_client(
name="Foo State", namespace="foo_state_"
)

# create a key 'foo_parameters_init' on the blackboard
self.parameters.register_key("init", access=py_trees.common.Access.READ)
# create a key 'foo_state_number_of_noodles' on the blackboard
self.state.register_key("number_of_noodles", access=py_trees.common.Access.WRITE)
self.state.register_key(
"number_of_noodles", access=py_trees.common.Access.WRITE
)

def initialise(self):
self.state.number_of_noodles = self.parameters.init
Expand All @@ -30,9 +36,14 @@ def update(self):

# could equivalently do directly via the Blackboard static methods if
# not interested in tracking / visualising the application configuration
configuration = py_trees.blackboard.Client(name="App Config")
configuration.register_key("foo_parameters_init", access=py_trees.common.Access.WRITE)
configuration.foo_parameters_init = 3
# Register and set up the configuration on the blackboard
configuration = py_trees.blackboard.Client(
name="App Config", namespace="foo_parameters_"
) # Added namespace
configuration.register_key(
"init", access=py_trees.common.Access.WRITE
) # Register key with correct namespace
configuration.init = 3 # Set the initial value for 'foo_parameters_init'

foo = Foo(name="The Foo")
for i in range(1, 8):
Expand Down
12 changes: 5 additions & 7 deletions docs/examples/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@
import py_trees.decorators
import py_trees.display

if __name__ == '__main__':
if __name__ == "__main__":

root = py_trees.composites.Sequence(name="Life")
root = py_trees.composites.Sequence(name="Life", memory=False)
timeout = py_trees.decorators.Timeout(
name="Timeout",
child=py_trees.behaviours.Success(name="Have a Beer!")
name="Timeout", child=py_trees.behaviours.Success(name="Have a Beer!")
)
failure_is_success = py_trees.decorators.Inverter(
name="Inverter",
child=py_trees.behaviours.Success(name="Busy?")
)
name="Inverter", child=py_trees.behaviours.Success(name="Busy?")
)
root.add_children([failure_is_success, timeout])
py_trees.display.render_dot_tree(root)
11 changes: 7 additions & 4 deletions docs/examples/oneshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import py_trees

if __name__ == '__main__':
sequence = py_trees.composites.Sequence("Sequence")
if __name__ == "__main__":
sequence = py_trees.composites.Sequence("Sequence", memory=False)
guard = py_trees.behaviours.Success(name="Guard")
a1 = py_trees.behaviours.Success(name="Action 1")
a2 = py_trees.behaviours.Success(name="Action 2")
Expand All @@ -14,5 +14,8 @@
name="OneShot",
variable_name="oneshot",
behaviour=sequence,
policy=py_trees.common.OneShotPolicy.ON_COMPLETION)
py_trees.display.render_dot_tree(root, py_trees.common.string_to_visibility_level("all"))
policy=py_trees.common.OneShotPolicy.ON_COMPLETION,
)
py_trees.display.render_dot_tree(
root, py_trees.common.string_to_visibility_level("all")
)
12 changes: 7 additions & 5 deletions docs/examples/parallel.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@

import py_trees

if __name__ == '__main__':
if __name__ == "__main__":
b1 = py_trees.behaviours.Success(name="B1")
b2 = py_trees.behaviours.Success(name="B2")
b3 = py_trees.behaviours.Success(name="B3")
root = py_trees.composites.Parallel(
name="Root",
policy=py_trees.common.ParallelPolicy.SuccessOnSelected(
synchronise=True,
children=[b1, b2]
)
synchronise=True, children=[b1, b2]
),
)
root.add_children([b1, b2, b3])
py_trees.display.render_dot_tree(root, py_trees.common.string_to_visibility_level("all"))
py_trees.display.render_dot_tree(
root, py_trees.common.string_to_visibility_level("all")
)
23 changes: 11 additions & 12 deletions docs/examples/pickup_where_you_left_off.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,34 @@

import py_trees

if __name__ == '__main__':
if __name__ == "__main__":
task_one = py_trees.behaviours.StatusQueue(
name="Task 1",
queue=[
py_trees.common.Status.RUNNING,
py_trees.common.Status.RUNNING,
],
eventually=py_trees.common.Status.SUCCESS
eventually=py_trees.common.Status.SUCCESS,
)
task_two = py_trees.behaviours.StatusQueue(
name="Task 2",
queue=[
py_trees.common.Status.RUNNING,
py_trees.common.Status.RUNNING,
],
eventually=py_trees.common.Status.SUCCESS
eventually=py_trees.common.Status.SUCCESS,
)
high_priority_interrupt = py_trees.decorators.RunningIsFailure(
child=py_trees.behaviours.Periodic(
name="High Priority",
n=3
)
name="Running Failure",
child=py_trees.behaviours.Periodic(name="High Priority", n=3),
)
piwylo = py_trees.idioms.pick_up_where_you_left_off(
name="Tasks",
tasks=[task_one, task_two]
name="Tasks", tasks=[task_one, task_two]
)
root = py_trees.composites.Selector(
name="Pick Up\nWhere You\nLeft Off", memory=False
)
root = py_trees.composites.Selector(name="Pick Up\nWhere You\nLeft Off")
root.add_children([high_priority_interrupt, piwylo])
py_trees.display.render_dot_tree(
root,
py_trees.common.string_to_visibility_level("all"))
root, py_trees.common.string_to_visibility_level("all")
)
8 changes: 5 additions & 3 deletions docs/examples/selector.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@

import py_trees

if __name__ == '__main__':
root = py_trees.composites.Selector("Selector")
if __name__ == "__main__":
root = py_trees.composites.Selector("Selector", memory=False)
high = py_trees.behaviours.Success(name="High Priority")
med = py_trees.behaviours.Success(name="Med Priority")
low = py_trees.behaviours.Success(name="Low Priority")
root.add_children([high, med, low])
py_trees.display.render_dot_tree(root, py_trees.common.string_to_visibility_level("all"))
py_trees.display.render_dot_tree(
root, py_trees.common.string_to_visibility_level("all")
)
8 changes: 5 additions & 3 deletions docs/examples/sequence.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@

import py_trees

if __name__ == '__main__':
root = py_trees.composites.Sequence("Sequence")
if __name__ == "__main__":
root = py_trees.composites.Sequence("Sequence", memory=False)
guard = py_trees.behaviours.Success(name="Guard")
a1 = py_trees.behaviours.Success(name="Action 1")
a2 = py_trees.behaviours.Success(name="Action 2")
a3 = py_trees.behaviours.Success(name="Action 3")
root.add_children([guard, a1, a2, a3])
py_trees.display.render_dot_tree(root, py_trees.common.string_to_visibility_level("all"))
py_trees.display.render_dot_tree(
root, py_trees.common.string_to_visibility_level("all")
)
10 changes: 4 additions & 6 deletions docs/examples/skeleton_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@

import py_trees

if __name__ == '__main__':
if __name__ == "__main__":

root = py_trees.composites.Selector("Selector")
root = py_trees.composites.Selector("Selector", memory=False)
high = py_trees.behaviours.Success(name="High Priority")
med = py_trees.behaviours.Success(name="Med Priority")
low = py_trees.behaviours.Success(name="Low Priority")
root.add_children([high, med, low])

behaviour_tree = py_trees.trees.BehaviourTree(
root=root
)
behaviour_tree = py_trees.trees.BehaviourTree(root=root)
print(py_trees.display.unicode_tree(root=root))
behaviour_tree.setup(timeout=15)

Expand All @@ -25,7 +23,7 @@ def print_tree(tree):
period_ms=500,
number_of_iterations=py_trees.trees.CONTINUOUS_TICK_TOCK,
pre_tick_handler=None,
post_tick_handler=print_tree
post_tick_handler=print_tree,
)
except KeyboardInterrupt:
behaviour_tree.interrupt()

0 comments on commit eb47fca

Please sign in to comment.