🚘 Régulateur de vitesse : contrôleur PI & emballement intégral
Simulateur interactif de régulateur de vitesse : un modèle de véhicule réel gravit une côte sous contrôle PI de vitesse. Observez l'emballement intégral provoquer un dépassement lorsque la force du moteur sature — puis corrigez-le avec l'anti-emballement.
À propos de cette simulation
Cette simulation modélise le régulateur de vitesse d'une voiture comme un véritable contrôleur PI (proportionnel-intégral) pilotant un véhicule réel : masse × accélération = force du moteur − traînée aérodynamique − résistance au roulement − composante gravitationnelle de la pente de la route. À chaque cycle de contrôle, le contrôleur mesure l'erreur de vitesse e = cible − v et calcule une force moteur commandée u = Kp·e + Ki·∫e·dt, plafonnée à la force de traction maximale réelle du moteur. Grimpez la côte réglable et vous verrez un mode de défaillance authentique et bien documenté du contrôle PI pratique : l'emballement intégral, où le terme intégral continue d'accumuler l'erreur pendant que le moteur est saturé, produisant un véritable dépassement une fois la pente aplanie — corrigé en activant l'anti-emballement, qui gèle l'intégrale tant que l'actionneur ne peut pas répondre.
🔬 Ce que ça montre
Une voiture 3D parcourt un circuit d'essai en boucle avec une section plate d'approche, une pente montante réglable, et une section plate de sortie. La force moteur nécessaire pour maintenir la vitesse cible sur la côte peut dépasser la limite de force réelle du moteur, si bien que la voiture est physiquement incapable de maintenir sa vitesse en montée — les indicateurs montrent la force commandée bloquée au maximum et le drapeau de saturation devenir actif. La différence que fait le basculement anti-emballement sur le plat après la côte est un véritable comportement de boucle de contrôle, pas une animation scriptée.
🎮 Comment l'utiliser
Réglez une vitesse cible et les gains Kp/Ki, puis regardez la voiture gravir la côte. Avec l'anti-emballement désactivé, le terme intégral (∫e·dt dans les indicateurs) continue de croître tout le temps que le moteur est saturé sur la côte ; une fois la route aplanie, l'intégrale accumulée commande bien plus de force que nécessaire et la voiture dépasse la vitesse cible avant de se stabiliser. Activez l'anti-emballement, réinitialisez, et répétez — l'intégrale cesse de croître une fois saturée, et la même côte produit peu ou pas de dépassement. Augmentez le curseur de pente de la côte pour rendre l'effet plus spectaculaire, ou abaissez-le vers 0 % pour voir la différence disparaître.
💡 Le saviez-vous ?
Les systèmes de régulateur de vitesse de production réels sont presque toujours PI, pas PID complet — un terme dérivé réagissant au bruit de vitesse provenant des capteurs de vitesse des roues et des irrégularités de la route rendrait l'accélérateur nerveux, si bien que les ingénieurs acceptent une réponse légèrement plus lente en échange de la douceur. L'emballement intégral n'est pas un problème de jouet : c'est un mode de défaillance documenté dans les pilotes automatiques, le contrôle de procédés industriels et la robotique, chaque fois qu'un actionneur (une vanne, un moteur, un moteur thermique) a une limite physique réelle — ce qui est le cas de tout actionneur réel.
Questions fréquentes
Pourquoi ce régulateur de vitesse utilise-t-il un contrôleur PI plutôt qu'un PID complet ?
Un contrôleur PI associe un terme proportionnel Kp·e (correction immédiate, proportionnelle à l'écart entre la vitesse actuelle et la cible) à un terme intégral Ki·∫e·dt (qui élimine la petite erreur en régime permanent que laisserait un contrôleur proportionnel seul, par exemple sur une pente constante légère). Le régulateur de vitesse automobile réel est presque toujours PI plutôt que PID : un terme dérivé réagissant au taux de variation de la vitesse amplifierait le bruit du capteur de vitesse et les irrégularités de la route en un accélérateur saccadé et inconfortable, si bien que la norme du secteur échange un peu de rapidité de réponse contre un déplacement en douceur.
Qu'est-ce que l'emballement intégral, concrètement, dans cette simulation ?
Lorsque la pente de la route exige plus de force moteur que le moteur ne peut physiquement en fournir, la force commandée u = Kp·e + Ki·∫e·dt est plafonnée à la force maximale réelle, mais le terme intégral sous-jacent ∫e·dt continue lui-même d'accumuler une erreur positive à chaque cycle, croissant bien au-delà de ce que le système peut jamais utiliser, si rien ne l'arrête. C'est l'emballement intégral : l'intégrateur « s'emballe » vers une valeur importante pendant que l'actionneur reste saturé et incapable d'y répondre.
Comment l'anti-emballement corrige-t-il cela, et que fait réellement cette simulation ?
Cette simulation met en œuvre la technique standard d'anti-emballement par écrêtage (intégration conditionnelle) : avant de mettre à jour l'intégrale à chaque cycle, elle vérifie si la force commandée provisoire pousserait davantage vers la saturation dans la même direction que l'erreur actuelle. Si c'est le cas, la mise à jour de l'intégrale est gelée pour ce cycle ; sinon elle se poursuit normalement. Le résultat est que l'intégrale ne s'accumule que lorsque cela peut encore produire une force utile et livrable — exactement la technique standard enseignée dans tout cours pratique de systèmes de contrôle, et c'est un interrupteur que vous pouvez basculer en cours d'exécution pour comparer avec un PI naïf (qui intègre toujours) sur la même physique.
Quelle physique réelle régit le mouvement de la voiture dans cette simulation ?
La voiture obéit à une véritable équation de mouvement longitudinal : masse × accélération = force du moteur − traînée aérodynamique − résistance au roulement − composante gravitationnelle de la pente. La traînée aérodynamique croît avec le carré de la vitesse (F = ½·ρ·Cd·A·v²), la résistance au roulement est une petite force constante proportionnelle au poids de la voiture, et la force de pente est m·g·sin(θ) où θ est l'angle d'inclinaison de la route — tous des termes réels de la dynamique des véhicules, pas un modèle simplifié où « la vitesse se cale sur la cible ».
Pourquoi la force du moteur sature-t-elle, et est-ce une limite réaliste ?
Chaque moteur réel a une force de traction maximale qu'il peut délivrer à un rapport et un régime donnés — il y a un plafond physique strict sur la force vers l'avant que la transmission peut produire, peu importe la taille de la commande calculée par le contrôleur. Cette simulation applique cette même limite réelle : le contrôleur peut demander plus de force que le moteur ne peut en donner, mais la force réellement appliquée à la voiture est plafonnée à ce maximum, ce qui est exactement la saturation d'actionneur qui provoque l'emballement dans les systèmes réels.
Pourquoi la voiture dépasse-t-elle la vitesse cible une fois la côte terminée ?
Pendant la montée, le moteur est bloqué à sa force maximale et — sans anti-emballement — le terme intégral continue de croître bien au-delà de la valeur réellement nécessaire. Dès que la pente s'aplanit, la force requise pour maintenir la vitesse cible chute fortement, mais le contrôleur commande toujours une force proche du maximum à cause de l'intégrale gonflée, si bien que la voiture accélère fort et dépasse la cible avant que l'intégrale (et l'erreur, désormais négative) ne se résorbe vers une valeur raisonnable. Avec l'anti-emballement activé, l'intégrale n'a jamais dépassé ce que le moteur saturé pouvait utiliser, donc il y a peu d'excès à résorber et peu ou pas de dépassement.
Simulateur interactif de régulateur de vitesse où un modèle de véhicule réel gravit une côte sous contrôle PI de vitesse, montrant comment l'emballement intégral provoque un dépassement et comment l'anti-emballement le corrige.
2D · Canvas 2D HTML5 · Cible 60 FPS · fonctionne entièrement côté client, sans installation