Skip to content

Commit fa21d62

Browse files
committed
updated gpsr break down
1 parent 4eebfcf commit fa21d62

File tree

2 files changed

+66
-32
lines changed

2 files changed

+66
-32
lines changed

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

Whitespace-only changes.

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

Lines changed: 66 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Command Brake Down
1+
# Command Break Down
22

33
Go to the dishwasher then find an apple and get it and bring it to the waving person in the office
44

@@ -10,6 +10,9 @@ Go to the dishwasher then find an apple and get it and bring it to the waving pe
1010
-> pick(apple)
1111
-> go(office)
1212
-> find(waving_person)
13+
----> gaze(n predefined points)
14+
----> detect(waving_person)
15+
----> approach_point(waving_person)
1316
-> give(apple)
1417

1518
Locate a waving person in the kitchen and answer a question
@@ -21,42 +24,43 @@ Locate a waving person in the kitchen and answer a question
2124
----> approach_point(waving_person)
2225
-> say(ask_question)
2326
-> hear(user)
24-
-> say(answer)
27+
-> contextual_say(answer)
2528

2629
Meet Axel in the bedroom and answer a quiz
2730
-> go(bedroom)
2831
-> find(Axel)
2932
----> gaze(n predefined points)
30-
----> detect(Axel)
31-
----> approach_point(Axel)
33+
----> detect(person)
34+
----> if person[i] == Axel then approach_point(Axel)
35+
----> else: for person in persons: approach_point(person) -> ask if is Axel
36+
----> save_to_context(Axel)
3237
-> say(ask_question)
3338
-> hear(user)
34-
-> say(answer)
39+
-> contextual_say(answer)
3540

3641
Tell me how many waving persons are in the kitchen
3742
-> go(kitchen)
3843
-> count(waving_person)
3944
----> gaze(n predefined points)
4045
----> detect(waving person)
4146
-> go(task_origin)
42-
-> say(answer)
47+
-> contextual_say(answer)
4348

4449
Tell me the gesture of the person at the tv stand
4550
-> go(tv_stand)
4651
-> find(person)
4752
----> gaze(n predefined points)
4853
----> detect(person)
4954
-> go(task_origin)
50-
-> say(gesture)
55+
-> contextual_say(gesture)
5156

5257
Say your teams affiliation to the waving person in the bathroom
5358
-> go(bathroom)
5459
-> find(waving_person)
5560
----> gaze(n predefined points)
5661
----> detect(waving person)
5762
----> approach_point(waving_person)
58-
-> fetch(affiliation)
59-
-> say(affiliation)
63+
-> contextual_say(affiliation)
6064

6165
Answer the quiz of the person raising their right arm in the living room
6266
-> go(living_room)
@@ -66,15 +70,18 @@ Answer the quiz of the person raising their right arm in the living room
6670
----> approach_point(person_raising_right_arm)
6771
-> say(ask_quiz)
6872
-> hear(user)
69-
-> say(answer)
73+
-> contextual_say(answer)
7074

7175
Follow Jane from the desk to the kitchen
7276
-> go(desk)
7377
-> find(Jane)
7478
----> gaze(n predefined points)
7579
----> detect(person)
76-
----> approach_point(person)
77-
----> confirm(person)
80+
----> if person[i] == Jane then approach_point(Jane)
81+
----> else: for person in persons: approach_point(person) -> ask if is Jane
82+
----> save_to_context(Jane)
83+
84+
-> say(intent)
7885
-> follow_person_until(Jane, kitchen)
7986

8087
Escort Axel from the trashbin to the pantry
@@ -83,8 +90,11 @@ Escort Axel from the trashbin to the pantry
8390
-> find(Axel)
8491
----> gaze(n predefined points)
8592
----> detect(Axel)
86-
----> approach_point(Axel)
87-
----> confirm(person)
93+
----> if person[i] == Axel then approach_point(Axel)
94+
----> else: for person in persons: approach_point(person) -> ask if is Axel
95+
----> save_to_context(Axel)
96+
97+
-> say(intent)
8898
-> escort_to(pantry)
8999

90100
Take the person pointing to the right from the armchair to the exit
@@ -93,6 +103,7 @@ Take the person pointing to the right from the armchair to the exit
93103
----> gaze(n predefined points)
94104
----> detect(person_pointing_right)
95105
----> approach_point(person_pointing_right)
106+
-> say(intent)
96107
-> escort_to(exit)
97108

98109
Take the person wearing a yellow t shirt from the side tables to the office
@@ -101,6 +112,7 @@ Take the person wearing a yellow t shirt from the side tables to the office
101112
----> gaze(n predefined points)
102113
----> detect(person_yellow_tshirt)
103114
----> approach_point(person_yellow_tshirt)
115+
-> say(intent)
104116
-> escort_to(office)
105117

106118
Say hello to the person wearing a gray t shirt in the living room and answer a quiz
@@ -112,66 +124,80 @@ Say hello to the person wearing a gray t shirt in the living room and answer a q
112124
-> say(hello)
113125
-> say(ask_quiz)
114126
-> hear(user)
115-
-> say(answer)
127+
-> contextual_say(answer)
116128

117129
Say hello to Morgan in the kitchen and answer a question
118130
-> go(kitchen)
119131
-> find(Morgan)
120132
----> gaze(n predefined points)
121133
----> detect(Morgan)
122-
----> approach_point(Morgan)
134+
----> if person[i] == Morgan then approach_point(Morgan)
135+
----> else: for person in persons: approach_point(Morgan) -> ask if is Morgan
136+
----> save_to_context(Morgan)
137+
123138
-> say(hello)
124139
-> say(ask_question)
125140
-> hear(user)
126-
-> say(answer)
141+
-> contextual_say(answer)
127142

143+
Note: in the second find, the person should be already known i/e found person[i] == Jane
128144
Meet Jane at the entrance then locate them in the kitchen
129145
-> go(entrance)
130146
-> find(Jane)
131147
----> gaze(n predefined points)
132148
----> detect(Jane)
133-
----> approach_point(Jane)
149+
----> if person[i] == Jane then approach_point(Jane)
150+
----> else: for person in persons: approach_point(Jane) -> ask if is Jane
151+
----> save_to_context(Jane)
134152
-> go(kitchen)
135153
-> find(Jane)
136154
----> gaze(n predefined points)
137155
----> detect(Jane)
156+
----> if person[i] == Jane then approach_point(Jane)
157+
----> else: for person in persons: approach_point(Jane) -> ask if is Jane
158+
----> save_to_context(Jane)
159+
-> say(intent finished)
138160

139161
Tell me how many people in the office are wearing yellow coats
140162
-> go(office)
141163
-> count(person_yellow_coat)
142164
----> gaze(n predefined points)
143165
----> detect(person_yellow_coat)
166+
----> save_to_context(count)
167+
144168
-> go(task_origin)
145-
-> say(answer)
169+
-> contextual_say(answer)
146170

147171
Tell me how many people in the living room are wearing gray coats
148172
-> go(living_room)
149173
-> count(person_gray_coat)
150174
----> gaze(n predefined points)
151175
----> detect(person_gray_coat)
176+
----> save_to_context(count)
152177
-> go(task_origin)
153-
-> say(answer)
178+
-> contextual_say(answer)
154179

155180
Tell the gesture of the person at the side tables to the person at the tv stand
156181
-> go(side_tables)
157182
-> find(person)
158183
----> gaze(n predefined points)
159184
----> detect(person)
160-
-> fetch(gesture)
185+
----> save_to_context(gesture)
186+
161187
-> go(tv_stand)
162188
-> find(person)
163189
----> gaze(n predefined points)
164190
----> detect(person)
165-
-> say(gesture)
191+
-> contextual_say(gesture)
166192

