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

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

Zbip57

Well-Known Member
Joined
Apr 25, 2020
Messages
1,170
Reactions
1,259
Location
Canada
There are many misconceptions concerning the downward sensors on DJI drones.

One of the biggest is the often repeated myth that VPS downward sensors should always be disabled whenever flying over water, as though those sensors can somehow force your drone to crash into the water. People support that argument by pointing to DJI's warning to use caution when flying over water, as the VPS sensors may cause unexpected behaviour.

It's important to distinguish between the two separate functions of the VPS sensor. Typically there is one optical sensor, and two either ultrasound or infrared sensors.

The optical sensor is for horizontal position hold, in the absence of sufficient GPS reception whenever the control sticks are centred. The optical sensor only works if it can fixate on distinct visual surface cues. A uniformly coloured surface like a smooth field of white snow, or a painted floor of one solid colour, or insufficient lighting might provide insufficient distinguishable landmarks to fix on. Similarly a flat mirror surface reflecting nothing but clear blue sky leaves nothing for the optical sensor to fix on. Or, if the optical sensor sees only the drone itself reflected in that mirror surface, then it may track and follow the movement of that object, the drone itself. If it locks onto a leaf drifting by on the current, or wind ripples and waves, the optical sensor may track those and not hold a fixed position. Note: This will only ever happen if there is insufficient GPS lock and the control sticks are centred. You may be expecting the drone to stop as usual and hold position, then be surprised when it wanders away by itself, tracking something else with its optical sensor.

The other sensors are either ultrasound or infrared, each providing similar function. One emits a signal, the other receives the reflection after it bounces off the surface below. The time difference tells the exact height above that surface. These VPS height sensors are very accurate, but have a limited range of somewhere up to 10m (~35'). While lower than that over any surface or obstacle, a precise AGL height is recorded in the flight log. However, as far as I can tell, the VPS height only ever plays an active control in the landing protection system, because altitude hold is otherwise measured and maintained by the IMU and barometric altimeter.

The barometric altimeter resets to zero at takeoff, with all subsequent height measurements constantly referenced back to that zero height takeoff location. However, changes in local air temperature and pressure can cause significant fluctuation in the accuracy of the barometric altimeter's reading. It can vary by as much as ±10' upon return to the same spot where it took off from. Here's how this can create problems...

Let's say it early evening, the sun is setting, and the land's surface is cooling off. You take off from the beach and fly your drone low out over the lake. The lake water takes longer to cool down than the land. So the air over the water is warmer than at your takeoff location on the beach. Warm air is less dense than cold air. Even though you're watching and flying the drone VLOS along at the same low height skimming the surface of the water, the barometric altimeter reading might now be indicating a greater height than is actually true. If instead you're watching only the monitor showing a glassy smooth surface passing below, and you look at the now incorrect height reading indicating plenty of height, you might be tempted to lower the drone's altitude and end up dunking it into the lake...

If you have disabled the landing protection system of the VPS height sensor, there's nothing to prevent an inadvertent ditching like that from happening. That is one of the design purposes of the landing protection system, to prevent the drone descending lower than 0.5m (~2'). The drone will descend no lower, unless you respond by deliberately holding the throttle stick down to confirm you wish it to land. It's a safety feature, eh.

If you slowly lower the drone's height down to the ground, or water, or treetop, or whatever, regardless of what the barometric altimeter is currently correctly or incorrectly showing as height, once the VPS height is within active range it accurately tracks the drone's clearance above that obstacle. That shows up in the flight log. If the drone descends to closer than 0.5m (~2') above that obstacle, landing protection will stop the drone from descending any further, unless you hold the throttle stick down to confirm your intent to land.

But, there are obvious limits to its effectiveness.

If you fly with high speed at low height, the drone won't have enough time to react to sudden sensor changes in height measurement. The height sensor is ineffective when flying over surfaces that absorb, rather than reflect the ultrasonic or infrared pulses, or over surfaces that scatter the reflection so the return pulse is too weak to be registered by the sensor. That can happen when flying over grassy fields... or water. That doesn't mean the VPS will cause your drone to crash. It means the VPS may not be able to prevent your drone from crashing when you're trying to fly it into the ground... or water.

If you deliberately disable the VPS by covering the sensors with tape, or by any other means, it means you have deliberately chosen to remove any possible protection afforded by the VPS system. However, there sometimes (even often) are good reason for wanting to do this.

There definitely are times when the landing protection system is downright infuriating, and I wish DJI provided a simple toggle in the Fly app to allow us to disable it whenever we choose.

You may be confident in your ability to fly at heights with less than 0.5m clearance, for example flying through a small window opening. But if you do it too slowly, the VPS height sensor has time to detect the window sill below, and the landing protection system suddenly kicks in to automatically lift the drone at least 0.5m higher than the window ledge, thereby ramming the drone up into the top edge of the window frame! Erg! That's not what I wanted to do...

Or, you're on a moving boat bouncing in waves and wish you could just reach out and grab your drone to land it. But every time you put your hand anywhere near it, the drone leaps up 0.5m (~2') to avoid your grasp...

Well... Here's one solution for y'all, using the Litchi app. See video below.

By the way, this was already described over a year ago by @EyesWideShut:
Disable auto-landing/ ground sensor feature?


 
Let's say it early evening, the sun is setting, and the land's surface is cooling off. You take off from the beach and fly your drone low out over the lake. The lake water takes longer to cool down than the land. So the air over the water is warmer than at your takeoff location on the beach. Warm air is less dense than cold air. Even though you're watching and flying the drone VLOS along at the same low height skimming the surface of the water, the barometric altimeter reading might now be indicating a greater height than is actually true.
Atmospheric pressure really does not change that quickly or significantly. There would be no measurable change between a beach and then flying over the ocean or a lake. The volume of air that would need to be heated or cooled significantly to be measured, as you are suggesting, would be triggering severe thunderstorms and far worse.

What you are most likely to detect is the change in density of the surface between beach or other solid ground and sea or freshwater and only with the infrared sensors on the majority of DJI’s drones.
 
Atmospheric pressure really does not change that quickly or significantly.
It may not be quick, but it certainly can be significant.

Barometric altimeters work by measuring atmospheric pressure. The altimeter never really knows actual altitude, it only knows how to measure pressure. Pressure varies with altitude, decreasing as altitude increases. However, ambient pressure also varies according to local conditions as the temperature changes. The altimeter doesn't know why the pressure changed, it only reports the current atmospheric pressure, displaying that as an assumed altitude reading.

Ambient pressure can change quickly and significantly, or slowly and significantly, but any change at all is always significant because altimeters are extremely sensitive to any change in pressure.

Before taxiing out to take off, or before returning to land, aircraft altimeters must be calibrated to local conditions. The tower informs you of the local altimeter setting. You dial that setting into your altimeter calibration so that hopefully everyone within the control zone will at least have equivalent settings that all agree. Otherwise your displayed 1000' may be completely different than someone else's 1000'. Take off, fly away for an hour, come back, and the tower may give you an altogether different altimeter setting.

DJI drones don't care about their actual height relative to sea level or even relative to ground level. Wherever you take off from, top of a hill or bottom of valley, it resets the drone's barometric altimeter to zero. All of the subsequent height displays measured by the barometric altimeter are relative to that zero height takeoff location. The drone doesn't care if you fly off a cliff, or up the slope of a hillside. It never cares or knows about your actual height above ground, unless the VPS height sensor detects an obstacle closer than 0.5m below it. Then Landing Protection kicks in.

So you take off, fly around for while, and come back to land at the same spot, and wonder why the altitude readout now says the drone is sitting 10' higher than it started from? Because the sun has heated up your concrete landing pad, the air is now much warmer and thinner. The pressure difference causes the barometric altimeter to believe it's now sitting 10' higher than it actually is.

Manned aircraft have similar accuracy issues with their barometric altimeters. When I still flew, I knew that our airport was at 325ft above sea level. The altimeter calibration setting had to be adjusted up/down to ensure the altimeter accurately read 325ft while sitting on the ground. So how does the cockpit voice on modern airliners give such an accurate height countdown to touchdown, "100, 50, 40, 30, Retard, Retard!"?

Well they have a radar altimeter which functions much the same way as DJI's VPS height sensor to provide a measure of actual height above ground. That reading is always accurate and very precise, unless the new 5G microwave tower operating on nearly the same frequency causes interference...
 
Last edited:
Atmospheric pressure really does not change that quickly or significantly. There would be no measurable change between a beach and then flying over the ocean or a lake. The volume of air that would need to be heated or cooled significantly to be measured, as you are suggesting, would be triggering severe thunderstorms and far worse.
I'll admit that there is unlikely to be that sudden a pressure difference between stepping from the beach to the water's edge.

However, any sailor will know that there is noticeable cause/effect due to pressure difference as the temperature changes over land vs water surfaces.

On days when there are no active weather systems to influence wind behaviour and the air is dead calm, as the sun comes up in the morning, land surfaces heat up more quickly than over significant bodies of water. The warm overland air rises and draws cooler air from the lake's surface. So in the morning you'll get a breeze blowing from the lake onto the shore.

That wind direction eventually reverses in the late afternoon, blowing from shore out onto the lake, when the land starts cooling more quickly than the water.

All of that air movement is driven by the atmospheric pressure difference between the warmer air versus cooler air. It's a very real and noticeable effect. If the difference is great enough and the gradient is steep enough, it can lead to development of thunderstorms for sure. But any gentle breeze blowing from the shore to the water, or vice versa, is evidence enough that a pressure differential does exist.
 
What you are most likely to detect is the change in density of the surface between beach or other solid ground and sea or freshwater and only with the infrared sensors on the majority of DJI’s drones.
You lost me there.

The VPS height sensors (whether infrared or ultrasound) measure the height of the drone by bouncing signals off the surface. You're suggesting the accuracy of this measure is affected by the density of the surface reflecting the signal?

I can see how the strength of the reflection can be affected by how much of the signal is absorbed or scattered by the reflecting surface, but surely that has no effect at all on the time it takes for the reflected signal to return.

If a strong return signal is bounced off a concrete surface versus a weak return from an absorptive shag carpet, surely that only affects the range at which a return signal can be detected, not the time required for the strong or weak signal to travel an equal distance.

What, if anything, does that have to do with the accuracy and drift of the barometric altimeter?
 
You lost me there.

The VPS height sensors (whether infrared or ultrasound) measure the height of the drone by bouncing signals off the surface. You're suggesting the accuracy of this measure is affected by the density of the surface reflecting the signal?

I can see how the strength of the reflection can be affected by how much of the signal is absorbed or scattered by the reflecting surface, but surely that has no effect at all on the time it takes for the reflected signal to return.

If a strong return signal is bounced off a concrete surface versus a weak return from an absorptive shag carpet, surely that only affects the range at which a return signal can be detected, not the time required for the strong or weak signal to travel an equal distance.

What, if anything, does that have to do with the accuracy and drift of the barometric altimeter?
The difference is between a solid object and water. Infrared light will penetrate water as well as partially reflect off of it. In shallow water you can still get reflected light from beneath the surface, which does affect time-of-flight.

I’m not saying that affects the barometer but it does affect the accuracy of the VPS accuracy.

Regarding your previous comments about atmospheric pressure changes, in a full-size aircraft you are talking about miles travelled between atmospheric pressure changes. In model aircraft over the low heights and short distances the pressure changes are very slow and very, very small.
 
Last edited:
Regarding your previous comments about atmospheric pressure changes, in a full-size aircraft you are talking about miles travelled between atmospheric pressure changes. In model aircraft over the low heights and short distances the pressure changes are very slow and very, very small.
It's not only dependent on distance travelled. The pressure in any one location, even without travelling anywhere, varies with temperature over time.

You implied that these pressure differences are too slow or too insignificant to account for the barometric altimeter inaccuracies in my example of flying out over a lake. Fine. Let's just agree that you're right on that.

But many people have reported their drone's altimeter being off by as much as ±10ft between taking off and returning no more than 20 minutes later to land at the same spot. How do you account for that?

The difference is between a solid object and water. Infrared light will penetrate water as well as partially reflect of it. In shallow water you can still get reflected light from beneath the surface, which does affect time-of-flight.
I’m not saying that affects the barometer but it does affect the accuracy of the VPS accuracy.

Yes. And that's still the same point where you lost me earlier. I'm wondering what you're getting at here and why you think that's relevant?

Earlier you said:
What you are most likely to detect is the change in density of the surface between beach or other solid ground and sea or freshwater and only with the infrared sensors on the majority of DJI’s drones.

To summarize my initial post, people will coach you to disable VPS whenever flying over water, as though the VPS system can somehow cause your drone to crash. I'm saying, at best, VPS is designed to prevent the drone from crashing. Disabling VPS merely removes any possible beneficial purpose of the system.

I then pointed out several potential shortcomings of the VPS height sensors, including this:
The height sensor is ineffective when flying over surfaces that absorb, rather than reflect the ultrasonic or infrared pulses, or over surfaces that scatter the reflection so the return pulse is too weak to be registered by the sensor. That can happen when flying over grassy fields... or water. That doesn't mean the VPS will cause your drone to crash. It means the VPS may not be able to prevent your drone from crashing when you're trying to fly it into the ground... or water.

So you and I apparently agree that there are circumstances under which the VPS height sensors, whether infrared or ultrasound, can give inaccurate readings. So what?

Even if the infrared sensors are somehow measuring a misleading height from the lake bottom, instead of from the water's surface, that will never cause your drone to crash. The VPS would merely be recording a greater height than actually exists. But you'd never know that because VPS height is not displayed by the DJI Fly app.

