unilab.dr¶
Domain randomization package.
Invariant: this package must not depend on unilab.base.*
- class unilab.dr.DomainRandomizationCapabilities[source]¶
Bases:
objectBackend domain-randomization capability declaration.
supported_interval_termsis the authoritative set-based declaration of interval term support. The fivesupports_interval_*bools are deprecated (kept for backward compatibility; removed in the next major release):supports_interval_term()consults them only as a fallback when the term is absent fromsupported_interval_terms, so old constructor call sites keep their meaning.- Parameters:
- supports_interval_term(term)[source]¶
Return whether the backend declares support for one interval term.
Set membership in
supported_interval_termswins; otherwise the deprecated legacy bool mapped totermdecides.
- filter_reset_payload(payload)[source]¶
- Parameters:
payload (
ResetRandomizationPayload)- Return type:
- __init__(supported_reset_terms=<factory>, supports_interval_push=False, supports_interval_body_velocity_delta=False, supports_interval_body_angular_velocity_delta=False, supports_interval_body_force=False, supports_interval_body_torque=False, supported_interval_terms=<factory>)¶
- class unilab.dr.DomainRandomizationManager[source]¶
Bases:
object- Parameters:
env (
Any)provider (
DomainRandomizationProvider)
- __init__(env, provider)[source]¶
- Parameters:
env (
Any)provider (
DomainRandomizationProvider)
- class unilab.dr.DomainRandomizationProvider[source]¶
Bases:
ABC- abstract validate(env, capabilities)[source]¶
- Parameters:
env (
Any)capabilities (
DomainRandomizationCapabilities)
- Return type:
- build_interval_randomization_plan(env, step_counter)[source]¶
Build the interval randomization plan for the upcoming step.
Populate the plan’s
opstuple withIntervalTermOpentries. Returning plans via the legacy fields (push_perturbation_limit,body_ids,body_linear_velocity_delta,body_angular_velocity_delta,body_force,body_torque) is deprecated: they are still adapted 1:1 throughIntervalRandomizationPlan.iter_ops(), but they will be removed in the next unisim-core major release.- Parameters:
- Return type:
- class unilab.dr.GeomSizeOverride[source]¶
Bases:
objectGeomSizeOverride(geom_name: ‘str’, size: ‘tuple[float, …]’)
- class unilab.dr.InitRandomizationPlan[source]¶
Bases:
objectInitRandomizationPlan(model_assignments: ‘np.ndarray’, model_variants: ‘tuple[ModelVariantSpec, …]’)
- Parameters:
model_assignments (
ndarray)model_variants (
tuple[ModelVariantSpec,...])
-
model_variants:
tuple[ModelVariantSpec,...]¶
- __init__(model_assignments, model_variants)¶
- Parameters:
model_assignments (
ndarray)model_variants (
tuple[ModelVariantSpec,...])
- class unilab.dr.IntervalRandomizationPlan[source]¶
Bases:
objectScheduled interval randomization request.
The five legacy fields (
push_perturbation_limit,body_ids,body_linear_velocity_delta,body_angular_velocity_delta,body_force,body_torque) are deprecated: they are kept for backward compatibility and will be removed in the next major release. New code should populateopswithIntervalTermOpentries.iter_ops()translates each set legacy field into one op; mixing legacy fields and explicit ops is allowed and both are yielded.- Parameters:
-
ops:
tuple[IntervalTermOp,...] = ()¶
- __init__(push_perturbation_limit=None, body_ids=None, body_linear_velocity_delta=None, body_angular_velocity_delta=None, body_force=None, body_torque=None, ops=())¶
- class unilab.dr.IntervalTermOp[source]¶
Bases:
objectOne interval randomization operation: term, payload, optional bodies.
- class unilab.dr.ModelVariantSpec[source]¶
Bases:
objectModelVariantSpec(geom_size_overrides: ‘tuple[GeomSizeOverride, …]’ = <factory>)
- Parameters:
geom_size_overrides (
tuple[GeomSizeOverride,...])
-
geom_size_overrides:
tuple[GeomSizeOverride,...]¶
- __init__(geom_size_overrides=<factory>)¶
- Parameters:
geom_size_overrides (
tuple[GeomSizeOverride,...])
- class unilab.dr.ResetPlan[source]¶
Bases:
objectResetPlan(env_ids: ‘np.ndarray’, qpos: ‘np.ndarray’, qvel: ‘np.ndarray’, info_updates: ‘dict[str, Any]’, randomization: ‘ResetRandomizationPayload | None’ = None)
- Parameters:
-
randomization:
ResetRandomizationPayload|None= None¶
- class unilab.dr.ResetRandomizationPayload[source]¶
Bases:
objectResetRandomizationPayload(base_mass_delta: ‘np.ndarray | None’ = None, base_com_offset: ‘np.ndarray | None’ = None, gravity: ‘np.ndarray | None’ = None, body_iquat: ‘np.ndarray | None’ = None, body_inertia: ‘np.ndarray | None’ = None, body_ipos: ‘np.ndarray | None’ = None, body_mass: ‘np.ndarray | None’ = None, dof_armature: ‘np.ndarray | None’ = None, geom_friction: ‘np.ndarray | None’ = None, kp: ‘np.ndarray | None’ = None, kd: ‘np.ndarray | None’ = None, geom_size: ‘np.ndarray | None’ = None, geom_solref: ‘np.ndarray | None’ = None, geom_solimp: ‘np.ndarray | None’ = None, dof_damping: ‘np.ndarray | None’ = None, dof_frictionloss: ‘np.ndarray | None’ = None)
- Parameters:
- __init__(base_mass_delta=None, base_com_offset=None, gravity=None, body_iquat=None, body_inertia=None, body_ipos=None, body_mass=None, dof_armature=None, geom_friction=None, kp=None, kd=None, geom_size=None, geom_solref=None, geom_solimp=None, dof_damping=None, dof_frictionloss=None)¶
- Parameters:
Modules