OHM State Vector MFD V0.9

OrbitHangar

Addon Comments
Joined
Apr 9, 2008
Messages
3,832
Reaction score
18
Points
0
StateVectorMFD is a basic MFD for displaying a vessel's state vectors at the current time and at some other time relative to the present time. The MFD uses the Kepler Orbital Simulation Toolkit (KOST) to convert the current state vectors to orbital elements and then perform time propagation along those elements. Kepler's Laws are then solved numerically to obtain the state vectors for the future time. See online documentation at OrbiterWiki for more information: http://www.orbiterwiki.org/wiki/State_Vector_MFD Source code is included for both State Vector MFD and KOST. StateVectorMFD is free software, LGPL v3. State Vector MFD Copyright 2009 by Tim Blaxland KOST Copyright 2009 by CJ Plooy amp; Tim Blaxland

[ame=http://www.orbithangar.com/searchid.php?ID=3824]More...[/ame]
 
Updated to version 0.9.1. Changes:

1. Fixed small bug to improve accuracy in non-spherical gravity mode.
2. Updated to include KOST 0.5
 
Updated to version 0.9.3. You can now display the state vectors for any object.
 
This is a cool tool!

I have a request/suggestion/proposal for enhancement.

Your mission, should you decide to accept it, is to be able to
modify the state vectors for any object, using an arbitrary reference, using notation such as used by JPL Horizons. Here is an example for the Herschel spacecraft:

Code:
*******************************************************************************
Ephemeris / WWW_USER Mon Sep  7 08:07:33 2009  Pasadena, USA     / Horizons    
*******************************************************************************
Target body name: Herschel Space Observatory (Spacecraft) (-486) {source: H20090902_0001.LOE}
Center body name: Sun (10)                        {source: DE405}
Center-site name: BODY CENTER
*******************************************************************************
Start time      : A.D. 2009-Sep-06 00:00:00.0000 CT 
Stop  time      : A.D. 2009-Sep-07 00:00:00.0000 CT 
Step-size       : 60 minutes
*******************************************************************************
Center geodetic : 0.00000000,0.00000000,0.0000000 {E-lon(deg),Lat(deg),Alt(km)}
Center cylindric: 0.00000000,0.00000000,0.0000000 {E-lon(deg),Dxy(km),Dz(km)}
Center radii    : 696000.0 x 696000.0 x 696000.0 k{Equator, meridian, pole}    
Output units    : KM-S                                                         
Output format   : 03
Reference frame : ICRF/J2000.0                                                 
Output type     : GEOMETRIC cartesian states
Coordinate systm: Ecliptic and Mean Equinox of Reference Epoch                 
*******************************************************************************
JDCT 
   X     Y     Z
   VX    VY    VZ
   LT    RG    RR
*******************************************************************************
$$SOE
2455080.500000000 = A.D. 2009-Sep-06 00:00:00.0000 (CT)
   1.456696296237577E+08 -4.337624698900992E+07 -3.427316046135407E+05
   8.181131642028747E+00  2.897649664921359E+01  7.226440552623004E-03
   5.069873291124730E+02  1.519909775694833E+08 -4.286552866913212E-01
2455080.541666667 = A.D. 2009-Sep-06 01:00:00.0000 (CT)
   1.456990444463985E+08 -4.327192053707346E+07 -3.427050324010272E+05
   8.160435880276751E+00  2.898264096209017E+01  7.536338060603498E-03
   5.069821809625763E+02  1.519894341929715E+08 -4.287759193965193E-01
so you could just paste in

Code:
 1.456990444463985E+08 -4.327192053707346E+07 -3.427050324010272E+05
 8.160435880276751E+00  2.898264096209017E+01  7.536338060603498E-03
to modify Herschel to its vectors at 01:00 UTC today.

The reason for an arbitrary reference is that, for example, the state vectors for LRO are published with Earth as the reference.

Code:
     Julian Date        X (km)        Y (km)        Z (km)     Xd (km/s)     Yd (km/s)     Zd (km/s)    RA (deg)   Dec (deg)    Alt (km)   Lat (deg)  Long (deg)    GTV (km/s)   LST (deg)   SZT (deg)   PRA (deg)  PDec (deg)  SunDist (km)   SSLat (deg)  SSLong (deg)

2455080.00000000   1651.458919    381.422738   -555.846683     -0.495197     -0.143087     -1.578052     182.249     -19.229     46.3504     -18.157      13.005      1.616964      26.973      31.387      67.262      -1.081        -86.52       -13.816  151200987.330
2455080.00300000   1441.002117    324.481994  -1001.669325     -0.898616     -0.233912     -1.374888     174.279     -33.551     47.2896     -34.143      12.690      1.615114      26.875      41.341      67.262      -1.081        -86.52       -13.858  151200802.150
so that you could just paste in

Code:
1441.002117    324.481994  -1001.669325     -0.898616     -0.233912     -1.374888
with Ref Earth to update the LRO state vector at MJD 55080.003
[/CODE]

OK, that looks like it is using the moon as a reference now. Earlier versions of the LRO state vectors did use Earth as a reference.


This message will self destruct in 5 seconds . . . . . Phffffffttt ~~~~~
 
I have a request/suggestion/proposal for enhancement.

Your mission, should you decide to accept it, is to be able to
modify the state vectors for any object, using an arbitrary reference, using notation such as used by JPL Horizons. [...]
Features of this type should be better implemented with a dialog interface rather than as an MFD.

Strictly speaking, MFDs are part of the spacecraft system and live within the simulation framework. They should therefore be restricted to simulate things that adhere to the physics. Typically, that includes display of spacecraft status parameters, or issuing commands to spacecraft systems (maybe even controlling another spacecraft via some remote connection) - you get the idea. Basically anything that is at least plausible in real life. (with minor concessions such as availability of instant and error-free data for all objects).

Anything that happens outside the simulation framework (like setting up object positions) - call it "setup" or "edit" or "god" mode, should better be implemented as a dialog box, to make it clear that this is not part of the immersive section of the simulator. In this particular instance, the state vector setup you suggest may be better included in the scenario editor. In fact, I think that there is already a TLE extension for the scenario editor available. Was that what you were thinking about?
 
Wow! an answer from the creator himself! Thanks!

Yes, i use ScenarioEditorTLE to update objects in LEO from Celestrak or
other sources.

I was just thinking of making it a bit easier to update objects in other, arbitrary orbits with the same ease.

My current method is to stop the sim at the appropriate time, and modify the
state vectors in the .scn file.

I'm just lazy and converting between km/s and m/s, and right/left hand coordinates is sooooo hard! :rofl:

Thanks again for the answer!

-Chris
 
I agree with Martin that this should be a Scenario Editor extension or similar. What would be really cool would be if the extension dialog queried Horizons for you, via the telnet interface.

At this time, I do not choose to accept the mission though :P
 
I looked in the scenarioeditorTLE directory and found source code!

It shouldn't be too hard to do this, except that I've never done any
windows programming.

I should be able to come up with a prototype in linux that will get values from
Horizons, ready to plug into scneditor. I think I'll start a thread in the addon dev section, and maybe I can get some windows programming help there.
 
Back
Top