mdp
Module: GBC.gyms.isaaclab_45.lab_tasks.mdp
The mdp.py
module serves as the comprehensive collection of reward functions, observation functions, symmetry operations, and utility functions for GBC training environments. This module contains over 80 functions organized into logical groups for different aspects of robot learning and simulation.
π Symmetry Functionsβ
dim_symmetryβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.dim_symmetry
Applies dimensional symmetry transformation to input tensors by negating specified dimensions.
Parameters:
env
(ManagerBasedRLEnv): The environment instanceinputs
(torch.Tensor): Input tensor to transformsymmetry_dims
(list[int]): List of dimensions to negatehistory_length
(int, default=1): Length of history for reshaping**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Symmetry-transformed tensor
Functionality: Reshapes input tensor considering history length, negates values at specified dimensions, and reshapes back to original form. Used for data augmentation in symmetric robot configurations.
actions_symmetryβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.actions_symmetry
Applies left-right symmetry transformation to robot actions by swapping actuator values.
Parameters:
env
(ManagerBasedRLEnv): The environment instanceinputs
(torch.Tensor): Action tensor to transformflipper
(RobotFlipLeftRight): Robot flipper utility for joint mappingis_velocity
(bool, default=True): Whether inputs represent velocitieshistory_length
(int, default=1): Length of history for reshaping**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Left-right symmetry transformed actions
Functionality: Uses robot flipper to swap left and right actuator values, enabling data augmentation for symmetric locomotion policies. Handles both position and velocity action spaces.
pos_symmetryβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.pos_symmetry
Applies position symmetry by keeping x and z values unchanged while negating y values.
Parameters:
env
(ManagerBasedRLEnv): The environment instanceinputs
(torch.Tensor): Position tensor to transformhistory_length
(int, default=1): Length of history for reshaping**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Position-symmetry transformed tensor
Functionality: Implements lateral symmetry for position-based data by negating the y-axis component while preserving forward (x) and vertical (z) directions.
rot_symmetryβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.rot_symmetry
Applies rotation symmetry by keeping y values unchanged while negating x and z values.
Parameters:
env
(ManagerBasedRLEnv): The environment instanceinputs
(torch.Tensor): Rotation tensor to transformhistory_length
(int, default=1): Length of history for reshaping**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Rotation-symmetry transformed tensor
Functionality: Implements lateral symmetry for rotation-based data by negating roll (x) and yaw (z) components while preserving pitch (y) orientation.
symmetry_by_ref_term_nameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.symmetry_by_ref_term_name
Applies symmetry transformation using reference observation data from a specific term.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceinputs
(torch.Tensor): Input tensor to transformterm_name
(str): Name of reference observation term**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Symmetry-transformed tensor using reference data
Functionality: Queries reference observation manager to obtain target values and mask, then applies conditional symmetry transformation where reference data is available.
symmetry_by_term_nameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.symmetry_by_term_name
Placeholder function for symmetry by term name (not implemented for ManagerBasedRLEnv).
Parameters:
env
(ManagerBasedRLEnv): The environment instanceinputs
(torch.Tensor): Input tensor to transformterm_name
(str): Name of observation term**kwargs
: Additional keyword arguments
Returns:
- Raises
NotImplementedError
Functionality: Reserved for future implementation when observation manager supports get_term functionality.
get_ref_observation_symmetryβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.get_ref_observation_symmetry
Computes symmetry transformation for reference observations.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceref_observations
(tuple[torch.Tensor, torch.Tensor]): Reference observation tuple
Returns:
tuple[torch.Tensor, torch.Tensor]
: Symmetry-transformed reference observations
Functionality: Delegates to reference observation manager's compute_policy_symmetry method for consistent symmetry operations across observations and actions.
π οΈ Tool Functionsβ
get_phaseβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.get_phase
Calculates periodic phase for robot locomotion based on episode time.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceperiod
(float, default=0.8): Period duration in secondsoffset
(float, default=0.0): Phase offsetref_name
(str | None, default=None): Name of reference phase term
Returns:
torch.Tensor
: Sinusoidal phase values [-1, 1]
Functionality: Computes normalized phase from episode time, applies offset, converts to sinusoidal form, and optionally uses reference phase data when available. Essential for gait timing and periodic behaviors.
π Reward Functions for Unitree RL Gymβ
joint_pos_l2β
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.joint_pos_l2
Computes L2 penalty for joint positions.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Sum of squared joint positions per environment
Functionality: Calculates squared magnitude of joint positions to penalize extreme joint configurations and encourage neutral poses.
phase_feet_contactβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.phase_feet_contact
Rewards robot for matching target gait phase with actual feet contact.
Parameters:
env
: Environment instanceperiod
(float): Gait period durationsensor_cfg
(SceneEntityCfg): Contact sensor configurationcontact_phase_thresh
(float, default=0.55): Phase threshold for contactcontact_time_thresh
(float, default=0.01): Minimum contact time threshold
Returns:
torch.Tensor
: Reward for matching target contact pattern
Functionality: Computes alternating leg phase based on episode time, determines actual foot contact from sensors with parallel foot orientation check, and rewards phase-contact alignment.
contact_no_velβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.contact_no_vel
Penalizes foot velocity during ground contact.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg): Robot asset configurationsensor_cfg
(SceneEntityCfg): Contact sensor configurationcontact_time_thresh
(float, default=0.01): Minimum contact time threshold
Returns:
torch.Tensor
: Penalty for foot movement during contact
Functionality: Detects foot contact state and penalizes linear velocities of contacting feet to encourage stable stance phases.
feet_swing_heightβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_swing_height
Penalizes incorrect swing foot height.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg): Robot asset configurationsensor_cfg
(SceneEntityCfg): Contact sensor configurationcontact_time_thresh
(float, default=0.01): Minimum contact time threshold
Returns:
torch.Tensor
: Penalty for deviation from target swing height (0.08m)
Functionality: Monitors swing phase feet and penalizes deviation from target clearance height to ensure proper ground clearance.
root_body_yaw_diff_l1β
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.root_body_yaw_diff_l1
Penalizes yaw orientation difference between root and body links.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg): Robot asset configuration
Returns:
torch.Tensor
: L1 penalty for body-root yaw misalignment
Functionality: Computes yaw quaternion error between root body and specified body links to maintain coordinated orientation.
π Reference Input Reshaping Functionsβ
reference_action_reshapeβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_action_reshape
Reshapes reference actions to match robot's action space ordering.
Parameters:
inputs
: Input action tensorenv
(ManagerBasedRLEnv): Environment instanceurdf_path
(str): Path to robot URDF fileasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationpickle_cfg
(dict, default=): Pickle configuration parametersadd_default_joint_pos
(bool, default=False): Whether to add default joint positions
Returns:
- Reshaped action tensor matching robot joint order
Functionality: Uses robot kinematics to determine URDF joint order, reorders input actions to match simulation joint names, and optionally adds default joint positions.
reference_action_stdβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_action_std
Calculates standard deviation of reshaped reference actions.
Parameters:
inputs
: Input action tensorenv
(ManagerBasedRLEnv): Environment instanceurdf_path
(str): Path to robot URDF fileasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationpickle_cfg
(dict, default=): Pickle configuration parametersadd_default_joint_pos
(bool, default=False): Whether to add default joint positions
Returns:
torch.Tensor
: Standard deviation of actions per joint
Functionality: Computes action standard deviation after reshaping for normalization and analysis purposes.
reference_rotation_refineβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_rotation_refine
Refines reference rotations by setting first rotation as reference direction.
Parameters:
input
: Input rotation vectorenv
(ManagerBasedRLEnv): Environment instancepikle_cfg
(dict, default=): Pickle configuration parameters
Returns:
- Refined rotation matrices
Functionality: Converts rotation vectors to matrices, extracts first rotation as reference, and normalizes subsequent rotations relative to initial direction.
reference_action_velocityβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_action_velocity
Computes action velocities from reference action sequence.
Parameters:
input
: Input action sequenceenv
(ManagerBasedRLEnv): Environment instanceurdf_path
(str): Path to robot URDF fileasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationpickle_cfg
(dict): Pickle configuration with fps parameter
Returns:
- Action velocity tensor
Functionality: Reshapes actions, computes temporal differences, scales by frame rate to obtain action velocities for dynamic analysis.
reference_link_posesβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_link_poses
Computes forward kinematics to get link poses from actions.
Parameters:
actions
: Joint action tensorenv
(ManagerBasedRLEnv): Environment instanceurdf_path
(str): Path to robot URDF fileasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Link poses [position, quaternion] for all links
Functionality: Uses robot kinematics for forward kinematics computation, reorders links to match USD ordering, and concatenates positions and orientations.
reference_feet_contact_phaseβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_feet_contact_phase
Extracts sinusoidal contact phase from reference data.
Parameters:
input
: Input reference dataenv
(ManagerBasedRLEnv): Environment instanceindex
(int): Index of contact dataoffset
(float, default=0.0): Phase offsetthreshold
(float, default=0.55): Contact thresholdasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationpickle_cfg
(dict, default=): Pickle configuration parameters
Returns:
torch.Tensor
: Sinusoidal phase signal for foot contact
Functionality: Extracts contact signal at specified index, converts to phase using threshold, applies offset, and transforms to sinusoidal form.
reference_link_velocitiesβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_link_velocities
Computes link velocities from pose sequences and root motion.
Parameters:
data
: Dictionary containing actions, translation, and root orientationenv
(ManagerBasedRLEnv): Environment instanceurdf_path
(str): Path to robot URDF filepickle_cfg
: Pickle configuration with fps parameterasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration**kwargs
: Additional keyword arguments
Returns:
torch.Tensor
: Link linear and angular velocities in robot frame
Functionality: Computes link poses from actions, transforms to world frame using root transforms, calculates temporal differences, and converts to robot-frame velocities.
π― Custom Observation Functionsβ
reference_base_lin_velβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_base_lin_vel
Provides reference-augmented base linear velocity observations.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Base linear velocity (reference when available, actual otherwise)
Functionality: Retrieves current base linear velocity, queries reference observation manager for target velocity, and uses reference data when mask indicates availability.
reference_base_ang_velβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_base_ang_vel
Provides reference-augmented base angular velocity observations.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Base angular velocity (reference when available, actual otherwise)
Functionality: Similar to reference_base_lin_vel but for angular velocity, enabling mixed observation streams for reference-guided training.
reference_projected_gravityβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reference_projected_gravity
Provides reference-augmented projected gravity observations.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Projected gravity vector (reference when available, actual otherwise)
Functionality: Combines actual projected gravity with reference target when available, helping policy understand desired orientation relative to gravity.
feet_height_flatβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_height_flat
Observes foot height above ground for flat terrain.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Z-coordinate of foot positions
Functionality: Extracts foot body z-coordinates as height observations for terrain-aware policies and clearance monitoring.
survivalβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.survival
Provides constant survival reward.
Parameters:
env
(ManagerBasedRLEnv): Environment instance
Returns:
torch.Tensor
: Ones tensor for all environments
Functionality: Simple reward function encouraging episode length and stable behavior through constant positive reinforcement.
last_velβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.last_vel
Observes robot's last recorded velocity.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Linear velocity in world frame
Functionality: Provides velocity observation for temporal consistency and dynamics awareness in policy decisions.
ref_action_diffβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.ref_action_diff
Computes difference between reference actions and current joint positions.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reference-current action difference
Functionality: Calculates action tracking error by comparing reference target actions with current joint positions, providing feedback for imitation learning.
π History Buffer Functionsβ
base_lin_vel_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.base_lin_vel_hist
Maintains history buffer for base linear velocity observations.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Concatenated history of base linear velocities
Functionality: Implements deque-based circular buffer for base linear velocity, appends current observations, and returns flattened historical sequence for temporal policies.
base_ang_vel_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.base_ang_vel_hist
Maintains history buffer for base angular velocity observations.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Concatenated history of base angular velocities
Functionality: Similar to base_lin_vel_hist but for angular velocity, enabling temporal awareness of rotational dynamics.
projected_gravity_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.projected_gravity_hist
Maintains history buffer for projected gravity observations.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Concatenated history of projected gravity vectors
Functionality: Tracks historical projected gravity for orientation awareness and balance control in temporal policies.
joint_pos_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.joint_pos_hist
Maintains history buffer for joint position observations.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Concatenated history of joint positions
Functionality: Preserves joint position history for tracking joint trajectories and enabling smooth motion planning.
joint_vel_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.joint_vel_hist
Maintains history buffer for joint velocity observations.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Concatenated history of joint velocities
Functionality: Tracks joint velocity dynamics over time for acceleration estimation and smooth control policies.
control_histβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.control_hist
Maintains history buffer for control actions.
Parameters:
env
: Environment instancestack_size
(int): Number of historical frames to maintainaction_name
(str | None, default=None): Specific action name to track
Returns:
torch.Tensor
: Concatenated history of control actions
Functionality: Preserves action history for control smoothness and temporal dependencies in policy execution.
π² Event Functionsβ
randomize_initial_start_timeβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.randomize_initial_start_time
Randomizes initial start time for reference data sampling.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceenv_ids
(torch.Tensor): Environment IDs to resetsample_episode_ratio
(float): Ratio of episode to sample from reference data
Returns:
- None (modifies environment state)
Functionality: Randomly samples start time from available reference data range, enabling diverse initialization for reference-guided training and data augmentation.
reset_root_state_by_start_timeβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reset_root_state_by_start_time
Resets robot root state based on reference data at sampled start time.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceenv_ids
(torch.Tensor): Environment IDs to resetasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationdrop_z
(bool, default=True): Whether to reset Z position to ground level
Returns:
- None (modifies robot state)
Functionality: Retrieves reference root position and orientation at start time, optionally resets Z coordinate to ground level, and applies to robot root state for consistent initialization.
reset_joints_by_start_timeβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reset_joints_by_start_time
Resets robot joint states based on reference data at sampled start time.
Parameters:
env
(ManagerBasedRefRLEnv): Reference-based environment instanceenv_ids
(torch.Tensor): Environment IDs to resetasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationadd_joint_vel
(bool, default=True): Whether to use reference joint velocities
Returns:
- None (modifies joint states)
Functionality: Queries reference joint positions at start time, applies joint limits clamping, and sets robot joint states for reference-consistent initialization. Must be called after randomize_initial_start_time.
βοΈ Physics Modifier Functionsβ
ExternalForceUpdaterβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.ExternalForceUpdater
Class for adaptive external force parameter updates based on training performance.
Attributes:
history_base_contact
(deque): Rolling history of base contact eventslast_update_cnt
(int): Counter for update intervals
Methods:
add_base_contact_val(val)
: Add contact value to historyget_base_contact_avg()
: Calculate average contact rateupdate_external_z_force_base(current_overrides, new_kwargs)
: Update force parameters based on performance
Functionality: Implements adaptive curriculum learning for external disturbance forces, monitoring base contact rates to adjust disturbance intensity and maintain training stability.
external_z_force_baseβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.external_z_force_base
Applies adaptive external forces to robot base for robustness training.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceenv_ids
(torch.Tensor): Environment IDs to apply forcesmax_force
(float): Maximum force magnitudeapply_offset_range
(float): Range for force application offsetapply_force_duration_ratio
(float): Duration ratio for force applicationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationworking_mode
(str, default="spring"): Force application moderef_height_offset
(float, default=0.15): Reference height offsetupdate_threshold
(float, default=1.1): Performance threshold for updates
Returns:
- None (modifies physics state)
Functionality: Applies controlled external disturbances to robot base using physics modifier system with adaptive parameter updates based on training performance metrics. Decorated with @update for curriculum learning.
π― Reference Observation Reward Functionsβ
lin_vel_std_updater & ang_vel_std_updaterβ
Module names: GBC.gyms.isaaclab_45.lab_tasks.mdp.lin_vel_std_updater
, GBC.gyms.isaaclab_45.lab_tasks.mdp.ang_vel_std_updater
Global StdUpdater instances for adaptive velocity tracking reward parameters.
Configuration:
lin_vel_std_updater
: std_list=[0.35, 0.34, 0.33, 0.25, 0.2], reward_threshold=0.7ang_vel_std_updater
: std_list=[0.5, 0.4, 0.33, 0.25], reward_threshold=0.75
Functionality: Provide adaptive standard deviation parameters for velocity tracking rewards based on training performance.
track_lin_vel_xy_yaw_frame_exp_customβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.track_lin_vel_xy_yaw_frame_exp_custom
Rewards tracking of linear velocity commands in gravity-aligned robot frame using exponential kernel.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelcommand_name
(str): Name of velocity command termasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for velocity tracking
Functionality: Transforms robot velocity to yaw-aligned frame, computes L2 error against xy velocity commands, and returns exponential reward encouraging precise velocity tracking.
track_ang_vel_z_world_exp_customβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.track_ang_vel_z_world_exp_custom
Rewards tracking of angular velocity commands (yaw) in world frame using exponential kernel.
Parameters:
env
: Environment instancecommand_name
(str): Name of angular velocity command termstd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for angular velocity tracking
Functionality: Computes squared error between commanded and actual yaw angular velocity, returns exponential reward for precise rotational control.
tracking_target_actions_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_actions_exp
Rewards agent for tracking target reference actions with exponential kernel.
Parameters:
env
: Environment instancestd
(float, default=0.5): Standard deviation for exponential kerneltype
: Type parameter (unused)method
(str, default="norm"): Error computation method ("norm" or other)asset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationstd_updater_cfg
(dict | None): Configuration for adaptive std updates
Returns:
torch.Tensor
: Exponential reward for action tracking
Functionality: Computes error between reference target actions and current joint positions, supports adaptive std updates via StdUpdater, and returns exponential reward encouraging imitation learning.
tracking_target_actions_l2β
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_actions_l2
Computes L2 error for target action tracking without exponential transformation.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: L2 norm of action tracking error
Functionality: Provides raw L2 tracking error for analysis and alternative reward formulations.
unbalanced_tracking_left_rightβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.unbalanced_tracking_left_right
Penalizes imbalanced tracking performance between left and right limbs.
Parameters:
env
: Environment instanceleft_asset_cfg
(SceneEntityCfg, default="robot"): Left limb configurationright_asset_cfg
(SceneEntityCfg, default="robot"): Right limb configurationsigma
(float, default=0.4): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for left-right tracking imbalance
Functionality: Computes separate tracking rewards for left and right limbs, calculates imbalance ratio, and penalizes asymmetric performance to encourage balanced locomotion.
tracking_target_actions_normalized_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_actions_normalized_exp
Rewards action tracking with normalization by reference action standard deviation.
Parameters:
env
: Environment instancestd
(float, default=0.5): Standard deviation for exponential kerneltype
: Type parameter (unused)method
(str, default="norm"): Error computation methodactions_std_add_constant
(float, default=0.3): Constant added to action stdasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationstd_updater_cfg
(dict | None): Configuration for adaptive std updates
Returns:
torch.Tensor
: Normalized exponential reward for action tracking
Functionality: Normalizes action errors by reference data standard deviation to account for varying action magnitudes across joints, providing scale-invariant tracking rewards.
tracking_target_actions_velocities_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_actions_velocities_exp
Rewards tracking of target joint velocities using exponential kernel.
Parameters:
env
: Environment instancestd
(float, default=4): Standard deviation for exponential kernelobs_joint_pos_name
(str, default="joint_pos"): Name of joint position observation termasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for joint velocity tracking
Functionality: Maintains joint position history buffer, computes joint velocities via finite differences, compares with reference target velocities, and returns exponential reward for dynamic motion matching.
balanced_tracking_target_actions_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.balanced_tracking_target_actions_exp
Rewards balanced tracking performance between left and right limbs.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelleft_asset_cfg
(SceneEntityCfg, default="robot"): Left limb configurationright_asset_cfg
(SceneEntityCfg, default="robot"): Right limb configuration
Returns:
torch.Tensor
: Penalty for tracking imbalance
Functionality: Computes tracking rewards for both limbs separately and penalizes differences to encourage symmetric locomotion patterns.
tracking_target_joint_velocities_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_joint_velocities_exp
Directly rewards tracking of reference joint velocities.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for joint velocity tracking
Functionality: Directly compares current joint velocities with reference targets, computing L2 error and returning exponential reward for velocity imitation.
tracking_target_root_orient_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_target_root_orient_exp
Rewards tracking of target root body orientation.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for orientation tracking
Functionality: Converts reference orientation from angle-axis to quaternion, computes quaternion error magnitude with current root orientation, and returns exponential reward for precise orientation control.
tracking_projected_gravity_expβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_projected_gravity_exp
Rewards tracking of target projected gravity vector.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for gravity vector tracking
Functionality: Compares reference projected gravity with current robot-frame gravity vector, encouraging proper body orientation relative to gravitational field.
tracking_feet_contactβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_feet_contact
Rewards agent for matching target feet contact patterns from reference data.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg | None): Contact sensor configurationref_id
(list[int], default=slice(None)): Indices of feet to trackcontact_time_thresh
(float, default=0.01): Minimum contact time thresholdasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Binary reward for correct contact pattern
Functionality: Compares reference contact states with actual sensor data, requiring exact match for all specified feet to receive reward.
calc_target_feet_contactβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.calc_target_feet_contact
Calculates target feet contact patterns from phase information.
Parameters:
env
: Environment instancephase_thresh
(float): Phase threshold for determining contact state
Returns:
tuple[torch.Tensor, torch.Tensor]
: Target contact patterns and validity mask
Functionality: Computes contact phases from sine/cosine phase signals, converts to binary contact patterns using phase threshold, and returns target states with validity mask.
tracking_feet_contact_phaseβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_feet_contact_phase
Rewards tracking of feet contact based on computed phase patterns.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg | None): Contact sensor configurationref_id
(list[int], default=slice(None)): Indices of feet to trackcontact_time_thresh
(float, default=0.05): Minimum contact time thresholdphase_thresh
(float, default=0.55): Phase threshold for contact determinationpenalty_false
(float, default=0.0): Penalty for incorrect contactasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for phase-based contact tracking
Functionality: Uses calc_target_feet_contact to determine target patterns, compares with actual contact sensors, and rewards phase-aligned contact patterns.
compute_actual_body_pose_robot_frameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.compute_actual_body_pose_robot_frame
Computes current body poses relative to robot base frame.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg): Robot asset configuration
Returns:
torch.Tensor
: Body poses [position, quaternion] in robot frame
Functionality: Transforms world-frame body poses to robot-frame coordinates using frame transformation utilities for reference comparison.
tracking_body_pos_robot_frameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_body_pos_robot_frame
Rewards tracking of target body positions in robot frame.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelxyz_dim
(tuple, default=(0,1,2)): Position dimensions to trackasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for position tracking
Functionality: Compares target and actual body positions in robot frame, computes mean squared error across specified dimensions, and returns exponential reward.
tracking_body_quat_robot_frameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_body_quat_robot_frame
Rewards tracking of target body orientations in robot frame.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for orientation tracking
Functionality: Computes quaternion error between target and actual body orientations using yaw quaternions, and returns exponential reward for orientation alignment.
tracking_body_pos_world_frameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_body_pos_world_frame
Rewards tracking of target body positions in world frame.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelxyz_dim
(tuple, default=(0,1,2)): Position dimensions to trackasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for world-frame position tracking
Functionality: Transforms target poses to world frame, compares with actual world-frame body positions, and rewards accurate spatial tracking.
tracking_body_lin_vel_robot_frameβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_body_lin_vel_robot_frame
Rewards tracking of target body linear velocities in robot frame.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for velocity tracking
Functionality: Transforms world-frame body velocities to robot frame, compares with reference target velocities, and rewards dynamic motion matching.
feet_distance_relative_to_targetβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_distance_relative_to_target
Rewards maintaining target feet separation distance.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationcoef
(float, default=0.9): Scaling coefficient for target distance
Returns:
torch.Tensor
: Reward for appropriate feet spacing
Functionality: Computes actual and target feet distances, rewards when actual distance stays within scaled target range, encouraging proper stance width.
tracking_base_heightβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.tracking_base_height
Rewards tracking of reference base height.
Parameters:
env
: Environment instancestd
(float): Standard deviation for exponential kernelasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Exponential reward for height tracking
Functionality: Compares actual robot base height with reference target height, returning exponential reward for precise vertical positioning.
π― General Reward Functionsβ
soft_computed_torque_limitβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.soft_computed_torque_limit
Penalizes computed torques exceeding soft limits.
Parameters:
env
: Environment instanceratio
(float, default=0.35): Ratio of actuator effort limit for soft thresholdasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for excessive torque usage
Functionality: Computes soft torque thresholds as ratio of actuator limits, penalizes torques exceeding these thresholds to encourage energy-efficient control.
standing_stillβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.standing_still
Rewards maintaining default joint positions when commanded to stand still.
Parameters:
env
: Environment instancecommand_name
(str): Name of velocity command termasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for standing behavior during low command velocities
Functionality: Computes joint angle deviation from default positions, applies reward only when velocity commands are below threshold, encouraging stationary posture.
one_side_limitβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.one_side_limit
Penalizes joint positions exceeding one-sided limits.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationlimit
(float, default=0.0): Position limit thresholdabove
(bool, default=True): Whether to check above or below limit
Returns:
torch.Tensor
: Penalty for limit violations
Functionality: Checks joint positions against specified limit, penalizes excess displacement to maintain safe operating ranges.
both_side_limitβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.both_side_limit
Penalizes joint positions exceeding symmetric bilateral limits.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationlimit
(float, default=0.0): Symmetric limit magnitude
Returns:
torch.Tensor
: Penalty for bilateral limit violations
Functionality: Enforces symmetric position limits around center, penalizing excursions beyond Β±limit to maintain centered operation.
feet_distanceβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_distance
Penalizes inappropriate feet separation distances.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationdistance_min
(float, default=0.1): Minimum acceptable separationdistance_max
(float, default=1.0): Maximum acceptable separation
Returns:
torch.Tensor
: Penalty for inappropriate feet spacing
Functionality: Computes 2D feet separation distance, penalizes when distance falls outside acceptable range to maintain stable stance geometry.
knee_distanceβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.knee_distance
Penalizes inappropriate knee separation distances.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationdistance_min
(float, default=0.1): Minimum acceptable separationdistance_max
(float, default=0.5): Maximum acceptable separation
Returns:
torch.Tensor
: Penalty for inappropriate knee spacing
Functionality: Similar to feet_distance but for knee joints, maintaining proper leg geometry and avoiding collision.
feet_distance_yβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_distance_y
Penalizes inappropriate lateral feet separation in robot frame.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationdistance_min
(float, default=0.1): Minimum acceptable lateral separationdistance_max
(float, default=0.5): Maximum acceptable lateral separation
Returns:
torch.Tensor
: Penalty for inappropriate lateral feet spacing
Functionality: Transforms feet positions to robot frame, computes lateral (y-axis) separation, and penalizes improper stance width.
knee_distance_yβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.knee_distance_y
Penalizes inappropriate lateral knee separation.
Parameters:
env
: Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configurationdistance_min
(float, default=0.1): Minimum acceptable lateral separationdistance_max
(float, default=0.3): Maximum acceptable lateral separation
Returns:
torch.Tensor
: Penalty for inappropriate lateral knee spacing
Functionality: Monitors lateral knee separation to prevent leg collision and maintain proper walking geometry.
feet_contact_parallelβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_contact_parallel
Rewards parallel foot contact with ground.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for proper foot orientation during contact
Functionality: Checks foot orientation during ground contact, rewards when feet contact ground with proper (parallel) orientation for stability.
no_flyβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.no_fly
Rewards maintaining at least one foot in contact while moving.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for avoiding flight phases
Functionality: Monitors contact history, rewards when exactly one foot maintains ground contact to prevent jumping or flying behaviors.
sole_contactβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.sole_contact
Penalizes non-sole contact with improper force distribution.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for improper contact forces
Functionality: Ensures proper foot contact by requiring vertical forces to dominate horizontal forces (5:1 ratio) during ground contact.
no_jumpβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.no_jump
Rewards maintaining double contact during low velocity commands.
Parameters:
env
: Environment instancecommand_name
(str): Name of velocity command termsensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for stable stance during standing
Functionality: Encourages both feet ground contact when velocity commands are low, promoting stable standing behavior.
jumping_penaltyβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.jumping_penalty
Penalizes complete loss of ground contact (jumping).
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for airborne phases
Functionality: Detects when both feet lose ground contact simultaneously and applies penalty to discourage jumping behaviors.
feet_stumbleβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_stumble
Penalizes excessive horizontal contact forces indicating stumbling.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for stumbling behavior
Functionality: Monitors contact force ratios, penalizes when horizontal forces exceed 5x vertical forces, indicating stumbling or sliding.
feet_contact_forcesβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_contact_forces
Penalizes excessive contact forces beyond specified limits.
Parameters:
env
: Environment instancesensor_cfg
(SceneEntityCfg): Contact sensor configurationmax_contact_force
(float): Maximum acceptable contact force magnitudeasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for excessive contact forces
Functionality: Monitors total contact force magnitude, penalizes forces exceeding limits to encourage gentle locomotion and prevent damage.
feet_air_time_balancingβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_air_time_balancing
Rewards balanced air time between feet during locomotion.
Parameters:
env
: Environment instancecommand_name
(str): Name of velocity command termsensor_cfg
(SceneEntityCfg): Contact sensor configurationthreshold
(float, default=0.4): Maximum acceptable air time
Returns:
torch.Tensor
: Penalty for unbalanced gait timing
Functionality: Monitors air/contact time differences between feet, penalizes imbalanced gait patterns and excessive contact durations while moving.
balanced_feet_air_time_bipedβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.balanced_feet_air_time_biped
Complex biped gait timing reward for balanced locomotion.
Parameters:
env
: Environment instancecommand_name
(str): Name of velocity command termthreshold
(float): Maximum air time thresholdsensor_cfg
(SceneEntityCfg): Contact sensor configuration
Returns:
torch.Tensor
: Balanced gait timing reward
Functionality: Implements sophisticated biped gait analysis with air/contact time balancing, single stance rewards, and temporal consistency for natural walking patterns.
feet_contactβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_contact
Rewards phase-aligned feet contact patterns during locomotion.
Parameters:
env
: Environment instancecommand_name
(str): Name of velocity command termsensor_cfg
(SceneEntityCfg): Contact sensor configurationperiod
(float, default=0.8): Gait period durationpenalty_false
(float, default=0.05): Penalty for incorrect contactlft_ref_name
(str, default="lft_sin_phase"): Left foot phase reference namerht_ref_name
(str, default="rht_sin_phase"): Right foot phase reference nameasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for proper gait phasing
Functionality: Computes target contact patterns from sinusoidal phases, validates with parallel foot check, and rewards correct phase-contact alignment during movement.
feet_height_relative_positiveβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.feet_height_relative_positive
Rewards appropriate relative height differences between feet.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceheight_limit
(float): Maximum acceptable height differencesoft_limit_ratio
(float): Ratio for soft limit thresholdsensor_cfg
(SceneEntityCfg): Contact sensor configurationasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Reward for appropriate feet height relationships
Functionality: Monitors height differences between feet during stance phases, rewards when differences stay within limits for stable terrain adaptation.
action_rate_l2_dtβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.action_rate_l2_dt
Penalizes high action rate changes using L2 kernel.
Parameters:
env
(ManagerBasedRLEnv): Environment instance
Returns:
torch.Tensor
: Penalty for rapid action changes
Functionality: Computes action velocity via finite differences, applies L2 penalty to encourage smooth control and reduce mechanical stress.
action_rate_acc_l2_dtβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.action_rate_acc_l2_dt
Penalizes high action acceleration using L2 kernel.
Parameters:
env
(ManagerBasedRLEnv): Environment instance
Returns:
torch.Tensor
: Penalty for rapid acceleration changes
Functionality: Computes action acceleration via second-order finite differences, penalizes high accelerations for ultra-smooth control.
base_lin_acc_l2β
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.base_lin_acc_l2
Penalizes high base linear acceleration.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for rapid linear acceleration
Functionality: Tracks base linear velocity history, computes acceleration, and penalizes rapid changes for smooth locomotion dynamics.
base_ang_acc_l2β
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.base_ang_acc_l2
Penalizes high base angular acceleration.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for rapid angular acceleration
Functionality: Monitors base angular velocity changes, penalizes high angular accelerations for stable rotational dynamics.
reward_ori_dβ
Module name: GBC.gyms.isaaclab_45.lab_tasks.mdp.reward_ori_d
Penalizes rapid orientation changes using projected gravity.
Parameters:
env
(ManagerBasedRLEnv): Environment instanceasset_cfg
(SceneEntityCfg, default="robot"): Robot asset configuration
Returns:
torch.Tensor
: Penalty for orientation instability
Functionality: Uses projected gravity as orientation proxy, computes orientation rate changes, and penalizes rapid rotational movements for balance stability.
π Summaryβ
The mdp.py
module provides a comprehensive collection of 80+ functions organized into 8 major categories:
- π Symmetry Functions (7): Data augmentation and policy invariance
- π οΈ Tool Functions (1): Phase calculation utilities
- π Unitree RL Gym Rewards (5): Basic locomotion rewards
- π Reference Reshaping (7): Data preprocessing and kinematics
- π― Custom Observations (11): Enhanced observation functions
- π² Event Functions (3): Environment reset and initialization
- βοΈ Physics Modifiers (2): Adaptive curriculum learning
- π― Reference Rewards (15): Imitation learning rewards
- π― General Rewards (30): Locomotion quality and constraints
This module serves as the core foundation for GBC's reward engineering, observation processing, and training dynamics, enabling sophisticated robot learning across diverse locomotion tasks and reference-guided training scenarios. π