更新了 add_walkers

This commit is contained in:
Caiyishuai 2023-11-15 14:38:13 +08:00
parent f2df712f2e
commit 2ac24bad61
2 changed files with 23 additions and 22 deletions

View File

@ -208,23 +208,22 @@ class Scene:
else:
return True
def add_walker(self, X, Y, Yaw):
if self.use_offset:
X, Y = X + loc_offset[0], Y + loc_offset[1]
if self.reachable_check(X, Y, Yaw):
stub.AddWalker(
GrabSim_pb2.WalkerList(
walkers=[
GrabSim_pb2.WalkerList.Walker(
id=0,
pose=GrabSim_pb2.Pose(
X=X, Y=Y, Yaw=Yaw
), # Parameter id is useless
)
],
scene=self.sceneID,
)
)
def add_walkers(self,walker_loc=[[0, 880], [250, 1200], [-55, 750], [70, -200]]):
print('------------------add_walkers----------------------')
walker_list = []
for i in range(len(walker_loc)):
loc = walker_loc[i] + [0, 0, 100]
action = GrabSim_pb2.Action(scene=self.sceneID, action=GrabSim_pb2.Action.ActionType.WalkTo, values=loc)
scene = stub.Do(action)
print(scene.info)
if (str(scene.info).find('unreachable') > -1):
print('当前位置不可达,无法初始化NPC')
else:
walker_list.append(
GrabSim_pb2.WalkerList.Walker(id=i + 5, pose=GrabSim_pb2.Pose(X=loc[0], Y=loc[1], Yaw=90)))
scene = stub.AddWalker(GrabSim_pb2.WalkerList(walkers=walker_list, scene=self.sceneID))
return scene
def remove_walker(self, *args): # take single walkerID or a list of walkerIDs
remove_list = []

View File

@ -7,6 +7,7 @@
具体描述设计一套点单规则如菜单包含咖啡点心等按照规则拟造随机的订单在收到订单后通过大模型让机器人输出合理的备餐计划并尝试在模拟环境中按照这个规划实现任务
"""
import time
# todo: 接收点单信息,大模型生成任务规划
@ -23,11 +24,12 @@ class SceneOT(Scene):
]
def _reset(self):
scene = self.add_walker(0, 0, 0)
print("我有点热,能开个空调吗?")
# print("scene.walkers:",scene.walkers)
# cont = scene.walkers[0].name+":我有点热,能开个空调吗?"
# self.control_robot_action(0,3,cont)
scene = self.add_walkers([[0, 0], [250, 1200], [-55, 750], [70, -200]])
# time.sleep(2.0)
# print("我有点热,能开个空调吗?")
print("scene.walkers:",scene.walkers)
cont = scene.walkers[0].name+":我有点热,能开个空调吗?"
self.control_robot_action(0,3,cont)
# self.control_walker([self.walker_control_generator(0, False, 100, 755, 1900, 180)])
pass