- LiFePO4 Speicher Test         
Seite 27 von 28 ErsteErste ... 1725262728 LetzteLetzte
Ergebnis 261 bis 270 von 278

Thema: Sensor für balancierenden 2-Rad Roboter

  1. #261
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.12.2004
    Alter
    39
    Beiträge
    287
    Anzeige

    Praxistest und DIY Projekte
    Hallo Waste,

    Also deinen Code kann ich soweit nachvollziehen.
    Aber wozu ist die variable v0? Kann man damit die Fahrtgeschwindigkeit angeben?

    Noch eine Verständnisfrage:
    Wirkt der zweite Regler dem Ersten nicht entgegen? Also der Winkelregler versucht den Bot zu beschleunigen (um in im Gleichgewicht zu halten) und gleichzeitig versucht der Geschw. Regler den Bot zu bremsen, um auf dem Gleichen Fleck stehen zu bleiben. Also wenn man nur einen Winkelregler verwendet, bleibt er doch auch auf dem gleichen Fleck stehen, er fährt ja nur wenn er auf dem Gleichgewicht kommt.

    Wegen der Filterung:
    Du addierst die letzten 4 Winkelwerte. Aber wieso dividierst du dann nur 2 und nicht durch 4?

    Mit freundlichen Grüßen
    Roland
    The future is closer then you think!

  2. #262
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Zitat Zitat von locked
    Aber wozu ist die variable v0? Kann man damit die Fahrtgeschwindigkeit angeben?
    Ja, genau.

    Wirkt der zweite Regler dem Ersten nicht entgegen?
    Den P-Regler für die Geschwindigkeit darf man nicht als alleinstehenden Regler betrachten, der ist ein Teil der gesamten Regelung. Alleine würde er nicht funktionieren, da er mitkoppelt. Er ist nicht gegengekoppelt wie normal eine Regelung ist. Und jetzt wird es schwierig für mich, das zu erklären. Ich versuch es mal so: Angenommen der Bot wurde im Winkel ausgeregelt aber er fährt noch mit konstanter Geschwindigkeit, dann muss, um ihn zum Stehen zu bringen, die Geschwindigkeit zuerst einmal erhöht werden, damit er sich nach hinten neigt und dann kann erst abgebremst werden. Kurz vor dem Stillstand dann der umgekehrte Vorgang damit er sich wieder aufrichtet. Auch beim Losfahren aus dem Stillstand muss man zuerst in die Gegenrichtung starten. So ein Verhalten bewirkt die Zusammenschaltung. Damit es nicht ausartet, wird der P-Regler begrenzt. Der Winkelregler soll die Oberhand behalten.
    Also wenn man nur einen Winkelregler verwendet, bleibt er doch auch auf dem gleichen Fleck stehen, er fährt ja nur wenn er auf dem Gleichgewicht kommt.
    Wenn man mal den Luftwiderstand außer Acht läßt, dann steht ein ausbalancierter Bot auch bei einer konstanten Geschwindigkeit aufrecht. Eine Winkeländerung kann nur durch eine Beschleunigung verursacht werden. Das bedeutet, wenn ein stillstehender balancierender Bot eine Störung durch antippen erfährt, dann wird er nur mit einem Winkel-Regler ausgestattet, zwar wieder in die aufrechte Position regeln aber durch den Regelvorgang beschleunigt haben und so mit konstanter Geschwindigkeit weiterfahren. Umgekehrt kann man so einen Bot durch festhalten zum Stehen bringen. Ob die Reibung dabei das Verhalten in der Wirklichkeit verbessert oder verschlechtert hat, kann ich gar nicht mehr sagen. Das müsste ich erst wieder ausprobieren. Aber so ähnlich hat sich mein Asuro nur mit Winkelregler verhalten.
    Wegen der Filterung:
    Du addierst die letzten 4 Winkelwerte. Aber wieso dividierst du dann nur 2 und nicht durch 4?
    Das hat sich so ergeben. Ich hatte früher nur 2 Messungen addiert und die Regelung so ausgelegt. Die Werte sind auch um den Faktor 100 hochskaliert, um möglichst mit Integer rechnen zu können. Mit der Filterung von 4 Messungen wollte ich das nicht mehr umstellen. Ist jetzt etwas schlecht als Anschauungsbeispiel, man möge mir das verzeihen.

    Gruß Waste

  3. #263
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.12.2004
    Alter
    39
    Beiträge
    287
    Hallo Waste,

    Also der Geschwindigkeitsregler beschleunigt sozusagen den Bot um ihn dann mit Hilfe des Winkelreglers auf die Geschwindigkeit 0 zu bringen. Daher ukorr = 20*v + v0;
    und keine Regelabweichungsberechnung. Wobei aber, wenn der Bot fährt, der Winkel nicht genau z.B. 90° beträgt, und der PD Regler sowieso versucht auf 90° hin zu regeln.

    Diese Zeile habe ich zuerst übersehne:
    w = w + v*0.001;
    Dies ist wahrscheinlich verantwortlich, um den Bot ua. auf einer Schiefen platte balancieren zu lass. Das müsste aber bedeuten, dass er den Soll Winkel so lange beeinflusst, bis die Geschwindigkeit wider 0 ist. Ist ja im Grunde auch dasselbe, was der Geschwindigkeitsregler versucht oder?

    Wobei ich aber anmerken muss, das mein Bot nach einem Antippen sich zwar um einige dm bewegt hat, aber im Grunde wider zum Stillstand gekommen ist. (Nicht diese Version im Video! Da diese noch viel zu unruhig war) Oder wirkt der Geschwindigkeitsregler in diesem fall, das er überhaupt nur ganz minimal fährt?

    Mit freundlichen Grüßen Roland
    The future is closer then you think!

  4. #264
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Mein Glückwunsch an waste !!!

    Ich habe angeregt durch das Video des balancierenden Asuro von waste
    auch meinen Asuro, der schon im Schrank verstaubte, mal wieder herausgeholt.
    Das Programm von waste draufgeflasht, den Akku hochgesetzt - und er
    balanciert wie eine eins !!!
    Klasse, ich hätte nicht gedacht das der Asuro das kann.
    Und dann noch mit so einfachen Mitteln.
    Ich hatte es mit einem ADXL202 versucht und aufgegeben.
    Wahrscheinlich habe ich zuwenig Ahnung von Regelungstechnik.
    Jetzt muss ich mir erstmal das Programm genauer ansehen...

    Schöne Grüße

    Jan

  5. #265
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.12.2004
    Alter
    39
    Beiträge
    287
    Hallo JanB,

    mit dem ADXL bin ich auch gescheiter. Siehe:
    https://www.roboternetz.de/phpBB2/viewtopic.php?t=14741

    Weil er auch die Ausgleichbewegung wertet.
    mfg
    The future is closer then you think!

  6. #266
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo Roland,

    die Sache mit dem Geschwindigkeitsregler ist wirklich kompliziert. Ich muss auch immer wieder in der Simulation nachsehen, um es dann erklären zu können. Man kann es vielleicht auch so erklären: Da der mitgekoppelte P-Regler die Wirkung des Winkelreglers verstärkt, sozusagen zuviel des Guten macht, muss der Winkelregler solange zusätzlich eingreifen wie der Geschwindigkeitsregler mitmischt. Erst wenn keine Geschwindigkeit mehr vorhanden ist, dann kann auch der Winkelregler ruhig bleiben. Es wird also automatisch auf Geschwindigkeit 0 bzw. v0 geregelt.

    Wenn du das übernehmen willst, musst du insbesondere die Zeile
    v = 0.987*v + 0.00189*u;
    die den Antrieb simuliert an deine Gegebenheiten anpassen. Die Koeffizienten sind auch abhängig von der Taktrate. Deshalb wird die Formel bei dir nicht funktionieren, auch wenn dein Bot in der Beschleunigung dem Asuro ähnlich wäre. Wenn du die Möglichkeit hast, die Beschleunigung zu messen, dann kann ich dir die Koeffizienten ausrechnen.
    Diese Zeile habe ich zuerst übersehne:
    w = w + v*0.001;
    Das ist der Integralregler für den Winkeloffset. Da schon geringe Farbunterschiede des Untergrunds bei dem Sensor zu kleinen Fehlern führt, ist der Teil eigentlich sehr wichtig beim Asuro. Falls der Bot längere Zeit in eine Richtung fährt, wird mit der Zeile
    w = w + v*0.001;
    der Führungswert solange verändert, bis er stehen bleibt. Mit diesem Teil wird sogar die Position geregelt. Denn wenn durch eine Störung eine Geschwindigkeit auftritt, wird auch ein Offset aufgebaut. Der Offset muss durch entgegengesetztes Fahren wieder abgebaut werden. Sieht man auch auf dem Video. Wenn man den Asuro anstößt, kehrt auch auch wieder zurück. Automatisch ergab sich dadurch auch die Regelung auf der schiefen Ebene.
    Wobei ich aber anmerken muss, das mein Bot nach einem Antippen sich zwar um einige dm bewegt hat, aber im Grunde wider zum Stillstand gekommen ist.
    Es kann sein, dass sich die Reibung hier günstig auswirkt. So weit habe ich es nicht mehr untersucht. Nachdem es bei mir funktionierte, habe ich mich zufrieden gegeben. Die Erklärungen beziehen sich in der Hinsicht auf fast ideale Bedingungen mit vielen Vereinfachungen, z.B. Vernachlässigung der Haftreibung.

    @JanB
    Freut mich, dass es gleich funktioniert hat.
    Ich hätte nicht gedacht, dass es so leicht nachzuvollziehen ist, da ich doch einige Änderungen bei mir durchführen musste.

    Gruß Waste

  7. #267
    Gast
    Hallo waste,

    Superding!!!!! Werde gleich 'mal meine ASURO rauskramen und schauen, ob er es auch kann. Leider verstehe ich nicht genug von Regelungstechnik um so etwas selbst bauen zu können. Aber was nicht ist ....

    Zum "einfachen" Teil deines Programms. Dort steht:
    ---------------------------------
    MotorDir(RWD,RWD);
    MotorSpeed(255,255); // beschleunigt kurz rückwärts
    Msleep(80); // um den Asuro aufzurichten
    ---------------------------------

    Bist du sicher, dass das eine Effekt hat? Bei Rückwärtsbeschleunigung sollte die "Nase" des Asuro heruntergedrückt werden. Ich hätte
    "MotorDir(FWD,FWD);" erwartet.

    Gruß RedBaron

  8. #268
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo waste,
    Freut mich, dass es gleich funktioniert hat..., da ich doch einige Änderungen bei mir durchführen musste.
    Die superhelle LED hatte ich sowieso schon drin von früheren Linienverfolgungsexperimenten,
    und der von dir beschriebene Stützkondensator parallel C5 ist bei mir anscheinend nicht nötig.
    Meine Stromversorgung ist ein 7.2V Li-Ion-Akku und 5V-Spannungsregler.

    Ich habe den Akku so hochgelegt, das der Bot wie in deinem Video zu sehen
    bei etwa 30 Grad ausbalaciert ist.
    Und dann klappte es auf Anhieb.
    Ich habe ein wenig herumexperimentiert mit verschiedenen Zusatzgewichten,
    Akku-"höhen" und Balancewinkeln, und es zeigt sich, das dein Regelalgorithmus
    über einen weiten Bereich stabil ist.
    Wirklich Klasse.

    Ich würde mich freuen, wenn du dein Programm und insbesondere
    die darin verwendeten Konstanten hier etwas näher erläutern würdest,
    obwohl du es schon ganz ordentlich kommentiert hast.

    Du schreibst öfters von einer Simulation. Was ist das konkret ?
    Eine Simulationssoftware ? Ein mathem. Modell ?

    Gruß Jan

  9. #269
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    @RedBaron

    Das Aufrichten des Asuro geschieht erst mit Vorwärtsbeschleunigen durch die Regelung und ohne den Rückwärtsimpuls kommt der Asuro nicht richtig hoch. Mit dem kurzen Rückwärtsimpuls geht das wunderbar.

    @JanB

    Ja, die Simulation basiert auf math. Modellen. Dazu verwende ich das Programm Scicos. Das ist ähnlich dem Simulink, aber Freeware. Ich hab das Blockschaltbild angehängt, damit man sich darunter auch was vorstellen kann. Wenn Interesse besteht, kann ich auch das File hochladen. Wer Scicos installiert hat, kann dann damit spielen.

    Gruß Waste
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken scicos.gif  

  10. #270
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.12.2004
    Alter
    39
    Beiträge
    287
    Hallo waste,

    Also der Integralregler, wie der Name eigentlich schon sagt, wirkt langsam auf den Offset, weil würde er schnell reagieren, würde er dem Winkelregler gegen wirken, da der Winkelregler den Winkel ja über die Beschleunigung des Bots ausgleicht, und der Offsetregler die Geschwindigkeit(entspricht der Ausgleichsbewegung) über die Änderung des Soll-Winkels. oder?

    Wirkt der Geschwindigkeitsregler nicht gleich wie der P- Anteil des Winkelreglers? Da der Geschwindigkeitsregler abhängig von der Stellgröße des Winkelreglers (PWM) ist, und wider in diese Stellgröße mitwirkt. Ist ja IHMO das gleiche, was der P- Anteil im Winkelregler tut?

    Mit freundlichen Grüßen Roland
    The future is closer then you think!

Seite 27 von 28 ErsteErste ... 1725262728 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress