[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orekit Users] 0.1 deg Inclination bias?
- To: "orekit-users@orekit.org" <orekit-users@orekit.org>
- Subject: Re: [Orekit Users] 0.1 deg Inclination bias?
- From: "Hammel, Gregory (ASC/CSA)" <gregory.hammel@canada.ca>
- Date: Thu, 26 Jul 2018 14:35:44 +0000
- Accept-language: en-US
- Authentication-results: kepler.orekit.org; dkim=pass reason="2048-bit key; insecure key" header.d=canada.ca header.i=@canada.ca header.b=cxtFVV0z; dkim-adsp=pass; dkim-atps=neutral
- Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=canada.ca; i=@canada.ca; q=dns/txt; s=mx2; t=1532615753; x=1564151753; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=6xNR9OAwYK/gLw3nlZpElUWI8UuNdQHHyurrRIgibrQ=; b=cxtFVV0zev8tPFwcM6POMelyxlZ6dMTWw3SR6GQ75ULfo/FhMjFj85UJ K7KgVAJsD3Fe4Fy4ZPHDa/gGpS/kDfZsRRUDw4R4uoMn86agTHd/9jtEd hnlD1YZ2gDxHm8r6mwiDbxqETOuHrA+BabvYJ71RU8qKZYYwbjuSFZiPX UtnXzIfidtXB6adAl4Up8iJcUkE0PGflYbiVeIhKkgDRwg2WDwuXrPtIi yr31kaf2KyCDBTw0NEbIGr7KnA2NPzW+DXLHn3KYe9dc4q6OkQXIbyhVX upxM3Dcgc31B/OrKtvM25RVpkiZX7nJcuh/+L3xmX1pYH/0P3Rn+VEmLW Q==;
- In-reply-to: <20180719203535.Horde.nRzb2gj1anvf3U_H2c4qgg8@messagerie.c-s.fr>
- References: <20180719132929.AB1E328859@kepler.orekit.org> <20180719200805.Horde.XncCEKF7hOPyU-WCX5gQzQ1@messagerie.c-s.fr> <1532024305227.72186@canada.ca>,<20180719203535.Horde.nRzb2gj1anvf3U_H2c4qgg8@messagerie.c-s.fr>
- Thread-index: AQHUJOsuh//VHPfmUkeVkrVPsy0+WA==
- Thread-topic: [Orekit Users] 0.1 deg Inclination bias?
So, I have found the source of my 0.1deg error - it was a reference frame issue that I had missed (was passing a TOD vector but telling the Draper code it was J2000).
I have taken the step to using the conversion process because the sma noise on the Draper propagation is larger than I would like. However, while my results are providing very good sma's, eccentricities and argument of perigees, I seem to have a "twist" in my orbit. Both the inclination and RAAN are off by ~0.005 deg. I've double checked against the osculating values and this is definitely not correct. The upper end of the osc inclination is 97.765deg which is what my fitted mean inclination is at.
I've run the Draper propagator alongside the fit in the same code, so I've eliminated any possible errors in initial state, EOP data, reference frame, etc. When I do this, I am seeing inc values from the propagator of 97.760 deg, which is what I would be expecting. I've poured over my code and can't see where the problem is, but I'm sure its something I'm doing wrong - I just can't see it. I'm very new to both Java and Orekit so there is probably some fundamental mistake I'm making, but its not clear.
Has anyone else build a Draper propagator builder? Any traps I may have fallen into that I should be wary of?
One of the things I'm doing is using the FiniteDifferenceConverter and then casting it as a DSSTPropagator as follows:
PropagatorConverter fitter = new FiniteDifferencePropagatorConverter(builder, 1.e-6, 5000);
DSSTPropagator meanprop = (DSSTPropagator)fitter.convert(ephemeris, 86400, 251);
Where "builder" is the DSSTPropagatorBuilider that I created and ephemeris is a BoundedPropagator osculating input. Is this valid?
Any help, insights, pointers would be greatly appreciated. If I can get this sorted out this will be a very powerful tool for our upcoming mission. But a 0.005deg offset in inclination and RAAN will be difficult to work around.
Thanks,
Greg
___________________________________________________
Gregory Hammel
Analyste de la dynamique de vol
Contractuel SED a division of Calian Ltd. Utilisation de l’espace
Agence spatiale canadienne / Gouvernement du Canada
gregory.hammel@canada.ca / Tél.: 450-926-5138
Flight Dynamics Analyst
Consultant SED a division of Calian Ltd. Space Utilization
Canadian Space Agency / Government of Canada
gregory.hammel@canada.ca / Tel.: 450-926-5138
________________________________________
From: orekit-users-request@orekit.org <orekit-users-request@orekit.org> on behalf of MAISONOBE Luc <luc.maisonobe@c-s.fr>
Sent: Thursday, July 19, 2018 2:35 PM
To: orekit-users@orekit.org
Subject: Re: [Orekit Users] 0.1 deg Inclination bias?
"Hammel, Gregory (ASC/CSA)" <gregory.hammel@canada.ca> a écrit :
> Hello Luc,
>
> Thanks for this. This was actually going to be my next question -
> how to use LS to convert from osculating to DSST - was digging
> around the estimation project and was starting to run into a brick
> wall at the PropagatorBuilder. I didn't realize that my two problems
> may be actually only one.
>
> If this is the source of the problem, then what purpose does the
> DSSTPropagator.computeMeanState function serve? Is is intended to be
> a quick way to get mean states when precision isn't required?
No, it is really intended to do what you want, but using only
DSST models, not converting models at the same time, i.e.
without a "first propagation" from another model beforehand.
Some other things you could check are the difference between mean
and osculating, i.e. the amplitude of the short periodic
terms and the evolution rate of the mean elements, and compare
this to the 0.1° you see. It may help understand what happens.
best regards,
Luc
>
> Will give this a go. Thanks,
>
> Greg
> ________________________________________
> From: orekit-users-request@orekit.org
> <orekit-users-request@orekit.org> on behalf of MAISONOBE Luc
> <luc.maisonobe@c-s.fr>
> Sent: Thursday, July 19, 2018 2:08 PM
> To: orekit-users@orekit.org
> Subject: Re: [Orekit Users] 0.1 deg Inclination bias?
>
> "Hammel, Gregory (ASC/CSA)" <gregory.hammel@canada.ca> a écrit :
>
>> Hello,
>
> Hi Greg,
>
>>
>> This is my first post to this list, so I would just like to start by
>> thanking everyone who contributes to this project. Its an incredible
>> resource.
>>
>>
>> I am trying to use Orekit for mean state generation for
>> stationkeeping using DSST. To that end I want to take in a vector
>> from an external source (in this case, STK) read it in, propagate
>> it, including manoeuvres, and then use DSST to get pre and
>> post-maneouvre mean states. If I take a J2000 vector and provide it
>> to DSST to get a mean state, I get an inclination of 97.75 deg.
>> However, if I first propagate that same vector and then pass it
>> through DSST I get an inclination of 97.65 (in this case, without
>> any manoeuvres).
>>
>>
>> I'm using the same methods as outlined in the "MasterMode.java"
>> tutorial for my "pre-mean" propagation, but I've modified it by
>> including solar and lunar grav and DTM2000 drag.
>>
>>
>> Can anyone explain why there is a 0.1 deg shift in the inclination?
>> I can provide the code if it helps.
>
> If you convert starting from a single state vector, and change from
> one propagator to another one, you can have this sort of problems.
>
> I'll suggest to look at the propagation.conversion package and
> at the associated test cases to do the conversion from a full
> time range (say one or two periods) instead of a single state
> vector. What this package does is a fitting, trying to ensure
> the trajectories stay close to each other, in a least squares
> sense.
>
> Hope this helps,
> Luc
>
>>
>>
>> Thanks,
>>
>> Greg Hammel
>>
>> ___________________________________________________
>> Gregory Hammel
>> Analyste de la dynamique de vol
>> Contractuel SED a division of Calian Ltd. Utilisation de l'espace
>> Agence spatiale canadienne / Gouvernement du Canada
>> gregory.hammel@canada.ca / Tél.: 450-926-5138
>>
>> Flight Dynamics Analyst
>> Consultant SED a division of Calian Ltd. Space Utilization
>> Canadian Space Agency / Government of Canada
>> gregory.hammel@canada.ca / Tel.: 450-926-5138