[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: orekit-users@orekit.org*Subject*: Re: [Orekit Users] question on using Orekit*From*: MAISONOBE Luc <luc.maisonobe@c-s.fr>*Date*: Sat, 30 Jan 2016 22:21:42 +0100*In-reply-to*: <20160129200511.69000293D1@www.orekit.org>*User-agent*: Internet Messaging Program (IMP) H5 (6.2.3)

"Ng, Alfred (ASC/CSA)" <alfred.ng@canada.ca> a écrit :

Hello,

Hi Alfred,

I'm new to using Orekit and I have one question.Suppose we have onboard navigation data from the GPS receiver, whichroutines within Orekit, if they exist, that can be used to processthe GPS data and determine the orbit as an output. Any suggestion orinformation is appreciated. Thank you!

What you are looking after is an orbit determination system. There are already several basic blocks in Orekit that would help creating one. The most important one is the propagation of Jacobians matrices in the NumericalPropagator class. Basically, in addition to simply propagating the orbit as usual, you can register some AdditionalEquations to it. Here, the implementation of AdditionalEquations that could help you is already present, it is the PartialDerivativesEquations class. So with this setup, for any estimated initial orbit, you can run the propagator and at each GPS point received, you compare the observed point and the one given by the propagator. At the same time, you take care of the state Jacobian, i.e. the transition matrix between the estimated initial orbit and the current propagated point. If your estimated initial orbit was wrong, the two points will be different, and using the state Jacobian, you can determine how much you should change the estimated initial state so for the next propagation the points will be closer to each other. So what remains to be done is this loop around the propagator (all the underlying parts have been there in Orekit since several years). There are two classical approaches, either Kalman filtering that uses one measurement at a time and continuously update the estimated state, and batch least squares filtering that uses all the measurements in a time range of a few orbits. Note that currently, these higher level parts are not available in the published version of Orekit yet. They will be available in a future version, but I cannot say when. If your needs are restricted to a set of GPS position/velocity there are also some more basic ways, using the various PropagatorConvertor implementations. They are basically devoted to find the configuration of a propagator that matches another propagator (typically if you want to go from a SGP4 to a more sophisticated numerical propagator and wants to make sure the match is correct over at least a few orbits), but they can also take as input a list of SpacecraftState instances. If you wrap up your GPS data as such a list, this may suit your needs. Beware this is not really extensible, it is only a makeshift. best regards, Luc

Alfred Ng Gestionnaire (Électronique et contrôle), Sciences & technologies spatiales Agence spatiale canadienne / Gouvernement du Canada alfred.ng@canada.ca / Tél. : 450-926-4641 / Tél. cell. : 514-502-5568 Manager (Electronics & Control), Space Science & Technology Canadian Space Agency / Government of Canada alfred.ng@canada.ca / Tel: 450-926-4641 / Cel. : 514-502-5568 [cid:image001.jpg@01D15AA4.FE6A49D0]

- Prev by Date:
**Re: [Orekit Users] question on using Orekit** - Next by Date:
**[Orekit Users] Orekit 7.1 released** - Previous by thread:
**Re: [Orekit Users] question on using Orekit** - Next by thread:
**[Orekit Users] Orekit 7.1 released** - Index(es):