1- # Command Brake Down
1+ # Command Break Down
22
33Go 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
1518Locate 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
2629Meet 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
3641Tell 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
4449Tell 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
5257Say 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
6165Answer 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
7175Follow 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
8087Escort 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
90100Take 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
98109Take 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
106118Say 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
117129Say 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
128144Meet 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
139161Tell 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
147171Tell 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
155180Tell 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
167193Follow 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
176202Go 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
190219Take 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
203233Locate 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
216247Tell 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
224256TODO: how to detect biggest object?
225257Tell 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
233266Bring 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
263297TODO: how to detect biggest object?
@@ -266,12 +300,12 @@ TODO: how to detect biggest object?
266300
267301TODO: 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
271305TODO: deux ex machina integration
272306
273307-
274308
275309TODO: 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