- LiFePO4 Speicher Test         
Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 81

Thema: Kugelroboter

  1. #31
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Anzeige

    E-Bike
    Hi!
    Ich glaube zwar nicht, dass es dramatische Auswirkungen hat wenn dein Regelkreis nicht viel schneller läuft als die grenzfrequenz des Tiefpasses, aber optimal ist was anderes... Die Abtastung sollte deutlich schneller sein als die Grenzfrequenz, mindestens Faktor 4 rate ich mal. Ausserdem musst du darauf achten, dass du ganz ganz kurz vor dem senden der Motorsollwerte neue Werte aus Gyro + Acc berechnest. Dieser Zeitabstand scheint sehr kritisch zu sein und großen Einfluss auf die Regelgüte zu haben.
    Du kannst auch einfach nach dem Opamp noch einen Tiefpass mit R und C einbauen. Das erleichtert die Rechnerei deutlich :-D
    Ich filtere das Signal aber nochmal in der Software
    Darauf würde ich - wenn möglich - verzichten. Kostet nur unnötig Rechenzeit, denn das kann auch der Kondensator + Widerstand erledigen.
    Viele Grüße, William
    -> http://william.thielicke.org/

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    32
    Beiträge
    49
    ich denke nicht dass du willst dass der beitrag gelöscht wird, deshalb lass ich ihn mal so stehen
    Richtig, ich wollte eigentlich editieren, hab aber den falschen Knopf erwischt.
    Du kannst auch einfach nach dem Opamp noch einen Tiefpass mit R und C einbauen. Das erleichtert die Rechnerei deutlich :-D
    Ne, dann brauche ich ja eine neue Platine. Ich versuche es mal mit anderen Kondensatoren.

    [Edit]: Tiefpass Filter vom ACC-Sensor hat jetzt 5Hz, beim Gyro sind es ca. 35Hz. Die Abtastrate beträgt ca. 630Hz, die Regelung läuft aber nur mit 100Hz. Bislang habe ich keine Veränderung bemerkt.

  3. #33
    Hallo,
    das angehängte Bild sollte klären was ich meine. Also mit Winkelgetriebe nur Radachse um 90° Grad drehen.
    Grüß
    Paul
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 90_grad.jpg  

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    32
    Beiträge
    49
    Und wofür soll das gut sein? Nicht nur die Mechanik wird komplizierter, sondern der Roboter kann sich auch noch unkontrolliert um die Hochachse drehen.
    Omnidirektionale Antriebe sehen fast immer so aus wie bei meinem Roboter, nur manchmal sind die Räder nicht gleichmäßig verteilt, sodass der Roboter in eine Richtung besonders schnell/kraftvoll fahren kann.

  5. #35
    Benutzer Stammmitglied
    Registriert seit
    17.08.2009
    Ort
    Schwabenland
    Alter
    39
    Beiträge
    53
    Hi, wenn dich immernoch das Rauschproblem plagt, schau dir doch einfach mal das Spektrum deiner Messungen an.

    Eine kleine Schwierigkeit könnte darin stecken das deine Messrate nicht konstant ist (wenn du zu sehr mit den Interrupts unterwegs bist). Kannst du irgendwie ne zeitartige Sache dazu speichern, sag mer mal vergangene Takte oder so?

    Das Spektrum dürfte dir dann sagen ob du wirkliches Rauschen vorliegen hast, oder ob du einfach nur irgendwelche Schwingungen von den Getrieben oder so drin hast.

    Evtl wärs auch sinnvoll 2 Controller zu benutzen, einen zur Messung und Filterung (Kalman wär wahrscheinlich wirklich gut, wenn du weist wie man die Parameter sauber wählt), und einen zur Regelung. Dann könntest sinnvolle (und konstante) Abtastraten einhalten, was bei jeder Art von digitaler Filterung ja recht dringend notwendig ist.

  6. #36
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    32
    Beiträge
    49
    Nein, das "Rauschen" ist kein Problem. Das war kein Rauschen, sondern einfach nur ein viel zu langsam abgetastetes Signal.
    Im Moment versuche ich dem Roboter das selbstständige Balancieren beizubringen, sodass man nicht mehr mit der Fernsteuerung die Position halten muss. Der Roboter soll auf einer Stelle balancieren und auch dorthin zurückfahren, wenn er sich etwas entfernt hat. Ein paar Sekunden klappt das auch, aber dann schwingt er sich auf, pendelt um diese Stelle und wird irgendwann zu schnell. Liegt vielleicht an meinen Reglereinstellungen, da habe ich noch nicht so viel ausprobiert.
    Evtl wärs auch sinnvoll 2 Controller zu benutzen, einen zur Messung und Filterung (Kalman wär wahrscheinlich wirklich gut, wenn du weist wie man die Parameter sauber wählt), und einen zur Regelung. Dann könntest sinnvolle (und konstante) Abtastraten einhalten, was bei jeder Art von digitaler Filterung ja recht dringend notwendig ist.
    Es sind zwei Controller. EIn ATmega8 macht die Filterung, ein Mega32 die Regelung und den Funkverkehr. Beides (Regelung und Messung+Filterung) läuft im Interrupt, also mit einer konstanten Abtastrate.

  7. #37
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Du hast dir sicherlich was dabei gedacht, Regelung + Datenaufnahme auf zwei µC's zu splitten, aber ist das so optimal....? Ich meine, ein Mega32 sollte eigentlich keine Schwierigkeiten haben alles auf einmal zu machen. Die Datenübertragung von µC1 zu µC2 dauert sicherlich auch ein bisschen. Alle diese Zeiten summieren sich auf und machen deine Regelung langsam. Da kann sie mit 1000Hz laufen, wenn die gemessenen Sensorwerte schon 0.1 Sekunden alt sind bringt das auch nichts mehr.... Ein Kollege hat es geschafft einen MiniQuadrocopter (Achsabstand 155 mm, das ist SEHR klein) mit nur 50Hz Regelfrequenz zum fliegen zu bekommen. Niemand hat vorher geglaubt, dass das möglich ist. Der Schlüssel liegt wohl darin, dass sofort nach dem Erfassen der Sensorwerte, neue Sollwerte an die Regler geschickt werden. Da ist dann die 50 Hz Updaterate nicht so schlimm, denn jeder Motor bekommt im 50Hz Takt die allerneuesten Messwerte.
    Nur mal so als Gedankenanstoss.....
    Viele Grüße, William
    -> http://william.thielicke.org/

  8. #38
    Benutzer Stammmitglied
    Registriert seit
    17.08.2009
    Ort
    Schwabenland
    Alter
    39
    Beiträge
    53
    @ Kehrblech
    Ich hatte es falsch verstanden, wenn der Interrupt von enm Timer ausgelöst wird passts natürlich.

    Hat eigentlich mal wer versucht die Datenauswertung mit Messung Filterung und Regelung auf einem FPGA zu realisieren? Das ganze kann ja recht herrlich paralellisiert werden. Müsste dann auch eine sehr gute Regelgeschwindigkeit ohne große Totzeiten ergeben.

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    32
    Beiträge
    49
    Alle diese Zeiten summieren sich auf und machen deine Regelung langsam.
    Die mit Abstand längste Zeit ist eindeutig die Messung selber. Die Datenübertragung (I²C, 400000) ist im Vergleich dazu sehr kurz.
    Der ATmega8 (8MHz) für die Messung ist schon voll ausgelastet, damit die Fehler beim Gyro-Integral kleiner werden. Wenn das der Mega32 (16MHz) machen müsst bleibt nicht mehr viel übrig.

  10. #40
    Benutzer Stammmitglied
    Registriert seit
    08.03.2008
    Alter
    32
    Beiträge
    49
    Ich komme einfach nicht weiter. Der Roboter schafft es einen bestimmten Winkel zu halten, fährt aber immer in eine Richtung weg und kippt um. Um das zu verhindern, messe ich die Motorgeschwindigkeiten und versuche den Roboter auf einer Position zu halten. Dazu braucht man natürlich auch einen Regler. Und den schaffe ich einfach nicht richtig einzustellen. Im Moment wird abhängig von der Abweichung zur Sollposition eine bestimmte Geschwindigkeit vorgegeben (P-Regler). Die Abweichung von dieser Soll-Geschwindigkeit wird wiederum in einen Winkel umgewandelt (PI-Regler). Bsp:
    Wenn der Roboter x cm von der Soll-Position entfernt ist, soll er mit der Geschwindigkeit P*x auf diese Position zufahren. Um diese Geschwindigkeit zu ereichen kippt er gezielt in diese Richtung, bis er schnell genug ist. Je näher er der Soll-Position kommt, desto langsamer soll er werden. Um abzubremsen kippt er leicht in die andere Richtung. Soviel zur Theorie.
    Je nach Einstellung des Reglers passiert folgendes:
    Entweder reagiert der Roboter nicht stark genug und fährt trotzdem in eine Richtung weg.
    Oder er reagiert zu stark und schwingt sich auf, fährt also immer um die Soll-Position herum, immer etwas weiter, bis es auch da umkippt. Eine Mitteleinstellung kann ich nicht finden, es kommt mir eher so vor, dass ich einfach falsche Regler einsetze, bzw. richtige Regler mit falschen Eingangs- und Ausgangsgrößen.

    Wie kann ich die Position denn sonst versuchen zu halten? Ich habe keine Idee mehr.

Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen