programmation pour la robotique, TP Policy Gradient/REINFORCE
Table of Contents
Dans ce dernier TP, on veut appliquer la méthode d'optimisation directe de la politique par montée de gradient, au problème du contrôle d'un module spatial, ce qui vous permettra peut-être d'obtenir un stage chez SpaceX.
1. Environnement pour LunarLander
Cet environnement permet de contrôler un vaisseau qui doit se poser, doucement, sur la plateforme indiquée par deux drapeaux.
2. Modélisation par un processus de décision markovien
Rappel: Un MDP est un tuple
l'ensemble des états l'ensemble des actions l'horizon la fonction de transition (aussi appelée dynamique) la fonction de récompense la dévaluation
Dans notre cas, il y aura :
un état de l'environnement est un vecteur de dimension 8: abscisse et ordonnée du module, sa vitesse (en et ), son angle, sa vitesse angulaire, et deux booléens, chacun indiquant si la patte correspondante est en contact avec le sol. On utilisera le tile coding pour encoder ces états (conjointement avec les actions)- 4 actions: ne rien faire, allumer le moteur gauche, allumer le moteur central, allumer le moteur droit
est considéré comme infini (en pratique le nombre d'actions est limité à 200)- On suppose que la dynamique n'est pas connue (notre agent ne connaît pas la physique)
- La récompense est décrite ici.
- la dévaluation est arbitrairement mise à 0,99.
3. Utilisation de OpenAI Gym
Le but du TP est de créer un agent pour cet environnement, et de lui faire
apprendre un une politique optimale
4. Les étapes du TP:
- Téléchargez le carnet ici
- Ouvrez une fenêtre de votre navigateur sur colab
- Chargez le carnet (File → Open Notebook …)
- Lisez/évaluez/complétez le notebook
- Sauvegardez le carnet, et téléchargez-le (File → Download .ipynb)
- Connectez-vous à l'ENT, et à la page du cours de robotique
- Soumettez votre carnet sur l'interface de rendu pour la semaine concernée
4.0.1. Remarques
Vous pouvez installer jupyter notebook sur votre ordinateur personnel et travailler en local. Il vous faudra dans ce cas veiller à installer jupyter et les bibliothèques nécessaires.