Je ne trouve pas cela très logique.
Il n'y a aucune raison d'apporter une correction à la consigne. A mon avis, seul l'erreur devrait être corrigée.
Est que si on diminue le coefficient Kp et que l'on fait PWM = P = consigne + (Kp * erreur) , on pourrait s'approcher d'un meilleur résultat ?
Il est vrai que c'est ce que tu suggères dans ton avant dernière phrase.
Oracid en effet tu peux ajuster la " formule qui te va bien et faire une formule du style PWM = "Consigne" + KP * erreur et on peut s'approcher d'un bon résultat avec une formule de ce genre ( à un détail près il te faudra quand même un coefficient " Kconsigne " ... Pas pour la " corriger " mais pour "l'adapter à la méthode de contrôle " .
Pour reprendre l'analogie de pat :
Il n'y a pas de relation mathématique entre la vitesse en km/h et le degré de pression sur la pédale. Enfin, ce n'est pas le calcul que je fais au volant !
La consigne c'est une vitesse en Km/h et la méthode de contrôle c'est l'angle de la pédale d'accélérateur .
Si je veux aller à 50 Km/h je ne vais pas mettre 50° sur l'angle de la pédale ... De même que je ne vais pas mettre 25° d'angle si je veux aller à 25Km/h ...
Par contre on peut quand même essaye trouver une formule approximative qui pour un angle de pédale donné donne une vitesse ... ( même si c'est pas ce que tu fais exactement sur la route, d'instinct quand tu conduis tu remarqueras que tu précharges quand même plus ou moins ton pied sur la pédale en fonction de si tu veux partir vite ou pas car tu anticipes entre autre l'inertie de ta voiture ... )
" Bêtement" ," mathématiquement" on peut faire l'approximation suivante : Si mon débattement d'angle de la pédale est de 30°, et que la vitesse maximale de ma voiture c'est 150 Km/h ... on peut comme première approche essayer de faire une relation du genre 1° => 5km/h ... Et " fonder une partie de notre asservissement sur ce constat de base "
Dans ce cas on peut sortir une formule du genre :
Angle = Kc * Consigne + Kp * erreur avec Kc = 1/5 ( si on fait le calcule, pour 150 Km/h , et si l'erreur est nulle on retrouve bien notre angle max de 30° C )
Bien entendu avec cet exemple je pense que tu comprends bien vite les limites des formules du genre : Correcteur = Kc * consigne + PID(erreur ) ,
Car même si dans certains cas ça marche très bien, ( quand la relation entre la valeur du contrôle et la consigne est linéaire / simple ... ) bien souvent on a pas la relation entre la consigne et la valeur qu'il faut mettre en contrôle... Sinon ça simplifierais quand même beaucoup les choses ...
Faut-il vraiment chercher une 'logique' dans un PID. C'est une technique d'asservissement de base, dont le réglage peut se faire de manière empirique. Ça convient parfaitement, pour nous roboticiens du dimanche ! :-)
Justement je pense que comprendre la logique permet de plus facilement régler la chose de manière empirique ... Si tu comprends comment va réagir le système en fonction des modifications que tu fais, tu peux plus facilement faire la modification qu'il faut pour avoir le résultat que tu veux =)
Tu noteras que faire une somme de vitesses pondérées donne un % (PWM). En termes d'unités, la formule peut paraître curieuse aussi !
Justement ça peut paraître curieux mais c'est justement la pondération qui vient jouer avec les unités !
Si tu as une consigne en Km/h et que ton angle de contrôle et en degré, alors angle = kc * consigne avec kc qui est un coefficient en ° / Km/h ...
=> Mathématiquement l'ajout du KC, même si il vaut 1 ( ce qui peut arriver ) prend tout son sens car c'est lui qui ajuste les unités pour que les relations restent " homogènes " et gardent du sens ... On ne multiplie pas des pommes avec des bananes pour savoir combien on va payer ... Prix = Kprix * banane .... Même si 1 banane vaud 1 € on a Kprix = 1 en € / banane ....
Du coup avoir en tête la relation et les unités peut également aider à trouver des valeurs qui peuvent à peu près fonctionner ... C'est comme ça que j'ai trouvé mon 1/5 dans l'exemple plus haut ...