Jump to content

Docking ports make ground vehicles fly?


Recommended Posts

So I have been trying to create a modular mobile ground base that would have different plug-in rovers to wander around and gather science and resources, refuel grounded craft, etc.  I had a setup in 1.4.5 that worked really well, but when I attempted to rebuild the same vehicles in 1.6, every time the docking ports connect or disconnect, the vehicles fly 30 meters into the air and crash back down, invariably destroying some vital component or other.

Possible solutions that I have tried:

1.  Remove all mods --still happens in vanilla

2.  set parking brake on larger vehicle, dock driving smaller vehicle

3.  set parking brake on smaller vehicle, dock driving larger vehicle

4.  park both vehicles on level ground, release all brakes move vehicles together at 0.1 m/s until docked

5.  roll vehicles down gentle slope, dock with vehicles in motion

6.  switch all vehicle suspension to override, try hard springs, soft springs, light dampers, and heavy dampers

About the only thing I can think of that I haven't tried is to float both vehicles in water and try to dock them there, but even if that works it is of limited use because Mun, Minmus, Duna, etc. don't have water to facilitate the result.

If anyone else has seen this problem and overcome it I would greatly appreciate it.  Also, any suggestions of things I haven't tried yet or might have overlooked would be welcome.

Link to comment
Share on other sites

USI-Tools has an Inertial Dampener module that you can add to command modules with a module manager patch. It adds a right click option for a ground tether. That solved most of my problems with bases floating off the ground on load, sliding downhill, Kraken attacks, and I've been able to dock to tethered bases.

Link to comment
Share on other sites

2 hours ago, Xd the great said:

Have you tried autostrut?

All three types of autostrut make the problem worse.  Not only do the vehicles fly into the air, but they almost always manage to land exactly upside down.  lol 

I tried to dock the vehicles in the water too.  They still fly.  I think that the problem is somewhere in the way that the docking collars interact with the physics engine.  In space you wouldn't notice because there is no ground to fall back on, but at ground level there is only one way for the engine to throw you when it detects that the multiple vessels have now joined together, and most vehicles can't withstand a 30m, end over end, uncontrolled drop.

Link to comment
Share on other sites

Update:

I have found a way to consistently undock the rovers without destroying the mobile base.

with the vehicles docked, drive forward with the mobile base to the top of a small hill.  The rigidity of the docking port will mean that the rover is suspended.  Park the base with the crest of the decline between the 2nd and 3rd row of wheels on the base.  The weight of the rover will lift the 5th and 6th rows of wheels off the ground.  Undock the rover and drop it the short distance to the ground.  Since it wasn't touching the ground at the moment of undocking, the physics don't seem to affect it.  Meanwhile, the loss of the mass of the rover allows the base to rock back in its suspension as the physics rebounds it into the air.  Since only the front 24 wheels are in contact with the ground, these are the only ones that get the full upward force.  The base rocks back in a weird wheelie, but usually comes to rest intact.

The success rate of this method has been a little better than 80% so far, which is about as good as the success rate of docking the vehicles on flat ground.  Now that I have a way to work around the docking/undocking problem, I am going to experiment with some lighter vehicles to see if it is a general physics bug, or something in the mobile base that is causing the issue.

Link to comment
Share on other sites

SOLVED!!

Due to the extreme weight of the mobile base (37t), the redraw of the vehicle and the application of physics after docking or undocking was causing the suspension to unload before the weight of the vehicle was applied.  Therefore, the suspension was exploding to maximum extension as if the full weight of the vehicle was on it, when in reality, for just a split second the weight applied was at 0.  This caused the wheels, and by extension the entire vehicle, to become airborne.  By the time the vehicle returned to the ground, the weight had been properly applied, and the vehicle landed appropriately.  Above I said that I had tried many variations of shock and dampener settings, but I hadn't gone low enough!.  I literally needed to drag the sliders all the way left (0.5) in order to make the suspension so weak that it can't even properly carry its own weight.

Thanks for the help guys.

Link to comment
Share on other sites

Nice to know that the "new" "improved" wheel and leg physics we got in 1.1 are still a steaming turd.
You saved me from the disappointment of having my optimism and faith in Squads commitment to fixing old bugs brutally crushed, again.

@SQUAD: Landing legs and wheels are still borked. They've been borked since 1.1 and your "tweaks" have not solved the problems, they crop up again in every release. Please fix.

Link to comment
Share on other sites

