Skip to main content

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 instance
  • inputs (torch.Tensor): Input tensor to transform
  • symmetry_dims (list[int]): List of dimensions to negate
  • history_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 instance
  • inputs (torch.Tensor): Action tensor to transform
  • flipper (RobotFlipLeftRight): Robot flipper utility for joint mapping
  • is_velocity (bool, default=True): Whether inputs represent velocities
  • history_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 instance
  • inputs (torch.Tensor): Position tensor to transform
  • history_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 instance
  • inputs (torch.Tensor): Rotation tensor to transform
  • history_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 instance
  • inputs (torch.Tensor): Input tensor to transform
  • term_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 instance
  • inputs (torch.Tensor): Input tensor to transform
  • term_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 instance
  • ref_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 instance
  • period (float, default=0.8): Period duration in seconds
  • offset (float, default=0.0): Phase offset
  • ref_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 instance
  • asset_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 instance
  • period (float): Gait period duration
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • contact_phase_thresh (float, default=0.55): Phase threshold for contact
  • contact_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 instance
  • asset_cfg (SceneEntityCfg): Robot asset configuration
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • contact_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 instance
  • asset_cfg (SceneEntityCfg): Robot asset configuration
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • contact_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 instance
  • asset_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 tensor
  • env (ManagerBasedRLEnv): Environment instance
  • urdf_path (str): Path to robot URDF file
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • pickle_cfg (dict, default=): Pickle configuration parameters
  • add_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 tensor
  • env (ManagerBasedRLEnv): Environment instance
  • urdf_path (str): Path to robot URDF file
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • pickle_cfg (dict, default=): Pickle configuration parameters
  • add_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 vector
  • env (ManagerBasedRLEnv): Environment instance
  • pikle_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 sequence
  • env (ManagerBasedRLEnv): Environment instance
  • urdf_path (str): Path to robot URDF file
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • pickle_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.

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 tensor
  • env (ManagerBasedRLEnv): Environment instance
  • urdf_path (str): Path to robot URDF file
  • asset_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 data
  • env (ManagerBasedRLEnv): Environment instance
  • index (int): Index of contact data
  • offset (float, default=0.0): Phase offset
  • threshold (float, default=0.55): Contact threshold
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • pickle_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.

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 orientation
  • env (ManagerBasedRLEnv): Environment instance
  • urdf_path (str): Path to robot URDF file
  • pickle_cfg: Pickle configuration with fps parameter
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • asset_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 instance
  • stack_size (int): Number of historical frames to maintain
  • action_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 instance
  • env_ids (torch.Tensor): Environment IDs to reset
  • sample_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 instance
  • env_ids (torch.Tensor): Environment IDs to reset
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • drop_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 instance
  • env_ids (torch.Tensor): Environment IDs to reset
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • add_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 events
  • last_update_cnt (int): Counter for update intervals

Methods:

  • add_base_contact_val(val): Add contact value to history
  • get_base_contact_avg(): Calculate average contact rate
  • update_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 instance
  • env_ids (torch.Tensor): Environment IDs to apply forces
  • max_force (float): Maximum force magnitude
  • apply_offset_range (float): Range for force application offset
  • apply_force_duration_ratio (float): Duration ratio for force application
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • working_mode (str, default="spring"): Force application mode
  • ref_height_offset (float, default=0.15): Reference height offset
  • update_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.7
  • ang_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 instance
  • std (float): Standard deviation for exponential kernel
  • command_name (str): Name of velocity command term
  • asset_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 instance
  • command_name (str): Name of angular velocity command term
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • std (float, default=0.5): Standard deviation for exponential kernel
  • type: Type parameter (unused)
  • method (str, default="norm"): Error computation method ("norm" or other)
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • std_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 instance
  • asset_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 instance
  • left_asset_cfg (SceneEntityCfg, default="robot"): Left limb configuration
  • right_asset_cfg (SceneEntityCfg, default="robot"): Right limb configuration
  • sigma (float, default=0.4): Standard deviation for exponential kernel
  • asset_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 instance
  • std (float, default=0.5): Standard deviation for exponential kernel
  • type: Type parameter (unused)
  • method (str, default="norm"): Error computation method
  • actions_std_add_constant (float, default=0.3): Constant added to action std
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • std_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 instance
  • std (float, default=4): Standard deviation for exponential kernel
  • obs_joint_pos_name (str, default="joint_pos"): Name of joint position observation term
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • left_asset_cfg (SceneEntityCfg, default="robot"): Left limb configuration
  • right_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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg | None): Contact sensor configuration
  • ref_id (list[int], default=slice(None)): Indices of feet to track
  • contact_time_thresh (float, default=0.01): Minimum contact time threshold
  • asset_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 instance
  • phase_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 instance
  • sensor_cfg (SceneEntityCfg | None): Contact sensor configuration
  • ref_id (list[int], default=slice(None)): Indices of feet to track
  • contact_time_thresh (float, default=0.05): Minimum contact time threshold
  • phase_thresh (float, default=0.55): Phase threshold for contact determination
  • penalty_false (float, default=0.0): Penalty for incorrect contact
  • asset_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 instance
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • xyz_dim (tuple, default=(0,1,2)): Position dimensions to track
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • xyz_dim (tuple, default=(0,1,2)): Position dimensions to track
  • asset_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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • coef (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 instance
  • std (float): Standard deviation for exponential kernel
  • asset_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 instance
  • ratio (float, default=0.35): Ratio of actuator effort limit for soft threshold
  • asset_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 instance
  • command_name (str): Name of velocity command term
  • asset_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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • limit (float, default=0.0): Position limit threshold
  • above (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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • limit (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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • distance_min (float, default=0.1): Minimum acceptable separation
  • distance_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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • distance_min (float, default=0.1): Minimum acceptable separation
  • distance_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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • distance_min (float, default=0.1): Minimum acceptable lateral separation
  • distance_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 instance
  • asset_cfg (SceneEntityCfg, default="robot"): Robot asset configuration
  • distance_min (float, default=0.1): Minimum acceptable lateral separation
  • distance_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • command_name (str): Name of velocity command term
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • max_contact_force (float): Maximum acceptable contact force magnitude
  • asset_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 instance
  • command_name (str): Name of velocity command term
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • threshold (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 instance
  • command_name (str): Name of velocity command term
  • threshold (float): Maximum air time threshold
  • sensor_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 instance
  • command_name (str): Name of velocity command term
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • period (float, default=0.8): Gait period duration
  • penalty_false (float, default=0.05): Penalty for incorrect contact
  • lft_ref_name (str, default="lft_sin_phase"): Left foot phase reference name
  • rht_ref_name (str, default="rht_sin_phase"): Right foot phase reference name
  • asset_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 instance
  • height_limit (float): Maximum acceptable height difference
  • soft_limit_ratio (float): Ratio for soft limit threshold
  • sensor_cfg (SceneEntityCfg): Contact sensor configuration
  • asset_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 instance
  • asset_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 instance
  • asset_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 instance
  • asset_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:

  1. πŸ”„ Symmetry Functions (7): Data augmentation and policy invariance
  2. πŸ› οΈ Tool Functions (1): Phase calculation utilities
  3. πŸ† Unitree RL Gym Rewards (5): Basic locomotion rewards
  4. πŸ”„ Reference Reshaping (7): Data preprocessing and kinematics
  5. 🎯 Custom Observations (11): Enhanced observation functions
  6. 🎲 Event Functions (3): Environment reset and initialization
  7. βš™οΈ Physics Modifiers (2): Adaptive curriculum learning
  8. 🎯 Reference Rewards (15): Imitation learning rewards
  9. πŸ’― 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. πŸš€