Erratic auto-takeoff behaviour

Hello, I’m a first time poster so let me know if I’m doing anything wrong.

Yesterday I was doing some basic tests with a Bixler 3 using a Pixhawk 4 autopilot with ArduPlane V4.3.5. Everything was configured properly according to the Plane documentation, except for the PIDs, which weren’t tuned yet, but the plane flew well enough with the default settings. And everything did work perfectly (manual and FBW flight, automatic navigation and landing, and basically every other feature I tested), except for one thing: automatic takeoff. Instead, after a hand launch, the plane just kinda went along with throttle on. Stayed straight for a little while, but not perfectly straight and definitely not climbing at the expected angle or direction, and after a while it just began turning erratically at much lower of an altitude than specified by the TAKEOFF mission item.

I’m very new at this so even after analizing the telemetry I’m still not sure of the problem, but I am pretty sure that the autopilot isn’t doing the actual navigation that is expected of the takeoff and instead is just kind of hanging out with the throttle on, hence why it climbs for a bit, and as the Bixler is a pretty self stable aircraft it doesn’t crash but instead just does a few random turns. The following log is of one of the many flights we tested the auto takeoff. In this particular one it was done in auto mode with a takeoff mission item but we also tested the takeoff mode itself and got the exact same behaviour. It’s worth noting that we also experimented with all of the parameters mentioned in the Automatic Takeoff docu page, and a few others with the TKOFF_ prefix, to no luck. In the log we just have the throttle set to start as soon as the mode is set to takeoff, but setting it to start after hand launched made no difference.

At least to me, this is all made so much weirder because of how well the autopilot works in every other aspect. The navigation within flight, including making level and straight climbs like we are expecting of the automatic takeoff, works perfectly. So do automatic landings which obviously are much more complicated. What am I missing?

Also maybe worth noting, the only other unexpected behaviour we noticed is that right after booting up, in any stabilized mode, the elevator was in the correct position to keep the correct angle in flight (TRIM_PITCH_CD set to 450 or 4.5º). However, after a flight, the elevator was deflected upwards considerably when in a stabilized mode. This was fixed after a reboot. SERVO_AUTO_TRIM is off and in manual the elevator was level. It probably has nothing to do with my main problem, but I’ll leave it here just in case and also because it would be good to know what causes that as well.

The log: 2023-04-20 11-04-16.tlog - Google Drive

A dataflash log would be helpful. The .tlog does not contain the necessary infos, please provide the .bin file

Here’s a dataflash log, different flight but shows the same issue: log_45_2023-4-20-17-11-22.bin - Google Drive

This other test was done in the takeoff mode but the behaviour is the same. It shows two hand launch attempts where the automatic takeoff fails as described in the post.

I think the plane was too slow when climbing in the TKOFF. About 7-8 m/s when climbing at full throttle is to slow for a stable flight. I would reduce the climbing angle (TKOFF_LVL_PITCH and TECS_PITCH_MAX) or use a more powerful motor.

1 Like

Sounds good, I’ll try that. However, I can understand how that would make impossible to maintain the specified pitch angle, but how come the roll angle get become so erratic as well? In the first log you can see just how bad it went off course. Even after it stopped climbing altogether it still failed to keep a straight course. That’s certainly not a problem in normal waypoint to waypoint navigation. Also, in normal FBW or manual flight, in a similar climb at full throttle the plane manages speeds quite a bit higher. I think the problem runs deeper.

Due to the too low speed during climb the airplane is always close to a stall, therefore also the roll axis is hardly controllable.

3 Likes

I don’t know if the speed is too slow, the Blxler can fly very slow with no problems.

[I was wrong about this: This looks like it flew ok, you have takeoff to 50m - the plane reached 50m height and started to loiter (go around in circles) which is what it’s supposed to do, but then you switched to manual mode.]

I still think you switch to manual mode too quickly. Try again and let it fly.

The plane didn’t even reach 15 m though. You can also clearly tell in the telemetry that the plane isn’t trying to loiter but instead to remain level (check out the attitude control graphs). It just isn’t able to.

I see your point about the altitude, I’m not sure about your plane, but I know the Bixler can do this I have done it. I will have to leave it to others to see what they can see here.

I still think you should let it fly longer before switching to manual mode. This would give more data to see what is going on.

Here we can see the second takeoff attempt. We can see the altitude (red), speed (green) and elevator output (blue). The airplane tries to climb, the speed is very slow with 6-8m/s and while it tries to climb, the elevator is deflected more and more up to the maximum. Elevator at max is not good, that is a clear sign for an unstable flight near to a stall.

I would reduce the climbing angles.

2 Likes

You’ve got me convinced, I’ll try that out next time. Thank you! But as far as I know Ardupilot has the ability to detect stalls, and no MAVlink messages were received about that and I can’t see anything about it in the telem either. How come? As for the weird elevator behavior in stabilized modes that only appears after a flight, any idea of the reason?

No, arduplane can only try to prevent from stalls in certain conditions, see here Stall Prevention — Plane documentation (ardupilot.org)
This only works when flying in curves without enough speed, then it limits the bank angle and/or increases the engine power (but your plane was always at max power)

1 Like

I confused the input for throttle (from the TX) with the output from the flight controller. So, my post wasn’t helpful and I’ve removed it.

It might also be worth trying the takeoff without the flaps. Given the higher pitch angle (15degrees demanded) and the flaps, the plane might just not be able to accelerate.

You look at the wrong parameter. RCIN.C3 is the input from the rc receiver to the flightcontroller and that is at 1501µs because he has his throttle stick at middle during the takeoff. The throttle output from the flight controller to the esc is AETR.Thr or RCOU.C3, it is at maximum during takeoff.

1 Like