Jump to content

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


Recommended Posts

45 minutes ago, Arrowstar said:

@russm and @CraigCottingham are there any other instructions I need to include to get the linux install working besides the chmod instruction and MCR install directory instruction?

Nope, those should do it. For the install location/symlink thing, if you install MCR to the default location, this will create the required link:

sudo ln -s ./MATLAB_Runtime/v93/ /usr/local/MATLAB/R2017b

 

Link to comment
Share on other sites

Good evening, everyone!

This evening I am happy to announce the official release of KSP Trajectory Optimization Tool v1.6.2.  As with the previous release, this release primarily focuses on additional improvements to the Launch Vehicle Designer (LVD) tool.  LVD is now faster, more robust, and contains an even greater set of tools for analysts to use when designing any sort of trajectory, from an ascent into orbit, to a trip to the Mun or other celestial body, and back again.  Also making its debut in this release is the new Linux version of KSPTOT!  If you've been looking to use KSPTOT but lack a Windows PC, now is your time to shine.  Mac users can additionally take advantage of KSPTOT now by running the Linux version in a Virtual Machine.  See the install instructions in the OP for details.

Here's the change log:

  • New Linux Version of KSPTOT!
  • Added new "two body time to impact", "impact latitude", and "impact longitude" tasks to LVD's Graphical Analysis tool.
  • Added new "tank mass flow rate" task to LVD's Graphical Analysis tool.
  • Added checkboxes to show SoI radii and body children on the main LVD UI.  These work identical to those in Mission Architect.
  • Added ability to test an LVD event with all possible integrators to see which one runs the fastest.  Accessible from the LVD Edit Event dialog box.
  • Added the ability to set the width of plotted trajectory lines in Mission Architect and Launch Vehicle Designer.
  • Added ability, in Launch Vehicle Designer, to create "Tank to Tank" connections that allow flowing mass from one tank to another.  Useful for basic life support modeling or modeling propellant refueling.
  • Added ability to see SoI transitions in LVD's Graphical Analysis tool.
  • Added ability to define fluid types and assign those types to tanks.  Now tanks that hold xenon or monopropellant will not have their mass accounted for as "Liquid Fuel/Ox."
  • Added a new LVD Event Action: "Reset Extremum Value."  Allows for an extremum to forget it's value in the middle of a mission so that it can be reused accurately later on in that same flight.
  • Reworked the Mission Architect Insert/Set State user interface to be less tall and wider (fits on lower resolution monitors better).
  • Many bug fixes and LVD script execution performance enhancements.

As usual, the download is available in the first post of this thread.  If you have any questions or discover any bugs, please drop me a line in some fashion to let me know and I'll do my best to address it!  In particular, it would be great if those using the Linux version could provide any feedback on how it's working out.  There are some known graphical issues, but those aside, if you discover any bugs that appear to be Linux-related, please let me know.  Thanks!

Finally, if you enjoy using KSPTOT and its many applications (the Porkchop Plotter, Multi-Flyby Maneuver Sequencer, Mission Architect, Launch Vehicle Designer, and all the rest), please consider buying me a coffee via my Ko-Fi account to support KSPTOT's development.  As I note in the first post of this thread, KSPTOT is a labor of love that I have put many, many hundreds of hours into for the benefit of the KSP community.  The best part of it for me, aside from knowing that KSPTOT is the premier mission design tool for KSP, is all the thank you notes I've received over the years.  I offer this as another way to say "Thank you!", if you so desire.

In any event, I hope you all enjoy!  Happy orbiting!

PS: Could someone on the Linux side please check the install instructions on the first post of this thread to make sure I got the correct?  @russm maybe?

 

Edited by Arrowstar
Link to comment
Share on other sites

On 6/18/2013 at 2:59 PM, Arrowstar said:

8. Run "run_KSPTrajectoryOptimizationTool.sh". This should run KSPTOT.

The run script needs to be given the path to the Matlab/MCR install, and won't be in the user's PATH either. I'd phrase it like this:

From within the directory where you unpacked KSPTOT, run "./run_KSPTrajectoryOptimizationTool.sh /usr/local/MATLAB/R2017b/" to launch KSPTOT.

Otherwise those instructions look good to me.

Link to comment
Share on other sites

6 minutes ago, russm said:

The run script needs to be given the path to the Matlab/MCR install, and won't be in the user's PATH either. I'd phrase it like this:

From within the directory where you unpacked KSPTOT, run "./run_KSPTrajectoryOptimizationTool.sh /usr/local/MATLAB/R2017b/" to launch KSPTOT.

Otherwise those instructions look good to me.

I've updated the instructions as you suggested.  Thanks!

Link to comment
Share on other sites

4 hours ago, Arrowstar said:

@russm and @CraigCottingham are there any other instructions I need to include to get the linux install working besides the chmod instruction and MCR install directory instruction?

I think that's all that's needed. I've written up what I think are full instructions (I haven't tested them in a couple of days) at https://finitemonkeys.org/ksptot_on_linux. (Pardon the formatting -- I'm still working on that.)

Link to comment
Share on other sites

On 1/22/2019 at 3:50 AM, russm said:
  1. Download ksptot-20190122-092227.iso (bittorrent). This is ~1.6GB, abut the same size as the MCR installer itself.

I've set up a spare computer with a Bittorrent client to provide additional seeding, but it's not downloading anything. Is there an updated torrent file, or is there nothing else seeding it at the moment?

Link to comment
Share on other sites

2 hours ago, Arrowstar said:

PS: Could someone on the Linux side please check the install instructions on the first post of this thread to make sure I got the correct?  @russm maybe?

The instructions look good. I'm running 1.6.2 in my Ubuntu 18.04.1 LTS virtual machine currently.

When I started up the Mission Architect, this was written out to the console:

Warning: A value of class "TankFluidTypeSet" was indexed with no subscripts specified. Currently the result of this operation is the indexed value itself, but in a future release, it will be an error.
> In LaunchVehicle (line 20)
  In LaunchVehicle.createDefaultLaunchVehicle (line 432)
  In LvdData.getDefaultLvdData (line 83)
  In ma_MainGUI>generateCleanMissionPlan (line 209)
  In ma_MainGUI>newMissionPlanMenu_Callback (line 564)
  In ma_MainGUI>ma_MainGUI_OpeningFcn (line 91)
  In gui_mainfcn (line 220)
  In ma_MainGUI (line 40)
  In mainGUI>missionArchitectMenu_Callback (line 671)
  In gui_mainfcn (line 95)
  In mainGUI (line 42)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)mainGUI('missionArchitectMenu_Callback',hObject,eventdata,guidata(hObject))
  In waitforallfiguresclosed (line 9)

Is that expected?

Link to comment
Share on other sites

14 minutes ago, CraigCottingham said:

The instructions look good. I'm running 1.6.2 in my Ubuntu 18.04.1 LTS virtual machine currently.

When I started up the Mission Architect, this was written out to the console:


Warning: A value of class "TankFluidTypeSet" was indexed with no subscripts specified. Currently the result of this operation is the indexed value itself, but in a future release, it will be an error.
> In LaunchVehicle (line 20)
  In LaunchVehicle.createDefaultLaunchVehicle (line 432)
  In LvdData.getDefaultLvdData (line 83)
  In ma_MainGUI>generateCleanMissionPlan (line 209)
  In ma_MainGUI>newMissionPlanMenu_Callback (line 564)
  In ma_MainGUI>ma_MainGUI_OpeningFcn (line 91)
  In gui_mainfcn (line 220)
  In ma_MainGUI (line 40)
  In mainGUI>missionArchitectMenu_Callback (line 671)
  In gui_mainfcn (line 95)
  In mainGUI (line 42)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)mainGUI('missionArchitectMenu_Callback',hObject,eventdata,guidata(hObject))
  In waitforallfiguresclosed (line 9)

Is that expected?