Only the barometric altimeter reading is ever displayed by the Fly app, and that has questionable relevance because it's only telling how much higher/lower the drone currently is at relative to its takeoff location. Unless you actually launched from the water's surface, you'll have no accurate or reliable height display telling you how close you really are to the water.

As far as I can tell [please correct me if wrong], the VPS height never has any active influence at all on the drone, unless it's measuring a height of 0.5m or less. In that case it would trigger Landing Protection to prevent you from crashing your drone.

If you choose to ignore all the warnings and predictable scenarios under which the VPS height sensors may fail to prevent you from crashing your drone into the lake, then it's entirely your fault if you do crash your drone in the lake.

But if you deliberately choose first to disable those sensors in the mistaken belief that those things can cause your drone to crash, then it's even more obviously your fault if your drone falls into the lake.
 
Excellent discussion - one picky part:

“The other sensors are either ultrasound or infrared, each providing similar function. One emits a signal, the other receives the reflection after it bounces off the surface below. The time difference tells the exact height above that surface.”

Time difference: True for ultrasound; Not so for infrared. Consider speed of sound vs speed of light. This really bothered me until I found the following article. Check the diagram and charts:

 
Excellent discussion - one picky part:

“The other sensors are either ultrasound or infrared, each providing similar function. One emits a signal, the other receives the reflection after it bounces off the surface below. The time difference tells the exact height above that surface.”

Time difference: True for ultrasound; Not so for infrared. Consider speed of sound vs speed of light. This really bothered me until I found the following article. Check the diagram and charts:

It depends on the type of sensor used. The Sharp sensor is a simple analogue infrared distance sensor that uses an infrared LED. By comparison a TOF sensor, also often referred to as LiDAR, uses an infrared laser to emit specific ultra-short pulses and the time taken for the pulses to return from a reflected surface is computed onboard and made available to a microcontroller as distance data. Adafruit also sell these, also the ones I regularly use made by STMicroelectronics: TOF Sensor

As the beam of light is so much narrower than a standard infrared LED, they are far less susceptible to multiple reflection paths.
 
Excellent discussion - one picky part:
Time difference: True for ultrasound; Not so for infrared. ...

Interesting.

The only reason I keep mentioning both ultrasonic or infrared is that different models use different sensors. My original Phantom-1 had no VPS system at all. My Phantom 3 Pro used ultrasonic height sensors, and my Mini-1 uses infrared sensors.

In each case, the VPS unit uses one optical sensor, and a pair of either ultrasonic or infrared sensors.

Your article is interesting as it shows the described infrared sensor is also capable of measuring, not only the distance, but also the angle to the target depending on which pixel receives the reflected signal. That's pretty cool.

I've attached pg.15-16 of the User Manual describing my Mini's VPS system. Everyone should carefully read their own Manuals. The manual for the Mini doesn't identify it as VPS, it's instead a "Downward Vision System and Infrared Sensing System".

It says the Downward Vision System consists of one camera. And the Infrared Sensing System consists of two 3D infrared modules. So, apparently the 3D infrared sensors are capable of more than just straight line height measurement. They likely play a significant role in the Landing Protection system when determining whether a chosen landing site is "suitable" or not.

The second page lists all of DJI's warnings about where the vision system and infrared system may not function properly. All of those make perfect sense and should be kept in mind.
 

Attachments

  • Mini-1-VPS.pdf
    1.2 MB · Views: 7
"That doesn't mean the VPS will cause your drone to crash. It means the VPS may not be able to prevent your drone from crashing when you're trying to fly it into the ground... or water.

@Zbip57, You hit the nail right on the head there. Pilot error in disguise is the cause of many of the reported cases where the drone "went crazy."
 
  • Like
Reactions: Zbip57
I object when people keep recommending you should always disable VPS whenever flying over water, as though the VPS can somehow cause your drone to be uncontrollably sucked down into the lake. It just doesn't work like that. At best, under the situations described by DJI's warnings, the VPS might fail to prevent you from inadvertently or deliberately steering your drone into the water.

That said, I have personally encountered two situations which surprised me at the time, but in hindsight made perfect sense.

The Mini-1 User Manual says, "When GPS is unavailable, the Downward Vision System is enabled if the surface has a discernible surface and sufficient light..." In the absence of both GPS and VPS, the drone is left only with Atti mode, unable to hold horizontal position when sticks are centred.

When you're just flying around, none of that makes any noticeable difference. It's only comes into play when sticks are centred and you expect the drone as normal to brake to a halt and hold a fixed position, while your attention is diverted to tying your shoelaces, or whatever.

In my case I was flying the drone low over a river below a waterfall at the bottom of a deep narrow canyon. While busy controlling the drone with stick inputs I didn't realize the drone had lost GPS signal. And the few times I actually did have the sticks centred, the VPS optical sensor quite effectively held a lock on the rocks below. So it hovered holding horizontal position no problem at all... until it didn't.

I looked away for a moment to make adjustments on the screen, and when I looked back I was startled to see the drone was no longer where I had left it! It was drifting away downstream because the optical sensor was now tracking some foam floating past on the water's surface!

Nothing crashed. It wasn't sucked down into the water. It actually worked exactly as designed and as described in the manual. Had it drifted into overhanging tree branches and then crashed into the water, it still would have been entirely my own fault, not the fault of the VPS system.

The 2nd incident happened on the SAME flight, but took a little longer to figure out. I can understand how, had this actually resulted in a crash, I might be tempted to blame the VPS system. But luckily I had enough time to recover from the momentary unexpected shock and to prevent an actual crash.

With the help of others and analysis of the flightlog file, here's what happened. I was flying the drone above the waterfall with it descending down into the gorge below, when the drone suddenly announced, "Landing"! Instant panic!!!

What?? WHY??? STOP!!!!

The flightlog file showed the VPS height at only 0.5m, and Landing Protection noted that I was holding the throttle stick down, so it engaged auto-landing. But the drone was nowhere near the ground or the near the water? Why?

I managed to stop it by raising the throttle and cancelling the auto-landing. But, had that happened at low enough altitude over the water, the drone would have landed itself into the river. So what actually happened there?

The infrared height sensors detected the mist from the waterfall, and measured that as being only 0.5m below the drone. In that case, Landing Protection should have prevented the drone from descending any further.

But I was holding the throttle down at the time. So the system reacted exactly as it is programmed to do and initiated auto-landing. No surprise at all.

If you're flying along low over a lake, and everything is working properly, the VPS and Landing Protection normally should prevent the drone from ever getting any closer than 0.5m to the water's surface.

But, if the pilot continues to hold the throttle down, despite Landing Protection's best effort to keep the drone clear of the lake, it will react as designed to initiate auto-landing.

But if the infrared sensor is unable to detect the water's surface, there's nothing preventing the pilot from driving the drone into the water.

In none of those cases is the VPS actually sucking the drone into the lake. It's always pilot error.
 
But, if the pilot continues to hold the throttle down, despite Landing Protection's best effort to keep the drone clear of the lake, it will react as designed to initiate auto-landing.
I wanted to mention, but forgot...

Even if the drone is merely 0.5m (2ft) above the water's surface, and you really hadn't meant to hold the throttle down to initiate auto-landing, the moment the app starts beeping and announcing "Landing", as long as you're paying attention, you STILL have enough time to abort that landing.

If you're really quick, you can fumble around on the app to push the cancel button. It's even quicker to just give one quick press on the RTH button on the controller. Either will immediately cancel any autonomous process currently underway.

But the quickest way to cancel the landing is to just give stick input with UP throttle and the auto-landing is aborted. You can see I did exactly that at 1:30 in the video included in the initial post above.

Of course if you're bending over tying your shoelaces at the time and not paying attention to what your drone is doing, that'll seriously cut into your reaction time...
 
  • Like
Reactions: MS Coast
It depends on the type of sensor used. The Sharp sensor is a simple analogue infrared distance sensor that uses an infrared LED. By comparison a TOF sensor, also often referred to as LiDAR, uses an infrared laser to emit specific ultra-short pulses and the time taken for the pulses to return from a reflected surface is computed onboard and made available to a microcontroller as distance data. Adafruit also sell these, also the ones I regularly use made by STMicroelectronics: TOF Sensor

As the beam of light is so much narrower than a standard infrared LED, they are far less susceptible to multiple reflection paths.
I love this forum - always learning new stuff!
Never heard of ToF sensor - thank you SkyeHigh !
I reasoned that the times involved were too short (without doing any math) for the flight controller to handle it, but it’s all done in the sensor. Ah, the marvels of modern electronics!
Now, can anyone enlighten me as to which type IR sensor is used in the DJI models (particularly Mini SE)?
 
@Zbip57, The next time someone reports that their drone went "crazy" while flying over water or asks how to disable the sensors because "everyone knows that drone's go nuts over water." I'm going to refer them to your posts here. They're a welcomed logical explanation of what issues can arise when flying low over water and how to deal with them.

I fly over water often, and often quite low. I've had only a few situations where the drone behaved in what might be considered an "unusual" manner. Over moving water, I've had a few instances where the drone tried to position itself over the moving water or objects floating on the water. There was nothing dramatic or unruly. The drone simply recognized that it was low over an object and tried to hold position - over something that was moving. Easily resolved, since in all cases I wasn't near overhanging trees or a bridge or other obstacle. Had there been a tree limb three feet downstream, there might have been a problem.

