跳转至

geo

Array API Geometric Controller for batched simulation.

Based on Lee, Leok, McClamroch (CDC 2010). Uses scipy.spatial.transform.Rotation (SCIPY_ARRAY_API=1) for SO(3).

类:

名称 描述
GeoControl

Batched geometric controller (Array API).

GeometricAdaptiveController

Batched geometric adaptive controller (Array API).

L1_GeoControl

Batched L1 adaptive geometric controller (Array API).

GeoControl

GeoControl(params: VehicleParams = VehicleParams(), control_mask: dict | None = None, gains: dict | None = None, limits: dict | None = None, *, num_envs: int = 1, device=None, backend: BackendName | None = None, xp: ModuleType | None = None)

Bases: ControllerBase

Batched geometric controller (Array API).

Initialize the batched geometric controller.

方法:

名称 描述
reset

Reset.

gains_to_randomization_ranges

Gains to randomization ranges.

randomize

Randomize.

update

Update.

属性:

名称 类型 描述
params VehicleParams

Vehicle parameters for the controller.

control_mask dict

Control mask dict mapped to state keys, used in update().

params instance-attribute

params: VehicleParams = params

Vehicle parameters for the controller.

control_mask instance-attribute

control_mask: dict = control_mask if control_mask is not None else {}

Control mask dict mapped to state keys, used in update().

reset

reset(env_ids=None)

Reset.

gains_to_randomization_ranges classmethod

gains_to_randomization_ranges(gains: dict | None = None, scale: float = 0.2) -> dict

Gains to randomization ranges.

randomize

randomize(env_ids=None, gains: dict | None = None, limits: dict | None = None, params: dict | None = None)

Randomize.

update

update(target: ControllerTarget, state: ControllerState) -> ArrayLike

Update.

GeometricAdaptiveController

GeometricAdaptiveController(params: VehicleParams = VehicleParams(), control_mask: dict | None = None, gains: dict | None = None, limits: dict | None = None, *, num_envs: int = 1, device=None, backend: BackendName | None = None, xp: ModuleType | None = None)

Bases: GeoControl

Batched geometric adaptive controller (Array API).

Initialize adaptive state and inherited geometric control.

方法:

名称 描述
reset

Reset adaptive uncertainty estimates for selected environments.

update

Update adaptive geometric control and return thrust/moments.

gains_to_randomization_ranges

Gains to randomization ranges.

randomize

Randomize.

属性:

名称 类型 描述
params VehicleParams

Vehicle parameters for the controller.

control_mask dict

Control mask dict mapped to state keys, used in update().

params instance-attribute

params: VehicleParams = params

Vehicle parameters for the controller.

control_mask instance-attribute

control_mask: dict = control_mask if control_mask is not None else {}

Control mask dict mapped to state keys, used in update().

reset

reset(env_ids=None)

Reset adaptive uncertainty estimates for selected environments.

update

update(target: ControllerTarget, state: ControllerState) -> ArrayLike

Update adaptive geometric control and return thrust/moments.

gains_to_randomization_ranges classmethod

gains_to_randomization_ranges(gains: dict | None = None, scale: float = 0.2) -> dict

Gains to randomization ranges.

randomize

randomize(env_ids=None, gains: dict | None = None, limits: dict | None = None, params: dict | None = None)

Randomize.

L1_GeoControl

L1_GeoControl(params: VehicleParams = VehicleParams(), control_mask: dict | None = None, gains: dict | None = None, limits: dict | None = None, *, num_envs: int = 1, device=None, backend: BackendName | None = None, xp: ModuleType | None = None)

Bases: GeoControl

Batched L1 adaptive geometric controller (Array API).

Initialize L1 adaptive state and inherited geometric control.

方法:

名称 描述
reset

Reset L1 predictor/filter state for selected environments.

update

Update L1-augmented geometric control and return thrust/moments.

gains_to_randomization_ranges

Gains to randomization ranges.

randomize

Randomize.

属性:

名称 类型 描述
params VehicleParams

Vehicle parameters for the controller.

control_mask dict

Control mask dict mapped to state keys, used in update().

params instance-attribute

params: VehicleParams = params

Vehicle parameters for the controller.

control_mask instance-attribute

control_mask: dict = control_mask if control_mask is not None else {}

Control mask dict mapped to state keys, used in update().

reset

reset(env_ids=None)

Reset L1 predictor/filter state for selected environments.

update

update(target: ControllerTarget, state: ControllerState) -> ArrayLike

Update L1-augmented geometric control and return thrust/moments.

gains_to_randomization_ranges classmethod

gains_to_randomization_ranges(gains: dict | None = None, scale: float = 0.2) -> dict

Gains to randomization ranges.

randomize

randomize(env_ids=None, gains: dict | None = None, limits: dict | None = None, params: dict | None = None)

Randomize.