Are KSP Physics good  

54 members have voted

  1. 1. Are KSP Physics good



Recommended Posts

I was watching MythBusters the other day and came across...

http://www.discovery.com/tv-shows/mythbusters/mythbusters-database/laptop-lift-off/

The original video -

https://www.youtube.com/embed/_12L_Dme8Vc

Basically (if these links don't work) the bees can't lift the laptop because of a few reasons but a major one being Newtons 3rd law. If the bee is pushing air down it can fly up, but if the air is hitting a large surface it pushes the surface down, and if the surface is attached to what ever is trying to fly up, it won't fly.

I asked myself, is KSP's physics realistic and good enough to prove this law, I set up a rig as the following (sorry for no images)

1. Simple probe core

2. Fuel tank

3. Rocket engine strong enough to lift the whole thing

4. 2 long metal girders which hold a large flat surface made up of structural sheets of metal

I ensured that the metal sheets were far enough from the engine to be able to see the flame, I proceeded to offset the metal sheets to ensure there were no gaps. I went to launch it and to my surprise it did not generate thrust, I tested numerously to see if it was a glitch in the launch pad, I remade the rig with the metal sheets separated a little. This caused the metal sheets to wobble (closing and opening its gap) each time it opened the thrust fluctuated from 0 to almost normal engine thrust. After seeing the results I flipped the girders upwards (lots of air resistance) yet it was able to lift off (this entire experiment was also done with hacked gravity which made no effect on the 0 thrust).

I am really proud of Squad for having these very realistic physics in the game which I can imagine to be a pain (Results from newest release 1.1.2ish I think)

Serious JOB WELL DONE! (I don't think physics were this good in the past KSP versions though)

Edited by DiamondExcavater
I fail at embeding

Share this post


Link to post
Share on other sites

Its got the most realistic physics of any space rocket builder involving Kerbals to date (as at 16/06/16).

  • Like 8

Share this post


Link to post
Share on other sites

They're good enough for the stock game. I personally prefer a little more which is why I use FAR for improved aero but for the average user I think they're just fine.

  • Like 1

Share this post


Link to post
Share on other sites

IRL, you'd better be darn sure that your rocket exhaust doesn't hit anything that you care about... and the exhaust extends a long way back.

KSP does model the "exhaust exerts pressure on what it hits" effect; that's what killed the thrust in your experiment, and also why activating an engine in the middle of a vertical stack will rapidly heat up the part below it, but won't accelerate the rocket at all. It's also why, if you activate an engine simultaneously with blowing the stack decoupler immediately below it, the bottom stage you just separated gets blown violently backwards by the exhaust.

However, there are limitations. The "exhaust force zone" extends only a certain distance behind the rocket, much less of a distance than would be the case IRL. Also, the effect is, notably, completely absent with the ion engine; you get magic thrust even when it's buried in the middle of the rocket and its exhaust path is completely obstructed.

And of course there's the physical impossibility of KSP reaction wheels, which violate the laws of physics, though that's a deliberate design choice for playability reasons (one I happen to agree with). And a few other small "rough edges".

But in general, yes, I think the game does a great job of being accurate enough for immersion without sacrificing playability. :)

  • Like 5

Share this post


Link to post
Share on other sites

Isn't "magical RCS" an important part of the game as well?  As in RCS has no effect on the ship you are docking with (presumably semi-plausible with deliberately inefficient design to minimize such effects, but of course non-zero IRL).  At least this was true back when Scott Manley released his docking videos and it has been close enough ever since.

Share this post


Link to post
Share on other sites

There is the problem with unrealistic torque from reaction wheels, but without them the game would be extremely difficult with the amount of propellant needed to keep straight, especially with a ship that is staying out in space for ever... but reaction wheels could almost work RL right?

Edited by DiamondExcavater
confused KSP with real life

Share this post


Link to post
Share on other sites
3 minutes ago, DiamondExcavater said:

There is the problem with unrealistic torque from reaction wheels, but without them the game would be extremely difficult with the amount of propellant needed to keep straight, especially with a ship that is staying out in space for ever... but reaction wheels could work almost like RL right?

Not quite sure I follow what you're saying.  Are you saying that the reaction wheels are realistic?  Or agreeing me that they're physically impossible?  (Not just "are too powerful", but are actually violating the laws of physics).  It's the final comment that "could work almost like RL" that confuses me. What exactly are you asking?

If you're asking "do they work almost like RL", the answer is an emphatic no.

If you're asking "would it be possible to program them to work like RL", the answer is "yes, but it would be complicated enough that they'd confuse everyone and the game would be a lot less fun to play for everyone except perhaps a few hard-core space nerds."  I feel confident in saying that because I think of myself as a hard-core space nerd, but I'm not hard-core enough to enjoy that level of realism-- I'd dislike 'em, they're just more fun this way and I can live with the compromise-for-playability's-sake.

Share this post


Link to post
Share on other sites
2 hours ago, Snark said:

 

If you're asking "would it be possible to program them to work like RL", the answer is "yes, but it would be complicated enough that they'd confuse everyone and the game would be a lot less fun to play for everyone except perhaps a few hard-core space nerds."  I feel confident in saying that because I think of myself as a hard-core space nerd, but I'm not hard-core enough to enjoy that level of realism-- I'd dislike 'em, they're just more fun this way and I can live with the compromise-for-playability's-sake.

Maybe I am one of those "space nerds" then (I actually wouldn't count myself as one tough...) :P

I mean I am totally ok with how reaction wheels currently work. It is a game after all.

BUT

I really don't see why (more) realistic reaction wheels would be that bad.. Then we would just have to use more RCS to control the attitude of our crafts but that's not really that hard either now is it? Just slap in one mono tank and few rcs ports at both ends of the ship and you'll be just fine in most cases...

Share this post


Link to post
Share on other sites
1 hour ago, tseitsei89 said:

I really don't see why (more) realistic reaction wheels would be that bad.. Then we would just have to use more RCS to control the attitude of our crafts but that's not really that hard either now is it? Just slap in one mono tank and few rcs ports at both ends of the ship and you'll be just fine in most cases...

The problem is that you'd have to somehow keep track of the angular momentum currently stored in the wheels, which would be a pain to visualize and/or control.  And you'd have to have separate controls for "exert RCS torque" versus "exert reaction-wheel torque".  It's the sort of thing that computer programs can handle just fine, but would be a nightmare for a human to control in a video game.

Share this post


Link to post
Share on other sites

KSP's physics are a good simplification. They are advanced enough to model rocketry and aerodynamics with enough accuracy to teach a layman the core concepts of each. Considering it's just a simple game, that's impressive.

The issue becomes when we use broad phrases like "realistic". Yes, the physics in KSP don't hold up under close scrutiny by anyone with actual experience in the matter, but so does, for example, the expression for momentum you learn in high school. And just like the expression for momentum, the accuracy and realism of KSP can range from "More than adequate for our purposes; anything else would actively confuse matters" to "nowhere near good enough".

Share this post


Link to post
Share on other sites
7 hours ago, Snark said:

Not quite sure I follow what you're saying.  Are you saying that the reaction wheels are realistic?  Or agreeing me that they're physically impossible?  (Not just "are too powerful", but are actually violating the laws of physics).  It's the final comment that "could work almost like RL" that confuses me. What exactly are you asking?

If you're asking "do they work almost like RL", the answer is an emphatic no.

I am saying that the reaction wheels are unrealistic to an extent, the way I see it (I am not the strongest in this field) is that there is a spinning gyroscope or a "wheel" that spins within certain parts of the ship (lets say centre of mass). This wheel is spinning at the very centre of the craft longitudinally up the long shaft of the craft, if it were to suddenly stop spinning it will exert a rotational force into the direction of the wheel rotation, which should rotate the craft. I read that the size and speed are important, but it can be possible to rotate ships.

If you look at the probe core for the plane shape, it has torque wheels inside it, I think the wheels can cause rotation, the amount I don't know. I've also seen the video showing the effect of torque on a spinning wheel, which shows a guy holding a rod with a metal wheel at the end, he spins the wheel using a drill and then lifts the (very heavy) wheel over his head with ease while also needing to rotate with the wheel. I don't know if I explained that properly, but I do agree the KSP torque might be a bit too strong, but possible to an extent. 

Share this post


Link to post
Share on other sites

 

1 hour ago, DiamondExcavater said:

I am saying that the reaction wheels are unrealistic to an extent, the way I see it (I am not the strongest in this field) is that there is a spinning gyroscope or a "wheel" that spins within certain parts of the ship (lets say centre of mass). This wheel is spinning at the very centre of the craft longitudinally up the long shaft of the craft, if it were to suddenly stop spinning it will exert a rotational force into the direction of the wheel rotation, which should rotate the craft. I read that the size and speed are important, but it can be possible to rotate ships.

Yep, that's the idea! It would work just the way you're thinking, too. It doesn't even need to rely on gyroscopic precession, it can just be 'the reaction wheel spins one way so the ship spins the other way', though folks have definitely made some more complicated designs! The trouble Snark is pointing out is that there's a limit to to how fast the little wheels can spin, so there's a crippling limit on how fast they can spin your craft. Once a wheel is spinning as fast as it can go, it can't provide any more torque for that direction, which is called saturation.That would mean that once you've used the reaction wheel a certain (small) amount in one direction, it would suddenly stop working! Realistic max rotation speeds for crafts are slow, and the reaction wheels would also saturate really really (really) fast if they're fighting external torques like aerodynamic effects, misaligned engines or rocket-gimbal, as commonly occur in KSP.

To desaturate a reaction control wheel so it can provide torque in that direction again, you would need to give the wheel a chance to slow down by torqueing against it with (for practical purposes) RCS, so we'd need to bring RCS anyways. Ultimately, the reaction wheels would be useful for gentle attitude control or very slow manuevers, while the RCS would be used for any typical KSP style maneuvering. To model these effects correctly in-game, we'd need to keep track of how fast each of the reaction wheels was spinning, or as Snark more directly put, how much angular momentum is stored in each of the wheels. Then, when the wheel is at max speed, cut out the wheel so it stops providing torque for that direction. We'd also need a way to visualize all this, so we could know when we need to slow down the reaction wheels (aka dump momentum) before it becomes problematic. Though it sounds like a fun exercise, it also doesn't sound like fun day-to-day playing to me!

Finally, if we want equal torque for all directions, the reaction wheels would be setup in a cube shaped housing, which is awkward. There's other designs (Hubble), but they get crazy complicated (Hubble). Alright, I hope that helps explain the nuances!

Edited by Cunjo Carl

Share this post


Link to post
Share on other sites
6 hours ago, Snark said:

The problem is that you'd have to somehow keep track of the angular momentum currently stored in the wheels, which would be a pain to visualize and/or control.  And you'd have to have separate controls for "exert RCS torque" versus "exert reaction-wheel torque".  It's the sort of thing that computer programs can handle just fine, but would be a nightmare for a human to control in a video game.

Sorry but is there something I can't really understand here?

Couldn't you just add new "bars" in the resource tab (where fuel, ec, oxidizer etc. are shown) for angular momentum in x y and z directions.

You could also simply just "exert reaction wheel torque" when your rcs is turned off (R button in game) and "exert rcs torque" when rcs is activated. 

And the last problem: "resetting the angular momentum of reaction wheels". When you are landed they would obviously reset automatically. When in space we could simply have a button "reset angular momentum" which would start to slow down all reaction wheels AND automatically (try to) counter any rotation caused to the ship with rcs if the ship has any of those.

IMO these should work just fine but maybe I'm missing something...

Edited by tseitsei89
  • Like 1

Share this post


Link to post
Share on other sites

I'm no modder, yet, so I may be way off but wouldn't the saturation effect be achievable through timers?  As in it takes x seconds to reach saturation and x seconds to spin down, so just make the reaction wheel ineffective in the interval.  Not perfect since it ignores any effects during the spin down period (just assumes there are brakes/torques rods/whatever that can slow it down with no other side effects) but maybe a little closer to RL should someone care to make a new part, and pretty simple calculation wise  This way the RCS system just continues to work as it always does. 

Or for that matter just make a reaction wheel that works well for small rotations but loses it effect after the rotation exceeds x degrees then resets when the ship rotation has stopped.  Again the RCS system would just continue to work as normal.  Confusing for the player?  Perhaps, but one they would chose since they want that effect.  One possibility would be changeable parameter for the number of the degree cut off (to mimic different construction techniques and or sizes).

Then there is a new part for when you want the challenge and the old part when you just want to do stuff the Kerbal way.  To me having the best of both worlds (realism vs. gameplay: let the player decide what he/she wants) is preferable.

 

While researching reaction wheels I came across these two product announcements about reaction wheel use, I can almost hear the  Kerbal salesman:

High torque reaction wheel

Minature reaction wheel

Edited by kBob

Share this post


Link to post
Share on other sites
2 hours ago, Cunjo Carl said:

 

Yep, that's the idea! It would work just the way you're thinking, too. It doesn't even need to rely on gyroscopic precession, it can just be 'the reaction wheel spins one way so the ship spins the other way', though folks have definitely made some more complicated designs! The trouble Snark is pointing out is that there's a limit to to how fast the little wheels can spin, so there's a crippling limit on how fast they can spin your craft. Once a wheel is spinning as fast as it can go, it can't provide any more torque for that direction, which is called saturation.That would mean that once you've used the reaction wheel a certain (small) amount in one direction, it would suddenly stop working! Realistic max rotation speeds for crafts are slow, and the reaction wheels would also saturate really really (really) fast if they're fighting external torques like aerodynamic effects, misaligned engines or rocket-gimbal, as commonly occur in KSP.

To desaturate a reaction control wheel so it can provide torque in that direction again, you would need to give the wheel a chance to slow down by torqueing against it with (for practical purposes) RCS, so we'd need to bring RCS anyways. Ultimately, the reaction wheels would be useful for gentle attitude control or very slow manuevers, while the RCS would be used for any typical KSP style maneuvering. To model these effects correctly in-game, we'd need to keep track of how fast each of the reaction wheels was spinning, or as Snark more directly put, how much angular momentum is stored in each of the wheels. Then, when the wheel is at max speed, cut out the wheel so it stops providing torque for that direction. We'd also need a way to visualize all this, so we could know when we need to slow down the reaction wheels (aka dump momentum) before it becomes problematic. Though it sounds like a fun exercise, it also doesn't sound like fun day-to-day playing to me!

Finally, if we want equal torque for all directions, the reaction wheels would be setup in a cube shaped housing, which is awkward. There's other designs (Hubble), but they get crazy complicated (Hubble). Alright, I hope that helps explain the nuances!

True, however real world engines has far larger gimbal range than KSP engines, control system will simply rotate the engine to compensate for any unbalance. 
reaction wheels has to be bleed of if they fight drag or tidal forces. even light pressure. 

Most real life manned crafts are heavy and is just used on short missions so they use rcs not reaction wheels, exception is ISS who is long term. 
Like ion engines this is overpowered in KSP so we don't have 3 minutes rotations, this is not an issue for real probes but boring in a game. 

Share this post


Link to post
Share on other sites

I think the physics are more than good enough.

At the start of my present career, unmanned and low-tech, I was using spin-stabilised rockets. I'm sure it wasn't a glitch when a rapidly spinning one opened its chute, then hung at 90 degrees to the lines due I think to gyroscopic forces.

I'd love to see the stock game make more use of the solid body physics with grabs, levers, bearings etc.

Share this post


Link to post
Share on other sites

Imagine if KSP used body damage, similar to gta 5 with dent-able pieces and also terrain damage of sorts, I know this will be really heavy for an already heavy game (it's been growing since it came out) and will be annoying if you don't want damage, but the terrain could "heal back" either way that would make ground impacts more fun like the start menu "mum or bust" and also allow better survivability with the ground acting like water and enveloping  the craft in a way to slow it down faster, instead of these "mostly" smooth surfaces which can't move. I am very very sure that a space craft will fair better if it "crash" landed in sand rather than a stony area like mountains or even rock hard ice.. 

Btw are hot air balloons possible with a heat producing engines (all engines really lol) able to blow hot air into parachutes to blow them up? I'm thinking no due to thermal damage on parachute and also KSP may not like old technologies :wink:

Share this post


Link to post
Share on other sites

So, several posts ago I made some comments in which I made, basically, two assertions:

  1. KSP reaction wheels are physically impossible, because they violate the laws of physics.  They're not just "too powerful", they're impossible, in the same sense that a perpetual-motion machine is impossible.
  2. If the game were changed to implement in a realistic fashion (i.e. non-impossible), it would be un-fun, confusing, and not very playable for most players.

The first statement is a matter of physical fact; the second is merely a strongly-held opinion.  :wink:  I've seen a variety of responses.  There have been a few responses to point #1 that indicate not quite understanding how reaction wheels work-- I'm not criticizing, it's understandable, this stuff is far from obvious!  I'd like to address some misconceptions.  I'll start with a few example quotes that seem to me to be making some mistaken assumptions about how this stuff works:

15 hours ago, tseitsei89 said:

I really don't see why (more) realistic reaction wheels would be that bad.. Then we would just have to use more RCS to control the attitude of our crafts but that's not really that hard either now is it? Just slap in one mono tank and few rcs ports at both ends of the ship and you'll be just fine in most cases...

I may be reading this incorrectly, but my interpretation of this is that you're assuming that "reaction wheels are just like RCS, except much weaker."  Which is not the case-- they work in a completely different fashion and have very different rules about how they operate.  Using RCS is simple and intuitive, and the principle is obvious; it's pretty much a given that anybody reading this has an accurate picture in their heads about how it works.  This is not the case with reaction wheels, as I'll get into below.

10 hours ago, DiamondExcavater said:

I am saying that the reaction wheels are unrealistic to an extent, the way I see it (I am not the strongest in this field) is that there is a spinning gyroscope or a "wheel" that spins within certain parts of the ship (lets say centre of mass). This wheel is spinning at the very centre of the craft longitudinally up the long shaft of the craft, if it were to suddenly stop spinning it will exert a rotational force into the direction of the wheel rotation, which should rotate the craft. I read that the size and speed are important, but it can be possible to rotate ships.

...I don't know if I explained that properly, but I do agree the KSP torque might be a bit too strong, but possible to an extent.

No, you explained it perfectly clearly, you're just wrong.  :)  (I mean that in the nicest way.)  You're perfectly correct that real reaction wheels can rotate a craft, but you're missing a subtle but vitally important point.  What they can't do-- because it would violate a fundamental law of physics, and which the KSP reaction wheels do, which is why they're impossible and not just "too strong"-- is to create angular momentum.  More on this below.

7 hours ago, kBob said:

I'm no modder, yet, so I may be way off but wouldn't the saturation effect be achievable through timers?  As in it takes x seconds to reach saturation and x seconds to spin down, so just make the reaction wheel ineffective in the interval.  Not perfect since it ignores any effects during the spin down period (just assumes there are brakes/torques rods/whatever that can slow it down with no other side effects)

No.  I see that you understand the idea of saturation, which is great.  :)  The problem is that the only way to de-saturate is to exert counter-torque on the ship.  That is, every single scrap of torque that the reaction wheel previously generated in one direction, it has to then exert in the opposite direction to de-saturate, completely canceling out any angular momentum it previously imparted.  It is physically impossible to "slow it down with no other side effects", which is the vital point at the center of all this that most folks seem to miss.  If you've got brakes or whatever to slow it down... those brakes are mounted on the ship, and the act of slowing the reaction wheel down will twist the ship.

7 hours ago, kBob said:

Or for that matter just make a reaction wheel that works well for small rotations but loses it effect after the rotation exceeds x degrees then resets when the ship rotation has stopped.

No, it doesn't work that way.  There's  no limit on "degrees of rotation."  You could have a thousand-ton ship, and a little one-kilogram reaction wheel can rotate that giant ship by as many degrees as you like.  (It will take practically forever, but give it enough time and it'll get there.)  What it can't do (and which the KSP wheels can, which is what makes them impossible) is impart persistent rotation to the ship.

6 hours ago, magnemoe said:

Most real life manned crafts are heavy and is just used on short missions so they use rcs not reaction wheels, exception is ISS who is long term. 

Except that even the ISS needs to expend fuel.  RCS can do two very important things:  1. Adjust the rotational position of the craft.  2.  Adjust the rotational momentum of the craft.  Reaction wheels can do #1, but not #2, which is why you pretty much have to have RCS regardless of whether you have reaction wheels.  Having the reaction wheels just means that they can use them for #1 tasks instead of wasting fuel on that.  The thing that's wrong with KSP reaction wheels is that they can do #2, which in real life is impossible.

Okay, I hear you say, you keep going on and on about how "it's impossible", Snark.  What's so impossible about it?

Here's the deal:

There's a really important law of physics, right up there with the law of conservation of mass-energy, conservation of momentum, and so forth.  Angular momentum is conserved.  Put simply, you can't make an object spin in one direction without making something else spin in the opposite direction.

However, although angular momentum is conserved, angular position is not, which is why reaction wheels are a thing.  Let's say you have a spaceship that has a reaction wheel on board.  The ship is floating in space, and is at a dead standstill, rotationally speaking.  Nothing's rotating at all:  not the ship, not the wheel.  Let's say the ship is pointed east, and you want it to be pointing west.  What do you do?

Simple:  you start the reaction wheel spinning.  To start it spinning, you've got an electric motor mounted on the ship.  It exerts torque on the wheel to start it spinning up to, let's say, 1000 RPM.  Doing that exerts an equal and opposite torque on the motor, which is mounted to the ship, so the ship starts rotating in the opposite direction to the wheel.  But since the ship is much, much bigger and more massive than the wheel, it rotates much more slowly than the wheel does.  Let's say it's rotating at 0.1 RPM.

So... you just wait five minutes (with the wheel spinning the whole time), after which the ship has rotated 180 degrees and is now pointing the direction you want it to.  Now you need to stop the ship.  How do you do this?  Easy:  Just apply brakes to the reaction wheel and stop it.  This torques the wheel in the opposite direction that you did when you spun it up... which means it torques the ship in the opposite direction that you initially started it rotating.  And it's a precisely equal and opposite amount (that's what conservation of angular momentum is all about).  So no high-tech is needed:  just put on the brakes and stop the wheel.  Presto, both ship and wheel are now precisely at a dead halt with no rotation, and the ship is pointed the opposite direction from what it was.

So, that's what a reaction wheel can do.

What it cannot do is supply a torque that permanently affects the rotation of the ship.  In the above scenario, suppose I have a ship that's already slowly rotating at 0.1 RPM, and I want to stop it.  Well, I can stop it with the reaction wheel (by spinning it up to 1000 RPM to counter the rotation)... and now I have the ship happily sitting there, stopped.  That's what I wanted, right?  Except that now my reaction wheel is spinning madly at 1000 RPM and I can't use it anymore for torque in that direction because that's as fast as it can go.  This is what we mean when we say the wheel is "saturated".  And there is no way to de-saturate it without precisely mathematically UNdoing all the work that it just did.  Sure, you can stop the wheel rotating by applying the brakes... which will start the ship rotating again in exactly the direction and speed that it was going before you turned on the wheel.

Here's an analogy that might help to think of it:  You have a big house (your ship), and one fairly small trash can (the reaction wheel).  The house contains a certain amount of trash (unwanted angular momentum).  Yes, you can clean up your house, to a certain limited extent, by picking up the trash and moving it into the trash can.  However... you can only put a certain amount of trash into the can, and then it's full and can't hold any more.  Furthermore, there's no way to get rid of the trash in the trash can, because all the doors and windows are sealed shut and it's a closed system.  The only way to empty the trash can is to take the trash out of it and strew it around the house again.  The thing that's wrong about KSP reaction wheels is not simply "the trash can is unrealistically big" (though it is).  Rather, they're implemented in a way that makes the trash magically disappear when you put it into the can.  And that is the impossible part.

RCS isn't subject to these limitations.  In the above analogy, if you have RCS, you can empty the trash can, because RCS opens a window and tosses the trash out through that.  It doesn't actually destroy the trash (which is impossible), but it gets it out of the house, which is all you care about.  :)

So that's it for the physical impossibility of KSP reaction wheels.

My other assertion is that making them behave in an actually realistic way would make the game confusing and un-fun for most users.  In this case, we're just talking about my opinion rather than physical law.  One could reasonably argue the opposite, as here:

8 hours ago, tseitsei89 said:

Sorry but is there something I can't really understand here?

Couldn't you just add new "bars" in the resource tab (where fuel, ec, oxidizer etc. are shown) for angular momentum in x y and z directions.

You could also simply just "exert reaction wheel torque" when your rcs is turned off (R button in game) and "exert rcs torque" when rcs is activated. 

And the last problem: "resetting the angular momentum of reaction wheels". When you are landed they would obviously reset automatically. When in space we could simply have a button "reset angular momentum" which would start to slow down all reaction wheels AND automatically (try to) counter any rotation caused to the ship with rcs if the ship has any of those.

IMO these should work just fine but maybe I'm missing something...

The answer to everything you just said is "yes, you could do that."  Everything that you just described would be possible to implement.

However... I contend that there's basically no way to make this work in a way that the majority of players can wrap their heads around, and it would require difficult mental gymnastics to use appropriately even for someone who does have the right mental model (which would be very few people).

Witness how hard it is just to get people to understand why KSP reaction wheels are currently impossible.  It's a hard concept.

Yes, you could have some X,Y,Z bars for angular momentum... but can you map that in your head?  As in, on the one hand you see three bars, and on the other hand you see your ship on the screen, oriented at some odd angle, spinning at some other angle, and you have to somehow do the mental transformation that this trio of bars here somehow maps to this complex 3D rotational situation over there?  Can you do that?  I'm pretty sure that I couldn't, and I've got a physics degree and know what a tensor is.

And an automatic system can't do all the work.  It requires advance planning and understanding by the player.  If I've got my ship at a rotational dead halt, and I start it rotating slowly in one direction... why did I just do that?  Did I do it because I want to change my rotational position and I intend to stop the motion once I've rotated far enough?  Or did I do it because I want to change my rotational momentum and I plan to leave it rotating?  In the former case, I should use the reaction wheel; in the latter case, I should use RCS.

Either you make the user have to know and understand all that stuff-- in which I contend the game becomes confusing and un-fun for the vast majority of players, including me-- or else you somehow have a computer system that automatically takes care of all that, in which case why even bother having the two systems at all?  It would just be adding a bunch of complexity for no reason.

I'm not trying to say that nobody would enjoy working with realistic reaction wheels.  I'm sure there are some hard-core realism nerds out there who like to use KSP as a simulator rather than a game, and the more realistic the better, and they actually take joy in tricky physical interactions like that.  So maybe a mod would be nice, for people like that.

But that does not describe the overwhelming majority of KSP players (including me), who would merely be confused and annoyed by the complexity.

  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, magnemoe said:

True, however real world engines has far larger gimbal range than KSP engines, control system will simply rotate the engine to compensate for any unbalance. 
reaction wheels has to be bleed of if they fight drag or tidal forces. even light pressure. 

Most real life manned crafts are heavy and is just used on short missions so they use rcs not reaction wheels, exception is ISS who is long term. 
Like ion engines this is overpowered in KSP so we don't have 3 minutes rotations, this is not an issue for real probes but boring in a game. 

Totally agree, that's why I added the "as seen in KSP" caveat. I'm sure you've also seen how often KSP realities and ambitions diverge from reality. I think that's part of the charm!

As another note, for adding SAS management of stored reaction wheel momentum, my KSP rockets have already been dancing jaunty jigs with their SAS since the 1.0 switch. I think adding 'manage control resources' to their priorities will only make them dance harder! :)  ...  Come to think of it, @Snark, I can write up a general PID controller solver no problem, do you think squad would want one? I know they like they like to do 100% code development in house, but would they want formulas? 

Edited by Cunjo Carl

Share this post


Link to post
Share on other sites
13 minutes ago, Cunjo Carl said:

Come to think of it, @Snark, I can write up a general PID controller solver no problem, do you think squad would want one? I know they like they like to do 100% code development in house, but would they want formulas? 

Well, so can I, and so I expect can lots of folks, and so can the devs at Squad, I expect.  They have some pretty smart people there who know their work.  And I suspect they know how to type "PID formula" into the Google search box as well as you or I do.  KSP has its share of problems, but those problems are not "because the developers don't know how to code."  :wink:

I don't work for Squad and therefore don't have any more insight than you do into the answer to your question.  However, speaking as an outside-observer-of-Squad for the past couple of years, not to mention as a professional software engineer with a couple of decades of industry experience, I'd have to say that I'd be astonished if they took you up on such an offer.  If they want the code, they can just write it.

The fact that SAS has such problems is not just a matter of "here, take a couple of hours from someone who knows what they're doing, bang out the code and it's done."  There are good software-development reasons.  They have finite time, finite money, and finite staff.  They can't do everything at once.  And this isn't just a simple PID controller; the game has a lot of complex interactions among multiple parts (including ships that can wobble), and something that sounds good on paper can't actually be released to the players until it has been extensively tested in just about every possible scenario (which, given the Lego-like nature of KSP, is a doubleplus much very big lot.)  This is especially the case since SAS is such a vital, central, game-unplayable-without-it feature to the game that they really can't take any chances with breaking it.

The TL;DR:  whenever you're using a piece of software, and you see something that looks like it ought to be easy, and is obviously sorely needed, and isn't there... there's probably a good reason it isn't (yet).

So my guess is that the idea's a non-starter.  But by all means bring it to @SQUAD's attention and see what they say.  :)

  • Like 1

Share this post


Link to post
Share on other sites
40 minutes ago, Snark said:

But that does not describe the overwhelming majority of KSP players (including me), who would merely be confused and annoyed by the complexity.

From the sound of it, it sounds like it would effect the game roughly as much as the need to settle the fuel before a burn in RO/RSS (maybe even less as there aren't particularly good reasons to wildly keep accelerating in the same axis).  I'm guessing it is a lot harder to code (probably the hard part is showing how much angular momentum is available, but it might just be coded in too hard).

But it really looks like the modding difficulty is more than the degree of accuracy annoyance.  Look at how far the modding community went with N-body physics.  Now that is a seriously hard-coded limitation in KSP that several people just couldn't handle (I'm in the "please give us fake SOI at Lagrange points" camp, but wants to play with "fuzzy boundries" at some point).

  • Like 1

Share this post


Link to post
Share on other sites
5 minutes ago, wumpus said:

From the sound of it, it sounds like it would effect the game roughly as much as the need to settle the fuel before a burn in RO/RSS (maybe even less as there aren't particularly good reasons to wildly keep accelerating in the same axis).  I'm guessing it is a lot harder to code (probably the hard part is showing how much angular momentum is available, but it might just be coded in too hard).

But it really looks like the modding difficulty is more than the degree of accuracy annoyance.  Look at how far the modding community went with N-body physics.  Now that is a seriously hard-coded limitation in KSP that several people just couldn't handle (I'm in the "please give us fake SOI at Lagrange points" camp, but wants to play with "fuzzy boundries" at some point).

Actually, I think it's precisely the other way around in this case.

Modeling the reaction wheels would actually be very easy to do, programmatically.  You just give each reaction wheel two properties:  1. the current angular momentum stored in it (a vector), and 2. the storage capacity of the wheel (a scalar).  It would be really easy to model and code.

The problem is one of game and UI design, and playability.  I think it would be really hard to come up with a really intuitive UI that would work for players... especially since the thing you're trying to model is a complicated physical concept that's way harder to understand than ullage.

In short:  I'd say that the reason it's not there isn't because it's hard to code (because it wouldn't be).  It's because it's hard to get humans to understand it well enough to have fun.

9 minutes ago, wumpus said:

But it really looks like the modding difficulty is more than the degree of accuracy annoyance.  Look at how far the modding community went with N-body physics.  Now that is a seriously hard-coded limitation in KSP that several people just couldn't handle (I'm in the "please give us fake SOI at Lagrange points" camp, but wants to play with "fuzzy boundries" at some point).

That's a completely different problem.  N-body physics are really damn hardBy "hard", I mean "proven to be mathematically impossible to solve."  You can simulate it to a certain degree of accuracy with a computer running an iterative solution... but it's a very difficult computational problem, excruciatingly hard to code in a way that's performant, and even an "ideal" solution is going to blow up computationally as the number of objects increase.

That is why we don't have N-body physics, and aren't going to any time soon.

Angular momentum (i.e. the "Reaction Wheel Problem") is trivially simple in comparison; the difficulty there is with the player, not with the math or the code.

Share this post


Link to post
Share on other sites
2 minutes ago, Snark said:

No, it doesn't work that way.  There's  no limit on "degrees of rotation."  You could have a thousand-ton ship, and a little one-kilogram reaction wheel can rotate that giant ship by as many degrees as you like.  (It will take practically forever, but give it enough time and it'll get there.)  What it can't do (and which the KSP wheels can, which is what makes them impossible) is impart persistent rotation to the ship.

My point wasn't to get exactly the way it would be in real life, just closer, in particular limiting it so it doesn't seem like the flywheel can keep accelerating infinity and never shatter; I was really just speculating on a couple of hopefully computationally easy ways to simulate the saturation effect.   So by limiting the amount of degrees, I'm not saying that is the way it works in real life, I'm saying that would be a quickie way (programming short cut) of including saturation into the problem as that is programmatically probably a quick way of approximating RL saturation, sure your ship keeps rotating it's just the reaction wheel is no longer helping.  

Now as to how to slow it down using "brakes" i.e. get rid of the excess momentum, well due to the complications my idea was to simply give a short period where the wheel no longer works, this way we don't have to calculate all the counter effects, while of course it's still not acting like it should in RL, at least it's a little closer.  This method is also, of course computationally easy (since you don't have to compute anything just wait a bit). 

Also you can, if I understand how they work, use torque rods if you happen to be in a convenient magnetic field to bleed off the momentum without effecting the ship instead you bleed it of to whatever is generating the magnetic field (in LEO that would be the Earth, of course); sort of like we rob a planet of a bit of its momentum when we slingshot around it. 

Once that is done and we have a more realistic wheel than we might go for the second part and simulate exactly how the reaction wheel works if we want to get closer to the real thing than our semi-realistic wheel.

Of course, it may well be that 99.9% of people trying to use a realistic reaction wheel would quickly go back to the standard one, but it might be fun to try one and see how it works in RL and how it might complicate the game and so on. 

Nice explanation, your examples are very good and helped my get an even better grasp on this.   I like the trash can analogy reminds me of my chemistry prof who explained the second law of thermodynamics with the simple example of how much more effort/energy is required in keeping your house clean rather than just letting entropy reign supreme. 

Share this post


Link to post
Share on other sites
3 minutes ago, Snark said:

That's a completely different problem.  N-body physics are really damn hardBy "hard", I mean "proven to be mathematically impossible to solve."

I think a mathematician would quibble on your definition of "proof".  Certainly any "solution" would contain the same instability of a simulation (after a million years or so, changes in weather today would alter which side of the Sun the Earth ends up on).

There are two issues with KSP's gravity simulation:

1.  The spacecraft is only effected by a single source of gravity: fixing this in "unwarped time" is trivial.  Just add a "F=Gm1m2/r**2" for each body in the system.  Problem: you can't have "physicsless warp" anymore.  I'm not sure how they deal with that (and does it make ion drives functional?).

2.  The planets/moons are on rails.  Well, first you have to fix Jool's moons, because they have been known to be unstable for quite some time (and early simulation showed a moon ejected only after a few orbits).  Then your calculations bog down as you get to compute that "F=Gm1m2/r**2" as it scales factorally over the number of bodies you are willing to calculate.  Somehow I suspect that for anyone willing to get rid of Squads SOI hack, they feel fixing this is necessary (I doubt it changes the game at all).

In the end, the problem is remarkably similar to the "inertial wheel problem".  While doing the physics is *hard*, the reason you need to do hard physics is the UI (KSP players like warp and don't want to sit and watch in realtime).  Basically it comes down to how accurate you want your maneuver nodes.  Computing a maneuver node requires you to simulate all the physics for the entire length of time the maneuver node shows.

I'm guessing the UI for running out of available angular momentum is easy.  Using RCS to compensate while reducing the angular velocity of the wheels is something else.  I'm sure there are kerbal players at APL (Johns Hopkins Applied Physics Laboratory, the place that runs Hubble), can we find them and ask them how they control Hubble's reaction wheels?

Share this post


Link to post
Share on other sites
47 minutes ago, Snark said:

Well, so can I, and so I expect can lots of folks, and so can the devs at Squad, I expect.  They have some pretty smart people there who know their work.  And I suspect they know how to type "PID formula" into the Google search box as well as you or I do.  KSP has its share of problems, but those problems are not "because the developers don't know how to code."  :wink:

I don't work for Squad and therefore don't have any more insight than you do into the answer to your question.  However, speaking as an outside-observer-of-Squad for the past couple of years, not to mention as a professional software engineer with a couple of decades of industry experience, I'd have to say that I'd be astonished if they took you up on such an offer.  If they want the code, they can just write it.

The fact that SAS has such problems is not just a matter of "here, take a couple of hours from someone who knows what they're doing, bang out the code and it's done."  There are good software-development reasons.  They have finite time, finite money, and finite staff.  They can't do everything at once.  And this isn't just a simple PID controller; the game has a lot of complex interactions among multiple parts (including ships that can wobble), and something that sounds good on paper can't actually be released to the players until it has been extensively tested in just about every possible scenario (which, given the Lego-like nature of KSP, is a doubleplus much very big lot.)  This is especially the case since SAS is such a vital, central, game-unplayable-without-it feature to the game that they really can't take any chances with breaking it.

The TL;DR:  whenever you're using a piece of software, and you see something that looks like it ought to be easy, and is obviously sorely needed, and isn't there... there's probably a good reason it isn't (yet).

So my guess is that the idea's a non-starter.  But by all means bring it to @SQUAD's attention and see what they say.  :)

I totally wasn't implying that squad doesn't know how to code, so I really hope it didn't come across that way! I feel exactly the opposite, in fact. To explain my point of view, one of the many hats I wear in my day job is a control systems engineer including many-complex-interacting-parts systems, so you know, not wanting to stick my nose in, it just got me thinking. On the other hand I've also written physics analysis software and simple/unpopular videogames, so we'll say I have a front line experience and appreciation for what squad's accomplished, which is:

A. A CAD system, which I pine for when using the professional alternatives. I'm looking at you, autocad!
B. A multifacetted physics simulator that's accurate enough to be highly educational but simple enough to be highly enjoyable
C. A program which works on small ships across huge expanses of space
and D. An ongoing community of die-hard fans.

It's bloody impressive! I also have an appreciation for how a small team can't have an expert in everything, so I don't worry too much when the control systems for my rocket start oscillating divergently. It was just a thought.

Wow, hot topic, apparently!


 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now