On one absolutely dead calm, clear sky, bright sun day over a very still inland lake, the drone seemed to think it was hovering low over the water instead of hovering 10 feet above it. It did exactly as it was designed to do - paused and waited for me to continue to hold the left stick down before proceeding with what it thought would be a landing. That happened only once in a 10-minute session of flying in the same location.

Last week, while flying low over the water to film pelicans roosting on a row of posts, the drone was a bit confused by the swells moving through the bay. It would occasionally and briefly track the swells, moving with them just a few inches before correcting.

In none of the cases I've observed did the drones act erratically or unpredictably. They always behaved as designed, exactly as you've described.

For those interested in flying low over water, don't tape the sensors and don't fear the drone suddenly being possessed by watery demons. Just understand how the sensors and control mechanisms work, understand the potential problems, and pay attention, just as you do when you're flying close to anything you don't care to fly into.
 
  • Like
Reactions: AlanL
Over moving water, I've had a few instances where the drone tried to position itself over the moving water or objects floating on the water.

That should only be possible in the absence of sufficient GPS reception, for example if too much of the sky view is blocked when flying in the bottom of a narrow gorge or between tall buildings.

Whenever the drone has solid GPS reception, it will hold a fixed location when hovering, regardless of whether stuff underneath it is moving. Without sufficient GPS reception it will instead rely on the Visual Position System optical sensor which locks onto discernible patterns in the surface below.

Try this simple experiment. Let your drone hover over a patterned rug. If it has good GPS reception, the drone won't move even if you drag the rug away. But without sufficient GPS reception, the drone will instead follow the movement of the rug. I get solid GPS all through our house, otherwise I'd do a quick video to demonstrate this.

On one absolutely dead calm, clear sky, bright sun day over a very still inland lake, the drone seemed to think it was hovering low over the water instead of hovering 10 feet above it.
Eh??
It was hovering 10ft above the water, but "thought" it was lower?
Landing Protection will prevent it from descending any further if the infrared height sensors detect anything (like a branch) closer than 0.5m (2ft).
It did exactly as it was designed to do - paused and waited for me to continue to hold the left stick down before proceeding with what it thought would be a landing.
So it then initiated an auto-landing from 10ft up? That would be like my example, where my Mini detected the mist rising off the waterfall, and tried to auto-land from far up into the river because I was holding the throttle down.

While flying low over the water to film pelicans roosting on a row of posts, the drone was a bit confused by the swells moving through the bay. It would occasionally and briefly track the swells, moving with them just a few inches before correcting.
Tracking, as in following the swells sideways, should only be possible in the event of loss of GPS reception. Then the VPS optical sensor might track the motion of the waves, or follow wind ripples caused by its own prop wash on an otherwise calm surface.

Tracking the vertical motion of swells might happen if the infrared height sensors detect the top of a wave coming within 0.5m (2ft) of the drone's underside. Landing Protection should then automatically raise the drone higher. But it won't come back down again automatically after the wave has passed.

Here's another simple experiment. If your driveway has a gradual slope, start from the bottom. Slowly lower the drone until it stops at the 0.5m (2ft) height where Landing Protection kicks in to prevent further descent. Now SLOWLY fly the drone forward along the up-slope of your driveway. Landing Protection will automatically cause the drone stay a constant 2ft height above the surface as the drone goes up your driveway.

But, it won't automatically follow the down-slope on the way back down the driveway. Once it's clear of that 2ft Landing Protection buffer, it'll just fly horizontally forward as normal when the IMU and barometric altimeter take over to maintain a constant barometric altitude.
 
Here's another example of a situation where Landing Protection might result in a legitimate panic situation.

Ignoring the legalities, what about flying in clear air above a solid fog layer? When trying to descend through the fog, the downward height sensors might detect that fog layer as a solid obstacle, and Landing Protection may then kick in to prevent the drone from descending any closer than 0.5m (2ft) to the cloud top, leaving the drone stranded above the fog layer.

If that ever happens to you, simply hold the throttle stick full down to initiate auto-landing.

People will insist you should never do that, for fear the drone will then settle onto the cloud top and, thinking it has safely landed, will shut off the motors and plummet from the sky. That's nonsense.

In auto-landing, the drone will continue descending forever (or until the battery dies) until the IMU senses contact with solid ground. It knows that, at this decreased throttle setting, there should be a continuous drop in barometric height. If it's no longer dropping height, and the IMU senses no further motion, it knows it has landed and only then shuts the motors off.

Here's one that's even more panic inducing. You're flying your drone inside a thick fog bank when the downward height sensor determines it's within 2ft of something solid (the fog). Landing Protection kicks in to automatically raise the drone and, as it's still inside the fog, it never stops climbing!

Or, you think it would be fun to have your drone lift a G.I. Joe action figure and drop him by parachute. Except the downward height sensor detects this hazardous object dangling within 2ft of the drone's underside and Landing Protection kicks in to lift the drone higher, and it never stops climbing!

Again, simply hold the throttle stick full down to confirm it's okay to land, and the drone should auto-land itself.
 
At an altitude of about 10' above the calm water, the drone would not respond to a left-stick-down command. It did not self-initiate an auto-landing. The first time this happened, I moved the drone laterally about 15 feet until it was over the grasses on the shore and it descended as commanded. I moved the drone back over the water and again found that it would not respond to a descend command. It did descend after I held the stick down. And it then responded to an immediate up-stick command.

My assumption is that the light reflection from the still water surface was interpreted as a surface immediately below it. Can you suggest another cause?

I encountered the situation you described with and object suspended below the drone when using a 360-degree camera beneath the Air2S. The drone would not descend and I had to initiate a landing to a hand catch by holding the stick down. Moving the camera bracket slightly fore or aft resolved the problem.

Regarding your flights over mist and fog, I saw the same behavior with the Mavic 3 over a smoke plume coming from a burning dead pine during a prescribed burn in Georgia.
 
It's not only dependent on distance travelled. The pressure in any one location, even without travelling anywhere, varies with temperature over time.
Of course it does or we would have no change in the weather.

But any gentle breeze blowing from the shore to the water, or vice versa, is evidence enough that a pressure differential does exist.
A pressure differential will exist but it is most certainly a long way off, miles, or tens of miles away. For example, today at my location there has been a strong wind (40KMH) travelling west From the coast. The ISObar chart shows the front causing the wind was 300KM offshore and between my location and that distant ISObar the air pressure was rising by only 2-hPa. That is equivalent to an altitude change of just 15-metres. Insignificant over 300KM.
But many people have reported their drone's altimeter being off by as much as ±10ft between
taking off and returning no more than 20 minutes later to land at the same spot. How do you account for that?
Simply because the barometer is not that accurate - at least in the way DJI have implemented it. The component (BMPx80 series Barometric Pressure Sensor) is capable of an accuracy at best of +/- 1-metre. It takes time to integrate a precise measurement and is not ideal for a potentially fast moving aircraft.
What, if anything, does that have to do with the accuracy and drift of the barometric altimeter?
The ‘barometric altimeter’ does not measure altitude - but you knew that, nor does it drift. It provides a pressure value when requested and flight controller onboard processing then converts the value to an approximate altitude. The conversion formula used is based on the ‘standard pressure’ of 1013.25 at sea level. There is no way to set the correct pressure at the launch location and as such the best accuracy you will achieve is within 10-metres. The downward facing infrared/ultrasonic sensors are what keeps the height above launch point reasonably precise up to 11-meters and in theory +/- 10cm. Beyond 11-meters the barometer takes over. DJI claim to use GPS in addition to maintain altitude but that is unlikely due to greater inaccuracy than the barometer.

The results of a field-based experiment carried out at Arthur Temple College of Forestry and Agriculture revealed that although drones have proven to be efficient at measuring altitudes and they provided accurate measurements, they had to land and be turned off before each flight. Due to instabilities in barometric sensor measurements the algorithm used needed to be reset before each flight and the only way to do that is to power-cycle the drone.
 
  • Like
Reactions: MS Coast
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. :)

... the barometer is not that accurate - at least in the way DJI have implemented it. The component (BMPx80 series Barometric Pressure Sensor) is capable of an accuracy at best of +/- 1-metre. 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. I demonstrated that in my video above.

So let's talk only about slow manoeuvres, or even just hovering.

The ‘barometric altimeter’ does not measure altitude - but you knew that, nor does it drift.
It only measures barometric pressure, which varies with altitude and temperature.

It provides a pressure value when requested and flight controller onboard processing then converts the value to an approximate altitude. The conversion formula used is based on the ‘standard pressure’ of 1013.25 at sea level.
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?

The firmware translates any changes of the measured pressure into a displayed height. As the drone climbs, pressure drops, and the altimeter displays that as an increase in positive height. If the drone descends down a valley below its takeoff height, the increasing barometric pressure displays as negative height. That's the barometric altimeter.

The infrared height sensors instead measure an actual height above ground (or above obstacles) by bouncing an infrared signal off any surface below.

