- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 9 von 15 ErsteErste ... 7891011 ... LetzteLetzte
Ergebnis 81 bis 90 von 144

Thema: Asuro: Linienfolger mit PD-Regler

  1. #81
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    Anzeige

    E-Bike
    ihr könnt die spurverfolgung 100% machen, wenn ihr euch neue zahnräder kauft, die etwas teurer sind und aus anderer plaste. auch ist die bhrung zu gross für die beigelegte welle. es stimmt hinten und vorne nicht. der anpressdruck des motor lässt beim beschleunigen nach, das ein zu grosse leerlaufspiel vom zahnrad und motor zustande kommt. hatte mir damals zu anfang gleich bessere edelstahlwellen geholt und neu zahnräder. habe auch das axiale wandern beseitigt und siehe da der robby fuhr in der spur mit meinen einfachen programm in winavr-c wie ein schneekönig. die rechnungen die du oben anwendest, kann der asuro ohne meine änderung nicht umsetzen, wenn ähnliche ergebnisse erzeilt werden, ist es zufall.
    ich habe vorn ein rad vom legomotorrad untergebaut, schwenkbar.
    nach dem er gut lief, war meine anderer gedachter aufbau zu schwer und verwende den asuro nicht mehr. hatte schnell mein ziel ereicht.
    mfg pebisoft

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

    Zitat Zitat von ähM_Key
    Bin zu faul zum suchen...wie schnell fährt der Asuro eigentlich? ca. 30cm/s?
    Wie breit ist so eine Spur auf der getestet wurde? 1,5cm?
    Der Asuro hat eine Höchstgeschwindigkeit von ca. 0,5m/s.
    Meine Spur ist so ca. 1,2 - 1,5cm breit.

    Stimmt, der minimale Radius des Kurses und die Geometrie des Roboters sollten so sein, dass sich das innere Rad nicht rückwärts drehen muss.

    Wie man am Asuro sieht, ist bei einer schnellen Regelung die schmale Erkennung kein Problem, obwohl es bei Höchstgeschwindigkeit schon ziemlich an der Grenze ist.
    Bei einem digitalen Sensor mit diskreten Schritten kann zwischen zwei Schritten nicht geregelt werden. Das ist wie bei einem 2-Punktregler, nur eben mit mehr Schritten. Der Roboter wird also zwischen den Auflösungsschritten pendeln, auch wenn die Regelung stabil ist. Das ist zu bedenken.

    Gruss Waste

  3. #83
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Hallo Waste,
    heute habe ich mal ein wenig Dein Programm ausprobiert. Der Asuro fährt ziemlich flot um die Kurven und wackelt auch nicht. Allerdings verliert er gerne bei zu engen Rechtskurven die Linie. Wenn er die Linie mal verloren hat, fängt er an sich immer schneller im Kreis zu drehen.

    Ansonsten: Saubere Arbeit, wie alles was Du bisher gemacht hast. Gratulation !

    Beste Grüße,
    stochri

  4. #84
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo stochri

    Ja, wenn er mal ausrastet, dann fährt er im Kreis. Das liegt am I-Anteil des PID-Reglers, der einen Offset des Liniensensor aufsummiert, bis er nur noch im Kreis fährt.

    Gruss Waste

  5. #85
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    hallo mal wieder.

    Nach geraumer Zeit mal eine Zusammenfassung. --> So wie ich sie verstanden habe. <---
    Alle hier aufgeführten Punkte habe ich aus den Beiträgen von waste und Manf und können somit jederzeit in diesem Thread nachvollzogen werden. (Bis auf meine Tippfehler)
    Mein Anliegen war es, die von waste erstellte Ausarbeitung für genau meinen Asuro nachzurechnen.

    Für die einzelnen Punkte habe ich folgende Schreibweise gewählt:
    Beitragszeile: Seite im Thread; Autor; Datum Uhrzeit; Thema
    Inhaltszeile : Kürzel aus folgender Legende; laufende Nummer [laufende Nummer(n), die zur Berechnung der aktuellen Zeile benutzt wurde(n)]

    Legende der Kürzel:
    MA = Messen mit Asuro
    EH = Ermittelbar aus Handbuch
    RE = REchnung mit bekannten werten
    WI = WIssen (erfahrung von waste)
    MM = Messen mit zusätzlichem Messgerät
    VO = VOrgabe von waste
    AB = ABleitung aus messergebnissen
    ?? = unbekannte verwendung/berechnung
    ?R = unbekannte Rechnung (waste nutzt einen simulator)
    P1 = Programm: Liniensensor Übertragungsmaß
    P2 = Programm: Beschleunigungsmessung beide Motoren
    P3 = Programm: Beschleunigungsmessung ein Motor
    K1 = Konstante: 255 -> Maximalwert für Mortorspeed
    K2 = Konstante: 0,1050 Meter -> Radabstand Asuro
    K3 = Konstante: 0,0525 Meter -> halber Radabstand Asuro
    K4 = Konstante: 170 g -> normales Gewicht vom Asuro

    OK, auf geht's

    <table><tr><td width="100" colspan="2">S1 waste</td><td align=left>18.08.2005 22:52 Beschleunigung</td></tr><tr><td>MA</td><td>1 [P1]</td><td>Übertragungsmaß Liniensensor (Abstand von Mitte) 14/mm</td></tr><tr><td>EH</td><td>2</td><td>Verzögerung AD-Wandler 1,6ms</td></tr><tr><td>MA</td><td>3 [P2]</td><td>Beschleunigung ca. 130ms (1*tau)</td></tr><tr><td>MA</td><td>4</td><td>Vmax ca. 0,51 m/s</td></tr><tr><td>RE</td><td>5 [4|K1]</td><td>Verhältniss PWM-Wert zur Geschwindigkeit PWM/v = 0,51/255 = 0,002m/s</td></tr><tr><td>WI</td><td>6</td><td>Trägheitsmoment Motor 1,12gcm^2;</td></tr><tr><td>MM</td><td>7</td><td>Fahrzeugmasse (bei waste) 240g</td></tr><tr><td>RE</td><td>8 [6]</td><td>Motorträgheit in äquivalenter Masse 2*190g</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S2 Manf</td><td>19.08.2005 21:47 Trägheitsmoment GEMESSEN mit Kleiderbügel</td></tr><tr><td>MM</td><td>9</td><td>Trägheit Achsmittelpunkt 200 micro-Kgm^2;</td></tr><tr><td>MM</td><td>10</td><td>Trägheit um ein Rad 668 micro-Kgm^2;</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S2 waste</td><td>20.08.2005 00:41 Massenberechnung</td></tr><tr><td>RE</td><td>11 [10|K2]</td><td>äquivalente Masse; Drehung um ein Rad m=I/r^2; 668 micro /0,105^2=60g</td></tr><tr><td>RE</td><td>12 [9|K3]</td><td>äquivalente Masse; Drehung um Achsmitte m=I/r^2; 200 micro /0,0525^2=72g</td></tr><tr><td>MM</td><td>13 [7|K4]</td><td>geändertes Gewicht bei wastes Asuro 240g (waste Asuro) / 170g (std. Asuro)</td></tr><tr><td>RE</td><td>14 [11|13]</td><td>äquivalente Masse (Rad) waste 60g * 240g/170g = 85g</td></tr><tr><td>RE</td><td>15 [12|13]</td><td>äquivalente Masse (Achsmitte) waste 72g * 240g/170g = 102g</td></tr><tr><td>?R</td><td>16 [8|14]</td><td> " plus Motorträgheit = 310g</td></tr><tr><td>RE</td><td>17 [8|15]</td><td> " plus Motorträgheit = 292g</td></tr><tr><td>MA</td><td>18 [P3]</td><td>Beschleunigung um nur ein Rad ca. 100ms</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S2 waste</td><td>20.08.2005 19:38 Analyse Frequenzbereich / Bodediagramme</td></tr><tr><td>VO</td><td>19</td><td>v-soll = 0,4m/s</td></tr><tr><td>AB</td><td>20 [1]</td><td>Arbeitsbereich der Reglung = 15mm</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S3 waste</td><td>21.08.2005 17:03 Regler- und Simulationsmodel</td></tr><tr><td></td><td></td><td>Hier wiederholt waste das Regler- und das Simulationsmodel als Bild</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S3 waste</td><td>22.08.2005 19:06 Reglerstabilität</td></tr><tr><td>AB</td><td>21 [5]</td><td>Antrieb statisch = 0,002m/s</td></tr><tr><td>AB</td><td>22 [3]</td><td>Steigung PT1-Block = 0,0027m/s</td></tr><tr><td>AB</td><td>23 [5|18]</td><td>Zeit PT1-Block = 120ms (kleinstes Trägheitsmeoment drehen)</td></tr><tr><td>VO</td><td>24</td><td>Intergrator 1s</td></tr><tr><td>??</td><td>25</td><td>Sensor Hebenwirkung = 17/103 = 0,75</td></tr><tr><td>AB</td><td>26 [1]</td><td>Sensor Empfindlichkeit = 14/mm</td></tr><tr><td>AB</td><td>27 [2]</td><td>Totzeit AD-Wandler = 1,6ms</td></tr><tr><td>?R</td><td>28</td><td>P-Anteil auf 1 ergibt: Amplitidenrand = 25dB (Stabilitätsgrenzen)</td></tr><tr><td>?R</td><td>29</td><td>P-Anteil auf 1 ergibt: Phasenrand = 27Grad (Stabilitätsgrenzen)</td></tr><tr><td>AB</td><td>30 [23]</td><td>Hier folgt eine Erlärung von waste:</td></tr><tr><td></td><td></td><td>P-Anteil auf 18 -> entspricht 18dB -> dadurch Phasenerhöhung</td></tr><tr><td></td><td></td><td>Grund: Integrator mit Phasendrehung -90Grad -> PT1-Zeitkonstante 120ms</td></tr><tr><td></td><td></td><td>Grenzfrequenz folgt zu 1,3Hz, da Phase um 45Grad gedreht ist (Verstanden?)</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S3 waste</td><td>22.08.2005 20:18 Reglerstabilität Teil 2</td></tr><tr><td></td><td></td><td>Um das Problem der Phasendrehung im PT1-Block zu beheben muss im Regler</td></tr><tr><td></td><td></td><td>das 'Gegenteil' inplementiert werden. -> Differenzierglied (D-Anteil)</td></tr><tr><td>AB</td><td>31 [23]</td><td>D-Anteil wird somit zu 120ms gesetzt.</td></tr><tr><td>SI</td><td>32</td><td>Hierdurch geht der Phasenrand auf 85Grad hoch.</td></tr><tr><td></td><td></td><td>Somit kann der P-Anteil erhöht werden.</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S3 waste</td><td>23.08.2005 20:57 Weitere Überlegungen</td></tr><tr><td></td><td></td><td>Der D-Anteil bewirk einen 'Vorhalt' um die Motorverzögerung auszugleichen.</td></tr><tr><td>WI</td><td>33 [28|29]</td><td>Der P-Anteil wird um den Faktor 3 erhöht. P-Anteil = 1*3=3</td></tr><tr><td></td><td></td><td>Die Simulation ergibt ein besseres Einschwingverhalten um den Faktor 3.</td></tr><tr><td></td><td></td><td>Hier muss aber noch optimiert werden, da der Asuro sonst eine Ansteuer-</td></tr><tr><td></td><td></td><td>spannung von 100 Volt liefern müsste.</td></tr><tr><td></td><td></td><td>Wird die Ansteuerspannung auf 5V begrenzt, zeigt die Simulation ein Überschwingen.</td></tr><tr><td></td><td></td><td>Dies wird hauptsächlich durch die freilaufenden Asuro-Motoren ausgelöst.</td></tr><tr><td></td><td></td><td>FAZIT: Hardware + Ansteuerung bergen Probleme in der Reglung.</td></tr><tr><td></td><td></td><td>LÖSUNG: Der D-Anteil steuert immer VOLL aus -> Beschleunigung, also kein Leerlauf.</td></tr><tr><td></td><td></td><td>Der andere Motor kann mit BREAK bzw. RWD schnell verzögert werden.</td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3"></td></tr><tr><td width="100" colspan="2">S3 waste</td><td>25.08.2005 23:25 Umsetzung der Bodediagramme in Kp, Ki und Kd</td></tr><tr><td></td><td></td><td>Die Sprungantwort wurde optimiert.</td></tr><tr><td></td><td></td><td>D-Anteil zurückgenommen -> besseres Einschwingen</td></tr><tr><td></td><td></td><td>Wegen 'Freilauf' im PWM-Bremsbereich durch zusätzlichen I-Anteil verbessert,</td></tr><tr><td></td><td></td><td>da D-Anteil nicht ausreicht.</td></tr><tr><td>RE</td><td>34 [1|33]</td> <td>D-Anteil=3 kann PWM nur um 3*60=180 ändern. (60=max.Wert aus Kennlinie Sensor)</td></tr><tr><td></td><td></td><td>--> Ableitung aus dem Bodediagram (links, abfallende grüne Kurve bis ca. 1HZ)</td></tr><tr><td></td><td></td><td>--> Parameterdefinition:</td></tr><tr><td></td><td></td><td>Kp = Verstärkung P-Anteil</td></tr><tr><td></td><td></td><td>Ki = 1/Ti mit Ti=Zeitkonstante Integrator</td></tr><tr><td></td><td></td><td>Kd = Td mit Td=Zeitkonstante Differenzierglied</td></tr><tr><td></td><td></td><td></td></tr><tr><td></td><td></td><td>Bild 'regler_bode.gif' von waste stellt die P,I und D-Anteile dar</td></tr><tr><td></td><td></td><td>wobei die 0-dB-Durchgänge für I und D relevant sind.</td></tr><tr><td></td><td></td><td></td></tr><tr><td>SI</td><td>35</td><td>D = rote Kurve -> 0,712 Hz (fd)</td></tr><tr><td>SI</td><td>36 [35]</td><td>--> Kd = Td = 1/(2*PI*fd) = 0,225</td></tr><tr><td>SI</td><td>37</td><td>I = hellblaue Kurve -> 1,59 Hz (fi)</td></tr>
    <tr><td>SI</td><td>38 [37]</td><td>--> Ki = 1/Ti = 2*PI*fi = 10</td></tr><tr><td>SI</td><td>39</td><td>P = violette Kurve</td></tr><tr><td>SI</td><td>40 [33]</td><td>--> Kp = 3</td></tr><tr><td colspan="3"></td></tr></table>

    So, dass sind die von mir gefundenen Werte und Rechenschritte.
    Fragen werden folgen, aber ich möchte erst auf Reaktionen warten. Vor allem auf Korrekturen meiner Ausfertigung.

    Viele Grüße von Sternthaler

  6. #86
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Entschuldigt die 'Lücke'.
    Ich habe ein bisschen Text, und dann mit '<table>' '</table>' die Daten geschrieben. Vor '<table>' scheint die Lücke eingefügt zu werden. Ich bekommen sie nicht weg.
    Ausserdem soll &sup2; hoch 2 sein
    und &micro; soll halt micro sein.

    Viele Grüße von Sternthaler

    Nachtrag:
    'Lücke' ist weg.
    &sup2; ist jetzt ^2
    &micro; ist jetzt micro

  7. #87
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    36
    Beiträge
    826
    Liegt wohl daran, dass hier bestimmt HTML verboten ist, oder?

    Test
    Test (War zwischen den "Test"s nen Zeilenumbruch?)
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  8. #88
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Nein, es liegt daran das hie rim Forum sämtliche leerzeichen innerhalb des Tabellencodes entfernt werden müssen.

    Also aus z.B.
    Code:
    <tr><td>WI</td><td>6</td>       <td>Trägheitsmoment Motor ...
    musst du

    Code:
    <tr><td>WI</td><td>6</td><td>Trägheitsmoment Motor ...
    machen usw. Es wäre schön wenn du das noch editieren könntest

  9. #89
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Zitat Zitat von Frank
    Nein, es liegt daran das hier im Forum sämtliche Leerzeichen innerhalb des Tabellencodes entfernt werden müssen.
    Ja, danke, das hat fast komplett funktioniert.
    Kleiner Hinweis um die 'Lücke' komplett zu entfernen: Es müssen auch alle Zeilenumbrüche hinter den einzelnen Zeilen (also bei mir nach </tr> entfernt werden. (Möglicher Grund??: DOSen-Rechner speichern mit CR/LF und der hier bestimmt genutzte TUNIX-Server speichert nur mit CR. Evl. kommen da noch ein paar 'Lücken'-Zeilen hinzu.)

    Zitat Zitat von Andun
    HTML verboten
    Ja, das war auch mein erster Gedanke. Zum Glück schaut Frank hier zu und hilft den Anfängern.


    Auf alle Fälle vielen Dank für den Hint und
    Schöne Grüße von Sternthaler

  10. #90
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.06.2005
    Ort
    DD
    Beiträge
    519
    Hi!

    Wie man am Asuro sieht, ist bei einer schnellen Regelung die schmale Erkennung kein Problem, obwohl es bei Höchstgeschwindigkeit schon ziemlich an der Grenze ist.
    Bei einem digitalen Sensor mit diskreten Schritten kann zwischen zwei Schritten nicht geregelt werden. Das ist wie bei einem 2-Punktregler, nur eben mit mehr Schritten. Der Roboter wird also zwischen den Auflösungsschritten pendeln, auch wenn die Regelung stabil ist. Das ist zu bedenken.
    ...langsam hast du mich überzeugt, und ich bin auch der Meinung, dass es besser ist den PID-Regler mit analogen statt mit digitalen Werten zu füttern. Da noch nix (wie beim Asuro) vorgegeben ist stehen mir noch alle Möglichkeiten in der Dimensionierung und Anordnung der LED's offen.
    Fest steht, dass man in der Mitte ein große LED mit großem Abstrahlwinkel, vielleicht sogar 2 leicht schräg angebrachte brauchte. Ich dachte an IR statt rotem Licht.
    So nun komm ich mal auf den Punkt; meint ihr, dass es dem Asuro Geschwindigkeitsvorteile bringen würde, wenn er mehr als 15mm mit seinem Liniensensor abdecken könnte (ich weiß du hast geschrieben es ist kein Problem)? Ich stelle mir vor, dass ein solcher Roboter dann ev. 'gedämpfter' fahren kann.
    Wie gesagt unsrer fährt mit ca. 30cm/s, minimaler Kurvenradius 15cm, Abstand Rad-Sensoren ca. 15cm, Radstand ~20cm.
    Die Motoren, Getriebe, Räder sind vorgegeben, desshalb kann man dort nix mit der Geschwindigkeit rausholen. Desshalb kommt es auch auf eine annähernd ideale (also optimale ) Regelung an.
    Also, in welchem Anstand würdet ihr die Liniensensoren anbringen?

    Danke euch, Grüße; ähM_Key

Seite 9 von 15 ErsteErste ... 7891011 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen