Jump to content

Landing Legs and Critical Damping


Recommended Posts

So as everyone is well aware, landing legs don’t work properly.

As far as I can tell, I believe the problem is that there is no automatic function built in to find the critical dampening point for each rocket, leading to either an over damped system, or much more commonly an under damped system leading to oscillations. 

The following website gives a quick overview of these concepts:

http://hyperphysics.phy-astr.gsu.edu/hbase/oscda2.html

Now solving these problems isn’t entirely difficult, but it does require somewhat complex derivative based math/equations. 

What I am wondering is if anyone (modders or Squad) has looked at solving this problem using the correct mathematical method? 

Perhaps it is too CPU to do such calculations on the fly, but it would be the ideal solution as long as the existing physics system didn’t have some wonkiness to it that prevented this from being implemented.

Let me know your thoughts. :)

Link to comment
Share on other sites

2 minutes ago, MechBFP said:

What I am wondering is if anyone (modders or Squad) has looked at solving this problem using the correct mathematical method? 

Yep.  KSPWheel solves nearly all of the issues with stock landing legs/gear/wheels being wonky.  Including use of automatically calculated critical damping (and setting damp ratio relative to critical, where damp = 1 = critical damp).

This is however an entirely new wheel system (not just a patch/hack of the stock wheels).  I wasn't about to try and polish the turd that was the Unity wheel colliders, so instead created a new wheel collider class and part-modules to manage it.

Mostly used in Kerbal Foundries, though a few other mods also make use of the API:

 

Link to comment
Share on other sites

I'm all for this.

I do want to make a quick comment. KSP wheels can be used, properly, just difficult to setup.
Leaving aside the inner workings of wheel physics in ksp, for some reason the magnitude of effect on the spring and damp settings seem to have little effect from min to max, and therefore you often end up with a set of wheels that are either underdamped or overdamped. In the former you use to few legs, gear or even rover wheels so that even if you use a setting of 5.0 you still get bumped when rolling over terrain. Sometimes the stress is at one location where a landing leg is which then breaks, however you could clip 2 legs at a single spot to have more impact absorption at that area. It is often better to clip 4 legs into another 4 legs then to just 8 way symmetry. It won't look clippy and it is as if you were to use a lander with reinforced landing gear also making them double heavy.

When your overdamped you use to large legs, gear or even rover wheels mind you while trying to keep spring and damp at 1.
Or, you use to many landing legs.

The thing is, you have a particularly sized aircraft, space plane or even rocket that would look good with a particular type of leg, wheel size and would look overly bonky or plastered with added wheels you'd otherwise discard.
User practice is that they want 1 front landing gear and 2 at the back and no more to make the vessel look cool. Often that vessel is simply much heavier then the gear settings can support, or it is intended to drive on Eve where the legs may even fail under stress.
The same vessel could then drive on the Mun if you wanted to with damp and spring set to 1.0, but then it would still have to many legs or gears for it to roll without bounces because the gravity is lower there.

When I require to have a universal vessel like a rover to go to all places I use a specific action group to drop lower gear if required on other worlds and re-adjust the spring <> damp accordingly so I can roll on less wheels when on the Mun.

Edited by Aeroboi
Link to comment
Share on other sites

53 minutes ago, The Doodling Astronaut said:

I think maybe in Breaking ground we might get better landing gear?

Hopefully the 1.8 base update that goes with it? Im sure they don't ant all those deployable experiments bouncing all over the place on scene load. 

Link to comment
Share on other sites

1 hour ago, Pthigrivi said:

Hopefully the 1.8 base update that goes with it? Im sure they don't ant all those deployable experiments bouncing all over the place on scene load. 

More likely that they made them use static colliders and that the deployable science packages lack any sort of spring/damper on their legs.  Simpler to implement, less buggy, and better for performance; all around win.

Link to comment
Share on other sites

34 minutes ago, Shadowmage said:

More likely that they made them use static colliders and that the deployable science packages lack any sort of spring/damper on their legs.  Simpler to implement, less buggy, and better for performance; all around win.

It makes sense - why would you need your experiment package, which spends all of its time sitting motionless on the surface, to have suspension?

Link to comment
Share on other sites

  • 4 weeks later...
On 5/8/2019 at 9:47 AM, MechBFP said:

So as everyone is well aware, landing legs don’t work properly.

As far as I can tell, I believe the problem is that there is no automatic function built in to find the critical dampening point for each rocket, leading to either an over damped system, or much more commonly an under damped system leading to oscillations. 

The following website gives a quick overview of these concepts:

http://hyperphysics.phy-astr.gsu.edu/hbase/oscda2.html

Now solving these problems isn’t entirely difficult, but it does require somewhat complex derivative based math/equations. 

What I am wondering is if anyone (modders or Squad) has looked at solving this problem using the correct mathematical method? 

Perhaps it is too CPU to do such calculations on the fly, but it would be the ideal solution as long as the existing physics system didn’t have some wonkiness to it that prevented this from being implemented.

Let me know your thoughts. :)

I did some digging around in the underlying Unity wheel code a long time ago and it looks to me that landing leg/wheel spring values are a rate and not a force, so that's also an issue. (i.e. if the spring value is set to 1 then it is moving the piston at 1 meter per second no matter what the mass of the part or various other connected parts are)

Edited by Starwaster
Link to comment
Share on other sites

A stock solution might be to use multiple sets of legs or wheels, each with their own spring/shock settings. It's what I use on many cars to give them the exact cornering ability I want. Even use it on large airplanes to cope with difficult terrain.

What I really dislike is the lack of bump/rebound settings. This could solve many issues, i.e going from underdamped to overdamped instead of bouncing off Gilly.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...