public void Init(Telemetry tel) { // Do not move N computation below, N is used by LLAtoECEF method! gpsLLA = tel.uavPosition; gpsLLA.Press_Altitude = gpsLLA.Altitude - localGeoidHeight; N = a / Math.Sqrt(1 - e2 * Math.Pow(Math.Sin(gpsLLA.Latitude), 2)); cosLat = Math.Cos(gpsLLA.Latitude); sinLat = Math.Sin(gpsLLA.Latitude); cosLon = Math.Cos(gpsLLA.Longitude); sinLon = Math.Sin(gpsLLA.Longitude); gpsECEF = LLAtoECEF(gpsLLA); uavAngles = tel.uavAngles; cosYaw = Math.Cos(uavAngles.Yaw); sinYaw = Math.Sin(uavAngles.Yaw); if (zeroUavPitchRoll) { cosPitch = cosRoll = 1; sinPitch = sinRoll = 0; } else { cosPitch = Math.Cos(uavAngles.Pitch); sinPitch = Math.Sin(uavAngles.Pitch); cosRoll = Math.Cos(uavAngles.Roll); sinRoll = Math.Sin(uavAngles.Roll); } R_ECEF_LNED = null; R_LNED_ECEF = null; R_LNED_BODY = null; R_BODY_LNED = null; }
public void Init(Telemetry telemetry) { this.nedFrame.Init(telemetry); this.cameraNED = nedFrame.BODYtoLNED(camFrame.CamBODY); this.georefInfo = null; }
public Metadata() { uavTelemetry = new Telemetry(); camDelay = new CameraDelay(); AGL = 0; }