-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: unterschiedl. Rotationswinkel bei untersch.Geschwindigkeiten

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    40
    Beiträge
    19

    unterschiedl. Rotationswinkel bei untersch.Geschwindigkeiten

    Anzeige

    Hallo Leute!
    Habt ihr vielleicht ne Lösung für folgende 2 Probleme!?
    Ich habe den Drehzahlgeber so präzise an den Poti's eingestellt wie möglich, sodass mein Robby6 auf 2 Meter weniger als 1 cm schief kommt.

    Dann hab ich im Config.h den Rotation-Factor angepasst, sodass bei Geschwindigkeit 100 der Roboter bei rotate(x,x,360,x) exakt eine ganze Umdrehung macht und wieder gerade da steht.
    Wenn ich jedoch Geschwindigkeit 50 eingebe macht er nur mehr ca. 340-350 Grad. Ist das normal, bzw. wie kann ich das Problem beheben?

    Außerdem ist mir aufgefallen das er bei einer Links-Umdrehung nicht so exakt dreht wie nach rechts. Woran liegt das? Kann man beide Seiten unterschiedlich "feinjustieren"?

    Ich hab den Rotation-Factor auf 780 stellen müssen. Was habt ihr bei euch eingestellt?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    24
    Beiträge
    188
    Abweichungen sind normal:
    Das ist erstmal normal und es wurde ja oben bereits erläutert warum! Bei
    Raupenantrieben entstehen immer Abweichungen durch Kettenschlupf. Außerdem
    müssen die Encoder kalibriert werden bevor das überhaupt richtig
    klappen kann. Lesen Sie dazu auch Anhang B.
    Irgendwo in der Anleitung steht da auch noch was dazu, das finde ich aber gerade nicht.

    Ansich ist es eigentlich normal, dass rechts und links unterschiedlich funktionieren, weil es nie funktionieren wird die Encoder perfekt und vorallem exakt gleich einzustellen.

    Dass der Roboter auf 2m nur 1cm von der Geraden abweicht ist eigentlich extrem gut.
    Eine Abweichung beim Drehen um 10-20° ist eigentlich auch nicht außergewöhnlich.

    Das einzige was man noch versuchen könnte, wäre die ganze Drehung exakt bei einer Geschwindigkeit von 70 einzustellen, denn das ist eigentlich die Standardgeschwindigkeit.
    Außerdem hättest du dan sowohl zu 50 als auch 100 nicht so einen großen Unterschied, somit könnte es u.U. exakter sein.

    Ich persönlich habe (noch) nichts verändert, denn für mich funktioniert er genau genug, da ich mich sowieso eher mit Aufbauten, Servos, etc. beschäftige.

    edit:
    Ich an deiner Stelle würde an den Encoder nichts mehr umstellen, diese sind anscheinend schon sehr gut eingestellt.
    Das Zitat ist aus der Beschreibung der RP6 Base - Fehlerbehebung

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    40
    Beiträge
    19

    hmm...

    Es ist mir schon klar das Ketten-/Raupenantriebe einen gewissen Schlupf haben.
    Da meine Poti's ganz gut eingestellt habe, könnte man meinen, das auch die Rotationswinkel exakt stimmen sollten (nach beiden Seiten, egal welche Geschwindigkeit).
    So verstehe ich auch nicht warum die Drehwinkel an beiden Seiten unterschiedlich sind, da sie ja (anscheinend) gut eingestellt wurden, sonst würde er ja nicht geradeaus fahren.
    Und das bei verschiedenen Geschwindigkeiten immer exakt gleich verschiedene Winkel gedreht werden hat sicher nichts mit Schlupf zu tun.

    Das mit der Geschwindigkeit auf 70 justieren ....
    da geb ich dir recht, so hätte ichs jetzt gemacht, aber ich hätte natürlich gerne, das die Drehwinkel immer gleich sind, egal welche Geschwindigkeit. Weiß vielleicht noch wer Rat!?

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Hallo,

    Wie ich hier schon (sehr oft) geschrieben habe hat das alles NICHTS mit den Potis von den Encodern zu tun.

    Sobald die ein Signal im Bereich 60:40 oder 40:60 liefern passt es - ist egal ob das genau 50:50 ist die ANZAHL der Impulse die gezählt werden ändert sich dadurch nicht!
    Die Drehgeber messen nur um welchen WINKEL sich die Räder gedreht haben (darüber kann man dann über den exakten Durchmesser und die Zeit die gefahrenen Strecke und die Geschwindigkeit ermitteln).

    Die Regelungsroutinen sind relativ langsam (also mit sanftem an und abbremsen) das fügt schonmal eine kleine Softwareabweichung hinzu.
    Könnte man durchaus noch einiges bei rausholen.
    (Die RP6Lib ist als guter Ausgangspunkt gedacht und keine perfekte Lösung)


    Wichtiger ist natürlich die REIBUNG. Die Ketten reiben (Kettenantrieb - Prinzipbedingt) komplett über den Boden während der Rotation - anders als beim Geradeausfahren wo sie fast wie bei einem Rad einfach nur vorwärts rollen.
    d.h. beim Geradeausfahren wird die gefahrene Distanz grob mit der gemessenen übereinstimmen.
    Beim Rotieren wird es aber immer weniger als gemessen sein - das sind eben Ketten und keine Räder.
    Je nach Untergrund(!) mehr oder weniger da sich ja die Reibung verändert (Teppich vs. Laminat z.B.).
    Man muss meistens deutlich weiter rotieren damit es grob passt.

    Das ist bei *ALLEN* Kettenantrieben so also völlig normal das das nicht genau ist. Es sind externe Sensoren notwendig.

    Das steht übrigens auch noch in der normalen Anleitung drin.


    > das die Drehwinkel immer gleich sind, egal welche Geschwindigkeit

    Da müsstest Du den Korrekturfaktor nochmal je nach geschwindigkeit skalieren. Denn die Reibung ändert sich natürlich auch mit der Geschwindigkeit.

    MfG,
    SlyD

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    40
    Beiträge
    19
    Ich hab die Beschreibung vom Robby gelesen!
    Das kann bei meinem Problem Nr 1 eindeutig kein Reibungsproblem sein, denn...
    eine Linksumdrehung dreht fast exakt bei 180 Grad diese 180 Grad und auch bei 360 dreht er sich links seine 360 Grad.
    Wenn er sich jedoch nach rechts dreht, dreht er sich bei 180 Grad nur ca 170 Grad und bei 360 nur 340 Grad.
    Egal auf welchem Untergrund ich fahre und wie oft ich probiere, links ist immer OK, nur die rechte Seite passt niemals, also kanns eindeutig kein Schlupfproblem sein. Es muss ein anderes Problem sein.
    Da die Drehgeber an jeder Seite des Antriebs gleich sind, (36 Segmente)sollte doch auch jede Rotation gleich sein, egal ob sich der Roboter rechts od. links dreht.

    Problem 2:
    Ich habe folgendes Test-Programm geschrieben (v=Geschwindigkeit):
    -) fahre 100mm vorwärts mit v 200
    -) dreh 180 grad mit v 200
    -) fahre 100mm vorwärts mit v 200
    -) dreh 180 grad mit v 200
    usw...
    Also hier stimmt überhaupt nichts
    er dreht sich statt 180 Grad nur um ca 100 dann wieder 140(aber nie 180)
    fährt einmal nur 1cm dann wieder ca 10 vorwärs
    Jaja, ich weiss man soll nur 160 im Dauerbetrieb fahren. Aber wenn ich v 200 fahren kann, dann sollte auch alles hinhauen.
    Liegts vielleicht daran, dass die Drehzahl nur 5 mal pro Sek gemessen wird?

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    24
    Beiträge
    188
    du wirst es sowieso nicht schaffen es noch genauer hinzubekommen ...
    deine Einstellungen sind ohnehin schon sehr genau

    Wie SlyD kannst du die Library ändern / erweitern etc.

    Außerdem mit einer Geschwindkeit von 200 eine Bewegung zu machen, ist ca. vergleichbar wenn du mit einem Auto eine 90° Kurve mit 150 machen willst.
    Das Problem ist dass diese Geschwindigkeit für die Sensoren und die motioncontrol funktion viel zu hoch ist um die Bewegung genau durchzuführen.


    Die 2 Möglichkeiten das noch zu verfeinern sind
    1. Library erweitern, umschreiben usw.
    2. Sensoren z.B. an den Ecken der Platine anbringen und diese entweder in die Library oder in das Programm selbst zu integrieren

    Meiner Meinung nach ist "weder noch" den Aufwand wert.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    40
    Beiträge
    19
    Schade, hab ich wohl zu viel erwartet (
    Trotzdem danke für euren Beitrag!

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    24
    Beiträge
    188
    Die einzige weitere Möglichkeit wäre z.B. ein Fließenboden (oder irgendein Boden mit regelmäßigen Fugen o.ä.).

    Es gibt im Forum einen Thread (soweit ich mich erinnern kann), ich finde ihn allerdings zur Zeit nicht, indem man mit dem ACS eine Linie verfolgen kann.

    Somit könnte man trixen und bei einer 360° Drehung solange drehen bis man 2mal die Linie "gesehen" hat.
    Der einzige Haken: funktioniert nur dann wirklich gut, wenn man vorher genau (gerade) auf der Linie stand

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    40
    Beiträge
    19
    Scherzkeks!

    Wenn jemand noch ne Lösung hat, bitte melden!

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Wie gesagt - Du könntest noch an der Software ansetzen!
    Die Regler sind wirklich noch nicht optimal und die Funktionen in der RP6 Lib versuchen immer etwas die Geschwindigkeit vor dem Ziel runterzuregeln.


    Du könntest auch einen Gyro Sensor (Rotationssensor) verwenden - mittlerweile gibts ein paar relativ günstige mit Analogausgang (z.B. LISY300AL - jaja SMD aber es gibt Breakout Boards für um die 20 Euro in diversen Shops). Damit bekommst Du die Winkelgeschwindigkeit wenn der Roboter rotiert.

    Es gibt sowas auch zusammen mit Beschleunigungssensoren als komplette sog. IMU und damit kann man dann mehere Freiheitsgrade kombiniert messen und so den Pfad den der Roboter abgefahren ist aufzeichnen - komplett ohne Odometrie.

    Super genau wird das natürlich auch nicht aber versuchen könnte man es mal.
    (nein ich habe das noch nicht selbst probiert )

    MfG,
    SlyD

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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