Jump to content

[1.2] VOID 1.1.0-beta - Vessel Orbital Informational Display


toadicus

Recommended Posts

Hullo there Iannic-ann-od! All of the variable-precision values (marked by a superscript "i") can have their magnitude shifted by left- or right-clicking on the value. One left click should change those values to m/s instead of mm/s, which should result in more-normal behavior in general.

Precision settings in Surface & Atmosphere got weirded a little bit when I added Downrange Distance. Once you get things back to your liking they should stay that way. :)

Link to comment
Share on other sites

By the way Toadicus, this is the rover lander where VOID gets confused about staging: note that on the penultimate stage when you discard everything below the rover (including the bottom decoupler), bottom stage dV reads 0.00, and the total dV isn't correct.

https://dl.dropboxusercontent.com/u/26985795/Minmuscod.craft

Link to comment
Share on other sites

The numbers are identical on my installation. The problem is with stage 1: note that the bottom rover decoupler is jettisoned at the same time the radial engines are fired (creating a lander probe + rover combination), and the final stage simply separates the rover from the engine (so the lander can either suicide or return to orbit). However, VOID fails to detect the radial engines and considers stage 1 to have no dV. Stage 0 displays the dV of the top part, but doesn't account for the weight of the rover.

You can "fix" this by placing the rover at the top of the stage, but it would make landing the thing complicated. That's how I found the actual dV of the lander+rover stage (3.536 km/s; 7.915 km/s for the whole rocket), but I had to undo the changes before flying the thing, so VOID's in flight calculations during that stage becomes inaccurate again (and burn time for maneuver nodes becomes "NaN")

edit: Is the stage information window from KER? If so they have the same problem...

re-edit: Test-installed KER and it does indeed have the same problem. If it isn't fixable, then I guess I'll just have to deal or redesign.

Edited by Spheniscine
Link to comment
Share on other sites

Spheniscine use the link in my sig to the rocket building tutorial I wrote. Going stage by stage with test weights you always know how much deltaV you have. Then you can just slap it all together with sub assemblies and off you go!

Link to comment
Share on other sites

Spheniscine use the link in my sig to the rocket building tutorial I wrote. Going stage by stage with test weights you always know how much deltaV you have. Then you can just slap it all together with sub assemblies and off you go!

Thank you for the tip, but I'm not quite as worried about assembly dV count (at least now that I know what the problem is), but rather that the burn time prediction doesn't work when I'm down to the top engines + rover. I'm kinda a stickler for that and the stock burn time prediction often doesn't work or is wildly inaccurate (saying like 1s when it's really minutes).

edit: Ooh a test weight mod! Now I don't have to slap together bunches of fuel tanks to simulate asteroids <.<

Edited by Spheniscine
Link to comment
Share on other sites

That stage info window is and is not from KER. That's VOID's window (yet to be released), powered by KER (as are all of VOID's engineering data). I have finally had that long-awaited chat with cybutek. :)

So, if VOID has the problem then so does KER. I'll see what I can do to narrow it down and then report it to cybutek & padishar myself.

Link to comment
Share on other sites

...and the stock burn time prediction often doesn't work or is wildly inaccurate (saying like 1s when it's really minutes).

I deal with the same issue since I use a throttle/stick setup for control. In that case, what you need is this equation. Extremely accurate, I calculate all my burn times manually now. I've made functions with Kerbulator to speed up the process a bit.

Link to comment
Share on other sites

Gaiiden, VOID is already using that equation (in a slightly different form) for its burn time calculation, see line 669 here. :)

return initialMass / massFlow * (Math.Exp(deltaV * massFlow / thrust) - 1d);

That will be wrong if VesselSimulator isn't figuring the current stage correctly, which is likely what is happening to Spheniscine. I haven't had a chance to tinker with it yet; I'll let you know what I find when I find it. :)

Link to comment
Share on other sites

Hm... very interesting. I entered that formula into a spreadsheet, and apparently VOID's estimated burn time is wrong, and uses "t = -(m0 ve / T) (1 - e^(dv/ve))" instead of "t = (m0 ve / T) (1 - e^(-dv/ve))" (note the red minus signs). Sanity checks: Doubling the maneuver ÃŽâ€v should slightly less than double the burn time, as you get more acceleration as the ship burns up fuel. Similarly, increasing Isp should increase burn time slightly, as less fuel is burned, so you get less increase in acceleration. The second, correct formula will pass these tests, but the first won't.

Here's the spreadsheet, so people can use it and/or check my work: https://dl.dropboxusercontent.com/u/26985795/burn%20time%20calculator.ods

edit: based on the code you posted, the correct formula should be:

return initialMass / massFlow * (1d - Math.Exp(-deltaV * massFlow / thrust));

Edited by Spheniscine
Link to comment
Share on other sites

