From 67add81c1f68b698e12d014639ffcbfc39b20e9e Mon Sep 17 00:00:00 2001 From: Netceor <45135347+Netceor@users.noreply.github.com> Date: Wed, 8 Nov 2023 19:45:26 +0800 Subject: [PATCH 1/4] Update scene.py --- robowaiter/scene/scene.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/robowaiter/scene/scene.py b/robowaiter/scene/scene.py index 94f943a..f132122 100644 --- a/robowaiter/scene/scene.py +++ b/robowaiter/scene/scene.py @@ -71,9 +71,11 @@ class Scene: self.sub_task_seq = None # myx op - self.op_dialog = ["","制作咖啡","倒水","夹点心","拖地","擦桌子","关闭窗帘","关筒灯","开大厅灯","搬椅子","打开窗帘","关大厅灯","开筒灯"] - self.op_act_num = [0,3,4,6,3,2,0,0,0,1,0,0,0] - self.op_v_list = [[[0.0,0.0]],[[250.0, 310.0]],[[-70.0, 480.0]],[[250.0, 630.0]],[[260.0, 1120.0]],[[300.0, -220.0]],[[0.0, -70.0]]] + # 1-7 正常执行, 8-10 移动到6, 11-12不需要移动 + self.op_dialog = ["","制作咖啡","倒水","夹点心","拖地","擦桌子","开筒灯","搬椅子","关筒灯","开大厅灯","关大厅灯","关闭窗帘","打开窗帘"] + self.op_act_num = [0,3,4,6,3,2,0,1,0,0,0,0,0] + self.op_v_list = [[[0.0,0.0]],[[250.0, 310.0]],[[-70.0, 480.0]],[[250.0, 630.0]],[[-70.0, 740.0]],[[260.0, 1120.0]],[[300.0, -220.0]],[[0.0, -70.0]]] + self.op_typeToAct = {8:[6,2],9:[6,3],10:[6,4],11:[8,1],12:[8,2]} def _reset(self): @@ -338,29 +340,39 @@ class Scene: print(scene.info) return False - def op_task_execute(self,task_type): - self.control_robot_action(0, 1, "开始"+self.op_dialog[task_type]) # 开始制作咖啡 - result = self.control_robot_action(task_type, 1) # + def op_task_execute(self,op_type): + print("type:",self.op_typeToAct[op_type][0],"action:",self.op_typeToAct[op_type][1]) + self.control_robot_action(0, 1, "开始"+self.op_dialog[op_type]) # 开始制作咖啡 + if op_type>=8: + result = self.control_robot_action(self.op_typeToAct[op_type][0], self.op_typeToAct[op_type][1]) + else: + result = self.control_robot_action(op_type, 1) # self.control_robot_action(0, 2) if result: - if self.op_act_num[task_type]>0: - for i in range(2,2+self.op_act_num[task_type]): - self.control_robot_action(task_type,i) + print("op_num:",self.op_act_num[op_type]) + if self.op_act_num[op_type]>0: + for i in range(2,2+self.op_act_num[op_type]): + self.control_robot_action(op_type,i) self.control_robot_action(0, 2) - self.control_robot_action(0, 1, "成功"+self.op_dialog[task_type]) + self.control_robot_action(0, 1, "成功"+self.op_dialog[op_type]) else: - self.control_robot_action(0, 1, self.op_dialog[task_type]+"失败") + self.control_robot_action(0, 1, self.op_dialog[op_type]+"失败") - def move_task_area(self,op_type=0): + def move_task_area(self,op_type=1): + if op_type>=8 and op_type<=10: + v_list = self.op_v_list[6] + else: + v_list = self.op_v_list[op_type] scene = stub.Observe(GrabSim_pb2.SceneID(value=self.sceneID)) walk_value = [scene.location.X, scene.location.Y, scene.rotation.Yaw] print("------------------move_task_area----------------------") print("position:", walk_value,"开始任务:",self.op_dialog[op_type]) - for walk_v in self.op_v_list[op_type]: + for walk_v in v_list: walk_v = walk_v + [scene.rotation.Yaw, 60, 0] action = GrabSim_pb2.Action( scene=self.sceneID, action=GrabSim_pb2.Action.ActionType.WalkTo, values=walk_v ) scene = stub.Do(action) + From 4fc639cb45c7651dff89cf2dfb050d2057ed9243 Mon Sep 17 00:00:00 2001 From: Netceor <45135347+Netceor@users.noreply.github.com> Date: Wed, 8 Nov 2023 19:46:01 +0800 Subject: [PATCH 2/4] Update VLM.py --- robowaiter/scene/tasks/VLM.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/robowaiter/scene/tasks/VLM.py b/robowaiter/scene/tasks/VLM.py index 62fb836..69831b4 100644 --- a/robowaiter/scene/tasks/VLM.py +++ b/robowaiter/scene/tasks/VLM.py @@ -14,9 +14,15 @@ class SceneVLM(Scene): pass def _run(self, op_type=1): + # 12个操作顺序测试 + # for i in range(1,13): + # if i<=10: + # self.move_task_area(i) + # self.op_task_execute(i) - self.move_task_area(op_type) + if op_type<=10: + self.move_task_area(op_type) self.op_task_execute(op_type) def _step(self): - pass \ No newline at end of file + pass From 3fec85cbc0b52d699747a39c3e9621b2ac8b68ad Mon Sep 17 00:00:00 2001 From: Netceor <45135347+Netceor@users.noreply.github.com> Date: Wed, 8 Nov 2023 19:51:51 +0800 Subject: [PATCH 3/4] Update scene.py --- robowaiter/scene/scene.py | 1 - 1 file changed, 1 deletion(-) diff --git a/robowaiter/scene/scene.py b/robowaiter/scene/scene.py index f132122..3b6552a 100644 --- a/robowaiter/scene/scene.py +++ b/robowaiter/scene/scene.py @@ -341,7 +341,6 @@ class Scene: return False def op_task_execute(self,op_type): - print("type:",self.op_typeToAct[op_type][0],"action:",self.op_typeToAct[op_type][1]) self.control_robot_action(0, 1, "开始"+self.op_dialog[op_type]) # 开始制作咖啡 if op_type>=8: result = self.control_robot_action(self.op_typeToAct[op_type][0], self.op_typeToAct[op_type][1]) From 9eee9a9f6d9ce3dfecdbc5afabe437668a6900c5 Mon Sep 17 00:00:00 2001 From: Netceor <45135347+Netceor@users.noreply.github.com> Date: Wed, 8 Nov 2023 19:54:12 +0800 Subject: [PATCH 4/4] Update scene.py --- robowaiter/scene/scene.py | 1 - 1 file changed, 1 deletion(-) diff --git a/robowaiter/scene/scene.py b/robowaiter/scene/scene.py index 3b6552a..55ee083 100644 --- a/robowaiter/scene/scene.py +++ b/robowaiter/scene/scene.py @@ -348,7 +348,6 @@ class Scene: result = self.control_robot_action(op_type, 1) # self.control_robot_action(0, 2) if result: - print("op_num:",self.op_act_num[op_type]) if self.op_act_num[op_type]>0: for i in range(2,2+self.op_act_num[op_type]): self.control_robot_action(op_type,i)