Skip to content

[rid] observation interface: add metadata #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Sep 14, 2023

Conversation

barroco
Copy link
Contributor

@barroco barroco commented Aug 25, 2023

This PR adds additional metadata to the observation harness required to validate the Display Provider capability of the U-Space network identification test suite:

  • operator.id
  • operator.location
  • operator.altitude
  • uas.id
  • timestamp
  • track
  • speed
  • height
  • operational_status

To limit redundant types, a commons.yaml is introduced in the folder to mutualize schema definition between injection and observation.

@BenjaminPelletier may I kindly ask you to have a particular attention at the following points:

  • Changes to the observed position altitude description which now requires a minimum resolution of 1 meter. I thought it was acceptable.
  • Usage of simple $ref / anyOf. The logic was that simple $ref are used for simple types and anyOf is used when the reference is an object definition. Please let me know if my understanding is not correct.

Please feel free to suggest any improvement on how to generalize the observation interface.

Copy link
Member

@BenjaminPelletier BenjaminPelletier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes to the observed position altitude description which now requires a minimum resolution of 1 meter. I thought it was acceptable.

Note added -- I think we want to move away from F3411 requirements & language rather than toward.

Usage of simple $ref / anyOf. The logic was that simple $ref are used for simple types and anyOf is used when the reference is an object definition. Please let me know if my understanding is not correct.

Yes, that's my general practice. $ref just replaces all content and in the version of OpenAPI we're using, no siblings are allowed next to $ref, including description. An obvious use of $ref is to define a type once and reuse it, but the description for each field in which that type is used is going to be different. The way to resolve this problem in OpenAPI 3.0.x is to use allOf -- that's the only reason to use allOf. In newer versions of OpenAPI, description is allowed as a sibling of $ref, but that newer version of OpenAPI is not yet widely supported.

schemas:
Altitude:
format: float
description: 'Geodetic altitude (NOT altitude above launch, altitude above
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to transition away from language that's specifically aligned with ASTM standard text -- for instance, the USS should provide whatever altitude they know without regard to resolution. When we perform ASTM F3411 tests, we'll check whether the minimum resolution requirement is met, but that might not be a requirement in other RID regimes. For that reason, I think I actually like the old description better ("An altitude, in meters, above the WGS84 ellipsoid.") Also, we don't want to mention "aircraft" since it's use in OperatorAltitude also.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I reverted to the old description.

Copy link
Member

@BenjaminPelletier BenjaminPelletier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM. Following this merge, the next step would be to update the submodule pointer in uas_standards and reautogenerate the code. Then, after that PR is approved and merged, we can make a new uas_standards release. Then, after that release, we can rev the uas_standards version in monitoring and start making use of the API changes.

@barroco barroco merged commit e5e5ff2 into interuss:main Sep 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants