diff --git a/src/FDM/JSBSim/models/FGAuxiliary.cpp b/src/FDM/JSBSim/models/FGAuxiliary.cpp index bb637c9d0..86d1cbdc5 100755 --- a/src/FDM/JSBSim/models/FGAuxiliary.cpp +++ b/src/FDM/JSBSim/models/FGAuxiliary.cpp @@ -225,7 +225,13 @@ bool FGAuxiliary::Run() vPilotAccel += Propagate->GetPQRdot() * vToEyePt; vPilotAccel += vPQR * (vPQR * vToEyePt); } else { - vPilotAccel = Propagate->GetTl2b() * FGColumnVector3( 0.0, 0.0, Inertial->gravity() ); + // The line below handles low velocity (and on-ground) cases, basically + // representing the opposite of the force that the landing gear would + // exert on the ground (which is just the total weight). This eliminates + // any jitter that could be introduced by the landing gear. Theoretically, + // this branch could be eliminated, with a penalty of having a short + // transient at startup (lasting only a fraction of a second). + vPilotAccel = Propagate->GetTl2b() * FGColumnVector3( 0.0, 0.0, -Inertial->gravity() ); } vPilotAccelN = vPilotAccel/Inertial->gravity();