I am using a UGV robot with a Pixhawk 4 on it, running the latest stable version of PX4 and when I go out and calibrate my compass, I’m getting all of the scaling values (x, y and z) to be pretty close to 1 (0.99, 0.984, 1.062). So far so good. Obviously, there is very little magnetic distortion. However, when I run a mission, the magnetic norm always settles to a consistent 0.67. Albeit, there is some interference from the motors when they are running, but at rest, the magnetic norm is never 1. This tells me that there is some magnetic field distortions impacting the magnetometer information. Could anybody shed some light on this? Here is my flight log:
Can you share a picture of your setup? Where is the mag placed?
The mag norm is not the normalized magnetic field but the total length of the measured magnetic vector. So it should not be one, it should be close to the total magnetic field at your geographical location
Okay thankyou. After perusing the documentation more (https://docs.px4.io/master/en/log/flight_review.html), I can see that the magnetic norm is only required to remain constant, not equal to 1. If its value changes during a mission, it is either electro-magnetic interference from electrical components (motors), improper calibration (magnetic interference from the vehicle itself) or nearby magnetic interference (driving/flying close to ferrous materials that distort the magnetic field).
Thanks for your help and direction!