Contents — find the section you need
La commande PID (proportionnelle-intégrale-dérivée) modifie une entrée après comparaison d'une référence avec une mesure. Elle est utilisée dans les systèmes de chauffage, les entraînements, les boucles de régulation, les articulations de robots et les aéronefs, car elle fonctionne efficacement même sans modèle parfait du système. Sa simplicité apparente est trompeuse : un contrôleur sans unités définies, sans limite de sortie, sans stratégie de temporisation, sans validation des capteurs ni procédure d'arrêt d'urgence n'est pas utilisable. C'est une équation vouée à l'échec.
Cet article commence par une conclusion pratique, puis développe l'intuition, le flux de signaux et les équations, le réglage Ziegler-Nichols, les contraintes et la sécurité, et présente des exemples logiciels actuels. Pour les limites des nœuds, de la temporisation et du matériel autour d'un contrôleur de robot, voir ROS 2 Primer. Pour comprendre pourquoi le délai de localisation et les sauts constituent également des problèmes de commande, voir Visual SLAM Primer.
L'entrée du PID est l'erreur e=r-y, et sa sortie est la commande u. P réagit à l'erreur actuelle, I supprime le décalage persistant et D amortit la variation de la vitesse de réaction.
Conclusion
-
P réagit à l'erreur immédiate ; I supprime l'erreur persistante ; D amortit la variation de la vitesse de réaction. Commencez par P, définissez les limites, ajoutez I uniquement lorsqu'un décalage stable persiste et ajoutez D filtré uniquement lorsqu'il est clairement nécessaire.
-
L'implémentation doit limiter la commande et sa vitesse de réaction. La saturation sans protection contre l'emballement entraîne le stockage par l'intégrateur d'une demande que l'actionneur ne peut pas satisfaire.
-
Dans la plupart des systèmes physiques, il est préférable de différencier une mesure filtrée plutôt qu'une erreur de référence abrupte. Cela évite les à-coups de la dérivée et réduit la sensibilité aux variations de la référence.
-
Le PID est souvent la meilleure solution pour une boucle unique et rapide avec un délai modéré. Une optimisation plus avancée ne dispense pas d'une boucle interne rapide, observable et sûre.
Intuition : trois opérateurs surveillant une erreur
Supposons que la température ambiante soit inférieure à sa valeur de référence. L'opérateur P indique : « Il manque cinq degrés, il faut donc chauffer immédiatement. » L'opérateur I indique : « La température est restée basse longtemps, le chauffage de base est donc insuffisant. » L'opérateur D indique : « La température monte déjà rapidement ; il faut réduire le chauffage avant qu'il ne dépasse sa valeur de référence. » Leur action combinée permet une réponse rapide, le rejet d'une perte de chaleur constante et une réduction du dépassement.
Cette analogie omet les éléments qui déterminent la sécurité de la boucle : la puissance de chauffage est limitée, un thermomètre est imprécis et la chaleur met du temps à se propager. Une dérivée peut confondre le bruit avec le mouvement ; un intégrateur peut continuer à accumuler des valeurs alors que le chauffage est déjà saturé. La conception d'un régulateur PID commence donc par les mesures effectuées et les valeurs de consigne possibles, et non par les gains.
Flux de signal : le contrôleur ne comporte qu'un seul bloc
Schéma : Duskcoil, schéma conceptuel et non un schéma de câblage mesuré. L'étalonnage, le délai de transport, les communications et les boucles internes de l'actionneur font partie du chemin de signal réel.
Si l'installation est G et le capteur ou l'estimateur est H, le fait d'améliorer uniquement le contrôleur C ne supprime pas le délai, la saturation ou les défauts dans G et H. Par exemple, lorsqu'un robot mobile utilise la localisation SLAM pour le suivi, des sauts et La latence d'estimation est perçue par le PID comme du bruit et une perturbation de mesure. Les repères de coordonnées, la synchronisation temporelle et la relocalisation, abordés dans Visual SLAM Primer, font partie intégrante du problème de contrôle.
Équations et unités de base
Soit r la référence, y la mesure, e=r-y et u_{ff} la commande d'anticipation. Le PID parallèle continu est :
K_P a pour unités u/e, K_I a pour unités u/(e\cdot s) et K_D a pour unités u\cdot s/e. Ces unités ne sont pas intrinsèquement sans dimension. Conversion des degrés en radians, Inverser un encodeur ou mélanger un horodatage en millisecondes avec un gain en secondes modifie la boucle. Enregistrez les unités, les signes, les trames et la politique de mise à jour de la référence avant le réglage.
Avec une période d'échantillonnage T_s, une implémentation discrète de base conserve l'état intégral I_k et la dérivée différentielle D_k :
Le contrôleur calcule ensuite u_k=K_Pe_k+K_II_k+K_DD_k. Cette formulation soulève déjà des questions d'ingénierie cruciales : T_s est-il mesuré ou supposé ? Que se passe-t-il en cas de retard d'un message ? Que faire d'un échantillon obsolète ? Le contrôleur fonctionne-t-il à une fréquence déterministe ? Une dérivée filtrée courante sur la mesure utilise
le coefficient \alpha=\tau_f/(\tau_f+T_s) et
Elle évite l'impulsion de dérivée causée par un changement de référence. Son filtre introduit également un déphasage, de sorte que le filtrage ne peut pas compenser un échantillonnage insuffisant ou un jeu mécanique. Système.
Comprendre P, I et D individuellement
Augmenter P améliore généralement la réactivité immédiate et la réjection des perturbations, jusqu'à ce que le délai et la dynamique du système entraînent un dépassement ou une oscillation. I supprime un décalage constant tel que la gravité, le frottement ou les pertes thermiques, mais une valeur trop élevée de I intègre la demande avant que le système n'ait réagi. D peut amortir les variations, mais amplifie la quantification de l'encodeur, les vibrations et la gigue de l'estimateur. Dans une cascade position-vitesse, réglez d'abord la boucle de vitesse rapide et stable, puis la boucle de position. Ne concentrez pas toutes les erreurs dans un seul PID lent.
Saturation et anti-emballement
Les commandes physiques obéissent à u_{min}\leq u\leq u_{max}. Soit u^* la commande non saturée calculée et u=\operatorname{sat}(u^*) la commande envoyée. Si I continue de s'accumuler alors qu'un actionneur est bloqué à une limite, la boucle peut rester bloquée après l'inversion de l'erreur. C'est l'emballement de l'intégrateur : l'intégrateur continue de s'accumuler. e, même si u ne peut pas le suivre, et l'état intégral I_k retarde ultérieurement la récupération.
L'intégration conditionnelle fige l'intégrateur lorsque la sortie est saturée et que l'intégrale saturerait davantage. Le rétrocalcul est une alternative plus fluide :
Ici, I_k représente l'état d'erreur intégré, donc K_{aw} a des unités d'erreur par commande. Certaines implémentations stockent K_I I_k comme sortie intégrale et utilisent 1/T_t (l'inverse du temps de suivi) à la place ; documentez les unités et l'équation choisies. Le décalage de saturation est réinjecté dans l'intégrateur. K_{aw} définit la vitesse de cette correction. Les limiteurs d'intégrateur, les rampes de référence et le transfert manuel/automatique sans à-coups sont des mesures complémentaires. L'anti-emballement n'est pas un artifice de performance ; il assure la récupération après Une limite inévitable et prévisible.
| Symptôme | Mécanisme probable | Inspection initiale | Réponse typique |
|---|---|---|---|
| Réponse lente ou décalage | P trop faible, perturbation constante | Signes, unités, limite de sortie | Augmenter P progressivement ; ajouter un courant I léger si nécessaire |
| Oscillation ou dépassement | Rapport P/I trop élevé, délai | Période de boucle, délai, trace du capteur | Réduire le rapport P/I ; utiliser une rampe de référence |
| Ne récupère pas après une limite | Emballement de l'intégrateur | Journaux de commande et d'intégrale | Courant I conditionnel, limitation, rétrocalcul |
| Déclenchement lors d'un échelon de consigne | Dérivée de l'erreur | Chemin d'entrée D | Dérivée de la mesure |
| Vibrations à basse vitesse | Frottement, quantification, jeu | Encodeur et mécanique | Boucle de vitesse interne, compensation, filtre |
Réglage, y compris Ziegler-Nichols
La procédure Ziegler-Nichols en boucle fermée met I et D à zéro, augmente P jusqu'à un gain d'oscillation entretenue K_u , Mesure la période T_u, puis utilise un point de départ PID classique.
où K_I=K_P/T_i et K_D=K_PT_d. S'approcher délibérément d'une oscillation soutenue peut être inacceptable pour un processus thermique, un véhicule, un système sous pression ou un robot à proximité de personnes. Il s'agit d'une heuristique historique, et non d'une autorisation de tester à la limite de stabilité.
Un flux de travail plus sûr utilise la simulation ou des tests indiciels de faible amplitude pour estimer le gain statique, le délai et la constante de temps ; active d'abord les limites et la logique d'arrêt ; ajuste P ; ajoute I uniquement pour corriger un décalage observé ; puis ajoute un D filtré uniquement pour répondre à un besoin d'amortissement mesuré. Testez séparément le suivi de référence et le rejet des perturbations. Enregistrez le courant de crête, la température, la vitesse, la distance d'arrêt, le temps de saturation et l'état intégral pour chaque modification.
Les contraintes et la sécurité sont indépendantes de l'équation PID
Ne faites pas de la sortie PID la fonction de sécurité. Utilisez un arrêt d'urgence indépendant, une protection contre les surintensités/surchauffes/surpressions, des limites de course, des chiens de garde et un Une commande de sécurité est définie en cas de perte de données ou de communication. Un contrôleur tente d'atteindre une référence ; une fonction de sécurité empêche le passage à un état non sécurisé en cas de défaillance, notamment d'une panne du contrôleur.
Il est impératif de valider au minimum les plages d'échantillonnage, les horodatages et la fraîcheur des données ; de limiter les références, l'accélération, la sortie et sa vitesse de balayage ; de spécifier le comportement de réinitialisation/maintien de l'intégrateur ; de tester la prise de contrôle manuelle sans interruption ; et de simuler la perte de capteurs, les échantillons retardés, le redémarrage du processeur et les variations de charge. Le fait que ROS 2 soit opérationnel ne garantit ni la déterminisme temporel ni la sécurité fonctionnelle.
Exemples d'implémentation et de recherche actuels
Le framework ros2_control sépare les interfaces matérielles, la gestion des contrôleurs et les contrôleurs eux-mêmes, et documente le chaînage des contrôleurs et les contrôleurs PID. Sa documentation officielle (https://control.ros.org/master/doc/ros2_control/doc/index.html) et la page dédiée aux contrôleurs PID (https://control.ros.org/jazzy/doc/ros2_controllers/pid_controller/doc/userdoc.html) exposent les gains, les écrêtages, les options anti-emballement, les références, les états mesurés et l'état publié du contrôleur. Ceci rend les interfaces et l'état observables ; il ne s'agit pas d'un réglage physique. Robot automatique.
Les contrôleurs industriels intègrent les mêmes problématiques. Siemens documente la fonctionnalité PID pour les automates SIMATIC S7-1200/S7-1500 dans son manuel système S7-1200 ( https://cache.industry.siemens.com/dl/files/829/109814829/att_1120874/v1/s71200_system_manual_en-US_en-US.pdf ). La recherche étend le PID avec l'adaptation du frottement et du délai, le réglage basé sur les données et la génération de références de haut niveau apprises, tout en conservant une boucle de bas niveau réduite et inspectable lorsque cette architecture est plus sûre.
Liste de contrôle d'implémentation
-
Définir la variable contrôlée, la commande, les unités, les sens positifs, les plages valides et la fréquence de la boucle.
-
Valider l'étalonnage, les horodatages, la validité et les valeurs aberrantes avant le calcul de la commande.
-
Limiter u et sa vitesse de balayage ; tester l'arrêt d'urgence indépendant, le chien de garde et le comportement en cas de perte de communication.
-
Régler et enregistrer les modes P seul, PI, puis PID ; tester les commandes et les perturbations séparément.
-
Enregistrer la référence, la mesure, la commande réelle et la commande saturée. État intégral et indicateurs de défaut sur une horloge.
-
Testez délibérément la gigue, les variations de charge, les redémarrages, les pertes de capteurs et la saturation des actionneurs.
-
Vérifiez la topologie ROS 2 avec le Guide d'introduction à ROS 2 et la synchronisation de l'estimateur avec le Guide d'introduction à Visual SLAM.
Que se passe-t-il si l'intégration se poursuit alors que la sortie est saturée ?
L'action intégrale stockée peut provoquer un dépassement ultérieur. Vérifiez le comportement anti-emballement plutôt que de régler uniquement le gain intégral.
Commentaires
Veuillez vous connecter.
Aucune entrée pour le moment.