ImpulseManeuver and ExtremumDetector

Hi all,

An ImpulseManeuver modifies the velocity, hence the g value of an ExtremumDetector is different immediately before or after the delta-V. How to enforce that it is recomputed at detection? I thought the Action RESET_EVENTS was designed for such cases but one does not have access to the Handler in ImpulseManeuver. What’s the solution?

Best,
Romain.

Hi @Serrof,

I guess one long-term solution would be to first make the handler public. Then, to treat your issue, extend it by replacing the eventOccured method.
What do you think?
On a short-term basis (i.e. with version 12.0.X) I think you’ll need to rewrite a custom ImpulseManeuver class or a handler class…

Best,
Maxime

Hi Maxime and thanks for your quick reply,

Looking a bit at the event detection code, I’m not sure it’s that simple. The RESET_EVENTS does not seem to imply a RESET_STATE as well, but an ImpulseManeuver does need to reset the state in order to modify the velocity. So are we missing an Action? Or is there something I’m missing?

Cheers,
Romain.

I’ve looked into the event detection code too and I agree with you. Maybe @luc or @evan.ward will prove us wrong though

There is a Action.RESET_STATE at line 230 of ImpulseManeuver.java. Where is the Action.RESET_EVENT action you refer to? This Action.RESET_STATE is triggered if the underlying event triggers an Action.STOP

Hi Luc,

My problem is that I’m having missed detections from ExtremumApproachDetector, whose g function uses the velocity vector, a quantity modified by another detector, ImpulseManeuver (I’m guessing it’s messing up interpolation?). By digging into the code, I discovered the RESET_EVENTS Action, however I don’t see how to use it with ImpulseManeuver, since it needs a RESET_STATE. Does that make sense?

Cheers,
Romain.