Skip to content

Commit 4eebfcf

Browse files
committed
gpsr command examples
1 parent 3af4c26 commit 4eebfcf

File tree

4 files changed

+286
-0
lines changed

4 files changed

+286
-0
lines changed

docs/development/integration/Task Breakdown/GPSR.md renamed to docs/development/integration/Task Breakdown/gpsr/GPSR.md

File renamed without changes.

docs/development/integration/Task Breakdown/gpsr/commands.md

Whitespace-only changes.
Lines changed: 277 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
# Command Brake Down
2+
3+
Go to the dishwasher then find an apple and get it and bring it to the waving person in the office
4+
5+
-> go(dishwasher)
6+
-> find(apple)
7+
----> gaze(n predefined points)
8+
----> detect(apple)
9+
----> approach_point(apple)
10+
-> pick(apple)
11+
-> go(office)
12+
-> find(waving_person)
13+
-> give(apple)
14+
15+
Locate a waving person in the kitchen and answer a question
16+
17+
-> go(kitchen)
18+
-> find(waving_person)
19+
----> gaze(n predefined points)
20+
----> detect(waving person)
21+
----> approach_point(waving_person)
22+
-> say(ask_question)
23+
-> hear(user)
24+
-> say(answer)
25+
26+
Meet Axel in the bedroom and answer a quiz
27+
-> go(bedroom)
28+
-> find(Axel)
29+
----> gaze(n predefined points)
30+
----> detect(Axel)
31+
----> approach_point(Axel)
32+
-> say(ask_question)
33+
-> hear(user)
34+
-> say(answer)
35+
36+
Tell me how many waving persons are in the kitchen
37+
-> go(kitchen)
38+
-> count(waving_person)
39+
----> gaze(n predefined points)
40+
----> detect(waving person)
41+
-> go(task_origin)
42+
-> say(answer)
43+
44+
Tell me the gesture of the person at the tv stand
45+
-> go(tv_stand)
46+
-> find(person)
47+
----> gaze(n predefined points)
48+
----> detect(person)
49+
-> go(task_origin)
50+
-> say(gesture)
51+
52+
Say your teams affiliation to the waving person in the bathroom
53+
-> go(bathroom)
54+
-> find(waving_person)
55+
----> gaze(n predefined points)
56+
----> detect(waving person)
57+
----> approach_point(waving_person)
58+
-> fetch(affiliation)
59+
-> say(affiliation)
60+
61+
Answer the quiz of the person raising their right arm in the living room
62+
-> go(living_room)
63+
-> find(person_raising_right_arm)
64+
----> gaze(n predefined points)
65+
----> detect(person_raising_right_arm)
66+
----> approach_point(person_raising_right_arm)
67+
-> say(ask_quiz)
68+
-> hear(user)
69+
-> say(answer)
70+
71+
Follow Jane from the desk to the kitchen
72+
-> go(desk)
73+
-> find(Jane)
74+
----> gaze(n predefined points)
75+
----> detect(person)
76+
----> approach_point(person)
77+
----> confirm(person)
78+
-> follow_person_until(Jane, kitchen)
79+
80+
Escort Axel from the trashbin to the pantry
81+
82+
-> go(trashbin)
83+
-> find(Axel)
84+
----> gaze(n predefined points)
85+
----> detect(Axel)
86+
----> approach_point(Axel)
87+
----> confirm(person)
88+
-> escort_to(pantry)
89+
90+
Take the person pointing to the right from the armchair to the exit
91+
-> go(armchair)
92+
-> find(person_pointing_right)
93+
----> gaze(n predefined points)
94+
----> detect(person_pointing_right)
95+
----> approach_point(person_pointing_right)
96+
-> escort_to(exit)
97+
98+
Take the person wearing a yellow t shirt from the side tables to the office
99+
-> go(side_tables)
100+
-> find(person_yellow_tshirt)
101+
----> gaze(n predefined points)
102+
----> detect(person_yellow_tshirt)
103+
----> approach_point(person_yellow_tshirt)
104+
-> escort_to(office)
105+
106+
Say hello to the person wearing a gray t shirt in the living room and answer a quiz
107+
-> go(living_room)
108+
-> find(person_gray_tshirt)
109+
----> gaze(n predefined points)
110+
----> detect(person_gray_tshirt)
111+
----> approach_point(person_gray_tshirt)
112+
-> say(hello)
113+
-> say(ask_quiz)
114+
-> hear(user)
115+
-> say(answer)
116+
117+
Say hello to Morgan in the kitchen and answer a question
118+
-> go(kitchen)
119+
-> find(Morgan)
120+
----> gaze(n predefined points)
121+
----> detect(Morgan)
122+
----> approach_point(Morgan)
123+
-> say(hello)
124+
-> say(ask_question)
125+
-> hear(user)
126+
-> say(answer)
127+
128+
Meet Jane at the entrance then locate them in the kitchen
129+
-> go(entrance)
130+
-> find(Jane)
131+
----> gaze(n predefined points)
132+
----> detect(Jane)
133+
----> approach_point(Jane)
134+
-> go(kitchen)
135+
-> find(Jane)
136+
----> gaze(n predefined points)
137+
----> detect(Jane)
138+
139+
Tell me how many people in the office are wearing yellow coats
140+
-> go(office)
141+
-> count(person_yellow_coat)
142+
----> gaze(n predefined points)
143+
----> detect(person_yellow_coat)
144+
-> go(task_origin)
145+
-> say(answer)
146+
147+
Tell me how many people in the living room are wearing gray coats
148+
-> go(living_room)
149+
-> count(person_gray_coat)
150+
----> gaze(n predefined points)
151+
----> detect(person_gray_coat)
152+
-> go(task_origin)
153+
-> say(answer)
154+
155+
Tell the gesture of the person at the side tables to the person at the tv stand
156+
-> go(side_tables)
157+
-> find(person)
158+
----> gaze(n predefined points)
159+
----> detect(person)
160+
-> fetch(gesture)
161+
-> go(tv_stand)
162+
-> find(person)
163+
----> gaze(n predefined points)
164+
----> detect(person)
165+
-> say(gesture)
166+
167+
Follow the standing person in the living room
168+
-> go(living_room)
169+
-> find(standing_person)
170+
----> gaze(n predefined points)
171+
----> detect(standing_person)
172+
----> approach_point(standing_person)
173+
----> confirm(person)
174+
-> follow_person_until(standing_person, destination)
175+
176+
Go to the kitchen then locate a snack and get it and deliver it to Adel in the bathroom
177+
-> go(kitchen)
178+
-> find(snack)
179+
----> gaze(n predefined points)
180+
----> detect(snack)
181+
----> approach_point(snack)
182+
-> pick(snack)
183+
-> go(bathroom)
184+
-> find(Adel)
185+
----> gaze(n predefined points)
186+
----> detect(Adel)
187+
----> approach_point(Adel)
188+
-> give(snack)
189+
190+
Take a cleaning supply from the kitchen table and bring it to the standing person in the kitchen
191+
-> go(kitchen_table)
192+
-> find(cleaning_supply)
193+
----> gaze(n predefined points)
194+
----> detect(cleaning_supply)
195+
----> approach_point(cleaning_supply)
196+
-> pick(cleaning_supply)
197+
-> find(standing_person)
198+
----> gaze(n predefined points)
199+
----> detect(standing_person)
200+
----> approach_point(standing_person)
201+
-> give(cleaning_supply)
202+
203+
Locate a cleaning supply in the bedroom then take it and bring it to the standing person in the bedroom
204+
-> go(bedroom)
205+
-> find(cleaning_supply)
206+
----> gaze(n predefined points)
207+
----> detect(cleaning_supply)
208+
----> approach_point(cleaning_supply)
209+
-> pick(cleaning_supply)
210+
-> find(standing_person)
211+
----> gaze(n predefined points)
212+
----> detect(standing_person)
213+
----> approach_point(standing_person)
214+
-> give(cleaning_supply)
215+
216+
Tell me how many fruits there are on the bed
217+
-> go(bed)
218+
-> count(fruits)
219+
----> gaze(n predefined points)
220+
----> detect(fruits)
221+
-> go(task_origin)
222+
-> say(answer)
223+
224+
TODO: how to detect biggest object?
225+
Tell me what is the biggest object on the kitchen table
226+
-> go(kitchen_table)
227+
-> find(biggest_object)
228+
----> gaze(n predefined points)
229+
----> detect(biggest_object)
230+
-> go(task_origin)
231+
-> say(biggest_object)
232+
233+
Bring me a soccer ball from the dishwasher
234+
-> go(dishwasher)
235+
-> find(soccer_ball)
236+
----> gaze(n predefined points)
237+
----> detect(soccer_ball)
238+
----> approach_point(soccer_ball)
239+
-> pick(soccer_ball)
240+
-> go(task_origin)
241+
-> give(soccer_ball)
242+
243+
TODO: how to detect lightest object that is a toy?
244+
Tell me what is the lightest toy on the bookshelf
245+
-> go(bookshelf)
246+
-> find(lightest_toy)
247+
----> gaze(n predefined points)
248+
----> detect(toys)
249+
----> determine_lightest(toys)
250+
-> go(task_origin)
251+
-> say(lightest_toy)
252+
253+
## Todo ideas
254+
255+
TODO: how to detect lightest object that is a toy?
256+
257+
- When in the find method, insert all objects matching description to a db.
258+
- In the db, store previously know object properties.
259+
- When determining the lightest object, compare the objects in the db and return the lightest one.
260+
- Perhaps, implement a contextual_say method that fetches context to answer questies?
261+
- Let the contextual say choose between the databases
262+
263+
TODO: how to detect biggest object?
264+
265+
- Same idea as previous todo
266+
267+
TODO: how to handle finds with different requirements?
268+
269+
- i.e. find by name, by posture, by object recognizable with model
270+
271+
TODO: deux ex machina integration
272+
273+
-
274+
275+
TODO: confirmation implementation
276+
277+
- How to add confirmation and fallbacks to the subcommands?

docs/development/integration/Task Breakdown/gpsr_api.md renamed to docs/development/integration/Task Breakdown/gpsr/gpsr_api.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,12 @@
4848
'soccer ball', 'dice', 'tennis ball', 'baseball', 'cleanser', 'sponge'
4949
}
5050
```
51+
52+
## HRI
53+
54+
1. interpret_commands(interpreted_instruction: str) -> CommandList
55+
56+
- interpreted_instruction (str): The instruction heard by the robot, which the user should mention.
57+
- CommandList -> returns a list of commands to be executed by the robot. The commands possible are specified in commands.md.
58+
59+
2.

0 commit comments

Comments
 (0)