diff --git a/robowaiter/behavior_lib/_base/Inverter.py b/robowaiter/behavior_lib/_base/Inverter.py new file mode 100644 index 0000000..25e15be --- /dev/null +++ b/robowaiter/behavior_lib/_base/Inverter.py @@ -0,0 +1,11 @@ +import py_trees as ptree +from typing import Any + + +class Inverter(ptree.decorators.Inverter): + print_name = "Inverter" + ins_name = "Inverter" + type = "Inverter" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) diff --git a/robowaiter/behavior_tree/ptml/ptmlTranslator.py b/robowaiter/behavior_tree/ptml/ptmlTranslator.py index d93f33c..7b8c6d2 100644 --- a/robowaiter/behavior_tree/ptml/ptmlTranslator.py +++ b/robowaiter/behavior_tree/ptml/ptmlTranslator.py @@ -1,6 +1,6 @@ import shortuuid import py_trees as ptree -from robowaiter.behavior_lib._base import Selector, Sequence +from robowaiter.behavior_lib._base import Selector, Sequence, Inverter from antlr4 import * if "." in __name__: @@ -100,7 +100,7 @@ class ptmlTranslator(ptmlListener): # if have 'not' decorator if str(ctx.children[1]) == 'Not': - upper_node = ptree.decorators.Inverter(name="Inverter", child=node) + upper_node = Inverter.Inverter(name="Inverter", child=node) # connect self.stack[-1].add_child(upper_node) else: diff --git a/robowaiter/utils/draw_bt/Default.ptml b/robowaiter/utils/draw_bt/Default.ptml index 9521eb4..e872284 100644 --- a/robowaiter/utils/draw_bt/Default.ptml +++ b/robowaiter/utils/draw_bt/Default.ptml @@ -1,7 +1,7 @@ selector sequence - cond At(Robot, Coffee) + cond Not At(Robot, Coffee) selector sequence cond Holding(Nothing) diff --git a/robowaiter/utils/draw_bt/Default_bracket.ptml b/robowaiter/utils/draw_bt/Default_bracket.ptml index 69bec14..06386ce 100644 --- a/robowaiter/utils/draw_bt/Default_bracket.ptml +++ b/robowaiter/utils/draw_bt/Default_bracket.ptml @@ -2,7 +2,7 @@ selector { sequence { - cond At(Robot, Coffee) + cond Not At(Robot, Coffee) selector { sequence diff --git a/robowaiter/utils/draw_bt/test.dot b/robowaiter/utils/draw_bt/test.dot index cb6404f..a38b5e1 100644 --- a/robowaiter/utils/draw_bt/test.dot +++ b/robowaiter/utils/draw_bt/test.dot @@ -3,57 +3,59 @@ ordering=out; graph [fontname="times-roman"]; node [fontname="times-roman"]; edge [fontname="times-roman"]; -"c681805a-96e1-4a3d-a38d-0bfca162692b" [fillcolor=cyan, fontcolor=black, fontsize=20, height=0.01, label=Selector, shape=diamond, style=filled, width=0.01]; -"e878636e-ab91-45b3-8d25-1712a9b919ab" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"c681805a-96e1-4a3d-a38d-0bfca162692b" -> "e878636e-ab91-45b3-8d25-1712a9b919ab"; -"e88e510b-5495-4aa1-95cd-f95b3b4e50dc" [fillcolor=yellow, fontcolor=black, fontsize=20, label="At(Robot,Coffee)", shape=ellipse, style=filled]; -"e878636e-ab91-45b3-8d25-1712a9b919ab" -> "e88e510b-5495-4aa1-95cd-f95b3b4e50dc"; -"292edbec-e8dc-44df-a80c-7dd5b6dd6692" [fillcolor=cyan, fontcolor=black, fontsize=20, height=0.01, label=Selector, shape=diamond, style=filled, width=0.01]; -"e878636e-ab91-45b3-8d25-1712a9b919ab" -> "292edbec-e8dc-44df-a80c-7dd5b6dd6692"; -"8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"292edbec-e8dc-44df-a80c-7dd5b6dd6692" -> "8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b"; -"65f29fbc-02c3-4015-98bf-e71d16a78cbb" [fillcolor=yellow, fontcolor=black, fontsize=20, label="Holding(Nothing)", shape=ellipse, style=filled]; -"8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b" -> "65f29fbc-02c3-4015-98bf-e71d16a78cbb"; -"c503211c-ab75-4671-a6ca-2f66518be485" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PickUp(Coffee)", shape=box, style=filled]; -"8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b" -> "c503211c-ab75-4671-a6ca-2f66518be485"; -"27760c0d-aa85-437c-ac87-564d573f6d3d" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PutDown(Anything,Anywhere)", shape=box, style=filled]; -"292edbec-e8dc-44df-a80c-7dd5b6dd6692" -> "27760c0d-aa85-437c-ac87-564d573f6d3d"; -"94f578bf-0c4b-4614-aacc-d73ca0996d2c" [fillcolor=cyan, fontcolor=black, fontsize=20, height=0.01, label=Selector, shape=diamond, style=filled, width=0.01]; -"e878636e-ab91-45b3-8d25-1712a9b919ab" -> "94f578bf-0c4b-4614-aacc-d73ca0996d2c"; -"5a162890-11de-41d8-9954-ba17ccf166c4" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"94f578bf-0c4b-4614-aacc-d73ca0996d2c" -> "5a162890-11de-41d8-9954-ba17ccf166c4"; -"296bae80-a542-4fde-87b9-b030340caa1d" [fillcolor=yellow, fontcolor=black, fontsize=20, label="Holding(Coffee)", shape=ellipse, style=filled]; -"5a162890-11de-41d8-9954-ba17ccf166c4" -> "296bae80-a542-4fde-87b9-b030340caa1d"; -"cba60b1e-308f-4f5a-939c-28bba802bca5" [fillcolor=yellow, fontcolor=black, fontsize=20, label="At(Robot,WaterTable)", shape=ellipse, style=filled]; -"5a162890-11de-41d8-9954-ba17ccf166c4" -> "cba60b1e-308f-4f5a-939c-28bba802bca5"; -"93924025-e88f-47ec-90e4-c53bbc3df60e" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PutDown(Coffee,WaterTable)", shape=box, style=filled]; -"5a162890-11de-41d8-9954-ba17ccf166c4" -> "93924025-e88f-47ec-90e4-c53bbc3df60e"; -"191ca7d5-a98c-429f-b040-66d210c30bdd" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="MoveTo(WaterTable)", shape=box, style=filled]; -"94f578bf-0c4b-4614-aacc-d73ca0996d2c" -> "191ca7d5-a98c-429f-b040-66d210c30bdd"; -"5461e129-ef05-4848-9107-2617c82b3566" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"c681805a-96e1-4a3d-a38d-0bfca162692b" -> "5461e129-ef05-4848-9107-2617c82b3566"; -"fd31940a-4e40-433d-8165-c9dd302fae62" [fillcolor=yellow, fontcolor=black, fontsize=20, label="At(Robot,Coffee)", shape=ellipse, style=filled]; -"5461e129-ef05-4848-9107-2617c82b3566" -> "fd31940a-4e40-433d-8165-c9dd302fae62"; -"0a9876b0-1ff9-4f96-b7a8-8257a3928f62" [fillcolor=cyan, fontcolor=black, fontsize=20, height=0.01, label=Selector, shape=diamond, style=filled, width=0.01]; -"5461e129-ef05-4848-9107-2617c82b3566" -> "0a9876b0-1ff9-4f96-b7a8-8257a3928f62"; -"052d5a92-c6b4-483d-9cef-41745df61ff9" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"0a9876b0-1ff9-4f96-b7a8-8257a3928f62" -> "052d5a92-c6b4-483d-9cef-41745df61ff9"; -"c8462c00-d129-4eba-a0b4-ad6a819e34e8" [fillcolor=yellow, fontcolor=black, fontsize=20, label="Holding(Nothing)", shape=ellipse, style=filled]; -"052d5a92-c6b4-483d-9cef-41745df61ff9" -> "c8462c00-d129-4eba-a0b4-ad6a819e34e8"; -"5a944a18-ea71-4cbe-a04e-675d955b1b1f" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PickUp(Coffee)", shape=box, style=filled]; -"052d5a92-c6b4-483d-9cef-41745df61ff9" -> "5a944a18-ea71-4cbe-a04e-675d955b1b1f"; -"bfea3ed6-08c4-4fd3-9aa7-994f4be28953" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PutDown(Anything,Anywhere)", shape=box, style=filled]; -"0a9876b0-1ff9-4f96-b7a8-8257a3928f62" -> "bfea3ed6-08c4-4fd3-9aa7-994f4be28953"; -"c719600f-4033-418f-8608-5c808481d1aa" [fillcolor=cyan, fontcolor=black, fontsize=20, height=0.01, label=Selector, shape=diamond, style=filled, width=0.01]; -"5461e129-ef05-4848-9107-2617c82b3566" -> "c719600f-4033-418f-8608-5c808481d1aa"; -"c9d1af42-f394-4c52-9e7b-32d46487c708" [fillcolor=orange, fontcolor=black, fontsize=20, height=0.01, label=Sequence, shape=octagon, style=filled, width=0.01]; -"c719600f-4033-418f-8608-5c808481d1aa" -> "c9d1af42-f394-4c52-9e7b-32d46487c708"; -"84ecc165-efa0-4747-8ce9-64bf6ac557a2" [fillcolor=yellow, fontcolor=black, fontsize=20, label="Holding(Coffee)", shape=ellipse, style=filled]; -"c9d1af42-f394-4c52-9e7b-32d46487c708" -> "84ecc165-efa0-4747-8ce9-64bf6ac557a2"; -"8d3d2c3f-1f52-4742-bb03-a02d578134de" [fillcolor=yellow, fontcolor=black, fontsize=20, label="At(Robot,BrightTable6)", shape=ellipse, style=filled]; -"c9d1af42-f394-4c52-9e7b-32d46487c708" -> "8d3d2c3f-1f52-4742-bb03-a02d578134de"; -"b5bcfc9e-f0ad-458b-ba99-19bae2fc6b12" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="PutDown(Coffee,BrightTable6)", shape=box, style=filled]; -"c9d1af42-f394-4c52-9e7b-32d46487c708" -> "b5bcfc9e-f0ad-458b-ba99-19bae2fc6b12"; -"5685125a-34f9-40cd-be0c-b7674970c01b" [fillcolor=lawngreen, fontcolor=black, fontsize=20, label="MoveTo(BrightTable6)", shape=box, style=filled]; -"c719600f-4033-418f-8608-5c808481d1aa" -> "5685125a-34f9-40cd-be0c-b7674970c01b"; +"3966e37f-61fa-4266-b3a2-b5719d0eaa54" [fillcolor="#B0FFFF", fontcolor=black, fontsize=20, height=0.01, label="?", shape=box, style=filled, width=0.01]; +"2670a901-5db5-4886-a69c-57f55807a77b" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"3966e37f-61fa-4266-b3a2-b5719d0eaa54" -> "2670a901-5db5-4886-a69c-57f55807a77b"; +"b8e77d71-eee6-46b1-bf56-ba4bc655b1d3" [fillcolor=ghostwhite, fontcolor=black, fontsize=20, label=Inverter, shape=ellipse, style=filled]; +"2670a901-5db5-4886-a69c-57f55807a77b" -> "b8e77d71-eee6-46b1-bf56-ba4bc655b1d3"; +"c98609a2-cfb4-4456-9563-0153cdaf77f1" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="At(Robot,Coffee)", shape=ellipse, style=filled]; +"b8e77d71-eee6-46b1-bf56-ba4bc655b1d3" -> "c98609a2-cfb4-4456-9563-0153cdaf77f1"; +"ecfbef2b-c1e5-4ba4-a734-b1eaecb78128" [fillcolor="#B0FFFF", fontcolor=black, fontsize=20, height=0.01, label="?", shape=box, style=filled, width=0.01]; +"2670a901-5db5-4886-a69c-57f55807a77b" -> "ecfbef2b-c1e5-4ba4-a734-b1eaecb78128"; +"5ea6af3b-4ed9-4c31-9893-6599911c89bc" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"ecfbef2b-c1e5-4ba4-a734-b1eaecb78128" -> "5ea6af3b-4ed9-4c31-9893-6599911c89bc"; +"55c2a21d-6684-4273-8231-5fa834dd2c32" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="Holding(Nothing)", shape=ellipse, style=filled]; +"5ea6af3b-4ed9-4c31-9893-6599911c89bc" -> "55c2a21d-6684-4273-8231-5fa834dd2c32"; +"f95979e2-7328-44e4-9eaa-a4d7e8351751" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PickUp(Coffee)", shape=box, style=filled]; +"5ea6af3b-4ed9-4c31-9893-6599911c89bc" -> "f95979e2-7328-44e4-9eaa-a4d7e8351751"; +"b49cc444-b073-4f14-b709-70be469292d2" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PutDown(Anything,Anywhere)", shape=box, style=filled]; +"ecfbef2b-c1e5-4ba4-a734-b1eaecb78128" -> "b49cc444-b073-4f14-b709-70be469292d2"; +"09f2f623-a9ed-4637-9a03-e3eba9e1368d" [fillcolor="#B0FFFF", fontcolor=black, fontsize=20, height=0.01, label="?", shape=box, style=filled, width=0.01]; +"2670a901-5db5-4886-a69c-57f55807a77b" -> "09f2f623-a9ed-4637-9a03-e3eba9e1368d"; +"b9ebf069-8434-403e-a6f7-4641fe9ef0c0" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"09f2f623-a9ed-4637-9a03-e3eba9e1368d" -> "b9ebf069-8434-403e-a6f7-4641fe9ef0c0"; +"49275b8a-b220-4222-a76f-20c273db7137" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="Holding(Coffee)", shape=ellipse, style=filled]; +"b9ebf069-8434-403e-a6f7-4641fe9ef0c0" -> "49275b8a-b220-4222-a76f-20c273db7137"; +"0672b275-28ef-4275-9a0e-f1d35deb9de8" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="At(Robot,WaterTable)", shape=ellipse, style=filled]; +"b9ebf069-8434-403e-a6f7-4641fe9ef0c0" -> "0672b275-28ef-4275-9a0e-f1d35deb9de8"; +"ce0b68ed-9606-4d17-8ef9-0f2f60b778c8" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PutDown(Coffee,WaterTable)", shape=box, style=filled]; +"b9ebf069-8434-403e-a6f7-4641fe9ef0c0" -> "ce0b68ed-9606-4d17-8ef9-0f2f60b778c8"; +"05155dc9-7a6a-4129-b869-7ed4254a82e2" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="MoveTo(WaterTable)", shape=box, style=filled]; +"09f2f623-a9ed-4637-9a03-e3eba9e1368d" -> "05155dc9-7a6a-4129-b869-7ed4254a82e2"; +"ea7271b8-6f06-4b73-a495-bd19b149b6c2" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"3966e37f-61fa-4266-b3a2-b5719d0eaa54" -> "ea7271b8-6f06-4b73-a495-bd19b149b6c2"; +"7301fc34-e40d-472c-bc73-7e5c6b7d39c6" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="At(Robot,Coffee)", shape=ellipse, style=filled]; +"ea7271b8-6f06-4b73-a495-bd19b149b6c2" -> "7301fc34-e40d-472c-bc73-7e5c6b7d39c6"; +"ad3774e1-4c5c-4120-901b-8208a465a2d4" [fillcolor="#B0FFFF", fontcolor=black, fontsize=20, height=0.01, label="?", shape=box, style=filled, width=0.01]; +"ea7271b8-6f06-4b73-a495-bd19b149b6c2" -> "ad3774e1-4c5c-4120-901b-8208a465a2d4"; +"98f9d98b-1647-4cfc-8715-65f7a6bf37de" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"ad3774e1-4c5c-4120-901b-8208a465a2d4" -> "98f9d98b-1647-4cfc-8715-65f7a6bf37de"; +"07528c29-c1a1-4e7e-97b4-beebafe55e6f" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="Holding(Nothing)", shape=ellipse, style=filled]; +"98f9d98b-1647-4cfc-8715-65f7a6bf37de" -> "07528c29-c1a1-4e7e-97b4-beebafe55e6f"; +"af81f991-d3c8-4560-bf5b-ea7d0755c0d2" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PickUp(Coffee)", shape=box, style=filled]; +"98f9d98b-1647-4cfc-8715-65f7a6bf37de" -> "af81f991-d3c8-4560-bf5b-ea7d0755c0d2"; +"97577672-eeb2-4921-bb7b-e232a3dcd886" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PutDown(Anything,Anywhere)", shape=box, style=filled]; +"ad3774e1-4c5c-4120-901b-8208a465a2d4" -> "97577672-eeb2-4921-bb7b-e232a3dcd886"; +"6382c654-de14-45ca-a1b4-a5767d0120c3" [fillcolor="#B0FFFF", fontcolor=black, fontsize=20, height=0.01, label="?", shape=box, style=filled, width=0.01]; +"ea7271b8-6f06-4b73-a495-bd19b149b6c2" -> "6382c654-de14-45ca-a1b4-a5767d0120c3"; +"7870a21a-2410-414c-b408-bc3b39c28f1e" [fillcolor="#FF8080", fontcolor=black, fontsize=20, height=0.01, label="→", shape=box, style=filled, width=0.01]; +"6382c654-de14-45ca-a1b4-a5767d0120c3" -> "7870a21a-2410-414c-b408-bc3b39c28f1e"; +"05e4706c-93e8-4361-8acb-87af236afeeb" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="Holding(Coffee)", shape=ellipse, style=filled]; +"7870a21a-2410-414c-b408-bc3b39c28f1e" -> "05e4706c-93e8-4361-8acb-87af236afeeb"; +"938a274e-cf4d-45ed-a821-2497c3f72a64" [fillcolor="#FFFF80", fontcolor=black, fontsize=20, label="At(Robot,BrightTable6)", shape=ellipse, style=filled]; +"7870a21a-2410-414c-b408-bc3b39c28f1e" -> "938a274e-cf4d-45ed-a821-2497c3f72a64"; +"c0c19eae-dc22-4038-83d7-45304bba30ee" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="PutDown(Coffee,BrightTable6)", shape=box, style=filled]; +"7870a21a-2410-414c-b408-bc3b39c28f1e" -> "c0c19eae-dc22-4038-83d7-45304bba30ee"; +"594058dd-ed6d-468e-b493-f1076d6f811e" [fillcolor=lightgreen, fontcolor=black, fontsize=20, label="MoveTo(BrightTable6)", shape=box, style=filled]; +"6382c654-de14-45ca-a1b4-a5767d0120c3" -> "594058dd-ed6d-468e-b493-f1076d6f811e"; } diff --git a/robowaiter/utils/draw_bt/test.png b/robowaiter/utils/draw_bt/test.png index 21942b3..4b08b5c 100644 Binary files a/robowaiter/utils/draw_bt/test.png and b/robowaiter/utils/draw_bt/test.png differ diff --git a/robowaiter/utils/draw_bt/test.svg b/robowaiter/utils/draw_bt/test.svg index 5d9f517..6fc157e 100644 --- a/robowaiter/utils/draw_bt/test.svg +++ b/robowaiter/utils/draw_bt/test.svg @@ -4,328 +4,340 @@ - - + + pastafarianism - - + + -c681805a-96e1-4a3d-a38d-0bfca162692b - -Selector +3966e37f-61fa-4266-b3a2-b5719d0eaa54 + +? - + -e878636e-ab91-45b3-8d25-1712a9b919ab - -Sequence +2670a901-5db5-4886-a69c-57f55807a77b + + - + -c681805a-96e1-4a3d-a38d-0bfca162692b->e878636e-ab91-45b3-8d25-1712a9b919ab - - +3966e37f-61fa-4266-b3a2-b5719d0eaa54->2670a901-5db5-4886-a69c-57f55807a77b + + - - -5461e129-ef05-4848-9107-2617c82b3566 - -Sequence + + +ea7271b8-6f06-4b73-a495-bd19b149b6c2 + + - - -c681805a-96e1-4a3d-a38d-0bfca162692b->5461e129-ef05-4848-9107-2617c82b3566 - - + + +3966e37f-61fa-4266-b3a2-b5719d0eaa54->ea7271b8-6f06-4b73-a495-bd19b149b6c2 + + - + -e88e510b-5495-4aa1-95cd-f95b3b4e50dc - -At(Robot,Coffee) +b8e77d71-eee6-46b1-bf56-ba4bc655b1d3 + +Inverter - + -e878636e-ab91-45b3-8d25-1712a9b919ab->e88e510b-5495-4aa1-95cd-f95b3b4e50dc - - +2670a901-5db5-4886-a69c-57f55807a77b->b8e77d71-eee6-46b1-bf56-ba4bc655b1d3 + + - - -292edbec-e8dc-44df-a80c-7dd5b6dd6692 - -Selector - - - -e878636e-ab91-45b3-8d25-1712a9b919ab->292edbec-e8dc-44df-a80c-7dd5b6dd6692 - - - - - -94f578bf-0c4b-4614-aacc-d73ca0996d2c - -Selector - - - -e878636e-ab91-45b3-8d25-1712a9b919ab->94f578bf-0c4b-4614-aacc-d73ca0996d2c - - - - + -8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b - -Sequence +ecfbef2b-c1e5-4ba4-a734-b1eaecb78128 + +? - + -292edbec-e8dc-44df-a80c-7dd5b6dd6692->8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b - - +2670a901-5db5-4886-a69c-57f55807a77b->ecfbef2b-c1e5-4ba4-a734-b1eaecb78128 + + - - -27760c0d-aa85-437c-ac87-564d573f6d3d - -PutDown(Anything,Anywhere) + + +09f2f623-a9ed-4637-9a03-e3eba9e1368d + +? - - -292edbec-e8dc-44df-a80c-7dd5b6dd6692->27760c0d-aa85-437c-ac87-564d573f6d3d - - + + +2670a901-5db5-4886-a69c-57f55807a77b->09f2f623-a9ed-4637-9a03-e3eba9e1368d + + - + + +c98609a2-cfb4-4456-9563-0153cdaf77f1 + +At(Robot,Coffee) + + + +b8e77d71-eee6-46b1-bf56-ba4bc655b1d3->c98609a2-cfb4-4456-9563-0153cdaf77f1 + + + + -65f29fbc-02c3-4015-98bf-e71d16a78cbb - +5ea6af3b-4ed9-4c31-9893-6599911c89bc + + + + + +ecfbef2b-c1e5-4ba4-a734-b1eaecb78128->5ea6af3b-4ed9-4c31-9893-6599911c89bc + + + + + +b49cc444-b073-4f14-b709-70be469292d2 + +PutDown(Anything,Anywhere) + + + +ecfbef2b-c1e5-4ba4-a734-b1eaecb78128->b49cc444-b073-4f14-b709-70be469292d2 + + + + + +55c2a21d-6684-4273-8231-5fa834dd2c32 + Holding(Nothing) - - -8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b->65f29fbc-02c3-4015-98bf-e71d16a78cbb - - + + +5ea6af3b-4ed9-4c31-9893-6599911c89bc->55c2a21d-6684-4273-8231-5fa834dd2c32 + + - - -c503211c-ab75-4671-a6ca-2f66518be485 - + + +f95979e2-7328-44e4-9eaa-a4d7e8351751 + PickUp(Coffee) - - -8d44bfa1-3a4e-4ae7-94bb-25d70caf0b4b->c503211c-ab75-4671-a6ca-2f66518be485 - - + + +5ea6af3b-4ed9-4c31-9893-6599911c89bc->f95979e2-7328-44e4-9eaa-a4d7e8351751 + + - - -5a162890-11de-41d8-9954-ba17ccf166c4 - -Sequence - - - -94f578bf-0c4b-4614-aacc-d73ca0996d2c->5a162890-11de-41d8-9954-ba17ccf166c4 - - - - - -191ca7d5-a98c-429f-b040-66d210c30bdd - -MoveTo(WaterTable) - - - -94f578bf-0c4b-4614-aacc-d73ca0996d2c->191ca7d5-a98c-429f-b040-66d210c30bdd - - - - + -296bae80-a542-4fde-87b9-b030340caa1d - +b9ebf069-8434-403e-a6f7-4641fe9ef0c0 + + + + + +09f2f623-a9ed-4637-9a03-e3eba9e1368d->b9ebf069-8434-403e-a6f7-4641fe9ef0c0 + + + + + +05155dc9-7a6a-4129-b869-7ed4254a82e2 + +MoveTo(WaterTable) + + + +09f2f623-a9ed-4637-9a03-e3eba9e1368d->05155dc9-7a6a-4129-b869-7ed4254a82e2 + + + + + +49275b8a-b220-4222-a76f-20c273db7137 + Holding(Coffee) - - -5a162890-11de-41d8-9954-ba17ccf166c4->296bae80-a542-4fde-87b9-b030340caa1d - - + + +b9ebf069-8434-403e-a6f7-4641fe9ef0c0->49275b8a-b220-4222-a76f-20c273db7137 + + - - -cba60b1e-308f-4f5a-939c-28bba802bca5 - + + +0672b275-28ef-4275-9a0e-f1d35deb9de8 + At(Robot,WaterTable) - - -5a162890-11de-41d8-9954-ba17ccf166c4->cba60b1e-308f-4f5a-939c-28bba802bca5 - - + + +b9ebf069-8434-403e-a6f7-4641fe9ef0c0->0672b275-28ef-4275-9a0e-f1d35deb9de8 + + - - -93924025-e88f-47ec-90e4-c53bbc3df60e - + + +ce0b68ed-9606-4d17-8ef9-0f2f60b778c8 + PutDown(Coffee,WaterTable) - - -5a162890-11de-41d8-9954-ba17ccf166c4->93924025-e88f-47ec-90e4-c53bbc3df60e - - + + +b9ebf069-8434-403e-a6f7-4641fe9ef0c0->ce0b68ed-9606-4d17-8ef9-0f2f60b778c8 + + - - -fd31940a-4e40-433d-8165-c9dd302fae62 - -At(Robot,Coffee) - - - -5461e129-ef05-4848-9107-2617c82b3566->fd31940a-4e40-433d-8165-c9dd302fae62 - - - - + -0a9876b0-1ff9-4f96-b7a8-8257a3928f62 - -Selector +7301fc34-e40d-472c-bc73-7e5c6b7d39c6 + +At(Robot,Coffee) - + -5461e129-ef05-4848-9107-2617c82b3566->0a9876b0-1ff9-4f96-b7a8-8257a3928f62 - - +ea7271b8-6f06-4b73-a495-bd19b149b6c2->7301fc34-e40d-472c-bc73-7e5c6b7d39c6 + + - - -c719600f-4033-418f-8608-5c808481d1aa - -Selector - - - -5461e129-ef05-4848-9107-2617c82b3566->c719600f-4033-418f-8608-5c808481d1aa - - - - + -052d5a92-c6b4-483d-9cef-41745df61ff9 - -Sequence +ad3774e1-4c5c-4120-901b-8208a465a2d4 + +? - + -0a9876b0-1ff9-4f96-b7a8-8257a3928f62->052d5a92-c6b4-483d-9cef-41745df61ff9 - - +ea7271b8-6f06-4b73-a495-bd19b149b6c2->ad3774e1-4c5c-4120-901b-8208a465a2d4 + + - - -bfea3ed6-08c4-4fd3-9aa7-994f4be28953 - -PutDown(Anything,Anywhere) + + +6382c654-de14-45ca-a1b4-a5767d0120c3 + +? - - -0a9876b0-1ff9-4f96-b7a8-8257a3928f62->bfea3ed6-08c4-4fd3-9aa7-994f4be28953 - - + + +ea7271b8-6f06-4b73-a495-bd19b149b6c2->6382c654-de14-45ca-a1b4-a5767d0120c3 + + - + -c8462c00-d129-4eba-a0b4-ad6a819e34e8 - +98f9d98b-1647-4cfc-8715-65f7a6bf37de + + + + + +ad3774e1-4c5c-4120-901b-8208a465a2d4->98f9d98b-1647-4cfc-8715-65f7a6bf37de + + + + + +97577672-eeb2-4921-bb7b-e232a3dcd886 + +PutDown(Anything,Anywhere) + + + +ad3774e1-4c5c-4120-901b-8208a465a2d4->97577672-eeb2-4921-bb7b-e232a3dcd886 + + + + + +07528c29-c1a1-4e7e-97b4-beebafe55e6f + Holding(Nothing) - - -052d5a92-c6b4-483d-9cef-41745df61ff9->c8462c00-d129-4eba-a0b4-ad6a819e34e8 - - + + +98f9d98b-1647-4cfc-8715-65f7a6bf37de->07528c29-c1a1-4e7e-97b4-beebafe55e6f + + - - -5a944a18-ea71-4cbe-a04e-675d955b1b1f - + + +af81f991-d3c8-4560-bf5b-ea7d0755c0d2 + PickUp(Coffee) - - -052d5a92-c6b4-483d-9cef-41745df61ff9->5a944a18-ea71-4cbe-a04e-675d955b1b1f - - + + +98f9d98b-1647-4cfc-8715-65f7a6bf37de->af81f991-d3c8-4560-bf5b-ea7d0755c0d2 + + - - -c9d1af42-f394-4c52-9e7b-32d46487c708 - -Sequence - - - -c719600f-4033-418f-8608-5c808481d1aa->c9d1af42-f394-4c52-9e7b-32d46487c708 - - - - - -5685125a-34f9-40cd-be0c-b7674970c01b - -MoveTo(BrightTable6) - - - -c719600f-4033-418f-8608-5c808481d1aa->5685125a-34f9-40cd-be0c-b7674970c01b - - - - + -84ecc165-efa0-4747-8ce9-64bf6ac557a2 - +7870a21a-2410-414c-b408-bc3b39c28f1e + + + + + +6382c654-de14-45ca-a1b4-a5767d0120c3->7870a21a-2410-414c-b408-bc3b39c28f1e + + + + + +594058dd-ed6d-468e-b493-f1076d6f811e + +MoveTo(BrightTable6) + + + +6382c654-de14-45ca-a1b4-a5767d0120c3->594058dd-ed6d-468e-b493-f1076d6f811e + + + + + +05e4706c-93e8-4361-8acb-87af236afeeb + Holding(Coffee) - - -c9d1af42-f394-4c52-9e7b-32d46487c708->84ecc165-efa0-4747-8ce9-64bf6ac557a2 - - + + +7870a21a-2410-414c-b408-bc3b39c28f1e->05e4706c-93e8-4361-8acb-87af236afeeb + + - - -8d3d2c3f-1f52-4742-bb03-a02d578134de - + + +938a274e-cf4d-45ed-a821-2497c3f72a64 + At(Robot,BrightTable6) - - -c9d1af42-f394-4c52-9e7b-32d46487c708->8d3d2c3f-1f52-4742-bb03-a02d578134de - - + + +7870a21a-2410-414c-b408-bc3b39c28f1e->938a274e-cf4d-45ed-a821-2497c3f72a64 + + - - -b5bcfc9e-f0ad-458b-ba99-19bae2fc6b12 - + + +c0c19eae-dc22-4038-83d7-45304bba30ee + PutDown(Coffee,BrightTable6) - - -c9d1af42-f394-4c52-9e7b-32d46487c708->b5bcfc9e-f0ad-458b-ba99-19bae2fc6b12 - - + + +7870a21a-2410-414c-b408-bc3b39c28f1e->c0c19eae-dc22-4038-83d7-45304bba30ee + +