-
        

Ergebnis 1 bis 8 von 8

Thema: Kurven fahren (=> Feineinstellungen)

  1. #1

    Kurven fahren (=> Feineinstellungen)

    Anzeige

    Hallo an alle,
    wie kann man mit dem RP6 (über die M32 Platine als Master, aber das tut ja nichts zur Sache) mit einem Motor z.B. mit der Geschwindigkeit 100 vorwärts fahren und mit dem anderen Motor gleichzeitig mit der Geschwindigkeit 50 rückwärts fahren, sodass man also eine Kurve fährt?
    Vielen Dank,
    Viele Grüße und schon mal frohe Weihnachten
    teamohnename

  2. #2
    Benutzer Stammmitglied Avatar von fulltime
    Registriert seit
    08.10.2011
    Beiträge
    50
    Wieso willst du die eine Seite rückwärts fahren lassen? Es reicht doch die äußere Seite in der Kruve schneller zu machen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Es reicht doch die äußere Seite in der Kruve schneller zu machen.
    Eigentlich schon. Dasselbe Fahrgestell verwende ich auch und bei mir muss die eine Seite deutlich schneller sein damit er eine ausreichend enge kurve fährt. Wenn dein Code z.B. so aussähe (8bit PWM): MotorRechts = 100 MotorLinks = 50 wird sich da kaum was tun (zummindest war es bei mir so) deshalb bin ich dann auch dazu übergegangen eine rückwarts laufen zu lassen.

    Allerdings muss man aufpassen, dass man nicht erst die linke Kette mit z.B. 50 rückwärts laufen lässt und wenn die Kurve zu Ende ist auf Vorwärtslauf umschaltet und gleich Vollgas (255) gibt, sonst gibts Probleme mit dem Motortreiber.

    Ich kenne die Lib des RP6 jetzt nicht aber es müsste da eigentlich getrennte Funktionen zum Einstellen der Laufrichtung jedes Motors geben.

    MfG

    Torrentula
    MfG Torrentula

  4. #4
    Wenn man eine vorwärts und eine rückwärts fahren lässt, werden die Kurven eben noch enger, als wenn man eine aus und eine voll vorwärts laufen lässt.
    Meine Frage war nun, wie man das macht.
    Ich habe einen Wallfollower Algorithmus, der mir zum Schluss zwei Variablen von jeweils -200 bis 200 ausgibt, dann für jeden Motor eben eine. Wenn ich in moveAtSpeed -200 eingebe, fährt er mit 200 vorwärts. Manchmal ist es eben so, dass eine Variable im Bereich >0 und eine <0 ist. Deshalb muss ich es irgendwie hinkriegen, dass ich gleichzeitig einen Motor vorwärts und einen gleichzeitig rückwärts laufen lassen kann.
    Wie machst Du das denn, Torrentula? Könntest Du eventuell einen Codeausschnitt posten? Oder verwendest Du gar nicht die original RP6 Platine, sondern wirklich nur das Gestell?
    Danke!

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Ich verwende nur das Fahrgestell, deshalb kann ich auch keinen Code posten

    Ich bin aber trotzdem der festen Überzeugung, dass man beide Motoren getrennt voneinander laufen lassen kann, da genau das ja der große Vorteil von Kettenfahrzeugen ist, der kleine Wendekreis.
    Es gibt bestimmt einen RP6 Besitzer der dir genau sagen kann, welche Funktion das ist.

    Allerdings hast du mein Interesse and dem Wall-follower Algorithmus geweckt . Benutzt du den RP6 um aus einem Labyrinth zu kommen also einen "Left hand on the wall"-Algorithmus?

    MfG

    Torrentula
    MfG Torrentula

  6. #6
    Genau. Ich habe zwei Sharp IR Entfernungssensoren und habe den Code hier in C umgeschrieben:
    http://www.hitechnic.com/blog/eopd-s...t-nxc-version/
    Wir werden mit dem Roboter beim RoboCup Junior Rescue B mitmachen.

    EDIT: Oder ich frage mal anders: Gibt es eine Funktion, mit der man einen Motor einzeln steuern kann? Also einen Motor sagen, welche Geschwindigkeit und ob FWD oder BWD?
    Geändert von teamohnename (23.12.2011 um 18:11 Uhr)

  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

    move() kennt nicht nur FWD und BWD sondern auch LEFT und RIGHT:

    //Direction:
    #define FWD 0
    #define BWD 1
    #define LEFT 2
    #define RIGHT 3

    Gefolgt von einem MoveAtSpeed() drehen dann die Antriebe in unterschiedlichen Richtungen mit unterschiedlichen Drehzahlen. Ist aber ungetestet. Move und MoveAtSpeed sind ja schon im orginalen Slaveprogramm definiert:

    // Commands:
    #define CMD_POWER_OFF 0
    #define CMD_POWER_ON 1
    #define CMD_CONFIG 2
    #define CMD_SETLEDS 3
    #define CMD_STOP 4
    #define CMD_MOVE_AT_SPEED 5
    #define CMD_CHANGE_DIR 6
    #define CMD_MOVE 7
    #define CMD_ROTATE 8
    #define CMD_SET_ACS_POWER 9
    #define CMD_SEND_RC5 10
    #define CMD_SET_WDT 11
    #define CMD_SET_WDT_RQ 12


    Beispiele:

    // weite Kurve:
    Move(100, FWD, 1000, 0);
    MoveAtSpeed(100,200);
    while(1) task_RP6System();

    // Pirouette:
    Move(100, LEFT, 1000, 0);
    MoveAtSpeed(150,200);
    while(1) task_RP6System();

    Passt auch gut zumThema:
    http://www.roboternetz.de/community/...tor-rückwärts?


    Gruß

    mic
    Geändert von radbruch (23.12.2011 um 19:18 Uhr)

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

  8. #8
    SUPER, funktioniert! Ich habe statt move aber changeDirection verwendet.
    Vielen Dank!

    EDIT: Leider doch nicht so ganz wie gewünscht. Für jedes RIGHT oder LEFT braucht der Roboter eine kurze Zeit zum Umschalten. Das geht natürlich nicht.
    Werde ich die Lib doch umschreiben müssen?
    Geändert von teamohnename (23.12.2011 um 19:30 Uhr)

Ähnliche Themen

  1. Rp6 fahren
    Von Martinius11 im Forum Robby RP6
    Antworten: 23
    Letzter Beitrag: 13.05.2010, 14:53
  2. NiboBee Genaue Kurven (90Grad etc)
    Von Marlon im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 6
    Letzter Beitrag: 03.01.2010, 20:07
  3. Kurven-Fahr-Funktion
    Von HAWK-Matze im Forum Asuro
    Antworten: 10
    Letzter Beitrag: 26.01.2008, 08:32
  4. kann khr-1 kurven gehen?
    Von Zeroeightfifteen im Forum Mechanik
    Antworten: 10
    Letzter Beitrag: 11.06.2005, 20:15
  5. kann eucher Bot Kurven gehen?
    Von Zeroeightfifteen im Forum Mechanik
    Antworten: 3
    Letzter Beitrag: 27.05.2005, 21:14

Berechtigungen

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