- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 58

Thema: ein kleines ASURO-Geheimprogramm

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Anzeige

    E-Bike
    @PicNic
    Die Idee, das Ganze in Assembler anzuschauen, ist nicht schlecht. Aber von einem C-Compiler erzeugten Cde zu verstehen ist etwas schwierig.

    @Norki

    Hervoragende Analyse, sie stimmt exakt.
    Ich habe mir schon überlegt, ob es wohl jemand schafft, die von Linux_80 angemerkte Idee mit dem Batteriespannungseinbruch von dem Verfahren mit der Messung der Radgeschwindigkei zu unterscheiden. Auf die Idee, einfach ein Papier vor die Encoderscheibe zu halten, bin ich nicht gekommen.

    Eine kleine Anmerkung noch: wie immer war der Weg von der Idee des Verfahrens bis zur Realisierung langwieriger als gedacht. Man muss die Motoren nämlich mit einem geeignet kleinen Drehmoment betreiben, sonst rutschen die Räder an einem Hindernis zu stark durch.

    Das Verfahren habe ich im Thread https://www.roboternetz.de/phpBB2/vi...?p=97674#97674 schon einmal verwendet.

    Gruß,
    stochri

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Code:
    #include "asuro.h"  // bitte die neue Datei benutzen
                        // asuro.h und asuro.c vom 31.03.05
    
    #define aus MotorDir(BREAK,BREAK)
    #define go {MotorSpeed(150,150);MotorDir(FWD,FWD);}
    #define backturn { MotorSpeed(150,250);MotorDir(RWD,RWD);Msleep(1000);}
    
    /*************************************************************************************
    
      ASURO discovers your apartment
    
      program made by stochri july, 2005
    
    *************************************************************************************/
    
    int speed()
    {
       int rightspeed,leftspeed;
       int leftold,rightold;
    
       Encoder_Set(0,0);      // reset encoder
    
    
       leftold=encoder[LEFT];
       rightold=encoder[RIGHT];
       Msleep(300);
       leftspeed=encoder[LEFT]-leftold;
       rightspeed=encoder[RIGHT]-rightold;
    
       //SerWrite("  speed Left,Right ",19);
       //PrintInt(leftspeed);
       //PrintInt(rightspeed);
       return leftspeed+rightspeed;
    }
    
    int main(void)
    {
       int n,v,nullspeed;
    
       Init();
       Encoder_Init();
       StatusLED(OFF);
       SerWrite("\n\rASURO OK\n\r",8);
    
       go;
       Msleep(500);
    
       nullspeed=speed()-10;
    
       while(1)
       {
          v=speed();
          SerWrite("\n\r speed ",9);
          PrintInt(v);
    
          if(v<nullspeed)
          {
             backturn;
             go;
             Msleep(500);
          }
    
       }
       return 0;
    }
    Das Ziel des Verfahrens war es, dem Asuro eine Art "Gefühl" beizubringen. Der Asuro merkt sozusagen, dass die Belastun seiner Motoren zu hoch wird und fährt dann in einer Kurve rückwärts.
    Das Interessante an diesem Verfahren ist, dass der Asuro so durch die ganze Wohnung fahren kann, was bei einer Methode bei der nur die Tasten abgefragt werden, nicht funktioniert.[/quote]

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    12.05.2006
    Beiträge
    32
    Hallo alle zusammen!
    Yeah ! \/

    Lustig dabei ist, dass ich mir vor ein paar Tagen auch schon überlegt hatte, auch ein "Kollisionsprogramm" zu schreiben, welches über die Odometrie funktioniert. Bin aber leider noch nicht dazu gekommen. Hauptantrieb dafür war, dass PollSwitch trotz abändern der Formel so lala funktioniert.

    Ich wollte aber im Gegensatz zu dir feste Odowerte nehmen, abgelesen aus einem Geschwindigkeits-PWM-Diagramm und dann die entsprechenden Odowerte berechnen. Schöner ist natürlich, das variabel beim Start zu erledigen.

    Problem ist hier wirklich, dass an einer Teppichkante Asuro bei mir so festhängt, dass die Räder eigentlich normal weiterdrehen.

    Und was fast du gemacht, um das Problem zu lösen?
    Einfach langsam genug fahren?

    Man könnte ja auch die Räder mit Haarspray einschmieren oder mitm Prittstift, um die Haftung zu erhöhen .

    Nur man muss gucken, dass man dann nicht selber putzen muss, nachdem Asuro durch Haus geflitzt ist


    Ähm, ich hab dann noch ein paar Fragen zu den Motoren. Macht es was, die Motoren zu blockieren? Also mechanischen oder elektrischen Schaden? Sollte es doch eigentlich nicht, oder?
    Kann man denn den zurückfließenden Strom der Motoren irgendwie messen?

    Ok, das wars erstmal,

    gruß
    Norki

  4. #14
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    ..von einem C-Compiler erzeugten Cde zu verstehen ist etwas schwierig.
    Ja, das hat was.

    Mangels Asuro wär mir halt kein anderer Weg offengestanden.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.07.2006
    Ort
    Bielefeld
    Beiträge
    166
    "Das Interessante an diesem Verfahren ist, dass der Asuro so durch die ganze Wohnung fahren kann, was bei einer Methode bei der nur die Tasten abgefragt werden, nicht funktioniert.[/quote]"

    ... stimmt, ich hatte schon öfter überlegt beide Taster aus der Mitte an die Ränder der Platine zu setzen um ein Verhaken am Stuhl o.ä. zu verhindern. Ich habe dann die beiden mittleren Taster benutzt um einen Golfball per Kollisionsabfrage zu dribbeln und darüber die Tasterverpflanzung vergessen.

    Nun aber die eigentliche Frage: ist nach einer solchen Modifikation der Asuro noch ein Asuro oder ggf. eine unwürdige Mutation? Muß der Asuro im Originalzustand verbleiben?


    Grüße, (Michael)

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    13.03.2005
    Ort
    Saarland!
    Beiträge
    19
    Daumen hoch, sowas in der Art wollte ich meinem bot auch noch beibringen, aber echt faszinierend...

    Du benutzt für die odometrie den standard encoder? bei dem geht bei mir garnix, da stehen doch nur feste werte drin?!?!

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    @michi.bend
    Nun aber die eigentliche Frage: ist nach einer solchen Modifikation der Asuro noch ein Asuro oder ggf. eine unwürdige Mutation? Muß der Asuro im Originalzustand verbleiben?
    Es ist immer gut, wenn der ASURO im Orginalzustand verbleibt, dann kann jeder das Programm ohne große Umbaumaßnahmen ausprobieren.

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    @Norki
    Problem ist hier wirklich, dass an einer Teppichkante Asuro bei mir so festhängt, dass die Räder eigentlich normal weiterdrehen.

    Und was fast du gemacht, um das Problem zu lösen?
    Einfach langsam genug fahren?
    Ich habe mal eine Weile nachgedacht, welches mechanische Modell eigentlich hinter dem Verfahren steckt.

    Damit der Asuro fährt, muss das Radmoment größer als die Haftreibung des Tischtennisballs sein.

    Für das Verfahren wäre es am Besten, wenn die Räder nie durchdrehen würden ( immer Haftreibung der Räder ). Dann würde bei einem Stop des ASURO die Radgeschwindigkeit auf 0 abfallen, was sehr leicht zu detektiere wäre.

    Leider drehen die Räder durch und die Geschwindigkeit der Motoren verringert sich etwas, fällt aber nicht auf Null ab.

    Derr Betrag der Radgleitreibung ist etwas größer als die Haftreibung des Tischtennisballs ist.Der erhöhte Betrag führt zu der leichten Verringerung der Motordrehzahl.

    Eigentlich sollte die Funktion leicht verbessert werden können, wenn man die Batterrien etwas nach hinten verlagert. Dann sinkt die Haftreibung des Tischtennisballs und bei einem Stop des ASURO ist die Gescschwindigkeitsdifferenz höher.

    Falls man das ganze ingenieurwissenschaftlich in Zahlen fassen will, sind diese Threads hilfreich:

    https://www.roboternetz.de/phpBB2/vi...=102904#102904
    https://www.roboternetz.de/phpBB2/viewtopic.php?t=11447

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2006
    Beiträge
    102

    Neue C datei

    bitte die neue Dateien benutzen asuro.h und asuro.c vom 31.03.05


    Wo bekomm ich die den her?

  10. #20
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Probiere einfach die Asuro-Lib von sourceforge ( google hilft Dir )

    Ansonsten könnte die in der motor.zip https://www.roboternetz.de/phpBB2/viewtopic.php?t=11256)
    auch funktionieren

Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress