DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

Yes, Landing Protection CAN be disabled, but...

To land the drone, you need to deliberately override Landing Protection by holding the throttle full down, and then the drone will Auto-Land itself.
[...]
Neither Landing Protection, nor the infrared height sensors, can ever pull the drone into the water. Lowered throttle settings however...

Here is a very important detail that you should all be aware of, and I do encourage you all to try this out for yourselves to verify that this actually happens.

According to this post back in 2021 by @slup , it is not even necessary to hold the throttle fully down to trigger Auto-landing!

1. The VPS height should be 0,5m or lower
2. The throttle should in total be applied for descent longer than 3sec.
3. The throttle should sometime during the 3sec be positioned over a certain threshold which seems to be in the ballpark of a throttle value of -8300 to -8500.
By "applied for descent", that means however small a continuous throttle deflection anywhere less than midpoint at hover. And the trigger threshold of -8300 to -8500 is with respect to a full scale throttle deflection of ±10,000.

That was a revelation to me! The flight log files of my incident with the mist over the waterfall proved that I had never held the throttle fully down at any point during the flight. So I was baffled how Auto-landing could possibly ever have been triggered.

But @slup was absolutely correct. My throttle momentarily went below -8500. I later verified his three conditions with my own experiments in my driveway.

So Beware. Auto-landing can be triggered even without fully lowering the throttle!
 
Thanks for participating. Seriously, I'm always interested in learning new things. If my thinking is wrong, I do appreciate being corrected. The sooner the better. It's embarrassing to discover I've been spreading false information, so please do stop and correct me if I'm obviously wrong. I can be convinced to eat crow. :)
Me too!

Sorry it has taken so long to respond, I thought my post had been sent but it appears not. So…
It takes time to integrate a precise measurement and is not ideal for a potentially fast moving aircraft.
Ok. For sure, it takes time for the sensors to react to sudden changes.
The barometric pressure sensor can take as little as 5.5ms to measure accurately but it’s dependent on how often DJI’s firmware requests measurements and that, at present, is an unknown.
Just so no one gets confused, and to ensure we're all on the same page, the drone cares nothing about sea level pressure, nor how that relates to its own current altitude above sea level. The drone's barometric altimeter only ever measures changes in atmospheric pressure relative to the zero reference point at its takeoff location. Agreed?
Yes & No. The barometric pressure sensor (not altimeter) always outputs a pressure reading in hPa’s relative to MSL. Yes, It uses the pressure measured when the aircraft is powered-on and the displayed height is calculated each time the display is updated. Zero is only a visual reference for the initial reading at power-on. Internally it is still using pressure data in hPa’s. There is some evidence that barometric drift could result from the hPa to decimal height conversion. The pressure data is a floating point number. I think we mostly agree on this one!
The infrared height sensors instead measure an actual height above ground (or above obstacles) by bouncing an infrared signal off any surface below.
Correct but only up to a point. The reflected infrared light drops rapidly as the drone climbs regardless of the surface it reflects from. The reflected light level drops according to the Inverse Square law - double the height and the light drops by a factor of 4. That is why the barometer readings are required and take priority from around 11-meters. To quote the Pilots Institute:

‘Infrared-based altitude is very accurate given that you are using it within the acceptable range and that the drone is not flying over a reflective surface, such as water. This has been programmed into drones and they will shift out of VPS when they reach a certain altitude threshold, typically at around 20 to 30 feet (~ 6-9 metres).

The main limitation of infrared-based VPS is that it only works within a small altitude range. In most drones, this limit is at about 25 feet AGL. Beyond this, the infrared signal gets too weak because of natural attenuation. If you need to fly higher, then you simply cannot rely only on VPS for altitude readings.’
Wait, what? How'd we get from an accuracy of ±1m to suddenly only a best of within 10m?
Correct, that was a typo - it should have been +/- 1m. Apologies
The barometric altimeter resets when it records the barometric pressure at its takeoff location. It registers that as zero height.
Not quite, the height is only set to zero when the aircraft is first powered on. Subsequent launches from the same location without re-powering the drone will have the take-off altitude the same as it had previously landed wherever that may have been. This has been shown to lead to a compounding altitude inaccuracy across flights.
Let's say your drone is flying along slowly at exactly 5ft above ground. If the infrared sensors are what's regulating that constant height, the drone should automatically climb or descend to follow any variations in terrain height, thereby always maintaining a constant 5ft height above ground. If it senses the ground coming closer, the drone should climb. If the ground falls away, the drone should descend.
No, this would only happen if you were in 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.

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.’
The IMU and altimeter control height, not the infrared sensors.
No, 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.
The infrared height sensors evidently play no active role whatsoever in regulating, altering, or maintaining a constant height during flight, unless within 2ft of any obstacle triggering Landing Protection.
Not so. As already mentioned, the downward facing infrared sensors absolutely do play a part in height measurement up to around 11-metres.
Neither Landing Protection, nor the infrared height sensors, can ever pull the drone into the water.
Correct and agreed. However, it may also NOT prevent the drone from touching the water surface - or lower. As DJI recommend, don’t fly close to the surface of water or transparent surfaces or highly reflective surfaces.
 
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).
 
Last edited:
Even sitting on the ground, the display will change as local pressure varies with temperature during the day.
Sure, but we’re talking of flight time duration not leaving a drone powered all day. As previously mentioned, air pressure changes are very, very slow and the effect on a 30-minute flight by a drone is insignificant.

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.
Looks like you’re going to take some convincing even though I’ve provided you with evidence. As mentioned, the light reflected back to the receiving infrared sensor above 11-metres is very dim due to the physics of the inverse square law. Above this height it cannot provide a reliable height reading.

The barometric pressure sensor feeds pressure readings to the flight controller at the same time as the IMU and infrared sensors. The flight controller is able to determine when the infrared sensor data is no longer of use (or errant) and will use its alternative source - the barometric pressure sensor - instead. The barometric sensor, as previously stated is only accurate to within a metre, which is simply not accurate or safe enough to use at such low altitudes. Above 11-metres that accuracy is no longer critical and is sufficient to determine height.

Both the infrared sensors and the barometric pressure sensor, though different in technology, provide the data that is required for the flight controller to determine height above ground level.

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.
Correct. But don’t confuse the sensors doing anything at all other than measuring height and feeding that data to the flight controller.
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.
The infrared sensors have no control at all in maintaining a constant flight level. Again, they only provide height data. The flight controller decides what to do with that data.

None of the sensors, IMU, infrared, barometric pressure sensor, vision cameras, control anything that the flight controller does.

The Flight controller fuses the data it receives from its multiple sensors. The flight controller then acts upon the received sensor data that is relevant at that time as well as any control input it receives from the remote controller.

As a typical example; at 50-metres in clear weather with zero wind and no input from the remote controller, the flight controller is expecting a downward force of 1G being reported by the IMU’s Z-axis accelerometer. At the same time it will be feeding speed data to the Electronic Speed Controllers to maintain the current height reported to it via the Barometric Pressure sensor. If the IMU’s Z-axis accelerometer detects a change greater than 1G, with no input from the remote controller, then it knows the drone is increasing in altitude for some reason - remember the barometric pressure sensor is only accurate to within a metre either way - so the flight controller commands the ESC’s to slowly reduce speed until the Z-axis accelerometer is measuring only the 1G effect of gravity again. The infrared sensor plays no part at this altitude. That is how vertical hold is accurately held at altitudes above 11-metres.

There is some discussion in the DJI forums etc that suggest DJI use GPS altitude derived data but that altitude data is nowhere near accurate enough for a vertical altitude hold.

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.
Correct. The flight controller knows not to react to sudden disparate changes in the data it receives. It does this because, as mentioned, it fuses the data from its sensors and will ignore data that doesn’t match what the other sensors are experiencing.
So even if the infrared sensors are accurately measuring distances up to 11m, what and how is that measurement being used?
The measurement is being used to feed the flight controller with accurate height data, which the barometric pressure sensor cannot provide due to its lack of accuracy. Without GPS, for example indoors, the infrared sensors feed such accurate height data that the flight controller can keep the drone in a stable vertical position.

  • The infrared sensors force a reaction only when Landing Protection is triggered within 2ft (0.5m) of a detected surface.
Landing protection is a system that is instigated only by the flight controller if it receives height data from the infrared sensors indicating a surface within 2ft (0.5m) and the IMU has detected a downward acceleration, ie. less than 1G. Using the IMU in the equation prevents a forced landing if the infrared sensors are in error. Obviously in a normal landing scenario the obstacle sensors would also be assisting to ensure a suitable landing area before the drone touches down.

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.

From memory it was introduced on the Mavic Pro. I’ll check to see if that is a feature still supported.

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).
Hopefully the above notes will explain what real and active part the infrared sensors play in. They never ’control’ anything - only provide height data to the flight controller.

One simple way to prove how important they really are, cover them over. Then try and fly.

And just for a bit of fun… something to think about, and why DJI say to not fly over a reflective surface such as a mirror and why flying very low over water can be an issue:

Q. When taking a photograph of yourself in a mirror using an autofocus camera. Is the calculated measurement:
a) the distance between the camera sensor and the surface of the mirror or
b) double the distance between the camera and the mirror?
 
My head hurts
 
  • Like
Reactions: EyesWideShut
Looks like you’re going to take some convincing even though I’ve provided you with evidence.
Other than for Landing Protection, I would very much like you to show some actual evidence demonstrating that the infrared sensor height measurements contribute in any noticeable way to how the drone reacts.

And yes, I know that it's the flight controller that does the actual "controlling" based on sensor inputs. The individual sensors don't control anything. Even when you're waggling the control sticks with your fingers, you're not actually "controlling" the drone either. You're merely sending radio waves that are interpreted by the drone's flight controller, which then (hopefully) makes the drone respond as desired.

The barometric sensor, as previously stated is only accurate to within a metre, which is simply not accurate or safe enough to use at such low altitudes. Above 11-metres that accuracy is no longer critical and is sufficient to determine height.
This is the only relevant bit that I continue to disagree with.

The infrared sensors (when within range) and the barometric sensor are measuring entirely different things. I'm not talking about the difference in measuring pressure versus measuring time for a reflected infrared signal, or whether the units of measure are kilopascals or milliseconds. The flight controller ultimately sees only a varying voltage signal from either sensor system.

I'm talking about how those signals are interpreted by the flight controller and what it then does in reaction to those signal inputs.

The input from the barometric sensor is interpreted as a height measured relative to the power-up location, whereas the signal from the infrared sensor (when within range) represents the current measured height above ground or above any other detected surface.

The only time those two will indicate the same height, and continue indicating the same height, is if the drone is first powered up on the ground and then rises up to fly only over a perfectly flat level surface.

If instead the drone flies in level flight over varying terrain height, the indicated height will remain constant, as verified by no change measured in barometric pressure. At the same time, the height indicated by the infrared sensors will change up/down with varying terrain as the ground level below the drone falls or rises or the drone passes over ditches, bushes, tree stumps, etc.

You keep insisting that the infrared sensors (when within ~10m active range) take priority over the barometric sensor. But clearly that cannot be true, since the drone never reacts in response to variations in the signal received from the infrared sensors.

Hopefully the above notes will explain what real and active part the infrared sensors play in. They never ’control’ anything - only provide height data to the flight controller.
I know that the infrared sensors (when within active range) send height data to the flight controller, as those changing numbers are shown as recorded in the flight log data. My only question remains, what active part do those infrared height measurements ever play? The drone never responds in any noticeable way, unless Landing Protection is triggered when it senses obstacles closer than 2ft below.

The infrared sensors quite clearly do nothing for the drone when it is in motion. The drone never changes height in reaction to changes in ground elevation below it. Even when hovering with control sticks centred, there is no visible change in the drone's height no matter how quickly or gradually the measured ground clearance changes between the drone and any object below it.

If you can, please, show me a demonstration how the drone is ever influenced by the flight controller's reaction to changes in the infrared height sensor measurements, other than in Landing Protection.

One simple way to prove how important they really are, cover them over. Then try and fly.
Okay, let's do that.

The Litchi app provides a configuration option to disable the Vision Position System. That turns off both the optical sensor and the infrared height sensors.

As you can see, other than its effect on Landing Protection, there is no noticeable difference in how the drone behaves when in motion or in hover, regardless of whether the infrared sensors are enabled or disabled.

Changes in height measured by the infrared sensors never provoke any response from the drone, unless they're indicating a height of less than 2ft. If you can demonstrate otherwise, let's see it.

 
As you can see, other than its effect on Landing Protection, there is no noticeable difference in how the drone behaves when in motion or in hover, regardless of whether the infrared sensors are enabled or disabled.

Changes in height measured by the infrared sensors never provoke any response from the drone, unless they're indicating a height of less than 2ft. If you can demonstrate, otherwise let’s see it.
Maybe the following from the Pilots Institute will convince you:

The accuracy of different drone altimeters

The altitude reading of a drone is not just a piece of telemetry data that we look at every now and then. In many situations, altimeter readings are some of the most critical flight parameters. If you’re flying in an urban area, you may have to set your minimum altitude above the Minimum Obstacle Clearance Altitude (MOCA) to avoid any tall structures.

Keeping track of altitude figures can also be crucial for legal compliance. In areas of controlled airspace, drone flight is typically restricted to altitudes below 400 feet AGL. This ensures that your drone does not interfere with manned aircraft operations.

High levels of altitude accuracy are very important in remote sensing applications, such as in aerial mapping or precision agriculture. Spatial measurements made through remote sensing are always made relative to the location of the drone – a parameter that involves its flight altitude. Not paying attention to the altitude accuracy of a drone is a certain way to end up with inaccurate measurements, whether you’re mapping an entire field or measuring the height of a building.

The accuracy of different drone altimeters

One factor that complicates this matter is that drone altimeters can work using different mechanisms. In some cases, drones can have more than one system for measuring altitude and switch between them under certain circumstances.

Infrared

Most drones have downward-facing sensors that use infrared. These are commonly called Vision Positioning System (VPS). These sensors rely on time-of-flight principles to determine the altitude of a drone.

