Interesting observations. When it first lost total VPS reference the ATL altitude was 30 feet. The VPS is a vertical positioning reference and the reflection confused the VPS system so that it has no clue about vertical positioning. Therefore a failsafe minimum altitude is established as 30 feet ATL. The drone knows that it is safe to descend to that level but no more as the VPS isn't working over the mirror. When over land VPS can sense something, even if not precise over something like 60 feet, but the mirror below is a vertical positioning error or confusion so the last safe altitude becomes failsafe.
You could test this be ascending to 60 feet ATL and flying over the mirror to see if the minimum descent altitude now becomes 60 feet, the last recorded VPS position.
Huh??
VPS is not used for vertical positioning. The barometric altimeter does that. You can see that quite clearly in the Phantomhelp log viewer. Look at the IMU Altitude numbers compared to the VPS Altitude starting from the moment of takeoff at the Home Position.
The drone first takes off and climbs straight up to 26.9ft, with both the IMU and VPS altitudes closely agreeing. Then the drone starts moving toward the river at a constant height with no up-throttle applied until about 2m 14s. That entire time the IMU Altitude controlled by the barometric altimeter (height above take off location) stays constant between 29.9-30.2ft.
But look at the VPS Altitude over that same time period, starting from when the drone first started to move forward toward the river. The VPS Altitude is the actual height above ground measured by the bottom infrared sensor. It agrees closely with the IMU barometric sensor as the drone rises straight up from its takeoff location. But the moment the drone starts moving forward, the VPS sensor displays different heights depending on what it "sees" passing below the drone.
The ground slopes downhill toward the river. So the VPS Altitude shows an increasing height above ground, as the IMU barometric altitude stays constant at ~30ft. At 21s the VPS altitude suddenly shows only an 18.7ft clearance as the drone passes over that tree. At 1min 10.9s the drone is already over the water, still showing a steady ~30ft barometric altitude, whereas the VPS altitude is now 44.9ft. At that point the VPS infrared height sensor loses contact with the water's surface, either because it's just too high and out of range or the infrared signal is being absorbed by the water and not reflected back to the sensor. But it tells us the takeoff location was 14.9ft higher than the water's surface.
The VPS sensor never determines or limits a safe
minimum descent altitude, except during landing. If the VPS height sensor is functioning and sensing close proximity to the ground (something like 2ft) it will prevent the drone from sinking any lower unless you confirm you actually want it to land by holding the throttle stick full down.
If you're at a height of 30ft, or 60ft, or more, the only way the VPS height sensor might prevent the drone from descending is if it detects something like thick fog (or a treetop) in close proximity below the drone, fooling it into believing it's hovering within 2ft of the ground. But in that case, you can still force it to descend by holding the throttle stick full down to trigger auto-landing and it will then descend to land (which you can cancel whenever you want).