RoboWaiter/robowaiter/scene/tasks/VLN.py

48 lines
1.3 KiB
Python
Raw Normal View History

"""
视觉语言导航
识别顾客NPC靠近打招呼对话领位导航到适合人数的空闲餐桌
开始条件监测到顾客靠近
结束条件完成领位语音请问您想喝点什么并等待下一步指令
"""
2023-11-09 08:47:57 +08:00
import os
import pickle
import time
import random
import matplotlib.pyplot as plt
import numpy as np
from robowaiter.scene.scene import Scene,init_world # TODO: 文件名改成Scene.py
from robowaiter.scene.scene import Scene
from robowaiter.utils import get_root_path
class SceneVLN(Scene):
def __init__(self, robot):
super().__init__(robot)
2023-11-09 08:47:57 +08:00
# 在这里加入场景中发生的事件, (事件发生的时间,事件函数)
self.event_list = [
2023-11-14 20:08:54 +08:00
(5, self.create_chat_event("测试VLN前往2号桌")),
2023-11-09 08:47:57 +08:00
]
2023-10-25 22:12:15 +08:00
def _reset(self):
root_path = get_root_path()
file_name = os.path.join(root_path,'robowaiter/algos/navigate/map_5.pkl')
2023-11-09 08:47:57 +08:00
with open(file_name, 'rb') as file:
map = pickle.load(file)
2023-10-25 22:12:15 +08:00
2023-11-09 08:47:57 +08:00
self.state['map']['2d'] = map
self.state['map']['obj_pos']['Table'] = np.array((-100, 700))
2023-11-15 09:40:57 +08:00
if __name__ == '__main__':
import os
from robowaiter.robot.robot import Robot
robot = Robot()
# create task
task = SceneVLN(robot)
task.reset()
task.run()