Skip to content

actions

Classes:

Name Description
ControlAction

Body torque control action term.

ControlActionCfg

See :class:ControlAction for more details.

TrackControlAction

Track force control action term.

TrackControlActionCfg

See :class:ControlAction for more details.

ControlAction

ControlAction(cfg: ControlActionCfg, env: ManagerBasedRLEnv)

Bases: ActionTerm

Body torque control action term.

This action term applies a wrench to the drone body frame based on action commands

Attributes:

Name Type Description
cfg ControlActionCfg

The configuration of the action term.

cfg instance-attribute

cfg: ControlActionCfg = cfg

The configuration of the action term.

ControlActionCfg

Bases: ActionTermCfg

See :class:ControlAction for more details.

Attributes:

Name Type Description
class_type type[ActionTerm]

Class of the action term.

asset_name str

Name of the asset in the environment for which the commands are generated.

params VehicleParams

Vehicle parameters.

gains dict | None

Optional gains configuration for the flight controller. See FlightController for details.

limits dict | None

Optional command-limit configuration passed directly to the flight controller.

control_mode str

Control mode, options: cmd_motor_thrusts, cmd_motor_speeds, cmd_ctbm, cmd_ctbr, cmd_ctatt, cmd_vel, cmd_pos.

class_type class-attribute instance-attribute

class_type: type[ActionTerm] = ControlAction

Class of the action term.

asset_name class-attribute instance-attribute

asset_name: str = 'robot'

Name of the asset in the environment for which the commands are generated.

params class-attribute instance-attribute

params: VehicleParams = VehicleParams()

Vehicle parameters.

gains class-attribute instance-attribute

gains: dict | None = None

Optional gains configuration for the flight controller. See FlightController for details.

limits class-attribute instance-attribute

limits: dict | None = None

Optional command-limit configuration passed directly to the flight controller.

control_mode class-attribute instance-attribute

control_mode: str = 'cmd_motor_speeds'

Control mode, options: cmd_motor_thrusts, cmd_motor_speeds, cmd_ctbm, cmd_ctbr, cmd_ctatt, cmd_vel, cmd_pos.

rotorpy ref: - https://github.com/spencerfolk/rotorpy/blob/main/rotorpy/learning/quadrotor_environments.py#L319C1-L350C12 - https://github.com/spencerfolk/rotorpy/blob/main/rotorpy/vehicles/multirotor.py#L997

TODO: also align control modes with px4, see: https://docs.px4.io/v1.14/en/flight_modes/offboard (version is unclear ATM)

TrackControlAction

TrackControlAction(cfg: TrackControlActionCfg, env: ManagerBasedRLEnv)

Bases: ActionTerm

Track force control action term.

This action term converts normalized track commands into ground reaction forces applied on each track body.

Attributes:

Name Type Description
cfg TrackControlActionCfg

The configuration of the action term.

cfg instance-attribute

cfg: TrackControlActionCfg = cfg

The configuration of the action term.

TrackControlActionCfg

Bases: ActionTermCfg

See :class:ControlAction for more details.

Attributes:

Name Type Description
class_type type[ActionTerm]

Class of the action term.

asset_name str

Name of the asset in the environment for which the commands are generated.

params VehicleParams

Vehicle parameters.

class_type class-attribute instance-attribute

class_type: type[ActionTerm] = TrackControlAction

Class of the action term.

asset_name class-attribute instance-attribute

asset_name: str = 'robot'

Name of the asset in the environment for which the commands are generated.

params class-attribute instance-attribute

params: VehicleParams = VehicleParams()

Vehicle parameters.