167193
Follow the standing person in the living room
168194
-> go(living_room)
169195
-> find(standing_person)
170196
----> gaze(n predefined points)
171197
----> detect(standing_person)
172198
----> approach_point(standing_person)
173-
----> confirm(person)
174-
-> follow_person_until(standing_person, destination)
199+
-> say(intent)
200+
-> follow_person_until_canceled(standing_person)
175201

176202
Go to the kitchen then locate a snack and get it and deliver it to Adel in the bathroom
177203
-> go(kitchen)
@@ -184,7 +210,10 @@ Go to the kitchen then locate a snack and get it and deliver it to Adel in the b
184210
-> find(Adel)
185211
----> gaze(n predefined points)
186212
----> detect(Adel)
187-
----> approach_point(Adel)
213+
----> if person[i] == Adel then approach_point(Adel)
214+
----> else: for person in persons: approach_point(Adel) -> ask if is Adel
215+
----> save_to_context(Adel)
216+
-> say(intent)
188217
-> give(snack)
189218

190219
Take a cleaning supply from the kitchen table and bring it to the standing person in the kitchen
@@ -198,6 +227,7 @@ Take a cleaning supply from the kitchen table and bring it to the standing perso
198227
----> gaze(n predefined points)
199228
----> detect(standing_person)
200229
----> approach_point(standing_person)
230+
-> say(intent)
201231
-> give(cleaning_supply)
202232

203233
Locate a cleaning supply in the bedroom then take it and bring it to the standing person in the bedroom
@@ -211,24 +241,27 @@ Locate a cleaning supply in the bedroom then take it and bring it to the standin
211241
----> gaze(n predefined points)
212242
----> detect(standing_person)
213243
----> approach_point(standing_person)
244+
-> say(intent)
214245
-> give(cleaning_supply)
215246

216247
Tell me how many fruits there are on the bed
217248
-> go(bed)
218249
-> count(fruits)
219250
----> gaze(n predefined points)
220251
----> detect(fruits)
252+
----> save_to_context(count)
221253
-> go(task_origin)
222-
-> say(answer)
254+
-> contextual_say(answer)
223255

224256
TODO: how to detect biggest object?
225257
Tell me what is the biggest object on the kitchen table
226258
-> go(kitchen_table)
227259
-> find(biggest_object)
228260
----> gaze(n predefined points)
229261
----> detect(biggest_object)
262+
----> save_to_context(objects)
230263
-> go(task_origin)
231-
-> say(biggest_object)
264+
-> contextual_say(biggest_object)
232265

233266
Bring me a soccer ball from the dishwasher
234267
-> go(dishwasher)
@@ -246,9 +279,10 @@ Tell me what is the lightest toy on the bookshelf
246279
-> find(lightest_toy)
247280
----> gaze(n predefined points)
248281
----> detect(toys)
249-
----> determine_lightest(toys)
282+
----> save_to_context(toys)
283+
250284
-> go(task_origin)
251-
-> say(lightest_toy)
285+
-> contextual_say(lightest_toy)
252286

253287
## Todo ideas
254288

@@ -257,7 +291,7 @@ TODO: how to detect lightest object that is a toy?
257291
- When in the find method, insert all objects matching description to a db.
258292
- In the db, store previously know object properties.
259293
- 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?
294+
- Perhaps, implement a contextual_say method that fetches context to answer queries?
261295
- Let the contextual say choose between the databases
262296

263297
TODO: how to detect biggest object?
@@ -266,12 +300,12 @@ TODO: how to detect biggest object?
266300

267301
TODO: how to handle finds with different requirements?
268302

269-
- i.e. find by name, by posture, by object recognizable with model
303+
- i.e. find by name, by posture, by object recognizable with model?
270304

271305
TODO: deux ex machina integration
272306

273307
-
274308

275309
TODO: confirmation implementation
276310

277-
- How to add confirmation and fallbacks to the subcommands?
311+
- How to add confirmation and fallbacks to the subcommands? add confirmation within the subcommand or before/after the subcommands?

0 commit comments

Comments
 (0)