- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: unterschiedl. Rotationswinkel bei untersch.Geschwindigkeiten

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    31
    Beiträge
    188
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Scherzkeks!
    Vielen Dank ... und es stimmt ja sogar.

    Es gibt im Forum einen Thread wie man eine Videokamera zur Hinderniserkenung verwenden kann und wie sie vom Prozessor ausgewertet wird.

    Mit so einer Kamera müsste es theoretisch doch möglich sein, exakt um 360 Grad zu drehen, denn das Bild sollte ja vorher und nachher das gleiche sein.

    Wieso soll dein Roboter eigentlich so genau drehen / fahren können?

    Im Endeffekt wird es dir nicht erspart bleiben, externe Sensoren einzubauen oder die Lib umzuändern.

    ... die Motorsteuerung in der Lib hab ich mir jetzt mal angesehen. Man könnte dort durchaus einiges Verbessern, z.B. rechts links rotation eingens anpassen, auch der Kettenschlupf (ist zwar sehr klein aber was solls) könnte miteinbezogen werden , etc.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    47
    Beiträge
    19
    Hey Leute,
    also das Problem mit den unterschiedlichen Drehwinkeln nach links und rechts habe ich eindämmen, jedoch nicht eliminieren können.
    Ich fahre mit dem Roboter alle Bewegungen mit niedriger & konstanter Geschwindigkeit 60.
    Damit ist die Abweichung der unterschiedlichen Drehwinkel minimiert.
    Sobald ich z.B auf 80 erhöhe dreht er sich bei einer rechts-Drehung wieder 10 Grad mehr als angegeben.

    Jedoch wäre da noch ein Problem. Sobald ich die Geschwindigkeit auf z.B. 150 drehe, dreht er statt 90 Grad zwischen 120 und 150 Grad .
    Ist das normal? Bzw. habt ihr bei euren Robotern auch einen unterschiedlichen Rotationswinkel beobachtet wenn man schnellere Geschwindigkeit gibt? Wenn ja wie habt ihr dieses Problem behoben?

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    31
    Beiträge
    188
    Wie schon gesagt, das ist das selbe wie wenn du mit einem Auto (besserer Vergleich - eher ein Bus) mit Vollgas ein Kurve fährst.

    Die Geschwindigkeit ist so hoch, dass die Sensoren nicht mehr genau genug bzw. nicht mehr schnell genug arbeiten/folgen können.

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    47
    Beiträge
    19
    Nee, diese Antwort laß ich nicht gelten!
    Laut Beschreibung sollten die Sensoren eine v von 160 packen.
    Außerdem wenn ich statt v 60 eine v von 70 eingebe wird der Drehwinkel auch schon ungenauer.
    Und bei einer Steigerung der v um nur 10, sollte nichts ungenau werden, da dies die Sensoren locker packen sollten.

    Hey Leute...
    das gibts ja nicht das ich der Einzige bin mit diesem Problem!
    Dauernd 60 zu fahren ist öde!

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    31
    Beiträge
    188
    Ich glaube du bist nicht der einzige der diese Problem hat, aber ich glaube es spielt für keinen anderen eine Rolle.

    Die meisten hier beschäftigen sich mit irgendwelchen Projekten (z.B. Auswertung einer Kamera, Steuerung per Funk, Arm, Anbauten, etc.) und es ist da nicht so wichtig ob der Roboter nun 10° mehr oder weniger dreht.
    Außerdem ist das schnelle Fahren mit Aufbauten wie einem Roboterarm sowieso nicht sinnvoll, denn man will seine Ladung ja nicht verlieren.

    Hast du schon etwas in der Library geändert.

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    14.12.2009
    Ort
    Steinfurt
    Beiträge
    46
    Hab auch das Problem. Ich habe erstmal eine fixe Rotationsgeschwindigkeit eingesetzt. Die nutze ich aber nur für den Befehl rotate(), Kurvenfahrten um Objekten auszuweichen mache ich nach Sensorsignalen. Vielleicht bau ich nochmal nen geschwindigkeitsabhängigen Rotationskorrekturfaktor ein aber erstmal fährt er so schon recht zuverlässig.

    Grüße,
    Jan

  7. #17
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    OK also gebe ich mal noch ein paar Tipps:

    Wie ja oben bereits gesagt wurde - die standard Regler sind recht langsam.
    Die Regelung (beeinhaltet Rotation und Bewegung um bestimmte Distanzen) wird 5x pro Sekunde aufgerufen. So oft wird auch der Geschwindigkeitswert aktualisiert und auch die gefahrene Distanz!

    Max Wert für die Geschwindigkeit ist 200 Segmente (von den Musterscheiben der Drehgeber) pro 200ms.
    Diese 200ms sind also schonmal ein Bereich in dem die Motoren weiterlaufen obwohl die Solldistanz erreicht wurde. Kann sogar etwas mehr werden da die Motoren ja langsam abgebremst werden...
    Es ist schon ein kleiner korrekturfaktor drin der die Motoren etwas eher stoppt aber das ist nicht sonderlich genau da nicht von der Geschwindigkeit abhängig.


    Das Regelintervall könnte man schonmal halbieren (max. Wert für die Geschwindigkeits routinen wäre dann 100 Segmente pro 100ms) oder vierteln (max. Wert ist dann 50 Segmente pro 50ms).
    (der Wert ist in der RP6config.h definiert - aber vorsicht wenn das geändert wird sollte man auch noch ein paar andere Sachen in der Lib anpassen z.B. maximalgeschwindigkeit usw. )

    Oder eine zweiten unabhängige Auswertung NUR für die Distanz implementieren die die Distanz z.B. 20x pro Sekunde misst und die Motoren schneller stoppt wenn die Solldistanz erreicht wurde.

    Dazu muss man natürlich einiges am Code der RP6Lib ändern...

    MfG,
    SlyD

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    47
    Beiträge
    19
    Endlich eine vernünftige Anwort!
    Ja, die Abtastung erhöhen, an das hab ich nicht gedacht, das ist ne Idee!
    Danke Mann!

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    31
    Beiträge
    188
    Also bei mir ist es damals durch die Erhöhung der Abtastung nicht wirklich genauer geworden ...

    Alleine das hat glaube ich viel Sinn.

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2009
    Ort
    Bezirk Mödling
    Alter
    47
    Beiträge
    19
    Hey Leute ich hab das Problem endgültig gelöst....
    1) ich fahre alle Geschwindigkeiten mit Geschwindigkeiten von 60, damit sich keine Unregelmäßigkeiten wie oben genannt ergeben.
    2) Beim Problem mit den unterschiedlichen Rotationswinkeln.....hierl lasse ich den Roboter immer nur nach links drehen, da die Linksumdrehung wunderbar passt.
    D.h. wenn ich 90 Gerade nach rechts will, lass ich ihn 270 nach links drehen, wenn ich 45 Grad nach rechts will dreh ich 315 nach links usw....

    HEY UNGLAUBLICH ABER WAHR:
    Mein Roboter ist jetzt so exakt eingestellt, das er 20,6 Meter zurücklegt (mit 9 Drehungen) und um nur 3 mm versetzt auf seinem Ausganspunkt zurückkehrt (ohne Hilfe von Sensoren)!!!
    Eine ganze Woche hab ich dafür verkackt!

    Er fährt durchs Wohnzimmer, Vorzimmer, bis in die Mitte der Küche, dreht um und kehrt zurück zum Ausgangspunkt, aber seht selbst

    Folgendes Test-Programm hab ich dafür geschrieben:
    Code:
    while(true){
    	task_RP6System(); //4 in 1
    	move(DRIVE_SPEED,FWD,DIST_MM(1200),true);
    	rotate(ROTATION_SPEED,LEFT,270,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2500),true);
    	rotate(ROTATION_SPEED,LEFT,315,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2000),true);
    	rotate(ROTATION_SPEED,LEFT,315,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2100),true);
    	rotate(ROTATION_SPEED,LEFT,270,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(3500),true);
    		
    	rotate(ROTATION_SPEED,LEFT,180,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(3500),true);
    	rotate(ROTATION_SPEED,LEFT,90,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2100),true);
    	rotate(ROTATION_SPEED,LEFT,45,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2000),true);
    	rotate(ROTATION_SPEED,LEFT,45,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(2500),true);
    	rotate(ROTATION_SPEED,LEFT,90,true);
    	move(DRIVE_SPEED,FWD,DIST_MM(1200),true);
    }

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests