In some locations (most notably tunnels), the magnetometer gives out unreliable data. Usually, this is marked by very low values (all axis are <20uT) and/or being close to thick cement walls. Note that, when the robot is still, the magnetometer data is also very stable, it seems that the sole source of the faulty data is the environment (thick wall, outside electronics, etc).
We have 2 choices:
Fix the problem by setting a threshold value for when to use the magnetometer in orientation for example.
Or, simply let the occasional unreliable data serve as part of the training data. After all, if we provide the angular velocity data, the machine should be able to realize by sensory fusion that magnetometer data is faulty and should be ignored.
In some locations (most notably tunnels), the magnetometer gives out unreliable data. Usually, this is marked by very low values (all axis are <20uT) and/or being close to thick cement walls. Note that, when the robot is still, the magnetometer data is also very stable, it seems that the sole source of the faulty data is the environment (thick wall, outside electronics, etc).
We have 2 choices: