AlabamaASRL / asset_asrl

https://alabamaasrl.github.io/asset_asrl/
Apache License 2.0
29 stars 6 forks source link

Automatic Control Switch Detection and Refinement #21

Open jbpezent opened 1 year ago

jbpezent commented 1 year ago

We need to implement better control switch detection and refinement for bang-bang problems. The new mesh refinement scheme does a pretty good job at making accurate meshes with minimal segments and works well on smooth control profiles. However, the drawback is that it can make bang-bang control profiles less well defined unless you use a very tight mesh tolerance. This is especially true with the BlockConstant control parameterization.

Looking to add at least two methods for switch detection. One will just look for sudden changes in individual components in the controls. The other will feed the states and estimated costates to a user defined indirect switching function and find its zeros. We will then let the mesh spacing float in the vicinity of the switches so that the optimizer can adjust the control profile accordingly.

I'll start prototyping this. If anybody has any suggestions, ideas, or requests let me know.