QPlane tail seater. If in qstabilize mode, it leans to the horizon it starts to hardly respond to the stick movements. If it goes nose down, it stops responding. That led to the plane crash. Found IRL and also could be reproduced in SITL. Model in SITL modified - CG moved 1 inch more forward along z-axis.
If CG is placed by design (not shifted forward) then everything is fine, it’s very hard to move aircraft nose down. “Nose down” I mean Qstab mode and more than 90 degrees from the vertical axis.
This is a limitation of a tail-sitter with no control surfaces. When you go fast the aero loads increase and the thrust of the props decrease, at some airspeed it will always loose control.
But this is a qstab, low speed, it became absolutely non controlled if pitch more than 90 degrees from z-axis. IRL drone goes 250kmph without any issues and after transition FBWA → QSTAB flips and falls down.
when in VTOL the copter style PID gains will be used (the ones starting with Q_A_RAT_x)
when in fixed wing flight the fixed wing PID gains will be used (the RLL_RATE_x and PTCH_RATE_x gains)
is not correct or maybe this is a bug in the code. In QSTAB mode (VTOL) if we have PTCH_RATE_D,0, we won’t have any PIDP.D values while we have PIDP.P data. This makes our model unrecoverable from deep pitch movement.
in VTOL mode, only Q_A_RATE params are used by its pid controller, not the fixed wing PIDs…and D terms never depend on data in the P path of a PID controller, they are parallel paths from the error term (desired rate vs actual)…not having a D value just impacts how quickly the vehicle responds to short term disturbances
your issue with params is something else…you did not post either the parm set that caused your problem nor a .bin log, so any comments or help cant be made here