From f3eb63e2f6aa29ca6aae09f49d2cb4e370f6554c Mon Sep 17 00:00:00 2001 From: Benjamin Pelletier Date: Fri, 10 Nov 2023 00:40:03 +0000 Subject: [PATCH] Add telemetry to flight information --- flight_planning/v1/flight_planning.yaml | 13 +- flight_planning/v1/geotemporal.yaml | 3 +- flight_planning/v1/telemetry.yaml | 214 ++++++++++++++++++++++++ 3 files changed, 226 insertions(+), 4 deletions(-) create mode 100644 flight_planning/v1/telemetry.yaml diff --git a/flight_planning/v1/flight_planning.yaml b/flight_planning/v1/flight_planning.yaml index 4f270bb..76d607c 100644 --- a/flight_planning/v1/flight_planning.yaml +++ b/flight_planning/v1/flight_planning.yaml @@ -1,7 +1,7 @@ openapi: 3.0.2 info: title: Flight Planning Automated Testing Interface - version: 0.4.0 + version: 0.5.0 description: >- This interface is implemented by a USS wishing to participate in automated tests involving attempts to plan flights. @@ -69,9 +69,9 @@ components: example: Flight Planning Automated Testing Interface api_version: description: |- - Indication of the API version implemented at this URL. Must be "v0.4.0" when implementing this version of the API. + Indication of the API version implemented at this URL. Must be "v0.5.0" when implementing this version of the API. type: string - example: v0.4.0 + example: v0.5.0 FlightPlan: description: >- @@ -82,6 +82,8 @@ components: properties: basic_information: $ref: '#/components/schemas/BasicFlightPlanInformation' + telemetry: + $ref: './telemetry.yaml#/components/schemas/FlightTelemetry' astm_f3548_21: $ref: './astm_f3548v21.yaml#/components/schemas/ASTMF354821OpIntentInformation' uspace_flight_authorisation: @@ -263,6 +265,11 @@ components: The status of the user's flight plan following the flight planning activity. anyOf: - $ref: '#/components/schemas/FlightPlanStatus' + as_planned: + description: >- + The flight plan information, as it was actually planned in the system. + anyOf: + - $ref: '#/components/schemas/FlightPlan' includes_advisories: description: >- Nature of advisories included in the response to the user regarding their attempt to perform this flight diff --git a/flight_planning/v1/geotemporal.yaml b/flight_planning/v1/geotemporal.yaml index abf5c43..2a6a4b8 100644 --- a/flight_planning/v1/geotemporal.yaml +++ b/flight_planning/v1/geotemporal.yaml @@ -65,11 +65,12 @@ components: reference: description: >- A code indicating the reference for a vertical distance. See AIXM - 5.1 and FIXM 4.2.0. + 5.1 and FIXM 4.2.0 for W84 and SFC. type: string enum: - W84 - SFC + - Takeoff units: description: >- The reference quantities used to express the value of altitude. See diff --git a/flight_planning/v1/telemetry.yaml b/flight_planning/v1/telemetry.yaml new file mode 100644 index 0000000..fdede16 --- /dev/null +++ b/flight_planning/v1/telemetry.yaml @@ -0,0 +1,214 @@ +info: + title: >- + Telemetry definitions used in flight planning interface. +components: + schemas: + FlightTelemetry: + type: object + properties: + states: + description: >- + The set of telemetry data that should be injected into the system (as if reported by the user or the user's system) at the appropriate times (and not before) for this flight. + type: array + items: + $ref: '#/components/schemas/AircraftState' + AircraftState: + description: State of an aircraft for the purposes of simulating the execution of a flight plan. + required: + - timestamp + type: object + properties: + timestamp: + description: >- + Time at which this state is valid. This is equivalent to the time of sensor measurement, so the USS's primary system under test should not be aware of this state until after this time. + anyOf: + - $ref: 'geotemporal.yaml#/components/schemas/Time' + timestamp_accuracy: + description: >- + Declaration of timestamp accuracy, which is the one-sided width of the 95%-confidence interval around `timestamp` for the true time of applicability for any of the data fields. + type: number + format: float + minimum: 0 + example: 1 + default: 0 + position: + $ref: '#/components/schemas/AircraftPosition' + operational_status: + $ref: '#/components/schemas/OperationalStatus' + track: + description: Direction of flight expressed as a "True North-based" ground + track angle. This value is provided in degrees East of North. A value of + 360 indicates that the true value is unavailable. + type: number + format: float + maximum: 360 + minimum: 0 + example: 295 + default: 0 + speed: + description: Ground speed of flight in meters per second. + type: number + format: float + minimum: 0 + example: 1.9 + default: 0 + speed_accuracy: + description: Accuracy of horizontal ground speed. + anyOf: + - $ref: '#/components/schemas/SpeedAccuracy' + vertical_speed: + description: Geodetic vertical speed upward. Units of meters per second. + type: number + format: float + example: -0.2 + default: 0 + OperationalStatus: + description: >- + Indicates operational status of associated aircraft. + + * `Undeclared`: The system does not support acquisition of knowledge about the status of the aircraft. + + * `Ground`: The aircraft is reporting status but is not airborne. + + * `Airborne`: The aircraft is, or should be considered as, being airborne. + + * `Emergency`: The aircraft is reporting an emergency. + + * `Unknown`: The system supports acquisition of knowledge about the status of the aircraft, but the status cannot currently be determined. + enum: + - Undeclared + - Ground + - Airborne + - Emergency + - Unknown + type: string + example: Airborne + default: Undeclared + AircraftPosition: + description: >- + Reported or actual position of an aircraft at a particular time. + type: object + properties: + location: + $ref: 'geotemporal.yaml#/components/schemas/LatLngPoint' + altitudes: + description: >- + The single vertical location of the aircraft, potentially reported relative to multiple datums. + type: array + items: + $ref: 'geotemporal.yaml#/components/schemas/Altitude' + accuracy_h: + anyOf: + - $ref: '#/components/schemas/HorizontalAccuracy' + description: Horizontal error that may be be present in this reported position. + accuracy_v: + anyOf: + - $ref: '#/components/schemas/VerticalAccuracy' + description: Vertical error that may be present in this reported position. + pressure_altitude: + description: The uncorrected altitude (based on reference standard 29.92 + inHg, 1013.25 mb) provides a reference for algorithms that utilize "altitude + deltas" between aircraft. This value is provided in meters. + type: number + format: float + example: 1500 + default: 0 + HorizontalAccuracy: + description: |- + This is the NACp enumeration from ADS-B, plus 1m for a more complete range for UAs. + + `HAUnknown`: Unknown horizontal accuracy + + `HA10NMPlus`: > 10NM (18.52km) + + `HA10NM`: < 10NM (18.52km) + + `HA4NM`: < 4NM (7.408km) + + `HA2NM`: < 2NM (3.704km) + + `HA1NM`: < 1NM (1852m) + + `HA05NM`: < 0.5NM (926m) + + `HA03NM`: < 0.3NM (555.6m) + + `HA01NM`: < 0.1NM (185.2m) + + `HA005NM`: < 0.05NM (92.6m) + + `HA30m`: < 30m + + `HA10m`: < 10m + + `HA3m`: < 3m + + `HA1m`: < 1m + enum: + - HAUnknown + - HA10NMPlus + - HA10NM + - HA4NM + - HA2NM + - HA1NM + - HA05NM + - HA03NM + - HA01NM + - HA005NM + - HA30m + - HA10m + - HA3m + - HA1m + type: string + VerticalAccuracy: + description: |- + This is the GVA enumeration from ADS-B, plus some finer values for UAs. + + `VAUnknown`: Unknown vertical accuracy + + `VA150mPlus`: > 150m + + `VA150m`: < 150m + + `VA45m`: < 45m + + `VA25m`: < 25m + + `VA10m`: < 10m + + `VA3m`: < 3m + + `VA1m`: < 1m + enum: + - VAUnknown + - VA150mPlus + - VA150m + - VA45m + - VA25m + - VA10m + - VA3m + - VA1m + type: string + SpeedAccuracy: + description: |- + This is the same enumeration scale and values from ADS-B NACv. + + `SAUnknown`: Unknown speed accuracy + + `SA10mpsPlus`: > 10 m/s + + `SA10mps`: < 10 m/s + + `SA3mps`: < 3 m/s + + `SA1mps`: < 1 m/s + + `SA03mps`: < 0.3 m/s + enum: + - SAUnknown + - SA10mpsPlus + - SA10mps + - SA3mps + - SA1mps + - SA03mps + type: string