v1.0.0
This commit is contained in:
@@ -76,7 +76,7 @@ def parse_args(args_list=None):
|
||||
{"name": "--base-mass", "type": float, "default": 0.0, "help": "Set the base mass of the robot."},
|
||||
{"name": "--friction", "type": float, "default": 1.0, "help": "Set the ground friction coefficient."},
|
||||
{"name": "--level", "type": int, "help": "Set the difficulty level of the environment, range 1-10 (flat is 0)."},
|
||||
{"name": "--spawn-type", "type": str, "choices": ["level_eval", "level_search"], "help": "Spawn type for the robot."},
|
||||
{"name": "--spawn-type", "type": str, "default": "level_search", "choices": ["level_eval", "level_search"], "help": "Spawn type for the robot when specify level (Default is level_search)."},
|
||||
{"name": "--goals", "type": str, "nargs": "+", "help": "List of goal names to evaluate."},
|
||||
|
||||
# Multiprocessing parameters, with different seeds
|
||||
@@ -91,7 +91,7 @@ def parse_args(args_list=None):
|
||||
|
||||
# Stress pipeline parameters
|
||||
{"name": "--stress-benchmark", "action": "store_true", "default": False, "help": "Use stress pipeline to benchmark model robustness."},
|
||||
{"name": "--stress-terrain-names", "type": str, "nargs": "+", "default": ["flat", "slope", "wave", "stairs_up", "stairs_down"], "help": "List of terrain names for stress benchmark."},
|
||||
{"name": "--stress-terrain-names", "type": str, "nargs": "+", "default": ["flat", "slope_fd", "slope_bd", "wave", "stairs_fd", "stairs_bd"], "help": "List of terrain names for stress benchmark."},
|
||||
|
||||
# Common parameters
|
||||
{"name": "--num-processes", "type": int, "default": 2, "help": "Number of parallel processes for Multi or Stress benchmark."},
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
from robogauge import ROBOGAUGE_ROOT_DIR
|
||||
from robogauge.utils.logger import logger
|
||||
from robogauge.utils.helpers import parse_args, set_seed, class_to_dict
|
||||
from robogauge.tasks.gauge.gauge_configs.terrain_levels_config import TerrainSearchLevelsConfig, TerrainEvalLevelsConfig
|
||||
from robogauge.tasks.gauge.gauge_configs.terrain_levels_config import TerrainSearchLevelsConfig, TerrainEvalLevelsConfig, TERRAIN_NAME2_XML_NAME
|
||||
|
||||
class TaskRegister():
|
||||
def __init__(self):
|
||||
@@ -82,10 +82,10 @@ class TaskRegister():
|
||||
gauger_cfg.goals.target_pos_velocity.target_pos = search_cfg.targets[search_cfg.levels.index(args.level)]
|
||||
if hasattr(search_cfg, 'spawns') and args.spawn_type == "level_search":
|
||||
gauger_cfg.assets.terrain_spawn_pos = search_cfg.spawns[search_cfg.levels.index(args.level)]
|
||||
elif hasattr(eval_cfg, 'spawns') and args.spawn_type == "level_eval":
|
||||
if hasattr(eval_cfg, 'spawns') and args.spawn_type == "level_eval":
|
||||
gauger_cfg.assets.terrain_spawn_pos = eval_cfg.spawns[eval_cfg.levels.index(args.level)]
|
||||
xml = gauger_cfg.assets.terrain_xmls[0]
|
||||
xml = xml.rsplit('/', 1)[0] + f"/{gauger_cfg.assets.terrain_name}_{args.level}.xml"
|
||||
xml = xml.rsplit('/', 1)[0] + f"/{TERRAIN_NAME2_XML_NAME[gauger_cfg.assets.terrain_name]}_{args.level}.xml"
|
||||
gauger_cfg.assets.terrain_xmls[0] = xml
|
||||
if args.goals is not None:
|
||||
keys = class_to_dict(gauger_cfg.goals).keys()
|
||||
|
||||
@@ -33,7 +33,7 @@ def load_terrain_data(file_paths):
|
||||
Returns:
|
||||
model_data: {model_name: {terrain_type: {friction: level}}}
|
||||
"""
|
||||
target_terrains = ['wave', 'slope', 'stairs_up', 'stairs_down', 'obstacle']
|
||||
target_terrains = ['wave', 'slope_fd', 'slope_bd', 'stairs_fd', 'stairs_bd', 'obstacle']
|
||||
model_data = {}
|
||||
|
||||
# 用于从键名中提取 friction 的正则 (例如 friction1.25)
|
||||
|
||||
Reference in New Issue
Block a user