大模型具身智能比赛-机器人控制端
Go to file
liwang_zhang dd943e39af 优化AEM 2023-11-20 14:06:03 +08:00
robowaiter 优化AEM 2023-11-20 14:06:03 +08:00
zoo 修复找不到sub_task_seq的Bug 2023-11-14 20:08:54 +08:00
.gitignore 将sub_task.ptml加入gitignore 2023-11-13 15:36:07 +08:00
LICENSE Initial commit 2023-09-20 16:06:37 +08:00
README.md Update README.md 2023-10-25 17:19:56 +08:00
requirements.txt 实现单次带路VLN_greet_lead 2023-11-18 14:13:07 +08:00
run_robowaiter.py update 2023-11-17 13:15:00 +08:00
setup.py 重构了项目代码,进行了项目打包 2023-10-25 10:34:24 +08:00
sub_task.ptml 增加 VLM 场景 2023-11-16 17:57:27 +08:00

README.md

RoboWaiter

大模型具身智能比赛-机器人控制端

项目安装(必看)

环境要求

Python=3.10

安装步骤

cd RoboWaiter
pip install -e .

以上步骤将完成robowaiter项目以及相关依赖库的安装

快速入门

  1. 安装UE及Harix插件打开默认项目并运行
  2. 运行 run_robowaiter.py 文件即可实现机器人控制端与仿真器的交互

运行流程介绍

run_robowaiter.py 入口文件如下:

import os
from robowaiter import Robot, task_map

TASK_NAME = 'GQA'

# create robot
project_path = "./robowaiter"
ptml_path = os.path.join(project_path, 'robot/Default.ptml')
behavior_lib_path = os.path.join(project_path, 'behavior_lib')

robot = Robot(ptml_path,behavior_lib_path)

# create task
task = task_map[TASK_NAME](robot)
task.reset()
task.run()

Robot

Robot是机器人类包括从ptml加载行为树的方法以及执行行为树的方法等

task_map

task_map是任务字典通过任务缩写来返回相应的场景类。

缩写 任务
AEM 主动探索和记忆
GQA 具身多轮对话
VLN 视觉语言导航
VLM 视觉语言操作
OT 复杂开放任务
AT 自主任务

Scene

Scene是场景基类task_map返回的任务场景都继承于Scene。 该类实现了一些通用的场景操作接口。

场景中物品类别

ID Item
0 Mug
1 Banana
2 Toothpaste
3 Bread
4 Softdrink
5 Yogurt
6 ADMilk
7 VacuumCup
8 Bernachon
9 BottledDrink
10 PencilVase
11 Teacup
12 Caddy
13 Dictionary
14 Cake
15 Date
16 Stapler
17 LunchBox
18 Bracelet
19 MilkDrink
20 CocountWater
21 Walnut
22 HamSausage
23 GlueStick
24 AdhensiveTape
25 Calculator
26 Chess
27 Orange
28 Glass
29 Washbowl
30 Durian
31 Gum
32 Towl
33 OrangeJuice
34 Cardcase
35 RubikCube
36 StickyNotes
37 NFCJuice
38 SpringWater
39 Apple
40 Coffee
41 Gauze
42 Mangosteen
43 SesameSeedCake
44 Glove
45 Mouse
46 Kettle
47 Atomize
48 Chips
49 SpongeGourd
50 Garlic
51 Potato
52 Tray
53 Hemomanometer
54 TennisBall
55 ToyDog
56 ToyBear
57 TeaTray
58 Sock
59 Scarf
60 ToiletPaper
61 Milk
62 Soap
63 Novel
64 Watermelon
65 Tomato
66 CleansingFoam
67 CocountMilk
68 SugarlessGum
69 MedicalAdhensiveTape
70 SourMilkDrink
71 PaperCup
72 Tissue
73 YogurtDrink
74 Newspaper
75 Box
76 PaperCupStarbucks
77 CoffeeMachine
78 GingerLHand
79 GingerRHand
80 Straw
81 Cake
82 Tray
83 Bread
84 Glass
85 Door
86 Mug
87 Machine
88 Packaged Coffee
89 Cube Sugar
90 Apple
91 Spoon
92 Drinks
93 Drink
94 Take-Away Cup
95 Saucer
96 Trash Bin
97 Knife
251 Ginger
252 Floor
253 Roof
254 Wall
注意78及以后无法使用add_object方法生成

调用大模型接口

运行llm_client.py文件调用大模型进行多轮对话。

python llm_client.py

输入字符即可等待回答输入end表示对话结束。