wintom
26.11.2006, 15:37
Herzlich Willkommen beim Projekt zur Planung und zum Bau eines Backgammon Roboters!!
Ziele:
Bau eines "tangible user interface" für die Backgammon Software GnuBG (www.gnubg.org), also eines Backgammon Boards, das
1. Spiele zwischen zwei Menschen aufnehmen kann (und somit eine anschließende Analyse ermöglicht) und das
2. selbstständig Züge ausführen kann (also Mensch gegen Maschine/vgl. Schachroboter).
Teile:
1. Input: Spielsteine und Würfel müssen erkannt werden.
2. Verarbeitung: Die Input-Daten müssen so aufbereitet werden, dass sie an die Backgammon Software gesendet werden können. Welcher Zug wurde gemacht? Welche Steine stehen wo? Was zeigt der Würfel? etc.
3. Output: Im Falle, dass ein Mensch gegen den Computer antritt müssen die von der Software ermittelten Züge vom Roboter ausgeführt werden, ev. muss der Roboter die Würfel werfen usw.
Auflagen:
1. Der für mich wichtigste Aspekt des Projekts ist, dass die Benutzung für den Menschen möglichst natürlich ausfällt. Z.B. ist das Würfeln per Tastendruck und LCD NICHT natürlich! Alle anderen Kriterien sind der "usability" unterzuordnen.
2. Das Board hat gefälligst ein Board zu sein, d.h. eine Kamera die zwei Meter über dem Brett schwebt ist zu vermeiden.
3. Der Spaß soll einfach (Ja, man kann die Positionen der Steine auch mit einem einem Differenzial GPS feststellen, aber nicht in diesem Projekt...) und bezahlbar (100-200€?) bleiben.
4. Schön fänd ich, wenn der Roboterarm (wegen 1) unter dem Spielfeld wäre. Vgl. dazu das "Phantom" (http://www.ismenio.com/phantom_6126.html) unter den Schachrobotern (Videos am Seitenende) und den Thread auf Roboternetz (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=4246).
Stand der Dinge:
Input: RFID ist zu teuer. Schwingungen messen erscheint mir zu anspruchsvoll und ebenfall zu teuer (24 Felder x bis zu 8 Steinen). Reed Kontakte und magnetische Steine hat viele Vorteile. Eine Matrix mit 200 Reedkontakten ist aber auch recht aufwendig und wie lese ich gestapelte Steine aus? Widerstände in den Steinen und Kontakte auf dem Brett schränken die Usability ein. Kamera über dem Brett sollte ausgeschlossen werden. Was bleibt? Kamera unter dem Brett? Bisher ist mein Favorit eine Reihe von CMOS Contact Image Sensoren (http://www.eureca.de/neu-german/optoelectronic/sensors-cmos-inc.html), die das Brett von unten abtasten. Die Spielfläche wird also aus Plexiglas und einer lichtdurchlässigen Stoffschicht bestehen. Der Sensor wird auf dem Linearachsensystem befestigt, dass zum Bewegen der Steine eh notwendig wird. Gestapelte Steine werden erkannt, indem man die Steine mit Aussparungen versieht, die verdeckt werden, wenn die Steine aufeinander liegen. Eine Kamera für die Erkennung der Würfel könnte damit auch überflüssig werden, da die Präzisionswürfel beim Backgammon i.d.R. durchsichtig sind und somit noch genug Licht auf die Sensoren unter dem Brett fallen würde um die Punkte zu erkennen!?? Natürlich hat auch diese Lösung Nachteile, insbesondere könnte es u.U. lästig lange dauern, bis das Spielfeld gescannt ist.
Verarbeitung: Je nach Input gestaltet sich natürlich die Verarbeitung anders. Entweder man hat es mit einer Art Keyboard zu tun oder aber mit Mustererkennung. Aber bis zur Verarbeitung ist es auch noch ein langer Weg.
Output: Unter dem Brett wird sich ein Achsensystem mit 2 Schrittmotoren befinden. Die Steine werden mit einem magnetischen Kern versehen. Somit sollten die Steine von unten mit einem Elektromagneten bewegt werden können (bei entsprechend dünner Acrylglasscheibe). Mit dieser Methode ist es leider unmöglich Steine zu stapeln, Steine auf die Bar zu heben und Steine aus dem Spiel zu nehmen ohne große Kompromisse einzugehen. Dennoch ziehe ich diese Lösung einem Achsensystem über dem Board bisher vor.
Sehr schwierig wird sich auch der Mechanismus zum Werfen der Würfel gestalten. (Vielleicht eine Glaskugel mit Luftdruck, wie sich beim Lotto verwendet wird?) Eventuell könnte der Würfelarm ja in problematischen Fällen auch die Steine in den zweiten Stock heben?
Tja, und wenn die Theorie schon so kompliziert und schwierig ist, wie soll es dann erst mit der Praxis werden!? Dazu läßt sich nur sagen, dass ich es nicht eilig habe und dass mit der Erfüllung des ersten Ziels ja schonmal ein Etappensieg zu erreichen wäre. Es würde mich sehr freuen, wenn hier ein kleines Brainstorming entstünde und vielleicht findet sich ja sogar jemand aus der Umgegend von Berlin, der Lust hat in allen drei Dimensionen einzusteigen. Für mich ist es das erste Robotik-Projekt und wohl leider gleich ein ziemlicher Hammer. Ich werd also viele viele Fragen stellen. Z.B. ist es mir noch ein totales Rätsel, wie ich aus einer Reihe von CMOS Sensoren mit analogem Ausgang ein Bild herstellen kann!? Aber vielleicht gibt es erstmal zur Theorie noch Fragen und Anregungen!? Alles hat bisher nur Idee-Charakter und ist keinesfalls festgeklopft. Jeder patente Geistesblitz ist willkommen.
Vielen Dank
Ziele:
Bau eines "tangible user interface" für die Backgammon Software GnuBG (www.gnubg.org), also eines Backgammon Boards, das
1. Spiele zwischen zwei Menschen aufnehmen kann (und somit eine anschließende Analyse ermöglicht) und das
2. selbstständig Züge ausführen kann (also Mensch gegen Maschine/vgl. Schachroboter).
Teile:
1. Input: Spielsteine und Würfel müssen erkannt werden.
2. Verarbeitung: Die Input-Daten müssen so aufbereitet werden, dass sie an die Backgammon Software gesendet werden können. Welcher Zug wurde gemacht? Welche Steine stehen wo? Was zeigt der Würfel? etc.
3. Output: Im Falle, dass ein Mensch gegen den Computer antritt müssen die von der Software ermittelten Züge vom Roboter ausgeführt werden, ev. muss der Roboter die Würfel werfen usw.
Auflagen:
1. Der für mich wichtigste Aspekt des Projekts ist, dass die Benutzung für den Menschen möglichst natürlich ausfällt. Z.B. ist das Würfeln per Tastendruck und LCD NICHT natürlich! Alle anderen Kriterien sind der "usability" unterzuordnen.
2. Das Board hat gefälligst ein Board zu sein, d.h. eine Kamera die zwei Meter über dem Brett schwebt ist zu vermeiden.
3. Der Spaß soll einfach (Ja, man kann die Positionen der Steine auch mit einem einem Differenzial GPS feststellen, aber nicht in diesem Projekt...) und bezahlbar (100-200€?) bleiben.
4. Schön fänd ich, wenn der Roboterarm (wegen 1) unter dem Spielfeld wäre. Vgl. dazu das "Phantom" (http://www.ismenio.com/phantom_6126.html) unter den Schachrobotern (Videos am Seitenende) und den Thread auf Roboternetz (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=4246).
Stand der Dinge:
Input: RFID ist zu teuer. Schwingungen messen erscheint mir zu anspruchsvoll und ebenfall zu teuer (24 Felder x bis zu 8 Steinen). Reed Kontakte und magnetische Steine hat viele Vorteile. Eine Matrix mit 200 Reedkontakten ist aber auch recht aufwendig und wie lese ich gestapelte Steine aus? Widerstände in den Steinen und Kontakte auf dem Brett schränken die Usability ein. Kamera über dem Brett sollte ausgeschlossen werden. Was bleibt? Kamera unter dem Brett? Bisher ist mein Favorit eine Reihe von CMOS Contact Image Sensoren (http://www.eureca.de/neu-german/optoelectronic/sensors-cmos-inc.html), die das Brett von unten abtasten. Die Spielfläche wird also aus Plexiglas und einer lichtdurchlässigen Stoffschicht bestehen. Der Sensor wird auf dem Linearachsensystem befestigt, dass zum Bewegen der Steine eh notwendig wird. Gestapelte Steine werden erkannt, indem man die Steine mit Aussparungen versieht, die verdeckt werden, wenn die Steine aufeinander liegen. Eine Kamera für die Erkennung der Würfel könnte damit auch überflüssig werden, da die Präzisionswürfel beim Backgammon i.d.R. durchsichtig sind und somit noch genug Licht auf die Sensoren unter dem Brett fallen würde um die Punkte zu erkennen!?? Natürlich hat auch diese Lösung Nachteile, insbesondere könnte es u.U. lästig lange dauern, bis das Spielfeld gescannt ist.
Verarbeitung: Je nach Input gestaltet sich natürlich die Verarbeitung anders. Entweder man hat es mit einer Art Keyboard zu tun oder aber mit Mustererkennung. Aber bis zur Verarbeitung ist es auch noch ein langer Weg.
Output: Unter dem Brett wird sich ein Achsensystem mit 2 Schrittmotoren befinden. Die Steine werden mit einem magnetischen Kern versehen. Somit sollten die Steine von unten mit einem Elektromagneten bewegt werden können (bei entsprechend dünner Acrylglasscheibe). Mit dieser Methode ist es leider unmöglich Steine zu stapeln, Steine auf die Bar zu heben und Steine aus dem Spiel zu nehmen ohne große Kompromisse einzugehen. Dennoch ziehe ich diese Lösung einem Achsensystem über dem Board bisher vor.
Sehr schwierig wird sich auch der Mechanismus zum Werfen der Würfel gestalten. (Vielleicht eine Glaskugel mit Luftdruck, wie sich beim Lotto verwendet wird?) Eventuell könnte der Würfelarm ja in problematischen Fällen auch die Steine in den zweiten Stock heben?
Tja, und wenn die Theorie schon so kompliziert und schwierig ist, wie soll es dann erst mit der Praxis werden!? Dazu läßt sich nur sagen, dass ich es nicht eilig habe und dass mit der Erfüllung des ersten Ziels ja schonmal ein Etappensieg zu erreichen wäre. Es würde mich sehr freuen, wenn hier ein kleines Brainstorming entstünde und vielleicht findet sich ja sogar jemand aus der Umgegend von Berlin, der Lust hat in allen drei Dimensionen einzusteigen. Für mich ist es das erste Robotik-Projekt und wohl leider gleich ein ziemlicher Hammer. Ich werd also viele viele Fragen stellen. Z.B. ist es mir noch ein totales Rätsel, wie ich aus einer Reihe von CMOS Sensoren mit analogem Ausgang ein Bild herstellen kann!? Aber vielleicht gibt es erstmal zur Theorie noch Fragen und Anregungen!? Alles hat bisher nur Idee-Charakter und ist keinesfalls festgeklopft. Jeder patente Geistesblitz ist willkommen.
Vielen Dank