Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Arrowstar

  1. Hey there, that warning just means that the mission needs to be run first. It's not really an error and it doesn't imply that anything is wrong. That said, I'd encourage you to use Launch Vehicle Designer (LVD) instead, since it's a far more fully featured and robust mission planning tool that works for both launch vehicles and spacecraft. I haven't really maintained MA in a number of years now aside from a bug fix here and there.
  2. Hi everyone, Tonight I've built KSPTOT v1.6.10 pre-release 5. There are a few new features I want to discuss in this release before I get to the change log. These are all Launch Vehicle Designer (LVD) related. First, body (meaning "spacecraft") angular rates are now available to be used as Graphical Analysis tasks and as constraints as well. Second, there are a variety of new actions you can apply to events. These are: Set Plugin Variable Value: Sets the value of a "plugin variable" to a particular constant number. Example: Value = 5 Add Value to Plugin Variable Value: Sets the value of a "plugin variable" to itself plus or minus a given constant number. Example: Value = Value + 5 Set Plugin Variable Value to Quantity: Sets the value of a plugin variable to the value of a given graphical analysis task quantity. Example: Value = Altitude [Kerbin Inertial Frame] Set Next Event: Sets the next event to be executed to a given event. I'll get to why this is relevant more in a bit. Third, there is a new Conditional Action. A conditional action is an action that lets you set the conditions by which a group of actions may or may not be executed. The action is structured in the same way that an "if-else if-else" structure written in a programming language. Let's walk through the UI. The upper section, the "IF" section, is evaluated first. If the condition on the left is true, then the actions on the right are evaluated. The middle section, if "ELSE IF" section, is evaluated next if the IF condition returned true. You can have as many ELSE IF conditions as you'd like, each with their own conditions and associated actions. If none of the previous conditions returns true, then the "ELSE" actions are executed, if any. Conditions are edited through their own UI. Most conditions will be based on Graphical Analysis task quantities, but there are also AND and OR booleans that let you chain conditions together in a very flexible way. The best part about this is that you can use this, combined with the new "Set Next Event" action, to create conditional, branching trajectories. I've done this is the example UIs that I've been showing here. Note that the "quantity comparison" conditional can compare one quantity against a fixed, constant number like I'm doing here or against the value of a different quantity at that same point in time. This is particularly useful for comparing the values of Plugin Variables, which are really now great places to store numeric data that you might want to compare against as you propagate your trajectory. Anyway, that's the main gist of things! Here's the full change log. LVD: Added new polling and search methods for patternsearch(). LVD: Warn/alert area is now a UI table. The KSPTOT main GUI has been replaced with something that is much more visually indicative of what functionality KSPTOT has to offer. KSPTOT UI now supports theming of the colors of all UIs. Access from the new main GUI: View -> Edit Themes and View -> Set Theme. New icons for KSPTOT and various KSPTOT tools and applications. There is also a new splash screen shown when loading KSPTOT. LVD: GUI areas for initial/final state is now a text area so it can scroll. LVD: Added body angular velocity Graphical Analysis tasks. LVD: Added body angular rate constraints. LVD: Added conditional action. LVD: Added Longitude termination condition LVD: Added Add value to plugin var value action and other similar actions. LVD: Added Set Next Event action. LVD: Actions are now sorted alphabetically. Fixed bug with Select Departure/Arrival Date button in Compute Departure stuff. That should be it! Let me know if you have any questions or find any bugs! Happy orbiting!
  3. Open up this MAT file in LVD. It should be the optimized trajectory you're looking for! https://drive.google.com/file/d/14co-L5ztASEKLreLAskrx9YM7Pf1bY2g/view?usp=sharing
  4. Can you share a screenshot or the LVD MAT file? I think I misunderstood at first. I was thinking you were asking how long it took to generate the MFMS data file for LVD. The actual optimization of the trajectory in LVD could take some time, yes.
  5. Hey everyone, There's another visual change coming to KSPTOT in the next version. It's bothered me for a while now that the "main GUI" was always the porkchop plotter, since that isn't really the focus of the application anymore and hasn't been in years. It stuck around in that role mostly for historical reasons. I've decided to rework the user interface that you're presented with when you start KSPTOT. Going forward, you'll see this instead. Like the other windows in KSPTOT, this one is theme-able as well. I've moved the old "Tools" menu into this "Android home page" inspired layout and given each tool its own button and icon. The old porkchop plot generator UI is still there under "Porkchop Plot Generator". I think this will A) make it far more obvious that KSPTOT offers more than just porkchop plotting, and B) also make those tools a bit easier to access. By the way, the icon for the Porkchop Plot Generator is temporary. Unfortunately Midjourney stopped offering trials as I was generating icons, so I don't have that one yet. If anyone has a Midjourney subscription and wants to help me generate an icon for it, please get in touch! Speaking of icons, spoiler alert, I did pick a new KSPTOT icon and its there in the picture. A new splash screen is coming too that I'm sort of excited to share with you in the future. Let me know if you have any questions or comments. I'm honestly not sure then. You have no error messages, no logs, and apparently have permissions for everything. I've never heard of this happening before. Any chance the downloaded files are corrupted? Can you try to download any of the other MCR packages and install them, just to see if they work? Pick a couple from this list and see what happens: https://www.mathworks.com/products/compiler/matlab-runtime.html
  6. You're probably running into the "zero SOI radius" assumption. It's a little complicated, but if you want to use MFMS results for actually running your manevuers, here's what you should do. Generate the Flyby Maneuver Sequence. Tap the "Save Results to File for LVD" button and save the file to some location. Open Launch Vehicle Designer (LVD). In LVD, File -> New Mission Plan From MFMS Output. Select the file you saved in Step (2). Optimization -> Optimize Mission. See if that gets you a delta-v maneuver that intersects Eve.
  7. Does anything in this conversation help? https://www.mathworks.com/matlabcentral/answers/229857-why-do-i-see-preparing-installation-files-installing-finished-in-the-terminal-window-wh
  8. Do you get any error messages in the terminal window? There isn't really, but the general idea with using Multi-Flyby Maneuver Sequencer is: Select your minimum and maximum launch bounds Set your waypoints, starting from your departure planets and ending with your final body you want to go to. The middle bodies will be used for gravity assists. Set your initial orbit around the first waypoint body. Push the compute button. Let me know if you have any particular questions!
  9. Hey everyone, I've got some more news regarding visual changes to KSPTOT. The other day I decided I was finally interested enough in adding a dark mode for the software, so I created what I call "visual themes". These are user definable sets of colors applied to most UI elements that make up the KSPTOT GUI windows. Going forward, KSPTOT will ship with two themes by default: the typical light theme and a dark theme. However, there's nothing stopping you from using the Theme Editor to make your own. You can access the Theme Editor from the main KSPTOT GUI (View -> Edit Themes). It looks like this. Every type of editable widget has its own tab where you can set colors. (In the future, I could also do fonts, but I'm leaving that out for now.) An example representation of a GUI with the selected theme as currently defined is shown on the bottom of the window. Here's I've got a "blue theme" defined, but there's nothing stopping you from going all unicorn vomit rainbows if you really want, haha. You can select and apply a theme by double clicking on the theme in the list box on the left or by checking the Active Theme checkbox at the top of the UI. The effects take place across every KSPTOT UI instantaneously. I think Launch Vehicle Designer looks particularly good in a dark theme, but all tools and windows have this functionality. Let me know what you think!
  10. Thanks! You bring up a great point. Here's what they would look like at 50 px x 50 px, which would be their approximate size as an icon. A) B) C) D) I should have shared these as well.
  11. Hey guys, I've been thinking about changing KSPTOT's logo for a little bit now and I wanted to ask your opinions. I've been playing with Midjourney, the AI image generator, and it's come up with some pretty cool ideas for me. Out of about 30 or so images, I've narrowed down the ones I really like to these four and I was wondering if you all had a preference. "Keep the original logo" is also a preference too! Keep in mind these have to be shown at ~50 px square and that they will have transparent backgrounds, not white or grey. A) B) C) D) What do you think?
  12. Hi everyone, Just wanted to share some news regarding the next pre-release of KSPTOT, whenever it is that I decide to build that. First, KSPTOT will be moving to MATLAB MATLAB R2023a as of the next PR. This is primarily because there's a free 5%-10% performance increase that comes with this next version just about everywhere in KSPTOT, and I'd like you all (and me!) to be able to take advantage of it. Second, Launch Vehicle Designer (LVD) will be getting a slight appearance overhaul in a few ways as of the next pre-release. There is now an option to display the color of sequential events as the text color in the listbox for easier identification of which event is which on the display. The listbox background automatically adjusts to a tone of grey that best displays those colors. The warning and alerts area now has a new look that I think will be slightly less clunky and hopefully easier to read. There's a new option to completely get rid of the rulers and grids in the display area when you render the orbit. You can now display or not the Axes box in your View Profiles. (View -> Edit View Settings) When all is said and done, here's what you end up with. Let me know what you think!
  13. So I've given this a go, and all that happens when I execute the is the spacecraft twitches a bit. It's like the orbit gets set and then is immediately reversed. I'm not sure what to do about it. Any ideas? See 0:09 of this video for an example of what I mean. Sorry for all the dinging sounds. https://vimeo.com/manage/videos/809574842/
  14. When you say relative to the current body frame, you mean an inertial frame whose center is the center of the celestial body being orbited?
  15. Great, thank you. I see that method in the API documentation. Any idea what reference frame those position and velocity Vector3d objects are relative to? And do I just get the Orbit from the Vessel's OrbitDriver object?
  16. Hello! I'm trying to figure out how to programmatically set the position and velocity of a spacecraft. Say I want to locate the vehicle at 0 deg latitude, 0 deg longitude, and at some altitude. I want my velocity vector to be due north. How can I achieve this? Here's what I have so far, but it doesn't seem to work. Any help would be appreciated! double ut = Planetarium.GetUniversalTime(); CelestialBody cb = this.vessel.orbit.referenceBody; Planetarium.CelestialFrame cbFrame = cb.BodyFrame; Vector3d pos = cb.GetWorldSurfacePosition(0, 0, 501000); this.vessel.SetPosition(pos); Vector3 CoM = vessel.localCoM; Vector3d up = (CoM - vessel.mainBody.position).normalized; Vector3d north = Vector3d.Exclude(up, (vessel.mainBody.position + vessel.mainBody.transform.up * (float)vessel.mainBody.Radius) - CoM).normalized; this.vessel.SetWorldVelocity(north * 100); this.vessel.UpdatePosVel(); Thoughts? Thank you!
  17. Hey Nate! There's a small but hardworking subset of the KSP modding community that develops external tools to help users perform spacecraft and launch vehicle mission design. While I might have one of the longest running mods out there in this regard (KSPTOT), I'm definitely not the only one. One of the big issues I've run into with developing with KSP 1 in mind that the developers never provided any insight into how they model forces and torques on the vehicles. Given this, what are your thoughts on: Providing a KSP 2 "theory manual" that contains information regarding the math models you all have developed and implemented in KSP 2? Especially important here are force model definitions and atmospheric model definitions. Providing API documentation that includes units, relevant reference frame definitions, and data type/dimensions where appropriate? Let me give you an example as to why I would love to see this in KSP 2. Right now I'm trying to reverse engineer how KSP 1 computes lift forces on a rocket so that I can write a plugin to generate lift coefficient databases for a given vehicle. This is extremely painful in KSP 1, because A) there's no documentation and B) there's no definitions for anything. I'm basically having to rely on what other modders have figured out before me, but some of it is out of date, etc. Providing the KSP community with those two bulleted items would go a long way to helping us out! Thanks for all the fun so far, looking forward to what KSP 2 has to bring in the future!
  18. Yes, I was able to reproduce the issues on my end. It was an issue with the new way that MATLAB implemented their tcp/ip connection interface. Reverting to the old way resolved the issue.
  19. I ended up reverting some files back to a late 2022 state and I think that's resolved it. Give it one more go for me.
  • Create New...