J'ai un système d'asservissement simple qui utilise un contrôleur PID implémenté dans un MCU pour effectuer la rétroaction. Cependant, les propriétés du système changent de manière dynamique et les paramètres PID ne peuvent donc jamais être ajustés dans toutes les circonstances.
Mon robot est un bras léger avec des moteurs électriques à entraînement arrière, semblable à celui-ci:
Le bras accomplit plusieurs tâches, notamment ramasser des poids lourds, pousser et tirer des objets sur le bureau. Chacune de ces tâches nécessite différents paramètres de réglage PID que je ne peux pas facilement prédire.
Ce que j'aimerais vraiment, c'est une fonction de niveau supérieur qui puisse ajuster soigneusement les paramètres en réponse au comportement du bras. Par exemple, s'il remarque que le bras oscille, il peut réduire P et augmenter D. Ou s'il constate que le bras n'atteint pas sa cible, il peut augmenter I.
De tels algorithmes existent-ils? Je serais heureux même si l'algorithme ne perfectionnait pas immédiatement les paramètres. Par exemple, le bras pouvait osciller plusieurs fois avant que les paramètres soient ajustés à leurs nouvelles valeurs.