L'algorithme de contrôle MPC, le nom complet est Model Predictive Control (Model Predictive Control), est une technologie de contrôle basée sur le modèle dynamique du système. Il fonctionne en prédisant le comportement futur du système grâce à des modèles mathématiques et en optimisant les entrées de contrôle du système en fonction de ces prédictions pour obtenir le résultat souhaité. L'idée principale de l'algorithme de contrôle MPC est d'obtenir la meilleure entrée de contrôle en optimisant les résultats de prédiction pour une période de temps future dans chaque cycle de contrôle. Cette optimisation est basée sur certains résultats de prédiction pour optimiser l'entrée de contrôle du système afin d'obtenir le résultat souhaité. L'algorithme de contrôle MPC est largement utilisé et convient particulièrement aux systèmes de contrôle qui doivent satisfaire certaines contraintes. En combinant des modèles de système et des techniques d'optimisation, MPC peut être utilisé dans différentes industries. Le cœur de l'algorithme de contrôle MPC réside dans son modèle de prédiction, qui peut prédire l'état futur du système sur la base des informations sur l'état actuel du système. La forme du modèle de prédiction n'est pas fixe et peut être une équation d'espace d'état, une fonction de transfert, un modèle de réponse échelonnée, un modèle de réponse impulsionnelle, un modèle flou, etc. La forme spécifique dépend de l'objet contrôlé et de l'état qui doit être prédit.
TinyMPC est un solveur open source conçu pour le contrôle prédictif de modèles convexes, fournissant des calculs à grande vitesse. TinyMPC est implémenté en C++ avec des dépendances minimales et est particulièrement adapté aux applications de contrôle et de robotique embarquées sur des plates-formes limitées en actifs. TinyMPC peut gérer les limites d'état et d'entrée ainsi que les contraintes de second ordre. Les interfaces Python, Julia et MATLAB sont disponibles pour aider à générer du code pour les systèmes embarqués.
Bot DemoTinyMPC est désormais également capable de gérer les contraintes coniques ! Dans (b), nous comparons TinyMPC à deux solveurs de cône existants (SCS et ECOS) avec prise en charge intégrée du problème d'atterrissage en douceur des fusées. TinyMPC atteint une accélération moyenne de 13x sur SCS et de 137x sur ECOS.
Le contrôle en temps réel nécessite que le solveur renvoie une solution dans un intervalle de temps strict. Les performances de suivi de trajectoire de TinyMPC ont été comparées à celles de SCS et ECOS sur le problème de l'atterrissage en douceur de la fusée tout en faisant varier artificiellement le temps disponible pour chaque solution. TinyMPC présente moins de violations de contraintes et d'erreurs de suivi que SCS et ECOS sur toutes les durées de contrôle.
Contributeur à l'algorithme :
Adresse d'acquisition du code :
GitHub - TinyMPC/TinyMPC : Contrôle prédictif de modèle pour microcontrôleurs
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!