# OKAPI Platform

## Product Overview

Our `Satellite Operator`

product offers two service packages. The first analysis close approaches for you. Using beyond state-of-the-art algorithms we analyze conjunctions and classify them. The second package safeguards your satellite by suggesting action if needed. The table below highlights the services that are included in the packages.

### Risk Monitoring Service

```
Feature | Description
----------------------|---------------------------------------------------
Space-Track CDMs | This feature automatically downloads CDMs from
| Space-Track and introduces them into our platform.
| CDMs are grouped into events.
Add Satellite | Add satellites to the company. Contains Noard Id,
| cross section, mass, Info on propulsion system,
| Info on accepted risk levels.
Risk Estimation | Re-computes close approach based on user defined
| input data. Groups risk based on provided accepted
| risk levels and collision avoidance strategy.
Risk Prediction | Uses AI technology to forecast the collision
| probability until TCA and applies an adapted
| risk classification schema, which increases the
| decision horizon in many cases.
```

### Collision Avoidance Service

```
Feature | Description
----------------------|---------------------------------------------------
Maneuver Generation | Computes manoeuvres for critical conjunctions
| based on satellite definition and defined
| avoidance strategy.
Avoidance Check | Checks computed avoidance manoeuvres against
| catalogue for further conjunctions.
Orbit Check | Checks any orbit (incl. maneuvers) aginst
(only API) | catalogue for futher conjunction.
Orbit Propagation | Propagates an initial state over time using either
(only API) | Neptune or Orekit numerical propagators or the
| analytical orbit theory SGP4.
Pass Prediction | Computes the visibility of one object over a
(only API) | location on ground based on propagated states
```

## Web Interface

### Sign up

To get access to our platform, you have to create an account. With this account you have access to the endpoints described above. To create the account, go to the sign-up page.

### Landing page

You have to sign up once, and confirm your email address. Afterwards, you can start using the OKAPI platform via the GUI and its API.

The OKAPI platform landing page is publically reachable and can be viewed without an account. It displays the most recent space object population around Earth. The source is the public general perturbations catalogue available from Space-Track.org. It shows the population live and updates the position accordingly.

You can rotate around the center of the coordinate system, which at the start is the Earth.

Each object can be selected with single click and details of the object are viewed.

When clicking twice on an object the camera perspective is changed the object is placed at the center of the coordinate system. You can now rotate the view around the selected object.

On the top right you can log in to the private side of the platform. Choosing `Sign Up`

in the dialog brings you to the sign up page as discussed in the Sign up section. Log in with your credentials for accessing all functionalities.

### Satellites

You can manage your satellites you want safeguarded by our services via the `Satellite`

page. It let's you define your system, which is operational on orbit an already has a Norad Id (= unique identifies for your satellite, also called Satellite Catalogue Number), as assigned to your spacecraft by USSPACECOM.

By clicking `Add new`

you will be able to define the parameters of your spacecraft. The name will be retrieved as the connection is made to our data sources in the background. For the close approach analysis and risk estimation service, as well as the extrapolation of your orbit we ask for your input on the `Mass`

and `Cross sectional area`

of your satellite.

In addition we need to know the thruster's capabilities, starting with the `Thrust`

in N. If you have very detailed information you can also provide the `Thrust uncertainties`

and the `Pointing uncertainties`

you encounter. This will help us to optimize our maneuver suggestions.

Next you need to choose which `Maneuver strategy`

you would like to use. Depending on your thrust capabilities either `short-term`

or `long-term`

strategies can be applied. For the `short-term`

strategy we consider increasing the radial distance in cirtical encounters. For the `long-term`

strategy we will increase the along-track miss distance. This strategy can be applied, when the avialable thrust is low and an early maneuver decision must be made. The next two fields let you customize the classification process based on the `Accepted collision probability`

and `Minimum miss distance`

. Both are considered when analysing close approaches. When either of the limits are reached or exceeded a close approach is classified as `critical`

.

Last we need to know whether you have already a SSA sharing agreement in place with the 18th SPCS. This allows us to interchange orbital data which are made available by USSPACECOM. We assist you in this setup phase.

### Conjunctions

Once the setup is finished and we receive information on your spacecraft conjunction warnings are avialable. They are colored red, when they are classified as `critical`

and yellow, when the event is under observation (`observe`

). The backend retrieves the CDMs hourly from Space-Track via their API. The CDM is automatically processed. The collision probability is re-calculated using the additional data that is available using the Alfano-2005 method.

You can see the details of the conjunction when clicking on it. In the center the `Time to closest approach`

is shown as a countdown to the event. Next to it you see the event geometry. No worries, more information will soon be visible in the 3D view. The diagram below shows how the collision probability evolves. It shows our estimation with the information you supplied on your satellite and information from our external partners (marked as `Risk Estimations`

in the legend). It also shows the original estimation as provided by 18th SPCS (marked as `CDMs`

in the legend). The evolution of the miss distance is displayed in a diagram below.

#### Risk Estimation

For the re-calculation of the collision probability three entities of both collision partners are needed:

- The size of the objects, which lead to the respective collision cross sections,
- The positions and velocities in space and
- The position and velocity uncertainties expressed through the covariance matrix.

Initially the data is taken from the CDMs distribubted by 18th SPCS (Space-Track). Resident space objects (also known as RSOs) in the CDMs are associated to one of four categories. Each category has an assumed size. The categories are:

- Payload with an assumed object radius of 5 m,
- Rocket Body with an assumed object radius of 3 m,
- Unknown with an assumed object radius of 3 m and
- Debris with an assumed object radius of 1 m.

Due to the underlying method of the determining the collision probability, the satellite's size has a quadratic influence on the outcome of the calculation. Thus using a realistic estimate for your own satellite (instead of the assumed 5 m) will have a big impact on the computed result.

Currently all internal computations are performed using the Alfano-2005 method. Our backend however also offers many different approaches, which can be accessed via our API:

When you want all methods processed at the same time, you can use the all-methods endpoint. Depending on the guidelines you are trying to follow or conjunction type a different method might apply to your case. Please contact us when you need any other collision probability method as the default for your satellite.

For the risk estimation classification two criteria are used as a set of thresholds. While setting up a satellite the user can define both. These are:

- the minimum miss distance in meters and
- the accepted collision probability level (also ACPL).

When either the estimated miss distance is smaller than the minimum or the collision probability is bigger than the defined ACPL, the conjunction is classified to be `critical`

. Is the collision probability smaller than the ACPL but bigger than 10.0 * ACPL the event is set to `observe`

. Any other events are `non critical`

.

#### Risk Prediction (beta)

As many operation teams struggle with finding the correct approach to handling conjunctions, even with the above thresholds in place, a couple of questions remain:

- When to act on a conjunction?
- Is the collision probability going to change until TCA?

To address these questions OKAPI:Orbits developed a method to predict the collision probability for most events until TCA. It uses knowledge of the workings of SSA systems and machine learning techniques to extrapolate the collision probability.

So how does it work?

Looking at the general (3D) method of how the collision probability, which is formulated as: $$P_c = \frac{1}{\sqrt{\left(2\cdot\pi\right)^3 \cdot det\left(C\right)}}\int_{V_c} exp\left[ -\frac{1}{2}\Delta\vec{r}^T\cdot C^{-1} \cdot \Delta\vec{r}\right] dV$$ it becomes apparent that the three entities:

- Objects' size, expressed as the combined volume Vc,
- Miss distance, expressed as the vector between both positions r and
- Position uncertainties, expressed as the combined covariance C,

define the collision probability computation. We already addressed the sensitivity of the objects' sizes in regard to the computed probability. But while for many of the CDMs the size of the space objects remain constant and the computed position and velocity forecasts have a compareably low variation, the uncertainties shows significant (and predictable) variation. They also have a big impact on the outcome of the collision probability computation.

The variation of the position uncertainties stem from routinely updates by the underlying SSA system, which issues the CDMs. While observing and re-observing objects the state vectors of the space objects are updated in the catalogue. As time progresses and the TCA draws closer the uncertainties from the object propagation decrease, as the forecast timespan is reduced and thus the accuracy of the result is increased. This is a clear trend. As we get closer to the TCA, and the SSA system updates its knowledge of the respective object the position and velocity uncertainties are reduced. From this predictable behviour of the system we can learn how a final uncertainty can look like, taking into account the orbits and sizes of the objects, the estimated update frequencies of the objects in the catalogue and the expected quality of the orbit determination and propagation of the SSA system.

The expected decrease of the covariance of both collision partners is a function of the factors stated above and can be learned from a large collection of CDM events. The data is first clustered into different categories (by size and orbit) of collision partners and later multiple non-linear regression theories are applied to extract the model used to rebuild the uncertainties for different types of events. By modelling the expected uncertainty for each object of the conjunction in finite steps until the TCA, a prediction of the collision probability can be achieved under the assumption that the size of the objects is constant and the miss distance does not vary greatly.

When enabling the use of the collision probability prediction the classification of a conjunction event is adapted based on the risk trend. While the criterium of the miss distance remains identical to the one in the risk estimation service, the collision probability is interpreted differently. When the risk trend shows that the estimated collision probability at TCA will be above the defined ACPL, the conjunction is classified to be critical. When at any time until TCA the projected trend is above the ACPL, the event is set to observe. Any other events are non-critical. This approacht will estimate to the best of the available data a decreasing and an increasing trend from the very first collision warning available.

Below you can see the risk prediction, as is shows the trend toward the TCA as a red line. Please take note that this feature is in its beta phase.

#### Maneuver Suggestion

Suggested maneuvers can be download for review. They have been screened by us against the SP catalogue of 18th SPCS. If you choose to perform a maneuver we will upload the data, so that other operators are also aware of your actions.

## API

All features you can observe in the web interface are also available via API, so your operation systems can directly be interfaced in a machine-to-machine manner with our platform. Our services are accessible via a REST API. This means that you can communicate with it via http commands. Currently supported are POST, GET, UPDATE and DELETE methods. Send a POST request to our server to start a calculation, e.g. an orbit propagation or pass prediction computation. Once the computation is done, the results are collected by sending a GET request. All available endoints can be found in our API documentation.

OKAPI provides **connectors** to simplify the communication with the platform. They are provided as open source software hosted on GitHub. They enable an easy access to the platform services. They are avialable for Python, Java, C++ and Matlab. Using the connectors simplifies the API use, as they take over all REST-API communications and also provide convenience methods. Examples are also given for using OKAPI orbits via `wget`

from bash or Powershell.

**Prerequisites:** Before going though the introductions below, make sure that you have an OKAPI account.

## Security and Privacy

The OKAPI platform uses auth0 as identity provider. All registered user data reside in a safe database. The OKAPI services use an OAuth 2.0 password grant type, which results in an access token based on your credentials. It is then used by applications to authenticate to gain access to the platform and use OKAPI services.

During the sign up for our platform and services you have to take notice of our privacy policy. The Auth0 statement can be found in the Data protection provisions about the application and use of Auth0