Jump to content

Is it technically possible to build huge rockets that don't wobble? Is KSP realistic?


EzinX

Recommended Posts

I'm not a mechanical engineer. I'd love links to explanations about mechanical springiness and how they apply to large structures.

If I understand things correctly, if you have a large structure made of lots of pieces of metal like a large orbiting rocket, when you do something to perturb the system, there's a delayed response.

For instance, suppose the large structure is just floating in orbit. You then activate a large rocket engine connected to the structure. This new force will compress the metal structural elements near the engine, and those compressed structural elements will compress the elements adjacent to themselves, and so on down the line. A compressional wave will travel all the way to the end of the rocket and return. Since no realistic large rocket is perfectly symmetrical, some of these forces end up causing twisting the structure slightly. The twisted structure makes the rocket engine no longer point "straight", which leads to off center thrust, which can lead to the ship turning.

Playing the game, large structures becoming increasingly difficult to control. You can make all your burns very low thrust, but that makes them take hours, and the way the game is programmed, physical timewarp sacrifices accuracy and ghost forces will tear your ship apart.

Suppose it's a future world where we have the technology to build huge spaceships. Maybe exotic engines such as nuclear salt water/black holes or even "cheat" engines that don't need propellant are available. Can you manufacture an ocean liner sized spaceship that won't wobble around as it flies? How would you construct it?

The game seems to simulate physical springiness at the joints between components rather than internal to the components themselves. I would assume no real rocket is going to use discrete parts that are rigid bodies with floppy joints. You'd bolt or weld all the sub components together so the only source of wobble is compression of the structural elements themselves.

Is it possible to build dampers into a structure to soak up compressional disturbances so that they don't cause the overall structure to jerk around? Or perhaps increase thrust on a rocket engine very slowly so that there's no sudden change that causes the initial compression in the first place. This game seems to throttle up near instantly, perhaps that is part of the problem?

One final question. Docking ports in this game, which are needed to connect multi-part ships launched as separate pieces, add huge amounts of wobble. Has NASA or another real space agency ever designed docking ports that connect the two vehicles together more securely, say with big bolts that automatically screw from one spacecraft into another, or some other method of mechanical attachment? You would need this if you ever wanted to build a vehicle constructed of many small components that you wanted to send on a trajectory to Mars with an interplanetary burn.

Link to comment
Share on other sites

Yes, any large structure will wobble. Ever been at the top of the skyscraper on a windy day? There is nothing you can do to stop it completely. What you can do is prevent resonances, because that's the way such oscillations can build up to exceed structural strength. Happened to some bridges in the part. Happens to rocket engines all the time while they are being developed. Problem for rocket overall as well. But it's the sort of problem that can be solved.

In KSP, there are two problems. First, devs decided to use Unity's joint system to hold things together. That wasn't necessary, as one can use rigid physics to simulate the rocket, and it would fly like a single solid object. And yes, you can still compute stress on a structure like that, and still waste fewer resources than KSP does. And while yes, there is some realism to how KSP rockets behave, and real rocket would behave much in the same way if engineers building it didn't think it through, with real world rockets we have way more control over how the structure is built, down to which materials are used where, as well as in how the rocket is controlled. This is the second part of the problem. KSP uses a very simple algorithm to keep the orientation of the rocket consistent. It's a modification of the PID algorithm. While it's possible to tune a PID algorithm to play nice with your structure, the PID parameters in the game are fairly generic. That means that oscillations induced by the PID can hit a resonance with one of the normal modes of your structure, and the whole thing will fly to hell no matter how many struts you put in.

Anyways, these are some of the major differences. In short, yes, KSP physics is pretty realistic with regards to wobble, but because we don't have the right tools for fighting it, it would actually be more realistic overall to go with a rigid body physics and get rid of the wobble all together. But hey, it's a game, and this is one of the game's challenges, intended or not.

Link to comment
Share on other sites

K^2, thanks for the reply. Question : if you simulated rockets as a single monolithic rigid body, how would you model the wobble? I've read about methods to compute stress computationally. One method is called the Applied Element model, and it sounds straightforward : you break the thing being simulated into separate subcomponents and you have each subcomponent apply the various vectors of stress to their neighbors. One logical method of division would be to create as many elements as a typical CPU can support. So if you discover a 100 element model is the limit, you'd divide every rocket into 100 elements. This means that bigger rockets effectively have lower resolution for their structural analysis - but their parts are bigger and stronger, so it might work out ok.

As for wobble : could you treat each model in the game as a giant spring, and actually move the vertices along the direction of compressional stress? I read this game allows you to do very easy rescaling where you simply adjust the coordinates by a fixed factor - I saw a snippet of code that does this, and it's super easy. To go from 1.25 meter to 2 meter everything just doubles in size. So if you have a component experiencing N Newtons of stress, and you know it's "springiness factor" will cause it to compress by 0.01 times N, then you would realtime rescale the object so that it gets slightly shorter visually to reflect it compressing under the load.

