-         

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

Thema: Mit Odometrie geradeaus fahren?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2006
    Beiträge
    6

    Mit Odometrie geradeaus fahren?

    Anzeige

    Hallo zusammen,

    ich bin ein Newbie in Sachen ASURO. Kann mir jemand helfen? Ich möchte gerne mit meinem ASURO möglichst gerade fahren. Im folgenden Code habe ich versucht die Odometrie zu nutzen. Was mache ich falsch???

    Danke.

    void geradeaus(int m){

    int speedLeft = 255;
    int speedRight = 255;
    int posLeft = 0;
    int posRight = 0;
    int flagLeft = FALSE;
    int flagRight = FALSE;
    int schwelle = 255;


    unsigned int data[2];

    while (posLeft < m){

    OdometrieData(data);
    //linkes Rad
    if ( (data[0] < schwelle) && (flagLeft == TRUE)) {
    flagLeft = FALSE;
    }
    if ( (data[0] > schwelle) && (flagLeft == FALSE)) {
    posLeft ++;
    flagLeft = TRUE;
    }
    //rechtes Rad
    if ( (data[1] < schwelle) && (flagRight == TRUE)) {
    flagRight = FALSE;
    }
    if ( (data[1] > schwelle) && (flagRight == FALSE)) {
    posRight ++;
    flagRight = TRUE;
    }
    //ggf. links oder recht in bisschen bremsen
    if ((posLeft-posRight)>3) {
    StatusLED(GREEN);
    speedLeft--;
    }
    else if ((posLeft-posRight)<-3) {
    StatusLED(RED);
    speedRight--;
    }
    else {
    StatusLED(OFF);
    posLeft = posLeft = 0;
    speedLeft = speedLeft = 255;
    }

    MotorSpeed(speedLeft,speedRight);
    }

    MotorSpeed(0,0);

    }

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676
    Probier es doch mal mit diesem minimal Programm:
    Code:
    Init(); 
    Encoder_Init(); 
    MotorDir(FWD,FWD); 
    MotorSpeed(175,175); 
    while(1){ 
    	diff=encoder[RIGHT]-encoder[LEFT]; 
    	MotorSpeed(175+diff,175-diff);
    }
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2006
    Beiträge
    6

    Woher kommt die Methode Encoder_Init

    Hallo,

    die Lösung sieht interessant aus, aber woher hast du die Methode Encoder_Init????

    Gruß RoboRace

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676
    Die sind fertig in der asuro.c

    * Encoder_Init() initializing encoder-counter
    * Encoder_Start() start autoencoding
    * Encoder_Stop() stop autoencoding

    Die aktuelle Versinon kannst du hier finden: http://sourceforge.net/project/showf...roup_id=155217
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2006
    Beiträge
    6

    Danke

    Prima, danke für Deine Antwort. Funktioniert!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2006
    Beiträge
    6

    Danke

    Prima, danke für Deine Antwort. Funktioniert!

  7. #7
    Hi, ich habe von ein paar Tagen ein Programm geschrieben, dass der Asuro Roboter ein Hindernis umfahren kann. Mein Problem ist, dass der Asuro nicht geradeaus fährt...ich bitte sie daher, ob sie mir mit der Odometrie helfen können, damit ich dieses Problem so schnell wie möglichst beheben kann.

    mfG Westside

  8. #8
    dieses kleine Programm, dass vogon gepostet hat, geht bei mir nicht....wenn ich es compiliere, dann kommen 2errors und etwa 4warnings.

    mfG Westside

  9. #9
    ich habe diese Problem jetzt beheben können....
    ich hätte ja von Anfang an drauf kommen können, dass das main und viele andere dinge noch fehlten....jedenfalls habe ich jetzt keinen Fehler mehr!Vielen Dank!!!!

    mfG Westside

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    19.10.2006
    Beiträge
    23
    Hi, was hat dieses flagRight = TRUE; int flagLeft = FALSE; usw. zu bedeuten ?
    wie kann ich den zurückglegten Weg beim Asuro messen , in cm ?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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