Perfect landing crash - altitude help on plane

I put 4.2.0 beta in a “new” plane on a PixHawk1-1m. After tuning, I tried a simple takeoff/landing mission. It’s my first one on a plane with wheels.

First flight was pretty much perfect, but the second flight after a “perfect” landing approach, the plane stopped dead about 1.5m above the ground and dropped like a stone and broke off the nose wheel.

I looked at the logs and I think there is something up with the altitude. Through the whole flight the barometer and GPS altitude were tracking pretty much the same, but as the plane descended to land, they started to diverge. It looks to me like the barometer is right and the GPS error is growing until at landing it looks like it’s off by about 3m.

I’m pretty sure it’s the GPS that’s off, because the plane ‘finished’ landing it was actually about 1.5m above the ground. I think it thought it was on the ground. I’m posting a video that shows it, as well as the data flash log.

What should I do differently?

This is the log:

This is the video:

Can you explain the things you tuned?
Did you take a look Automatic Landing wiki page before?
Seems like you’re using the default values.
Most of the time they do the job though :slight_smile:

I mean autotune. I did not change much from the default. I did set TRIM_AIRSPEED_CM to 12 ms, but I don’t think that affects landing.

This is the autotune log:

Just before this flight, the same plane with the same configuration took off and landed perfectly. In this flight you also see the same variance between the barometer altitude and the GPS altitude develop during the descent. At the end of the flight when the plane had landed and is stationary on the ground, the GPS seems to show the plane about 3m in the air, while the barometer is correct.

You might get away with disabling the pre-flare settings. It seems to slow down pretty fast so you might not need it.

LAND_PF_ALT,0
LAND_PF_SEC,0

It was very windy. 10km/hr headwind. Will this cause problems on a less windy day?

Some planes don’t need PF. In the first log the plane was pretty slow and demanding higher pitch, hence the stall. If it looks like it’s approaching too hot be ready to abort the landing and recover. Or you may even lower the PF settings from their current settings so it’s a smaller transition to the final landing.

See the video. The plane was pretty much stationary relative to the ground, almost hovering. I thought the FC cut the throttle thinking the plane had landed - are you seeing something different then? How can I see what you are seeing?

Related question - how can I see the altitude the FC is using vs the barometer/GPS input altitudes which are different by > 0.5 meters if I read it right?

The throttle was already cut (except for one little blip) long before the touch down. It looks like it flew the full approach without throttle. The props were just windmilling. The speed was very slow at the end, and with the plane demanding 10 degrees nose up the stall was inevitable.

Without a rangefinder, the auto landing is basically setting up a safe approach on where it thinks the ground may be and holding the plane in a configuration where the planet can safely come up to meet it. Wind conditions will always mess with that so auto landing settings need to be somewhat conservative.

Thanks for that @Allister - Did you add those notes yourself? This picture is very helpful in understanding what is going on. I’ll fix the nose wheel and try again!

I have to ask though - why would the plane be demanding 10 degrees nose up in this situation?

Do I understand this correctly? Calculated airspeed at the flair is about 10m/s, calculated altitude is 65.5m ASL whereas at takeoff it was 63m. So the plane decided to flare while more than 2.5 meter off the ground. According to the barometer, when the plane decided to flair it was about 1.7m above the ground (which looks about right).

Given that - are there any parameters or options I can tune to have the plane wait until it’s closer to the ground before flaring?

I didn’t add the notes, that’s the messages in the log file.

https://ardupilot.org/plane/docs/automatic-landing.html#configuring-for-automatic-landing

There’s some good pointers in the wiki to help out. Without an airspeed sensor and lidar/rangfinder an automatic landing is just a safe descent and it’s unlikely to get it consistently perfect for any changes in conditions or location.

TECS_LAND_PMAX, 10. (I think this is default).

No I don’t mean that, my question is - why is it flaring when it is still so high?

I have another similar flight (different plane, similar problem) today, the landing is just way too aggressive and bent the nose wheel. Technically not a crash, but this isn’t flying again without some repairs.

LAND_FLARE_ALT,3.
LAND_FLARE_SEC,2

So its staring the final flare at 3 m or 2 seconds before it thinks it should touch down. You could turn those down but without a ranger finder you’re risking driving the plane into the ground.

So maybe I should turn them UP then? It is driving the plane into the ground - that’s the problem I’m trying to fix.

Hmm - maybe LAND_FLARE_ALT down to 2 or even 1 (I would flare at about 1m if I was flying this plane). and maybe LAND_FLARE_SEC higher - like 4 or 5?

The plane stalled on the original post, so that’s what I’ve been looking at. Lowering those values without a ranger finder is risky. It may work one day in favourable conditions but not the next.

You say that - but unless I’m reading the numbers wrong, the data is actually very accurate and consistent. Now that I know what I’m looking at, I think the TECS height calculation is pretty much on the money, so if it flew to that number, it should be good. The two flights are interesting because it’s the same field, but different day. The first day was about 10km/hr wind, the second almost dead calm.

Thanks for your help understanding this. I’ll push it as far as I can, but I’ve got a rangefinder in my shopping cart too.

Hi @timtuxworth

From my point of view your approaches of the automatic landings are way too steep:

The first log file shows:

2022-03-05 00:12:31.161 Landing glide slope 16.6 degrees

Your second log is even worse:

2022-03-07 23:29:15.720 Landing glide slope 36.1 degrees

This is way too much for the TECS controller. The plane will overshoot while flaring and make some “bumpy” landings.

A closer look to the documents automatic landing glide slope recommends a way lower approach:

that you start with a glide slope of at most 10%.

The recommended 10% from the docu results in 5.7 degrees.
Using these values at least for the first few automatic landings I got many successful auto landings even without rangefinder.
You can tweak it later with some more experience.
Worked for me. Give it a try.

Good luck!!

1 Like

Thanks so much for that @VRquaeler . I am still learning and this is very useful input. My challenge is I have a very small field to land into, but I can definitely stretch it out a lot longer than I have right now, so I will follow your advice and give it a try.

PS: - how did you find the landing glide slope in my logs? Where should I look for that?

1 Like

Hi @timtuxworth

The glide slope message can be found in the status messages.

I used mavexplorer for the analysis. I’ts a python command line tool and runs on (nearly) any platform.
Dependent to your personal preferences there are other log analysis tools available.

PS: Let us know how it works out.

I have played with these parameters and in ideal condition seems to work well. But if there is a strong head wind, plane will stall and drop.
That is why most people use airspeed sensor and LiDAR for planes with landing gear.

Auto landing parameters.

Land_flare-alt =7

Land_flare_sec =5 (decent @2m/sec). Flare will take place at 6 meter.

Land_pf_alt=10m

Land_pf_sec=5sec

Land_flare_cd = 0 deg