Hello everyone!
Is it possible in Orekit to estimate maneuver thrust direction parameters?
Thank you for answers in advance.
Hello everyone!
Is it possible in Orekit to estimate maneuver thrust direction parameters?
Thank you for answers in advance.
Hi @Carboh,
Yes!
The way that is available in Orekit to date is by estimating scale factors in each direction.
The model responsible for this is ScaledConstantThrustPropulsionModel.
It is used this way:
ScaledConstantThrustPropulsionModel propModel =
new ScaledConstantThrustPropulsionModel(thrust, isp, direction, name);
With name
the name of the maneuver, thrust
in Newton, isp
in seconds, and direction
a unit vector in the frame you define the maneuver.
Then, to estimate the scale factors you have to select the parameters for estimation:
List<ParameterDriver> drivers = propModel.getParametersDrivers();
drivers.get(0).setSelected(true); // Scale factor on X axis
drivers.get(1).setSelected(true); // Scale factor on Y axis
drivers.get(2).setSelected(true); // Scale factor on Z axis
And create the maneuver:
ConstantThrustManeuver maneuver = new ConstantThrustManeuver(myAttitudeProvider,
new DateBasedManeuverTriggers(name, maneuverStartDate, maneuverDuration),
propModel);
Finally, add this maneuver force model to a propagatorBuilder
and use this last in your orbit determination program.
Hope this helps,
Maxime