That stage info window is and is not from KER. That's VOID's window (yet to be released), powered by KER (as are all of VOID's engineering data). I have finally had that long-awaited chat with cybutek. :)

So, if VOID has the problem then so does KER. I'll see what I can do to narrow it down and then report it to cybutek & padishar myself.

This is a shortcoming of the vessel simulation code from KER. The rover doesn't have any fuel or engines so the vessel simulator fires the next stage immediately resulting in 0 deltaV in stage 1 and a higher deltaV in stage 0 (due to the reduced dry mass). The "problem" here is there is no way of telling the simulation code when to stage so it has to guess. It is quite common in this sort of situation that the stage needs to be fired part-way through the burn, e.g. a lander with disposable science pods would use some of the fuel to land before staging and the remainder to take off again.

tl;dr (who are you kidding, just read it ;) this is on the list of things that need to be fixed but it is a non-trivial problem and is currently planned for a significant overhaul of the simulation code that I have been planning for several months. Hopefully I will get a decent amount of free time soon to make some decent progress on it.

Link to comment
Share on other sites

  • 2 weeks later...

Hiyas Toadicus :)

Sorry to report, but I have a bug :(

With the additions of HUDs to KER, I've been using them more than the main HUD of VOID. However, I like the advanced HUD part where it shows the dV/time info upon maneuver node, so I leave that turned on but the regular HUD turned off.

When it happens/Replication:

After selecting these options (main HUD off, advanced HUD on) then starting up a new craft, or say transferring to the space center and back to the craft, or switching crafts, the AdvHUD options don't show anymore. When this occurs, my output log is filled with:


[VOID_HUDAdvanced]: KeyNotFoundException caught during window call.
Message:
The given key was not present in the dictionary.
StackTrace:
at System.Collections.Generic.Dictionary`2[System.String,UnityEngine.GUIStyle].get_Item (System.String key) [0x00000] in <filename unknown>:0

at VOID.VOID_HUDAdvanced.leftHUDWindow (Int32 id) [0x00000] in <filename unknown>:0

at VOID.VOID_Tools+<GetWindowHandler>c__AnonStorey0.<>m__0 (Int32 id) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

Fix: Selecting the main HUD on and off again will get them to reappear and stop the spam in the log file.

Link to comment
Share on other sites

VOID has been updated to version 0.15! As was mentioned previously, I finally talked with cybutek about adding a stage information window similar to KER's, and with his permission I have done so. This update adds the new Stage Information module, click-through protection, and miscellaneous background changes.

CHANGELOG:


v.0.15 [2014-11-15]
* NEW MODULE! VOID_StageInfo is the long-awaited per-stage, per-body engineering data breakdown, available in the editor and in flight.
* All windows should now be click-through resistant. Editor windows will now eschew the parts panel.
* VOID_HUDAdvanced: Burn time calculations revised to be actually correct.
* Completely rejiggered the way GUI styles are loaded.
* VOID_Core: Changed the way "Kerbin" is fetched for the purposes of many reference calculations. This should be more tolerant of mods that change Kerbin's name.

Link to comment
Share on other sites

Hmm, does it not write a header? It's supposed to write a header. That header should be:

"Mission Elapsed Time (s);" +
"Altitude ASL (m);" +
"Altitude above terrain (m);" +
"Surface Latitude (°);" +
"Surface Longitude (°);" +
"Orbital Velocity (m/s);" +
"Surface Velocity (m/s);" +
"Vertical Speed (m/s);" +
"Horizontal Speed (m/s);" +
"Gee Force (gees);" +
"Temperature (°C);" +
"Gravity (m/s²);" +
"Atmosphere Density (g/m³);" +
"Downrange Distance (m);" +
"\n"

HTH!

EDIT:

By the way, I've (finally) made the next significant step forward towards scriptable panels, which should also result in scriptable logger columns. Don't have anything to share yet, but I'm about one syntax element away from moving from external testing to beginning an integration with VOID code. :)

Edited by toadicus
Added teaser.
Link to comment
Share on other sites

That extra character is a Microsoft-fail; Excel is importing the CSV as ASCII instead of UTF-8. To clean it up, instead of opening the csv directly in excel you can open a blank workbook and use the "Text Import Wizard" (under the Paste flyout). At the first dialog set the "File Origin" to "65001 : Unicode (UTF-8)", then click Next and at the second dialog change the Delimiter to Semicolon.

I think I've sorted out why it's not printing the header every time. I'll fix it. :)

EDIT: I decided to make the CSV files play more nicely with Excel, now using commas and properly quoting strings, also added the UTF-8 BOM, so Excel detects the character set automagically. I may wind up completely rewriting this module before I release next, because it's the only one that really never got any love and it's making me angry.

useeTvbNcBjr.png

Edited by toadicus
Added news about logger updates.
Link to comment
Share on other sites

cheers toadicus. I'm paying attention to logged data again now that I have my Flight Tracker all set up. You can see examples in this imgur album, in the image caption links. Now that I can import data into a database, and command pages to refresh as often as I want... well, I wouldn't do a real-time stream but something like every 15s would be cool for people to be able to "watch" the launch and ascent and then page back and forth to look more closely at certain points.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...