Infrared-based altitude is very accurate given that you are using it within the acceptable range and that the drone is not flying over a reflective surface, such as water. This has been programmed into drones and they will shift out of VPS when they reach a certain altitude threshold, typically at around 20 to 30 feet.

An advantage of VPS altitude is that it’s always measured relative to the ground, or in AGL units. If you need to measure the height of a structure, then using VPS is an easy way to get accurate readings. You do not need to do an “altitude reset” of the drone to get accurate VPS readings – its accuracy is fairly consistent even if you’ve been flying for long periods without landing.

The main limitation of infrared-based VPS is that it only works within a small altitude range. In most drones, this limit is at about 25 feet AGL. Beyond this, the infrared signal gets too weak because of natural attenuation. If you need to fly higher, then you simply cannot rely only on VPS for altitude readings.

Barometry

The dominant altitude measuring mechanism in drones is barometry. This measures altitude as a function of air pressure. As the drone gains altitude, the air pressure reading steadily decreases. A barometer has no limits has no effectivity rates in terms of altitude – it can still measure altitude at the maximum levels that a drone can reach.

The barometer of a drone can measure both relative and absolute altitude. This means that it records altitude in MSL and AGL units simultaneously. Either or both of these readings can be important depending on the application.

The barometer of a drone, much like any other instrument, needs to be calibrated periodically. This has to be done at sea level, where air pressure should theoretically be around 14.7 psi or 101.325 millibars. The information gathered at calibration will be used by the drone to determine absolute altitude values.

Although barometry is an established technology for altitude measurement, it is also not perfect. Some trials have shown that the fluctuations in barometry readings tend to increase the longer a flight mission proceeds. However, the phenomenon of altitude drift makes it hard to determine exactly how accurate a barometer is.

The accuracy of a specific barometer can vary based on the level of sophistication of the air pressure column. In most cases, barometer-based altitude should be accurate to within 10 feet. This should be enough for basic flight navigation but may still be too inaccurate for high-precision mapping.

If this doesn’t convince you then nothing will and you’ll continue to misunderstand how your drone is achieving accurate (within limits) altitude and its ability to use the infrared, barometer (which, incidentally, does not output a voltage - it is digital and communicates via I2C) and the IMU’s Z-axis accelerometer to achieve vertical positioning and hold.
 
Barometry

The dominant altitude measuring mechanism in drones is barometry. This measures altitude as a function of air pressure. As the drone gains altitude, the air pressure reading steadily decreases. A barometer has no limits has no effectivity rates in terms of altitude – it can still measure altitude at the maximum levels that a drone can reach.

The barometer of a drone can measure both relative and absolute altitude. This means that it records altitude in MSL and AGL units simultaneously. Either or both of these readings can be important depending on the application.

The barometer of a drone, much like any other instrument, needs to be calibrated periodically. This has to be done at sea level, where air pressure should theoretically be around 14.7 psi or 101.325 millibars. The information gathered at calibration will be used by the drone to determine absolute altitude values.

Although barometry is an established technology for altitude measurement, it is also not perfect. Some trials have shown that the fluctuations in barometry readings tend to increase the longer a flight mission proceeds. However, the phenomenon of altitude drift makes it hard to determine exactly how accurate a barometer is.

The accuracy of a specific barometer can vary based on the level of sophistication of the air pressure column. In most cases, barometer-based altitude should be accurate to within 10 feet. This should be enough for basic flight navigation but may still be too inaccurate for high-precision mapping.

If this doesn’t convince you then nothing will and you’ll continue to misunderstand how your drone is achieving accurate (within limits) altitude and its ability to use the infrared, barometer (which, incidentally, does not output a voltage - it is digital and communicates via I2C) and the IMU’s Z-axis accelerometer to achieve vertical positioning and hold.
There is a typo on the barometric pressure at sea level on a Standard Day - it should read 1013.25 millibars.
 
There is a typo on the barometric pressure at sea level on a Standard Day - it should read 1013.25 millibars.
You’re right, that’s unlike them, they’re usually pretty good at checking. If they had said in kPa it would have been correct. I’ll let Pilots Institute know.

Thanks.
 
Maybe the following from the Pilots Institute will convince you:
Your article again only explains the differences between how the two height measurement sensors function. One uses barometric pressure, the other uses infrared sensors. Barometric height zeroed at power up, versus actual clearance between the drone and surfaces below.

But you still haven't answered, what does the drone EVER do in response to those infrared measurements? It never has any apparent effect on the drone's behaviour, other than in Landing Protection.

Show me an observable demonstration of how the drone's height is EVER influenced by the infrared sensor measurement.

The accuracy of different drone altimeters [...]
One factor that complicates this matter is that drone altimeters can work using different mechanisms. In some cases, drones can have more than one system for measuring altitude and switch between them under certain circumstances.
It doesn't switch between using the two methods.

