Kerbal Space Program
1.12.4
|
Public Member Functions | |
void | AutoTuneReset () |
void | AutoTuneScalar () |
Autotune the PID channel as a factor of maximum angular acceleration (torque-to-MOI ratio). Autoscalar Formula: scalarFactor * angularAccelerationMax + scalarIntx Higher Ratio gives lower scalar (reducing the PID response) More... | |
bool | CanEngageSAS () |
void | ConnectFlyByWire (bool reset) |
void | Destroy () |
void | DisconnectFlyByWire () |
void | LockRotation (Quaternion newRotation) |
void | ModuleSetup () |
void | ResetAllPIDS () |
void | ResetTuningScalars () |
void | SetDampingMode (bool isEnabled) |
void | SetLockPitchPID (float Kp, float Ki, float Kd, float clamp) |
void | SetLockRollPID (float Kp, float Ki, float Kd, float clamp) |
void | SetLockYawPID (float Kp, float Ki, float Kd, float clamp) |
void | SetTargetOrientation (Vector3 tgtOrientation, bool reset) |
Connects the fly-by-wire and sets the target orientation for non-stability hold modes. More... | |
void | SetTuningScalar (float scalar) |
void | Start () |
void | TuneScalars (float scalar) |
void | Update () |
VesselSAS (Vessel v) | |
Public Attributes | |
Vector3 | autoScalarMax = new Vector3(10f, 10f, 10f) |
Clamp maximum autoScalar. More... | |
Vector3 | autoScalarMin = new Vector3(0.50f, 0.50f, 0.50f) |
Clamp minimum autoScalar. More... | |
bool | autoTune = true |
Flags use of the PID auto tuner. More... | |
float | coastScalar = 2f |
When switching targets, this scales when to coast (reduce SAS inputs) More... | |
float | controlDetectionThreshold = 0.05f |
Input deadband. More... | |
int | dampingCooldown = 20 |
bool | dampingMode = false |
True if the SAS is in damping mode (not stuck on a heading yet). Used to flag the UI button. More... | |
Vector3 | decayDeltaThreshold = 0.1f * Vector3.one |
Decay when delta error below threshold. More... | |
Vector3 | decayMin = 0.10f * Vector3.one |
Min clamp for the decay scalar. More... | |
Vector3 | decayRate = 0.005f * Vector3.one |
Rate to decay the scalar. More... | |
Vector3 | decayResponseThreshold = 0.02f * Vector3.one |
Decay when sas response below threshold. More... | |
bool | lockedMode = true |
Set to true for stability assist, false for all other SAS modes. More... | |
Quaternion | lockedRotation |
The rotation the SAS is trying to maintain. More... | |
Vector3 | negTorque |
float | overrideMinimumMagnitude = 0.1f |
Above this angular velocity, the SAS enters damping mode. More... | |
PIDclamp | pidLockedPitch |
Pitch PID controller (Pitch is X axis) More... | |
PIDclamp | pidLockedRoll |
Roll PID controller (Roll is Y axis) More... | |
PIDclamp | pidLockedYaw |
Yaw PID controller (Yaw is Z axis) More... | |
Vector3 | posTorque |
Vector3 | scalarFactor = new Vector3(-0.3f, -0.3f, -0.3f) |
Slope factor for autoScalar. More... | |
Vector3 | scalarIntx = new Vector3(2f, 2f, 2f) |
Intercept factor for autoScalar. More... | |
float | scalarRate = 0.9f |
Lerp rate for change in scalar. More... | |
float | stopScalar = 1f |
When switching targets, this scales when to reverse SAS inputs to stop the turn. More... | |
Vector3 | targetOrientation |
Orientation SAS is trying to reach. More... | |
bool | useDecay = true |
Flag usage of the decay response. More... | |
|
inline |
|
inline |
|
inline |
Autotune the PID channel as a factor of maximum angular acceleration (torque-to-MOI ratio). Autoscalar Formula: scalarFactor * angularAccelerationMax + scalarIntx Higher Ratio gives lower scalar (reducing the PID response)
< ki decays as craft settles onto target orientation (prevents accumulation of integral error)
|
inline |
|
inline |
|
inline |
|
inline |
< Disconnect the Fly By Wire
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Connects the fly-by-wire and sets the target orientation for non-stability hold modes.
tgtOrientation | The desired orientation |
reset | Resets the PID when true |
|
inline |
|
inline |
|
inline |
|
inline |
Vector3 VesselAutopilot.VesselSAS.autoScalarMax = new Vector3(10f, 10f, 10f) |
Clamp maximum autoScalar.
Vector3 VesselAutopilot.VesselSAS.autoScalarMin = new Vector3(0.50f, 0.50f, 0.50f) |
Clamp minimum autoScalar.
bool VesselAutopilot.VesselSAS.autoTune = true |
Flags use of the PID auto tuner.
float VesselAutopilot.VesselSAS.coastScalar = 2f |
When switching targets, this scales when to coast (reduce SAS inputs)
float VesselAutopilot.VesselSAS.controlDetectionThreshold = 0.05f |
Input deadband.
int VesselAutopilot.VesselSAS.dampingCooldown = 20 |
bool VesselAutopilot.VesselSAS.dampingMode = false |
True if the SAS is in damping mode (not stuck on a heading yet). Used to flag the UI button.
Vector3 VesselAutopilot.VesselSAS.decayDeltaThreshold = 0.1f * Vector3.one |
Decay when delta error below threshold.
Vector3 VesselAutopilot.VesselSAS.decayMin = 0.10f * Vector3.one |
Min clamp for the decay scalar.
Vector3 VesselAutopilot.VesselSAS.decayRate = 0.005f * Vector3.one |
Rate to decay the scalar.
Vector3 VesselAutopilot.VesselSAS.decayResponseThreshold = 0.02f * Vector3.one |
Decay when sas response below threshold.
bool VesselAutopilot.VesselSAS.lockedMode = true |
Set to true for stability assist, false for all other SAS modes.
Quaternion VesselAutopilot.VesselSAS.lockedRotation |
The rotation the SAS is trying to maintain.
Vector3 VesselAutopilot.VesselSAS.negTorque |
float VesselAutopilot.VesselSAS.overrideMinimumMagnitude = 0.1f |
Above this angular velocity, the SAS enters damping mode.
PIDclamp VesselAutopilot.VesselSAS.pidLockedPitch |
Pitch PID controller (Pitch is X axis)
PIDclamp VesselAutopilot.VesselSAS.pidLockedRoll |
Roll PID controller (Roll is Y axis)
PIDclamp VesselAutopilot.VesselSAS.pidLockedYaw |
Yaw PID controller (Yaw is Z axis)
Vector3 VesselAutopilot.VesselSAS.posTorque |
Vector3 VesselAutopilot.VesselSAS.scalarFactor = new Vector3(-0.3f, -0.3f, -0.3f) |
Slope factor for autoScalar.
Vector3 VesselAutopilot.VesselSAS.scalarIntx = new Vector3(2f, 2f, 2f) |
Intercept factor for autoScalar.
float VesselAutopilot.VesselSAS.scalarRate = 0.9f |
Lerp rate for change in scalar.
float VesselAutopilot.VesselSAS.stopScalar = 1f |
When switching targets, this scales when to reverse SAS inputs to stop the turn.
Vector3 VesselAutopilot.VesselSAS.targetOrientation |
Orientation SAS is trying to reach.
bool VesselAutopilot.VesselSAS.useDecay = true |
Flag usage of the decay response.