- - - Updated - - -

Not possible. The tallest Skyscrapers use dampeners to counteract the vibration/swaying that occurs from building tall;

Do dampers work on spacecraft? I never said the goal was to make a structure that didn't wobble passively. If active dampers have to trigger to cancel out wobble, that's fine.

Link to comment
Share on other sites

Things like ships, buildings and rockets are often perceived as rigid, but far from. I think we have all seen the dramatic footage of towers swaying in the recent Japan earthquake. Stress can look even more dramatic than that though; the ship in this clip is more reminiscent of a train going through bends than a rigid ship, yet it is all within design limits. When designing something, you really are limiting/specifying the maximum flex and deformation allowed under a certain load, instead of designing the thing not to flex at all (which is not really possible).

Link to comment
Share on other sites

K^2, thanks for the reply. Question : if you simulated rockets as a single monolithic rigid body, how would you model the wobble?

You wouldn't have wobble. Just static stress. You compute forces required to keep the object rigid. In a real rocket, these forces are the various kinds of stress in the parts. These stresses correspond to part deformation. If there is a lot of deformation, you see the structure bend. KSP's simulation is similar. Parts themselves don't deform, but they shift relative to each other as if if they did, because joints have a bit of a slack to them.

In a rigid body approach, you assume that deformations are zero. You still have corresponding stress, but the structure doesn't bend under it. This isn't quite as realistic, but if the real rocket bends enough for it to be visually obvious, something went horribly wrong. So for a game, it really wouldn't be a problem to simply always display the structure as if it is perfectly rigid. This has additional benefit. Because the structure doesn't actually bend, you don't end up with various induced oscillations due to PID and thruster behavior. So essentially, you've just killed all of the sources of resonance. So while the model you use isn't as realistic in terms of physics, it gives you result that's much closer to what a well-engineered rocket should behave is.

The way you compute constraint forces is by solving a constrained dynamics problem. In general, the problem is difficult, but so long as you deal with it to first order and use tricks like singular value decomposition, it's very manageable, and actually takes up less resources than simulation KSP uses. I've given a talk on that at Havok a couple of months back, actually.

Link to comment
Share on other sites

The way you compute constraint forces is by solving a constrained dynamics problem. In general, the problem is difficult, but so long as you deal with it to first order and use tricks like singular value decomposition, it's very manageable, and actually takes up less resources than simulation KSP uses. I've given a talk on that at Havok a couple of months back, actually.

More details, please! Was the talk recorded? Do you work for or with Havok? Does Havok as a game physics engine have internal support for any of this or would you or someone else have to implement a constrained dynamics solver?

How difficult would it be to display the model of the rocket (or something else) bending under the strain. This would be a visual only effect so you don't get the PID oscillations, you would simply change the vertices of the models slightly to reflect the parts deforming under stress.

Link to comment
Share on other sites

More details, please! Was the talk recorded? Do you work for or with Havok? Does Havok as a game physics engine have internal support for any of this or would you or someone else have to implement a constrained dynamics solver?

Just an interview presentation. I ended up taking a different offer, so no, I'm not affiliated with Havok in any way.

How difficult would it be to display the model of the rocket (or something else) bending under the strain. This would be a visual only effect so you don't get the PID oscillations, you would simply change the vertices of the models slightly to reflect the parts deforming under stress.

Depends on how precise you want to be. Also, on the way things are inter-connected. If we ignore struts, the way things are connected in KSP, you can get away with deformation tensor per part for a very good approximation. You'd need a custom shader to go along with that, but it's easy enough even under Unity. Struts would then simply have to be whatever length they need to be to connect the two points. That can lead to silly-looking things under extreme stress, but presumably, parts will fail before that happens.

Link to comment
Share on other sites

First of all, disclaimer time: I'm a mechanical engineer, but have no experience of the rocket design process.

Speaking generally KSP is such a gross simulation that it really bears no resemblance to the tools and techniques of a professional engineer. You're correct in your understanding of stress waves and elastic reactions in structures, it does need to be given careful consideration.

Engineers divide this kind of thing into two classes of problem, statics and dynamics. A static analysis will generally use tools such as finite element analysis that you mention. This allows us to model things like the distribution of stress intensity within a part. While stress intensity can also tell you how it will deform engineers are first and foremost looking to prevent failure. The geometry of a part affects the stress intensity, it's concentrated around sharp bends and holes, for example. So a finite element model would be built with this in mind, at the level of components or assemblies.

Rockets however have the additional problem of being very dynamic. Like I said I'm not familiar with their design process, but I would imagine that individual assemblies are designed so that they perform to certain tolerances, then these assemblies are considered as discrete elements in a larger model, with the performance they were specified to have. In other words, a large assembly like a fuel tank might be considered as a single element in a larger dynamic analysis to have certain elastic properties, because the entire tank was simulated in detail in a model specifically for the tank. A dynamic model of the entire rocket would have to chunk the components into reasonably large elements, you're not going to model every screw and rivet.

But to answer your specific question: yes it's not just possible to design rockets that don't wobble, it's what people get paid to do. It would be important to design the rocket so that dynamic reactions from the engines did not introduce any significant "wobbly". You're always going to get vibration, but as long as you're noy getting resonance and it's minimised that's fine. Besides thrust the other considerable source of forces would be aerodynamic. Some of that is good, you may need to induce controlled aerodynamic forces for control, and your control system will involve and element of damping, if only in the software.

Edited by Seret
Link to comment
Share on other sites

Things like ships, buildings and rockets are often perceived as rigid, but far from. I think we have all seen the dramatic footage of towers swaying in the recent Japan earthquake. Stress can look even more dramatic than that though; the ship in this clip is more reminiscent of a train going through bends than a rigid ship, yet it is all within design limits. When designing something, you really are limiting/specifying the maximum flex and deformation allowed under a certain load, instead of designing the thing not to flex at all (which is not really possible).

You can see it in planes too, down ie. the midter aisle.

I wonder though, just as a purely theoretical exercise, how much extra materials you would need to add to absolutely minimize flexing in a large ship like that.

Link to comment
Share on other sites

I wonder though, just as a purely theoretical exercise, how much extra materials you would need to add to absolutely minimize flexing in a large ship like that.

That would most probably be a matter of an asymptotic curve, with diminishing returns and increasing material cost. That means it would pretty much depend on your definition of minimize, as you can pick any point and it would have a certain (big) amount of material attached to it.

Link to comment
Share on other sites

You can see it in planes too, down ie. the midter aisle.

I wonder though, just as a purely theoretical exercise, how much extra materials you would need to add to absolutely minimize flexing in a large ship like that.

Depends what you mean by absolutely minimise. Define a limit and design down to it. Generally the idea is to try and be a bit more clever than simply throwing more metal it. You can play around with geometry. You're normally trying to minimize the amount of materials used to stay within your specs.

Link to comment
Share on other sites

What about active dampers? I'm thinking big cylinders containing springs/hydraulic oils or superconducting magnets. Those would soak compressional impulses.

There could be big cables threaded through the hull attached the big reels connected to superconducting motor/generators. These would soak up tension and some torsional impulses.

Link to comment
Share on other sites

Interesting concept, but the first objection that comes up in my head is "That would probably be quite heavy"

Rockets and airplanes are designed to be light and stiff, in that order of priority. A certain amount of flex is expected, and in some cases, desired. That means that "but that would be heavy" is, by itself, usually enough to rule out solutions that have it as a disadvantage.

The wings of basically every single modern passenger airplane are actually designed to flex a certain amount in flight. Wings that don't flex would weigh a lot more, which would mean taking either less payload or less fuel.

That's actually most of the reason that airplanes and rockets are built with aluminum alloys, Al/Li alloys, and titanium alloys, instead of steel alloys.

It might take more volume of those alloys to get the same strength as steel, but it will still end up weighing less overall.

Basically, the goal is "As light as possible while still remaining safe". Most of the "remaining safe" part is handled by making the parts a little bit stronger than absolutely required, and then manufacturing the part to be as close to exactly that strong as possible. Strength takes mass, after all.

For example, a part that is required to take a 1 kN tension load will be designed to fail at 1.25 kN tension, giving a 25% safety margin. In extreme cases such as safety critical parts, there can be 200% safety margin or more. Usually that's only seen when failure of the part will result in catastrophic failure of the entire device, and multiples of the same part won't help or can't be done (space constraints, failure of any one of them results in same catastrophic failure no matter how many of them there are, etc.)

Also, if you make a structure TOO rigid, it will fracture instead of bending. That's NEVER a good thing. Bent parts can be unbent. Fractured parts can only be repaired by welding or use of a patch panel. Both of those options are weaker than an unbent part. Of course, a bent and unbent part will be weaker than a part that wasn't bent in the first place, but that can often be solved by reapplication of the heat treatment used on the original part, if any. If there was no heat treatment originally, it should be annealed to remove any work hardening that happened.

-edit-

Dampers for what purpose? A well-designed rocket won't have any oscillations that need big heavy dampers.

The dampers used might not be big and heavy, but each Space Shuttle Main Engine actually has damper bellows in the LOX feed line to prevent oscillation of the thrust produced, commonly known as "pogo oscillation"

