Task Sampling
Sampling New Task Instances
Generate fresh instances of existing tasks with randomized elements for variety and robustness testing.
Example: Sampling a pick up trash task, task name = picking_up_trash 1. enter the sampling directory,
- generate json template for the your task,
Command line will output something like this:
****************************************
{
"picking_up_trash": {
"room_types": [
"living_room",
"kitchen"
],
"__TODO__SCENE__": {
"whitelist": {
"ashcan.n.01": {
"ashcan": {
"__TODO__MODEL__": null
}
},
"can__of__soda.n.01": {
"can__of__soda": {
"__TODO__MODEL__": null
}
}
},
"blacklist": {}
}
}
}
****************************************
"picking_up_trash": {
"room_types": [
"living_room",
"kitchen"
],
"house_double_floor_lower": {
"whitelist": {
"can__of__soda.n.01": {
"can_of_soda": {
"itolcg": null,
"lugwcz": null,
"opivig": null
}
},
"ashcan.n.01": {
"trash_can": {
"wkxtxh": null
}
}
},
"blacklist": {}
}
}
- sample task related objects
- postprocess the file generated by first step, by adding in other static scene objects.
python postprocess_sampled_task.py --overwrite --scene_model house_double_floor_lower --activity picking_up_trash
-
randomly generate 100 instances for your task
After this step, you should see a folder named house_double_floor_lower_task_picking_up_trash_instances appeared under datasets/2025-challenge-task-instances/scenes/house_double_floor_lower/json, in which there are files with name like house_double_floor_lower_task_picking_up_trash_0_(index)_template-tro_state.json. -
presample poses for all supported robots
To verify whether your sampling is successful, specify your task name in OmniGibson/omnigibson/configs/r1pro_behavior.yaml and run
When prompted, choose to use presample.