Also spabil ist einer offen und einer zu.(glaube ich so sehen zu können.... alles andere folgt in einem monat.
Druckbare Version
Also spabil ist einer offen und einer zu.(glaube ich so sehen zu können.... alles andere folgt in einem monat.
Naja, man könnte sich ja auchmal über den Roboter gedanken machen...
Also irgendwer hat hier vorgeschlagen en CCRP5 zu nehmen, da der schonmal nen par Sensoren an Bord hat. Allerdings müsste ein Konstruktion mindestens Tischhöhe erreeichen, und wenn nur nen Arm ist. Allerdings fürchte ich, dass der kleine da etwas zu wackelig für auf den beinen ist, oder täusche ich mich?
Ne ganz andere Lösung wäre mal, dass man keine Linienverfolgung, sondern vielleicht GPS benutzt!
Das könnte den Roboter schonmal in die nähe des zu bringenden Raum leiten, und dann muss er den Rest selber finden.
Eine ganz andere Frage ist, wie es um die Bestellung steht...
Wie soll man hier was bestellen?
MFG Moritz
hehe
nen kleinen kasten mit nem lcd und 3 knöpfen oder so =)
muhaaaa wie genial!
wie währs mit nem geldeinnahmeroboter der vorher vorbeikommt und sich das geld schnappt LOL
mfg Flo
Ich würd das Projekt erstmal nicht überstrapazieren... Klar Träume sind cool, nur ich würd zuerst mal zusehen schnellstmöglich die Cocktailmaschine zu bauen. Bei der gibt es wie es aussieht schon ein gutes Konzept und ist auch realisierbar, wenn man dann noch Zeit hat kann man ja schaun. Nur wenn man sich zuviel vornimmt klappt vielleicht gar nichts und das wär ja schade!
hallo
ich bin per zufall auf eure diskussion hier gestoßen und habe für euch für euch ein paar pics ( vom innenleben) von punica2. Allerdings ist das ein monster von maschiene, da sie nur für die cebit gebaut wurde.
http://www.pyramid.de/d/benhur/produ...l_bilder.shtml
www.tux4u.de
MFG moritz
Genau den mein ich doch die ganze Zeit, endlich mal nen par besssere Bilder!
Aber was steht da oben auf der Kiste draucf, bzw. vor dem Wasserhahn, ist das nen Steuercomputer?
Also wenn ich so nen Ding bauen würde, würde ich noch nen par Specials einbauen, z.B. ne Sprachausgabe etc.
MFG Moritz
so... weiter geht es...
Wir haben nun einen Kühlschrank, 10 Magnetventile von Conrad (10mm durchfluss) eine Peristaltikpumpe (10mm durchfluss) Und schläuche etc kommt noch.
Langsam geht es los!
gruß Ramsay
Jetzt wirds spannend :-)
Um was für eine Pumpe handelt es sich dabei genau 'Peristaltikpumpe'?
Habt ihr eich schon für einen Controller geeinigt?
MFG moritz
ein weiteres problem ist die ansteuerung der gäste?
sollte man ein koordinatensystem einbauen oder schon vorprogrammierte wege für jeden platz? was denkt ihr is leichter umzusetzen da wir nich wirklich nen grossen plan vom programmieren haben... hilfe wird gerne entgegengenommen...
mfG
Cocktailmaschinenmember
Also, wie ich schon beschrieben habe, ist hängt die Frage davon ab, wie ihr die Tische anordnet, oder ob der Roboter immer unterschiedliche Wege (Jeden Tag andere Anordnung), oder die Anordnung immer konstant bleibt.
Wenn es konstant bleibt, würde ich eine Lineienverfolgung empfehlen, die ist relativ leicht umzusetzen, und man benötigt nur noch wenig andere Sensoren, nur solche, die verhindern, dass der Roboter, wenn er Unterwegs ist, niemanden, der gerade auf dem Streifen steht anrempellt.
Die Sache mit dem Koordinatensystem ist für INformatiker vielleicht am einleuchtesten, aber in Realität am schwersten umzusetzen, denn die genaue Position des Roboters zu ermitteln ist Schwer.
Woher soll der Roboter wissen, wo er gerade ist?
Entweder indem er die Differenzen zur ausgangsposition berchnet, also duch Senosren die Messen, wie oft sich die Räder gedreht haben, was zu schnell zu ungenau wird, oder
Per GPS und Kompass. das würde zwar eine Positionsbestimmung in einem Koordinatensystem erlaube, aber für eine genaue Steuerung, z.B. 'Fahre durch die Tür' ist das GPS mit einer Genauiigekeit bzw. Ungenauigkeit bis 10m halt zu ungenau.
Habt ihr schonmal eine Linienverfolgung gesehen?
MFg Moritz
Also ich würde keinen RCX verwenden.
Ich hab jetzt schon 4 Jahre mit dem Ding meine Roboter zusammengebaut, aber sobald es ein größeres Projekt wird, macht der RCX schlapp. (zu wenige Ausgänge, zu wenige Eingänge). Ich habe die Anzahl der Taster, die man anschließen kann, von 3 auf 9 erhöht. Ich kann alle einzeln auslesen.
Wenn ihr Unterstützung braucht, biete ich mich gerne an (RCX).
HI Tillhoffman, ich bin in allem außerhalb von C-control noch iemlich unerfahren, was ist RCX?
Ich kenn nur Atmel, Pic und so.
Ist das auch son ein Controller?
MFG Moritz
Kurze Frage, wie is die Bestellnummer der Magnetventile bei Conrad??? Und wo habt Ihr die PEristaltikpumpe her?
Naja, der RCX ist ein Baustein, der von LEGO vertrieben wird.
Da sind 3 Motortreiber und 3 ADWandler sowie eine Infrarotschnittstelle eingebaut. Alles schön in ein Gehäuse verpackt. Aber man kann halt nicht mehr als 3 Motoren anschließen. Bei den Sensoren kann man das Ding ein bisschen aufmotzen. ;-) Da ist glaube ich ein Controller von Hitachi H8 Serie drin. Muss ich aber nachschauen.
Ach handelt es sich dabei umd das Steuermodul von den Mindstorms?
Also ich würde entweder C-control, sehr Einsteigerfreundlich oder das RN-Board vorschlagen.
MFG Moritz
Hallo Ramsay.
Beim Roboter solltest Du etwas Kleines bauen, wenn Du noch nie vorher einen Roboter entwickelt hast. Ein Gerät, das einfach auf dem Tisch herumfährt und mit dem an einer Tischkante stehenden Cocktailmixer zusammenarbeitet, könnte eine Alternative sein.
Das exakte Navgieren anhand von Koordinaten habe ich fertig:
http://www.talentraspel.de/portal/in...p?id=71&type=1
Die zugehörige Plattform ist einfach nachzubauen:
http://www.talentraspel.de/portal/in...p?id=43&type=1
Die Antriebseinheit ist auch nicht besonders kompliziert:
http://www.talentraspel.de/portal/in...p?id=67&type=1
Und das Steuerungssystem ist auch schon fertig:
http://www.talentraspel.de/portal/in...p?id=68&type=1
Wenn Du mit einem in C (WinAVR) programmierten ATMega32 Mikrokontroller klar kommst, brauchst Du nur noch einen Cupholder dahin zu schrauben, wo der Aufkleber "02 Houie" sitzt.
Dann kann der mit einem Glas bestückt Roboter einfach unter den Zapfhahn fahren und danach zur auf den Cocktail wartenden Person.
Was man noch ergänzen sollte:
- Sensoren für die Tischkante.
- Bake, die dem Roboter den Weg nach Hause (zum Automaten)
zeigt. Daran kann er sich von Zeit zu Zeit daran neu ausrichten.
Könnte man aber auch über eine Führungsschiene am Coktailmixer
und einen Endanschlag regeln.
Wenn Dir irgend etwas davon als Anregung hilft, kannst Du mir ja mal schreiben: kai@talentraspel.de
Grüße,
Kai.
Hi Kai, Wahnsinn, was du da alles schoin gemacht hast!
Funktioniert das auch so?
Wenn ich das richtig verstehe, dann Orientieren sich deine Roboter nur anhand der Zurückgelegten Strecke pro Rad, funktioniert das wirklich so genau, oder setzt du auch immer Linienverfolgung ein?
Und zu der Linienverfogung, wie genau arbeitet sie?
Ist es immer so, dass du einen Hellen Streifen auf einem dunlklen Untergrund suchst oder wie?
Mfg Moritz
Hallo Moritz,
das funktioniert sehr genau. Schau Dir mal das Video an. Da fährt der Roboter im Hauptprogramm folgende Kommandosequenz:
move_absolute( 50, 50);
move_absolute(-50, 50);
move_absolute(-50,-50);
move_absolute( 50,-50);
move_absolute( 50, 50);
move_absolute(-50,-50);
move_absolute( 0, 0);
Den Rest erledigt die Interruptsteuerung komplett im Hintergrund.
Allerdings war ein bischen Trickserei nötig. Hier der Algorithmus:
1. Roboter weiss wo er ist und wohin er schaut
2. Roboter bekommt Befehl wohin er soll
3. Roboter errechnet Drehwinkel und ermittelt daraus Schritte
für Drehung auf der Stelle
4. Roboter dreht, zieht aber VORHER den Nachlauf ab
5. Roboter wartet 1/5 Sekunde, dann ist der Nachlauf vorbei.
6. Roboter addiert die gefahrenen und nachgelaufenen Schritte
und bestimmt dann den tatsächlich gedrehten Winkel.
7. Nun bestimmt der Roboter das zu fahrende Streckensegment
8. Roboter fährt, zieht aber VORHER den Nachlauf ab
9. Roboter wartet 1/5 Sekunde, dann ist der Nachlauf vorbei.
10. Roboter addiert die gefahrenen und nachgelaufenen Schritte
und bestimmt dann die tatsächlich gefahrene Stecke.
11. Roboter ist ziemlich genau da wo her hin soll
=> Der Roboter weiss immer wo er ist und wo er hinschaut, kleine Fahrfehler durch Nachlauf kriegt er mit und kompensiert sie automatisch
beim nächsten Fahrbefehl.
Und ganz wichtig: Der Roboter fährt jede Bewegung langsam an und bremst auch langsam wieder ab (Ramp Up udn Ramp Down). Damit gibt es keinen Schlupf beim Fahren.
Das Programm liegt auf meiner WebSite, wenn Du Dir das mal ansehen willst. PWM, Schritte zählen und Navigation sind in der Interruptroutine. Das müsste sich eigentlich nachvollziehen lassen.
Ich habe bewußt zunächt keine Sensoren ausser den Sensoren in den Rädern verwendet. Am nächsten Wochenende will ich dann Abstandssensoren anbringen, über die der Roboter seine Umgebung wahrnimmt und sich dann immer wieder auf einer internen Karte justiert. Er driftet ja doch nach einer Weile ab und muss mal wieder einen absoluten Bezugspunkt finden.
Beim Linienfolgen benutze ich nur den Sensor unter dem Roboter. Das sind 8xCNY70, die ich über einen A/D-Wandler abfrage. Da schreibe ich gerade einen neuen Algorithmus.
Der alte Algorithmus, mit dem ich im April auf der RoboChallenge bei "Finde den Weg" gewonnen habe, war auch gut. Aber ich will einfach die Aufgabe noch mal aus einem anderen Blickwinkel lösen.
Beim alten Algorithmus hatte ich ein Modul für den Liniensensor gebaut, das mir einfach auf einer Skala von 0-14 mir einer Auflösung von 0.25 die Position der Linie am Sensor zurckgab. Wenn sich die Linie geteilt hat, kamen zwei Werte zurück. Die Breite der Linie wurde dadurch gefiltert.
Zum auf der Linien bleiben musst ich eigentlich nur anhand der Abweichung von der Mitte (7) gegensteuern, bei Abzweigungen halt die rechte oder linke Linien zur Mitte erklären. Knifflig wurde es bei spitzen Abzweigungen, Winkeln und dem T-Stück. Da musste noch etwas zusätzliche Logik in die Erkennung. Alles zusammen hat dann ein Zustandautomat gesteuert.
Ich den Code dazu auch im Web, leider komme ich viel zu wenig zum dokumentieren. Im Moment naht ja die RobotLiga und da gibt es noch so viel zu tun ...
Grüße,
Kai.
WAHNSINN, also erstmal herzlichen Glückwunsch zum Gewinnnen der RoboChallenge und zweitens wahnsinns Video. Der Roboter fährt tatsächlich supergenau!
Die CNY70 sind mir geläufig, aber, das klingt wahrscheinlich etwas blöd, was sind eigentlich Algorithmen? Dieses Modul, läuft das im Hintergrund? Setzt du da Threatening ein oder hast du einfach nen fixen uC genommen?
Muss ich mir das so vorstellen, dass man die ganzen if und else anweisungen in eine kompakte Form bringt?
Hallo Moritz.
Danke für die Glückwünsche. Das war aber nur ein einzelner Wettbewerb, den ich da gewonnen habe. Auf der RoboChallenge sind noch viele andere Roboter in vielen anderen Diziplinen gelaufen.
Werbung: http://www.gs-roboter.de/rc2005/rc2005.htm
Und vielen Dank an Gerhard ...
Zu Deinen Fragen (Es gibt keine blöden Fragen, nur blöde Antworten.):
Algorithmus:
http://de.wikipedia.org/wiki/Algorithmus
Ein Algorithmus ist eine genau definierte Verarbeitungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen. Typischerweise wird ein Algorithmus durch eine endliche Folge von Anweisungen beschrieben, die nacheinander ausgeführt und oft in festgelegter Weise wiederholt werden.
Ich meinte damit einfach den groben Ablauf der Navigation.
Threatening??? Meinst Du Multithreading? Gibts aber so bei den Mikrokontrollern nicht. Zumindest solange man kein Betriebssystem einsetzt.
Ich habe einfach den ATMega32 mit 16MHz genommen. Der ist als RISC-Mikrokontroller sehr schnell und da kann man einiges in Interruptroutinen im Hintergrund erledigen. Ich rechne da sogar mit trigonometrischen Funktionen (atan2, sin, cos), um die Winkel in den Griff zu bekommen.
Die Interruptschleife lasse ich mit 15,625 kHz laufen. Das passte gerade so schön und reagiert auch schnell genug. Für die Hauptroutine reagiert dann alles im Hintergrund und das vereinfacht die Programmierung ganz erheblich. Zwischen zwei Interrupts hat der Mikrokontroller dann 1024 Takte und da kann man bei der RISC-Architektur eine Menge erledigen.
Man muss in der Interruptschleife aufpassen, das man sich nicht verzettelt und möglichst schnell wieder raus ist. Wenn man aber mal länger braucht, ist es auch kein Beinbruch. Dann verpasst man halt den nächsten Interrupt (Interrupt in der Interruptroutine sperren !!!).
Grüße,
Kai.[/url]
Da hab ich mich extra angemeldet, zu lange geschrieben und bin wohl wieder rausgeflogen ...
Du hast ja echt Ahnung!
Wie Programmiert man so einen Algorithmus?
Du hast geschrieben, dass du verschiedene MOdule benutzt.
In wiefern unterscheiden sich MOdule von ganz normalen Programmen?
Sind es einfach nur Funktionen, die einen RÜckgabewert liefern?
MFG Moritz
Hallo Moritz.
Zunächst mal wieder das Wiki:
http://de.wikipedia.org/wiki/Modul
Ein Modul ist
1. in der Technik ein genormter Teil eines größeren Ganzen. Module werden hauptsächlich verwendet, um sie leicht gegen andere Module austauschen zu können, oder neue Module zu besagtem Ganzen hinzuzufügen. Deshalb ist für Module eine Schnittstelle vonnöten, um sie mit dem Ganzen zu verbinden.
[...]
6. Modul (Softwarearchitektur): In der Computer-Programmierung eine Gruppe von Befehlen, die eine bestimmte Funktion erfüllt und über eine definierte Schnittstelle aufgerufen wird.
Bei den Modulen handelte es sich in meinem Fall um eine Mischung aus Punkt 1 und Punkt 6.
- Ein komplettes Mikrokontrollersystem auf Basis AT90S1200, das nur den Liniensensor auswertet und über einen Bus an das Hauptkontrollermodul liefert.
- Für die Motorsteuerung gab es ein zweites Modul auf Basis AT90S1200, das sich nur um die Motoren gekümmert hat und ebenfalls über den Bus mit dem Hauptkontrollermodul zusammengearbeitet hat.
- Ein Hauptkontrollermodul auf Basis ATMega8, das sich mit den beiden anderen Modulen unterhalten hat und die übergeordnete Steuerung erledigt hat.
Details findest du hier:
http://www.talentraspel.de/html/robomodules.html
http://www.talentraspel.de/html/roboplugs.html
Grüße,
Kai.
Ach so, du verwendest, also mehrere ATmels?
Die dann über nen Bus kommunizieren?
MFG Moritz
Das mit den Addlinks kannst du wahrscheinlich vergessen, schau mal unter ADDLINK bestllen aber wo
Genau:
1 AT90S1200-Modul für die Motorsteuerung
1 AT90S1200-Modul für den Liniensensor
1 ATMega8-Modul als Hauptkontroller
Kommunikation über einen 4-Bit Bus, der max. 4 Module mit jeweils eigener Interrupt-Leitung bedienen kann.
Mit einem ATMega32 kann man aber alles auf ein Board packen. Das mit dem Bus-System war mal so zum ausprobieren, hat aber auch gut funktioniert.
Grüße,
Kai.
? Also verwendest du jetzt nur noch den Atmega?
Unterstützen die Atmels kein I2C?
MFG Moritz
ATMega ist auch ein AVR und auch von Atmel ;-)Zitat:
Zitat von RCO
I²C ist eine Schnittstelle, im Prinzip kann das jeder Controller...
Gruß, Sonic
Nein, dass meinte ich nciht, dass der Atmega ein AVr ist ist klar, und was I2C ist weiß ich auch ungefähr.
Die erste Frage bezog sich auf:
'Mit einem ATMega32 kann man aber alles auf ein Board packen.'
und die zweite:
'Kommunikation über einen 4-Bit Bus, der max. 4 Module mit jeweils eigener Interrupt-Leitung bedienen kann. '
MFG Moritz
Hallo Moritz.
>> Also verwendest du jetzt nur noch den Atmega?
Ja, ich verwende im Moment nur den ATMega32. Allerdings habe ich ATMega8, AT90S2313 und AT90S1200 je nach Anwendungsfall auch in der Tasche.
>> Unterstützen die Atmels kein I2C?
Die AT90S... Serie kann kein I2C per Hardware. D. h. I2C muss per Software realisiert werden, das nimmt natürlich Resourcen in Anspruch und die maximale Geschwindigkeit ist auch begrenzt. Ab ATMega geht das dann per Hardware und auch ziemlich schnell.
Auf http://www.talentraspel.de/html/robo...roboplugs.html habe ich die von mit ausprobierten Architekturen beschrieben.
Ich habe zuerst die "RoboModules" gebaut. Da habe ich ganz auf I2C verzichtet und ein 1-Draht-Protokoll realisiert. Das funktionierte für einfache (meist übergeordnete) Steuerungsaufgaben auch prima. Für schnelle Reaktionen, die in den Regelkreisen benötigt werden, hat es dann aber nicht gereicht.
Also habe ich das Konzept um ein Modul erweitert, an das andere Module über einen 4-Bit-Bus angeschlossen werden. Ein "RoboModul" mit bis zu vier "RoboPlugs". Damit konnte ich dann auch schnelle Regelkreise modular aufbauen.
Aber auch bei der Buskommunikation gibt es eine Geschwindigkeitsobergrenze. Daher habe ich dann das gesamte System auf eine ATMega32-Hauptplatine umgestellt, an die nur noch passive Module angeschlossen sind. Dadurch kommt die maximale Geschwindgkeit des Mikrokontrollers zum Tragen. Für komplexere Aufgaben nehme ich einfach mehrere ATMega32-Hauptplatinen, die sich dann tatsächlich über Highspeed I2C untereinander sychronisieren.
Warum habe ich das alles gemacht?
Ich wollte an einer gleichbleibenden Aufgabenstellung (Finde den Weg durch ein Linienlabyrinth) die Vor- und Nachteile der verschiedneen Architekturen systematisch erforschen. Dadurch kann ich bei zulünftigen Entwicklungen immer optimalere Architekturen entwerfen.
Grüße,
Kai.
Stark, ich verzweifel im Moment daran, überhaupt nen AVr zu programmieren, wenn ddu Lust hast zu helfen, schau mal untern:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=3347
MFg Moritz
so ich war gerade bei CONRAD, weil ich jetzt meinen Cocktailmischer auch ein bißchen "aufmotzen" will;-) . die haben zwar Magnetventile aber nur 220 Volt und das bringt mir ja leider nicht viel. Weiß jemand wo man günstig 12 Volt Ventile herbekommt? Wie habt Ihr das gemacht mit dem Projekt??? Und was für ne Pumpe habt ihr??
Das letzte was sie geschrieben haben war:
Zitat:
so... weiter geht es...
Wir haben nun einen Kühlschrank, 10 Magnetventile von Conrad (10mm durchfluss) eine Peristaltikpumpe (10mm durchfluss) Und schläuche etc kommt noch.
Langsam geht es los!
gruß Ramsay
Hallo Ramsay,
hast du schon zum Thema Roboter dein Konzept weitergebracht?
Und ganz wichtig:
Wer trinkt hinterher die ganzen flüssigen Programmierfehler?
Grüße,
Kai.
ich glaub ich bin zu doof. ich find die ventile nicht, kann mir einer die bestellnummern schicken???
Sorry, hab auch mal gegukct und auch nix gefunden, billigste ist ein betankungsventil für 26€.
Vielleicht handelte es sich um Restposten, die nciht im Internet stehen.
MFG moritz
Wie stehts denn nun eigentlich um das Projekt?
Seit ihr weitergekommen?
http://www.pearl.de/pearl.jsp;jsessi...24&screenY=768
...Cuba Libre...
Ich lande da nur auf der Startseite, oder beziehst du dich auf das GPS für 130€ ?
oh sorry,
da gibt es einen "Getränke Spender"...hab nach Getränke gesucht und das ding gefunden.Wenn ich das Richtig sehe kann man damit Cola dosieren.
Btw das Projekt von "Ramsy" existiert noch?????
mfg