Stratégie de Pilotage

Simulateur de conduite

Le but de ce pôle est de prendre en main le simulateur de conduite pour 2 objectifs : vérifier que l’optimisation proposée par les deux groupes est « réalisable » (il est possible de la réaliser manuellement) et qu’elle est bien optimale (il n’est pas possible de faire mieux manuellement).

Les tests d’optimisation ont des contraintes à respecter, que je rappelle :

  • Consommation d’énergie minimale
  • Vitesse moyenne supérieure à 25 km/h
  • Les impulsions ont une durée d’au moins 5s et une amplitude comprise entre 2 et 10 A (intensité totale) donc entre 1 et 5A par moteur car il y a 2 moteurs

Le schéma ci-dessous résume la stratégie que nous avons adoptée.

Nous avons pu faire des simulations et comparaisons avec l’optimisation du groupe de la technique Bang-Bang uniquement. Un travail préparatoire a été nécessaire en amont pour vérifier que la dynamique utilisée dans le simulateur est identique à celle utilisée dans les algorithmes d’optimisation, en utilisant notamment les coefficients mesurés en début d’année par le groupe qui s’en était occupé.

Une fois que les fichiers de consigne sont fournis par les groupes d’optimisation, il s’agit de vérifier l’efficacité de l’optimisation, c’est-à-dire s’il permet effectivement de faire mieux qu’une simulation « manuelle ».

Pour trouver le meilleur résultat manuellement, 3 approches sont retenues :

  • Ajuster l’intensité pour assurer une vitesse constante de 25 km/h
  • Définir une fourchette de vitesses où la voiture ne doit jamais sortir : faire une impulsion lorsque l’on est en limite basse jusqu’à atteindre la limite hausse, puis roue libre. Trouver la fourchette qui minimise l’énergie, ainsi que l’intensité de consigne « optimale »
  • Minimiser le nombre d’impulsions effectuées

On considère que la simulation manuelle optimale sera celle minimisant le plus l’énergie parmi ces trois options.

Les tests ont été concluants sur 2 types de circuits : une ligne droite de 1000m pour le premier et une descente/montée programmé avec un cosinus, sur 1000m pour le second.

Optimisation : technique Bang-Bang

Cette approche a pour but d’étudier plus particulièrement une classe de profils discrets et notamment les profils rectangulaires, avec un nombre de pics d’une hauteur et largeurs prédéfinies, qui sont les plus simples à concevoir. Il faut donc déterminer où placer ces pics et déterminer leurs paramètres. Bien que le profil soit simple, nous tombons dans le domaine de l’optimisation discrète qui est un problème NP-difficile dans la majorité des cas, comme le nôtre, car l’énumération de tous les profils possibles est en exponentielle.

Bien que partie d’une idée naïve, les profils rectangulaires (ou plus généralement en escalier) sont très utilisés dans de nombreux problèmes de théorie optimale du contrôle de trajectoires, et a justifié à posteriori notre démarche. C’est la commande « bang-bang » que nous avons étudié.

Nous avons ensuite utilisé l'algorithme de recuit simulé. L'idée de l'algorithme de recuit simulé repose sur le principe du recuit du solide. Lorsque la température du solide est élevée, l'énergie interne est relativement grande et les particules internes du solide sont en mouvement rapide et désordonné. Lorsque la température diminue lentement, l'énergie interne du solide diminue petites, les particules tendent progressivement à s'ordonner, et enfin, lorsque le solide est à température ambiante, l'énergie interne atteint le minimum, à ce moment, les particules sont les plus stables. L'algorithme de recuit simulé est conçu sur la base de ce principe.

L'algorithme de recuit simulé part d'une certaine température élevée, calcule la solution initiale à une température élevée, puis génère une quantité de perturbation avec une fonction de voisinage prédéfinie, obtenant ainsi un nouvel état. En comparant l'énergie dans les nouveaux états et les anciens états, nous pouvons trouver la solution de la fonction objectif.

Si l'énergie du nouvel état est inférieure à l'ancien état, alors nous choisissions le nouvel état; si l'énergie du nouvel état est supérieure à l'ancien état, la transition se produit avec un certain critère de probabilité. Lorsque l'état est stable, on peut considérer que la solution optimale de l'état actuel a été atteinte et que la température peut être abaissée. Et ensuite nous itérons à la température suivante et enfin nous pouvons trouver l'état stable à basse température. Les paramètres de cet algorithme sont alors la loi de température, les températures initiales et finales qui influent sur le nombre d’itérations et la valeur de la probabilité. Enfin, il faut se poser la question cruciale de la stratégie de voisinage.

Sans hypothèses supplémentaires sur la fonction à minimiser, nous ne pouvons qu’espérer obtenir des minima locaux.

Optimisation : Méthode continue

Nous nous sommes donnés comme objectif entre autres de minimiser notre consommation d’énergie par tour pour aspirer au prix de consommation minimale d’énergie de la compétition. Il faut donc tout d’abord faire un bilan des équations du problèmes, et formuler ensuite clairement le problème de minimisation continue à résoudre.

Dans cette approche, on considère qu’il n’y a pas que l’intensité comme variable, dans le but d’avoir des contraintes régulières. En effet, l’énergie que l’on cherche à minimiser dépend du courant , de la tension , de la vitesse et de l’accélération .

On fait donc une discrétisation temporelle des variables. Ceci rend les contraintes moins complexes, et donc plus faciles à implémenter. Les jacobienne et hessienne de la fonction à minimiser sont aussi faciles à calculer puis à implémenter, et leur utilisation donne un meilleur résultat (par rapport à un calcul numérique des dérivées).