Giter VIP home page Giter VIP logo

Comments (8)

bcoconni avatar bcoconni commented on July 19, 2024 1
<castered> 1.0 </castered>
<max_steer unit="DEG"> 30 </max_steer>

Edit: Nevermind, this doesn't work as a limit. I misunderstood some old code.

<max_steer> does not work as a limit for caster wheel yet but it could ! 😄

Your suggestion provides the syntax that we need to address the feature requested by @MariuszXC. I'd say we only need to modify the method FGLGear::ComputeSteeringAngle so that is fabs(SteerAngle) is kept below MaxSteerAngle. Something like:

void FGLGear::ComputeSteeringAngle(void)
{
  if (Castered) {
      // Check that the speed is non-null otherwise keep the current angle
      if (vWhlVelVec.Magnitude(eX,eY) > 0.1)
        SteerAngle = atan2(vWhlVelVec(eY), fabs(vWhlVelVec(eX)));

      SteerAngle = Constrain(-MaxSteerAngle, SteerAngle, MaxSteerAngle);
  }
}

from jsbsim.

bcoconni avatar bcoconni commented on July 19, 2024

What is the motivation / use case for changing the behavior?
Better support for real use cases. An example is Diamond DA40NG.

Given the landing gears configuration of this aircraft I doubt very much that its nose leg has a caster wheel because that would make it unstable... and deadly during take off and landing.

Diamond DA40NG

Caster wheels are always at the rear of an aircraft for that very reason and I don't see much point in limiting the range of their rotating angle.

Are you sure you mean a caster wheel ?

from jsbsim.

MariuszXC avatar MariuszXC commented on July 19, 2024

It may be a language barrier, but I meant an unsteered front wheel, free to rotate around its (almost)vertical rotation axis.
Of the fact it is unsteered I am 100% certain. Ditto about +/- 30deg end-stops.

Please refer to DA40NG AMM: http://support.diamond-air.at/fileadmin/uploads/files/after_sales_support/DA40%20New%20Generation/Airplane_Maintenance_Manual/Basic_Manual/60215-r3-DA40-NG-AMM-complete.pdf
Section 32-20 (pdf document page 950 and onwards).

from jsbsim.

gallonmate avatar gallonmate commented on July 19, 2024

JSBSim already supports caster wheels with a angle limit. At least it did.
Try this in the aircraft file

<castered> 1.0 </castered>
<max_steer unit="DEG"> 30 </max_steer>

Edit: Nevermind, this doesn't work as a limit. I misunderstood some old code.

from jsbsim.

bcoconni avatar bcoconni commented on July 19, 2024

It may be a language barrier, but I meant an unsteered front wheel, free to rotate around its (almost)vertical rotation axis. Of the fact it is unsteered I am 100% certain. Ditto about +/- 30deg end-stops.

Please refer to DA40NG AMM: http://support.diamond-air.at/fileadmin/uploads/files/after_sales_support/DA40%20New%20Generation/Airplane_Maintenance_Manual/Basic_Manual/60215-r3-DA40-NG-AMM-complete.pdf Section 32-20 (pdf document page 950 and onwards).

Thanks for the link @MariuszXC. I was indeed wrong in my assumptions.

from jsbsim.

MariuszXC avatar MariuszXC commented on July 19, 2024

I would have to dive deeper into the unfamiliar code, so I'll better simply ask here.
What will happen when the nose wheel angle is constrained as in the code above, but the aircraft trajectory path is such, that a larger angle would have been computed? Will an additional force-moment due to increased ground friction be calculated and included in the sum of forces acting on the ac body?

from jsbsim.

bcoconni avatar bcoconni commented on July 19, 2024

What will happen when the nose wheel angle is constrained as in the code above, but the aircraft trajectory path is such, that a larger angle would have been computed?

The wheel will slip, a situation that JSBSim is perfectly capable of modeling.

Will an additional force-moment due to increased ground friction be calculated and included in the sum of forces acting on the ac body?

Yes. JSBSim uses a friction model to compute the forces that are induced by landing gears and their resulting force and moment. The code is located in src/models/FGAcceleration.cpp if you'd like to review it:

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// Computes the contact forces just before integrating the EOM.
// This routine is using Lagrange multipliers and the projected Gauss-Seidel
// (PGS) method.
// Reference: See Erin Catto, "Iterative Dynamics with Temporal Coherence",
// February 22, 2005
// In JSBSim there is only one rigid body (the aircraft) and there can be
// multiple points of contact between the aircraft and the ground. As a
// consequence our matrix Jac*M^-1*Jac^T is not sparse and the algorithm
// described in Catto's paper has been adapted accordingly.
// The friction forces are resolved in the body frame relative to the origin
// (Earth center).
void FGAccelerations::CalculateFrictionForces(double dt)

from jsbsim.

MariuszXC avatar MariuszXC commented on July 19, 2024

Noted and appreciated. Thanks.

from jsbsim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.