dlaidig / broad

Berlin Robust Orientation Estimation Assessment Dataset (BROAD)
Creative Commons Attribution 4.0 International
28 stars 12 forks source link

Madgwick without gyro bias #2

Closed wangyendt closed 1 year ago

wangyendt commented 1 year ago

Since Madgwick's algorithm does not include an online gyro bias estimation, I simply removed the gyro's bias when calculating the TAGP of Madgwick. As a result, the TAGP decreased from 4.69° to 3.67°. The gyro's bias was roughly estimated as the mean of its first 500 frames.

def runMadgwick(data, beta):
    acc = data['imu_acc']
    gyr = data['imu_gyr']
    gyr -= gyr[:500].mean(0)    # add this line
    mag = data['imu_mag']
    sampling_rate = data['sampling_rate']

I also made a comparison between VQF and the unbiased version of the Madgwick algorithm. image

dlaidig commented 1 year ago

Thanks for posting that! As we wrote in the paper, we deliberately did not remove the gyroscope bias from the input data since this corresponds to more realistic conditions.

I'm happy to see that VQF also yields more accurate estimates even when Madgwick's algorithm is given the advantage of gyroscope bias removal from the initial rest phase. A similar result can be seen in Figure 8 of https://arxiv.org/pdf/2203.17024.pdf when comparing the BasicVQF results (i.e., without bias estimation) with the results for the Madgwick's algorithm.

Since I'm not seeing a specific issue or unresolved question, I'll set the status of this issue to closed. Feel free to re-open or to add comments.

wangyendt commented 1 year ago

This is an auto-sent e-mail.    I am sorry that currently I could not reply your e-mail. I will reply you as soon as possible.