From 2d933bf7a42d4ce9726fa3406e3a95d587cb81c6 Mon Sep 17 00:00:00 2001 From: ChenXL97 <908926798@qq.com> Date: Mon, 13 Nov 2023 15:05:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=97=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=89=93=E5=8D=B0=E6=97=B6=E4=B9=9F=E4=BC=9A?= =?UTF-8?q?=E5=B8=A6=E7=A9=BA=E6=8B=AC=E5=8F=B7()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- robowaiter/behavior_lib/_base/Behavior.py | 13 ++++++++++++- robowaiter/robot/robot.py | 13 +++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/robowaiter/behavior_lib/_base/Behavior.py b/robowaiter/behavior_lib/_base/Behavior.py index 129be1d..84ed74b 100644 --- a/robowaiter/behavior_lib/_base/Behavior.py +++ b/robowaiter/behavior_lib/_base/Behavior.py @@ -14,6 +14,15 @@ class Bahavior(ptree.behaviour.Behaviour): scene = None print_name_prefix = "" + @classmethod + def get_ins_name(cls,*args): + name = cls.__name__ + if len(args) > 0: + ins_name = f'{name}({",".join(list(args))})' + else: + ins_name = f'{name}()' + return ins_name + def __init__(self,*args): name = self.__class__.__name__ if len(args)>0: @@ -34,7 +43,9 @@ class Bahavior(ptree.behaviour.Behaviour): @property def print_name(self): - return f'{self.print_name_prefix}{self.name}' + return f'{self.print_name_prefix}{self.get_ins_name(*self.args)}' + + # let behavior node interact with the scene def set_scene(self, scene): diff --git a/robowaiter/robot/robot.py b/robowaiter/robot/robot.py index 8133fcb..6d7b275 100644 --- a/robowaiter/robot/robot.py +++ b/robowaiter/robot/robot.py @@ -45,7 +45,12 @@ class Robot(object): def expand_sub_task_tree(self,goal): if self.action_list is None: self.action_list = self.collect_action_nodes() - print(f"首次运行行为树扩展算法,收集到{len(self.action_list)}个有效动作") + print("\n--------------------") + print(f"首次运行行为树扩展算法,收集到{len(self.action_list)}个有效动作:") + for a in self.action_list: + print(a.name) + print("--------------------\n") + algo = BTOptExpInterface(self.action_list) @@ -76,13 +81,13 @@ class Robot(object): for cls in behavior_dict["act"].values(): if cls.can_be_expanded: if cls.num_args == 0: - action_list.append(Action(name=cls.__name__,**cls.get_info())) + action_list.append(Action(name=cls.get_ins_name(),**cls.get_info())) if cls.num_args == 1: for arg in cls.valid_args: - action_list.append(Action(name=cls.__name__, **cls.get_info(arg))) + action_list.append(Action(name=cls.get_ins_name(arg), **cls.get_info(arg))) if cls.num_args > 1: for args in cls.valid_args: - action_list.append(Action(name=cls.__name__,**cls.get_info(*args))) + action_list.append(Action(name=cls.get_ins_name(*args),**cls.get_info(*args))) print(action_list) # action_list = [