I’d like to report the following errors with the Autopilot.
First and most important: if the autopilot pitch PIDs are set to zero and the default pitch mode is other than “none” in systems.cfg, when the AP is engaged it will maintain pitch/VS normally and in some cases, even capture altitude.
Secondly, the pid_reset functions do not work properly. Specifically, instead of resetting the PID gains, they will reset the trim. For the examples above we will assume that the aircraft has been trimmed at a climb attitude, trim is 15% nose up and stable. Then we engage the Autopilot.
- Setting PID reset to 1: trim will instantly be reset to zero and then the plane will start trimming from there to capture the commanded VS.
- Setting PID reset to 2: trim will continue from current setting. Sometimes the trim will run away in the direction of current trim (so if nose up it will go all the way up to 100%) and you will notice the intergral value will commence at 100% as soon as the AP is turned on.
What I expected -and what I understood from the SDK docs- is that the PIDs would be reset to zero, not the trim itself. The PID should give the “amount and direction of change” to the trim and not set the AP trim directly.
What I had expected, as asked for many months ago, was simply that the Intergral accumulated value within the Pid, be set to zero, when the AP is OFF.
Instead, the option was given for 3 mode types, none of which simply just zeroed the Integral.
Mode 1 is the closest, but is not strictly the same as just zeroing the Integral, and thus has some short term, unwanted behavior.
As noted above by @SWSAlexVletsas , Mode 1 is resetting BOTH the Integral and the PID output
im using (see below) and have 0 issues. Perhaps its a WT NXi thing.
pitch_pid_reset_mode = 1
roll_pid_reset_mode = 1
heading_pid_reset_mode = 1
perhaps your PIDs are just too high. I reduced the Ps to around 75%-60% of what I had before and everything is smoother and better. You could also try that .
I already tried with small PID values (0.2 or less) and even zero and the problem persists. The Integral shoots to infinity and the plane noses up uncontrolalbly.
If only the Integral values in the PIDS were readable & write-able, then so many problem could be avoided, or programmed around as needed.
well if you aren’t using the g1000 or any default avionics, you could program your own with key events
Until some other MSFS standard GPS system goes and Capture all those key Events and takes over what your custom AP code is trying to do, so that Capturing GPS can now control your Plane using its own AP code, as if the vintage GA plane with its own ignored AP code , is now effectively being controlled by a highly precise AP, that make the GA plane appear to be fliyng on rails.,