- LiFePO4 Speicher Test         
Seite 6 von 15 ErsteErste ... 45678 ... LetzteLetzte
Ergebnis 51 bis 60 von 144

Thema: Asuro: Linienfolger mit PD-Regler

  1. #51
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Anzeige

    Praxistest und DIY Projekte
    Hallo stochri,

    hier nochmal die Kennlinie des Liniensensors:
    Bild hier  

    Interessant, deine Überlegungen zu dem Thema! Hier ein paar Anmerkungen von meiner Seite: Die Reibung geht nur als Verstärkungsänderung (K-Faktor) in das Simulationsmodell ein, da bei höherer Reibung nicht mehr die volle Höchstgeschwindigkeit erreicht wird. Die Zeitkonstante des PT1 bleibt bestehen.
    Der Begrenzer muss vor den Antrieb, also bei der PWM sein.
    Der Soll/Ist-Vergleich kommt gleich nach dem Sensor. Der Sollwert ist 0, also keine Abweichung.

    Ich habe ein Modell aus meiner Sicht angehängt und zum Vergleich das Blockschaltbild mit den für die Simulation relevanten Blöcken. Ich hoffe es wird dadurch verständlicher.

    Waste
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken modell_941.gif   loop_454.gif  

  2. #52
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    @ ähM_Key

    Im Moment springt in RoboSim nichts mehr, war wohl ein sporadisches Problem meines Rechners.

    Den analogen Sensor stelle ich mir so vor wie die Kennlinie in meinem vorigen Beitrag. Die Kennlinie auf eine trapezähnliche Funktion vereinfachen, dass ein linearer Anstieg bis 5mm Abstand, konstanter Wert bis 10mm und wieder linear abfallend bis 15mm übrig bleibt. Das wäre eine Kennlinie für 2 Dioden im Abstand von jeweils 7.5mm zur mittleren LED, wie beim Asuro.
    Notfalls nur eine einzige lineare Steigung oder Dreieck, wenn die erste Funktion nicht geht.

    Waste

  3. #53
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hallo Waste,
    Die Reibung geht nur als Verstärkungsänderung (K-Faktor) in das Simulationsmodell ein, da bei höherer Reibung nicht mehr die volle Höchstgeschwindigkeit erreicht wird. Die Zeitkonstante des PT1 bleibt bestehen.
    Müsste dem Modell entsprechen, welches ich geziechnet habe.

    Allerdings hat das ja, die von Dir mal früher erwähnten Schwachpunkte, dass es keinen Unterschied zwischen Bremsen und Beschleunigen macht.
    Ausserdem funktioniert es natürlich auch nicht bei Geschwindigkeiten bei weniger als 1/5tel der Maxiamlgeschwindigkeit.
    Falls der Regler später weiter runterregeln will, wird das Modell stark von der Realität abweichen.

    Der Begrenzer muss vor den Antrieb, also bei der PWM sein.
    Oh ja, das war in der ersten Zeichnung noch falsch.

    Der Soll/Ist-Vergleich kommt gleich nach dem Sensor. Der Sollwert ist 0, also keine Abweichung.
    Bei meinem Modell läßtt sich die Geschwindigkeit als Sollgröße vorgeben. Dein Modell und meines lassen sich mathematisch exakt ineinander umformen, sofern man die Tatsachen nutzt, dass Du das Innere Deines Reglers noch nicht genau spezifiziert hast.. Was hältst Du davon die Geschwindigkeit als Sollgröße zu verwenden ?

    In Deinem Modell wird die Geschwindigkeitsdifferenz integriert, mathmatisch läßt sich der Integrator vor die Differenz ziehen und in 2 Integratoren aufspalten. Ich fände es anschaulicher, wenn die Integration dem Antriebstrang zugeschlagen wird, weil ja in der Realität jedes einzelne Rad den Weg integriert und es keinen Integrator gibt, der die Geschwindigkeitsdifferenz integriert.

    Danke für die Liniensensorkennlinie.

    Gruss,
    stochri

  4. #54
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hier die graphische Darstellung der Äquiivalenz der beiden Modelle.

    Bei meinem Modell läßtt sich die Geschwindigkeit als Sollgröße vorgeben. Dein Modell und meines lassen sich mathematisch exakt ineinander umformen, sofern man die Tatsachen nutzt, dass Du das Innere Deines Reglers noch nicht genau spezifiziert hast..
    In Deinem Modell wird die Geschwindigkeitsdifferenz integriert, mathmatisch läßt sich der Integrator vor die Differenz ziehen und in 2 Integratoren aufspalten. Ich fände es anschaulicher, wenn die Integration dem Antriebstrang zugeschlagen wird, weil ja in der Realität jedes einzelne Rad den Weg integriert und es keinen Integrator gibt, der die Geschwindigkeitsdifferenz integriert.

  5. #55
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Mannomann, heute war ich sowas auf dem Schlauch gestanden, das gibt es normalerweise nicht. Bin den ganzen Tag einer Diskrepanz nicht auf die Spur gekommen. Jetzt endlich habe ich es gefunden. Ich wollte heute eigentlich mit dem Bodediagramm weiter machen und erklären was ein stabile Regelung ausmacht, welche Eigenschaften kritisch sind, usw. Beim Erstellen der open loop gain hatte ich dann die Diskrepanz in der Verstärkung mit den von Hand gerechneten Werten. Das musste natürlich zuerst geklärt werden.
    Nachdem ich es jetzt herausgefunden habe, muss ich auch folgende Aussage von mir korrigieren:
    Die Reibung geht nur als Verstärkungsänderung (K-Faktor) in das Simulationsmodell ein, da bei höherer Reibung nicht mehr die volle Höchstgeschwindigkeit erreicht wird.
    Das stimmt so nicht, das war mein Denkfehler. Für die Stabilität ist die differenzielle Steilheit also die Steigung ausschlaggebend und da ändert sich bei grösserer Reibung nichts. Das kann man sehr schön an dem Diagramm von stochri sehen. Ich habe den Ausschnitt noch mal als Bild angehängt. Man sieht sehr deutlich, dass sich zwar die Geschwindigkeit mit stärkerer Reibung ändert, aber die Steigung bleibt erhalten, die Kurve wird nur parallel nach unten versetzt. Nachdem das geklärt ist, kann es vermutlich morgen weiter gehen.

    @ stochri
    Ich wüsste jetzt nicht, wie man bei einem Linienfolger die Geschwindigkeit als Sollwert verwenden kann. Der Asuro soll ja genau der Linie folgen und Abweichungen von der Linie sofort ausregeln. Die Abweichung ist eine Wegstrecke und keine Geschwindigkeit. Ich glaube du verwechselst da was. Natürlich kann man zusätzlich eine Geschwindigkeitsregelung einbauen, aber die ist extra zu betrachten.

    Die Simulation für die Stabilität, die ich machen will, basiert auf der Analyse des dynamischen Verhaltens. Da werde ich nicht nur im Zeitbereich analysieren, sondern auch im Frequenzbereich. Dafür habe ich das Modell erstellt und es möglichst einfach gehalten. Es sind nur die für die Simulation relevanten Eigenschaften enthalten.

    Hoffentlich gibt es morgen nicht noch einmal so ein Problem wie heute, sonst verzweifle ich. Aber das öffentlich machen von so einer Projektarbeit hat schon was für sich. Bevor man es schreibt, wird es nochmal überprüft und dabei werden doch noch kleine Fehler entdeckt. Ohne der Veröffentlichung hätte ich den Unterschied vermutlich übersehen. Es zwingt einen schon zu genauer Arbeit.

    Gruss Waste
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pwm_speed.gif  

  6. #56
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hallo Waste,

    Ich wüsste jetzt nicht, wie man bei einem Linienfolger die Geschwindigkeit als Sollwert verwenden kann. Der Asuro soll ja genau der Linie folgen und Abweichungen von der Linie sofort ausregeln. Die Abweichung ist eine Wegstrecke und keine Geschwindigkeit.
    Um das zu verdeutlichen habe ich Dein Modell im obigen Post abgezeichnet und die Regelerstruktur in Deinen Regler eingezeichnet. Ich dachte das wär so am besten verständlich.
    Die rot gezeichnete Strukur beschreibt folgendes.
    Der linke Motor wird mit einem festen PWM-Wert angesteuert ( das ist sozusagen die Sollgröße und kann bei Bedarf veränderte werden )
    Der rechte Motor wird vom Regler gesteuert
    ( Wenn ich mich nicht täusche enspricht das sogar einem Deiner Linienfolgeprogramme. )

    Die Sollgröße ( Abweichung von der Linie ) in Deinem Modell wird wie Du schon beschrieben hast auf 0 gesetzt ( sinnvolerweise ). Das heisst, man kann die Subtraktionsstelle streichen und durch * -1 ersetzen.

    Zu den rot gezeichneten Antriebsträngen:
    der Integrator lässt sich verschien, weil folgendes gilt:

    intgral(v1-v2)=integral(v1)-integral(v2)

    Ich glaube du verwechselst da was. Natürlich kann man zusätzlich eine Geschwindigkeitsregelung einbauen, aber die ist extra zu betrachten.
    Was die Umformung der Reglerstruktur angeht, bin ich mir ziemlich sicher. Vielleicht habe ich noch nicht die richtige sprachliche Erklärung gefunden.

    Die Simulation für die Stabilität, die ich machen will, basiert auf der Analyse des dynamischen Verhaltens. Da werde ich nicht nur im Zeitbereich analysieren, sondern auch im Frequenzbereich. Dafür habe ich das Modell erstellt und es möglichst einfach gehalten.
    Den Frequenzgang dieser Modellstruktur zu analysieren sollte machbar sein, es entspricht Deinem Modell.

    Viele Grüße,
    stochri

  7. #57
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.06.2005
    Ort
    DD
    Beiträge
    519
    Zitat Zitat von waste
    Den analogen Sensor stelle ich mir so vor wie die Kennlinie in meinem vorigen Beitrag. Die Kennlinie auf eine trapezähnliche Funktion vereinfachen, dass ein linearer Anstieg bis 5mm Abstand, konstanter Wert bis 10mm und wieder linear abfallend bis 15mm übrig bleibt. Das wäre eine Kennlinie für 2 Dioden im Abstand von jeweils 7.5mm zur mittleren LED, wie beim Asuro.
    Also erst nochmal zu der Kennlinie:
    Ich habe das so interpretiert, das auf der X-Achse die Abweichung der mittleren LED zur Mitte der Strecke angegeben wird, und auf der Y-Achse die gemessenen Analogwerte der Sensoren in Prozent oder was auch immer. Dabei wird bei einem Sensor der negative Wert genommen.

    Ich bin der Meinung, dass der wieder abfallende Teil der Kurve ( > |10mm| ) sowieso nicht nutzbar ist, weil der Roboter nicht weiß, wo er ist, also das Abfallen bei Abweichungen von > |10mm| könnte genausogut < |5mm| bedeuten. (Ich hoffe das war heilweg's verständlich; die Betragszeichen sind sicherlich nicht korrekt, aber ihr wisst ja was ich meine)
    Wie funktioniert das bisher? Denkfehler meinerseits?

    Desshalb wäre ich dafür, nicht direkt die Daten der Sensoren als Input für den Regler zu verwenden, sondern das ganze erst mal zu 'linearisieren', also aus der Kennlinie die wirkliche Abweichung zu errechnen. Ist meiner Meinung nach sauberer, als das dann dem Regler zu überlassen.

    Sicher wäre es kein Problem so eine Kennlinie in RoboSim mit einzubauen, aber wie gesagt, ich bezweifle, dass das so gut ist.
    Um einem analogen Sensor nahe zu kommen, kann man ja die Sensoranzahl beliebig erhöhen und den Sensorabstand auf 1 setzen. Mehr macht sowieso keinen Sinn, da die Bahn nur pixelweise aufgelöst ist; natürlich könnte man auch das verändern, ist aber dann mit nicht ganz unerheblichem Programmieraufwand verbunden.

    Grüße; ähM_Key

  8. #58
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    @ ähM_Key

    Ich probier es mal mit der Sensoranzahl erhöhen und Abstand auf 1 Pixel. Wenn das klappt ist es ausreichend.

    Waste

  9. #59
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hallo ähM_Key,
    Ich bin der Meinung, dass der wieder abfallende Teil der Kurve ( > |10mm| ) sowieso nicht nutzbar ist, weil der Roboter nicht weiß, wo er ist, also das Abfallen bei Abweichungen von > |10mm| könnte genausogut < |5mm| bedeuten. (Ich hoffe das war heilweg's verständlich; die Betragszeichen sind sicherlich nicht korrekt, aber ihr wisst ja was ich meine)
    Wie funktioniert das bisher? Denkfehler meinerseits?
    Ich denke, Du hast richtig gedacht. Es ist einfach so, wenn die Liniensensoren des Asuro mehr als 1cm abweichen, hat der ASURO die Linie verloren.
    Der enge Fangbereich ist das große Problem bei der ASURO-Linienverfolgung.

    Gruss,
    stochri

  10. #60
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    In dieser Fortsetzung geht es um die Stabilitätskriterien von Regelschleifen, dazu wird das Bodediagramm der Schleife erstellt.

    Vorher nochmal eine Zusammenstellung der Kennwerte der einzelnen Komponenten:
    Antrieb statisch: 0.002 m/s
    PT1-Block (differenzielle Steilheit des Antriebs): 0.0027 m/s
    PT1-Block Zeitkonstante: 120ms (wegen des geringeren Trägheitsmoments beim Drehen)
    Integrator: 1s
    Sensor Hebelwirkung: 77/103 = 0.75
    Sensor Empfindlichkeit: 14 pro mm
    Totzeit durch AD-Wandler: 1.6ms

    Der Regler wird vorerst nur mit der Verstärkung von 1 angesetzt, um zu sehen was die Schleife alleine macht. Es wird dazu das Bodediagramm der "open loop gain", also der Verstärkung in der Schleife erstellt. Siehe dazu auch Bild "open_loop_gain.gif". In dem Bild sind Amplituden- und Phasengang (grüne Linien) der Verstärkung aufgetragen. Die gestrichelte Linie ist die Phase. Ein Kriterium für die Stabilität der Schleife ist der Phasenrand und der Amplitudenrand. Diese sind violett eingezeichnet. Der Phasenrand ist die Phase bei Verstärkung = 1 (entspricht 0dB). Der Amplitudenrand ist die Dämpfung wenn die Phase durch 0 geht. Es ist verständlich, dass die Schleife schwingen würde, wenn bei 0 Grad eine Verstärkung > 1 wäre. In unserem Fall ist der Amplitudenrand 25dB und der Phasenrand etwa 27 Grad. Das ist nicht sehr viel, aber stabil. Die Regel lautet: Eine geschlossene Regelschleife arbeitet genau dann stabil, wenn der Phasenrand positiv ist. Wie stabil es ist, können wir auch an der Sprungantwort sehen.

    Die Sprungantwort ist eine Analyse im Zeitbereich und zeigt die Antwort des Systems auf einen Sprung am Führungswert. Wie unser System reagiert, sieht man in Bild "Sprungantwort.gif". Es schwingt schon deutlich über und pendelt auch eine Zeitlang aus. Jetzt stellt sich die Frage, wie geht man vor, um den Regler einzustellen. Würde man im Regler die Verstärkung erhöhen, also nur P-Anteil erhöhen, dann ist aus dem Bodediagramm leicht zu erkennen, dass der 0dB-Durchgang der Verstärkung zu höheren Frequenzen rutscht (nach rechts) und der Phasenrand abnimmt. Bei einem P-Anteil von 18 (entspricht 25dB) würde die Schleife sogar schwingen (kein Phasen- und Amplitudenrand mehr). Also müssen wir zuerst den Phasenrand erhöhen, damit die Schleife stabiler wird und danach können wir, sofern genügend Phasenspielraum vorhanden ist, die Verstärkung erhöhen um eine schnellere Ausregelung zu bekommen.

    Dazu schauen wir uns erstmal die Übeltäter an. Zum einen ist es der Integrator, der konstant die Phase um -90 Grad dreht und zum anderen ist es der PT1-Block, der mit seiner Zeitkonstante von 120ms den Frequenzgang wie in Bild "PT1_fg.gif" hat. Die Grenzfrequenz liegt bei 1.3Hz, da hat die Phase bereits 45 Grad gedreht. Was man dagegen macht, wird im nächsten Beitrag erklärt. Ich kann leider nur 3 Bilder pro Beitrag zeigen, deshalb geht es im nächsten Beitrag weiter.

    Waste

    Fortsetzung folgt.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken open_loop_gain.gif   sprungantwort.gif   pt1_fg.gif  

Seite 6 von 15 ErsteErste ... 45678 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests