J'ai un véhicule (je l'ai acheté et il est propriétaire et je n'ai aucune information sur les composants internes) que je souhaite intégrer à mon environnement de simulation. Jusqu'ici, j'en ai un modèle physique que j'ai acquis en pilotant l'enregistrement des données et en construisant un modèle physique. Maintenant, je suis sur le point de modéliser le contrôleur interne. Je pensais que cela pourrait utiliser un PID mais je pense maintenant que quelque chose d'autre est utilisé à la place. J'ai d'abord exécuté une simulation (environ 30 000 $) avec le modèle physique comme base pour établir les constantes PID. Dans les simulations, j'ai laissé le véhicule se déplacer comme je l'ai fait avec le véhicule réel et comparé la réponse de mon contrôleur à la réponse mesurée du contrôleur réel. Dans l'image ci-dessous, vous voyez le meilleur PID créé par ma recherche de paramètres de force brute.
Comme vous pouvez le constater, mon PID (ligne rouge) ne répond pas aussi rapidement que le vrai contrôleur (ligne verte). Ma question est donc la suivante:
Quel type de contrôleur aurait pu être utilisé ici? Et comment puis-je le modéliser?
C'est définitif pas un PID. Il y a dix ans, j'avais suivi des cours sur le contrôle et la théorie des systèmes, mais je n'ai plus eu besoin de construire de contrôleur, alors je n'ai pas beaucoup d'expérience. J'ai examiné la littérature et trouvé le Compensateur plomb – retard qui ont l'air prometteur mais je ne sais pas par où commencer ni comment le mettre en œuvre. Pour obtenir les constantes ici, je peux à nouveau exécuter des simulations en essayant un gestionnaire d'erreur. Peut-être une autre approche différente a-t-elle été utilisée mais je ne sais pas quoi.
Réponses:
Sans connaître la fonction de transfert de l'installation que vous essayez de contrôler, il se peut qu'un contrôleur PID suffise, mais pour le moment, je suppose que ce n'est pas le cas. En supposant que votre graphique est une réponse échelonnée; Je suis toutefois un peu dérouté par le retour à zéro, car tous les systèmes semblent avoir le même comportement. Pour la première étape, le système avec votre contrôleur PID a une valeur inférieure. temps de montée et temps d'établissement ce qui indiquerait que le système réel a une bande passante plus élevée, ce qui peut être obtenu avec un gain plus élevé. De plus, le système avec votre contrôleur PID a une légère oscillation, ce qui indiquerait que votre système n'a pas la même quantité de marge de phase / gain / module. Vous pouvez utiliser un compensateur avance – retard en plaçant le pôle et le zéro du compensateur avance – retard à 3 fois la bande passante et à 1/3 fois la bande passante, respectivement. Cela a pour effet que vous obtenez plus de temps de phase près de la bande passante sans que la magnitude de l'openloop ne change beaucoup, ce qui augmente votre marge de phase. En augmentant votre marge de phase, vous augmentez également généralement votre marge de module et, en fonction de la situation, la marge de gain (si vous avez déjà une marge de gain suffisante, elle ne changera pas beaucoup).
la source
Selon votre description, il arrive que des données provenant de votre véhicule fonctionnent et que vous construisiez un modèle à partir de ces données. Si vous l'avez fait, vous avez obtenu le modèle en boucle fermée, car vous avez mentionné qu'il dispose d'un contrôleur (voir l'image ci-dessous). Mais ce dont vous avez besoin, c'est le modèle d'usine (de processus). Pour l'obtenir, vous devez éteindre le contrôleur intégré du véhicule et prélever des échantillons pour construire votre modèle.
* Source de l'image: Hobbybotics Reflow Controller V8.03
la source