Source code for world_models.envs.mujoco_env

from typing import Tuple
import gymnasium as gym


[docs] def make_humanoid_env( version: str = "v4", xml_file: str = "humanoid.xml", forward_reward_weight: float = 1.25, ctrl_cost_weight: float = 0.1, contact_cost_weight: float = 5e-7, healthy_reward: float = 5.0, terminate_when_unhealthy: bool = True, healthy_z_range: Tuple[float, float] = (1.0, 2.0), reset_noise_scale: float = 1e-2, exclude_current_positions_from_observation: bool = True, include_cinert_in_observation: bool = True, include_cvel_in_observation: bool = True, include_qfrc_actuator_in_observation: bool = True, include_cfrc_ext_in_observation: bool = True, ) -> gym.Env: """ Create a Humanoid environment with customizable parameters. Args: version (str): The version of the Humanoid environment (e.g., "v4"). xml_file (str): The XML file defining the Humanoid model. forward_reward_weight (float): Weight for the forward reward. ctrl_cost_weight (float): Weight for the control cost. contact_cost_weight (float): Weight for the contact cost. healthy_reward (float): Reward for being in a healthy state. terminate_when_unhealthy (bool): Whether to terminate the episode when unhealthy. healthy_z_range (Tuple[float, float]): The range of z-values considered healthy. reset_noise_scale (float): Scale of noise added during environment reset. exclude_current_positions_from_observation (bool): Whether to exclude current positions from observations. include_cinert_in_observation (bool): Whether to include inertia in observations. include_cvel_in_observation (bool): Whether to include velocity in observations. include_qfrc_actuator_in_observation (bool): Whether to include actuator forces in observations. include_cfrc_ext_in_observation (bool): Whether to include external forces in observations. Returns: gym.Env: The created Humanoid environment. """ env_id = f"Humanoid-{version}" return gym.make( env_id, xml_file=xml_file, forward_reward_weight=forward_reward_weight, ctrl_cost_weight=ctrl_cost_weight, contact_cost_weight=contact_cost_weight, healthy_reward=healthy_reward, terminate_when_unhealthy=terminate_when_unhealthy, healthy_z_range=healthy_z_range, reset_noise_scale=reset_noise_scale, exclude_current_positions_from_observation=exclude_current_positions_from_observation, include_cinert_in_observation=include_cinert_in_observation, include_cvel_in_observation=include_cvel_in_observation, include_qfrc_actuator_in_observation=include_qfrc_actuator_in_observation, include_cfrc_ext_in_observation=include_cfrc_ext_in_observation, )
[docs] def make_half_cheetah_env( version: str = "v4", forward_reward_weight: float = 0.1, reset_noise_scale: float = 0.1, exclude_current_positions_from_observation: bool = True, render_mode: str = "rgb_array", ) -> gym.Env: """ Create a HalfCheetah environment with customizable parameters. Args: version (str): The version of the HalfCheetah environment (e.g., "v4"). forward_reward_weight (float): Weight for the forward reward. reset_noise_scale (float): Scale of noise added during environment reset. exclude_current_positions_from_observation (bool): Whether to exclude current positions from observations. render_mode (str): The render mode for the environment. Returns: gym.Env: The created HalfCheetah environment. """ env_id = f"HalfCheetah-{version}" return gym.make( env_id, forward_reward_weight=forward_reward_weight, reset_noise_scale=reset_noise_scale, exclude_current_positions_from_observation=exclude_current_positions_from_observation, render_mode=render_mode, )