Jump to content

[WIN/MAC/LINUX] KSP Trajectory Optimization Tool v1.6.9 [New MATLAB Version!]


Recommended Posts

I'll be honest, I have no idea either.

Here's what I've gleaned from the internet:

"This may happen if the executable cannot write to the AppData directory, while extracting the ctf."

Let's try another route to see if my program is the problem. I'm going to apologize in advanced, because this means another large download, but it might tell me something. Can you go here: http://orbithangar.com/searchid.php?ID=5418 Download my TOT tool for Orbiter, install the (slightly older) version of the MCR in the ZIP file, then run the exe (basically follow the install instructions). See if it gives you the same thing. Run the exe from the same directory as you are running the KSP TOT code.

Lets hope this tells us something. :)

And no, there aren't any debug logs I can offer. Sorry. :/

Link to comment
Share on other sites

No problem. I'll be right back!

UPDATE: The new executable worked. The app fired up to the GUI. Did you want me to replace the .exe with this one, right?

UPDATE 1: Yup, double checked it and the new executable works fine. Don't know what was different, maybe I had a corrupt file or something. Maybe you looking at it cross made it work. Either way, THANKS!

Edited by gumwars
Link to comment
Share on other sites

And one more image before I retire for the evening. This shot shows the new Upload Maneuver GUI in KSP TOT as well as KSP running in the background. The new GUI window will be embedded into KSP TOT over the course of this week and hooked up to the various maneuver display text boxes. By the way, suggestions on functionality with this GUI would be appreciated; right now I'm aiming fairly low, but good ideas may very well be implemented. :)

<courtesy image snip>

Well, this looks encouraging :) Hope the rest of the coding goes well!

Link to comment
Share on other sites

No problem. I'll be right back!

UPDATE: The new executable worked. The app fired up to the GUI. Did you want me to replace the .exe with this one, right?

UPDATE 1: Yup, double checked it and the new executable works fine. Don't know what was different, maybe I had a corrupt file or something. Maybe you looking at it cross made it work. Either way, THANKS!

No problem! Glad it worked! :)

Tavert/Specialist: Thanks, it's coming along nicely. Like I said earlier, I already knew Java, so learning C# was cake. The big challenge is navigating the labyrinth of classes that Squad provides in its SDK but doesn't have any documentation for. :P

Edited by Arrowstar
Link to comment
Share on other sites

Arrowstar,

Can you use this to plan operations from Kerbin to Mun and Minmus? I know for the veteran pilots out there this isn't a hard transfer, but I'm doing a bit of roleplaying and really like the professional quality images this tool generates (perfect for flight planning and mission briefs). Do I change the central transfer body to Kerbin and then select Mun or Minmus?

Link to comment
Share on other sites

You can indeed! It's a bit unintuitive, but the rendezvous planner is actually the tool of choice here because you're trying to meet a body that is also orbiting the body you are orbiting. Give that a try and let me know how it works. :)

Link to comment
Share on other sites

Great, glad to hear it!

Quick update on progress: I have KSP sending data back to KSP TOT at this point (instead of just KSP TOT sending manuever data to KSP). Right now I can get the current game UT (time), vessel orbits, and a list of all the vessels in the game. This will be useful for populating orbit panels similar to what I do now, except instead of reading from the SFS file, I can read directly from the game!

Oh, the maneuver node generation for all aspects of KSP TOT are also working. Lots of progress today. I'm looking forward to integrating more of this tomorrow. :)

Link to comment
Share on other sites

One more question. Will it be possible to calculate a launch date? Because when i use TOT right now i have to wait in orbit for a launch windows to open.

It would be coll if i could say like 30 minutes to orbit and TOT would work with that. This would be nice for even more realistic missions.

Thanks.

Link to comment
Share on other sites

Wow, this flurry of progress is super cool. I still have an older version on my desktop, just sitting there teasing me while I waited for an update like this. Gonna be great with RSS. Glad you came back.

Thanks! Strictly speaking, I didn't actually go anywhere, I just needed a creative break. :)

One more question. Will it be possible to calculate a launch date? Because when i use TOT right now i have to wait in orbit for a launch windows to open.

It would be coll if i could say like 30 minutes to orbit and TOT would work with that. This would be nice for even more realistic missions.

Thanks.

So in "Real Life" astrodynamics we don't really even do this. All of our maneuvers are based off the spacecraft separation time and then, to compute a launch window, we just assume "x minutes" to orbit. In fact, my primary mission planning software for "real life missions" has no knowledge of spacecraft launch time at all. It relies on the user to do the subtraction if needed. ;)

Link to comment
Share on other sites

So a bit more progress over the past few days. I've successfully integrated KSP TOT with my KSP plugin. The following functionality is now available: the ability to pull the current game UT from KSP and the ability to pull the name, orbit, and GUID of any vessel in the game. This pretty much covers what you need to use when interfacing with TOT. Of course, the "create maneuver node" functionality that demoed previously is still there, too. :)

But last night I got thinking. I literally have the entire game at my fingertips with KSPTOT Connect (the name of the plugin that goes with KSP TOT). I can pull anything. So, I thought to myself... why not?

And thus, this was born. See if you can spot the new thing.

eyuRfBc.png

Link to comment
Share on other sites

This looks very good indeed Arrowstar. The recent progress with the plugin looks promising. I'd like to try it out.

I wanted to run TOT from source under Matlab, but ran into some trouble with undefined functions (like optimoptions and createOptimProblem). It seems these are part of the Global Optimization Toolbox. Can I substitute some optimization routine from the "normal" Optimization Toolbox?

On another note, I'm interested in multiple gravity assist trajectories and found this project from ESA: http://www.esa.int/gsp/ACT/inf/projects/gtop/gtop.html

They also have a working solver available for Matlab. Perhaps you can use some of it? Anyway, I have to try out the flyby maneuver sequencer, but some global optimization of a given flyby sequence might be nice to play with in KSP TOT...

Keep up the good work!

Link to comment
Share on other sites

Is the downloadable????? I have an old version that i love and just checked back in to see what was new... WOW...... I really hope that this is ready to go....

Thanks for all of your work and great 'stuff'.....

Thanks! To answer your question about downloads, "yes and no." Yes, KSP TOT v0.10 is available for download. The version I'm showing off here, though, is still under heavy development and I haven't put it up anywhere yet. Stay tuned! And feel free to ask questions about the software if you have any. :)

This looks very good indeed Arrowstar. The recent progress with the plugin looks promising. I'd like to try it out.

I wanted to run TOT from source under Matlab, but ran into some trouble with undefined functions (like optimoptions and createOptimProblem). It seems these are part of the Global Optimization Toolbox. Can I substitute some optimization routine from the "normal" Optimization Toolbox?

On another note, I'm interested in multiple gravity assist trajectories and found this project from ESA: http://www.esa.int/gsp/ACT/inf/projects/gtop/gtop.html

They also have a working solver available for Matlab. Perhaps you can use some of it? Anyway, I have to try out the flyby maneuver sequencer, but some global optimization of a given flyby sequence might be nice to play with in KSP TOT...

Keep up the good work!

Thanks! Yes, the code requires the Optimization and Global Optimization toolboxes. If you don't have these available, it will not run. I have looked at the solver that you provided, but it's tuned for and heavily integrated with our current solar system, so it's easier to just keep using my own stuff that I have control over. :)

If you're interested in testing, I may throw up a pre-release version later today or tomorrow at some point... :)

This looks promising. I imagine a tour of the Jool system with just 200 m/s delta V and visit all moons. Something like this :http://www.kiam1.rssi.ru/index.php?id=prj&cnt=lps

Keep up your awesome work.

Thanks! Keep in mind that KSPTOT v0.10 is available and will help do those Joolian moon tours. No need to wait for my "real time system" updates to start using KSPTOT! :)

I have to apologize for not posting much over the past few days. I've been busy working on the back end of the code, which is mostly the architecture of the telemetry send/receive system. Most that involved getting KSPTOT to talk to KSPTOT Connect and KSP itself correctly, setting up the protocol for retrieving TM sent by the spacecraft, and so forth. Interesting challenges, but not really picture-worthy. :)

Give me about an hour here and I'll have something neat to show, though. :)

Link to comment
Share on other sites

If you're interested in testing, I may throw up a pre-release version later today or tomorrow at some point... :)

Yes please! I'll see if I can adapt the ESA solver to work with your bodies.ini, this might be useful for comparison and validation of complex trajectories.

Link to comment
Share on other sites

One more question. Will it be possible to calculate a launch date? Because when i use TOT right now i have to wait in orbit for a launch windows to open.

It would be coll if i could say like 30 minutes to orbit and TOT would work with that. This would be nice for even more realistic missions.

Thanks.

So in "Real Life" astrodynamics we don't really even do this. All of our maneuvers are based off the spacecraft separation time and then, to compute a launch window, we just assume "x minutes" to orbit. In fact, my primary mission planning software for "real life missions" has no knowledge of spacecraft launch time at all. It relies on the user to do the subtraction if needed. ;)

I feel there is an under-appreciated relevance to this question. Referring to the planetary transfer tutorial, you are using a perfectly circular "dummy" parking orbit for the departure burn in the pre-planning phase. This results in an ideal orbital position for the burn.

Now we launch at the proper departure time "minus a bit so we have time to get to orbit and set up the burn". This gets you into an orbit which may have the shape of the dummy orbit entered while planning, but you will be in a random phase, i.e. position for a given time in this orbit (true anomaly at epoch is undefined). This results in situations where you're nearing the ideal departure burn time, but you're on the opposite side of the planet... Although you explain that "You can enter in this new departure time into KSP TOT, get a new set of delta-v values, and re-enter those into MechJeb", this may be quite sub-optimal. But getting the most bang for your propellant is what KSP_TOT is all about, right?

So, I propose a procedure which takes two launch parameters: lambda, the angle from the launch pad to the circular orbit insertion point and DeltaT_L, the time elapsed from launch to circular orbit insertion. (You may obtain these empirically, e.g. by test launching)

The goal would be to resolve the phase of the parking orbit, so you arrive at the correct true anomaly at the ideal departure burn time, or at least close to it....

I hope this makes sense. I could at least not replicate the "about 13 seconds early arrival" for the tutorial example. For me, it was more like 15 minutes and that seems to matter in terms of delta V. Just some thoughts.

Edited by PhoenixBvo
Link to comment
Share on other sites

Phoenix, you have some good questions. I'll look into answering them for you tomorrow. :)

I've been somewhat busy today putting together the telemetry monitoring page. This and the imminent release of 0.23 (which I'll have to recompile the KSP plugin for) have delayed by "prerelease" plans, as I don't want to release code that will fail to work in a few days. My goal is to have something out by this weekend though, so hang tight everyone. :)

In the mean time, a new teaser... :)

9C0gHfM.png

Link to comment
Share on other sites

Those console screenshots look pretty in-depth. I take from it that you can basically get any info you need from KSP and possibly send stuff back for remote control? Looks awesome! :D

Thanks for your work on this. The possibilities you opened up with KSPTOT are endless.

PS: I sent you a PM with some code...

Link to comment
Share on other sites

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