Always landing long in SITL, glide-slope intercepted too late?

Hi! It is my first topic here, so I do apologize if I am not posting it in the correct place.

Over the past few months, I have been involved with software-in-the-loop (SITL) simulations of a custom airframe (V-tail taildragger). The flight dynamics model is Simulink-based, and I am using a specially built (by me) MAVLink connector (Pixhawk software-in-the-loop (SIL) connector for Simulink - File Exchange - MATLAB Central) to communicate with PX4 running in WSL2. The airframe features a distance sensor (lidar).

During autoland, the airframe always initiates the descent too late. After completing the loiter, before intercepting the glideslope, the airframe maintains altitude for some time and only then begins to descend. This delay results in the airframe landing long.

I have replicated the 3 deg glideslope via two waypoints by adjusting altitudes/distances (instead of autoland). The replicated glideslope using waypoints overlaps the one defined by the autoland. With this approach, the airframe starts the descent as soon as it arrives at the waypoint that defines the start of the glideslope.

Is there something I am missing or doing wrong?


I found the reason. In 1.13.3 if the aircraft is below the glideslope it will continue horizontally until it intercepts it. I am setting the glideslope from QGroundControl by specifying a mission with autolanding. It seems however that PX4 reverts to using the default glideslope angle of 5.0 deg set by FW_LND_ANG. Once I changed the FW_LND_ANG explicitly to 3 deg the issue is no longer present.