Skip to content

Add tutorial on regularization #26

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

YouriRenoud
Copy link
Collaborator

No description provided.

@YouriRenoud YouriRenoud linked an issue Jun 18, 2025 that may be closed by this pull request
@YouriRenoud
Copy link
Collaborator Author

@ocots @jbcaillau I tried various ways to initialize the orbital transfer problem, but I couldn't find one where the logarithm doesn't become negative. I also tried to start the indirect resolution by following the Kepler example, but I'm not sure if that's the right approach.

@ocots
Copy link
Member

ocots commented Jun 26, 2025

@YouriRenoud if you have some difficulties you can switch to this issue: #28

See here: https://control-toolbox.org/Tutorials.jl/stable/tutorial-iss.html#Resolution-of-the-shooting-equation

@ocots
Copy link
Member

ocots commented Jul 4, 2025

@YouriRenoud pour aider à la convergence ne pas hésiter à jouer sur la taille de la discrétisation. Mettre 100, 500, 1000, 2000 points pour voir.

@jbcaillau
Copy link
Member

@YouriRenoud pour initialiser :

  • résoudre le pb en temps min par méthode directe pour une poussée assez forte, par ex. T = 60 N, comme au début de ce tuto
  • cette solution est admissible pour un problème conso. min. avec barrière log et T > 60 N ; essayer avec T = c * 60, c = 1.1 (pas de pb pour le log, du coup, puisqu'on est à l'intérieur de la contrainte)
  • pour la conso. min, le temps final doit être fixé (pas de solution sinon) et strictement supérieur au temps minimum : tu peux donc fixer ce temps final au temps min trouvé pour T = 60 (puisque pour T > 60 le temps min correspondant est strictement plus petit)

@YouriRenoud
Copy link
Collaborator Author

@ocots @jbcaillau I finally could solve the minimal conso problem what are you thinking of this solution ?


95da8e3c-0fc4-42a5-9e5d-2d661bb92bcf

@ocots
Copy link
Member

ocots commented Jul 7, 2025

Can you plot the norm of the control? See the plot documentation.

You can plot also in 3D, see the end of the Kepler application.

@YouriRenoud
Copy link
Collaborator Author

For the 3D plot I only get one revolution before it stops ?

@jbcaillau
Copy link
Member

Can you plot the norm of the control? See the plot documentation.

You can plot also in 3D, see the end of the Kepler application.

hi @YouriRenoud cannot see the plot of the norm. for a strong enough log penalty and a large enough final time (20% larger than min time, e.g.), you should see a control subarc close to a zero arc (= zero norm)

@YouriRenoud
Copy link
Collaborator Author

Here the norm

Capture

@ocots
Copy link
Member

ocots commented Jul 11, 2025

Todo:

  • Continuation sur $\varepsilon$ : direct et indirect.
  • Méthode indirecte sur le problème à consommation minimale.

@YouriRenoud
Copy link
Collaborator Author

@ocots @jbcaillau Here the norm of the control with the continuation of epsilon at the last iteration :

Capture

@jbcaillau
Copy link
Member

@ocots @jbcaillau Here the norm of the control with the continuation of epsilon at the last iteration :

Capture

nice @YouriRenoud can you please add (on the same plot) control norms for previous values of $\varepsilon$? compare Fig. 1 from this ref.

@ocots
Copy link
Member

ocots commented Jul 23, 2025

@YouriRenoud Can you please make a point on what you still have to do?

@YouriRenoud
Copy link
Collaborator Author

@ocots The direct part is all finished and working but I am stuck in the indirect resolution and I don't know how to solve my problems. For example if I start two times the indirect resolution without changing anything the two solution won't give the same trajectory and it is not even close.

Maybe I should start the other part of regularization with the Malisani's code ?

@ocots
Copy link
Member

ocots commented Jul 24, 2025

@ocots The direct part is all finished and working but I am stuck in the indirect resolution and I don't know how to solve my problems. For example if I start two times the indirect resolution without changing anything the two solution won't give the same trajectory and it is not even close.

Maybe I should start the other part of regularization with the Malisani's code ?

@YouriRenoud Actually, writing the shooting function for the minimum consumption problem is not easy. Since, I won't be there before you finish, I think you should switch to Malisani's regularization. You can create another file for the tutorial.

@YouriRenoud
Copy link
Collaborator Author

@jbcaillau I could plot this figure is that what you were expecting ?

Capture

@jbcaillau
Copy link
Member

@YouriRenoud exactly: very nice! 👍🏽

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Dev] Tutorial on regularization
3 participants