Yes, the VPS height sensor has a limited range, above which it has no effect. But even below that height, within 10m AGL, where the infrared sensors are active and within operating range, they still have no effect whatsoever.

The infrared height sensors are actively and accurately measuring height, yes, as evidenced by the numbers recorded in the flight log data. But the flight controller never does anything at all in reaction to those changing measurements.

Show me an example where you can conclusively demonstrate that the drone uses the infrared sensor inputs to generate a response from the flight controller to regulate the height of the drone.

Infrared [...]
Infrared-based altitude is very accurate given that you are using it within the acceptable range [...] and they will shift out of VPS when they reach a certain altitude threshold, typically at around 20 to 30 feet.
By "shift out", they mean shift out of range, beyond which the VPS sensors are unable to detect the surface below and their measurement stops. But nothing changes in the behaviour of the drone above or below that point. The drone behaves exactly the same whether the VPS sensors are within range or not.

If this doesn’t convince you then nothing will and you’ll continue to misunderstand how your drone is achieving accurate (within limits) altitude [...]
The DJI Go app for my old Phantom 3 simultaneously displays the telemetry for BOTH the barometric height and the VPS height measured by ultrasonic sensors. That was very useful.

Sadly, the display on DJI's Fly app for the Mini only ever shows the barometric height.

The Litchi app however can be configured to display either one or the other. So, here's another video demonstration for y'all.

This entire flight was conducted at low enough height to ensure the VPS infrared height sensors were always withing working range. The infrared measured height is displayed accurately, and it corresponds consistently to the current distance separating the drone from surfaces below it. It even shows the distance changing as my hand moves up or down under the drone.

So how does the drone respond to those changing height inputs? Well, it doesn't respond at all.

The IMU senses no vertical acceleration, and the barometric sensor confirms no change in pressure altitude, while the VPS height sensor is reporting significant changes in ground clearance. The flight controller performs its "fusion" on the incoming sensor data, and completely ignores the changing input from the infrared sensors. The drone remains at the same constant flight level, no matter how much the infrared height sensor data changes.

Explain, or preferably demonstrate, any situation at all where the infrared height sensor data inputs ever take priority over the barometric sensor in the way the flight controller regulates the drone's height.

The ONLY time the infrared height sensors are seen to provoke ANY response from the flight controller, is if the ground clearance detected is lower than 2ft (0.5m) which triggers Landing Protection to raise the height of the drone.

 
  • Like
Reactions: IFlied
Tying this back to my initial post, too many people preach and believe that one should always put tape over the VPS sensors or otherwise disable them whenever flying over water, or to ensure staying at least 10m or higher to keep out of the working range of the VPS sensors, as though VPS can somehow suck your drone right down into the water.

I've demonstrated in the three videos posted in this thread that the VPS height sensors play no active role whatsoever in the way the flight controller regulates the drone's height. Changes in height are detected as variations in vertical acceleration by the Inertial Measurment Unit (IMU), and/or as changing barometric pressure measured by the barometric sensor.

The VPS height sensors do measure AGL height (when within range), but the flight controller does nothing in response to that information, other than record it in the flight log, and display it onscreen when using the DJI Go app, but it isn't even displayed at all in the DJI Fly app.

If the VPS height sensors are accurately or even inaccurately (fog) detecting an AGL height of 0.5m (2ft) or less, then Landing Protection will prevent you from bringing the drone any lower, unless you're deliberately holding the throttle down, in which case it will initiate auto-landing same as it always does, even over water.

But if the VPS height sensors are somehow incorrectly measuring too much height, i.e. measuring from the bottom of the lake rather than the surface, it makes no difference whatsoever to how the drone reacts, EXCEPT that Landing Protection then will not prevent you from manually flying the drone into the lake.

The VPS height sensors will never unpredictably suck your drone into a lake. They just don't work that way.

I'll happily admit I'm wrong in any of these details, if you can prove it with actual facts and a demonstration that can be independently repeated and verified by everyone.

For example I fully admit I was wrong about the altimeter being calibrated to zero at takeoff. It is of course zeroed during power up. That can easily be verified.

Power up the Mini while holding it 5ft above the ground. That is then recorded as zero height. Launch the drone and the height is displayed as zero when it is hovering 5ft above the ground. Any lower shows as negative height.

I repeated the same experiment, but with Litchi instead configured to display the VPS height, rather than the barometric height. Of course, at the moment of power up, the height was again displayed as zero, because the Mini was still sitting on my hand. But when flying at that same (zeroed) height, the VPS height now accurately indicates it's 5ft above ground. Still, as shown the in the videos, no matter how much that measured VPS height fluctuates, the drone never reacts unless the reading falls below 2ft (0.5m).
 
  • Like
Reactions: mobilehomer
>>Your article again only explains the differences between how the two height measurement sensors function. One uses barometric pressure, the other uses infrared sensors. Barometric height zeroed at power up, versus actual clearance between the drone and surfaces below.

>>But you still haven't answered, what does the drone EVER do in response to those infrared measurements? It never has any apparent effect on the drone's behaviour, other than in Landing Protection.

Every single flight you do is demonstrating exactly what influence the infrared sensor has. I’ve repeatedly described what is happening and what it does. The very fact the a drone can vertical position hold without GPS and do the same in the dark or daylight is THE demonstration that you keep asking for.The infrared sensor is having a very real effect on the drones’ behaviour below 11-metres. The flight controller is using the infrared downward facing sensors for: Landing Protection AND vertical position height measurement AND vertical position hold. It is very simple to demonstrate:

Using the GO4 app, hit the auto take-off icon. The drone climbs to exactly 1.2-metres. And it is entirely repeatable. It can do this only if it knows a precise height measurement above the take-off point and it is the infrared sensor that is allowing this to happen. There is no other sensor anywhere near accurate enough to achieve this.

Do you really think DJI would fit an expensive TOF infrared sensor when all they needed to do, in your scenario, was fit a much cheaper proximity sensor to trigger at 0.5m?

>> It doesn't switch between using the two methods.

I’m sorry but it very much does. Above around 11-metres the flight controller is using the barometric pressure sensor to gauge height.

>> Yes, the VPS height sensor has a limited range, above which it has no effect. But even below that height, within 10m AGL, where the infrared sensors are active and within operating range, they still have no effect whatsoever.

Yes it does. The infrared sensor is what is giving the flight controller height data along with input from the Z-axis accelerometer. If you fly forward, for example, and the ground rises below you the infrared sensor feeds that information to the flight controller. However, the flight controller is seeing no change in its Z-axis data from the IMU and therefore it knows it is not climbing or descending and has absolutely no need to use the changing infrared determined height. Likewise if the ground drops below.

>>The infrared height sensors are actively and accurately measuringheight, yes, as evidenced by the numbers recorded in the flight log data. But the flight controller never does anything at all in reaction to those changing measurements.

As described above that depends entirely on if the data from the Z-axis accelerometer detects the drone is changing its vertical position.

>>By "shift out", they mean shift out of range, beyond which the VPS sensors are unable to detect the surface below and their measurement stops. But nothing changes in the behaviour of the drone above or below that point. The drone behaves exactly the same whether the VPS sensors are within range or not.

Of course it behaves the same - the drone is now using height data from the barometric pressure sensor. Why would you ever expect some change to happen??

The DJI Go app for my old Phantom 3 simultaneously displays the telemetry for BOTH the barometric height and the VPS height measured by ultrasonic sensors. That was very useful.

>>Sadly, the display on DJI's Fly app for the Mini only ever shows the barometric height.

Agreed, the Fly app is lacking in many ways and that is why I’m sticking with my M2 Pro.

>>This entire flight was conducted at low enough height to ensure the VPS infrared height sensors were always withing working range. The infrared measured height is displayed accurately, and it corresponds consistently to the current distance separating the drone from surfaces below it. It even shows the distance changing as my hand moves up or down under the drone.

>>So how does the drone respond to those changing height inputs? Well, it doesn't respond at all.

Of course it doesn’t. As repeatedly mentioned, unless the Z-axis accelerometer data indicates a change the flight controller ignores the changing height from the infrared sensor. As I said in an early response, the data from the infrared sensors, barometric pressure sensor and the IMU’s accelerometers are fused in an algorithm running in the flight controller.

When the IMU senses no vertical acceleration, and the barometric sensor confirms no change in pressure altitude, while the VPS height sensor is reporting significant changes in ground clearance. The flight controller performs its "fusion" on the incoming sensor data, and completely ignores the changing input from the infrared sensors. The drone remains at the same constant flight level, no matter how much the infrared height sensor data changes.

>>Explain, or preferably demonstrate, any situation at all where the infrared height sensor data inputs ever take priority over the barometric sensor in the way the flight controller regulates the drone's height.

As stated above, every time you do an auto take-off.
 
Please standby.

I'm working another short video demonstration. But I won't be able to upload it until later this evening or tomorrow...
 
Every single flight you do is demonstrating exactly what influence the infrared sensor has. I’ve repeatedly described what is happening and what it does.
Isn't that exactly my point? My videos actually have demonstrated that the infrared sensor has no influence whatsoever, whereas you have only described what you think it should be doing.

The very fact the a drone can vertical position hold without GPS and do the same in the dark or daylight is THE demonstration that you keep asking for.
We've already agreed that GPS is not used for vertical hold, and dark vs daylight has no influence whatsoever on either the barometric sensor or the infrared sensor. So how does the very fact of your statement demonstrate anything?

