Maison  >  Article  >  Périphériques technologiques  >  Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

王林
王林original
2024-06-09 09:57:28726parcourir

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

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 Demo

TinyMPC prend en charge les applications informatiques sécurisées et peut être utilisé pour combler le fossé entre le calcul multipartite sécurisé et les plates-formes de traitement aux ressources limitées. L'intégration de TinyMPC dans des robots dont la puissance de calcul est insuffisante leur permet d'effectuer des opérations rapidement et de présenter les avantages d'une exécution sûre.

Évitement dynamique des obstacles

TinyMPC fonctionne assez vite pour relinéariser les contraintes à chaque pas de temps, lui permettant de raisonner sur les obstacles en mouvement. A gauche, une sphère virtuelle centrée à l'extrémité du joystick est linéarisée en un nouvel ensemble de contraintes hyperplan à chaque pas de temps. L’algorithme peut également gérer n’importe quel nombre significatif de contraintes linéaires arbitraires. Par exemple, du côté droit, il évite le bout du bâton au bout du bâton tout en restant dans le plan yz.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

Récupération de posture extrême

TinyMPC peut initier la récupération dans des conditions extrêmes. Dans cet exemple, il est comparé au contrôleur original de Crazyflie 2.1. Seul TinyMPC peut dépasser les limites de contrôle et réaliser des opérations de récupération propres.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

Suivi de la figure 8

Nous avons utilisé le même contrôleur de stock pour la tâche de suivi rapide et infaisable de la figure 8 (un seul temps de figure 8 ne pouvait être atteint que si le drone était plus puissant). TinyMPC et PID sont capables de rester debout, mais la trajectoire de TinyMPC est plus proche d'une forme en huit.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

Benchmarks de microcontrôleurs

Dans les benchmarks de microcontrôleurs, TinyMPC surpasse les solveurs de pointe en termes de vitesse et d'empreinte mémoire. Nous résolvons des problèmes MPC basés sur QP générés aléatoirement et comparons le temps d'itération et l'empreinte mémoire avec OSQP. L'accélération maximale de TinyMPC sur OSQP est 8 fois supérieure à celle d'OSQP avec beaucoup moins de mémoire.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon UniversityTinyMPC 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.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon UniversityLe 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.

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon UniversityContributeur à l'algorithme :

Un algorithme de contrôle plus soyeux que PID et Carnegie Mellon University

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn