Merge remote-tracking branch 'origin/main'
# Conflicts: # sub_task.ptml
This commit is contained in:
commit
271b5c67e8
|
@ -36,16 +36,10 @@ class Bahavior(ptree.behaviour.Behaviour):
|
||||||
return ins_name
|
return ins_name
|
||||||
|
|
||||||
def __init__(self,*args):
|
def __init__(self,*args):
|
||||||
self.name = Bahavior.get_ins_name(*args)
|
ins_name = self.__class__.get_ins_name(*args)
|
||||||
#get valid args
|
|
||||||
# self.valid_arg_list = []
|
|
||||||
# lines = self.valid_params.strip().splitlines()
|
|
||||||
# for line in lines:
|
|
||||||
# self.valid_arg_list.append((x.strip for x in line.split(",")))
|
|
||||||
self.args = args
|
self.args = args
|
||||||
|
|
||||||
|
super().__init__(ins_name)
|
||||||
super().__init__(self.name)
|
|
||||||
|
|
||||||
def _update(self) -> ptree.common.Status:
|
def _update(self) -> ptree.common.Status:
|
||||||
print("this is just a _base behavior node.")
|
print("this is just a _base behavior node.")
|
||||||
|
|
|
@ -187,7 +187,7 @@ class OptBTExpAlgorithm:
|
||||||
self.ptml_string += c_set_str
|
self.ptml_string += c_set_str
|
||||||
elif child.type == 'act':
|
elif child.type == 'act':
|
||||||
if '(' not in child.content.name:
|
if '(' not in child.content.name:
|
||||||
self.ptml_string += 'act '+child.content.name+"()\n"
|
self.ptml_string += 'act ' + child.content.name + "()\n"
|
||||||
else:
|
else:
|
||||||
self.ptml_string += 'act ' + child.content.name + "\n"
|
self.ptml_string += 'act ' + child.content.name + "\n"
|
||||||
elif isinstance(child, ControlBT):
|
elif isinstance(child, ControlBT):
|
||||||
|
|
|
@ -10,7 +10,7 @@ import time
|
||||||
def print_action_data_table(goal,start,actions):
|
def print_action_data_table(goal,start,actions):
|
||||||
data = []
|
data = []
|
||||||
for a in actions:
|
for a in actions:
|
||||||
data.append([a.name ,a.pre ,a.add ,a.del_set ,a.cost])
|
data.append([a.name , a.pre , a.add , a.del_set , a.cost])
|
||||||
data.append(["Goal" ,goal ," " ,"Start" ,start])
|
data.append(["Goal" ,goal ," " ,"Start" ,start])
|
||||||
print(tabulate(data, headers=["Name", "Pre", "Add" ,"Del" ,"Cost"], tablefmt="fancy_grid")) # grid plain simple github fancy_grid
|
print(tabulate(data, headers=["Name", "Pre", "Add" ,"Del" ,"Cost"], tablefmt="fancy_grid")) # grid plain simple github fancy_grid
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,10 @@ with open(file_path,'r',encoding="utf-8") as f:
|
||||||
|
|
||||||
def ask_llm(question):
|
def ask_llm(question):
|
||||||
if question in test_questions_dict:
|
if question in test_questions_dict:
|
||||||
return test_questions_dict[question]
|
ans = test_questions_dict[question]
|
||||||
|
else:
|
||||||
ans = single_round(question)
|
ans = single_round(question)
|
||||||
|
print(f"大模型输出: {ans}")
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"测试VLM:做一杯咖啡": {"Answer": "测试VLM:做一杯咖啡", "Goal": "{\"At(Coffee,Bar)\"}"}, "测试VLM:前往桌子2": {"Answer": " 测试VLM:前往桌子2", "Goal": "{\"At(Robot,Table2)\"}"}, "测试AEM": {"Answer": "测试AEM", "Goal": "{\"EnvExplored()\"}"}, "测试VLM:倒一杯水": {"Answer": "测试VLM:倒一杯水", "Goal": "{\"On(Water,WaterTable)\"}"}, "测试VLM:开空调": {"Answer": "测试VLM:开空调", "Goal": "{\"Is(AC,On)\"}"}, "测试VLM:关空调": {"Answer": "测试VLM:关空调", "Goal": "{\"Is(AC,Off)\"}"}, "测试VLM:关大厅灯": {"Answer": "测试VLM:关大厅灯", "Goal": "{\"Is(HallLight,Off)\"}"}, "测试VLM:开大厅灯": {"Answer": "测试VLM:开大厅灯", "Goal": "{\"Is(HallLight,On)\"}"}, "测试VLM:关筒灯": {"Answer": "测试VLM:关筒灯", "Goal": "{\"Is(TubeLight,Off)\"}"}, "测试VLM:开筒灯": {"Answer": "测试VLM:开筒灯", "Goal": "{\"Is(TubeLight,On)\"}"}, "测试VLM:关窗帘": {"Answer": "测试VLM:关窗帘", "Goal": "{\"Is(Curtain,Off)\"}"}, "测试VLM:开窗帘": {"Answer": "测试VLM:开窗帘", "Goal": "{\"Is(Curtain,On)\"}"}, "测试VLM:拖地": {"Answer": "测试VLM:拖地", "Goal": "{\"Is(Floor,Clean)\"}"}, "测试VLM:擦桌子": {"Answer": "测试VLM:擦桌子", "Goal": "{\"Is(Table1,Clean)\"}"}, "测试VLM:整理椅子": {"Answer": "测试VLM:整理椅子", "Goal": "{\"Is(Chairs,Clean)\"}"}, "测试VLM:把冰红茶放到Table2": {"Answer": "测试VLM:把冰红茶放到Table2", "Goal": "{\"On(BottledDrink,Table2)\"}"}}
|
{"测试VLM:做一杯咖啡": {"Answer": "测试VLM:做一杯咖啡", "Goal": "{\"At(Coffee,Bar)\"}"}, "测试VLN:前往2号桌": {"Answer": " 测试VLN:前往2号桌", "Goal": "{\"At(Robot,Table2)\"}"}, "测试AEM": {"Answer": "测试AEM", "Goal": "{\"EnvExplored()\"}"}, "测试VLM:倒一杯水": {"Answer": "测试VLM:倒一杯水", "Goal": "{\"On(Water,WaterTable)\"}"}, "测试VLM:开空调": {"Answer": "测试VLM:开空调", "Goal": "{\"Is(AC,On)\"}"}, "测试VLM:关空调": {"Answer": "测试VLM:关空调", "Goal": "{\"Is(AC,Off)\"}"}, "测试VLM:关大厅灯": {"Answer": "测试VLM:关大厅灯", "Goal": "{\"Is(HallLight,Off)\"}"}, "测试VLM:开大厅灯": {"Answer": "测试VLM:开大厅灯", "Goal": "{\"Is(HallLight,On)\"}"}, "测试VLM:关筒灯": {"Answer": "测试VLM:关筒灯", "Goal": "{\"Is(TubeLight,Off)\"}"}, "测试VLM:开筒灯": {"Answer": "测试VLM:开筒灯", "Goal": "{\"Is(TubeLight,On)\"}"}, "测试VLM:关窗帘": {"Answer": "测试VLM:关窗帘", "Goal": "{\"Is(Curtain,Off)\"}"}, "测试VLM:开窗帘": {"Answer": "测试VLM:开窗帘", "Goal": "{\"Is(Curtain,On)\"}"}, "测试VLM:拖地": {"Answer": "测试VLM:拖地", "Goal": "{\"Is(Floor,Clean)\"}"}, "测试VLM:擦桌子": {"Answer": "测试VLM:擦桌子", "Goal": "{\"Is(Table1,Clean)\"}"}, "测试VLM:整理椅子": {"Answer": "测试VLM:整理椅子", "Goal": "{\"Is(Chairs,Clean)\"}"}, "测试VLM:把冰红茶放到Table2": {"Answer": "测试VLM:把冰红茶放到Table2", "Goal": "{\"On(BottledDrink,Table2)\"}"}}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Question,Answer,Goal
|
Question,Answer,Goal
|
||||||
测试VLM:做一杯咖啡,测试VLM:做一杯咖啡,"{""At(Coffee,Bar)""}"
|
测试VLM:做一杯咖啡,测试VLM:做一杯咖啡,"{""At(Coffee,Bar)""}"
|
||||||
测试VLM:前往桌子2, 测试VLM:前往桌子2,"{""At(Robot,Table2)""}"
|
测试VLN:前往2号桌,测试VLN:前往2号桌,"{""At(Robot,Table2)""}"
|
||||||
测试AEM,测试AEM,"{""EnvExplored()""}"
|
测试AEM,测试AEM,"{""EnvExplored()""}"
|
||||||
测试VLM:倒一杯水,测试VLM:倒一杯水,"{""On(Water,WaterTable)""}"
|
测试VLM:倒一杯水,测试VLM:倒一杯水,"{""On(Water,WaterTable)""}"
|
||||||
测试VLM:开空调,测试VLM:开空调,"{""Is(AC,On)""}"
|
测试VLM:开空调,测试VLM:开空调,"{""Is(AC,On)""}"
|
||||||
|
|
|
|
@ -74,7 +74,6 @@ if __name__ == "__main__":
|
||||||
# create_chat_completion("chatglm3-6b", chat_messages, use_stream=False)
|
# create_chat_completion("chatglm3-6b", chat_messages, use_stream=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# query = "你是谁"
|
# query = "你是谁"
|
||||||
# run_conversation(query, stream=False)
|
# run_conversation(query, stream=False)
|
||||||
#
|
#
|
||||||
|
|
|
@ -135,7 +135,7 @@ def create_sub_task(
|
||||||
return goal
|
return goal
|
||||||
|
|
||||||
@register_tool
|
@register_tool
|
||||||
def find_near_object(
|
def get_object_info(
|
||||||
object: Annotated[str, '需要判断所在位置的物体', True]
|
object: Annotated[str, '需要判断所在位置的物体', True]
|
||||||
) -> str:
|
) -> str:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -32,7 +32,8 @@ class Robot(object):
|
||||||
|
|
||||||
def load_BT(self):
|
def load_BT(self):
|
||||||
self.bt = load_bt_from_ptml(self.scene, self.ptml_path,self.behavior_lib_path)
|
self.bt = load_bt_from_ptml(self.scene, self.ptml_path,self.behavior_lib_path)
|
||||||
sub_task_place_holder = find_node_by_name(self.bt.root,"SubTaskPlaceHolder")
|
sub_task_place_holder = find_node_by_name(self.bt.root,"SubTaskPlaceHolder()")
|
||||||
|
print(sub_task_place_holder)
|
||||||
if sub_task_place_holder:
|
if sub_task_place_holder:
|
||||||
sub_task_seq = sub_task_place_holder.parent
|
sub_task_seq = sub_task_place_holder.parent
|
||||||
sub_task_seq.children.pop()
|
sub_task_seq.children.pop()
|
||||||
|
@ -44,12 +45,13 @@ class Robot(object):
|
||||||
|
|
||||||
def expand_sub_task_tree(self,goal):
|
def expand_sub_task_tree(self,goal):
|
||||||
if self.action_list is None:
|
if self.action_list is None:
|
||||||
self.action_list = self.collect_action_nodes()
|
|
||||||
print("\n--------------------")
|
print("\n--------------------")
|
||||||
print(f"首次运行行为树扩展算法,收集到{len(self.action_list)}个有效动作:")
|
print(f"首次运行行为树扩展算法")
|
||||||
for a in self.action_list:
|
self.action_list = self.collect_action_nodes()
|
||||||
if "Turn" in a.name:
|
print(f"共收集到{len(self.action_list)}个实例化动作:")
|
||||||
print(a.name)
|
# for a in self.action_list:
|
||||||
|
# if "Turn" in a.name:
|
||||||
|
# print(a.name)
|
||||||
print("--------------------\n")
|
print("--------------------\n")
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,6 +87,7 @@ class Robot(object):
|
||||||
behavior_dict = load_behavior_tree_lib()
|
behavior_dict = load_behavior_tree_lib()
|
||||||
for cls in behavior_dict["act"].values():
|
for cls in behavior_dict["act"].values():
|
||||||
if cls.can_be_expanded:
|
if cls.can_be_expanded:
|
||||||
|
print(f"可扩展动作:{cls.__name__}, 存在{len(cls.valid_args)}个有效论域组合")
|
||||||
if cls.num_args == 0:
|
if cls.num_args == 0:
|
||||||
action_list.append(Action(name=cls.get_ins_name(),**cls.get_info()))
|
action_list.append(Action(name=cls.get_ins_name(),**cls.get_info()))
|
||||||
if cls.num_args == 1:
|
if cls.num_args == 1:
|
||||||
|
@ -94,7 +97,7 @@ class Robot(object):
|
||||||
for args in cls.valid_args:
|
for args in cls.valid_args:
|
||||||
action_list.append(Action(name=cls.get_ins_name(*args),**cls.get_info(*args)))
|
action_list.append(Action(name=cls.get_ins_name(*args),**cls.get_info(*args)))
|
||||||
|
|
||||||
print(action_list)
|
# print(action_list)
|
||||||
# action_list = [
|
# action_list = [
|
||||||
# Action(name='MakeCoffee', pre={'At(Robot,CoffeeMachine)'},
|
# Action(name='MakeCoffee', pre={'At(Robot,CoffeeMachine)'},
|
||||||
# add={'At(Coffee,Bar)'}, del_set=set(), cost=1),
|
# add={'At(Coffee,Bar)'}, del_set=set(), cost=1),
|
||||||
|
|
|
@ -22,7 +22,7 @@ class SceneVLN(Scene):
|
||||||
super().__init__(robot)
|
super().__init__(robot)
|
||||||
# 在这里加入场景中发生的事件, (事件发生的时间,事件函数)
|
# 在这里加入场景中发生的事件, (事件发生的时间,事件函数)
|
||||||
self.event_list = [
|
self.event_list = [
|
||||||
(5, self.create_chat_event("测试VLN:前往桌子")),
|
(5, self.create_chat_event("测试VLN:前往2号桌")),
|
||||||
]
|
]
|
||||||
|
|
||||||
def _reset(self):
|
def _reset(self):
|
||||||
|
|
|
@ -129,7 +129,7 @@ def dot_tree(
|
||||||
root_name = str(root.id)
|
root_name = str(root.id)
|
||||||
node_root = pydot.Node(
|
node_root = pydot.Node(
|
||||||
name=root_name,
|
name=root_name,
|
||||||
label=get_node_label(root.name, root),
|
label=get_node_label(root.ins_name, root),
|
||||||
shape=node_shape,
|
shape=node_shape,
|
||||||
style="filled",
|
style="filled",
|
||||||
fillcolor=node_colour,
|
fillcolor=node_colour,
|
||||||
|
@ -319,7 +319,7 @@ def render_dot_tree(root: behaviour.Behaviour,
|
||||||
root, visibility_level, collapse_decorators,
|
root, visibility_level, collapse_decorators,
|
||||||
with_blackboard_variables=with_blackboard_variables,
|
with_blackboard_variables=with_blackboard_variables,
|
||||||
with_qualified_names=with_qualified_names)
|
with_qualified_names=with_qualified_names)
|
||||||
filename_wo_extension_to_convert = root.name if name is None else name
|
filename_wo_extension_to_convert = root.ins_name if name is None else name
|
||||||
filename_wo_extension = utilities.get_valid_filename(filename_wo_extension_to_convert)
|
filename_wo_extension = utilities.get_valid_filename(filename_wo_extension_to_convert)
|
||||||
filenames = {}
|
filenames = {}
|
||||||
for extension, writer in {"dot": graph.write, "png": graph.write_png, "svg": graph.write_svg}.items():
|
for extension, writer in {"dot": graph.write, "png": graph.write_png, "svg": graph.write_svg}.items():
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import os
|
import os
|
||||||
from robowaiter import Robot, task_map
|
from robowaiter import Robot, task_map
|
||||||
|
|
||||||
TASK_NAME = 'VLM'
|
TASK_NAME = 'VLN'
|
||||||
|
|
||||||
# create robot
|
# create robot
|
||||||
project_path = "./robowaiter"
|
project_path = "./robowaiter"
|
||||||
|
|
945
sub_task.ptml
945
sub_task.ptml
|
@ -1,945 +1,4 @@
|
||||||
selector{
|
selector{
|
||||||
cond At(Coffee,Bar)
|
cond At(Robot,Table2)
|
||||||
sequence{
|
act MoveTo(Table2)
|
||||||
cond Holding(Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
act PutDown(Coffee,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Coffee)
|
|
||||||
act MoveTo(Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Nothing)
|
|
||||||
act PickUp(Coffee)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Nothing)
|
|
||||||
act PickUp(Coffee)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Yogurt,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(MilkDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Milk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(ADMilk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Water,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(Water,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(VacuumCup,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(VacuumCup,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(BottledDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(BottledDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Dessert,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(Dessert,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Softdrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Nothing)
|
|
||||||
act MoveTo(Coffee)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Yogurt,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Yogurt,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(MilkDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(MilkDrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Milk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(Milk)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Milk,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(ADMilk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(ADMilk,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Water,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Water,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Water,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(VacuumCup,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(VacuumCup,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(VacuumCup,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(BottledDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(BottledDrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(BottledDrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Dessert,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Dessert,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Dessert,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Softdrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Softdrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Softdrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Softdrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
act PutDown(Softdrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Coffee)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Softdrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Yogurt,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act PutDown(Yogurt,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Yogurt,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(MilkDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act PutDown(MilkDrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(MilkDrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Milk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Milk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Milk)
|
|
||||||
act PutDown(Milk,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Milk)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Milk,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(ADMilk,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act PutDown(ADMilk,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(ADMilk,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Water,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Water)
|
|
||||||
act PutDown(Water,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(Water,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
act PutDown(Water,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
act PutDown(Water,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Water)
|
|
||||||
act PutDown(Water,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Water,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(VacuumCup,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
act PutDown(VacuumCup,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(VacuumCup,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
act PutDown(VacuumCup,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
act PutDown(VacuumCup,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
act PutDown(VacuumCup,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(VacuumCup,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(BottledDrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
act PutDown(BottledDrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(BottledDrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
act PutDown(BottledDrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
act PutDown(BottledDrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
act PutDown(BottledDrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(BottledDrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Dessert,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
act PutDown(Dessert,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
act PutDown(Dessert,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
act PutDown(Dessert,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
act PutDown(Dessert,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
act PutDown(Dessert,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Dessert,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,WaterTable)
|
|
||||||
act PutDown(Softdrink,WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,CoffeeTable)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,CoffeeTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table1)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Table1)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Bar)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Table3)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Table3)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond At(Robot,Bar2)
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act PutDown(Softdrink,Bar2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
cond At(Robot,Table2)
|
|
||||||
act PutDown(Softdrink,Table2)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Yogurt)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(MilkDrink)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Milk)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(ADMilk)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Water)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(VacuumCup)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(BottledDrink)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Dessert)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
sequence{
|
|
||||||
cond Holding(Softdrink)
|
|
||||||
act MoveTo(WaterTable)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,7 @@ class OptBTExpAlgorithm:
|
||||||
c_set_str = ', '.join(map(str, child.content)) + "\n"
|
c_set_str = ', '.join(map(str, child.content)) + "\n"
|
||||||
self.ptml_string += c_set_str
|
self.ptml_string += c_set_str
|
||||||
elif child.type == 'act':
|
elif child.type == 'act':
|
||||||
self.ptml_string += 'act '+child.content.name+"\n"
|
self.ptml_string += 'act ' + child.content.name + "\n"
|
||||||
elif isinstance(child, ControlBT):
|
elif isinstance(child, ControlBT):
|
||||||
if parnode.type == '?':
|
if parnode.type == '?':
|
||||||
self.ptml_string += "selector{\n"
|
self.ptml_string += "selector{\n"
|
||||||
|
|
|
@ -10,7 +10,7 @@ import time
|
||||||
def print_action_data_table(goal,start,actions):
|
def print_action_data_table(goal,start,actions):
|
||||||
data = []
|
data = []
|
||||||
for a in actions:
|
for a in actions:
|
||||||
data.append([a.name ,a.pre ,a.add ,a.del_set ,a.cost])
|
data.append([a.name , a.pre , a.add , a.del_set , a.cost])
|
||||||
data.append(["Goal" ,goal ," " ,"Start" ,start])
|
data.append(["Goal" ,goal ," " ,"Start" ,start])
|
||||||
print(tabulate(data, headers=["Name", "Pre", "Add" ,"Del" ,"Cost"], tablefmt="fancy_grid")) # grid plain simple github fancy_grid
|
print(tabulate(data, headers=["Name", "Pre", "Add" ,"Del" ,"Cost"], tablefmt="fancy_grid")) # grid plain simple github fancy_grid
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue