kramann.info
© Guido Kramann

Login: Passwort:










Regelungssysteme
1 day_by_day
2 Heizregelkreis
3 Verzoegerungsglieder
4 Laplace
..4.1 Eigenwerte
..4.2 PT1
..4.3 PRegler
..4.4 Scilab
5 Regleroptimierung
..5.1 Guetefunktion
..5.2 Heuristiken
..5.3 Scilab
..5.4 Gradientenverfahren
..5.5 ModifizierteG
..5.6 Gleichstrommotor
..5.7 Stoerverhalten
6 Javaanwendung
..6.1 PIDgeregelterAntrieb
..6.2 RungeKuttaIntegrator
..6.3 Gradientenverfahren
7 Einstellregeln
..7.1 Totzeit
..7.2 Methode1
..7.3 Methode2
..7.4 Scilab
..7.5 Daempfungsgrad
..7.6 Uebung
8 Polvorgabe
9 Beobachter
10 AutonomerHackenprosche
..10.1 Herleitung
..10.2 Scilab
..10.3 Modellerweiterung
..10.4 Scilab
..10.5 Modellgueltigkeit
..10.6 java
11 Stabilitaet
..11.1 Beispiele
..11.2 Nyqusitkriterium
..11.3 Windup
..11.4 Bode
12 Adaptiv
..12.1 Definition
..12.2 Einachser
..12.3 Auswertung
..12.4 Identifikation
..12.5 Regleroptimierung
..12.6 Zustandsregler
..12.7 Beobachter
13 Analyse
..13.1 Linear
..13.2 Nichtlinear
14 Kalmanfilter
15 Ue_04_2014
..15.1 Geschwindigkeit
..15.2 Richtung
..15.3 Gesamtsystem
..15.4 RiccatiUSW
..15.5 TdOT
16 Inverses_Pendel
17 Einachser
..17.1 Mechanik
..17.2 Uebung8
18 Fuzzy
..18.1 Fuzzylogik
..18.2 FuzzyRegler
..18.3 Uebung9
..18.5 Softwareentwicklung
....18.5.1 AgileSoftwareentwicklung
....18.5.2 FuzzyRegler
....18.5.3 Uebung
..18.6 Umsetzung
....18.6.1 FuzzyRegler
....18.6.2 Simulation
....18.6.3 Optimierung
....18.6.4 Uebung
..18.7 Haengependel
....18.7.1 Haengependel
....18.7.2 Simulation
....18.7.3 FuzzyRegler
....18.7.4 Optimierer
....18.7.5 Genetisch
..18.8 Information
..18.9 Energie
21 Beispiel1
98 day_by_day_WS2021_SoSe21
99 day_by_day_SoSe2018
kramann.info
© Guido Kramann

Login: Passwort:




Regelung eines inversen Pendels

(EN google-translate)

(PL google-translate)

In der Vorlesung vom 26.05.2014 wurde das Modell eines inversen Pendels hergeleitet.

Animation des invertierenden Pendels (Schlitten blau, Pendel rot),

Bild 0-1: Animation des invertierenden Pendels (Schlitten blau, Pendel rot),

Nachfolgend ist das entsprechende Scilab-Modell realisiert:

clear;
clc;
clearglobal;

//Drot = 0.01;
Drot = 1.0;
m2   = 1.0;
l    = 1.0;
h    = l/2;
r    = 0.01;
J    = 0.25*m2*r*r + (1/12)*m2*l*l;

m1   = 1.0;

FA   = 0.0;
g    = 9.81;

function f = rechteSeite(t,y)
    x1 = y(7,1);  //Weg Schlitten
   vx1 = y(8,1);
    
    x2  = y(1,1); //Weg Pendel
    y2  = y(2,1);
    phi = y(3,1);

   vx2  = y(4,1); 
   vy2  = y(5,1);
 omega  = y(6,1);

    //Zwangskräfte Fx und Fy bestimmen:
    //QQ*F=q => F = inv(QQ)*q

    q = [-FA/m1-(1/J)*h*cos(phi)*Drot*omega-h*omega*omega*sin(phi);
               -(1/J)*h*sin(phi)*Drot*omega+h*omega*omega*cos(phi)-g];

    QQ = [(1/m1)+(1/J)*h*h*cos(phi)*cos(phi)+(1/m2), (1/J)*h*h*sin(phi)*cos(phi);
          (1/J)*h*h*sin(phi)*cos(phi)              , (1/J)*h*h*sin(phi)*sin(phi) + (1/m2)];

    F = inv(QQ)*q;
    Fx = F(1);
    Fy = F(2);

    //Pendel:
    f(1,1)=x2;   //Newton x Substitutuion   x2
    f(2,1)=y2;   //Newton y Substitutuion   y2
    f(3,1)=omega;   //Euler Substitutuion      phi


    f(4,1)=-Fx/m2;   //Newton dx2/dt
    f(5,1)=-Fy/m2-g;   //Newton dy2/dt
    f(6,1)=(-Drot*omega - h*sin(phi)*Fy -h*cos(phi)*Fx)/J;   //Euler  omega

    //Schlitten:
    f(7,1)=vx1;   //Newton x Substitutuion   x1

    f(8,1)=FA/m1 + Fx/m1;   //Newton dx1/dt
endfunction

t = 0:0.01:5;
t0=0.0;
y0 = [0,0,%pi*0.5, 0,0,0,  0, 0]';

y    = ode(y0,t0,t,rechteSeite);

plot(t,y(3,:)); //phi

//plot(t,y(8,:)); //vx1
//plot(t,y(7,:)); //x1

Code 0-1: Modell für ein invertierendes Pendel (Schlitten mit Körperpendel), Datei einachser.sce.

Es wurde auch eine entsprechende Simulation und Animation mit Processing realisiert:

invers001.zip - Umsetzung mit Processing

Weiteres Vorgehen

Um einen Regler nach "linearer Theorie" aufzubauen, sollte das System um den Punkt φ=0 linearisiert werden und hierfür ein passender Regler umgesetzt werden.

Das Verhalten um diese Ruhelage herum sollte durch Vergleich des linearisierten mit dem nicht linearisierten Modell verifiziert werden.