egg changed the topic of #principia to: Logs: https://esper.irclog.whitequark.org/principia | <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…
<queqiao->
⟨thunkii⟩ note to self: when circularizing from GTO to GEO, an inertially-fixed burn is more efficient
<queqiao->
⟨thunkii⟩ also the orbit analyzer only displays 'geostationary orbit' if it's super close to being geostationary. I propose adding 'geostationary drift orbit' for say, 23-25 hour periods or something.
<queqiao->
⟨egg⟩ That seems too niche (and it is localization work, too). The analyser is there if you want to know what kind of orbit you might not be too far from.
<queqiao->
⟨thunkii⟩ ah thanks
<queqiao->
⟨thunkii⟩ that makes sense!
raptop has quit [Ping timeout: 183 seconds]
raptop has joined #principia
<queqiao->
⟨the rocket science kid⟩ How do I get to the moon in principia from Baikonur? I followed LTP's instructions but I can't seem to get a lunar encounter.
<queqiao->
⟨the rocket science kid⟩ Do I have to do the thing where I wait for the relative inclination to be lowest and launch, or is there only a window once every month or what?
<queqiao->
⟨the rocket science kid⟩ * twice
<paculino>
Waiting for the relative inclination to minimize won't help because you cannot dogleg that much (well, I guess it is technically possible, just an absolutely horrible idea). You have to do an off-plane transfer. You will never have to wait long to do that; Butcher has a script for this.
<paculino>
If you have not gone to the moon before in Principia, get experience launching from South America or India before trying anywhere else.
<queqiao->
⟨the rocket science kid⟩ I tried using lunar transfer planner, I can't seem to do it
<queqiao->
⟨the rocket science kid⟩ I launched at the launch window but somehow they are completely off
<paculino>
Are you launching due east, or what?
<queqiao->
⟨the rocket science kid⟩ Yes
<queqiao->
⟨the rocket science kid⟩ Wait for window and launch due east
<queqiao->
⟨the rocket science kid⟩ or do I have to do the polar transfer thing, it's currently 1959
<queqiao->
⟨Al₂Me₆⟩ Launching due east is correct; you have tried transferring at both the AN and the DN?
<queqiao->
⟨the rocket science kid⟩ yes
<paculino>
Polar transfer allows launching _any_ time
<queqiao->
⟨the rocket science kid⟩ any time as in twice a day or literally any time
<paculino>
Literally any time; due east is twice a day
<queqiao->
⟨Al₂Me₆⟩ LTP is written by 🍋 too…
<paculino>
But it might be installed wrong?
<queqiao->
⟨Al₂Me₆⟩ ⟪paculino⟫ Literally any time; due east is twice a […] ⮪ (The trade off being that the inclination is time-dependent)
<queqiao->
⟨the rocket science kid⟩ ⟪paculino⟫ Try Butcher's script and see if your […] ⮪ That's annoying, this is a relatively new install and I forgot to grab kOS. I'll try the polar transfer first I guess
<queqiao->
⟨the rocket science kid⟩ ⟪paculino⟫ But it might be installed wrong? ⮪ how can it be wrong it's from ckan
<queqiao->
⟨the rocket science kid⟩ it came with express
<queqiao->
⟨Al₂Me₆⟩ ⟪paculino⟫ But it might be installed wrong? ⮪ I don’t see how it can run but give the wrong result
<paculino>
> ⮪ (The trade off being that the inclination is time-dependent)
<paculino>
The other trade off being Δv and launch corridor
<paculino>
Good point
<paculino>
How close are you getting to capture?
<queqiao->
⟨Al₂Me₆⟩ Huh, you see tofu on your side?
<queqiao->
⟨the rocket science kid⟩ this is just an impactor and my LV is overkill, I don't really care what inclination I need. Will try polar transfer now
<paculino>
Unicode all came through right for me
<paculino>
Are you talking about the lemon?
<queqiao->
⟨Al₂Me₆⟩ ⟪the rocket science kid⟫ this is just an impactor and my LV is […] ⮪ What we meant is that to launch at an arbitrary time you must launch into the appropriate inclination parking orbit; it’s not just some random polar orbit
<paculino>
You aim for the moon regardless. You can aim the inclination from the time, or the time from the inclination of due east (for minimum Δv)
<queqiao->
⟨Al₂Me₆⟩ See the pinned graphic by yours truly. The geometry of the transfer is always the same; it’s just a matter of which variable you’re fixing.
<queqiao->
⟨the rocket science kid⟩ Alright, I'm trying LTP again
<queqiao->
⟨Al₂Me₆⟩ ⟪paculino⟫ Unicode all came through right for me ⮪ Your reply message (which contains a Markdown quote) has a replacement character where I presume my name would go. That’s a bot problem I guess.
<paculino>
That is a fat left arrow to show reply
<queqiao->
⟨the rocket science kid⟩ I understand the geometry of the transfer, I just didn't understand why LTP spat out that weird transfer for me.
<queqiao->
⟨the rocket science kid⟩ Or maybe it's just skill issue and I can't plot a lunar transfer
<queqiao->
⟨Al₂Me₆⟩ …please, for the sake of your own sanity, use MEO for this
<queqiao->
⟨Al₂Me₆⟩ (You always use a frame which fixes the bodies of interest… in this case, you want something that (approximately) fixes both the Earth and the Moon. Which is MEO.)
<queqiao->
⟨the rocket science kid⟩ Oh, that exists? sure.
<queqiao->
⟨the rocket science kid⟩ anyway I have an impact now, thanks for the help
<queqiao->
⟨the rocket science kid⟩ One last question, I can't seem to find the inertially fixed button, where is it?
<queqiao->
⟨the rocket science kid⟩ Right now I just set it to instant impulse
<queqiao->
⟨Al₂Me₆⟩ Right above the tangent label
<queqiao->
⟨night_beast⟩ Is there a way to increase the performance of principia? I've got a pretty beefy machine and flight planning is like watching a slide show
<queqiao->
⟨thunkii⟩ ⟪the rocket science kid⟫ Oh, that exists? sure. ⮪ yep! don't try to chase a moving target. make your target fixed instead. If you're trying to get to a specific point on the moon surface, use MCMF instead of MEO
<paculino>
Increase your tolerance. I assume you are going from the earth to the moon or vice versa; one meter precision is not necessary
<queqiao->
⟨night_beast⟩ okay, I increased to 1KM and decreased steps to 6.4e1, but I still feel like I'm getting like 5 FPS
<queqiao->
⟨night_beast⟩ 10KM give me maybe 10
<paculino>
How much debris do you have?
<queqiao->
⟨night_beast⟩ none, I have a 4 sat network in LEO, a 4 sat network in GEO, and the craft I'm flying
<paculino>
I don't know what the issue is then
<queqiao->
⟨thunkii⟩ i should probably get rid of my way too many upper stages
<queqiao->
⟨night_beast⟩ is it because my prediction takes me close to the moon? (I'm on a moon orbiter mission)
<queqiao->
⟨Darthdog⟩ Yeah that is quite strange, I by no means have a beefy computer but principia runs like butter
<paculino>
Being near the moon should not be an issue
<queqiao->
⟨night_beast⟩ well, i think I see something that could lead to the problem, but I don't know what's causing that.
<queqiao->
⟨night_beast⟩ I figured it out... I had an empty flight plan that was traced out to 7 days, so it just had 7 days of me orbiting the earth
armed_troop has quit [Ping timeout: 189 seconds]
armed_troop has joined #principia
<queqiao->
⟨fiora⟩ is there an addon or technique or such that makes tweaking interplanetary trajectories less of a nightmare?
<queqiao->
⟨fiora⟩ +coming up with the basic trajectory is easy enough but tweaking them /precisely/ so that you actually get to near orbit feels like it takes 30 minutes of sliding bars around
<queqiao->
⟨egg⟩ ⟪fiora⟫ is there an addon or technique or such […] ⮪ Note that you can scroll over the digits, which can be nicer than fiddling with the bars when things get laggy.
<queqiao->
⟨egg⟩ Also you can use the up/down arrows with your cursor in a field.
<queqiao->
⟨egg⟩ (And you can have your cursor in one field and scroll over another field to more efficiently do your manual gradient descent in 2d. At the end of the day you _are_ doing gradient descent by hand, which is a bit silly. I guess now that we have optimization algorithms in Principia we could try helping with that, though we would have to define some kind of UI to say what you are trying to optimize, and within which constraints…)
<queqiao->
⟨egg⟩ * design
<queqiao->
⟨test_account⟩ Optimizing impact with a celestial would be a great feature 🙂
<queqiao->
⟨fiora⟩ it gets especially tricky when you have to change two directions simultaneously in order to get closer
<queqiao->
sometimes gradient descent feels like it bottoms out completely and i have to make a second node later along the path and then try to tweak that, etc
<queqiao->
⟨fiora⟩ like, its all doable. its just grindy and annoying
<queqiao->
⟨egg⟩ Principia: Teaching people that optimization is hard since 2014 :-p
<queqiao->
⟨test_account⟩ Optimizing impact with a celestial […] ⮪ I can imagine it... tell the optimizer to vary only maneuver time and dV, and which celestial to impact, and it finds the trajectory with lowest dV that leads to impact.
<queqiao->
⟨fiora⟩ honestly that alone would be amazing. just an impact optimizer. nothing else. once i have an impact trajectory i can do everything from there
<queqiao->
⟨test_account⟩ +prograde
<queqiao->
⟨test_account⟩ +(within X hours from now)
<queqiao->
⟨fiora⟩ okay the scroll wheel thing is real nice.
<queqiao->
⟨fiora⟩ one thing that would be amazing about an impact optimizer is that it would also generate automatic *course corrections*
<queqiao->
⟨fiora⟩ +by its very nature
<queqiao->
⟨egg⟩ tired: subprogram names should contain verbs; wired: subprogram names should consist only of personal names
<queqiao->
⟨egg⟩ (We also have two functions called Brent; they're good algorithms)
<queqiao->
⟨egg⟩ ⟪fiora⟫ okay the scroll wheel thing is real […] ⮪ That is my (limited) eggsperience and what I have heard from others as well, but I have never figured out how to make it more discoverable.
<queqiao->
⟨fiora⟩ thats a good question tbh
<queqiao->
⟨test_account⟩ Tooltip?
<queqiao->
⟨fiora⟩ also, is there a way to copy the time of a particular event (e.g. upcoming periapsis, etc) into the "t initial" for a maneuver?
<queqiao->
⟨fiora⟩ or do i have to manually type it in
<queqiao->
⟨fiora⟩ +just
<queqiao->
⟨egg⟩ ⟪fiora⟫ also, is there a way to copy the time […] ⮪ No, I had not thought of that; this would probably be easier than what I had thought of, which was to figure out a way to anchor the manœuvre it to such an event (and then how do you identify that you got the right apsis, also what is the data model like, and then I ran away from the and into the next one).
<queqiao->
⟨test_account⟩ This feature sounds good but I'm not sure it will be as useful as it seems
<queqiao->
⟨fiora⟩ "snap to nearest periapsis/apoapsis" might be simple
<queqiao->
⟨the rocket science kid⟩ how is it possibel that I have more delta v than I told principia to use, but principia wants to burn for longer than I have fuel for
<queqiao->
⟨fiora⟩ right, i guess it's not _quite_ as useful as it sounds because you still have to tweak it to take into account engine burn time
<queqiao->
⟨the rocket science kid⟩ how is it possible that I have more delta v than I told principia to use, but principia wants to burn for longer than I have fuel for
<queqiao->
⟨test_account⟩ ⟪the rocket science kid⟫ how is it possible that I have more […] ⮪ what is the engine?
<queqiao->
⟨egg⟩ ⟪fiora⟫ honestly that alone would be amazing. […] ⮪ Hm, we don’t have the gradient though.
<queqiao->
⟨the rocket science kid⟩ ⟪test_account⟫ what is the engine? ⮪ it's a U2000. unguided tlt
<queqiao->
⟨the rocket science kid⟩ * tli
<queqiao->
⟨test_account⟩ unguided TLI means U2000 is not in the current stage, right?
<queqiao->
⟨test_account⟩ (at the time of planning)
<queqiao->
⟨the rocket science kid⟩ Ah never mind. When I plotted the burn, the guided spin-up stage was still attached. I get it now.
<queqiao->
⟨test_account⟩ Yes, principia planning does not work with unguided kick stages, the burn time is always wrong due to previous stage still attached
<queqiao->
⟨test_account⟩ The best you can do is model it as instant impulse and start the manuever before principia tells you
<queqiao->
⟨test_account⟩ but the correct lead time is hard to calculate
<queqiao->
⟨the rocket science kid⟩ But if I can somehow plot it first, then only make tangent adjustments, then the overall vector should be unchanged
<queqiao->
⟨fiora⟩ well, did my first interplanetary principia transfer, phew. i'll get used to this eventually
<queqiao->
⟨iso12⟩ ⟪egg⟫ Hm, we don’t have the gradient though. ⮪ Is there any way to do this using automatic differentiation in c++? I have had some good success with this in julia for calculating state transition matrices
<queqiao->
⟨the rocket science kid⟩ (this is probably a bad idea) A human does the following when plotting such a burn: start with a usual 3150m/s TLI burn, adjust time until it's as close as possible, adjust tangent until it's as close as possible, then time again, repeat until you can no longer get it closer. Can we replicate this using code?
<queqiao->
⟨egg⟩ ⟪iso12⟫ Is there any way to do this using […] ⮪ Automatic differentiation of the result of numerical integration of an ODE (well, at least two really, the burn and the coast) followed by a 1-parameter minimum search along the solution? Let’s not go there, it’s a silly place.
<queqiao->
⟨egg⟩ I suppose finite differences could work.
<queqiao->
⟨iso12⟩ I would think the performance of AD would be better than FD generally
<queqiao->
⟨egg⟩ ⟪iso12⟫ I would think the performance of AD […] ⮪ I would think automatic differentiation cannot even begin to be applied to the function at hand, because the function at hand is a handful of (variable-step) numerical integrations producing an interpolation on which we run a minimum search, all of which is very branchy, and a cursory search finds https://cs.stackexchange.com/a/70633.
<queqiao->
⟨egg⟩ Bear in mind that the function at hand is your periapsis altitude at the other end of the solar system as a function of your burn Δv (and time). You are very very far from the nearest thing with a closed form.
<queqiao->
⟨egg⟩ * timing).
<queqiao->
⟨egg⟩ (Ignoring of course the technical unfeasibility of passing fancy AD-related types though the entirety of our numerics libraries, that is never going to happen; but even if this were written in Julia it would most likely not even begin to work.)
<queqiao->
⟨Butcher⟩ For reference from earlier... LTP is a straight up port of my script to C#.
<queqiao->
⟨Butcher⟩ There's possibly an issue with next encounter not picking up correctly but I've not managed to good repro yet.
<queqiao->
... the technical infeasibility for your numerics libraries.
<queqiao->
⟨egg⟩ ⟪iso12⟫ Sorry, I wasn't intending to be rude, […] ⮪ Intersting. We are definitely more on the LAPACK end of things than on the 10-line function end though.
<queqiao->
I wonder how our floating-point trickery would fare when it goes through the AD thing though…
<queqiao->
⟨egg⟩ * also wonder how our floating-point trickery would fare when it goes through the AD thing…
_whitelogger has joined #principia
<queqiao->
⟨Al₂Me₆⟩ ⟪egg⟫ That is my (limited) eggsperience and […] ⮪ Change the cursor while hovering over it? But may be Hard
<queqiao->
⟨egg⟩ Maybe that is feasible, though note that on hover I am already bringing up those arrows and no-one notices.
<queqiao->
⟨Al₂Me₆⟩ Yeah, that's true. Maybe mention that in a documentation page somewhere (not that people read that either...)
<queqiao->
⟨egg⟩ Maybe we should have a noodle clippy
<queqiao->
⟨Damien⟩ _I see you're wanting to turn your PC into a space heater. I can help with that_
_whitelogger has joined #principia
<queqiao->
⟨lamont⟩ you can numerically integrate a jacobian with an ODE/IVP solver
<queqiao->
⟨lamont⟩ here's an example of calculating the jacobian of keplerian motion numerically with an ODE solver:
<queqiao->
⟨lamont⟩ J0 has to be eye(6,6) in that and it propagates the states in the same pass as the jacobian
<queqiao->
⟨lamont⟩ I didn't try breaking it up to propagate the states first then do the jacobian second to see if the integrator picked up a different adaptive step size
<queqiao->
⟨lamont⟩ for n-body numerical integration you are probably better off using some kind of discretization/collocation that linearizes the problem in between the steps and allows using sparse-AD to find the jacobian
<queqiao->
⟨lamont⟩ for keplerian jacobians there's analytical methods that are 1,000x faster than ODE solvers
<queqiao->
⟨lamont⟩ (the "state transition matrix" is what they call it)
<queqiao->
⟨thunkii⟩ godx i love how nonspherical gravity is modeled in principia
<queqiao->
⟨thunkii⟩ the one thing i miss from orbiter is gravity gradient torque but that sounds really difficult to do
<queqiao->
⟨sumguy62⟩ KSP won’t do it afaik
<queqiao->
⟨thunkii⟩ rip
<queqiao->
⟨fiora⟩ for some reason, the view flies away from the earth indefinitely. i don't know why this is happening or how to stop it
<queqiao->
i am flying a mercury capsule in orbit and have a satellite in a similar orbit selected and using it as a plotting frame.
<queqiao->
⟨egg⟩ In a pull request with two commits, "???" and "it seems to work"
<queqiao->
⟨fiora⟩ it seems that it refuses to focus on my current ship
<queqiao->
⟨fiora⟩ Wait. could this be related to the bug where mercury is missing an icon or something in orbit?
<queqiao->
⟨fiora⟩ because my own ship is missing an icon, so if the map view has nothing to focus on.... it breaks maybe?
<queqiao->
⟨fiora⟩ it seems that it refuses to focus on my current ship. the ` button makes the screen flash and go back to focusing on earth.
<queqiao->
⟨egg⟩ In that case that would probably be unrelated to the planetarium camera adjuster changes.
<queqiao->
⟨egg⟩ Even though they do have to do with adjusting zoom…
<queqiao->
⟨fiora⟩ yeah........ i wonder how other people are dealing with this. or if its just too new and nobody's doing mercury crewed orbit yet
<queqiao->
⟨egg⟩ This is the first time I hear about it, in any case.
<queqiao->
⟨fiora⟩ ah well, hopefully its not principia then, thanks anyways
<queqiao->
⟨egg⟩ ⟪fiora⟫ IMG_4801.mov ⮪ Oh wait, you are on Hurwitz ? In that case you don’t have the recent changes to the planetarium camera adjuster, so that is innocent. (Also you should upgrade, we have a shiny new frame wherein we plot equipotential lines so you can see the Lagrange points.)
<queqiao->
⟨fiora⟩ .... ah.
<queqiao->
i keep forgetting principia doesn't update through CKAN.
<queqiao->
⟨egg⟩ It does remind you of it in the main window though, so there’s that
<queqiao->
⟨egg⟩ Also, we have a shiny reminder in orbit around the Earth.
<queqiao->
⟨egg⟩ Waning crescent release
<queqiao->
⟨thunkii⟩ why every lunar month? it's a cool update schedule but i've never seen that used elsewhere
<queqiao->
⟨butcher6994⟩ When has that ever stopped the Principia team?
<queqiao->
⟨Tink⟩ This is what I get when I build a maneuver node, no moon periapsis
<queqiao->
⟨Tink⟩ doesnt matter which reference frame I place it in
<queqiao->
⟨nazfib⟩ Your plotting frame is ECI there; you need a frame with the Moon fixed (MCI, MCMF or MEO)
<queqiao->
⟨Damien⟩ ⟪Tink⟫ doesnt matter which reference frame I […] ⮪ Plotting frame is for the trajectory lines etc; maneuver frame is for the navball markers
<queqiao->
⟨nazfib⟩ ⟪Damien⟫ Plotting frame is for the trajectory […] ⮪ Specifically, the maneuver frame is "which directions are Δv tangent, normal, binormal", and has no effect on anything else.
<queqiao->
⟨thunkii⟩ i think it can change the burn details if the direction of the burn appreciably changes