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?
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?