Hi. I am new to Orekit. I am getting this error while trying to do orbit determination. Kindly note that I am implementing orekit in Python. I initially thought that it was due to the small number of points. I increased the points 10-fold I am still getting the same problem. I appreciate your help.
JavaError: <super: <class ‘JavaError’>, >
org.orekit.errors.OrekitException: unable to solve: singular problem
Caused by: org.hipparchus.exception.MathIllegalStateException: unable to solve: singular problem
Welcome to the Orekit forum!
How many parameters do you estimate and how many observations do you have?
In addition, could you give me:
- The complete list of estimated parameters
- The first and last epoch of you observations
With these information, we should find why you have a singular problem
Hi Bryan. Thanks for the reach out! I give it the station coor (long, lat, and alt), epoch, RA, and DEC and want to do orbit determination. I am using the BatchLSEstimator.
from org.orekit.estimation.measurements import Range, AngularAzEl, AngularRaDec, ObservableSatellite
from orekit.pyhelpers import JArray
observableSatellite = ObservableSatellite(0) # Propagator index = 0
for a, b in stationData.iterrows():
orekit_radec = AngularRaDec(
stationData.loc[a, ‘OrekitGroundStation’], gcrf,
JArray(‘double’)([float(1.0), float(1.0)]), # Base weight
estimatedPropagatorArrayData = estimator.estimate()
First epoch in the file: 2021-07-30T08:24:38.740
Last epoch in the file: 2021-07-30T09:13:30.280
I appreciate your help.
Are your angles in radians or in degree?
Orekit works only with SI units, i.e. radians for angles.
I also think the standard deviation is way too large 100e4 reads as one million radians to me.
Hi Luc. Thanks. I changed the angles to radians (used deg2rad), decreased the standard deviation, experimented with “float” or no “float” … but all gave back the same problem “singular”
Hi, can you give me the complete list of estimated parameters?
Singular problems usually occurs when we try to estimate a parameter which is not observable (e.g., a time stamped parameter where the epoch is not in the observation arc, a tropospheric or ionospheric parameter without range measurements, etc.)
The best would be to have a runnable script allowing to reproduce your problem. If you can provide that, it would be very useful.
Hi. My data file is a list of time stamped RAs, Decs, all from the same station (lat, long, and alt). I know that all parameters are present in the file: every timestamp has a correspond ra, dec, lat, long, alt. I am writing in what the code is supposed to read into another file and double checking: all parameters are there. However, I suspect that the data file covers a small fraction of the orbit. I have done numerical experiments in which I generate my own orbit and then sample observation arcs of various lengths at various time sampling rates. I found that if the observation arc is less than 20% of the orbit then I fall into the singular problem issue. I wonder if this is the real issue with my real data.
It could be the cause. Especially if you are doing an angle only orbit determination. Indeed, a distance observation usually help to improve the observability of the problem.
If it is possible, could you provide a runnable script to investigate your problem?