Not expected, but also not a big deal.  (I've never seen it before either lol.)  That call to "getDefaultLvdData" shouldn't be there anyway, it is from a time when LVD was going to be a part of Mission Architect.  Looks like I forgot this one spot.  Anyway, you can ignore it for now, and the offending call has been removed for the next release.  Thanks for the find!

Link to comment
Share on other sites

1 hour ago, CraigCottingham said:

I've set up a spare computer with a Bittorrent client to provide additional seeding, but it's not downloading anything. Is there an updated torrent file, or is there nothing else seeding it at the moment?

ah sorry, yes I had to update it with a filename that macOS would be happy with. I've updated the link in the original post, also here or magnet link (can't figure out how to make the forum accept it as clickable, should all be one item with no line-breaks):

magnet:?xt=urn:btih:87b1012c30126330430d962f230531117fc8c40f&dn=KSPTOT%20LiveCD&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Fopentor.org%3A2710&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Ftracker.blackunicorn.xyz%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969

 

Link to comment
Share on other sites

Hi everyone,

I found a somewhat important bug in the latest release of KSPTOT.  Within Launch Vehicle Designer, if you don't have any tank to tank connections or engine to tank connections, and you try to set the initial stage states of the vehicle from the Initial State menu dialog box, you will get an error.  I've hotfixed the release from yesterday with a patch and re-uploaded.  If you downloaded v1.6.2 between last night and now, please re-download to avoid this bug.  Thanks!

Link to comment
Share on other sites

  • 2 weeks later...

Any way this could be ported to one of the fully open source computer math systems?    There are some pretty incredible ones out there, many of which put MATLAB to shame now.  (NASA almost exclusively uses the various open source mathematics systems and mathematics languages they have recently contributed to.)
The various Open source languages work different.  I think any programing language with the ability to generate 3D or psuedo-3D graphics would be good for this.

The lightest most generic use application that would work is Libreoffice's extended math packages.  (Could do some really nifty stuff with that and export some pretty HTML5 pages or word processor documents with that with that the could include nice forms docs with nice encapsulated macros with the formulas pre-simplified for each purpose.)
Axiom is also good.  This would be a nice tool.  This tool predates MATLAB, but recently has seen major enhancement due to being open sourced.
As is (Wx)Maxima:  This was an alternative to MATLAB built from the ground up by various contributors to create a free and open solution for scientists so they can integrate far more advanced tools.
 

Link to comment
Share on other sites

On 2/2/2019 at 2:57 PM, Ruedii said:

Any way this could be ported to one of the fully open source computer math systems?    There are some pretty incredible ones out there, many of which put MATLAB to shame now.  (NASA almost exclusively uses the various open source mathematics systems and mathematics languages they have recently contributed to.)
The various Open source languages work different.  I think any programing language with the ability to generate 3D or psuedo-3D graphics would be good for this.

The lightest most generic use application that would work is Libreoffice's extended math packages.  (Could do some really nifty stuff with that and export some pretty HTML5 pages or word processor documents with that with that the could include nice forms docs with nice encapsulated macros with the formulas pre-simplified for each purpose.)
Axiom is also good.  This would be a nice tool.  This tool predates MATLAB, but recently has seen major enhancement due to being open sourced.
As is (Wx)Maxima:  This was an alternative to MATLAB built from the ground up by various contributors to create a free and open solution for scientists so they can integrate far more advanced tools.
 

Unfortunately this is impossible. Between the UI and the backend code, KSPTOT is nearly 100k lines of code.  A rewrite just to go to another language with no additional benefits would take years of no added value.  

Link to comment
Share on other sites

  • 2 weeks later...

Hi everyone!

Today I'm releasing the first pre-release of KSPTOT v1.6.3.  This pre-release has a number of new features that are mostly but not exclusively around LVD.  There's lots of good stuff in here.  Let's take a look at the change log:

  • LVD: Initial implementation of 3rd body gravity force models.  (There may be some bugs here so please report if you find anything.)
  • LVD: The initial state body fixed coordinate system now uses azimuth, elevation, and magnitude for the velocity components.
  • LVD: New initial state coordinate system type: "Circular Restricted 3 Body Problem" (CR3BP)
  • LVD: Plot type can be changed from 3D inertial to 3D body-fixed and 2D.  See new "View" menu.
  • LVD and MA: The "observe optimization" UI (that shows the optimization progress) now has a tooltip that shows the variable name and value when you mouse over the bar graph.  I also enabled the data tips so you can select the data points in the objective function progress plot and the maximum constraint violation plot.
  • Rendezvous Maneuver Sequencer (RMS): Can now only optimize the first of the two DV maneuvers.  Useful for computing intercepts where you don't intend to stop at your target.
  • RMS: Improvements to the plotting for hyperbolic orbits.
  • Other minor performance enhancements in LVD.
  • Bug fixes application-wide.

Both Windows and Linux builds are available here.  Please let me know if you have any questions.  Thanks and happy orbiting!

Link to comment
Share on other sites

5 hours ago, smotheredrun said:

@Arrowstar, Looking at this mod seriously for the first time to maybe have some fun with my Jool 5 attempt.  So..  are your KSPTOT version numbers in anyway related to KSP versions?  To be specific, can I use the current build of KSPTOT with KSP 1.3.1.?

I'm not Arrowstart but I can answer: KSPTOT versions are not related to KSP. KSPTOT and KSP are linked by KSPTOTConnect plugin and this plugin works fine with 1.3.1 as well as with 1.6.1.

Link to comment
Share on other sites

32 minutes ago, Arrowstar said:

If you have any questions, please don't hesitate to post here and let me know so I can help out.  :)

Will do, thanks!

I do have one:  

With a core i7 3Ghz, 16 GB RAM, 1 GB Nvidia graphics,

What is this app like for memory/CPU usage?

Especially if I'm running EVE, SVE, Scatterer, Pood's OPM VE, and a crap ton of part mods....

And video recording software 

Link to comment
Share on other sites

2 minutes ago, smotheredrun said:

Will do, thanks!

I do have one:  

With a core i7 3Ghz, 16 GB RAM, 1 GB Nvidia graphics,

What is this app like for memory/CPU usage?

Especially if I'm running EVE, SVE, Scatterer, Pood's OPM VE, and a crap ton of part mods....

And video recording software 

Memory usage is probably about 1-2 GB, but generally on the lower end of that scale unless you have some big analysis running.

CPU usage will always be at least 1 core's worth when you're running something, but could potentially go up to 100% if you're using parallel optimization in Mission Architect or Launch Vehicle Designer, or some of the other applications which have implicit multithreading (Porkchop plot, Multi Flyby Maneuver Sequencer).

Note that CPU usage when the application is idle will always be nearly 0%.

Link to comment
Share on other sites

3 hours ago, Arrowstar said:

Memory usage is probably about 1-2 GB, but generally on the lower end of that scale unless you have some big analysis running.

CPU usage will always be at least 1 core's worth when you're running something, but could potentially go up to 100% if you're using parallel optimization in Mission Architect or Launch Vehicle Designer, or some of the other applications which have implicit multithreading (Porkchop plot, Multi Flyby Maneuver Sequencer).

Note that CPU usage when the application is idle will always be nearly 0%.

Lol... now you've got me going down the rabbit hole... :)  I need to look those other mods/utilities up now!   Just look through more of this thread and tutorials....

Hmm... can one run this through a network?  Sort of like the AvilaSoft EFB for FSX?

Edited by smotheredrun
Link to comment
Share on other sites

18 hours ago, smotheredrun said:

Hmm... can one run this through a network?  Sort of like the AvilaSoft EFB for FSX?

With ease: it works over LAN or Internet without problems: be aware that KSPTOTConnect has IP whitelist GameData\KSPTOTConnect\Plugins\PluginData\KSPTOTConnect\IPAddressWhitelist.txt - if it won't connect - it probably because you need to update this file.

In simplest case when KSP and KSPTOT are running on same computer, you don't need to change anything. If they are on different computers, you need to go into KSPTOT's main menu - select "KSP Real Time System" / "MCC Real Time System"  and enter IP or hostname into "Enter remote host" box. When click on "Test Connect to Remote Host" button. As soon as "Select Vessel:" dropdown will be populated by data, all KSPTOT tools will be able to fetch data from KSP: just right click on any orbital param input field and select "get orbit from KSP".

Edited by 1greywind
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...