Quarenion_Rate Bug in AemMetadata Validation

I think there is a “bug” with CSDS AEM processing when using the AttitudeType.QUATERNION_RATE. I say “bug” because it’s not critical and there is a simple workaround.

When specifying this attitude type, the quality checks in the AemMetadata class require that an Euler rotation sequence be specified, however, you don’t need an Euler sequence. You just need the rate frame (frame A or B) as per the CCSDS spec.

I encountered this when trying to write out some attitude ephemerides. The workaround is to just set an Euler sequence to RotationOrder.XYZ. It looks like this sequence is at least used when writing out the AEM data to an XML file (in AemWriter), but I haven’t done an exhaustive search.

Is it worth making an issue for this?

Yes, it is worth making an issue as it means we mandate something inconsistent with the spec.

Note a new version of ADM will be published in the near future (I don’t know if it will be this year or later). We will add support for it soon. We will do it just as we did for ODM V3, i.e. we will provide preliminary support before the standard is officially published, as an experimental feature for testing purposes only, warning users that breaking changes could be introduced at any time as the standard is stabilized during the testing and validation phase.