Hi,
I’m working on precision landing on ArduPlane 4.5.5 in companion mode and observed following 2 issues:
- When PLAND_XY_DIST_MAX is set to 0, aircraft started hovering after detecting the target.
Found out that, in plane_precland.lua script, condition check for value 0 was missing.
if xy_dist > PLND_XY_DIST_MAX:get() then
-- pause descent till we are within the given radius
vehicle:set_land_descent_rate(0)
end
I’ve modified the script as below and then precision landing worked as expected
if PLND_XY_DIST_MAX:get() > 0 and xy_dist > PLND_XY_DIST_MAX:get() then
-- pause descent till we are within the given radius
vehicle:set_land_descent_rate(0)
end
- When the aircraft is taking off from higher terrain elevation and landing at lower terrain elevation and during descend phase, poscontrol state switches to QPOS_LAND_FINAL immediately after landing starts. This is because I’ve used Relative frame for my VTOL land mission command and this I’ve expected.
But, when I enable precision landing with PLAND_XY_DIST_MAX is set to non zero value, and if my aircraft is away from the target with the distance more than the PLAND_XY_DIST_MAX, aircraft doesn’t correct it position and instead starts to hover indefinitely.
If the target is detected within PLND_XY_DIST_MAX or if it is set to zero, then aircraft lands correctly using precision landing.
In the below graph, PLND_XY_DIST_MAX was set to 2.5 and target distance was around 3.5m.
At this point, i’m not sure the 2nd issue I’m facing is a bug or the limitation of the precision landing.