Hey Everyone,
I’ve been attempting to use orekit to simulate observations of a radar to test some UCT algorithms. Shouldn’t be too hard, right?
I have been using the numerical propegator in the following code adapted from one of the tutorials:
"private static NumericalPropagator createNumProp(final Orbit orbit, final double mass) throws OrekitException {
final double tol = NumericalPropagator.tolerances(1.0, orbit, orbit.getType());
final double minStep = 1.e-3;
final double maxStep = 1.e+3;
AdaptiveStepsizeIntegrator integrator = new DormandPrince853Integrator(minStep, maxStep, tol[0], tol[1]);
integrator.setInitialStepSize(10.);NumericalPropagator numProp = new NumericalPropagator(integrator);
numProp.setInitialState(new SpacecraftState(orbit, mass));
numProp.setOrbitType(OrbitType.KEPLERIAN);
return numProp;
}
Blockquote
And then I call that method as follows:
Orbit initialOrbit = new KeplerianOrbit(a, e, i,pa,raan, anomaly, PositionAngle.MEAN , inertialFrame, initialDate, mu);
final double dP = 0.001; final double minStep = 0.001; final double maxStep = 1000; final double initStep = 60; final double[][] tolerance = NumericalPropagator.tolerances(dP, initialOrbit, OrbitType.KEPLERIAN); AdaptiveStepsizeIntegrator integrator = new DormandPrince853Integrator(minStep, maxStep, tolerance[0], tolerance[1]); integrator.setInitialStepSize(initStep); double mass = 1000; NumericalPropagator numProp = createNumProp(initialOrbit, mass);
Then at specific intervals I use .getX, .getY and .getZ to produce geocentric positions (I think), and save them to a .csv.
Well this isn’t working and I’m not sure why at all. Instead of an orbit, my output produces a line.Here is a screenshot of a matlab plot of the output. (imgur link) If you need any additional information let me know!
My hair is falling out at an alarming rate! Please help me out!