18
Autonomous Orbit Determination for a CubeSat Cruising in Deep Space Boris Segret a,* , Benoˆ ıt Mosser a,b,c a LESIA, Observatoire de Paris - PSL, 5 pl. Jules Janssen, 92195 Meudon Cedex, France b Sorbonne Universit´ e, 21 rue de l’´ ecole de m´ edecine, 75006 Paris, France c Universit´ e de Paris, 85 boulevard Saint-Germain 75006 Paris, France Abstract CubeSats have become a meaningful option for deep-space exploration, but their autonomy must be increased to maximize the science return while limiting the complexity in operations. We present here a solution for an autonomous orbit determination in the context of a CubeSat cruising in deep space. The study case is a journey from Earth to Mars. An optical sensor at CubeSat standard is considered. The image processing is added to extract the direction of distant celestial bodies with 0.2 ” accuracy: it consists of a Multiple Cross-Correlation (MCC) algorithm that uses bright stars in the background of the images. Then, an Unscented Kalman Filter (UKF) is built to perform an asynchronous triangula- tion from the successive directions of the celestial bodies. The UKF meets the expected performance in contexts where linear approximations are not possible. The orbit reconstruction reaches a 3 σ accuracy of 30 km in the middle of the Earth-Mars cruise. Additionally, the Central Processing Unit (CPU) cost of the filter is assessed at less than 1 second per iteration with a typical CubeSat hardware. It is ready for further improvements in terms of new observables associated with data fusion, quicker convergence and attitude control savings. Keywords: Autonomous Navigation, Deep-Space, Optical Navigation, Orbit Determination, Nanosatellite, Multiple Cross-Correlation Abbreviations: ADCS, Attitude Determination and Control System; CPU, Central Processing Unit; ESA, European Space Agency; GNU, GNU’s Not UNIX; GSL, GNU Scientific Library; JAXA, Japan Aerospace Exploration Agency; JPL, Jet Propulsion Laboratory; MCC, Multiple Cross-Correlation; NASA, National Aeronautics and Space Administration; OD, Orbit Determination; PSF, Point Spread Function; RAM, Random Access Memory; RMS, Root Mean Square (1 σ); TRL, Technology Readiness Level; UKF, Unscented Kalman Filter. * Corresponding author. Email address: [email protected] (Boris Segret) 1. CubeSats for deep-space need more au- tonomy Satellites of a few kilograms have become very popular since the success of the form factor called CubeSat, a satellite that meets the CubeSat De- sign Specification [1]. The disruption permitted in Low Earth Orbit is now addressing new sci- entific needs for space exploration. Indeed, the CubeSats may be a good option for exploration missions, provided their scientific added-value will be much higher than their cost at building, inte- grating to a host mission, and operating. A key approach is to develop their autonomy, in particu- lar for navigation. The few experiments that were carried out in space are addressed in section 1.1, with a selection of mission concepts and our pre- vious results. Then we present in section 1.2 our Preprint submitted to [...] April 21, 2021 arXiv:2104.09989v1 [astro-ph.IM] 20 Apr 2021

Autonomous Orbit Determination for a CubeSat Cruising in

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Autonomous Orbit Determination for a CubeSat Cruising in

Autonomous Orbit Determination for a CubeSat Cruising in Deep Space

Boris Segreta,∗, Benoıt Mossera,b,c

aLESIA, Observatoire de Paris - PSL, 5 pl. Jules Janssen, 92195 Meudon Cedex, FrancebSorbonne Universite, 21 rue de l’ecole de medecine, 75006 Paris, FrancecUniversite de Paris, 85 boulevard Saint-Germain 75006 Paris, France

Abstract

CubeSats have become a meaningful option for deep-space exploration, but their autonomy must beincreased to maximize the science return while limiting the complexity in operations. We present herea solution for an autonomous orbit determination in the context of a CubeSat cruising in deep space.The study case is a journey from Earth to Mars. An optical sensor at CubeSat standard is considered.The image processing is added to extract the direction of distant celestial bodies with 0.2 ” accuracy: itconsists of a Multiple Cross-Correlation (MCC) algorithm that uses bright stars in the background ofthe images. Then, an Unscented Kalman Filter (UKF) is built to perform an asynchronous triangula-tion from the successive directions of the celestial bodies. The UKF meets the expected performance incontexts where linear approximations are not possible. The orbit reconstruction reaches a 3 σ accuracyof 30 km in the middle of the Earth-Mars cruise. Additionally, the Central Processing Unit (CPU) costof the filter is assessed at less than 1 second per iteration with a typical CubeSat hardware. It is readyfor further improvements in terms of new observables associated with data fusion, quicker convergenceand attitude control savings.

Keywords: Autonomous Navigation, Deep-Space, Optical Navigation, Orbit Determination,Nanosatellite, Multiple Cross-Correlation

Abbreviations:ADCS, Attitude Determination and Control System;CPU, Central Processing Unit;ESA, European Space Agency;GNU, GNU’s Not UNIX;GSL, GNU Scientific Library;JAXA, Japan Aerospace Exploration Agency;JPL, Jet Propulsion Laboratory;MCC, Multiple Cross-Correlation;NASA, National Aeronautics and Space Administration;OD, Orbit Determination;PSF, Point Spread Function;RAM, Random Access Memory;RMS, Root Mean Square (1σ);TRL, Technology Readiness Level;UKF, Unscented Kalman Filter.∗Corresponding author.Email address:

[email protected] (BorisSegret)

1. CubeSats for deep-space need more au-tonomy

Satellites of a few kilograms have become verypopular since the success of the form factor calledCubeSat, a satellite that meets the CubeSat De-sign Specification [1]. The disruption permittedin Low Earth Orbit is now addressing new sci-entific needs for space exploration. Indeed, theCubeSats may be a good option for explorationmissions, provided their scientific added-value willbe much higher than their cost at building, inte-grating to a host mission, and operating. A keyapproach is to develop their autonomy, in particu-lar for navigation. The few experiments that werecarried out in space are addressed in section 1.1,with a selection of mission concepts and our pre-vious results. Then we present in section 1.2 our

Preprint submitted to [...] April 21, 2021

arX

iv:2

104.

0998

9v1

[as

tro-

ph.I

M]

20

Apr

202

1

Page 2: Autonomous Orbit Determination for a CubeSat Cruising in

science case that has been the motivation for thedevelopment of the presented solution.

After this introduction, we specify our wholealgorithm for an optical orbit determination onboard a nanosatellite in cruise, without assistancefrom the ground. In section 2, an optical sen-sor compatible with the CubeSat standard is de-scribed and an image processing called MCC isspecified. Section 3 defines the elements of aUKF, its models and its updating process. Theresults for our study case in cruise context arepresented in section 4, in terms of accuracy, sen-sitivity and CPU cost. Then, the discussion insection 5 addresses the potential for further im-provements and adaptations to data fusion andproximity operations.

1.1. Past and current attempts

Satellites called CubeSats have been adoptedfor 20 years in multiple kinds of space missionsin Low Earth Orbit. Japan had popularized anultra-small satellite format already in the 90s,called CanSat, for suborbital experiments (e.g.[2], [3]). Then, California Polytechnic State Uni-versity, San Luis Obispo and Stanford Univer-sity’s Space Systems Development Lab createdthe CubeSat standard in 1999 that greatly stim-ulated the emergence of the economic New Spacesector. Such satellites successfully addressed mul-tiple scientific missions or in-orbit demonstra-tions, stimulating the development of reliable sub-systems at this scale, including automatic maneu-vers, e.g. in Guo 2019 [4]. Autonomous naviga-tion, that includes both orbit determination andcorrection maneuvers, is one of the key technolo-gies expected for this form factor, targeting inparticular the management of swarms and con-stellations, e.g. in Yoshimura 2018 [5].

For Deep-space missions, CubeSats become ameaningful option, especially for proximity oper-ations as auxiliary probes of a larger mothercraft.Deep-space missions have already included auxil-iary probes, like ESA’s mission Rosetta withPhilæ, or JAXA’s mission Hayabusa 2 withGerman-French Mascot along with many othertiny probes. The launch of the twin CubeSatsMarCO by NASA’s JPL in 2018 from the moth-

ercraft carrying InSight was a cornerstone: af-ter jettisoning at the beginning of the journey toMars, they reached the red planet successfully,which granted the CubeSat standard a proof ofdeep-space sustainability.

However, none of these probes ever navigatedautonomously, raising the question of their added-value compared to their cost in terms of telecom-munications and operations from the ground.

There was not any actual autonomous naviga-tion solution for deep-space missions. The factseems to result from a tradition that keeps aquasi-continuous link between ground and space-craft, allowing the orbit determination and anytrajectory correction maneuvers to be computedon the ground and transmitted to the spacecraft.Although several attempts were performed, pub-licly available documentation is sparse. DeepSpace 1 by NASA had an experiment for au-tonomous navigation: Riedel et al. 2000 [6] pre-sented a fair accuracy down to 150 km and 0.2 m/s(1σ) after processing images for 25 days of thecruise. However, the accuracy was worse some-times, and the solution remained a demonstra-tion project only, without any operational use.NASA’s mission Deep Impact embedded two“AutoNav” solutions [7]: the impactor was re-leased 24 hours before the impact and ran anauto-guidance algorithm based on local short-term physical laws, applying lateral ∆V to keepthe target in sight and to hit it. The mothercraftran a so-called “AutoNav” consisting of control-ling the line of sight and the functional modesof its instruments to the target during the event,hence nothing related to the navigation per se.Some studies have suggested the use of pulsar-based triangulation, with either radio pulsars orX-ray pulsars. Solutions are not currently feasi-ble for nanosatellites: Martindale et al. 2015 [8]reminded that the sensors for X-ray pulsars arelarge and must be pointed in three different direc-tions with an on-board time-stamping at 10−12 saccuracy, with regular updates of the sources cat-alog (provided from the Earth). For radio pul-sars, Jessner 2015 [9] showed that the antennasand their pointing are beyond nanosatellite ca-pacities, among other constraints, for an expected

2

Page 3: Autonomous Orbit Determination for a CubeSat Cruising in

accuracy of 60 to 180 km at best.

The Deep Space 1 experiment embeddedan image processing called “MCC” for MultipleCross-Correlation. It is a center-finding algorithmthat exploits the fact that all objects undergo thesame movement during exposure. Their imagesare then identically smeared as the same pattern.The technique gets rid of non-stabilized pointingand allows even faint objects to be located rela-tive to one another with a claimed accuracy aslow as 0.1 pixels (Riedel et al. [10], Vaughan etal. [11]). Additionally, we note that the distanceson the image from one given object to all othersare also correlated, allowing an enhancement ofthe MCC that we specify here in full details.

While the interest for autonomous navigationis debatable for traditional spacecrafts, it is ob-viously high for deep-space CubeSats in orderto save cost and complexity in operations. Thetwin CubeSats MarCO were entirely navigatedfrom the ground in the same way as any otherdeep-space mission. Tortora and Di Tana 2019[12] claimed an autonomous fly-by with on-boardorbit determination for the Italian CubeSat Li-ciaCube that shall accompany NASA’s DARTspacecraft to impact Dimorphos in 2022. The so-lution referred to a study by Modenini et al. 2018[13] for in-situ navigation that is based on imagesof an ellipsoid-shape asteroid. Then the studyshould be adapted to a fast fly-by for LiciaCube.No results could be found at the time of writ-ing. An Italian precursor Lumio was presented byFranzese et al. 2018 [14] with a full Moon imagingtechnique to maintain a 14-day periodic halo or-bit at Earth-Moon L2 Lagrangian point (distanceto the Moon is then ∼ 35 000 km). Simulationsshowed that the mean error in orbit determina-tion was lower than 10 km. The technique be-longs to the horizon-based navigation family thatis promising in contexts of proximity operationswhere resolved images are available for known ce-lestial objects. On-board orbit determination forESA’s technology demonstrator M-Argo was an-nounced by Walker et al. 2015 [15] but not pub-lished yet. Whether an on-board or ground orbitdetermination would be designed for ESA Hera’sauxiliary CubeSats at Didymos and Dimorphos in

2027 has been unclear.These numerous examples, although not ex-

haustive, show the timeliness of the study ofon-board orbit determination for deep spacenanosatellites. Our approach is an asynchronoustriangulation of optical directions of foregroundbodies. The initial assessments were presented in2017 [16]. In 2018 [17], we provided an initial for-mulation of an enhanced MCC and reached an or-bit reconstruction with σ ∼ 100 km in cruise witha batch, linear Kalman Filter and Monte-Carlosimulations, assuming that an optical accuracycould be improved by the enhanced MCC at 0.2 ′′.In 2019 [18], the Monte-Carlo simulations were re-placed by a covariance analysis to study the sen-sitivity of the method. Here, we reformulate theenhanced MCC and justify its performance, thenwe recapitulate the whole process, while adoptinga sequential UKF as a better estimator.

1.2. Scientific needs for a study case

Multiple scientific goals are already identifiedthat cannot be addressed with traditional deep-space missions. Interplanetary space weather isan example. When NASA’s MSL Curiositytraveled from Earth to Mars in 2011-2012, its in-strument RAD (Radiation Assessment Detector)was turned on and gathered a full set of data dur-ing the cruise, covering several solar events thatoccurred in the period. Posner et al. [19] in 2013confirmed a so-called Hohmann-Parker effect fromthe data-set and, hence, the interest to deploy amulti-site measurement system at the solar sys-tem scale that would take advantage of every sin-gle interplanetary mission to probe the solar wind.

However, RAD, and most likely any instru-ment, could not be oriented properly to meetspecific scientific needs during the cruise. Butif a CubeSat is jettisoned from the interplane-tary mission, it can be independent of it andthen solve the issue. This measurement conceptwas presented first in 2013 as a project calledBirdy by Vannitsen et al. [20] and further doc-umented [21] in 2017. The concept in Birdy forautonomous navigation also inspired a new sci-entific application for space geodesy: in proxim-ity operations at an explored asteroid, Hestroffer

3

Page 4: Autonomous Orbit Determination for a CubeSat Cruising in

Figure 1: Image processing. A centerfinding algorithmextracts the locations of the body and the stars on theimage, the angle-based correlation derives body’s precisecorrection of direction.

2017 [22] suggested that the CubeSat be a radio-science probe, jettisoned in-situ from a mother-craft. With autonomous navigation, it could flymultiple times at low altitudes and low veloc-ity for efficient radio-science measurement, whileavoiding costly ground operations.

2. Sensor: the Object Tracker

The orbit determination we present uses on-board optical measurements. The elementarymeasurement consists of an image of an unre-solved foreground celestial body in front of knownbackground stars. The region of the sky wherethe body shall be searched for is estimated froma pre-computed trajectory of the probe that isstored on-board, before the flight, as a “reference”trajectory TR. Then the image is processed on-board (Fig. 1): a centerfinding algorithm extractsthe raw locations of the searched body (x, y) andof n? expected known stars {(xi, yi), i = 1 . . . n?}around it. Then, the enhanced MCC derives acorrection E of the measured direction of thebody (x, y), as seen from the “actual” trajectoryTA, with a variance-covariance matrix (or “covari-ance” in short). Next, the corrected direction,along with its covariance, feed the Kalman filter,as presented in section 3.

2.1. Platform sensor

The platform is assumed to be in line withnowadays CubeSat performance in Low Earth Or-bit. Hence, an attitude determination and controlsystem is anticipated with at least 0.5 ◦ in point-ing accuracy and 30 ” in attitude estimate accu-racy (the subsequent requirements on the plat-form, for instance, wheel-off-loading, are beyondthe scope of this paper). Then an imager is antic-ipated with a several-degree field of view, making

Figure 2: Average number of visible stars n? as a functionof threshold magnitude mV for conic fields of view (half-angle R).

sure that the platform can point and keep point-ing to a direction of the sky where a celestial bodyis expected. The inertial pointing is expected tobe maintained within 5 ′′ (assumed to be a pixel’sangular half-size) during integration times up toa second.

The approximate direction, where to look, isknown from TR. The celestial body is searchedwithin a Region of Interest (RoI) around this di-rection by a centerfinding algorithm. The maxi-mum parallax between TR and TA must keep thebody in the RoI, hence defining the maximum ac-ceptable shift of TA from TR, i.e., the extent of theflight domain around TR for the method to work.Numerical applications are given in section 4 andfigure 5.

The imager performance must also allow imagesof several background stars in association with thecelestial body.

The average number of stars per surface uniton the celestial sphere was computed from thebasis of 6000 stars being visible up to magnitudemV = 6, their number being multiplied by 2.5per magnitude. Fig. 2 shows that a sensitivitybetween magnitudes mV = 6 and 7, as claimedby various imagers and star trackers of the NewSpace, shall allow the imaging of an average num-ber of stars from 11 to 29 within a conic field ofview of 5◦ half-angle.

Then in mission preparation, a selection of ce-lestial bodies to observe is made based on theirproperties as seen from TR, considering their ob-servability (defined by their magnitude and their

4

Page 5: Autonomous Orbit Determination for a CubeSat Cruising in

angle to the Sun) and the accuracy of theirephemerides. Candidates are the planets if un-resolved, or the planets’ bright moons otherwise,or bright asteroids. Planets, if optically resolved,introduce an additional complexity, which is notstudied in this paper. Ephemerides of the plan-ets and their major moons are known with sub-kilometer accuracy. They must be interpretedwith an on-board time reference. Space-gradeatomic clocks of a few cm3 are available1 withaccuracy and stability at the level of 10−10, whichcould limit error below 0.1 s after one year. Also,the light travel time can be estimated on-boardbased on TR, with an error below 0.1 s for a shiftof TA up to 30 000 km from TR. Considering typi-cal velocities of 30 km/s in the solar system, thereerrors translate into an error of ∼ 4 km on theestimated locations of the foreground bodies, wellbelow the error in the measurement of opticallyunresolved bodies.

The asteroids are likely unresolved and canbe selected as candidates for navigation if theirephemerides are well known. The release of ESA’sGaia catalog DR2 allows orbit fitting for morethan 14 099 solar system objects ([23], 2018). Forthose with magnitude in G band 10 < G ≤ 13 (asseen by Gaia), individual observations are alwaysbetter than 0.025′′ in accuracy on one axis and0.005” on the other (bright objects with G ≤ 10were not included in this release). From such ob-servations, one can expect accurate ephemeridesfor bright asteroids if they can be imaged with aCubeSat sensor. Moreover, the next release DR3of ESA’s Gaia catalog should add observationsfor 350 000 solar system objects, further enlarg-ing the basis for well-known ephemerides. As aresult, multiple asteroids, in addition to planets’moons, can likely be considered available for orbitdetermination.

The availability of foreground objects is a crit-ical task of the mission preparation and an activedomain of research (e.g. Broschart et al 2019 [24]or Franzese and Topputo 2020 [25]), which is notpart of the present work. Here, it is assumed that

1e.g. Chip Scale Atomic Clock, by Microsemi Corp.,Microchip Technology Inc.

Figure 3: Notations in the field of view for the MCC: “B”is the foreground body’s image, “X” are images of knownbackground stars.

a CubeSat imager can picture a selection of fore-ground celestial bodies with sufficient backgroundstars at any time.

2.2. Multiple Cross-Correlation (MCC) enhanced

Our orbit determination uses measurements ofthe directions of celestial bodies improved by anangle-based correlation specified here. It is as-sumed that the raw directions of the objects (seeFig. 1) are first extracted by a centerfinding algo-rithm, with an accuracy noted σin. For instance,the MCC developed by Vaughan and Riedel [10]can produce such inputs with σin ∼ 0.1 pixel.These directions are then taken as “inputs” forour additional algorithm that correlates the mul-tiple angular distances of objects with one an-other. As such, it is an enhancement of the origi-nal MCC.

An object of interest, namely a celestial bodyin the foreground is located in the image withexpected known stars in the background. Thenotations are summarized in figure 3: the true lo-cation of B, image of the celestial body, is (x0, y0)but it is measured, with an error (εx, εy), at(x, y) = (x0 + εx, y0 + εy). For the n? stars, theirlocations are at (x0i, y0i)i=1..n? as known from acatalog after projection on the focal plane, butthey are measured in the image at (xi, yi)i=1..n? .The square of the true angular distance betweenthe body and a given star is:

a20i = (x0 − x0i)2 + (y0 − y0i)2. (1)

5

Page 6: Autonomous Orbit Determination for a CubeSat Cruising in

An estimate of Eq.1 is given by the measure-ments:

a2i = (x− xi)2 + (y − yi)2. (2)

Hence, a2i = a20i+νi, where νi is assumed to be azero-mean Gaussian random variable, built fromthe measurements (xi, yi). As seen from the mul-tiple measurements a2i in a single image, (εx, εy)is a bias. Its value corresponds to the best fit ofthe positions of all objects in the field of view. Itcan be estimated by developing Eq. 1 with εx andεy, comparing with Eq. 2, then building a linearsystem of equations, at first order:

...

a2i − (x− x0i)2 − (y − y0i)2...

=

...

...−2(x− x0i) −2(y − y0i)

......

(εxεy

)+

...νi...

or

A = CE +N, where N ∼ N (0,W ) ,

where the notation ∼ N (0,W ) defines the left-hand part as a zero-mean Gaussian random vari-able with covariance W . The system can be in-verted by the weighted least squares method, witha weight matrix W, that provides an estimate forE = (εx, εy)

T and its covariance:

E = (CTWC)−1CTWA

Cov(E) = (CTWC)−1.(3)

The matrix (CTWC) has rank 2 and its ele-ments are easy to compute provided W is known.W is the diagonal matrix of the inverses ofVar(νi). We assume that the relative orientationof the field of view is known with respect to abso-lute directions, which supposes some initial pro-cessing to identify a set of reference stars (witha minimum of two stars recognized in the field ofview). We then consider that measuring the pho-tocenter of a star image is a process dominated by

a uniform, zero-mean, Gaussian error with stan-dard deviation σin, expressing the performance ofthe centroiding algorithm:

(xi − x0i) ∼ N (0, σ2in)

(yi − y0i) ∼ N (0, σ2in)

Considering that x0i and y0i are fixed in theproblem (given from a catalog), as well as x0, y0and the bias (εx, εy), Var(νi) is quadratically de-rived from Eq. 2:

∀i ∈ {1..n?},Var(νi) = 2σ4in (4)

Thus, the expression of the rank n? matrix W =(2σ4

in)−1 In? .Although easy to compute, Cov(E) =

(CTWC)−1 is not analytically simple in the gen-eral case. However, in the special case when thesearched location of B (foreground body’s pho-tocenter) is at the barycenter of a homogeneouscloud of images of background stars, the expres-sion becomes simple. Noting d the standard devi-ation for both coordinates x0i and y0i, and expect-ing a diagonal matrix Cov(E) = (σ2

out) I2, we canshow after some development that, in this case:

σout 'σin√n?

(σin2d

). (5)

This result illustrates how efficient is the pre-sented enhancement of the MCC. The first im-provement factor 1/

√n? is expected as the result

of multiple independent raw measurements. Thesecond factor σin/(2d) expresses that the MCCimproves the accuracy as a function of the size2d of the cloud of stars in the image compared tothe raw accuracy. A numerical application withσin = 10′′, while classical COTS imagers2 havea pixel’s angular size ranging from 10′′ to 20′′,with n? = 5 and 2d = 1000′′ (100 pixels) yieldsσout = 0.022′′. The sensitivity of this approxima-tion is still to be studied in the general case: Bnot at the barycenter, cloud of star images nothomogeneous, strong optical aberrations or bias

2e.g. GOMspace C1U 19′′ in 35 mm f/1.9 or 9.5′′ in70 mm f/1.9, Berlin Space Technologies IMS-100 18′′ in25 mm, Southern Space Ltd. Gecko 16′′ in 70.5 mm

6

Page 7: Autonomous Orbit Determination for a CubeSat Cruising in

in identifying a reference frame. Nevertheless, weconsider in the following, as a conservative ap-proach, that the accuracy of the MCC is betterthan 0.2′′. Hence, the use of such an enhancedMCC is in the baseline of our orbit determinationsolution.

3. Asynchronous Triangulation

Our orbit determination is an estimator of thestate vector of the CubeSat from the successivedirections of various celestial bodies. It per-forms a progressive triangulation based on non-simultaneous measurements. Any single triangu-lation would use a minimum set of directions andwould yield a poor accuracy. Instead, the ob-served directions directly feed a Kalman filter thatactually performs a triangulation. The geometricrelations at stake are strongly non linear, requir-ing a sequential and unscented Kalman filter.

3.1. Observational Model

We consider that a selection of foreground celes-tial bodies is available at any time. The availabil-ity of the trajectory TR, pre-computed and storedon board, allows to search for a body B in a regionof the sky. Then the MCC provides the actual di-rection of B, with its covariance, as measured bythe Object Tracker from an actual location A ofthe CubeSat on its trajectory TA. Each locationAj corresponds to a reference location Rj on TRand the estimator will reconstruct the shift of the9-element state vector ( ~δr, ~δv, ~δa) from TR to TA,as summarized in figure 4.

An elementary observation is considered to bethe shift in elevation dϕ and in azimuth dλ ofB between positions on TA and TR. They aredirectly taken from the orientation requested tothe optical sensor and provided by it after MCC.Then, at any given measurement k:(

dλkdϕk

)=

(λMCC − λrequestedϕMCC − ϕrequested

)(6)

The covariance of the measurement (Eq.3) istaken as the measurement process noise. Both

Figure 4: Notations for the asynchronous triangulation:“B” for celestial bodies, “R” for locations on the referencetrajectory TR, “A” on the actual trajectory TA.

elements define our raw measurement for the nonlinear Kalman filter:

zk = h(xk, tk) + vk, vk ∼ N (0, Rk)

with

zk =

(dλkdϕk

), Rk = Cov

(λMCC

ϕMCC

),

(7)

where the analytical model h(xk, tk) behind theseobservations is a direct computation in spherical

coordinates of−−−→RkBk and

−−−→AkBk:

h(xk, tk) =

(λAkBk

− λRkBk

ϕAkBk− ϕRkBk

)(8)

with Ak = Rk +−→δrk.

Then,−−−→AkBk is given by the rectangular coordi-

nates of Rk and Bk:

%RkBk= dist(Rk, Bk)

ϕRkBk= arcsin

(zBk− zRk

%RkBk

)λRkBk

= sign(λRkBk).

arccos

(xBk− xRk

%RkBkcosϕRkBk

),

where sign(λRkBk) = sign(yBk

− yRk).

7

Page 8: Autonomous Orbit Determination for a CubeSat Cruising in

And−−−→AkBk is given in a similar way:

%AkBk= dist(Rk +

−→δrk, Bk)

ϕAkBk= arcsin

zBk− zRk

−(−→δrk

)z

%AkBk

λAkBk

= sign(λAkBk).

arccos

xBk− xRk

−(−→δrk

)x

%AkBkcosϕAkBk

,

where sign(λAkBk) = sign(yBk

− yRk− (−→δrk)y).

Simulations and tests showed that feeding thefilter with direct measurements is better thangathering a batch of measurements to first allowa single triangulation and then feed the filter. Inaddition, this approach is more responsive as thefilter is updated after every single measurementand more flexible as it opens to future new typesof measurements.

3.2. Dynamical Model for the UKF

The theory of the Kalman filtering builds onthe heritage of the estimators of Markov, Kol-mogorov and Wiener. It benefits from a rich liter-ature to address many contexts, for instance, bySimon 2006 [26]. We take from it the componentsand notations, commonly adopted in the field, forthe implementation of the “unscented” variant ofthe filter. Although more demanding in terms ofcomputation resource, this variant is preferred tothe “extended” one because of its robustness withregard to the need for trigonometric functions andcomplicated acceleration fields (where the partialderivative does not combine properly). In addi-tion, it proves to show a good potential for futureimprovements.

In the “unscented” variant of the Kalman fil-ter, the dynamical and observational models,f(xk, uk, tk) and h(xk, tk), are not necessarily lin-ear:

xk+1 = f(xk, uk, tk) + wk, wk ∼ N (0, Qk)

zk = h(xk, tk) + vk, vk ∼ N (0, Rk)

where the processes noises wk and vk are assumedto be zero-mean Gaussian random variables (h

and Rk already defined in section 3.1). Then, weexpect the filter to produce an a posteriori esti-mate of the state vector at iteration k with itscovariance, respectively noted x+k and P+

k .The state vector xk is taken as a dimensionless

9-element transform from ( ~δrk, ~δvk, ~δak) express-ing the shift from TR to TA. Indeed a scalingmatrix S was deemed necessary to avoid numericdegeneracy. It is built as follows:

S =

fx I3 03 03

03 fv I3 03

03 03 fa I3

(9×9)

,

with

ft and fx arbitrary set

fv = fx/ft

fa = fv/ft

(9)

where I3 and 03 are the 3×3 Identity and Null ma-trices and ft, fx, fv, fa respectively express a scal-ing factor for durations, distances, velocities andaccelerations, respectively. Hence, the followingrelations apply to re-scale the state vector and itscovariance from their dimensionless expression:

−→δrk−→δvk−→δak

= S x+k

P+k,re−scaled = S P+

k S

(10)

Note: The scaling matrix S has also to be usedfor the state vector in the observational model inEq. 8: the function h accounts for the link fromthe observables to ( ~δrk, ~δvk, ~δak) = S xk, i.e. afterre-scaling.

The dynamical model (also called “process”model in the main theory of Kalman filtering) istaken as simple as possible, to show results evenbefore improvements on the models. Indeed, itcan be much more sophisticated, without chang-ing the presented algorithm, provided that the en-tire dynamical model is expressed by the functionf(xk, uk, tk): for instance, it could take solar radi-ation pressure into account, or trajectory correc-tion maneuvers with the “command vector” uk, itcould also be a complex trajectory propagator likea Runge-Kutta at high order. Here, the propaga-tion is at order 0 (constant velocity and accel-eration), the acceleration being estimated from

8

Page 9: Autonomous Orbit Determination for a CubeSat Cruising in

a non-linear model of the gravitational environ-ment. Also, there is no use of the command vectoruk. The estimates from an iteration to the nextare given by

xk = f(xk−1, uk, tk)

=

I3 (dtk/ft) I3 03

03 I3 (dtk/ft) I303 03 I3

xk−1(11)

The model is not linear because the local ac-celeration model −→aloc(Rk +

−−−→δrk−1) is not uniform.

In the test case presented in section 4.1, the “on-board” gravitational model includes the distancesto the Sun, the Earth and Mars. It is also less so-phisticated than the environment used to produceTA, which considers Jupiter in addition.

The covariance of the process noise Qk ex-presses the cumulative uncertainty from iterationsk − 1 to k resulting from the imperfect knowl-edge of the acceleration. Here, we consider a con-stant and uniform uncertainty in the acceleration,noted σa. Hence, the dimensionless covariancewrites:

Qk = S−1 Vk S−1, with

Vk =

(σadt2k/2)2.I3 03 03

03 (σadtk)2.I3 03

03 03 σ2a.I3

. (12)

3.3. UKF implementation

The UKF works with the use of a set of so-called “sigma-points” that build a mesh aroundthe 9-dimension state vector. We again refer toSimon [26] for theory, notations and steps in thissection. As a summary, a mesh is built from theestimate x+k−1 and its covariance P+

k−1 at iterationk − 1. It is transformed through the dynamicaland the observational models. Its resulting newmeshes serve to build the a posteriori estimatex+k and its covariance P+

k . In our case, the statevector is made of n = 9 components, hence thenumber of 2n = 18 needed sigma-points.

The initialization of the filter is taken from TR,i.e. x+0 = 09×1 and with the initial values of the

covariance P+0

P+0 =(σx/fx)2.I3 03 03

03 (σv/fv)2.I3 03

03 03 (σa/fa)2.I3

,where fx, fv, fa, σa were already defined and σx,σv express an expected maximum shift in distanceand velocity of TA from TR.

Then the detailed implementation consists ofnine steps:

1. A matrix square root of (n.P+k−1) is com-

puted to dispatch the sigma-points aroundx+k−1 within the n-dimension space. Such aΣ matrix may not be unique, provided thatΣT Σ = (n.P ). It may contain complex num-bers whose only real parts are kept.

Σ+k−1 =

√n.P+

k−1

2. 2n sigma-points x(i)k−1 are built from the last

available estimate x+k−1:

i = 1..2n, x(i)k−1 = x+k−1 + x(i),

i = 1..n,

{x(i) =

(Σ+

k−1)Ti

x(n+i) = −(Σ+

k−1)Ti,

where(Σ+

k−1)i

defines the line i of Σ+k−1.

3. The sigma-points are propagated through thedynamical model. Then, an a priori new esti-mate is built at the barycenter of their trans-form:

x(i)k = f(x

(i)k−1, uk, tk) (ref. Eq. 11),

then

x−k =1

2n

2n∑i=1

x(i)k .

4. A new a priori covariance is approximated ina similar way:

P−k =

12n

∑2ni=1

(x(i)k − x

−k

)(x(i)k − x

−k

)T+ Qk−1.

9

Page 10: Autonomous Orbit Determination for a CubeSat Cruising in

5. A new mesh of sigma-points replaces the pre-vious mesh x

(i)k by taking advantage of the

latest a priori estimate and covariance:

i = 1..2n, x(i)k = x−k + x(i),

Σ−k =√n.P−k

i = 1..n,

{x(i) =

(Σ−k)Ti

x(n+i) = −(Σ−k)Ti.

6. The mesh is transformed in observables z(i)k

and the barycenter of this transform yields aprediction of measurement zk:

z(i)k = h(x

(i)k , tk) (ref. Eq. 8),

then

zk =1

2n

2n∑i=1

z(i)k .

7. In parallel, P−k is transformed into an observ-able covariance Pz, after adding the measure-ment process noise Rk (from Eq. 7), as a 2×2matrix:

Pz =

12n.∑2n

i=1

(z(i)k − zk

)(z(i)k − zk

)T+Rk.

8. A cross-covariance is defined as a 9×2 matrix,between the estimate and its transform intoan expected observable:

Pxz =

12n.∑2n

i=1

(x(i)k − x

−k

)(z(i)k − zk

)T.

9. Eventually, the update of the estimate withits covariance is possible, setting a Kalmangain as a 9× 2 matrix noted Kk:

Kk = Pxz P−1z ,

x+k = x−k +Kk(zk − zk),

P+k = P−k −Kk PzK

Tk .

The process involves only one 2× 2 matrix in-version P−1z . However, two 9× 9 matrices squareroot Σ have also to be computed. A possible algo-rithm is suggested by Sadeghi ([27], 2018), for in-stance, and some well-validated librairies may beconsidered like the GNU Scientific Library (GSL)for C/C++.

Figure 5: CubeSat and celestial bodies trajectories in 2018(left, unit AU); Shift of TA from TR (right, unit km).

4. Results

We present the performance for a specific casestudy of a cruise from Earth to Mars. This casestudy does not allow to conclude for all contextsof use but it illustrates the efficiency of the al-gorithm and provides good insights for other con-texts. We also present an initial assessment of theCPU considering CubeSat hardware as a target.

4.1. Study case

A cruise flight from Earth to Mars is assumed:TR is propagated from the injection into inter-planetary orbit up to a flyby of Mars, simulatinga host mission launched in 2018; TA is then prop-agated with TR’s initial conditions after addinga small retrograde ∆V of 1 m/s, simulating theeffect of jettisoning a CubeSat. The drift of TAfrom TR expands up to ∼40 000 km over the jour-ney (Fig. 5). It allows to assess the accuracy ofthe presented Orbit Determination (OD) in a vastdomain of use.

The OD process is “run”, i.e. re-started, every10 days during the journey, allowing an analy-sis of its behavior all over the period. When theprocess starts, it first initializes the filter (section3.3), then performs 600 filter’s updates (“itera-tions”), taking 1 day and 3 hours of flight. Wealso tested “runs” that include 8000 iterationsthat correspond to 15 days of flight.

Each iteration simulates a new optical obser-vation processed with the MCC in the followingloop sequence: 3 images to the Earth in 3 min-utes, a 5-mn slew, 3 images to Mars, a 5-mn slew,3 images to Ceres, a 5-mn slew. As it was shown

10

Page 11: Autonomous Orbit Determination for a CubeSat Cruising in

Table 1: Main results for runs of 600 and 8000 itera-tions, re-started every 10 days over a scenario of a 230-dayjourney from Earth to Mars

Runs 600-it. 8000-it.duration (days) 1.125 15convergence (days) 0.9 ∼ 13-σ enveloppe (km) 30...150 30...150Best epoch day 180 day 180

in section 2.1, various solutions for celestial bod-ies are available and we consider here the Earthand Mars as being unresolved, despite they maynot be. Other bodies may be used alternativelyand they do not impact the interpretation of thefilter’s behavior. However, it provides interest-ing lessons about the filter at the beginning andat the end of the journey that can be discussedfurther. Then, a simulated observation consistsof the computation of the actual direction of thecelestial body as seen from TA with an additiveGaussian noise of 0.2′′ standard deviation, as itwould result from the MCC. The expected di-rections as seen from TR are computed from as-sumed well-known ephemerides of the bodies thatare considered available on board. The observa-tions and the transform of sigma-points into ob-servables are performed according to Eq. 7 and8. The physical evolution of the mesh of sigma-points is considered by the modeling of the localgravitational contributions of the Sun, the Earthand Mars all over the scenario.

4.2. Orbit Determination Accuracy

A synthesis of the results is given in Fig. 6 andTable 1. The detailed behavior of a particular runis presented in Fig. 7 for day 150 within the sce-nario. All results of the UKF are obtained in di-mensionless values and re-scaled. Then, the stan-dard deviations are taken from the diagonal termsof the covariances, the distance terms being firsttransformed by a change of frame to have themexpressed in the heliocentric TNW frame (tan-gent, normal, momentum, or longitudinal, radialand off-plane) attached to the trajectory.

In Fig. 6, the dashed line envelope is defined asthe average of the 3-σ resulting from the filter dur-

Figure 6: OD accuracy. Residuals (in km) at the end ofeach run (1 run takes 600 iterations and lasts ∼ 1 day), anew run is re-started every 10 days. The dashed line showsan envelope of the 3-σ error bars. σMCC = 0.2”.

ing the last quarter of iterations, i.e., iterations450 to 600 of the same run. The colored plainlines show the OD residuals at iteration 600 inlongitudinal, radial and off-plane directions. TheOD residual is always included in the envelope;this shows the filter’s consistency. The 3-σ accu-racy is always better than 150 km and even be-low 30 km in the third part of the scenario. Thevariations illustrate the changing geometry of thedirections of the celestial bodies over the scenarioand its effect on the filter. The thorough study ofoptimized geometrical configurations could allow,for instance, in mission preparation, to decide thebest period in the cruise to perform the OD or thebest set of foreground celestial bodies at a giventime of the journey.

The details for day 150 in Fig. 7 helps under-stand how the filter works. The 9-element statevector converges in less than 0.2 day for velocitiesand accelerations (top left, the dashed and plainlines show the expected and reconstructed valuesof TA wrt TR). The location residuals (3-σ greenenvelopes) converge in less than 1 day. A longerduration of the filter would not significantly im-prove the convergence further. At that specificepoch (day 150), the longitudinal residuals con-verge faster than the radial ones. But this is notalways the case, it depends on the changing ge-ometry over the scenario. However, the off-planeresiduals are always better.

One can note that the 3-σ envelopes show asee-saw shape. It results from the observationstrategy with three measurements in a row (1per minute) of a celestial body before slewing tothe next. It illustrates that, when the geometry

11

Page 12: Autonomous Orbit Determination for a CubeSat Cruising in

Figure 7: Details at day 150 of the UKF behavior. Convergence of the filter for velocities in km/s and accelerations inkm/s2 (top left), residuals in longitudinal (top right), radial (bottom left), off-plane (bottom right) directions. σMCC =0.2”.

has not changed from the first to the second andthird observations, the quality of the estimate re-lies mostly on the dynamical model and degradesover time due to the process noise. Such redun-dant observations should be avoided, unless caseswhere an image shows a bad quality, and couldsave observation time by a factor of ∼ 25% (6 mininstead of 8 min per body, including slew). Alsoif multiple imagers are available or if the AttitudeDetermination and Control System (ADCS) al-lows quicker slews, slew time can be saved. How-ever, the filter needs the geometry of the celestialbodies to evolve from one iteration to the next be-cause uncertainties accumulate over time. It evenprovides a criterion for an observation strategy:two pictures of the same celestial body are use-ful at two successive epochs if its direction in themeantime has changed by more than the accuracy

of the MCC.

In terms of ultimate performance of the filter,some divergence is reported in long runs that in-clude 8000 iterations. It may be a temporary di-vergence that looks like the filter reaches a singu-larity and re-starts nominally afterwards (see day163 in Fig. 8). In this case, the divergence goesbeyond the 3-σ envelope, remaining below 30 km,but it may also diverge beyond the 3-σ envelope(a 60 km residual is reported while 3-σ ∼ 15 km),then converging again but slower. This behavioris not well-explained and may be related to an ef-fect of filter “aging”. At least it does not comefrom the geometry: indeed, the run with 8000 it-erations takes 15 days (until day 165), overlappingso with the simulation of the next run that starts5 days earlier (day 160), and the latter does notshow any divergence at day 163.

12

Page 13: Autonomous Orbit Determination for a CubeSat Cruising in

Figure 8: Detail at day 150 over a run of 8000 iterations (∼ 15 days). σMCC = 0.2”.

On the opposite, a performance better than thekilometer (residual and 3-σ) was also observed atthe flyby of Mars. Although the observation con-ditions are not operational (the planet would beresolved on the images), this result illustrates theexcellent behavior of the UKF when linear ap-proximations are not possible. Indeed, the flybyat Mars was noticed incompatible with a past lin-ear variant of the filter. The reason was the inap-plicable Taylor series of the sine and cosine in theobservation model and the approximation of con-stant local acceleration in the dynamical model.In the new “unscented” variant, the same situa-tion provides excellent results, getting rid of anyrequirements on the geometry and the accelera-tion field for applicability of the OD.

4.3. Compatibility with on-board CPU

The overall CPU for a single iteration of thepresented algorithm is estimated lower than ∼ 1 son typical CubeSat hardware. It does not includethe image processing presented for the MCC thatcomes in addition (if performed by the same CPU)or in parallel (if performed by the sensor or a sep-arate microcontroller).

The presented results were obtained with ahigh-level open-source language adapted to proto-typing and analysis, making sure that no propri-etary coding is required (GNU OCTAVE, howeverintensive computation was run with MATLAB byMathworks® for higher simulation speed). Such

language is likely not transposable to CubeSathardware. We assume here that the on-boardcode is written in C/C++ with the use of theGNU Scientific Library (GSL).

Before any consideration about the coding, wepresent an estimate of the CPU based on a carefulbreakdown in elementary operations. The CPUfor these operations was then measured with anArduino-like hardware to get an estimate of theCPU for the whole algorithm. The values aregathered in Table 2, considering the followingcharacteristics:

• the hardware target is a STM32F407VGT6microcontroller, by ST Micro based onARM® Cortex®-M4 32-bit RISC core oper-ating at a frequency of up to 168 MHz

• elementary operations are identified in 3main categories: “bo” for basic operations(e.g. additions), “co” for single complex op-erations (e.g. multiplications or divisions ofreal numbers), “to” for multiple complex op-erations, typically when Taylor series devel-opments are assumed (e.g. sine, cosine)

• a highly consuming operation is identified, a9 × 9 matrix square root, that could not betested with the STM32, it is noted “msr” andis assumed to be of the same complexity asa rank 9 matrix inversion whose CPU wasmeasured instead.

13

Page 14: Autonomous Orbit Determination for a CubeSat Cruising in

Table 2: CPU estimate for 1 UKF iteration. Breakdownin operation categories of increasing complexity: bo, co,to, msr.

Operations bo co to msrduration (ms) 0.012 0.079 0.15 56.4number 5 968 5 688 127 2Total (ms) 69.7 449 19.2 113

Full iteration ∼ 650ms

• the duration for each category was measuredseparately, from the simplest to the mostcomplicated: for each category, a large num-ber of elementary operations were run, a fitwas performed to find the CPU cost of a cat-egory while removing the costs for alreadydetermined operations and any non-recurringnew cost.

These numbers must be considered with cau-tion since some considerations were not detailedhere as we only expect a magnitude of the con-sumed CPU: hence, double or quadruple preci-sion, access optimization to RAM and mass stor-age, for instance, are not considered. In return,the STM32 is considered well below the capacitiesof nowadays CubeSat boards, processing often at400 or 800 MHz and arranged with hundreds ofMB in RAM and mass storage. Hence, a CPUbudget of 1 s is considered reasonable with a com-fortable margin. It even opens to further improve-ments in the algorithm.

5. Discussion and prospects

5.1. MCC at TRL 2

The major source of error is the optical sensorand the MCC algorithm is the key to reach anoptical accuracy better than 0.2 ”. As an assess-ment, the MCC must be considered as a techno-logical brick of the solution at Technology Readi-ness Level (TRL) 2 based on the present paperand a few concerns are still to be studied.

Centroiding can offer a precision up to one halfto one tenth of a pixel, whose angular size is typi-cally at 10 ”. Other errors come into play: a smallaperture is desirable to get a larger PSF that,

however, remains much smaller than a pixel (0.2 ”in visible light with a 1-cm aperture) making thecentroiding poorly efficient with faint objects atthe limit of sensitivity.

Optical aberrations and change of frame be-tween celestial directions and coordinates in thefield of view introduce alignment errors. Theseerrors can be partially corrected based on cali-bration and re-centroiding within the MCC itself,but their effect on the performance of the MCCis still to be assessed.

A catalog of single bright stars is required inmission preparation. Their parallaxes must beincluded as we deal with interplanetary journeys.Stars weaker than the sensitivity or too close fromone another must be removed to ensure that onlyone star can be identified per region of interest.

5.2. Observational strategy

The performance of the UKF is essentiallydriven by the availability of celestial bodies, andby an observational strategy to decide the se-quence of observations.

The careful selection of such bodies in missionpreparation is possible: criteria like the visibilityand the magnitude of planets’ moons, asteroids oreven the host mission or other visible spacecrafts,their elongation to the Sun, the accuracy of theirephemerides, the availability of cataloged stars inbackground can be combined and can evolve overthe expected journey.

We mentioned a criterion to decide for an ad-ditional measurement of a body when it movedby at least σMCC which can be anticipated in theon-board observation schedule. However its con-tribution to the improvement of the estimate isnot known before the direction is actually mea-sured, meaning to point at it which has a non-negligible ADCS cost. Considering that the ge-ometry of stars and bodies evolve slowly, a ma-chine learning process could likely take advantageof the first tens of measurements to optimize theADCS cost by allowing the observations that willmost decrease the state vector’s covariance amongall next possible observations.

14

Page 15: Autonomous Orbit Determination for a CubeSat Cruising in

5.3. UKF potential

New kinds of observations could also be intro-duced in the orbit determination algorithm whilekeeping its structure.

The tolerance for non-linear models allows mul-tiple observations of different kinds in parallel.For instance, images of resolved objects could beconsidered, like a close moon or planet with itsphase effect or an asteroid in proximity opera-tions. Such observations require a specific algo-rithm (e.g. Modenini et al. [13]). If a direc-tion is output by the algorithm, the rest of theUKF is usable as is. The output may be differ-ent from a direction, for instance, with algorithmsfor horizon-based navigation that derive obser-vations not in terms of elevation and azimuth.Then, a dedicated observation model is to be de-veloped and can run beside the model used in sec-tion 3.1. The structure of the UKF is easy toadapt for multiple concurrent observation mod-els, by simply switching at every iteration to thewanted model for zk, h(xk, tk) and the evaluation

of sigma-points (z(i)k , Pz, Pxz). The increase in

computing resources will be due to storage needsfor a larger code and processing needs for the in-version of the largest matrix Pz of a particularmodel.

Observations not sorted in chronological ordercan still feed the UKF, allowing measurementsto be received with a delay. This is desirablewith, for instance, radio-science tracking (rangingand Doppler) from the ground or a mothercraftin proximity operations. Such measurements canbe transmitted afterward, not in real-time, andarrived after younger on-board observations havebeen already processed by the UKF. Literatureabout the theory of Kalman filtering, e.g. Simon[26], is available to deal with estimate updatesbased on past measurements. These additionsfor proximity operations, as fully orthogonal mea-surements, would for sure dramatically improvethe performances of the on-board orbit determi-nation at a minor cost for ground operations.

6. Conclusions

Current developments in autonomous naviga-tion are part of a broad endeavor to use CubeSatsin deep space. We contribute to this effort with aplausible solution adapted to this scale.

We present an affordable solution for orbit de-termination that can reach up to a 30 km accuracy(3-σ) in a cruise context, at a reasonable systemcost in terms of ADCS, observation duty-cycleand CPU. This solution relies on a mission prepa-ration to assess the possible observations and thebest period of the journey for the orbit deter-mination. It is based on various assumptions:observations of foreground objects like opticallyunresolved planets or their major moons, possi-bly bright asteroid when not enough planets ormoons can be observed, optical sensor with a sen-sitivity down to mV = 7 at least. With theseassumptions, the solution includes an image pro-cessing called “enhanced MCC” (Multiple Cross-Correlation) that is specified here, bringing it atTRL 2. The MCC allows, in the presented condi-tions, to measure a direction of a celestial bodywith an accuracy better than 0.2′′ with typicalCubeSat hardware.

We show that the solution can be furtheradapted to contexts like proximity operations thatdo not tolerate linear approximations. Moreover,the algorithm is ready for data fusion of a streamof multiple kinds of observations, even if not pro-vided in their chronological order. As well, fur-ther improvements are identified to save ADCSresources and speed up the process by a machinelearning that would train during the first itera-tions of the filter.

Acknowledgment

An extensive development of the work summa-rized here is available in French in Segret 2019[28] that benefited from the thorough support ofPr. Veronique Dehant at the Royal Observatoryof Belgium (ROB); Dr. Mathieu Barthelemyat the Institute for Planetary sciences and As-trophysics (IPAG), Observatory of Grenoble; Pr.Pierre Drossart and M.Sc. Philippe Plassonat LESIA, Observatory of Paris. The science cases

15

Page 16: Autonomous Orbit Determination for a CubeSat Cruising in

were kindly provided by Pr. Daniel Hestrofferof IMCCE, Observatory of Paris, for the case inplanetary geodesy and by Dr. Jordan Vannitsenof Odysseus Space SA for the case in spaceweather. We also thank M.Sc. Rashika Jain atLESIA, Observatory of Paris, for the help in clar-ifying the paper.

This work was funded by the French Labora-tory of Excellence ESEP [grant ANR 2011-LABX-030 in “Investissements d’Avenir”]; and Univer-site PSL (Paris Sciences et Lettres), France.

Appendix. Simulation data-set

A data-set is provided with the assumptionsand results:

• For convenience, a subfolder is providedand ready-to-use with a copy of the 600-iteration set and organized to be displayedby French space agency CNES’ free soft-ware VTS for space data visualization (ref.:https://timeloop.fr/). The VTS configurationfile to be open is “IFOD EME.vts”.

• Input files consist in ascii files:

– trajectories TR (“BIRDY TR.xva”) andTA (“BIRDY TA j-1.xva”)

– ephemerides of the Earth, Mars, Ceresas extracted from Paris Observatory’sIMCCE using INPOP13C planetarytheory, and re-formated

• Output files contain 2 sets, for runs with 600and 8000 iterations, each set is composed ofthe following files:

– “... OD TRAJ.bin” and“... ELOIDS.cvbin” are binary filesthat contain the raw results of OrbitDetermination at every single iteration,i.e. the state-vector (as a shift fromTR) and its covariance respectively,

– ascii files “... OD TRAJ” and“... ELOIDS”, same like above, adaptedfor direct display with VTS,

– ascii file “... LRESIDL”,“... TRESIDL” are the residuals inlongitudinal and transverse directions,

– ascii file “... INOUT3S” is a color-codefile for VTS that summarizes the resultof the Orbit Determination (grey, green,red or orange),

– ascii files “... TGTBODY” is a syntheticfile of the directions of the foregroundbodies to look at over time, for orienta-tions is VTS display.

• Dimensionless parameters and accuracy val-ues at start:

ft = 100 s

fx = 30 000 km

fv = fx/ft

fa = fv/ft

σx = 80 000 km

σv = 0.015 km/s

σa = 4.10−9 km/s2

References

[1] Cal Poly, Cubesat design specification, The Cube-Sat Program, California Polytechnic State University(2009).

[2] S. Matunaga, K. Yoshihara, Y. Sugiura, M. Sekiguchi,H. Sawada, S. Tsurumi, K. Nakaya, M. Mori,N. Maeda, O. Mori, Titech micro-satellite model:CanSat for sub-orbital flight, in: IEEE AerospaceConference Proceedings, Vol. 7, 2000, pp. 135–142.doi:10.1109/aero.2000.879283.

[3] N. Sako, Y. Tsuda, S. Ota, T. Eishima, T. Ya-mamoto, I. Ikeda, H. Ii, H. Yamamoto, H. Tanaka,A. Tanaka, S. Nakasuka, Cansat suborbital launchexperiment-University educational space program us-ing can sized pico-satellite, Acta Astronautica (2001).doi:10.1016/S0094-5765(01)00039-X.

[4] J. Guo, J. Zhang, C. Yue, F. Wang, Modeling of theCubeSat deployment and initial separation angularvelocity estimation, Aerospace Science and Technol-ogy 95 (2019) 105477. doi:10.1016/j.ast.2019.

105477.[5] Y. Yoshimura, Optimal formation reconfiguration

of satellites under attitude constraints using onlythrusters, Aerospace Science and Technology 77(2018) 449–457. doi:10.1016/j.ast.2018.03.021.

[6] J. E. Riedel, S. Bhaskaran, S. Desai, D. Han,B. Kennedy, T. McElrath, G. W. Null, M. Ryne, S. P.Synnott, T. C. Wang, R. A. Werner, USING AU-TONOMOUS NAVIGATION FOR INTERPLANE-TARY MISSIONS: THE VALIDATION OF DEEPSPACE I Autonav (2000).

16

Page 17: Autonomous Orbit Determination for a CubeSat Cruising in

[7] D. G. Kubitschek, N. Mastrodemos, R. A. Werner,B. M. Kennedy, S. P. Synnott, G. W. Null,S. Bhaskaran, J. E. Riedel, A. T. Vaughan, Deep im-pact autonomous navigation: The trials of targetingthe unknown, Advances in the Astronautical Sciences125 (November 2015) (2006) 381–406.

[8] A. Martindale, G. Fraser, L. Heil, D. Hind-ley, P. Molyneux, J. Pye, S. Shemar, R. War-wick, A. Lamb, TOWARDS PRACTICAL AU-TONOMOUS DEEP SPACE NAVIGATION USINGX-RAY PULSAR TIMING: INSTRUMENTATIONASPECTS, 593rd WE-Heraeus Seminar (2015) 21.

[9] A. Jessner, Technical requirements for autonomousspacecraft navigation using radio pulsars, 593rd WE-Heraeus Seminar (2015) 41.

[10] J. E. Riedel, S. Bhaskaran, S. P. Synnott, S. D. Desai,W. E. Bollman, P. J. Dumont, C. A. Halsell, D. Han,B. M. Kennedy, G. W. Null, J. Owen, W. M., R. A.Werner, B. G. Williams, Navigation for the new mil-lennium: Autonomous navigation for Deep-Space 1,in: ISSFD-1997, 1997, pp. 303–320.

[11] R. Vaughan, J. Riedel, R. Davis, W. Owen, JR.,S. Synnott, Optical navigation for the Galileo Gaspraencounter (2013). doi:10.2514/6.1992-4522.

[12] P. Tortora, V. Di Tana, LICIACube, the Italian wit-ness of DART impact on didymos, 2019 IEEE In-ternational Workshop on Metrology for AeroSpace,MetroAeroSpace 2019 - Proceedings (2019) 314–317doi:10.1109/MetroAeroSpace.2019.8869672.

[13] D. Modenini, M. Zannoni, L. R. Manghi, P. Tortora,An analytical approach to autonomous optical nav-igation for a CubeSat mission to a binary asteroidsystem, in: Advances in the Astronautical Sciences,Vol. 163, Univelt, 2018, pp. 139–149.URL http://www.univelt.com/book=6487

[14] V. Franzese, P. D. Lizia, F. Topputo, AutonomousOptical Navigation for LUMIO CubeSat, in: 2018Space Flight Mechanics Meeting, no. May, 2018. doi:10.2514/6.2018-1977.

[15] R. Walker, D. Koschny, C. Bramanti, I. Carnelli,Miniaturised Asteroid Remote Geophysical Observer(M-ARGO): a stand-alone deep space CubeSat sys-tem for low-cost science and exploration missions, in:6th Interplanetary CubeSat Workshop, Cambridge,UK 30/05/2017, 2015.

[16] B. Segret, D. Hestroffer, G. Quinsac, M. Agnan,J. Vannitsen, On-Board Orbit Determination for aDeep Space CubeSat, in: ISSFD-2017, no. ISTS-2017-d-122/ISSFD-2017-122, 2017, pp. 1–12.

[17] B. Segret, D. Hestroffer, G. Quinsac, M. Agnan,J. Vannitsen, B. Mosser, In-flight orbit determinationfor a deep space CubeSat, in: 2018 IEEE AerospaceConference, IEEE, Yellowstone, MO/USA, 2018, pp.1–12. doi:10.1109/AERO.2018.8396756.

[18] B. Segret, D. Hestroffer, G. Quinsac, M. Agnan,J. Vannitsen, B. Mosser, Optimizations of Au-

tonomous Orbit Determination for a Deep-SpaceCubeSat, in: ISSFD-2019, Vol. Peer Revie, EngineersAustralia, Royal Aeronautical Society, Melbourne,Australia, 2019, pp. 1129–1134.

[19] A. Posnera, D. Odstrcil, P. MacNeice, L. Rastaet-ter, C. Zeitlind, B. Hebere, H. Elliott, R. A. Frahm,J. J. E. Hayes, T. T. Von Rosenvinge, E. R. Chris-tian, J. P. Andrews, R. Beaujeane, S. Bottchere,D. E. Brinza, M. A. Bullock, S. Burmeistere, F. A.Cucinottah, B. Ehresmann, M. Epperly, D. Grin-spoon, J. Guo, D. M. Hassler, M. H. Kim, J. Kohler,O. Kortmann, C. Martin Garcia, R. Muller-Mellin,K. Neal, S. C. R. Rafkin, G. Reitz, L. Seimetz,K. D. Smith, Y. Tyler, E. Weigletm, R. E. Wimmer-Schweingruber, The Hohmann–Parker effect mea-sured by the Mars Science Laboratory on the transferfrom Earth to Mars: Consequences and opportuni-ties, Planetary and Space Science 89 (2013) 127–139.doi:10.1016/j.pss.2013.09.013.

[20] J. Vannitsen, B. Segret, J. J. Miau, J.-C. Juang,CubeSat on an Earth-Mars Free-Return Trajectoryto study radiation hazards in the future manned mis-sion, in: European Planetary Science Congress 2013,Vol. 8, 2013, pp. EPSC2013–1088.

[21] J. Vannitsen, F. Rizzitelli, K. Wang, B. Segret, J.-C. Juang, J.-J. Miau, A Satellite Data Analysis andCubeSat Instrument Simulator Tool for SimultaneousMulti-spacecraft Measurements of Solar EnergeticParticles, Journal of Astrophysics and Astronomy38 (4) (2017) 70. doi:10.1007/s12036-017-9485-2.

[22] D. Hestroffer, BIRDY-T – Interplanetary CubeSat tosmall body of the Solar System, in: European Plane-tary Science Congress, 2017.

[23] Gaia Collaboration, F. Spoto, P. Tanga, F. Mignard,J. Berthier, B. Carry, A. Cellino, Gaia Data Release 2:Observations of solar system objects (2018). arXiv:

1804.09379, doi:10.1051/0004-6361/201832900.[24] S. B. Broschart, N. Bradley, S. Bhaskaran, Kine-

matic approximation of position accuracy achievedusing optical observations of distant asteroids, Jour-nal of Spacecraft and Rockets 56 (5) (2019) 1383–1392. doi:10.2514/1.A34354.

[25] V. Franzese, F. Topputo, Optimal Beacons Selec-tion for Deep-Space Optical Navigation, Journal ofthe Astronautical Sciences 67 (4) (2020) 1775–1792.doi:10.1007/s40295-020-00242-z.

[26] D. Simon, Optimal State Estimation, first edit Edi-tion, WILEY-INTERSCIENCE, 2006.URL http://www.wiley.com/go/permissionhttp:

//academic.csuohio.edu/simond/

[27] A. Sadeghi, Approximating the principal matrixsquare root using some novel third-order iterativemethods, Ain Shams Engineering Journal 9 (4) (2018)993–999. doi:10.1016/j.asej.2016.06.004.

[28] B. Segret, Algorithme embarque de navigation op-tique autonome pour nanosatellites interplanetaires,

17

Page 18: Autonomous Orbit Determination for a CubeSat Cruising in

Theses, Universite Paris Sciences et Lettres (2019).doi:HALId:tel-02889414,version1.

18