There is no way to set the correct pressure at the launch location...
Correct. There is no way for the drone to know or even care how the local atmospheric pressure relates to the current pressure at sea level. Which is why it is much easier to simply zero the altimeter at the takeoff location. As far as the drone is concerned, the pressure measured here correlates to zero height.

The component (BMPx80 series Barometric Pressure Sensor) is capable of an accuracy at best of +/- 1-metre. [...]

[...] There is no way to set the correct pressure at the launch location and as such the best accuracy you will achieve is within 10-metres.
Wait, what? How'd we get from an accuracy of ±1m to suddenly only a best of within 10m?

The downward facing infrared/ultrasonic sensors are what keeps the height above launch point reasonably precise up to 11-meters and in theory +/- 10cm. Beyond 11-meters the barometer takes over.
That's the part I believe is not actually true.

I do not doubt that the infrared sensors are likely more accurate than the barometer. That's not the issue. I'm just questioning what actual role is played by those sensors.

It's important to keep separate the various individual components; VPS vision positioning system, optical sensor, infrared sensors, barometric altimeter, Landing Protection, Obstacle Avoidance sensors, etc. They tend to get mish-mashed together and people will blame them for all sorts of crashes that they can't actually have any effect on.

I demonstrated how Landing Protection functions in my video up in the first post. The infrared height sensors only ever produce any noticeable effect when those sensors detect anything within 2ft (0.5m) below the drone, regardless of whether the drone is currently descending, flying in any direction, or hovering. If anything is detected within 2ft of its underside (solid ground, a bush, a tree, a lake, your hand), Landing Protection will react to maintain a 2ft safety buffer, either making the drone stop its descent, or automatically climbing away from a hand reaching up from below. 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.

Now, beyond the obvious effects when auto-landing or Landing Protection kicks in, what other functions are affected by those infrared sensors? Yes, the sensors are always accurately measuring actual height above obstacles up to an impressive range. I've seen log file recordings of VPS height up to as high as 45ft height. But what are those measurements used for?

According to your claim:
The downward facing infrared/ultrasonic sensors are what keeps the height above launch point reasonably precise up to 11-meters and in theory +/- 10cm. Beyond 11-meters the barometer takes over.

That sounds like a reasonable idea, but it's not how the drone reacts in flight to what those sensors are detecting and measuring.

The barometric altimeter resets when it records the barometric pressure at its takeoff location. It registers that as zero height. Now climb to any elevation less than your assumed 11m, but at least greater than 2ft (0.5m) to ensure no further interference from the Landing Protection system. And fly slowly in any direction.

You claim the drone's height is now being precisely regulated by the infrared height sensors, not by the barometric altimeter? That can easily be tested and proven as incorrect.

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.

The infrared sensors can only measure the distance between the drone and ground. If that distance changes, the sensors cannot determine whether the ground has moved up/down or whether the drone has moved up/down. Only the inertial sensors of the IMU and barometric altimeter are capable of sensing the drone's vertical movement.

The IMU and altimeter control height, not the infrared sensors.

The infrared sensors measure the distance between the underside of the drone and anything detected within the sensor's range, whether that's hard ground, tree branches, water surface, your hand, whatever. The infrared height measurement only ever appears to affect the drone in any noticeable manner if that sensed height is less than 2ft (0.5m) when Landing Protection is triggered.

The IMU and barometric altimeter are the primary instruments regulating the elevation of the drone. As long as it's at least 2ft above any obstacle, the drone will maintain a constant level height, regardless of whatever is happening to the level of the terrain below.

If it's in level flight at 10ft above the ground, and passes over a 2ft-high tabletop positioned in my driveway, it doesn't care whether the infrared sensors noticed the 10ft ground clearance suddenly decreased to only 8ft. The drone will continue flying at exactly the same height because the barometric altimeter detected no change in air pressure at that height. The change in the detected ground clearance, no matter how accurately that is being monitored by the infrared sensors, has no effect at all on the drone.

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.

Which brings me back to my original point. Even if infrared signals are ineffective at bouncing off the surface of water, and even if the infrared height sensors are therefor incorrectly measuring off the lake bottom rather than the lake surface, there is still no way that this can ever suck the drone down into the water.

At best, if the infrared height sensors are somehow accurately measuring a greater than 2ft height from the lake's bottom, and have failed to detect the much closer surface of the lake, it only means Landing Protection cannot prevent you from manually driving your drone into the surface of the lake.

Neither Landing Protection, nor the infrared height sensors, can ever pull the drone into the water. Lowered throttle settings however...
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
131,096
Messages
1,559,804
Members
160,079
Latest member
calezu