Improve handling of missing Metaworld
This commit is contained in:
parent
a5b10e11a3
commit
0c93280796
@ -7,16 +7,23 @@ from ..envs.registry import register
|
|||||||
from . import goal_object_change_mp_wrapper, goal_change_mp_wrapper, goal_endeffector_change_mp_wrapper, \
|
from . import goal_object_change_mp_wrapper, goal_change_mp_wrapper, goal_endeffector_change_mp_wrapper, \
|
||||||
object_change_mp_wrapper
|
object_change_mp_wrapper
|
||||||
|
|
||||||
from . import metaworld_adapter
|
try:
|
||||||
|
import metaworld
|
||||||
|
except ModuleNotFoundError:
|
||||||
|
print('[FANCY GYM] Metaworld not avaible.')
|
||||||
|
else:
|
||||||
|
# Will only get executed, if import succeeds
|
||||||
|
|
||||||
metaworld_adapter.register_all_ML1()
|
from . import metaworld_adapter
|
||||||
|
|
||||||
ALL_METAWORLD_MOVEMENT_PRIMITIVE_ENVIRONMENTS = {"DMP": [], "ProMP": [], "ProDMP": []}
|
metaworld_adapter.register_all_ML1()
|
||||||
|
|
||||||
# MetaWorld
|
ALL_METAWORLD_MOVEMENT_PRIMITIVE_ENVIRONMENTS = {"DMP": [], "ProMP": [], "ProDMP": []}
|
||||||
_goal_change_envs = ["assembly-v2", "pick-out-of-hole-v2", "plate-slide-v2", "plate-slide-back-v2",
|
|
||||||
|
# MetaWorld
|
||||||
|
_goal_change_envs = ["assembly-v2", "pick-out-of-hole-v2", "plate-slide-v2", "plate-slide-back-v2",
|
||||||
"plate-slide-side-v2", "plate-slide-back-side-v2"]
|
"plate-slide-side-v2", "plate-slide-back-side-v2"]
|
||||||
for _task in _goal_change_envs:
|
for _task in _goal_change_envs:
|
||||||
register(
|
register(
|
||||||
id=f'metaworld/{_task}',
|
id=f'metaworld/{_task}',
|
||||||
register_step_based=False,
|
register_step_based=False,
|
||||||
@ -24,8 +31,8 @@ for _task in _goal_change_envs:
|
|||||||
add_mp_types=['ProMP', 'ProDMP'],
|
add_mp_types=['ProMP', 'ProDMP'],
|
||||||
)
|
)
|
||||||
|
|
||||||
_object_change_envs = ["bin-picking-v2", "hammer-v2", "sweep-into-v2"]
|
_object_change_envs = ["bin-picking-v2", "hammer-v2", "sweep-into-v2"]
|
||||||
for _task in _object_change_envs:
|
for _task in _object_change_envs:
|
||||||
register(
|
register(
|
||||||
id=f'metaworld/{_task}',
|
id=f'metaworld/{_task}',
|
||||||
register_step_based=False,
|
register_step_based=False,
|
||||||
@ -33,7 +40,7 @@ for _task in _object_change_envs:
|
|||||||
add_mp_types=['ProMP', 'ProDMP'],
|
add_mp_types=['ProMP', 'ProDMP'],
|
||||||
)
|
)
|
||||||
|
|
||||||
_goal_and_object_change_envs = ["box-close-v2", "button-press-v2", "button-press-wall-v2", "button-press-topdown-v2",
|
_goal_and_object_change_envs = ["box-close-v2", "button-press-v2", "button-press-wall-v2", "button-press-topdown-v2",
|
||||||
"button-press-topdown-wall-v2", "coffee-button-v2", "coffee-pull-v2",
|
"button-press-topdown-wall-v2", "coffee-button-v2", "coffee-pull-v2",
|
||||||
"coffee-push-v2", "dial-turn-v2", "disassemble-v2", "door-close-v2",
|
"coffee-push-v2", "dial-turn-v2", "disassemble-v2", "door-close-v2",
|
||||||
"door-lock-v2", "door-open-v2", "door-unlock-v2", "hand-insert-v2",
|
"door-lock-v2", "door-open-v2", "door-unlock-v2", "hand-insert-v2",
|
||||||
@ -44,7 +51,7 @@ _goal_and_object_change_envs = ["box-close-v2", "button-press-v2", "button-press
|
|||||||
"soccer-v2", "stick-push-v2", "stick-pull-v2", "push-wall-v2", "reach-wall-v2",
|
"soccer-v2", "stick-push-v2", "stick-pull-v2", "push-wall-v2", "reach-wall-v2",
|
||||||
"shelf-place-v2", "sweep-v2", "window-open-v2", "window-close-v2"
|
"shelf-place-v2", "sweep-v2", "window-open-v2", "window-close-v2"
|
||||||
]
|
]
|
||||||
for _task in _goal_and_object_change_envs:
|
for _task in _goal_and_object_change_envs:
|
||||||
register(
|
register(
|
||||||
id=f'metaworld/{_task}',
|
id=f'metaworld/{_task}',
|
||||||
register_step_based=False,
|
register_step_based=False,
|
||||||
@ -52,11 +59,12 @@ for _task in _goal_and_object_change_envs:
|
|||||||
add_mp_types=['ProMP', 'ProDMP'],
|
add_mp_types=['ProMP', 'ProDMP'],
|
||||||
)
|
)
|
||||||
|
|
||||||
_goal_and_endeffector_change_envs = ["basketball-v2"]
|
_goal_and_endeffector_change_envs = ["basketball-v2"]
|
||||||
for _task in _goal_and_endeffector_change_envs:
|
for _task in _goal_and_endeffector_change_envs:
|
||||||
register(
|
register(
|
||||||
id=f'metaworld/{_task}',
|
id=f'metaworld/{_task}',
|
||||||
register_step_based=False,
|
register_step_based=False,
|
||||||
mp_wrapper=goal_endeffector_change_mp_wrapper.MPWrapper,
|
mp_wrapper=goal_endeffector_change_mp_wrapper.MPWrapper,
|
||||||
add_mp_types=['ProMP', 'ProDMP'],
|
add_mp_types=['ProMP', 'ProDMP'],
|
||||||
)
|
)
|
||||||
|
`
|
@ -11,11 +11,7 @@ import numpy as np
|
|||||||
|
|
||||||
from fancy_gym.utils.env_compatibility import EnvCompatibility
|
from fancy_gym.utils.env_compatibility import EnvCompatibility
|
||||||
|
|
||||||
try:
|
import metaworld
|
||||||
import metaworld
|
|
||||||
except Exception:
|
|
||||||
print('[FANCY GYM] Metaworld not avaible')
|
|
||||||
|
|
||||||
|
|
||||||
class FixMetaworldHasIncorrectObsSpaceWrapper(gym.Wrapper, gym.utils.RecordConstructorArgs):
|
class FixMetaworldHasIncorrectObsSpaceWrapper(gym.Wrapper, gym.utils.RecordConstructorArgs):
|
||||||
def __init__(self, env: gym.Env):
|
def __init__(self, env: gym.Env):
|
||||||
|
Loading…
Reference in New Issue
Block a user