void Start() { vessel = GetComponent <Vessel>(); vessel.OnAutopilotUpdate += MouseAimPilot; pitchDstr = pitchD.ToString(); pitchIstr = pitchI.ToString(); pitchPstr = pitchP.ToString(); rollDstr = rollD.ToString(); rollIstr = rollI.ToString(); rollPstr = rollP.ToString(); yawDstr = yawD.ToString(); yawIstr = yawI.ToString(); yawPstr = yawP.ToString(); upWeightingStr = upWeighting.ToString(); pilot = new AdaptivePID(); vesselTransform = vessel.ReferenceTransform; targetPosition = vesselTransform.up * 5000; //if it's activated, set it to the baseline FieldInfo[] cameraMouseLookStaticFields = typeof(CameraMouseLook).GetFields(BindingFlags.NonPublic | BindingFlags.Static); freeLookKSPCameraField = cameraMouseLookStaticFields[0]; }
void Start() { vessel.OnAutopilotUpdate += MouseAimPilot; pilot = new AdaptivePID(); flightMode = new FlightBehavior(); vesselTransform = vessel.ReferenceTransform; targetPosition = vesselTransform.up * 5000; //if it's activated, set it to the baseline FieldInfo[] cameraMouseLookStaticFields = typeof(CameraMouseLook).GetFields(BindingFlags.NonPublic | BindingFlags.Static); freeLookKSPCameraField = cameraMouseLookStaticFields[0]; }
void DebugPIDGUI(int windowID) { GUILayout.Label("Pitch:"); GUILayout.BeginHorizontal(); TextEntry(ref pitchPstr, "P:"); GUILayout.Label(pilot.pitchPID.kp.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref pitchIstr, "I:"); GUILayout.Label(pilot.pitchPID.ki.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref pitchDstr, "D:"); GUILayout.Label(pilot.pitchPID.kd.ToString()); GUILayout.EndHorizontal(); GUILayout.Label("Roll:"); GUILayout.BeginHorizontal(); TextEntry(ref rollPstr, "P:"); GUILayout.Label(pilot.rollPID.kp.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref rollIstr, "I:"); GUILayout.Label(pilot.rollPID.ki.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref rollDstr, "D:"); GUILayout.Label(pilot.rollPID.kd.ToString()); GUILayout.EndHorizontal(); GUILayout.Label("Yaw:"); GUILayout.BeginHorizontal(); TextEntry(ref yawPstr, "P:"); GUILayout.Label(pilot.yawPID.kp.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref yawIstr, "I:"); GUILayout.Label(pilot.yawPID.ki.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); TextEntry(ref yawDstr, "D:"); GUILayout.Label(pilot.yawPID.kd.ToString()); GUILayout.EndHorizontal(); TextEntry(ref upWeightingStr, "Roll-up Weight"); if (GUILayout.Button("Update K and reset integration errors")) { pitchD = float.Parse(pitchDstr); pitchI = float.Parse(pitchIstr); pitchP = float.Parse(pitchPstr); rollD = float.Parse(rollDstr); rollI = float.Parse(rollIstr); rollP = float.Parse(rollPstr); yawD = float.Parse(yawDstr); yawI = float.Parse(yawIstr); yawP = float.Parse(yawPstr); upWeighting = float.Parse(upWeightingStr); pilot = new AdaptivePID(pitchP, pitchI, pitchD, rollP, rollI, rollD, yawP, yawI, yawD); } if (GUILayout.Button("Reset integration errors")) { pilot.pitchPID.ZeroIntegral(); pilot.rollPID.ZeroIntegral(); pilot.yawPID.ZeroIntegral(); } GUI.DragWindow(); }
void Start() { vessel = GetComponent<Vessel>(); vessel.OnAutopilotUpdate += MouseAimPilot; upWeightingStr = upWeighting.ToString(); pilot = new AdaptivePID(); flightMode = new FlightBehavior(); vesselTransform = vessel.ReferenceTransform; targetPosition = vesselTransform.up * 5000; //if it's activated, set it to the baseline FieldInfo[] cameraMouseLookStaticFields = typeof(CameraMouseLook).GetFields(BindingFlags.NonPublic | BindingFlags.Static); freeLookKSPCameraField = cameraMouseLookStaticFields[0]; }