add runner stereotype
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
import os
|
||||
import json
|
||||
from copy import copy, deepcopy
|
||||
|
||||
import numpy as np
|
||||
from task_gen_dependencies.object import OmniObject
|
||||
from task_gen_dependencies.layout_object import LayoutObject
|
||||
@@ -208,16 +210,31 @@ class OldTaskGenerator:
|
||||
self.layouts[key] = LayoutGenerator(ws, obj_infos, objects, key_ids, extra_ids, constraint=constraint,
|
||||
fix_obj_ids=self.fix_obj_ids)
|
||||
|
||||
self.stand = {
|
||||
"stand_type": "cylinder",
|
||||
"stand_size_x": 0.1,
|
||||
"stand_size_y": 0.1
|
||||
}
|
||||
if "robot" not in task_template:
|
||||
self.robot_cfg = "A2D_120s.json"
|
||||
else:
|
||||
self.robot_cfg = task_template["robot"]["robot_cfg"]
|
||||
if "stand" in task_template["robot"]:
|
||||
self.stand = task_template["robot"]["stand"]
|
||||
|
||||
def generate_tasks(self, save_path, task_num, task_name):
|
||||
os.makedirs(save_path, exist_ok=True)
|
||||
|
||||
for i in range(task_num):
|
||||
task_instance = deepcopy(self.task_template)
|
||||
output_file = os.path.join(save_path, f'{task_name}_%d.json' % (i))
|
||||
self.task_template['objects'] = []
|
||||
self.task_template['objects'] += self.fix_obj_infos
|
||||
self.task_template['robot'] = {
|
||||
task_instance['objects'] = []
|
||||
task_instance['objects'] += self.fix_obj_infos
|
||||
task_instance['robot'] = {
|
||||
"init_position" : self.robot_init_pose["position"],
|
||||
"init_rotation" : self.robot_init_pose["quaternion"],
|
||||
"robot_cfg": self.robot_cfg,
|
||||
"stand": self.stand,
|
||||
}
|
||||
|
||||
flag_failed = False
|
||||
@@ -228,11 +245,11 @@ class OldTaskGenerator:
|
||||
flag_failed = True
|
||||
break
|
||||
continue
|
||||
self.task_template['objects'] += obj_infos
|
||||
task_instance['objects'] += obj_infos
|
||||
for object_info in self.obj_infos:
|
||||
if object_info == 'fix_pose':
|
||||
fix_pose_dict = self.obj_infos['fix_pose']
|
||||
self.task_template['objects'].append(fix_pose_dict)
|
||||
task_instance['objects'].append(fix_pose_dict)
|
||||
break
|
||||
if flag_failed:
|
||||
Log.warning(f"Failed to place key object, skipping")
|
||||
@@ -240,6 +257,6 @@ class OldTaskGenerator:
|
||||
|
||||
Log.info('Saved task json to %s' % output_file)
|
||||
with open(output_file, 'w') as f:
|
||||
json.dump(self.task_template, f, indent=4)
|
||||
json.dump(task_instance, f, indent=4)
|
||||
|
||||
# -------------------------------------------------------------
|
||||
Reference in New Issue
Block a user