Hallo Aegis,
bist du schon die einfachen Sachen (Blinken, Fahren, Linie-Folgen) durch?
CU, Robin
Hallo ,
ich habe mir den Asuro zugelegt ,nun komme ich aber mit den
programmieren noch nicht so klar.
Ich möchte das der Asuro durch die Gegent fährt , und bei einen Hinderniss ausweicht.
Wäre jemand so nett mir ein solches Programm zur Verfügung zu stellen.
Ich bedanke mich , und wünsche allen ein schönes Wochenende
Aegis
Hallo Aegis,
bist du schon die einfachen Sachen (Blinken, Fahren, Linie-Folgen) durch?
CU, Robin
Hallo Aegis,
hier das gewünschte Programm.
Gruss,
stochri
Jetzt will ich hier keine Kritik ausüben, aber ich dachte, daß man sich einen Roboter baut,
um selber zu Programmieren und nicht nach Komplettlösungen zu schreien
Gruß Sebastian
Hallo Izaseba,
Du hast schon recht, eigentlich sollte man die Programme schon selber schreiben. Die Fragestellung von Aegis ist schon ein wenig seltsam: Hey, ich hab grad einen Roboter gekauft, könnt Ihr mir mal das Prgramm schreiben ?
Aber andereseits: Wenn man so frisch programmieren lernt, dann ist eine Vorlage, die man nach Bedarf abändern kann, manchmal gar nicht so schlecht.
Viele Grüße,
stochri
Guten Morgen ,
erst mal vielen dank an Storchi !!!
Das Programm ist in in erster Linie zum anschauen und verstehen
gedacht , natürlich werde ich es auch auf den Asuro laufen lassen .
Ich möchte nicht das der eindruck entsteht ich würde hier nur nur
schlauchen.
Ich habe mir ein Buch über c++ gekauft , komme auch gut damit
zu recht ,ich lese dann das was ich an den Programm von Storchi nicht
verstehe in den Buch nach.
Einen schönen Tag noch
Aegis
Hallo ,
-------ich bins, schon wieder,,
Ich kann mir das Programm gar nicht anschauen ,ist ja ein Hex File.
@ Storchi , auch wenn die frage dumm klingt --kann man das Hex File
wieder in einen C++ Code umwandeln..
Gruß
Aegis
Hallo Aegis,
Ich wollte Dich auch nicht angreifen,
aber wenn Du erst in die C Programmierung einsteigst wirst Du das Programm vielleicht auch nicht so richtig verstehen....
Ich schlag mal vor, Du setzt Dich mal hin, guckst Dir die Beschreibung zu Asuro, und versuchst erstmal Dioden an und auszumachen, den einfach geradeaus fahrenzulassen,
usw. usw.
Es ist auch nicht schwer, glaube mir, und wenn Du irgendein Programm geschrieben hast, kannst Du das hier posten, und dann fragen, ob und was da falsch ist, es wird Dir sicher jemand helfen, und so lernst Du am meisten.
P.S.
Stochri hat das Programm sicher im C und nicht im C++ geschrieben, das sind zwei verschiedene paar Schuhe
Gruß Sebastian
Moin.
Ich fang ja auch grade erst an zu proggen und dachte mir "Hey, cool, kannste dir das Programm ja auch mal angucken"
Könntest du den Source auch noch posten? Dann könnte man da wirklich ein bisschen abgucken.
Danke
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
Hallo Miteinander,
hier der Source-Code. Eigentlich wolte ich den ja bis morgen nach dem Wettbewerb zurückhalten, aber was solls:
Das Programm hat viel besser funktioniert, als ich es erwartet habe. Gestern habe ich meinen ASURO fast eine Stunde durch die Wohnung fahren lassen. Er hat so ziemlich alle Zimmer erkundet, ohne dass er irgendwo hängen geblieben ist. Übrigens auch erstaunlich, dass die Akkus so lange halten.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; }
Ich habe mir letztes Jahr mal einen heruntergesetzten Roboterstaubsauger im Wal-Mart fuer 20 Euro gekauft. Der bleibt ziemlich oft mal irgendwo stecken. Da funtkioniert der ASURO mit dem Programm schon wesentlich besser. Der Staubsauger hat vorne 2 Schalter, die hinter einem großen Bumper installiert sind. Und meine Meinung ist, dass so ziemlich alle normallerweise für das Problem eingesetzen Sensoren ( Ultraschall, IR-Abstand, Schalter ) das Steckenbleiben des Roboters nicht verhindern können und dass das im obigen Programm angewendete Verfahren wesentlich besser funktioniert.
Das Ganze wirft auch schon einige interssante mathematische Fragestellungen auf: Wie muss ein Roboter, wenn er gegen ein Hindernis im Zimmer prallt, sich verhalten, damit er möglichst die gesamte Fläche des Raumes mindestens einmal befahren hat ( ein wichtiger Aspekt für Roboterstaubsauger ). Wäre vielleicht eine schöne Aufgabe für einen neuen Wettbewerb.
Gruss,
stochri
Lesezeichen