J'ai lu quelques articles pour contrôler des systèmes non linéaires (par exemple un pendule non linéaire). Il existe plusieurs approches pour cibler les systèmes non linéaires. Les contrôleurs les plus courants sont la linéarisation par rétroaction , le backstepping et les contrôleurs en mode coulissant .
Dans mon cas, j'ai fait les parties théoriques et pratiques du contrôle du modèle non linéaire d'un pendule simple ainsi que d'autres problèmes de manipulateurs en C ++. Pour le pendule, j'ai utilisé un contrôleur de backstepping pour résoudre la tâche de suivi du déplacement angulaire et de la vitesse. Les résultats sont
où et .
Les résultats sont bons. Cependant, le réglage du contrôleur prend du temps. La majorité des articles utilisent des algorithmes génétiques pour régler leurs contrôleurs tels que les contrôleurs PD, PID et backstepping. Je ne sais rien dans ce domaine et j'espère que quelqu'un fera la lumière sur ce concept, préférable s'il existe un échantillon MATLAB pour au moins contrôler un pendule simple.
Jusqu'à présent, j'ai conçu une interface graphique simple en C ++ / Qt afin de régler manuellement le contrôleur. Dans l'image ci-dessous, la réponse du contrôleur pour la fonction de pas.