leofeltrin commited on
Commit
4c3f691
·
1 Parent(s): 43efd5b

Melhorar prompts: adicionar instrucoes explicitas para tarefas de push

Browse files
prompts/topdown_task_generation_prompt/cliport_prompt_code_split_template.txt CHANGED
@@ -244,6 +244,12 @@ class StackBlockPyramid(Task):
244
 
245
  Do not use libraries, functions, and assets that you don't know. For each object, try to describe its color, size, category in the task first before you write the code. You do not need extra helper functions. Comment the code liberally to explain what each piece does and why it's written that way. Use functions `make_piles` and `make_ropes` for creating piles and cables. Note that the number of language goals usually match the number of motion goals, since they should correspond to each other.
246
 
 
 
 
 
 
 
247
  IMPORTANT: Study the reference code examples above carefully. Your generated code should follow the same structure, complexity, and level of detail as those examples. If the task description mentions multiple steps, objects, or complex arrangements (like bridges, pyramids, or multi-object sequences), your code MUST implement ALL of those elements, not just a simplified version. Match the complexity of the reference examples.
248
 
249
  CRITICAL: Follow the task description EXACTLY as specified:
 
244
 
245
  Do not use libraries, functions, and assets that you don't know. For each object, try to describe its color, size, category in the task first before you write the code. You do not need extra helper functions. Comment the code liberally to explain what each piece does and why it's written that way. Use functions `make_piles` and `make_ropes` for creating piles and cables. Note that the number of language goals usually match the number of motion goals, since they should correspond to each other.
246
 
247
+ CRITICAL FOR PUSH TASKS: If the task description contains the word "push" (e.g., "push the blue block near the red block"), you MUST:
248
+ 1. Import Spatula: `from cliport.tasks.grippers import Spatula`
249
+ 2. Configure in `__init__` or `additional_reset()`: `self.ee = Spatula` and `self.primitive = primitives.push`
250
+ 3. Use `rotations=False` in `add_goal()` (push doesn't need rotation)
251
+ 4. For "near" relationships, use `metric='zone'` with a zone around the reference object, NOT `metric='pose'` with the exact pose
252
+
253
  IMPORTANT: Study the reference code examples above carefully. Your generated code should follow the same structure, complexity, and level of detail as those examples. If the task description mentions multiple steps, objects, or complex arrangements (like bridges, pyramids, or multi-object sequences), your code MUST implement ALL of those elements, not just a simplified version. Match the complexity of the reference examples.
254
 
255
  CRITICAL: Follow the task description EXACTLY as specified:
prompts/topdown_task_generation_prompt_simple/cliport_prompt_code_split_template.txt CHANGED
@@ -244,6 +244,12 @@ class StackBlockPyramid(Task):
244
 
245
  Do not use libraries, functions, and assets that you don't know. For each object, try to describe its color, size, category in the task first before you write the code. You do not need extra helper functions. Comment the code liberally to explain what each piece does and why it's written that way. Use functions `make_piles` and `make_ropes` for creating piles and cables. Note that the number of language goals usually match the number of motion goals, since they should correspond to each other.
246
 
 
 
 
 
 
 
247
  CRITICAL: Follow the task description EXACTLY as specified:
248
  - If the task mentions specific quantities (e.g., "four red blocks and four blue blocks"), you MUST create exactly that many objects with those exact colors. Do NOT use different quantities or colors.
249
  - If the task mentions a specific pattern or arrangement (e.g., "alternating pattern", "symmetrical", "three levels"), you MUST implement that exact pattern in your code.
 
244
 
245
  Do not use libraries, functions, and assets that you don't know. For each object, try to describe its color, size, category in the task first before you write the code. You do not need extra helper functions. Comment the code liberally to explain what each piece does and why it's written that way. Use functions `make_piles` and `make_ropes` for creating piles and cables. Note that the number of language goals usually match the number of motion goals, since they should correspond to each other.
246
 
247
+ CRITICAL FOR PUSH TASKS: If the task description contains the word "push" (e.g., "push the blue block near the red block"), you MUST:
248
+ 1. Import Spatula: `from cliport.tasks.grippers import Spatula`
249
+ 2. Configure in `__init__` or `additional_reset()`: `self.ee = Spatula` and `self.primitive = primitives.push`
250
+ 3. Use `rotations=False` in `add_goal()` (push doesn't need rotation)
251
+ 4. For "near" relationships, use `metric='zone'` with a zone around the reference object, NOT `metric='pose'` with the exact pose
252
+
253
  CRITICAL: Follow the task description EXACTLY as specified:
254
  - If the task mentions specific quantities (e.g., "four red blocks and four blue blocks"), you MUST create exactly that many objects with those exact colors. Do NOT use different quantities or colors.
255
  - If the task mentions a specific pattern or arrangement (e.g., "alternating pattern", "symmetrical", "three levels"), you MUST implement that exact pattern in your code.