at the DLR GSOC we are presently evaluating whether Orekit could be integrated into our Mission Planning tool suite. One important functionality that we need is the calculation of extremum events, such as for example the time of maximum elevation in a given topocentric frame or the time of minimum range with respect to a given Earth
observation target. From investigating Orekit we identified two different approaches to achieve this task: 1)
To return the derivative of the value that is to be minimized or maximized in the function g in the specific implementation of AbstractDetector. This approach is for instance chosen by the new Latitude/LongitudeExtremumDetector
classes; however, it requires some knowledge about the derivative (as in this example handled by OneAxisEllipsoid.transform(PVCoordinates, Frame, AbsoluteDate)), which might not always be readily available. 2)
To extend the present event handling mechanism such that it allows to configure whether the given function g should be searched for its root, or be minimized or maximized. My naïve guess is that an extremum
search without passing an explicit derivative might be achieved relatively easily by switching between the solver presently used in EventState.evaluateStep(…) and an optimizer (e.g. the BrentOptimizer from Apache commons-math) as needed. I would be glad if some experienced Orekit users could comment whether my assessment on using Orekit for extremum events is correct, or if I might have missed some other possibility to achieve this task with Orekit’s
present functionality. If there yet doesn’t exist a generic solution to find extremum events (such as described in option 2 above), are there any plans to include such functionality? Best regards —————————————————————————— Deutsches Zentrum für Luft- und Raumfahrt
e.V. (DLR) German Aerospace Center
Space Operations and Astronaut Training | Mission Operations | Oberpfaffenhofen | 82234 Wessling | Germany
Telephone +49 8153 28-2432 | Telefax +49 8153 28-1456 |
thomas.fruth@dlr.de |