LeroyWaa's picture
add gensim code
8fc2b4e
raw
history blame
5.26 kB
You are an AI in robot simulation code and task design. I will provide you some example tasks, code implementation, and some guidelines for how to generate tasks and then you will help me generate a new task. My goal is to design creative and feasible tasks for tabletop manipulation. I will first ask you to describe the task in natural languages and then will let you write the code for it.
=========
Here are all the assets. Please try to come up with tasks using only these assets.
"""
TASK_ASSET_PROMPT
"""
There are certain rules on the asset usage.
1. Sweeping piles task must have small blocks `block/small.urdf`. Only the piles can be swept in all assets
2. Insertion tasks must have `insertion/ell.urdf` and `insertion/fixture.urdf`. Only the fixture can be inserted in all assets.
3. Rope tasks usually come with 'square/square-template.urdf'.
=========
Here are some examples of good tasks. Try to be creative and high standard, and avoid overlapping with these tasks.
TASK_DESCRIPTION_PROMPT
=========
Here are some tasks that you have come up with before. Try to have a high-standard and avoid overlapping with these tasks. For instance, `bowl_ball_placement` and `sort_balls_in_bowls` are the same task. `pile_boxes_in_corner` and `stack_blocks_into_pallet` are similar tasks, `align-cylinder-in-corner` and `align-cylinder-corner` are similar.
Past Tasks:
PAST_TASKNAME_TEMPLATE
=========
Here are some bad example task instances with reasons.
{
"task_name": "sort-color-blocks",
"task_descriptions": "Pick up differently colored blocks and place them into separate bowls of matching color."
"assets-used": ["bowl.urdf", "box/box-template.urdf],
}
reasons: not interesting because it overlaps with the current task `put-block-in-bowl`.
{
"task-name": "guided-ball-maze",
"task-description": "Navigate a small ball through a maze by tilting the maze board to reach the target zone.",
"assets-used": ["zone-template.urdf", "square-template.urdf", "ball.urdf", "maze.urdf"],
}
reasons: the language descriptions are too ambiguous. Navigation is also hard to complete. Also maze.urf does not exist.
{
"task-name": "insert_cylinder_in_sphere",
"task-description": "Pick up the cylinder and insert it into the sphere with an opening on top.",
"assets-used": ["cylinder/cylinder-template.urdf", "sphere/sphere-template.urdf"],
}
reasons: this task does not make sense. The sphere does not have an opening on top, and you cannot insert a cylinder into a sphere. Similarly you cannot create task like `insert-ball-into-cylinder`.
{
"task-name": "ball-box-obstacle-course",
"task-description": "Navigate a ball through an obstacle course created by randomly placed boxes and finally place it inside a container.",
"assets-used": ["ball/ball-template.urdf", "box/box-template.urdf", "container/container-template.urdf"]
}
reasons: Navigate the ball is not related to tabletop manipulation tasks.
{
"task-name": "ball-in-box",
"task-description": "Use a cable to guide a ball into an open box.",
"assets-used": ["cable/cable.urdf", "ball/ball-template.urdf", "box/box-template.urdf"]
}
reasons: This task is too hard since it involves interaction of the cable and the ball and cannot be easily completed.
{
"task-name": "ball-in-container",
"task-description": "Use the spatula to lift a ball over a wall of boxes and drop it into a container.",
"assets-used": ["ball/ball-template.urdf", "box/box-template.urdf", "container/container-template.urdf"]
}
reasons: The only action primitives as pick and place. One cannot use a spatula to lift an object.
{
"task-name": "line-ball-sorting",
"task-description": "Move balls of different colors along a single green line, placing each ball in a designated colored box at the end of the line. The challenge includes precision in maintaining the ball on the line and the correct identification of the box color corresponding to each ball.",
"assets-used": ["ball/ball-template.urdf", "box/box-template.urdf", "line/single-green-line-template.urdf"]
}
reasons: Piling or stacking balls are physically infeasible in the simulation.
{
"task-name": "sweep-and-stack-blocks",
"task-description": "Sweep a pile of small red and blue blocks into two separate zones marked on the tabletop. Then pick up these blocks in each zone and stack them in two towers according to their colors, with the red tower higher than the blue.",
"assets-used": ["zone/zone.urdf", "block/small.urdf"]
}
reasons: Cannot do sweeping and stacking in the same task.
=========
Now please describe the new task in natural languages and explain its novelty and challenges. Format the answer in a python dictionary with keys "task-name" and value type string, "task-description" (one specific sentence) and value type string with lower-case and separated by hyphens, and "assets-used" and value type list of strings. Try to be as creative as possible.
Note:
- Do not use assets that are not in the list above.
- Tasks that have more colors and shapes are interesting.
- Be as specific as possible about the number, shape, and color of each asset in the task descriptions.
- The task need to obey physics and remain feasible.