unilab.envs.motion_tracking.g1.motion_loader.MotionSampler

class unilab.envs.motion_tracking.g1.motion_loader.MotionSampler[source]

Bases: object

Handles motion frame sampling with different strategies.

Parameters:
  • motion_loader (MotionLoader)

  • mode (Literal['start', 'clip_start', 'uniform', 'adaptive', 'mixed'])

  • num_envs (int)

  • bin_count (int | None)

  • adaptive_lambda (float)

  • adaptive_kernel_size (int)

  • adaptive_uniform_ratio (float)

  • adaptive_alpha (float)

  • start_ratio (float)

Methods

__init__(motion_loader, mode, num_envs[, ...])

Initialize motion sampler.

get_current_motion([out])

Get motion data at current frames for all environments.

sample_frames(env_ids)

Sample motion frames for specified environments.

step()

Advance all frames by one step.

update_failure_stats(terminated[, ...])

Update failure statistics for adaptive sampling.

__init__(motion_loader, mode, num_envs, bin_count=None, adaptive_lambda=0.8, adaptive_kernel_size=1, adaptive_uniform_ratio=0.1, adaptive_alpha=0.001, start_ratio=0.0)[source]

Initialize motion sampler.

Parameters:
  • motion_loader (MotionLoader) – Motion loader instance

  • mode (Literal['start', 'clip_start', 'uniform', 'adaptive', 'mixed']) – Sampling mode (“start”, “clip_start”, “uniform”, “adaptive”, “mixed”)

  • num_envs (int) – Number of parallel environments

  • bin_count (int | None) – Number of bins for adaptive sampling (auto if None)

  • adaptive_lambda (float) – Decay factor for adaptive kernel

  • adaptive_kernel_size (int) – Kernel size for adaptive sampling

  • adaptive_uniform_ratio (float) – Uniform sampling ratio for adaptive mode

  • adaptive_alpha (float) – EMA alpha for failure count updates

  • start_ratio (float) – Fraction of envs forced to frame 0 in “mixed” mode (remaining envs are uniformly sampled). Lets buffer concentrate launch-transition samples while keeping motion-clip coverage.

sample_frames(env_ids)[source]

Sample motion frames for specified environments.

Parameters:

env_ids (ndarray) – Environment indices to sample for

Return type:

ndarray

Returns:

Sampled frame indices

update_failure_stats(terminated, current_frames=None)[source]

Update failure statistics for adaptive sampling.

Parameters:
  • terminated (ndarray) – Boolean array indicating which environments terminated

  • current_frames (ndarray | None) – Optional current frame indices (uses internal if None)

step()[source]

Advance all frames by one step.

get_current_motion(out=None)[source]

Get motion data at current frames for all environments.

Parameters:

out (MotionData | None)

Return type:

MotionData