In sensor_fusion_ekf.h data from the accelerometer is cleverly combined with data from the gyroscope to create a better head pose than simply using gyro data. CMDeviceMotion also combines gyroscope data with accelerometer data to get a better overall outcome. Weirdly CMDeviceMotion is used in sensor_helper.mm instead of CMGyroData. Isn't this doing the same thing twice? Or worse, isn't the Kalman filter adjusted for this specific use case while CMDeviceMotion is not? I changed the sensor_helper to CMGyroData instead and this works as well but I haven't tested for differences between the two.
Why go through the trouble of filtering while CMDeviceMotion does it just as well? Same for Android, why not use the Rotation Vector sensor? Or is this a remnant of the old days when CMDeviceMotion didn't exist?
In sensor_fusion_ekf.h data from the accelerometer is cleverly combined with data from the gyroscope to create a better head pose than simply using gyro data. CMDeviceMotion also combines gyroscope data with accelerometer data to get a better overall outcome. Weirdly CMDeviceMotion is used in sensor_helper.mm instead of CMGyroData. Isn't this doing the same thing twice? Or worse, isn't the Kalman filter adjusted for this specific use case while CMDeviceMotion is not? I changed the sensor_helper to CMGyroData instead and this works as well but I haven't tested for differences between the two.
Why go through the trouble of filtering while CMDeviceMotion does it just as well? Same for Android, why not use the Rotation Vector sensor? Or is this a remnant of the old days when CMDeviceMotion didn't exist?