A method for controlling an orientation calculation apparatus configured to calculate information indicating an orientation of a moving apparatus, the method comprising:
- obtaining detection signals from a first sensor configured to detect movement of the moving apparatus and a second sensor configured to detect the movement of the moving apparatus on a same axis as that of the movement detected by the first sensor;
- calculating information indicating a first orientation of the moving apparatus as a first calculation based on an output of the first sensor and a reference angle;
- calculating information indicating a second orientation of the moving apparatus as a second calculation by a method different from that for the first calculation based on the output of the first sensor and an output of the second sensor;
- determining which calculation to calculate an orientation of the moving apparatus is to be used, from among a plurality of calculations including the first calculation and the second calculation, as a determination;
- and
- updating the reference angle as a reference angle update,
- wherein the reference angle update is performed in synchronization with a timing when it is determined by the determination that a state where the orientation of the moving apparatus is calculated using the second calculation is to be switched to a state where the orientation of the moving apparatus is calculated using the first calculation.