rofunc.learning.RofuncRL.agents.mixline.amp_agent#
1. Module Contents#
1.1. Classes#
Adversarial Motion Priors (AMP) agent |
1.2. API#
- class rofunc.learning.RofuncRL.agents.mixline.amp_agent.AMPAgent(cfg: omegaconf.DictConfig, observation_space: Optional[Union[int, Tuple[int], gym.Space, gymnasium.Space, List]], action_space: Optional[Union[int, Tuple[int], gym.Space, gymnasium.Space]], memory: Optional[Union[rofunc.learning.RofuncRL.utils.memory.Memory, Tuple[rofunc.learning.RofuncRL.utils.memory.Memory]]] = None, device: Optional[Union[str, torch.device]] = None, experiment_dir: Optional[str] = None, rofunc_logger: Optional[rofunc.logger.BeautyLogger] = None, amp_observation_space: Optional[Union[int, Tuple[int], gym.Space, gymnasium.Space]] = None, motion_dataset: Optional[Union[rofunc.learning.RofuncRL.utils.memory.Memory, Tuple[rofunc.learning.RofuncRL.utils.memory.Memory]]] = None, replay_buffer: Optional[Union[rofunc.learning.RofuncRL.utils.memory.Memory, Tuple[rofunc.learning.RofuncRL.utils.memory.Memory]]] = None, collect_reference_motions: Optional[Callable[[int], torch.Tensor]] = None)#
Bases:
rofunc.learning.RofuncRL.agents.base_agent.BaseAgentAdversarial Motion Priors (AMP) agent
“AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control”. Peng et al. 2021. https://arxiv.org/abs/2104.02180
Rofunc documentation: https://rofunc.readthedocs.io/en/latest/lfd/RofuncRL/AMP.html
Initialization
- Parameters:
cfg – Configuration
observation_space – Observation space
action_space – Action space
memory – Memory for storing transitions
device – Device on which the torch tensor is allocated
experiment_dir – Directory where experiment outputs are saved
rofunc_logger – Rofunc logger
amp_observation_space – cfg[“env”][“numAMPObsSteps”] * NUM_AMP_OBS_PER_STEP
motion_dataset – Motion dataset
replay_buffer – Replay buffer
collect_reference_motions – Function for collecting reference motions
- collect_reference_motions = None#
Define models for AMP
- act(states: torch.Tensor, deterministic: bool = False)#
- store_transition(states: torch.Tensor, actions: torch.Tensor, next_states: torch.Tensor, rewards: torch.Tensor, terminated: torch.Tensor, truncated: torch.Tensor, infos: torch.Tensor)#
- update_net()#
Update the network