As repeatedly mentioned, unless the Z-axis accelerometer data indicates a change, the flight controller ignores the changing height from the infrared sensor.
The flight controller always ignores the height readings from the infrared sensor, whether or not the IMU senses a change in the z-axis acceleration.

You keep insisting that, compared to the infrared VPS height sensor, "no other sensor is anywhere near accurate enough" to be relied upon for precise height measurement. Yet now you're saying, no matter how extreme a variation in ground height is indicated by the infrared sensor (raising hand underneath or flying up a staircase), the flight controller always ignores those reading because the IMU accelerometer is now the more trusted indicator of whether the drone is maintaining height?

As I said in an early response, the data from the infrared sensors, barometric pressure sensor and the IMU’s accelerometers are fused in an algorithm running in the flight controller.
No, you said everywhere within 11m AGL the infrared sensor takes priority for height measurement, and it only "switches" to using the barometric sensor when above 11m AGL.

It is very simple to demonstrate: hit the auto take-off icon. The drone climbs to exactly 1.2-metres. And it is entirely repeatable. It can do this only if it knows a precise height measurement above the take-off point and it is the infrared sensor that is allowing this to happen. There is no other sensor anywhere near accurate enough to achieve this.
It's very simple to demonstrate that isn't true, and I suggest you try this for yourself.

If you power up and launch your drone from the ground, then both the barometric and infrared sensor will register zero height at ground level. If it then automatically climbs to 1.2m, that doesn't prove which sensor is being used.

Try this instead. Power up and launch your drone from your hand while holding it at some height above ground level, e.g. 5ft (1.5m) above ground. While the drone is still sitting on your hand, both sensors will indicated zero height. The infrared sensor will indicate zero height to your hand, and the barometric sensor will be initialized and set to zero at motor startup.

Now hit auto-takeoff, but the moment the drone lifts off pull your hand back and out of the way. From the point of lift-off, the barometric will start recording increasing height starting from the zero height recorded at hand level. But the highly accurate infrared sensor will now indicate height measured from ground level, i.e. starting from 5ft (1.5m).

You claim the precise measurement from the infrared sensor ensures the drone will always rise to exactly 1.2m. It's starting from a measured 1.5m AGL. Will it therefor descend until the infrared sensor displays exactly 1.2m? Nope.

It will climb 1.2m from the zero recorded barometric height, because it's using the barometric sensor not the infrared sensor. For further proof, try raising or lowering your hand underneath the drone, while it is climbing. The drone doesn't continue climbing if you keep raising your hand and it's seeing less than 1.2m indicated, nor does it stop climbing in auto-takeoff if you lower your hand and it sees more than 1.2m. Try it yourself.

Except for in Landing Protection 2ft (0.5m), the drone never responds to any variations in height indicated by the infrared sensors. It climbs to 1.2m height from it's takeoff height because it's measured by the barometric sensor in reference to whatever AGL height was initialized to zero at the moment the motors were started.

 
  • Like
Reactions: EyesWideShut
Isn't that exactly my point? My videos actually have demonstrated that the infrared sensor has no influence whatsoever, whereas you have only described what you think it should be doing.


We've already agreed that GPS is not used for vertical hold, and dark vs daylight has no influence whatsoever on either the barometric sensor or the infrared sensor. So how does the very fact of your statement demonstrate anything?


The flight controller always ignores the height readings from the infrared sensor, whether or not the IMU senses a change in the z-axis acceleration.

You keep insisting that, compared to the infrared VPS height sensor, "no other sensor is anywhere near accurate enough" to be relied upon for precise height measurement. Yet now you're saying, no matter how extreme a variation in ground height is indicated by the infrared sensor (raising hand underneath or flying up a staircase), the flight controller always ignores those reading because the IMU accelerometer is now the more trusted indicator of whether the drone is maintaining height?


No, you said everywhere within 11m AGL the infrared sensor takes priority for height measurement, and it only "switches" to using the barometric sensor when above 11m AGL.


It's very simple to demonstrate that isn't true, and I suggest you try this for yourself.

If you power up and launch your drone from the ground, then both the barometric and infrared sensor will register zero height at ground level. If it then automatically climbs to 1.2m, that doesn't prove which sensor is being used.

Try this instead. Power up and launch your drone from your hand while holding it at some height above ground level, e.g. 5ft (1.5m) above ground. While the drone is still sitting on your hand, both sensors will indicated zero height. The infrared sensor will indicate zero height to your hand, and the barometric sensor will be initialized and set to zero at motor startup.

Now hit auto-takeoff, but the moment the drone lifts off pull your hand back and out of the way. From the point of lift-off, the barometric will start recording increasing height starting from the zero height recorded at hand level. But the highly accurate infrared sensor will now indicate height measured from ground level, i.e. starting from 5ft (1.5m).

