UmbralRaptop changed the topic of #principia to: READ THE FAQ: http://goo.gl/gMZF9H; The current version is Fuchs. We currently target 1.5.1, 1.6.1, 1.7.x, 1.8.1, and 1.9.1. <scott_manley> anyone that doubts the wisdom of retrograde bop needs to get the hell out | https://xkcd.com/323/ | <egg> calculating the influence of lamont on Pluto is a bit silly… | <egg> also 4e16 m * 2^-52 is uncomfortably large
<discord-> e​gg. — @lamont PVG is multiple shooting, right?
<discord-> l​amont. — yeah
<discord-> l​amont. — although for a burn (without staging) that'd just be single-shooting
<discord-> e​gg. — that seems nice wrt Principia integration (Principia would have to do the shooting and to compute the residual, and MJ can do the optimizing)
<discord-> l​amont. — you have to integrate the costate equations as well
<discord-> D​iego_. — Sure, not complaining, both mechjeb and principia are awesome, I was surrprised, I mean, it looks like everything is there, principia gives the total deltaV and navball direction, it's just in RP-1 the burn time seems less reliable
<discord-> e​gg. — yeah, I guess we can do that
<discord-> D​iego_. — thanks for the reply anyway!
<discord-> e​gg. — @Diego_ things are not as simple as you think they are
<discord-> l​amont. — so you've given r0, v0, m0 along with pv0 and pv0 (all three-vectors except for m0)
<discord-> l​amont. — the residual is also stupidly funky depending on your target conditions
<discord-> e​gg. — yes, of course
<discord-> D​iego_. — @egg I appreciate that 😅
<discord-> e​gg. — which really is mission-dependent, rather than just trajectory-dependent
<discord-> e​gg. — since which properties of the trajectories you want to optimize will vary
<discord-> e​gg. — hopefully a least-squares-in-the-plotting-frame cheesy approach would do the job
<discord-> l​amont. — i need to dig up the paper again that goes into the proper way to do the terminal conditions for finite burn execution, because the naive way of (rT - rf, vT - v0) is not stable
<discord-> l​amont. — oh right and frames
<discord-> l​amont. — ergh
<discord-> e​gg. — yeah anything that tries to look at just the instantaneous final state is wrong by design
<discord-> e​gg. — you can have highly unstable target trajectories
<discord-> e​gg. — so you really want to look at the residual on that ultimate trajectory, for some definition thereof
<discord-> l​amont. — so for rendezvous the naive way to do it is -- working backwards -- to pick a point on the destination orbit at a given time, then you have an unpowered coast phase on that destination orbit (where the time may be negative so the integrator needs to be able to go backwards in time), then that allows the attachment point to be optimized, then you have the powered burn phase, then you allow a coast (
<discord-> l​amont. — trying to target in the plotting frame in principia will likely be horrible because of the primer vector equation. rotating coordinate systems will probably result in a lot of partial derivatives.
<discord-> e​gg. — hm
<discord-> e​gg. — the situation is a bit different though
<discord-> e​gg. — since you don't have a specific goal as for rendez-vous
<discord-> e​gg. — but rather a target trajectory (which the planner tells you is feasible, since you planned it with roughly the right configuration)
<discord-> e​gg. — and since that is not pointlike you likely want to look at a residual integrated over the whole target trajectory
<discord-> e​gg. — (and frames matter there, obviously)
<discord-> l​amont. — for the most part i suspect that a finite burn executor would work fine just assuming high energy orbits and burns and single body keplerian physics. it'd be vastly more accurate that what principia has now.
<discord-> l​amont. — that would fail near the L-points and where the central body is ambiguous, but i'll bet that PVG's approach inherently fails near there (the indirect method is going to have a heart attack from Lissajous orbits
<discord-> e​gg. — hm
<discord-> e​gg. — I should read up on PVG one of these centuries
<kmath> <eggleroy> <Majiir> I really am imagining egg just drowning in a sea of papers https://t.co/P2iqkDT7CN
<discord-> l​amont. — yep
<discord-> l​amont. — PVG is very, very mathematically unstable
<discord-> l​amont. — the condition number of the jacobian is very high, even just for a simple finite burn in LEO
<discord-> l​amont. — stuff like low thrust trajectory optimization led to the development of direct collocation methods back in the 70s
<discord-> e​gg. — So I guess therein lies the next iteration of MechJeb guidance
<discord-> e​gg. — :-P
<discord-> e​gg. — what decade are you in at the moment
<discord-> l​amont. — PVG is still kinda 60s-ish
<discord-> e​gg. — you started with atlas-centaur so you have come a long way already
<discord-> l​amont. — well probably 70s-ish
<discord-> l​amont. — in the 80s direct methods started to take over for mission planning anyway
<discord-> e​gg. — direct methods ?
<discord-> l​amont. — yeah
<discord-> e​gg. — ah direct collocation
<discord-> l​amont. — yeah
<discord-> l​amont. — discretize-then-optimize-without-costate (the "without costate" part i think is why it is "direct" -- you just write down the optimization problem and turn the crank -- kinda...)
<discord-> l​amont. — indirect is the calculus of variations / pontryagin maximum principle technique in PVG
<discord-> e​gg. — "turn the crank" on an optimization problem is an art already
<discord-> e​gg. — I fear we may have to start looking at that crank with #2400
<discord-> l​amont. — yeah its never that simple, but you don't have to mess around with costate and transverasality conditions, which is certainly voodoo and not "crank turning"
<discord-> e​gg. — haha
<discord-> l​amont. — then there's convexification and successive convexification
<discord-> e​gg. — I should successively overrelax
* discord- e​gg. — goes to bed_
<discord-> l​amont. — yep
egg|cell|egg has quit [Ping timeout: 204 seconds]
egg|cell|egg has joined #principia
raptop has quit [Ping timeout: 378 seconds]
<discord-> C​onventia. — Does principia prevent doing the set orbit cheat?
<discord-> l​amont. — it probably does not prevent it, but at best it doesn't work and at worst it eats the vessel
<discord-> C​onventia. — It seems to just teleport it back in place.
<egg|laptop|egg> hacking gravity is the escape hatch
<discord-> C​onventia. — I mostly just want to have an object that I can use to rendezvous with in a specific orbit.
<discord-> C​onventia. — Because well... planning orbits is hard.
<discord-> l​pg. — what egg said. alt-f12 window, Debug, Hack Gravity
<discord-> l​pg. — then both the stock orbit cheat and Hyperedit work fine
<discord-> C​onventia. — Thanks for the insight
raptop has joined #principia
egg|laptop|egg has quit [Remote host closed the connection]
Wetmelon has joined #principia
Mike` has quit [Ping timeout: 189 seconds]
Mike` has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|laptop|egg has joined #principia
Wetmelon has quit [Ping timeout: 378 seconds]
egg|laptop|egg has quit [Ping timeout: 378 seconds]
egg|cell|egg has joined #principia
<_whitenotifier-d13c> [Principia] Thorundir starred Principia - https://git.io/JfMan
raptop has quit [Ping timeout: 204 seconds]
<discord-> A​douge. — @lpg this would also be the way to go to remove the airlaunch orientation madness, right?
egg|cell|egg has quit [Ping timeout: 190 seconds]
<discord-> R​am. — I am returning to RO after a long time and I installed principia for the first time. Does it change anything until after orbiting earth?
<discord-> R​am. — I am just done the sounding rocket phase and wondering if I need to start to understand principia for the first sattelites missions
egg|cell|egg has joined #principia
<discord-> B​utcher. — You can largely ignore it for getting to orbit.
<discord-> B​utcher. — You will have a bit more precession than stock.
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #principia
egg|laptop|egg has joined #principia
<discord-> C​onventia. — I think the first time it really matters is lunar missions (or the communication constellation).
<discord-> C​onventia. — Otherwise, it's mostly just, warp to apoapsis and burn prograde.
egg|laptop|egg has quit [Remote host closed the connection]
egg|laptop|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #principia
egg|laptop|egg has quit [Remote host closed the connection]
egg|cell|egg has quit [Ping timeout: 204 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 189 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 189 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 378 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|laptop|egg has joined #principia
egg|cell|egg has joined #principia
<discord-> b​ongotastic. — Someone on another channel suggested that Principia may be to blame for instability when using airlaunch for X-planes. Anyone can confirm, or know of a workaround?
<discord-> b​ongotastic. — I wouldn’t have thought that Principia would mess with atmospheric flights...
<discord-> s​iimav. — Tick the hack gravity option from the f12 cheat menu when airlaunching
<discord-> e​gg. — if there is a bug when airlaunching I don’t know about it, and you should tell us about it
<discord-> e​gg. — on the other hand you should make sure that it is Principia and not some other thing
<discord-> b​ongotastic. — Thanks! I’ll try that whenever MkII comes out of production. Too bad that KRASH can’t do airlaunch to try this before it is for real.
<discord-> e​gg. — @siimav are you aware of an airlaunch-related issue?
<discord-> s​iimav. — I've heard reports
<discord-> e​gg. — or is that just generic advice to distinguish a principia bug from a non-principia one
<discord-> s​iimav. — So far only principia users have reported the vessel spinning out of control as soon as physics loads
<discord-> b​ongotastic. — My experience.
<discord-> s​iimav. — Even then, I think it doesn't happen every time
<discord-> b​ongotastic. — I’ve recovered barely once, but mostly just crash into the sea.
<discord-> e​gg. — I suspect some of that might be people learning that "unstability comes from Principia" in Fubini when we had that bug, and continuing to diagnose that one now that it is largely gone
<discord-> l​pg. — It's happened every time to me after the first time it happened. It's hard to pinpoint, since it isn't a feature I use often; but if I only had one guess, I'd guess it was introduced with fuchs
<discord-> l​pg. — however my sample size is 3
<discord-> b​ongotastic. — If there is any way that I could document this, happy to do so.
<discord-> e​gg. — @lpg well, if you have something reproducible send it our way
<discord-> e​gg. — Don’t recall doing much decoupling-related in Fuchs
<discord-> b​ongotastic. — Sure. What would you need? The process, logs, any other files?
<discord-> l​pg. — there's no decoupling
<discord-> l​pg. — "airlaunching" involves teleporting planes from the runway to a partocular altitude and velocity
<discord-> l​pg. — "airlaunching" involves teleporting planes from the runway to a particular altitude and velocity (edited)
<discord-> e​gg. — what is that sorcery
<discord-> l​pg. — in a way related to hyperedit and krash; things we already know run into issues with principia
<discord-> l​pg. — in a way related to hyperedit and krash mechanisms; things we already know run into issues with principia (edited)
<discord-> e​gg. — yeah, I don’t think we want to do any amount of work to support that kind of silliness
raptop has joined #principia
<discord-> l​pg. — that would be why I hadn't brought it up
<discord-> l​pg. — but since we're on the topic now... any thoughts on whether "hack gravity" is something that can be turned on & off programmatically?
<discord-> D​RVeyl. — There has to be a programmatic method. It's just how easy or hard KSP will make it ;)
<discord-> e​gg. — @lpg hack gravity does nothing in and of itself
<discord-> D​RVeyl. — The sorcery is avoiding rewriting vessel spawn logic. Ideally it would just spawn into flight.
<discord-> e​gg. — we just listen to that setting and programmatically use it to ignore the current vessel
<discord-> e​gg. — it is an escape hatch, not an API
<discord-> e​gg. — please don’t turn the escape hatch into an API
<discord-> e​gg. — it is inconvenient by design
<discord-> s​iimav. — Thing is that the escape hatch will become the API if there's no other option
<discord-> e​gg. — in that case I will remove the escape hatch
<discord-> s​iimav. — ¯\_(ツ)_/¯
<discord-> s​iimav. — I doubt that would do good for anyone
<discord-> e​gg. — indeed
<discord-> e​gg. — so if you have a use case that would require you to hack gravity all the time, report it
<discord-> e​gg. — don’t automate hacking gravity
<discord-> e​gg. — the hack gravity escape hatch does all sorts of nasty things (Principia will forget about all loaded vessels, not just the active vessel, those will get moved around since gravity will no longer properly apply to them, you will lose your flight plans, etc. etc.)
<discord-> e​gg. — @lpg so if you start automating that, you will produce extremely confusing behaviour
<discord-> e​gg. — at which point the minor benefit to us of providing a workaround for some edge cases will be outweighed by the cost of dealing with the noise,
<discord-> s​iimav. — Well, ideally principia would detect whether the orbit was changed through hyperedit, KCT etc and not overwrite those orbital parameters right away.
<discord-> s​iimav. — Or at least provide an API for those mods to tell Principia to not do that.
<discord-> s​iimav. — Well, ideally principia would detect whether the orbit/position was changed through hyperedit, KCT etc and not overwrite those orbital parameters right away. (edited)
<discord-> l​pg. — I expect in this case it isn't "orbital parameters" causing issues, but conservation of angular momentum
<discord-> l​pg. — I'd also guess there's a better than even chance is that the teleportation is "doing it wrong"
<discord-> l​pg. — I'd also guess there's a better than even chance that it's the teleportation that's "doing it wrong" (edited)
<discord-> e​gg. — yeah a lot of the vessel-spawning mods break assumptions that are true for stock-spawned vessels
<discord-> e​gg. — iirc we have a crash with ELP
<discord-> s​iimav. — ELP?
<discord-> e​gg. — taniwha’s mod
<discord-> S​tandecco. — extraplanetary launchpads is my guess
<discord-> S​tandecco. — should be EPL
<discord-> S​tandecco. — unless it's extralanterary paunchpads
<discord-> D​RVeyl. — Not sure there is a described method for telling Principia to NOT apply that angular momentum conservation and just accept some new state as the truth.
<discord-> D​RVeyl. — If there is, I'm sure we'd be happy to do that
<discord-> e​gg. — there is no such method
<discord-> s​iimav. — Yeah but if hack gravity fixes the airlaunch issue then that just means that Principia applying it's magic would have to be delayed for a bit
<discord-> e​gg. — and building such a method would be some work, so again my question is what the usecase is
<discord-> D​RVeyl. — The use case is not having to rewrite vessel spawn logic in order to change a new vessel's position and orientation, I believe.
<discord-> e​gg. — well, then, no
<discord-> D​RVeyl. — Position, velocity and orientation
<discord-> e​gg. — the "invariants" of KSP are hard enough to work with
<discord-> e​gg. — the weird breakages thereof that weird mods introduce are more than we care about
<discord-> e​gg. — I suspect the vessel situation or a similar mechanism could be used by the spawning code to signal that the vessel is not ready to be looked at
<discord-> D​RVeyl. — Possibly. What conditions does principia use to identify a vessel is or is not ready to be looked at yet?
<discord-> e​gg. — dead state, empty GUID (don’t ask), situations other than flying/suborbital/orbiting/escaping, will hit the ground in the next frame, unready kerbal
<discord-> e​gg. — vessels that belong to the emperor,
<discord-> e​gg. — anyway, the vessel situation should probably be prelaunch until the spawning code is done with it https://wiki.kerbalspaceprogram.com/wiki/API:Vessel.Situations
<discord-> s​iimav. — So in case of the airlaunch Principia doesn't apply itself before the vessel has been teleported into the air and is unpacked.
egg|laptop|egg__ has joined #principia
egg|laptop|egg has quit [Ping timeout: 378 seconds]
raptop has quit [Read error: Connection reset by peer]
raptop has joined #principia
egg|laptop|egg__ has quit [Remote host closed the connection]
<discord-> e​gg. — @DRVeyl @lpg so I think the conclusion is that the attitude adjustments should be made in the prelaunch situation
<discord-> e​gg. — if they are made unpacked and flying, we will interact with them in entertaining ways
<discord-> e​gg. — (or @siimav, whoever maintains that airlaunch thing)
<discord-> s​iimav. — Well they are already
<discord-> e​gg. — hmm
<discord-> e​gg. — > Yeah but if hack gravity fixes the airlaunch issue then that just means that Principia applying it's magic would have to be delayed for a bit
<discord-> e​gg. — @siimav considering that, perhaps a few more frames of prelaunch would do the trick?
<discord-> e​gg. — (or is some part of stock overriding your prelaunch without your knowledge? that can be a concern)
<discord-> s​iimav. — It's stock that changes the vessel situation after the *orbit* has been changed
<discord-> e​gg. — right, so you would then need to reset it to prelaunch I suppose
egg|laptop|egg has joined #principia
<discord-> H​errkurt. — So after putting a couple things in orbit my game stutters during high timewarp (warping through build times). Is that normal or a sign that my CPU can't handle Principia?
<discord-> D​RVeyl. — It is both normal and a sign that there's a lot of math to happen very quickly at high time warps in Principia.
<discord-> H​errkurt. — Alright. I can live with stuttering timewarp. I just didn't want it to break the orbits of planets or anything.
Jesin has quit [Quit: Leaving]
Jesin has joined #principia
egg|laptop|egg has quit [Remote host closed the connection]
egg|laptop|egg has joined #principia
egg|laptop|egg has quit [Remote host closed the connection]
egg|laptop|egg_ is now known as egg_
egg_ is now known as egg|anbo|egg
egg|anbo|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has quit [Ping timeout: 189 seconds]
egg|laptop|egg has joined #principia
egg|anbo|egg has joined #principia
egg|cell|egg has joined #principia
egg|anbo|egg has quit [Read error: Connection reset by peer]
egg|laptop|egg has quit [Remote host closed the connection]
UmbralRaptor has joined #principia
UmbralRaptop has quit [Ping timeout: 204 seconds]
raptop has quit [Ping timeout: 190 seconds]
raptop has joined #principia