-         

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

Thema: RP6 Linksdrall ausgleichen?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Beiträge
    74

    RP6 Linksdrall ausgleichen?

    Anzeige

    Hallo,
    habe jetzt endlich einen funktionierenden RP6 von Conrad bekommen. Aber er hat einen linksdrall. In dem Manual steht nur wie man die Distanz beider Antriebe Kalibriert, aber nicht der linken und rechten antriebs kette einzeln... Als anfänger würde ich natürlcih ungern am Anfang direkt die ganze Lib zerpflücken... wie kann ich das schnell lösen das ich mal ein bischen experimenteiren kann? Gruß Axel

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo axel88,

    wenn du mit einer bestimmten Geschwindigkeit fährst, könntest du anstelle von ...
    moveAtSpeed(90, 90);
    ... eine etwas höhere Geschwindigkeit links probieren ...
    moveAtSpeed(91, 90);

    Gruß Dirk

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Beiträge
    74
    gibt es nicht eine möglichkeit, das auszugleichen, ohne das ich es in jedem Projekt berücksichtigen muss?
    Und wenn ich mir grad überlege, wie kann das zu stande kommen? wenn die Taktgeber korrekt arbeiten müsste ja die rechte kette nen größeren Radius als die linke haben?

    MfG axel

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo axel88,

    du könntest die Funktion moveAtSpeed so ändern:
    Code:
    void moveAtSpeed(uint8_t desired_speed_left, uint8_t desired_speed_right)
    {
    	desired_speed_left += 2; // corrected left speed
    	if(desired_speed_left > 200) desired_speed_left = 200; 
    	if(desired_speed_right > 200) desired_speed_right = 200;
    	mleft_des_speed = desired_speed_left;
    	mright_des_speed = desired_speed_right;
    }
    Mit den Encodern hat das erstmal nichts zu tun.

    Gruß Dirk

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Mit den Encodern hat das erstmal nichts zu tun.
    Ich dachte immer, moveAtSpeed() regelt die Drehzahl automatisch, wenn das Task-System aktiviert ist:

    * This function sets the desired speed value.
    * The rest is done automatically. The speed is regulated to this speed value
    * independent of Battery voltage, surface, weight of the robot and other things.
    *
    * You need to call task_motorSpeedControl(); frequently out of the main loop!
    * otherwise this function will not work!
    * Or use task_RP6System which includes this call.
    (Aus der Beschreibung von moveAtSpeed() in RP6RobotBaseLib.c ab ca. Zeile 695)

    Also sollte es mit einem Task-Aufruf in der Hauptschleife funktionieren.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

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

    wie stark ist der Linksdrall denn?
    So etwa 15cm auf 2m wären eine normale Abweichung wenn er eine gerade Linie fahren soll. Das hängt aber auch vom Untergrund ab.

    --------------------------------

    Hast Du Dir mal mit der neuen RP6Loader Version (1.4) die Signale der Drehgeber mal anzeigen lassen?

    Eine detaillierte Beschreibung dazu gibts hier (Drehgeber justieren):
    http://www.arexx.com/rp6/html/de/docs.htm
    (direkt link: http://www.arexx.com/rp6/downloads/R...E_20071219.zip )

    Damit das funktioniert musst Du noch dieses:
    http://www.arexx.com/rp6/downloads/R...W_SELFTEST.zip
    Programm in den Roboter laden!

    Also erstmal nur wie im ersten Teil des PDFs beschrieben das Signal anzeigen lassen und evtl. die Ausgabe des Tests im Terminal mal hier im Forum posten.

    ------------------------------------------------------------------

    Kleine Abweichungen sind aber normal. Die standard Regelung in der RP6Lib ist nicht perfekt. Das Regelintervall ist mit 200ms relativ lang.
    Und es wird nur für jeden Antrieb EINZELN die Geschwindigkeit eingeregelt - Unterschiede werden nicht automatisch ausgeregelt.
    Also könnte für kurze Zeit die Geschwindigkeit der beiden Antriebe abweichen und währenddessen fährt der Roboter dann natürlich eine kleine Kurve - je nachdem wie hoch dieser Unterschied ausfällt und auf welchem Untergrund er fährt.

    Schau mal im ASURO Bereich - da haben einige Anwender eine eigene Lib geschrieben die die Drehzahlen der Motoren aneinander angleicht - das könnte man durchaus mit der normalen Regelung vom RP6 kombinieren...

    MfG,
    SlyD

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Das Thema kam mir doch gleich so bekannt vor:

    http://www.roboternetz.de/phpBB2/viewtopic.php?t=32498

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Beiträge
    74
    So....
    also hatte mit moveAtSpeed(98, 80); eine halbwegs gerade Linie erreicht. Kann die anderen Vorschläge jetzt leider nicht mehr ausprobieren, da der Rechte Antrieb ausgefallen ist Selftest sagt folgendes:

    Code:
    RP6 Robot Base Selftest
    
    
    
    #####################################################################
    
    ### ATTENTION!!! DANGER!!! WARNING!!!
    
    Make sure that the RP6 CAN __NOT__ MOVE!
    
    The caterpillar tracks should NOT touch the ground!
    
    (hold it in your hands for example...)
    
    THE RP6 WILL START MOVING IN TEST 8! YOU CAN DAMAGE IT IF YOU DO NOT
    
    MAKE SURE THAT IT CAN __NOT__ MOVE!
    
    Make sure both crawler tracks are FREE RUNNING! DO NOT BLOCK THEM!
    
    #####################################################################
    
    
    
    Please enter "x" and hit Enter to continue!
    
    Hint: This program requires a newline character ("\n") at the end of
    
    all input lines!
    
    
    
    # x
    
    
    
    #####################################################################
    
    #########            RP6 Robot Base Selftest                #########
    
    ######### HOME VERSION                  v. 1.3 - 25.09.2007 #########
    
    #####################################################################
    
    #####       Main Menu         #########      Advanced Menu      #####
    
    #                                 #                                 #
    
    # 0 - Run ALL Selftests (0-8)     # s - Move at speed Test          #
    
    # 1 - PowerOn Test                # d - Move distance Test          #
    
    # 2 - LED Test                    # c - Encoder Duty-Cycle Test     #
    
    # 3 - Voltage Sensor Test         #                                 #
    
    # 4 - Bumper Test                 #                                 #
    
    # 5 - Light Sensor Test           #                                 #
    
    # 6 - ACS (and RC5 receive) Test  #                                 #
    
    # 7 - IRCOMM/RC5 Test             # System voltage is:              #
    
    # 8 - Motors and Encoders Test    #      08.26V                     #
    
    #                                 #                                 #
    
    #####################################################################
    
    # Please enter your choice (1-8, s, d, c)!                          #
    
    #####################################################################
    
    
    
    # 8
    
    
    
    #####################################################################
    
    #####################################################################
    
    #### TEST #8 ####
    
    
    
    Automatic speed speed regulation test
    
    
    
    #####################################################################
    
    ### ATTENTION!!! DANGER!!! WARNING!!!
    
    Make sure that the RP6 can __NOT__ move!
    
    The caterpillar tracks should __NOT__ touch the ground!
    
    (hold it in your hands for example...)
    
    THE RP6 WILL START MOVING FAST! YOU CAN DAMAGE IT IF YOU DO NOT
    
    MAKE SURE THAT IT CAN __NOT__ MOVE!
    
    Make sure both crawler tracks are FREE RUNNING! DO NOT BLOCK THEM!
    
    --> OTHERWISE THE TEST WILL FAIL!
    
    #####################################################################
    
    
    
    ### Enter "x" and hit return when TO START this test!
    
    ### Make sure the RP6 can not move!
    
    
    
    
    
    # x
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 000 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    Speed Left: OK
    
    Speed Right: OK
    
    T: 020 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 020 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 020 |VL: 000 |VR: 000 |PL: 000 |PR: 000 |IL: 000 |IR: 001 |UB: 08.25V
    
    T: 020 |VL: 000 |VR: 000 |PL: 020 |PR: 020 |IL: 010 |IR: 006 |UB: 08.24V
    
    T: 020 |VL: 020 |VR: 000 |PL: 023 |PR: 040 |IL: 014 |IR: 001 |UB: 08.24V
    
    T: 020 |VL: 020 |VR: 000 |PL: 022 |PR: 060 |IL: 014 |IR: 001 |UB: 08.24V
    
    T: 020 |VL: 020 |VR: 000 |PL: 023 |PR: 080 |IL: 015 |IR: 001 |UB: 08.24V
    
    T: 020 |VL: 020 |VR: 000 |PL: 023 |PR: 100 |IL: 016 |IR: 001 |UB: 08.23V
    
    T: 020 |VL: 021 |VR: 000 |PL: 023 |PR: 120 |IL: 016 |IR: 001 |UB: 08.23V
    
    T: 020 |VL: 021 |VR: 000 |PL: 023 |PR: 140 |IL: 016 |IR: 001 |UB: 08.23V
    
    Speed Left: OK
    
    ####### ERROR Right #######
    
    ####### !!!  WARNING WARNING WARNING  !!! #######
    
    ####### !!! TEST FINISHED WITH ERRORS !!! #######
    
    #### Please check motor and encoder assembly! ###
    
    #### And also check Sensors for defects!      ###
    
    
    
    
    
    Enter any character to continue!
    kann man das irgendwie selbst beheben oder muss ich das ding wieder wegschicken?
    MfG Axel

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

    versuch bitte mal einen kleinen manuellen Test zu machen:

    ------------------------------------------

    - Starte das neue Testprogram.
    - Gib im Hauptmenü "c"+Enter ein (Encoder Test - kann auch zum testen der Motortreiber verwendet werden).
    - "30"+Enter eingeben
    - 3 Sekunden warten
    - "60"+Enter eingeben
    - 3 Sekunden warten
    - "90"+Enter eingeben
    - Sollte sich die rechte Kette dann noch nicht drehen, dreh zwei drei mal mit der Hand dran, so dass sich die Werte für die Encoder verändern.

    - "60"+Enter eingeben
    - "bwd" eingeben
    - 3 Sekunden warten.
    - "90"+Enter eingeben
    - wieder an der rechten Kette drehen sofern Sie das nicht von selbst tut.
    - "r"+Enter eingeben
    - 3 Sekunden warten
    - "l"+Enter eingeben
    - 3 Sekunden warten
    - "x"+Enter eingeben um den Test zu beenden.

    Ausgabe hier bitte posten und kurz beschreiben wann sich welcher Antrieb gedreht hat und wann nicht!


    ------------------------------------------

    Schau auch mal auf der Platine im Bereich der Motortreiber ob nicht irgendetwas einen Kurzschluss verursachen könnte (kleiner Metallsplitter zwischen zwei benachbarten Pins eines Chips o.ä.) oder irgendwo eine schlechte Lötstelle ist.
    Hier mal ein Foto wie es in etwa ausschauen sollte:
    http://www.arexx.com/rp6/tmp/motor_drivers_closeup.jpg

    Sofern möglich kannst Du auch ein (gutes - etwa so wie das Foto oben) Foto mit ner Digicam davon machen und es mir schicken, ich werde dann mal schauen ob etwas zu erkennen ist.

    MfG,
    SlyD

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    ...kann man das irgendwie selbst beheben oder muss ich das ding wieder wegschicken? .....


    das gerät sofort tauschen, ansonsten häufen sich die fehler und kannst am rp6 nicht mehr vorn von hinten unterscheiden in den libs.
    du tust gut daran mal selber eine antriebsprogramm zu schreiben, dann hat man die fehler schneller im griff. stück für stück, es lohnt sich.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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