Possible bug with NAV_VTOL_TAKEOFF?

Hello all,

i have a quad plane set up as a bicopter that is having issues vertically taking off straight up with the VTOL_TAKEOFF auto mission command.

As a foreword, I will say the aircraft is a delivery drone and was tuned with payload on, and during the flight in this log file the payload is removed (it had just delivered), hence the PID is a bit shit. nonetheless, it is still flyable in assisted and non-assisted modes and this behavior is present even with a good tune.

for reasons beyond my understanding, when this command is given the tilt-motors will tilt forward immediately. This happens regardless of the plane’s attitude, be it level or not level at the time of takeoff. This causes the aircraft to shoot forward in takeoff until it reaches its altitude, at which point it will stop itself and navigate to a WP.

We noticed that on vtol_takeoff, the motors will always move to Q_TILT_MAX and will hardly attempt to correct the aircraft’s attitude until the aircraft reaches the designated altitude from VTOL_TAKEOFF, at which point the drone will suddenly start to correct itself as soon as the next mission item begins.

In the log I attached, the key thing i want to point out is the that very shortly after arming, desPitch remains zero while pitch angle suddenly decreases. In a vacuum, you might assume this was caused by an improperly placed CG causing an uncommanded pitch on takeoff as the aircraft stabilizes. However, if you check the servo output for TiltFrontRight and TiltFrontLeft, you can observe that the PWM changes immediately after switching to auto. The max PWM it reaches here coincides with that of Q_TILT_MAX.

I’ve attached a video that clearly shows this behavior on a leveled aircraft with no props.

I don’t want it to lurch forward like this, but it seems VTOL_TAKEOFF will immediately rotate the tilt motors to Q_Tilt_max instead of taking off straight up as it should. Taking off in loiter does it too, but not as bad generally speaking.

Any workarounds you have in mind would be appreciated.

because this movement is completely de-coupled from desPitch, i’m led to believe this is bug.