Jump to content

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


Recommended Posts

9 minutes ago, Curveball Anders said:

With one single, and not very important, problem.

Choosing 'About' in the menu gives an error stating that it can't find "images\testlogo.png".

I regard that as a very minor issue ;)

This issue is resolved in the latest pre-release actually.   Give it a try and see if it helps any.

Glad it otherwise is working well!

Link to comment
Share on other sites

I must have missed something in the mean time.

Testing a standard Kerbin-Duna, I get all the correct information, and I can hack that data into KSP or PM to create the departure node.

It works perfectly.

But when I try to use upload maneuver (connection works, correct vessel selected, getting the orbit info perfectly) I get a complete dummy maneuver created.

What am I doing wrong?

(The vessel in question is in a 200x200 orbit and is fully capable to execute the maneuver).

Link to comment
Share on other sites

9 hours ago, Curveball Anders said:

I must have missed something in the mean time.

Testing a standard Kerbin-Duna, I get all the correct information, and I can hack that data into KSP or PM to create the departure node.

It works perfectly.

But when I try to use upload maneuver (connection works, correct vessel selected, getting the orbit info perfectly) I get a complete dummy maneuver created.

What am I doing wrong?

(The vessel in question is in a 200x200 orbit and is fully capable to execute the maneuver).

Can I see some screenshots (and the MAT file from MA if that's what you're using)?

Link to comment
Share on other sites

  • 2 weeks later...

Hi everyone,

Tonight I compiled the 3rd pre-release of KSPTOT v1.6.3.  This is primarily a bug fix release for LVD.  Here is the change log:

  • Added a new C3 constraint to MA and LVD;
  • Fixed plotting children bodies around Sun (or top level solar system body);
  • Fixed title of Set Stage State UI;
  • Fixed issues with deleting variables improperly;
  • Fixed issue with thrust being reported incorrectly if throttle is > 0 but all connected tanks to an engine are empty. Now reports zero for that engine as expected;
  • Fixed issue when trying to create an Add Mass to Tank action;
  • Added ability to activate/deactivate constraints without deleting them;
  • Activating hold down now kills all surface-relative velocity;
  • Resolved issue with executing script starting at an event not first. Re-enabled for optimization only;
  • The plot working label is now drawn quicker when you do something that requires it to be made visible;
  • Added undo/redo states to most of the integrator/optimization option menu callbacks.

Please let me know if you find any bugs or have any issues. 

Oh!  This is probably a good time to share that I am working on a tutorial for Launch Vehicle Designer.  Entitled "Eve: The Final Frontier" (cheesy, yes, I know), this tutorial walks users through modeling a sample return mission to Eve. All phases of flight, from ascent, interplanetary cruise, and entry/descent/landing are modeled.  Use of this pre-release or later will be required.  I'm looking forward to sharing with you all. :)

Thanks and happy orbiting!

Link to comment
Share on other sites

8 hours ago, Arrowstar said:

Oh!  This is probably a good time to share that I am working on a tutorial for Launch Vehicle Designer.  Entitled "Eve: The Final Frontier" (cheesy, yes, I know), this tutorial walks users through modeling a sample return mission to Eve. All phases of flight, from ascent, interplanetary cruise, and entry/descent/landing are modeled.  Use of this pre-release or later will be required.  I'm looking forward to sharing with you all. :)

Looking forward to this!

Link to comment
Share on other sites

is it not possible for the Other Spacecraft lines to be adjustable in width or was this an oversight?

Also, get this error when I try to open the Initial State for the two stage to orbit example file (and all my LVD case files made with earlier builds):

Spoiler

Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Not enough input arguments.

Error in KSPTOT_BodyInfo/getParBodyInfo (line 46)


Error in lvd_EditInitialStateGUI>orbitTypeCombo_Callback (line 318)


Error in lvd_EditInitialStateGUI>populateGUI (line 85)


Error in lvd_EditInitialStateGUI>lvd_EditInitialStateGUI_OpeningFcn (line 63)


Error in gui_mainfcn (line 220)


Error in lvd_EditInitialStateGUI (line 42)


Error in ma_LvdMainGUI>editInitialStateMenu_Callback (line 465)


Error in gui_mainfcn (line 95)


Error in ma_LvdMainGUI (line 42)


Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)ma_LvdMainGUI('editInitialStateMenu_Callback',hObject,eventdata,guidata(hObject))

Error using waitforallfiguresclosed (line 9)
Error while evaluating Menu Callback.

Got another one. Happens when I try to open the Celestial Body Catalog for this LVD case file (which was created with the latest build)

Spoiler

Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Subscript indices must either be real positive integers or logicals.

Error in getPressureAtAltitude (line 7)


Error in ma_CelBodyCatalogGUI>generateBodyInfoStr (line 254)


Error in ma_CelBodyCatalogGUI>catalogListbox_Callback (line 118)


Error in ma_CelBodyCatalogGUI>ma_CelBodyCatalogGUI_OpeningFcn (line 66)


Error in gui_mainfcn (line 220)


Error in ma_CelBodyCatalogGUI (line 42)


Error in ma_LvdMainGUI>celBodyCatalogMenu_Callback (line 1299)


Error in gui_mainfcn (line 95)


Error in ma_LvdMainGUI (line 42)


Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)ma_LvdMainGUI('celBodyCatalogMenu_Callback',hObject,eventdata,guidata(hObject))

Error using waitforallfiguresclosed (line 9)
Error while evaluating Menu Callback.

NOT DONE YET! :)

4th edit - seems the KSPTOT Wiki on Github has had its permissions changed at some point - I can no longer edit/add pages. Would like to add a new section for how to calculate the m^2 profile of a rocket for use in drag properties of LVD/MA

STILL BREAKING THINGS!

5th edit - okay take the same LVD case file I linked above and after opening it attempt the following:

  1. edit the default sequential event
  2. change the termination condition to 5km
  3. save
  4. profit! no wait, error :(

Ok done for the night I promise :D

Edited by Drew Kerman
Link to comment
Share on other sites

10 hours ago, Drew Kerman said:

is it not possible for the Other Spacecraft lines to be adjustable in width or was this an oversight?

...

Ok done for the night I promise :D

1) Was probably an oversight.  I'll take a look tomorrow if I can.

2) Thanks for breaking things lol.  You are on the latest pre-release, right?  I'll see if I can't figure out what's going with the bugs tomorrow. :)

Link to comment
Share on other sites

On 3/27/2019 at 10:13 AM, Drew Kerman said:

Also, get this error when I try to open the Initial State for the two stage to orbit example file (and all my LVD case files made with earlier builds):

Issue resolved for next release.

Quote

Got another one. Happens when I try to open the Celestial Body Catalog for this LVD case file (which was created with the latest build)

Quote

5th edit - okay take the same LVD case file I linked above and after opening it attempt the following:

  1. edit the default sequential event
  2. change the termination condition to 5km
  3. save
  4. profit! no wait, error :(

These two issues are related.  Your celestial body data is invalid.  Your bodies.ini file has an altitude height of 600 km but no data for the atmosphere's pressure or temperature curves.  This is causing the error. 

I'll put a check that if the required data is missing, then the pressure/temperature returns 0.0.  But the real fix is that the bodies.ini file you're using needs to be fixed by adding the atmosphere curves that are missing.

Quote

4th edit - seems the KSPTOT Wiki on Github has had its permissions changed at some point - I can no longer edit/add pages. Would like to add a new section for how to calculate the m^2 profile of a rocket for use in drag properties of LVD/MA

Should be fixed now. :)  Please go ahead and add what you'd like!

 

Link to comment
Share on other sites

2 hours ago, Arrowstar said:

These two issues are related.  Your celestial body data is invalid.  Your bodies.ini file has an altitude height of 600 km but no data for the atmosphere's pressure or temperature curves.  This is causing the error. 

oof, will have to remake that file then. Don't bother fixing it, I already did additional work that would have to be moved over anyways.

The real issue though is that somehow the celestial body data got corrupted - because I just output a new bodies.ini and did a diff check that came up with no changes. If I load up LVD with the default case file or load one of the demos or even one of my older files the catalog works okay. I probably should have mentioned that!

Link to comment
Share on other sites

2 minutes ago, Drew Kerman said:

oof, will have to remake that file then. Don't bother fixing it, I already did additional work that would have to be moved over anyways.

The real issue though is that somehow the celestial body data got corrupted - because I just output a new bodies.ini and did a diff check that came up with no changes. If I load up LVD with the default case file or load one of the demos or even one of my older files the catalog works okay. I probably should have mentioned that!