You claim the precise measurement from the infrared sensor ensures the drone will always rise to exactly 1.2m. It's starting from a measured 1.5m AGL. Will it therefor descend until the infrared sensor displays exactly 1.2m? Nope.

It will climb 1.2m from the zero recorded barometric height, because it's using the barometric sensor not the infrared sensor. For further proof, try raising or lowering your hand underneath the drone, while it is climbing. The drone doesn't continue climbing if you keep raising your hand and it's seeing less than 1.2m indicated, nor does it stop climbing in auto-takeoff if you lower your hand and it sees more than 1.2m. Try it yourself.

Except for in Landing Protection 2ft (0.5m), the drone never responds to any variations in height indicated by the infrared sensors. It climbs to 1.2m height from it's takeoff height because it's measured by the barometric sensor in reference to whatever AGL height was initialized to zero at the moment the motors were started.

I wish you all the best on you continuing quest down the Rabbit Hole.
 
There's so much info in the last 10 posts it would take me weeks to understand. Cheers to you guys sharing your conversation! Seriously. +1
 
Last edited:
  • Like
Reactions: Zbip57
After all that, I still haven't learned anything For Sure.
Grrr...
Here's something to make you scratch your head a little more.

What does the IMU (Inertial Measurement Unit) actually measure? It measures linear acceleration in the x-y-z axes, and rotational accelerations in the pitch-roll-yaw axes. Let's look only at the x-axis.

Imagine a car mounted on rails so it can only move in a straight line forward or backward. These first graphs show a very simple example.

Reading left to right, the first graph with the Blue line shows Position vs Time. The units aren't important. Whether it's in mph, km/h, furlongs/week doesn't matter. Let's assume it's being measured in metres and seconds. Starting from rest at zero, the car moves 1m in 1sec. At 2 secs it has moved 2 metres, and so on.

The slope of the Position vs Time line at any point along the line indicates the current Velocity. The Blue line is straight with a constant slope. In this case the slope is 1m/1sec, or 1 m/s.

Ergo, from the Blue line alone, we can easily plot the Green line of the Velocity vs Time graph. There the velocity is shown at a constant 1m/s. The Green line has a constant horizontal slope of zero. It doesn't go up or down. The slope of the Velocity vs Time line at any point along the line indicates the current Acceleration.

From the Green line alone, we can easily plot the Red line of the Acceleration vs Time graph. The Red line is a constant zero m/s². The car is neither speeding up or slowing down. The Red line has a constant horizontal slope of zero. The slope of the Acceleration vs Time line at any point along the line indicates the current Jerk, but we don't need to go there.

This is the very simple example. It gets more complicated...

one.jpg
 
Here's a slightly more complicated example. This one we'll work backwards from right to left, starting with the Red acceleration graph.

The Red line is the only thing that the IMU would see on its x-axis.

The Red line shows an initial acceleration of +1m/s² held for 1 second, then followed by -1m/s² (slowing down), held at zero for the next second, then +2m/s² over the 4th second.

We can work backwards from that to compute Velocity. A positive 1m/s² acceleration held for one second, means the Velocity must have increased from whatever it originally was up another 1m/s. Then the negative acceleration means the velocity dropped back to zero. It stays a zero for another second, then jumps up to 2m/s.

The new velocity at any point can be calculated by integration. It's the total area under the Red curve, up to any point along the Red line.

Adding the areas above and below the line gives 1m/s velocity at the end of the first second, +1-1=0m/s at the end of the 2nd second, no change by the end of the 3rd second, ending at +2m/s at the end of the 4th second.

That gives us the Green velocity line. Performing the same integration, calculating the area under the velocity line, results in the Blue Position line shown on the left. The end result shows that, after 4 seconds, the car ended up 2m further away from its initial position.

However, there's a big problem with this, which I'll show in the next post...

two.jpg
en
 
Still looking only at the x-axis, in this next graph the IMU again sees the exact same acceleration Red line. And that's all it can see. It can only measure changes in acceleration.

Working backwards, integrating the area under the Red line, gives the exact same shape for the Green Velocity line. But the IMU has no idea what the initial velocity was at time zero. It only knows accelerations, and so calculating backwards can only tell the flight controller by how much the velocity has changed.

Instead of having an initial velocity of zero m/s, in this example I picked a different initial velocity of 1m/s. The IMU has no way of knowing what the initial speed actually was.

It gets worse, because integrating the area under the Green velocity line to calculate the Blue position line suffers the same problem. The math will only tell you how much the distance between positions has changed over time. There's no way to calculate what the current position actually is at any point in time, unless one knows what the position originally was at time zero.

If the car started with a velocity of 1m/s in this third example, rather than zero m/s as in the previous example, note how the Blue position line now looks entirely different, despite the fact that the Red acceleration line measured by the IMU is identical in both cases.

three.jpg
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
130,599
Messages
1,554,256
Members
159,604
Latest member
wlochaty