ORaaS Orbit Determination Demo
Orbit determination is the core of a Flight Dynamic System. From a guessed initial orbit and a set of measurements, the algorithm determines the orbit of the observed object.
Our demo has reduced for you the number of parameters expected by the Orekit algorithms. You can even click on a button to populate the form, upload one of our sample measurements files and get the orbit determination result. Then play with the force model, feed the algorithm with more observations and improve the accuracy of your results.
Go to the Demo, the Run Definition tab is active. You are ready for your first run: input the initial orbit, upload your measurements file and click on the Launch Orbit Determination button.
You can also populate the form with one of our examples (see below) to get a quicker insight on how it works.
Once your run is confirmed, ORaaS starts the computation on the server. The identifier of your run is displayed below the form.
Click on the Orbit button to display the current estimated orbit. See below for more details.
Click on the Runs tab at the top of the window. Your run appears in the list.
Back in the Run Definition tab, you have to wait a little for ORaaS to compute the orbit determination. After a while, click on the Orbit button to display results.
A sample result might look like this.
Once the run is completed, click on Residuals to check the results:
The data to provide to the algorithm are grouped in forms that you can show or collapse by clicking on the title.
You have to input at least one file in Measurements Files and to define your Initial Orbit. Default values are provided for the Force Model.
To determine the orbit of the observed object, you provide measurements to the algorithm. They can be either range or azimuth/elevation observations from a station, or the satellite position and velocity values.
ORaaS expects measurements in one or several files formatted according to the TDM or OEM standards. To upload a file to the ORaaS server, pick it in your file system. The extension must be ".oem" or ".tdm". Click on the button Add a File to input extra files.
For further information about the measurements files formats, please look at this page of our documentation.
If a TDM file is provided, the input has to be completed by the location of the station(s) in the dedicated form Stations at the bottom.
This parameter is also called "guessed orbit". It is the starting point for the algorithm iterations.
By default, the input for keplerian parameters is displayed. You can change the type of the orbit bulletin in the Type list box.
The Frame list box is populated with the name of the pseudo-inertial frames provided by Orekit.
The angle values are expected in degrees.
The third form Force Model is entirely populated by default: the propagation will be done with a default gravity field (Earth potential).
You can check the boxes to add Moon and/or Sun third body attraction to the calculations.
To add the solar radiation pressure, you must set the value of the area exposed (in m2).
The same way, you will set the surface to add a drag to the model.
For more accurate results, you can override the default values for the coefficients and the mass of the satellite.
For the treatment of a TDM file, meta-data concerning the stations are expected. Our demo provides default values but you have to input the name and location of each station referenced in your TDM measurements files in the Stations form: Click on the button Add a Station, fields are added for the input of your station data.
The name of the station must be equal to its identifier in the file (value of PARTICIPANT_1).
The longitude and latitude are expected in degrees.
We have prepared two examples for you. The first use case is a real one, the TDM file comes from W3D satellite data. The second named "ORaaS" has been generated for our demo by the measurements generation functionality provided by Orekit.
To run orbit determination with these data, you have to download the required measurements files here. You will get a set of three files, one with measurements from W3D, the others for ORaaS sample generated from the same orbit bulletin.
Please note that with the default force model configuration, the W3B orbit will not be calculated, the maximum number of iterations is reached and the algorithm stops.
Once you have input the configuration of your run, click the Launch Orbit Determination button.
ORaaS checks your request and returns the run identifier which is displayed at the bottom of the window.
One or several errors may be detected in your request, they will be displayed in red. Please correct your input and send it again.
When the computation is launched on the server, three buttons are added beside the number of the run:
Click on the button Orbit to check the progress of the computation: as long as the run is not complete, you can get the current evaluation data. When the orbit determination results are available, the estimated orbit is displayed, or a message informs you that the maximum number of evaluations has been reached without success.
The button Details opens a tab with the data of your run. You can check your request and get the current report (see below).
Once the run has succeeded, the button Residuals displays the residuals charts (see below).
The Runs tab displays the list of your runs.
Once ORaaS has given your run an id, it appears in the list and you can get information about it, even if the computation is not completed.
Please note that if you delete the cookie created by ORaaS for your identification, no run will be available on the server. The duration of this cookie is set to seven days.
For each run, you have three buttons:
Please note that, currently, runs data may be erased from the ORaaS server for maintenance purpose.
In the list, you can click the Details button and display the information about a run.
First, the estimated orbit. This result is available only if the run is complete.
Then, the request passed to the ORaaS server is displayed in three parts:
At last, you can look at the report generated during the run is available. It is a list of messages about the parsing of the measurements files and the progress of the algorithm.
When an estimated orbit is obtained and the propagation done, residuals can be computed for the measures treated by the algorithm. For each measure, the residual is the difference between the input value and the value computed by the propagation of the estimated orbit.
To display the residuals of a run, click on the Residuals button in the list of the Runs tab.
The residuals are displayed in charts. They are organized by station and type of measurements. The date of a measurement and its value are available in the tooltips. The rejected measurements are added in red.
To focus on a period, click in the chart, zoom with the mouse wheel and scroll by dragging the pointer.
About the algorithms
The core of orbit determination is the estimator. It is build with a Levenberg-Marquardt least squares solver. To observe the progress of the algorithm, you can click on the Orbit button in the New Run tab. The current results are displayed. If the convergence threshold(1.0e-3) cannot be reached, the algorithm stops after 20 iterations and a message is displayed.
The propagator is a numerical one with a 8(5,3) Dormand-Prince integrator. The force model is configured in the Force Model tab of our demo.
Number of parameters are not input in the tabs. Once you have launched a run, you can get their values in the Run Details tab where the complete request passed to the ORaaS service is displayed. The meaning of the parameters is given in the documentation.
Our Orbit Determination Demo presents the set of orbit determination services published by ORaaS: creation and management of the runs. You can find details in our API documentation.