Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Regelung: P-Regler und Überschwingen

Nach dieser Lektion: Ich kann einen P-Regler simulieren, der ein Gelenk zu einem Zielwinkel fährt, und sein Überschwingen bestimmen.

Lektion, 75 Min.3 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Wie ein Gelenk sein Ziel findet

Ein Regler vergleicht ständig, wo ein Gelenk ist und wo es sein soll, und leitet daraus den nächsten Schritt ab. Der einfachste ist der P-Regler: Je größer der Fehler, desto größer der Schritt.

Mit einer Simulation sehen Sie, warum ein zu stark eingestellter Regler über das Ziel hinausschießt. Das ist der Abschluss des Kits.

Am Ende dieser Lektion

Notiz

Ich kann einen P-Regler simulieren, der ein Gelenk zu einem Zielwinkel fährt, und sein Überschwingen bestimmen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Sensorein Teil, das den Winkel des Gelenks misst
FehlerZielwinkel minus gemessener Winkel
P-Reglerer macht einen Schritt proportional zum Fehler
Verstärkungwelcher Teil des Fehlers je Schritt ausgeglichen wird0,5
Überschwingender Winkel läuft über das Ziel hinaus

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Sensor misst nur auf Schritte genau

Ein Regler kann nur auf das reagieren, was ein Sensor misst. Ein Winkelgeber zählt Striche. Hat er pro Grad einen Strich, sieht er den Winkel nur auf ganze Grad genau.

Die Messung ist also gerundet. Der Regler arbeitet mit einem Wert, der bis zu ein halbes Grad danebenliegen kann.

Beispiel: wahrer und gemessener Winkel

Wahrer WinkelGemessen (ganze Grad)Messfehler
37,4370,4
37,6380,4
38,4380,4

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Drei wahre Winkel, auf ganze Grad gemessen

Befehl
docker exec jupyter python3 -c "print([round(a) for a in [37.4, 37.6, 38.4]])"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein P-Regler gleicht Teile des Fehlers aus

Der Fehler ist der Zielwinkel minus der gemessene Winkel. In jedem Zeitschritt wird zum Winkel der Fehler mal die Verstärkung g addiert.

Mit g gleich 0,5 schließt sich also jedes Mal die Hälfte des Abstands. Der Winkel nähert sich dem Ziel, erreicht es aber nie ganz.

Beispiel: Start 0, Ziel 90, Verstärkung 0,5

SchrittWinkelFehlerNeuer Winkel
009045
1454567,5
267,522,578,75
378,7511,2584,375

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die ersten fünf Winkel mit Verstärkung 0,5

Befehl
docker exec jupyter python3 -c "print([round(90 - 90 * (1 - 0.5) ** n, 3) for n in range(5)])"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Einen P-Regler in Python simulieren

Code: python
# Ein Gelenk soll von 0 auf 60 Grad fahren.
winkel = 0.0
ziel = 60
g = 0.5
for schritt in range(6):
    print(schritt, winkel)
    fehler = ziel - winkel
    winkel = winkel + g * fehler
# Setzen Sie g auf 1.5 und starten Sie erneut.

Eine zu große Verstärkung lässt den Winkel überschwingen

Ist g größer als 1, macht der Regler einen zu großen Schritt und springt über das Ziel. Dann kehrt der Fehler sein Vorzeichen um, und der Regler läuft zurück.

Bis g gleich 2 schwingt der Winkel ab und beruhigt sich. Ab 2 schaukelt er sich auf und das Gelenk gerät außer Kontrolle.

Beispiel: dieselbe Fahrt mit vier Verstärkungen

Verstärkung gWas passiert?Höchster Winkel bei Ziel 90
0,5ruhig, kein Überschwingen90 (kommt nie darüber)
1genau am Ziel nach einem Schritt90
1,5schwingt über das Ziel und beruhigt sich135
2,5schaukelt sich aufwächst immer weiter

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die ersten fünf Winkel mit Verstärkung 1,5

Befehl
docker exec jupyter python3 -c "print([round(90 - 90 * (1 - 1.5) ** n, 3) for n in range(5)])"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, eine größere Verstärkung sei immer besser, weil der Regler schneller wird. Ab einer Grenze schwingt der Winkel über das Ziel hinaus. Wählen Sie g klein genug, dass der Winkel ruhig ans Ziel kommt.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.