The barometric pressure sensor (not altimeter) always outputs a pressure reading in hPa’s relative to MSL.
It doesn't matter what
unit of measurement is being used for pressure. Whether it's measured in pascals, hectopascals, kilopascals, inches of mercury, inches of water, pounds per square inch, whatever. The unit is not important. The sensor measures some number as local air pressure which the software then uses to calculate and display a height reading.
But, that number has no bearing whatsoever on the pressure at MSL (Mean Sea Level), because the drone doesn't know or care what the pressure at the Sea Level currently is, nor does it care what the local pressure measurement actually is in any particular unit of measurement. All it cares about is that at power-up (not takeoff, you're correct), the measurement of current local pressure is recorded by the software to coincide with zero height. Any change in pressure measurement is then displayed as a corresponding change relative to that zeroed height.
A barometric
pressure sensor can only measure local pressure. A barometric
altimeter can also only measure local pressure, but it's display is scaled to show that measurement as a height reading. However, even then it is not necessarily displayed
relative to MSL unless it's constantly re-calibrated to current ambient pressure.
Even sitting on the ground, the display will change as local pressure varies with temperature during the day. Which is why calibration to local ambient conditions is required. DJI calibrates their barometric altimeter to display zero height when the drone is powered up. After that, any change in measured pressure is displayed as a change in the drone's height,
even if the drone is left sitting on the ground and hasn't moved.
There is some evidence that barometric drift could result from the hPa to decimal height conversion.
Barometric drift
could also result from changes in local ambient temp/pressure.
[...] barometer readings are required and take priority from around 11-meters.
{...] Terrain Follow Mode. The only time the infrared sensors will force a height restriction or height change is when the landing protection is kicking in. Outside of this the infrared sensors are measuring height above the surface below - as mentioned previously up to around 11-metres.
We agree that;
- The infrared sensors accurately measure height from surfaces up to around 11m.
- The infrared sensors force a reaction only when Landing Protection is triggered within 2ft (0.5m) of a detected surface.
- The barometric sensor measure changes in pressure displaying that as a height zeroed relative to the power-up location.
What I'm disagreeing with is your statement that the infrared sensors take priority when within 11m, and the barometric sensor takes control only after 11m. I disagree because they're measuring entirely different and unrelated things.
When within their effective range, the infrared sensors measure the vertical distance between the drone and any surface below. Those sensors never know whether that measurement has decreased/increased because the drone has descended/ascended, or whether the detected surface has risen or fallen.
If the infrared sensors actually took priority for maintaining a constant flight level (i.e. maintaining a constant distance measured between drone and any detected surface), then the drone would be in Terrain Follow Mode, automatically adjusting the height of the drone up/down to keep a constant ground separation distance.
But it doesn't do that. The drone doesn't change height as it's flying as long as the IMU senses no change in vertical acceleration and no change in barometric height. If the infrared sensor suddenly registers a big change, as the drone passes over a deep ditch, or over a tall bush, the drone never reacts unless Landing Protection is triggered.
So even if the infrared sensors are accurately measuring distances up to 11m, what and how is that measurement being used?
‘Terrain Follow Mode - In this mode, the aircraft uses its Downward Vision System to maintain height above ground between 1 and 10-metres. This mode is used on grassland slopes of no more than 20-degrees. With this mode turned on the aircraft will record its altitude and will ascend to maintain its height above the ground. NOTE: The aircraft will not descend on downward slopes.’
Where did you find that quote? My Phantom 3 Pro, and my Mavic Mini, both have VPS with downward height sensors, but neither have an option to select
Terrain Follow Mode.
Height is measured only by the barometric pressure sensor and the infrared sensors. The IMU is only measuring linear and angular acceleration. It is just one more of the sensors that feeds data to the flight controller.
Angular acceleration can be any one of the three rotational axis: pitch, roll, yaw.
Linear acceleration is also in any of three translational axis: x, y, z, where z is vertical. The IMU will immediately notice any vertical acceleration.
The flight controller also polls the barometric altimeter and infrared sensors for height measurements.
The infrared sensors will register a sudden
increase in distance between the drone and surface below as the ground drops away as it passes over a ditch, but if the IMU and barometer detect no change the drone will proceed with no change in height.
The infrared sensors will register a sudden
decrease in distance between the drone and surface below as it passes over a tall bush, but as long as the IMU and barometer detect no change the drone proceeds without changing height.
This happens even
within the 11m height measurement range of the infrared sensors, during which you claim those infrared sensors take
priority in controlling the height of the drone. You say the barometric sensor only takes priority once
beyond the 11m range of the infrared sensors.
As already mentioned, the downward facing infrared sensors absolutely do play a part in height measurement up to around 11-metres.
But what part does that measurement play in controlling the actions of the drone. How? In what way? They never do anything useful unless triggering Landing Protection within 2ft (0.5m).