Precision landing no longer works well as of 4.4.2 (vs 4.3.8)

I upgraded my drone to 4.4.2 from 4.3.8 and found that precision landing no longer works well.

It used to allow me to specify landing targets continually (I aimed for 3Hz) and if the target updates could no longer be sent (because the target could not be seen), the drone would continue landing at its current rate of descent and would seemingly aim for the last known position given to it.

Well, as of 4.4.2 the precision landing halts the drone for a few seconds if landing target updates are not provided. After the drone basically stops/slows down its descent dramatically for a few seconds, the drone restarts its landing, and it descends exactly where it is, rather than heading to the last precision landing target provided. I note that the “PrecLand: Target Lost” message appears 2 seconds after the last precision landing message I send to Arducopter.

I reverted to 4.3.8 and found the landing behaviour worked well again. Something has changed that is not in the release notes (assuming such a change would include the word “land” which is what I searched for). Does anyone know what is going on? Thanks.

Log:

Download then extract with password “arducopter”.

Timings from companion computer:
15:16:45.337 final landing target specified (1.6m above the ground)
15:16:47.360 “PrecLand: Target Lost”
15:16:53.227 landed

I’m making a follow up post which hopefully better compares the problem of 4.3.8 vs 4.4.2. This time the axes are visible and everything should be clearer.

The last landing target of 2.01m (downwards) was given to Arducopter in the 4.3.8 log at 16:21:23.818 (the blue vertical line) and you can see the downwards velocity is constant even after the landing targets are no longer received by Arducopter (the sharp drop at the end of the graph is when the drone reaches the ground):

The last landing target of 1.61m (downwards) was given to Arducopter in the 4.4.2 log at 15:16:45.337 (the blue vertical line) and soon after the drone stops descending:

Time stamps that I state above were obtained from companion computer logs which differs by only about 20ms from the Pixhawk clock.

Of course, it might be coincidental that it stops descending at this point; for instance, has the 4.4.2 behaviour changed to halt the drone at a particular altitude when precision landing?

Both log files are in this zip which needs to be downloaded first then extracted with password “arducopter”:

I’ve seen this problem every time I did precision landing with 4.4.2. I am certain it is an undocumented change in behaviour (maybe a side effect from some other change to Arducopter?). By changing to 4.3.8 it is a night and day improvement in behaviour.

I’d be super grateful if someone could explain how to fix this new behaviour. If not, I suppose I’m stuck on 4.3.8 since precision landing is important to me.