-         

Ergebnis 1 bis 6 von 6

Thema: Odometrie von Asuro

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.08.2005
    Alter
    34
    Beiträge
    12

    Odometrie von Asuro

    Anzeige



    Hallo Leute!
    Ich versuche gerade meinem Asuro das geradeaus-Fahren zu lernen!
    Er will jedoch nicht so wie ich. Ich kann zwar die Odometriedaten auslesen und auch vergleichen, jdoch ist die Streuung der Daten sehr groß. Deswegen bilde ich aus mehreren Werten den Durchschnitt und vergleiche diesen.
    Aber es Funkt noch nicht so richtig. Selbst wenn die Durchschnittswerte übereinstimmen, fährt mein Asuro nicht geradeaus!
    Vielleicht kann mir ja einer von euch weiterhelfen, wäre super!

    Danke im Voraus!!

    mein Programm:[/list][/scroll]

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    25.08.2005
    Alter
    34
    Beiträge
    12

    Nochmal

    nochmal:[/scroll]
    Angehängte Dateien Angehängte Dateien

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    28.07.2005
    Ort
    Garching b. München
    Beiträge
    62
    ich nenne dir mal 2 Alternativen:
    a) klebe die motoren noch einmal exakt ein
    b) spiele einfach mit verschiedenen werten bei MotorSpeed(), schreib eine Funktion (alle 10 Sekunden wird die MotorSpeed() auf der "schwächeren" Seite um 10 erhöht z.B. und du guckst wann die werte einigermaßen stimmen, danach programmierst du, dass er nur noch in 1er Schritten wechselt usw.) - hat den selben Effekt (du hast die richtigen Werte) und geht bestimmt schneller....bin selbst auch grad bei deinem Problem
    Ich werde mich für b) entscheiden wenn ich mal Zeit habe...


    PS: eigentlich ist Odometrie doch sinnlos, wenn man die UpM/Drehzahl der Motoren kennt, oder? Damit kann man doch auch alles wunderbar ausrechnen - we weit er gefahren ist ect. Für mich machen diese Reflexlichtschranken ect. keinen Sinn (wenn man nicht gerade Justierungsprobleme hat und sich nicht für Vorschlag b) entscheiden möchte ;D)
    "Die Matratze ist sehr Komfortabel und es ist mit kurtzen Handgriffen zusammenzuklappen keinen großen aufwand nur die zwei enden aneinanderklappen und einen rimen einsetzen, fertig."

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo!

    Probiert mal folgendes Programm:
    Code:
    /*******************************************************************************
    *
    * Description: Asuro fährt geradeaus
    *
    *****************************************************************************/
    #include "asuro.h"
    #include <stdlib.h>
    
    
    int main(void)
    {
    unsigned char speed, flagl=FALSE, flagr=FALSE;
    unsigned int data[2];
    int wegl, wegr, diff;
    int speedLeft,speedRight;
    	Init();
    	MotorDir(FWD,FWD);
    	StatusLED(GREEN);
    	speed = 150;
    	speedLeft = speedRight = speed;
    	wegl=0; wegr=0;
    	while(wegl<333){
    		OdometrieData(data);
    		if ((data[0] < 550) && (flagl == TRUE)) {flagl = FALSE; wegl++;}
    		if ((data[0] > 650) && (flagl == FALSE)) {flagl = TRUE; wegl++;}
    		if ((data[1] < 550) && (flagr == TRUE)) {flagr = FALSE; wegr++;}
    		if ((data[1] > 650) && (flagr == FALSE)) {flagr = TRUE; wegr++;}
    		diff=wegr-wegl;
    		if (diff>0) speedRight--;						// fahre geradeaus
    			else if (diff<0) speedLeft--;
    			else {speedRight=speed; speedLeft=speed;}
    		if (speedRight<0) {speedRight=0;}
    		if (speedLeft<0) {speedLeft=0;}
    		MotorSpeed(speedLeft,speedRight);
    	}
    	MotorDir(BREAK,BREAK);
    	while(1);
        return 0;
    }
    Damit fährt mein Asuro schön geradeaus.

    Gruss Waste

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.08.2005
    Alter
    34
    Beiträge
    12
    Danke für eure Hilfen, werde Morgen gleich testen.
    Ich denke, dass es die Odometrie sowieso nur Sinn macht, wenn man eine vernünftige Scheibe benutzt und die Einflüsse von außen möglichst gut abstellt.
    Aber ich werde es natürlich weiter versuchen...

    Bin immer für Ratschläge dankbar!!!

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    die unterschiedliche fertigung der motoren, der zahnräder und der anpressdruck der zahnräder beeinflussen die geradeausfahrt. wenn ein motor mit einem spannband festgemacht wird, kann man auch keinen gleichlauf ohne korrektur verlangen. lass den ausro 1m fahren und diese korrektur baust du als ständigen begleiter ein.
    mfg pebisoft

Berechtigungen

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