Im vorherigen Artikel (https://qiita.com/sato235/items/5e006ebbf2949cf59463) wurde empfohlen, die Stufeneingabe und die Sprungantwort in der Schaltung mit der Steuerung zu visualisieren. Daher habe ich diesen Artikel erstellt. Schließlich möchte ich es zum Entwerfen des Steuerungssystems des Roboters verwenden.
[1] Hiroki Minami, Ohm, "Einführung in die Steuerungstechnik mit Python"
[a] Kontrollblockdiagramm: https://tajimarobotics.com/pid-block-diagram-transfer-function/ [b] [Steuerungstechnik] Grafische Darstellung der Übertragungsfunktionen von Python: https://qiita.com/sato235/items/5e006ebbf2949cf59463 [c] [Control Engineering] Berechnung von Übertragungsfunktionen und Zustandsraummodellen durch Python: https://qiita.com/sato235/items/f991411074c578d1640c
Quelle: [a]
Das obige "C" entspricht der Steuerung. Die obige Rückkopplungssteuerschaltung wird als Übertragungsfunktion verwendet, um die Stufeneingabe / -antwort zu visualisieren.
Ursprünglicher Wert
K=1
Kd=1
Wn=1
Ki=1
ita=1
Kp=1
Erstellen Sie eine Übertragungsfunktion
C=matlab.tf([Kd, Kp, Ki],[1,0])
G=matlab.tf([K*Wn**2],[1,2*ita*Wn, Wn**2])
H=1
print("H")
print(H)
print("------------")
print("C")
print(C)
print("------------")
print("G")
print(G)
print("------------")
CG=matlab.series(C,G)
print("C*G")
print(CG)
print("------------")
CGH= matlab.feedback(CG,H,-1)
print("C*G/(1+C*G*H)")
print(CGH)
print("------------")
Die Ausgabe ist wie folgt.
H
1
------------
C
s^2 + s + 1
-----------
s
------------
G
1
-------------
s^2 + 2 s + 1
------------
C*G
s^2 + s + 1
---------------
s^3 + 2 s^2 + s
------------
C*G/(1+C*G*H)
s^2 + s + 1
---------------------
s^3 + 3 s^2 + 2 s + 1
------------
Visualisieren Sie die Schritteingabe und -antwort mithilfe der oben erstellten Übertragungsfunktion.
t = np.linspace(0, 3, 1000)
yout, T = matlab.step(P, t)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(T,yout, label="step response")
ax.plot(T,[1]*1000, linestyle="--", label="step input")
ax.set_xlabel("time[s]")
plt.legend(bbox_to_anchor=(1, 0.25), loc='upper right', borderaxespad=0, fontsize=11)
Die Figur ist wie folgt.
・ Ich konnte die Sprungantwort in der Rückkopplungsschaltung mit der Steuerung visualisieren. ・ Als nächstes möchte ich die Stabilität betrachten und das Verhalten vergleichen, wenn die Koeffizienten der C-, G- und H-Funktionen geändert werden.
Recommended Posts