Pogo is a resonance problem, which is why dampers work so well. They don't actually get rid of oscillations, they just change their frequency to one that nothing else on the vehicle resonates at.

The F-1 engine also had problems with pogo, but it's designers were able to work that out by modifying the combustion chamber geometry.

The Atlas missiles that were converted for launching Mercury and Gemini capsules had pogo issues too, IIRC.

Oh, and don't forget the center engine on the 2nd stage of Apollo 13's Saturn V. That was pogo induced by the flexing of the structure that the engines mounted to, and actually if that engine hadn't shut itself off, Apollo 13 might have ended much sooner than it did.

Edited by SciMan
Link to comment
Share on other sites

Question : why can't you just stick a computer controlled regulator valve on the fuel line instead of using dampers? When the fuel pressure rises, the valve closes inward, when the pressure lessens, the opposite happens. This would cause the total thrust produced to remain constant.

So I take it this oscillation is exactly the issue we end up with in the game. The game tries to model the ship flexing at the joints, which causes the section of the ship attached to the rocket engine to move sideways. This causes more flexing at the joints, which feeds back to the rocket engine which causes more sideways movement and so on.

I've seen big rockets wobble themselves to pieces, or, at best, they end up stray far from their desired navball direction.

Link to comment
Share on other sites

Actually, pogo is not modeled in KSP. Pogo is the THRUST of the engine varying, not it's position. In KSP, the engine wobbles on its mounts, and the engine's gimballing is the driving force behind the rest of the ship wobbling. If the launch rocket is wobbling, turning off SAS and staying off the controls should stop the wobble, most of the time. If that doesn't do it, cutting thrust should. If cutting thrust doesn't stop the wobble, you've summoned the Kracken.

In KSP, pogo would be like the game changing the throttle setting between 5% above and 5% below your intended setting, every other frame.

Here's what that would mean, frame by frame, assuming that you set the throttle at 90%.

Frame 1: Player throttle setting = 90%, Pogo throttle offset = +/-0%, Actual throttle value = 90%

Frame 2: Player throttle setting = 90%, Pogo throttle offset = +5%, Actual throttle value = 95%

Frame 3: Player throttle setting = 90%, Pogo throttle offset = +/-0%, Actual throttle value = 90%

Frame 4: Player throttle setting = 90%, Pogo throttle offset = -5%, Actual throttle value = 85%

Repeat from frame 1.

Worse pogo would change the throttle by more, higher or lower frequency would change how fast the throttle's value is altered.

Essentially, it acts like the rocket engine is attached to a jackhammer. If any part of that rocket vibrates at the same frequency as the pogo oscillation, expect that part of the rocket to become damaged, destroyed, or snap off.

Edited by SciMan
Link to comment
Share on other sites

Question : why can't you just stick a computer controlled regulator valve on the fuel line instead of using dampers? When the fuel pressure rises, the valve closes inward, when the pressure lessens, the opposite happens. This would cause the total thrust produced to remain constant.

The thing is, today you have computers than can calculate frequencies and oscillations, so you can predict this kind of behaviour fairly easy and also fix it before you build anything. Back in the days of Apollo, this was a lot harder, since you pretty much needed to build the thing and test it. Things become a little more complicated when a lot of different elements are all adding to the chaos, but in general solutions such as large dampers or computer controlled compensation are not necessary since you would have to have a general idea of what you are trying to compensate, and if you do, you could prevent those oscillations in the first place. Today designs can be run through a lot more iterations before they are actually built and the physical stage is often much more about validation than shear development.

We are living in a beautiful era, with the right software you can easily do these types of calculations at home.

Link to comment
Share on other sites

Having said that Camacha, models aren't foolproof. This is quite recent:

You are totally right of course, that is why I spoke of (or hinted at) the importance of validation. A large portion of the process can be done virtually, but proving your conclusions in the real world is still essential. If you decide to do that in the final product, or if you have no other choice than to do it that way (as is often the case in large one-offs) unforeseen problems can arise. Simply said, models only take into account what you have modelled.

I am not terribly familiar with the London Millennium Footbridge project, but from what I read about it it seems there was an oversight what factors were in play. That soldiers walking in step can cause problems with vertical oscillations was already well known, but the fact that randomly walking pedestrians display similar behaviour on a bridge in the vertical plane was something not taken into account. The engineers simply did not check those conditions back then, but I am fairly certain these deliberations are included in most pedestrian bridges now. If you know where to look and what to look for, it is not that hard.

Edited by Camacha
Link to comment
Share on other sites

But no rocket wobbles as much as these in KSP do. You'd see catastrophic collapse long before any rocket would bend to the degree it happens in KSP.

True, KSP doesn't model anything like buckling, which is quite a low energy failure mode.

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