void UpdatePIDValues(PIDProfile newPIDprofile) { Debug.Log("set pid values to " + newPIDprofile.name); proximityPIDX = new PidController(newPIDprofile.PIDxP, newPIDprofile.PIDxI, newPIDprofile.PIDxD, 1, -1); proximityPIDY = new PidController(newPIDprofile.PIDyP, newPIDprofile.PIDyI, newPIDprofile.PIDyD, 1, -1); proximityPIDZ = new PidController(newPIDprofile.PIDzP, newPIDprofile.PIDzI, newPIDprofile.PIDzD, 1, -1); yawPID = new PidController(newPIDprofile.yawP, newPIDprofile.yawI, newPIDprofile.yawD, 1, -1); proximityPIDX.SetPoint = 0; proximityPIDY.SetPoint = 0; proximityPIDZ.SetPoint = 0; yawPID.SetPoint = 0; }
public void ApplyProfile(PIDProfile profile, PIDAxis axis) { switch (axis) { case PIDAxis.Roll: Kp = profile.rollP; Ki = profile.rollI; Kd = profile.rollD; break; case PIDAxis.Pitch: Kp = profile.pitchP; Ki = profile.pitchI; Kd = profile.pitchD; break; case PIDAxis.Yaw: Kp = profile.yawP; Ki = profile.yawI; Kd = profile.yawD; break; } }
public PIDRegulator(PIDProfile p) { profile = p; }