Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Model Predictive Control (MPC)

La commande prédictive par modèle (MPC) planifie une courte séquence d’actions à l’aide d’un modèle, n’applique que la première, puis replanifie à chaque étape. Présentation de ses composants, de ses usages et de son code.

La commande prédictive par modèle (MPC) est une méthode de commande qui s'appuie sur un modèle du système pour prévoir son comportement sur un horizon futur court, choisit la séquence d'actions qui répond le mieux à un objectif tout en respectant les contraintes, n'applique que la première action, puis répète l'ensemble du processus au pas de temps suivant à partir de nouvelles mesures. Ce cycle de planification, d'action et de replanification est appelé commande à horizon glissant ; il permet au contrôleur d'anticiper les événements à venir au lieu de réagir uniquement à l'erreur présente. La MPC est née du raffinage pétrolier et du traitement chimique à la fin des années 1970 ; le contrôle à matrice dynamique de Shell figurait parmi ses premières versions industrielles. Elle pilote désormais les robots, les véhicules autonomes et les systèmes de régulation climatique des bâtiments.

Les composants d’un contrôleur MPC#

Chaque contrôleur MPC combine quatre éléments :

  • Modèle dynamique : Il prédit l'état suivant à partir de l'état actuel et d'une action, par exemple la variation de la position et du cap d'une voiture pour un angle de braquage donné. Il peut provenir d'équations physiques, de l'identification du système à partir de données enregistrées ou d'un réseau neuronal entraîné sur des trajectoires enregistrées.
  • Fonction de coût : elle évalue une trajectoire prédite, en pénalisant généralement l’écart par rapport à une cible, la consommation d’énergie et les changements brusques des commandes.
  • Contraintes : Ce sont les limites que chaque plan doit respecter, comme le couple moteur maximal, les limites de vitesse et les zones interdites autour des obstacles. La prise en compte explicite des contraintes est le principal avantage de la MPC par rapport à la commande PID classique, qui ne réagit aux erreurs qu'après leur apparition et ne peut pas anticiper les limites.
  • Optimiseur : Il recherche la meilleure séquence d'actions sur l'horizon à chaque étape de commande.

Le modèle détermine la difficulté de l'optimisation. Un modèle linéaire associé à un coût quadratique devient un programme quadratique, que des solveurs spécialisés résolvent en quelques millisecondes, voire moins ; les modèles non linéaires nécessitent des solveurs de MPC non linéaire, généralement associés à un filtre de Kalman étendu pour estimer l'état, ou à une recherche par échantillonnage. À chaque étape de commande, l'optimiseur exécute une boucle interne qui prédit et améliore les plans candidats, tandis que le contrôleur exécute une boucle externe qui applique une action et recommence à partir du nouvel état mesuré :

La longueur de l'horizon est le principal paramètre à régler. Un horizon plus long permet à un véhicule de freiner tôt avant un virage serré, mais chaque étape supplémentaire augmente le calcul et cumule les erreurs de prédiction du modèle ; toute l'optimisation doit en outre se terminer en un seul cycle de commande.

Horizon glissant en code#

L’extrait ci-dessous commande un chariot qui doit atteindre la position 5 et s’arrêter, avec une accélération limitée à plus ou moins 1. À chaque étape, il échantillonne 500 plans d’accélération aléatoires, prédit la trajectoire de chaque plan à l’aide de la dynamique du chariot, exécute la première action du plan le moins coûteux, puis recalcule le plan à partir du nouvel état :

import numpy as np

rng = np.random.default_rng(0)
position, velocity, target = 0.0, 0.0, 5.0
dt, horizon = 0.1, 30

for _ in range(100):
    # Sample 500 candidate plans of accelerations within the actuator limit of +/-1
    plans = rng.uniform(-1, 1, size=(500, horizon))
    # Predict every plan's trajectory with the cart's dynamics model
    v = velocity + dt * plans.cumsum(axis=1)
    p = position + dt * v.cumsum(axis=1)
    # Cost: distance from the target at each step plus speed at the end of the horizon
    cost = ((p - target) ** 2).sum(axis=1) + 10 * v[:, -1] ** 2
    # Apply only the first action of the cheapest plan, then replan from the new state
    velocity += dt * plans[cost.argmin(), 0]
    position += dt * velocity

print(f"position: {position:.2f}, velocity: {velocity:.2f}")

Après 10 secondes simulées, le chariot se trouve à la position 5,04 avec une vitesse de 0,04. Aucun plan aléatoire n'est bon à lui seul, mais l'exécution d'une étape suivie d'une nouvelle planification à partir de l'état mesuré corrige constamment les erreurs. Cette approche, appelée tir aléatoire, est la méthode la plus simple de la famille de MPC par échantillonnage, qui comprend également la méthode d'entropie croisée et la commande par intégrale de chemin à prédiction de modèle (MPPI), utilisée par des chercheurs de Georgia Tech pour faire courir une voiture de rallye à l'échelle 1:5 sur une piste en terre.

La MPC dans les usines, les robots, les voitures et les bâtiments#

  • Industries de transformation : Les raffineries, les usines chimiques et les centrales électriques utilisent la MPC pour maintenir les températures, les pressions et la qualité des produits près des limites qui maximisent le débit, un contexte à l’origine de cette méthode.
  • Robots marcheurs : Le Cheetah 3 du MIT courait et gardait son équilibre grâce à une MPC convexe qui recalculait ses forces de réaction au sol de nombreuses fois par seconde ; le MIT a ensuite publié ce contrôleur en logiciel libre pour son Mini Cheetah.
  • Conduite : Les contrôleurs de suivi de trajectoire des voitures autonomes utilisent la MPC pour suivre en douceur une trajectoire planifiée, tout en respectant les limites de braquage, d'accélération et de confort.
  • Bâtiments : Les contrôleurs de chauffage et de climatisation prédisent la température des pièces plusieurs heures à l’avance à partir des prévisions météo et d’occupation, puis prérefroidissent ou préchauffent lorsque l’énergie est la moins chère.
  • Commande PID : Un contrôleur PID calcule sa sortie à partir de l'erreur actuelle, de son intégrale et de son taux de variation. Simple et peu coûteux, il ne dispose toutefois d'aucun modèle du futur ni d'aucune notion de contraintes.
  • Régulateur linéaire quadratique (LQR) : Le LQR détermine sous forme fermée la loi de rétroaction optimale d'un système linéaire avec un coût quadratique sur un horizon infini. La MPC résout en ligne une version à horizon fini, ce qui lui permet d'imposer des contraintes et de gérer des modèles non linéaires.
  • Apprentissage par renforcement : L'AR apprend une politique par l'expérience avant le déploiement ; ensuite, le choix d'une action ne nécessite qu'une seule passe avant rapide. La MPC résout en ligne une nouvelle optimisation à l'aide d'un modèle explicite.

Les deux approches convergent de plus en plus. L'apprentissage profond par renforcement fondé sur un modèle apprend un modèle du monde et planifie à l'aide de la MPC ; des méthodes comme TD-MPC2 planifient dans un espace latent appris, tandis qu'une fonction de valeur apprise évalue les événements au-delà de l'horizon court. Les modèles dynamiques appris relèvent de la modélisation prédictive, et leur précision sur l'horizon détermine la distance à laquelle un contrôleur de ce type peut planifier utilement.

Perception pour la MPC#

Un contrôleur MPC ne planifie qu'aussi bien qu'il perçoit ; pour un système d'IA physique, comme un robot qui se déplace parmi des personnes, son état doit inclure la position de ces personnes et leur direction. Une caméra exécutant Ultralytics YOLO26 en mode suivi fournit une boîte englobante et un identifiant de suivi persistant pour chaque personne dans chaque image. Combinées à l'estimation de profondeur ou au calibrage de la caméra et à un filtre de Kalman, ces pistes fournissent les positions et les vitesses des obstacles que les contraintes du contrôleur maintiennent à distance.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique