UmbralRaptor changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> … one of the other grad students just compared me to nomal O_o | <ferram4> I shall beat my problems to death with an engineer.
e_14159 has quit [Ping timeout: 204 seconds]
e_14159 has joined #kspacademia
<lamont>
heh i was scanning papers touching on GRAIL style orbit
<egg>
:D
<bofh>
Not bad.
<lamont>
i’d be happy just to know how to solve for high energy trajectories to the moon
<kmath>
<FioraAeterna> @whitequark what channel is this anyways
<bofh>
egg: go ahead :D
<UmbralRaptor>
>_>;;
<lamont>
it feels like you should be able to write down a lagrangian for the earth-moon system, plug in starting and ending constraints and then smush some calculus of variations, finite element, lagrange modifying weirstrauss conditions on it, then iterate and hey presto there’s a tangent keplerian orbit to your transfer orbit to the moon…
<UmbralRaptor>
high energy lunar transfer sounds scary. "oh, yeah, we'll hit the surface at 10 km/s if MOI fails"
ferram4 has quit [Read error: Connection reset by peer]
<UmbralRaptor>
(…I thought LADEE did a low energy insertion?)
<egg>
UmbralRaptor: actually nice the stuff in the roman paper starts from a parking orbit, maybe I could do that sort of stuff for video demonstrations
<bofh>
egg: b/c nonconvex optimization is a fucking intractable slog with few useful algorithms or approaches?
* egg
not sure how the word "nice" made it into the preceding message through copy editing
<bofh>
I'm talking about the cone defined by the constraint matrix being convex
<bofh>
Not the actual trajectory or anything
<egg>
bofh: yeah, I get that, though tbh I'm not entirely sure what the constraint matrix and its cone look like
<egg>
bofh: but, like, trajectory optimization *is* a mess?
<Qboid>
egg: [GTOC] => Global Trajectory Optimisation Competition
<egg>
\o/
<bofh>
like basically anytime we move out of convex programming things just get... atrocious.
<bofh>
I guess that would explain why there's a competition instead of "just run CPLEX on the fucking thing for a few days" solving everything tho
<egg>
bofh: GTOC is more than earth-moon or earth-moon-sun of course, it's finding those nutty trajectory with dozens of venus-earth-venus-venus-earth-earth-earth assists :-p
<egg>
s/trajectory/trajectories
<Qboid>
egg meant to say: bofh: GTOC is more than earth-moon or earth-moon-sun of course, it's finding those nutty trajectories with dozens of venus-earth-venus-venus-earth-earth-earth assists :-p
<bofh>
oh, so in other words, how you get JUICE
<egg>
:D
<egg>
damn it why does googling that never give me the mission
<egg>
bofh: yeah, ESA missions like their gravity assists :-p
<bofh>
BepiColombo has a pretty insane trajectory too iirc.
<egg>
the wiki article: Earth, Venus, Earth, Earth, "multiple" Ganymede, (plural) Ganymede–Callisto, 10–12 Callisto :D
* UmbralRaptor
stares at Galileo and Cassini.
<egg>
UmbralRaptor: venus-earth-earth and venus-venus-earth?
<bofh>
egg: spam-spam-sausage-spam?
<UmbralRaptor>
Don't forget the Jupiter flyby for Cassini?
<egg>
ah right
<bofh>
oh man now I'm reminded of Ulysses' insane trajectory too
<egg>
UmbralRaptor: but then earth-venus-earth-earth is quite fancy for a jupiter mission (and then all the jupiter moon mess with 25 assists :D)
<UmbralRaptor>
Ulysses has the inclination record, right?
<UmbralRaptor>
Parker is going to have what, 25 Mercury flybys?
<egg>
UmbralRaptor: 7 venus flybys, but apparently nothing to do with mercury?
<UmbralRaptor>
Doh
<egg>
s/badger/venus/g
<bofh>
more like s/badger/mercury/g
<egg>
bofh: well for Parker it's venus
<UmbralRaptor>
Snake being the lithobraking phase?
<egg>
oh also, want a tale of KSP insanity?
<bofh>
egg: yes
<egg>
So, Unity, in its main physics-synchronized step (FixedUpdate, where most physically-relevant KSP and mod stuff runs), gives you a time (which you can get more usefully from KSP itself), and positions for all solids
<egg>
um s/solids/rigid bodies/ probably because french
<egg>
then the physics engine runs, moving the rigid bodies that the physics engine thinks should be moved
<egg>
and things are rendered after the physics engine has run
<egg>
now, KSP has vessels that are not affected by physics (because distant things and binary32 being silly)
<egg>
those have their position updated to track their orbit by KSP, in FixedUpdate
<egg>
bofh: the problem that KSP then had to solve is that if the orbit (orbitdriver really) moves the distant vessels to the current time, and the physics engine moves the nearby vessels to the next time step, things are rendered one frame apart
<egg>
bofh: so in the beginning, they solved it by making the orbit of a vessel be one step in the future
<egg>
bofh: this was not the case for the orbit of a thing that was not a vessel, e.g. a celestial body
<egg>
bofh: then, they *changed their mind*, and now, orbits are synchronized, instead *every rigid body that the physics engine touches is interpreted as being in the previous frame*
<egg>
in the meantime, I had designed pile-ups, with the naive assumption that they used the physics engine in the same way in 1.2 and 1.1.3
<egg>
so my logic is centred around advancing parts ahead of the plugin, then having the plugin catch up at the beginning of a frame
<egg>
instead I should have parts trailing behind, and make them catch up at the end of the frame
<egg>
that should be, in a way, easier and cleaner
<egg>
except that's not how the physics engine is built, or how I designed my APIs back in february/march
<egg>
bofh: I mean I think if you do so *consistently* (emphasis on the fact that consistency is not a strength of KSP), you can probably harmlessly use the physics engine that way
<egg>
bofh: hell, if you want you can probably trick it into doing Newton-Delambre-Størmer-Verlet-Leapfrog by interpreting velocities as being half a step off from positions, and get much better integration
<egg>
bofh: but then you'd have to carefully wrap the engine to make sure you treat it consistently, and, well, KSP
<egg>
so there are probably still places where they assume that things are where they currently are
icefire has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
<lamont>
so i cracked open my copy of battin and found an iterative method for creating patchy-conic TLI trajectories, and then a procedure for refining that given precise orbital integration
<lamont>
also started chewing into Saturn V iterative guidance mode
<lamont>
and the PEG currently in MJ isn’t really PEG, PEG is 3rd gen space shuttle stuff, but whatevs
<Ellied>
It's generally a good community, but... I dunno, I have had a very bad time with that whole "two completely reasonable and nice people who both like you and hate each other" thing IRL....
<egg>
lamont: hm, maybe for clarity you shouldn't call it PEG, that will spread confusion
<UmbralRaptor>
Nah, perfectly regular series of clicks.
* UmbralRaptor
? an HP Envy for quasi related reasons.
<UmbralRaptor>
Core i7 7th gen, 16 GiB RAM. Doesn't seem to do web much faster than a Core1Duo with 1 GiB RAM.
* UmbralRaptor
? Windows?
<UmbralRaptor>
And in some cases is slower?
<Ellied>
wow
<Ellied>
that's a lot of CPU and RAM
<egg>
wait why am I not sleeping
* UmbralRaptor
recovered it from a dead synapsid.
egg is now known as egg|zzz|egg
<Ellied>
I'm still figuring out what my next machine is going to be. I guess it's also going to be my next phone.
<Ellied>
I did glimpse the CPU in my toughbook today... it's a little scary. It's a WLCSP or whatever (bare silicon) on a PCB that's shrinkwrapped and then soldered all BGAlike to the mobo.
<Ellied>
needless to say, zero possibility of upgrading it. :c
<lamont>
egg: well i did call it “Atlas-Centaur PEG”
regex has joined #kspacademia
Fiora has joined #kspacademia
regex has quit [Remote host closed the connection]
egg|zzz|egg is now known as egg|zz|egg
<egg|zz|egg>
!wpn Fiora
* Qboid
gives Fiora an aluminium selenium prime
egg|zz|egg is now known as egg|z|egg
ferram4 has quit [Ping timeout: 204 seconds]
APlayer has joined #kspacademia
<APlayer>
Hi! I need some maths help again... So, in kOS, I can get the ship's rotation in a weird reference frame, and I can get the ship's facing in that same reference frame. What piece of vector maths do I use to get the rotation from the ship's perspective? Or am I already doing something wrong?
APlayer has quit [Ping timeout: 180 seconds]
<egg|z|egg>
I should wake up entirely
egg|z|egg is now known as egg
<egg>
!seen Sarbian
<Qboid>
egg: I haven't seen the user Sarbian yet.
<egg>
>_>
<egg>
!wpn whitequark
* Qboid
gives whitequark an icy finite mathematician
<Ellied>
huh. the plastic (or something?) that my Toughbook's outer housing is made of goes "clang" when dropped on the floor, like metal.
<Ellied>
it looks, feels, and conducts (doesn't) electricity like plastic, but sounds just like metal when a piece of it is struck.
<kmath>
<thrdplanet> My cat taught herself how to climb ladders like a human so she could get onto my loft bed easier https://t.co/Kff2XGHKRN
<egg>
(via Fiora)
<Ellied>
oh hey Fiora is in here too
<Ellied>
o/
Ellied has quit [Quit: WeeChat 1.0.1]
icefire has joined #kspacademia
Ellied has joined #kspacademia
<Sarbian>
egg: I am technically alive but I got calls from work all night
<egg>
ow
<Sarbian>
So I am busy being comatose on my couch
<egg>
Sarbian: did you know that all parts of unpacked vessels are one step in the past in FixedUpdate (previously the orbits of all vessels were one step in the future, but now it's even stranger :-p)
<Sarbian>
egg: I did not, but that would concur with the docking AP trouble we ve been seeing
<egg>
:D
<Sarbian>
egg: so the orbit position are on time now ?
<egg>
there's a bit of a tricky off-by-one problem, they come up with a shitty solution, then they change to a different slightly more nutty solution :D
<egg>
Sarbian: note that loaded unpacked parts *are* on time in FixedUpdate
<egg>
um loaded packed
<egg>
it's loaded unpacked that lags
<egg>
in 1.1.3 and earlier everything was at the same time
<egg>
but that's too easy :-p
<Sarbian>
hum, then it does not solve my docking trouble. But that code needs a full cleanup. I am not sure if it docks in the past, present or future atm ;)
<Sarbian>
uh. loaded unpacked lags. ok, ignore my previous sentence
<Sarbian>
hum, how did you test that ? Because some of the gamer FixedUpdate occur later (the whole script timing stuff)
<Sarbian>
hum, I m too tired to think about that properly....
<egg>
Sarbian: WaitForFixedUpdate is after the physics engine and before anything else
<egg>
it's where I do many things, because I act as a corrector on the physics engine
<egg>
Sarbian: and since I set the positions of all vessels in various ways, I ended up running into that bug, see #1473 (and the bug it refers to)
<egg>
Sarbian: as for how I understood what the game was doing after getting a hunch of off-by-oneness from the numbers, well, the usual :-)
<egg>
Sarbian: note the parameter of OrbitDriver.UpdateOrbit, and when it runs, too
<egg>
also things like VesselPrecalculate.packedInFixed
<egg>
Sarbian: you have to run either in ObscenelyEarly or in WaitForFixedUpdate to see positions that are at consistent times for packed and unpacked vessels
<Sarbian>
I ll need to look into it when I am truly awake. The docking AP has been annoying me for a while and I want to properly work
<Sarbian>
I am not sure it would be a good idea for MJ to run at those timing
<egg>
Sarbian: I know, it's kind of shitty
<egg>
Sarbian: though it doesn't have to be all of MJ, just the thing that observes the positions and velocities of parts
<egg>
Sarbian: the alternative is Update or LateUpdate (anything that's not inside FixedUpdate), there things should be consistent too
<Sarbian>
I can't store infos on all parts and Update/LateUpdate don't really work to pilot a vessel
<egg>
Sarbian: yup, it's a mess
<Sarbian>
And I guess that I would need to know the previous frame forces to properly drive the docking AP
<egg>
Sarbian: if you use only the orbits you're fine, those are consistent (and now at current time rather than in the future). But the positions of unpacked parts are in the past wherever sane you want to look within FixedUpdate
<Sarbian>
I can't dock with only orbit, I need to know the positions of the docking ports
<Sarbian>
Anyway, got to lie down for a bit...
<egg>
Sarbian: maybe you could use the orbit to get close enough that both vessels are unpacked
<egg>
have a good nap
TonyC has joined #kspacademia
TonyC1 has quit [Ping timeout: 204 seconds]
<egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a first/follow egg|egg|egg
<egg>
bofh: um, so, due to restructuring the way my code work to account for the off-by-one-frame KSP madness, I'm removing the Dämmerungsgötterdämmerung bugfix
<egg>
bofh: is that the Dämmerungsgötterdämmerungsdämmerung?
Ellied has quit [Ping timeout: 383 seconds]
Ellied has joined #kspacademia
<bofh>
egg: I think so, but I forget a ton of my german
<kmath>
<whitequark> @mnxmnkmnd @bofh453 is multiplication over Galois fields really the weirdest thing you can imagine goop doing? Visu… https://t.co/hjDWDNRMo4
<egg|nomz|egg>
I'm *really bad* at linking things today apparently >_>
<egg|nomz|egg>
!wpn bofh
* Qboid
gives bofh a furious-sounding fractal basilisk
<kmath>
<EmrgencyKittens> A Norwegian forest cat perched on a tree stump. https://t.co/DG5lujRLE0
egg|nomz|egg is now known as egg
APlayer has quit [Ping timeout: 180 seconds]
* egg
pokes Sarbian in the docking autopilot
* Sarbian
deflates
<egg>
Sarbian: I think I managed to mostly get principia to set things at the times KSP expects them, except somehow EVAing moves the vessel off to the side for some reason Ꙩ_ꙩ
<kmath>
<oshepherd> @whitequark Later, Cat B hops up onto chair, sees lump above her, lifts front paw, extends claws... and stabs cat a… https://t.co/a8Jzx5xc87
<bofh>
egg: what exactly is a hovel (mathematics)?
<egg>
!g affine hovel
<Qboid>
egg: https://arxiv.org/abs/1504.00526 [Strongly transitive actions on affine ordered hovels] (223 results found, took 0.53s)
<egg>
bofh: it generalizes a building; iirc the rationale is that it's a building but is less nice
<bofh>
"affine hovel" LOL
* UmbralRaptor
is confused in that egg often compares "nice" things to cats.
<egg>
bofh: "Still, for the case of hovels, the set of all walls is not always a locally finite system of hyperplanes and it is no longer true that any two points are contained in a same apartment. For this reason, the word “building” is replaced by the word “hovel”."
<egg>
UmbralRaptor: ?
<bofh>
sorry, cannot keep a straight face reading that.
<UmbralRaptor>
< egg|laptop|egg> because the truth is pretty much a cute Hamiltonian that you can pet
<egg>
UmbralRaptor: yes, but why are you confused :-p
<UmbralRaptor>
hm
<bofh>
like egg's statement there seems quite reasonable