]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGLGear.cpp
Updated to match changes in radiostack.[ch]xx
[flightgear.git] / src / FDM / JSBSim / FGLGear.cpp
index d899dbecba1dc5fe599b4362d3ef2ae9ba0dc86e..8f137f88bde4f0e5bd19ad376580eb8b03eaf637 100644 (file)
@@ -118,6 +118,11 @@ FGLGear::FGLGear(FGConfigFile* AC_cfg, FGFDMExec* fdmex) : Exec(fdmex)
 
   vLocalGear = State->GetTb2l() * vWhlBodyVec;
 
+  compressLength  = 0.0;
+  compressSpeed   = 0.0;
+  brakePct        = 0.0;
+  maxCompLen      = 0.0;
+
   Debug(0);
 }
 
@@ -181,6 +186,9 @@ FGLGear::~FGLGear()
 
 FGColumnVector3& FGLGear::Force(void)
 {
+  double SteerGain = 0;
+  double SinWheel, CosWheel;
+
   vForce.InitMatrix();
   vMoment.InitMatrix();
 
@@ -201,10 +209,6 @@ FGColumnVector3& FGLGear::Force(void)
   }         
       
   if (GearDown) {
-    double SteerGain = 0;
-    double SinWheel, CosWheel, SideWhlVel, RollingWhlVel;
-    double RollingForce, SideForce, FCoeff;
-    double WheelSlip;
 
     vWhlBodyVec     = (vXYZ - MassBalance->GetXYZcg()) / 12.0;
     vWhlBodyVec(eX) = -vWhlBodyVec(eX);
@@ -277,7 +281,7 @@ FGColumnVector3& FGLGear::Force(void)
                                              staticFCoeff*FCS->GetBrake(bgCenter);
         break;
       case bgNose:
-        SteerGain = 0.10;
+        SteerGain = -0.50;
         BrakeFCoeff = rollingFCoeff;
         break;
       case bgTail:
@@ -326,16 +330,6 @@ FGColumnVector3& FGLGear::Force(void)
         WheelSlip = radtodeg*atan2(SideWhlVel, RollingWhlVel);
       }
 
-// The following code normalizes the wheel velocity vector, reverses it, and zeroes out
-// the z component of the velocity. The question is, should the Z axis velocity be zeroed
-// out first before the normalization takes place or not? Subsequent to that, the Wheel
-// Velocity vector now points as a unit vector backwards and parallel to the wheel
-// velocity vector. It acts AT the wheel.
-
-// Note to Jon: I commented out this line because I wasn't sure we want to do this.
-//    vWhlVelVec      = -1.0 * vWhlVelVec.Normalize();
-//    vWhlVelVec(eZ)  =  0.00;
-
 // Compute the sideforce coefficients using similar assumptions to LaRCSim for now.
 // Allow a maximum of 10 degrees tire slip angle before wheel slides.  At that point,
 // transition from static to dynamic friction.  There are more complicated formulations
@@ -351,7 +345,7 @@ FGColumnVector3& FGLGear::Force(void)
 // in paper AIAA-2000-4303 - see header prologue comments). We might consider
 // allowing for both square and linear damping force calculation. Also need to
 // possibly give a "rebound damping factor" that differs from the compression
-// case. NOTE: SQUARE LAW DAMPING NO GOOD!
+// case.
 
       vLocalForce(eZ) =  min(-compressLength * kSpring
                              - compressSpeed * bDamp, (double)0.0);
@@ -424,7 +418,7 @@ FGColumnVector3& FGLGear::Force(void)
         vMoment.Magnitude() > 5000000000.0 ||
         SinkRate > 1.4666*30)
     {
-      PutMessage("Crash Detected");
+      PutMessage("Crash Detected: Simulation FREEZE.");
       Exec->Freeze();
     }
   }