UMjPassthroughController¶
Writes control values directly to d->ctrl without modification.
Use this when the MJCF actuators handle their own dynamics (position actuators with kp/kv, or motor actuators receiving raw torque from Python). Functionally identical to the default ApplyControls() path, but as an explicit component for consistency with the controller framework.
| Attribute | Value |
|---|---|
| Kind | Class |
| UE Macro | UCLASS |
| Inherits | UMjArticulationController |
| Blueprint Spawnable | ✅ Yes |
Properties¶
Public Properties¶
| Property | Type | Description |
|---|---|---|
bEnabled |
bool |
Is this controller active? If false, ApplyControls falls through to default path. |
bEnabled¶
Is this controller active? If false, ApplyControls falls through to default path.
- Type: bool
- Editor: ✏️ EditAnywhere
- Blueprint: 🔵 ReadWrite
- Category: MuJoCo|Controller
Protected Properties¶
| Property | Type | Description |
|---|---|---|
Bindings |
TArray<FActuatorBinding> | Actuator→DOF bindings, populated by Bind(). |
Functions¶
Public Functions¶
General¶
| Function | Returns | Description |
|---|---|---|
Bind() |
void | Called once after the MuJoCo model compiles. Resolves actuator→DOF |
ComputeAndApply() |
void | Called every physics step from AMjArticulation::ApplyControls(). |
IsBound() |
bool |
Has Bind() been called successfully? |
GetNumBindings() |
int32 |
Number of bound actuators. |
GetBindings() |
const TArray<FActuatorBinding>& | Access bindings (for gain configuration by name). |
Bind¶
Called once after the MuJoCo model compiles. Resolves actuator→DOF
- Signature:
Bind(mjModel*m,mjData*d,constTMapUMjActuator\*>& ActuatorIdMap)
ComputeAndApply¶
Called every physics step from AMjArticulation::ApplyControls().
- Signature:
ComputeAndApply(mjModel*m,mjData*d,uint8Source)
GetBindings¶
Access bindings (for gain configuration by name).
- Signature:
GetBindings() - Returns: const TArray<FActuatorBinding>&