raveloda / Coatl-Aerospace

KSP Mod Repository
26 stars 22 forks source link

Fomalhaut Heatshield Improvements #53

Open raveloda opened 7 years ago

raveloda commented 7 years ago

Originally suggested by JSO:

jsolson commented 7 years ago

The colliders are much improved, though there's still a tiny bit of clipping. An excellent test is to set the decoupler force to zero, cheat into orbit, stabilize, and decouple - no immediate movement should happen (try it with the heatshield attached to the top node of the decoupler where there's clearly no clipping). You might be able to eliminate the last little bit by pulling in the colliders on the heatshield slightly. I realize this is a tight area, and it's pretty good as-is.

Another issue. Think of a decoupler as a spring placed between the center of mass of the decoupler and the center of mass of the attached part. With offset arrangements like this the force applied can be the opposite of what you expect, since the center of mass of the attached part might be below the decoupler's center of mass. This is not always apparent, since the object bounces off the mother ship collider and moves in the intended direction. The collision however introduces movement/rotation into both objects, giving you an unclean decouple with both objects spinning to some degree.

The center of mass of a part is the 0,0,0 position. In this part combination case the 0,0,0 position of both parts is at exactly the same place when attached at node_stack_fomal. This results in force being applied in a random direction, though "random" is consistent between identical craft.

The best solution is what's always good practice anyway. Make sure the 0,0,0 position is at the center of the decoupler. The top node would end up at +0.0305, and the bottom node at -0.0305 (and node_stack_fomal at -0.2615). Leave the heatshield as it is. It's high non-centered 0,0,0 point helps here keeping it above the decoupler center point.

The relative positions of decoupler/attached object center of mass combined with clipping are two different problems and when combined will cause confusion.

jsolson commented 7 years ago

Occurring to me as I'm walking out the door... moving the heatshield bottom node down to -0.293 or -0.295 might solve both problems, lifting it a few mm.

jsolson commented 7 years ago

Moving the node didn't help. There needs to be a noticable gap between the decoupler/heatshield before the colliders are clear.

More stuff... Could you check the collider around the bottom ring of the Fomalhaut probe. I'm detecting oddities surface attaching to the bottom of it. Might just be a KSP thing.

The heatshield shroud jettisons crazily sideways, though the probe. I tried zeroing out the jettision forces so it just falls away, but it hangs quite easily where visually there is room for it to fall away - colliders again. If possible I think this would work best by splitting it in half LV-N style.

The sphere does not shield parts. Might be able to fix that with a ModuleCargoBay, but I'm not certain that will work with a shroud.

raveloda commented 7 years ago

This was a tricky piece to setup logistically. I considered the dual LV-N style shroud, but I decided to go a little more like the RL part. It would not be too difficult to split it, but as you said, it would not handle the internal part shielding. I could have sworn it did. Maybe there is a module setting I am missing

EDIT: What was weird about the bottom ring collider? I had to adjust it multiple times, but I thought I had it setup better this time.

jsolson commented 7 years ago

What was weird about the bottom ring collider?

Try to surface attach a thermometer where you never would, to the bottom of the the Fomalhaut probe. You can't do it. The hemisphere closest to the flag in the VAB is particularly odd. The surface seems to jump out to twice the visual models diameter.

Shielding requires a ModuleCargoBay (see any p-fairing part), but that requires a module that can report an open/closed state (ModuleCargoBay.DeployModuleIndex). I haven't has an opportunity to check if ModuleJettison can do that, but I really don't expect it to work. The shielded test is to stick a deployable solar panel inside and see if it will extend. It will not when it's shielded.