Just tried docking and undocking these two:

Worked fine, no hiccups, no bounce, nothing broken. Even with a combination of wheels, airbrakes, and landing gear. 140 parts together, 31t, which isn't crazy but it's not small either.

4B0488D8376BD587BCD4E2E6E8F21E2A2F4A9057

Here's a second, heavier test: 250ish parts, 234t combined weight. Very small jump at both noses when undocking, no damage though; didn't even lift the front wheels off the ground. (Both tests are at default "auto" spring/damper settings.)

581001C852D84BDB943DB16B8A190CCBA586F29B

Final test, very small vehicle docked to huge vehicle. This didn't go very well with all small wheels, and although there wasn't much bouncing or being thrown in the air, all the wheels broke when undocking. Same when I moved up to the largest wheel type. So..bug sort of confirmed?

8FF2AB482F2179F7096CD924BC191A8EAFB5A461

UPDATE: Work around potentially discovered: Simply turning all wheels off auto and onto override but not changing any settings fixed the issue.

C2998638F8A8D74098B6BDFB7FF4AB5A5B1F06C7

I'm thinking the issue is similar to what OP described, but it's the "auto spring setting" trying to re-adjust itself that is causing the real problem when docking a light vehicle to a large one. Can anyone else replicate this fix on their end?

Edited by Rocket In My Pocket
Link to comment
Share on other sites

22 hours ago, Rocket In My Pocket said:

I'm thinking the issue is similar to what OP described, but it's the "auto spring setting" trying to re-adjust itself that is causing the real problem when docking a light vehicle to a large one.

So does the auto spring set all the springs to the same parameters, or does it balance the settings to account for asymmetrical weight distribution?  If it is setting all the wheels to the same parameters, then yes that is why my big base is having such a reaction to docking with a tiny rover.  What would be an appropriate setting for something that weighs 2t with 13 tiny wheels (for rough terrain stability) would be WAY off on something that weighs 37 tons and has 36 wheels (for load distribution).

Extra thanks to you for the in depth experimentation and analysis.

Link to comment
Share on other sites

2 hours ago, Missedtrashday said:

So does the auto spring set all the springs to the same parameters, or does it balance the settings to account for asymmetrical weight distribution?  If it is setting all the wheels to the same parameters, then yes that is why my big base is having such a reaction to docking with a tiny rover.  What would be an appropriate setting for something that weighs 2t with 13 tiny wheels (for rough terrain stability) would be WAY off on something that weighs 37 tons and has 36 wheels (for load distribution).

Extra thanks to you for the in depth experimentation and analysis.

Honestly, I don't know how it works behind the scenes short of making assumptions, but yes; what you propose makes sense.

So did setting them all to override fix or help the issue on your end?

Not a problem, glad to help!

Link to comment
Share on other sites

On ‎1‎/‎16‎/‎2019 at 8:53 AM, Rocket In My Pocket said:

So did setting them all to override fix or help the issue on your end?

Hey,

Just a follow up on the issue.  After two days of testing in between having to go to my IRL job, I have found that any spring setting over 0.25 combined with any damper setting will make the base fly in the air.  The rover became stable just by turning off auto springs, no adjustments to settings was necessary.

That being said, I am still not 100% sure of exactly the jumping comes from in the code, but I believe that it has to be somewhere in the interaction between the redrawing of the two vessels as one vessel, and the suspension under load in full gravity.  There seems to be a point in the redraw where the functionality of the parts kicks in before the attributes of the vehicle.  That doesn't really hold up though, because if that were the case then all vehicles would jump regardless of how low you push the settings because any spring can push null weight to infinity.  So that leaves me with a new theory.  It might be that there is an order to the attributes being applied to the parts, and in the case of my vehicles (or any vehicle) wherever the wheels fall in that order leaves them pushing against a weight that, at that instant, isn't there yet.  So what is working in this case is lowering the spring strength to 0.25 or lower, which is just weak enough for 36 wheels to not throw the weight of all the pieces which have properly been assigned their attributes in the air before the total operation resolves.  This assumes that when two vehicles dock, the engine has to remove the two separate vehicles, combine them, and then redraw them, if not completely, then at least in part.  That might not be the way it actually works though, I'm just guessing.

While it has been a frustrating couple of days in the game because I wanted to get something else done, the nerd in me has enjoyed working the problem with you guys.  If anyone has any better insight to the way that the docking process is handled in the code, hopefully they will see this thread and chime in.

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...