Open time4tea opened 2 years ago
The original GPMF camera, HERO5, used ZXY without reporting any metadata on the orientation. We have since attempted to preserve this. However, hardware engineering kept moving the IMU, so the actual orientation changes between camera models. So a camera with ORIN and ORIO has recorded the stored orientation, but also noting the preferred output orientation (to match HERO5.) If you are building your own parser, use ORIN to know the way the raw data is stored. If you are using gpmf-parser to extract developed output, ORIO is the way it is presented. So if you use gpmf-parser as is, all GoPro cameras will output ZXY, no matter the orientation of the IMU in the camera. MTRX can be ignored as redundant, it reflects the same orientation change as ORIN to ORIO. It was never used as intended to store orientation calibration. In later cameras, as the CPU performance improved, all the orientation corrections and calibrations are applied to the ACCL and GRYO data, so these cameras only have a ORIN for completeness.
Thank you. That is really useful! Just to check one last detail - you say later cameras will correct ACCL orientation... but they still have an ORIN? So does this mean that the ORIN needs to be ignored, as the translation has already been applied? Not quite sure I completely.follow that last bit. Thank you for the clarifications!
They will have ORIN for completeness, so the orientation is documented. It doesn't need to be ignored, but it is passive. Only when you have a different ORIO does the orientation get processed.
Hiya - I'm just trying to understand parsing ACCL and GYRO in a way that is compatible across device versions.
I guess I have two questions:
Thank you!