Can you send me the bodies.ini file?

Link to comment
Share on other sites

so I was like "wonder if the Catalog works okay in MA" and got an error trying to open it. Then I restarted MA and was able to open it fine. Hrmmmm... TIME TO BREAK excrements! (I need a theme song)

So here's what I eventually found:

  1. download this sfs file
  2. start MA
  3. confirm Celestial Body Catalog opens okay
  4. load from SFS file into the Initial State the orbit for Trojan Ast VWD-775 (third from the top)
  5. save and close, then confirm the Celestial Body Catalog still opens okay
  6. re-open the Initial State. Change nothing. Save and close
  7. open the Celestial Body Catalog
  8. DING! Error

If that doesn't work for you try doing it with the bodies.ini file I supplied in the previous post?

Link to comment
Share on other sites

15 minutes ago, Drew Kerman said:

so I was like "wonder if the Catalog works okay in MA" and got an error trying to open it. Then I restarted MA and was able to open it fine. Hrmmmm... TIME TO BREAK excrements! (I need a theme song)

So here's what I eventually found:

  1. download this sfs file
  2. start MA
  3. confirm Celestial Body Catalog opens okay
  4. load from SFS file into the Initial State the orbit for Trojan Ast VWD-775 (third from the top)
  5. save and close, then confirm the Celestial Body Catalog still opens okay
  6. re-open the Initial State. Change nothing. Save and close
  7. open the Celestial Body Catalog
  8. DING! Error

If that doesn't work for you try doing it with the bodies.ini file I supplied in the previous post?

Can you try to reproduce the error on KSPTOT v1.6.3 pre-release 4?  After I made those fixes from earlier, I was unable to reproduce this error, so I'm hopeful that I resolved the issue.

Also, I did confirm that both the atmospheres of Kerbin and the Sun are goofed up (AKA missing) in that LVD MAT file you provided earlier.  The other atmospheres look okay though.  Not sure how that would happen...

Edited by Arrowstar
Link to comment
Share on other sites

3 minutes ago, Arrowstar said:

After I made those fixes from earlier, I was unable to reproduce this error, so I'm hopeful that I resolved the issue.

seems so! Unable to repro here either with the latest build :)

Also LVD question - I want to wait a second before staging after flame out. I have non-sequential states to detect when the fuel tanks run dry and when the first stage tank empties it starts a timer. When the timer reaches 1s that non-sequential event does the staging and stops the timer. Then the second stage tank empties and it once again starts the timer. Starts the timer is the only option, not restart so then should I have the non-sequential staging event fire when the timer reaches 2 seconds? Or should I just use two different timers?

Link to comment
Share on other sites

5 minutes ago, Drew Kerman said:

Also LVD question - I want to wait a second before staging after flame out. I have non-sequential states to detect when the fuel tanks run dry and when the first stage tank empties it starts a timer. When the timer reaches 1s that non-sequential event does the staging and stops the timer. Then the second stage tank empties and it once again starts the timer. Starts the timer is the only option, not restart so then should I have the non-sequential staging event fire when the timer reaches 2 seconds? Or should I just use two different timers?

Either approach is acceptable.  I actually thought I had a "reset timer" action in there but apparently I don't.  The single timer to 2 seconds might be slightly faster from a propagation perspective but it should only be a minor difference.

Link to comment
Share on other sites

1 minute ago, Arrowstar said:

I actually thought I had a "reset timer" action in there but apparently I don't

you can add it in if you want, but really shouldn't be a big deal without it - the only possible issue is if you stop it after 1s but due to program execution ticks or whatever it actually stops at like 1.05s and so if I start and stop it at 2s really only 995ms have gone by. But I don't think that could ever really be a problem right?

Link to comment
Share on other sites

2 minutes ago, Drew Kerman said:

you can add it in if you want, but really shouldn't be a big deal without it - the only possible issue is if you stop it after 1s but due to program execution ticks or whatever it actually stops at like 1.05s and so if I start and stop it at 2s really only 995ms have gone by. But I don't think that could ever really be a problem right?

As long as the event termination is 1.0 second, then the timer will stop at that time within a few nanoseconds (well, specifically, it will be related to your integration tolerances).  So no, it won't be a problem. :)

Link to comment
Share on other sites

has there been a determination on the line width for Other Spacecraft?

Also is it possible to have Start/End UT time options in a right-click menu for Non-Sequential Events?

Finally, can you have a look at this LVD case file? I've rebuilt the one that had the catalog error. Plan is to have the various altitude pitch angles set to be optimized once I tweak out the basic ascent and do all my staging under Non-Sequential events so I don't have to keep shuffling staging events around in the Sequential Events as timing changes of staging given various ascent angles. However first I need to understand what the heck is going on with my first stage booster. Graph out the Tank Mass for SRB-XL and look at what happens. No idea what that weird step down pattern is from. Pretty sure I have the initial states all setup properly and now it's getting late and my brain is fried. Also I tried it using a new engine without a thrust profile and got a similar funky result

Link to comment
Share on other sites

18 hours ago, Drew Kerman said:

has there been a determination on the line width for Other Spacecraft?

Also is it possible to have Start/End UT time options in a right-click menu for Non-Sequential Events?

  • Yes, it's in now.  I need to build a new pre-release but it'll be in there.
  • Unfortunately, this behavior is not possible with the non-sequential events because they can be executed more than once.  I also don't store the time at which those events execute.  They basically operate like interrupts on the main events in order to "do things" in the middle of a sequential event.
Quote

Finally, can you have a look at this LVD case file? I've rebuilt the one that had the catalog error. Plan is to have the various altitude pitch angles set to be optimized once I tweak out the basic ascent and do all my staging under Non-Sequential events so I don't have to keep shuffling staging events around in the Sequential Events as timing changes of staging given various ascent angles. However first I need to understand what the heck is going on with my first stage booster. Graph out the Tank Mass for SRB-XL and look at what happens. No idea what that weird step down pattern is from. Pretty sure I have the initial states all setup properly and now it's getting late and my brain is fried. Also I tried it using a new engine without a thrust profile and got a similar funky result

I'll take a look tonight. :) My initial reaction is that your pitch rates should not be on "altitude" events (at least, not until your ascent profile is very stable and you switch to these) because if the optimizer screws up the ascent and you go crashing down, you might not reach a particular altitude and then the code will spin its wheels until it either hits the minimum altitude or the maximum simulation time is reached.  Use time instead, it'll be more friendly to the optimizer and the goofy decisions it might make early on.

EDIT: I was curious and took a look.  The error you're seeing is a bug in some optimizations I wrote for pre-release 3 or 4.  I'll take a look tonight and see if I can't figure out what's going on...

Edited by Arrowstar
Link to comment
Share on other sites

34 minutes ago, Arrowstar said:

at least, not until your ascent profile is very stable and you switch to these

right, I plan to manually work up the ascent profile first to being near what I want then tweak it with the optimizer. It didn't take too long and seemed to work okay when I was modeling the ascent for my last launch (the one where the rocket just didn't have enough control authority to follow the proper ascent). If you recall, my ascent guidance currently relies on pitch angle vs. altitude so that's why I'm modeling it this way in LVD because I plug the results directly into my launch script

Link to comment
Share on other sites

Got another one. Case file. It may be something I'm doing wrong with setting up the TWR throttle model or it may be a bug. Either way, if you load the case file and attempt to plot either TWR or Throttle in the Graphic Analysis tool you should get an error thrown

Edit: I had a thought! Deleted the TWR model for the Launch Powah state and put in a polynomial model for 100% throttle and was able to graph out a TWR of 1.2383 - so I don't think that's the problem. My thought was that I was setting a TWR throttle value the engine couldn't achieve (which if you don't have anything in place for that scenario, probably should)

Edited by Drew Kerman
Link to comment
Share on other sites

17 hours ago, Drew Kerman said:

Got another one. Case file. It may be something I'm doing wrong with setting up the TWR throttle model or it may be a bug. Either way, if you load the case file and attempt to plot either TWR or Throttle in the Graphic Analysis tool you should get an error thrown

Edit: I had a thought! Deleted the TWR model for the Launch Powah state and put in a polynomial model for 100% throttle and was able to graph out a TWR of 1.2383 - so I don't think that's the problem. My thought was that I was setting a TWR throttle value the engine couldn't achieve (which if you don't have anything in place for that scenario, probably should)

Issue resolved for next release.

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