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.