======Projektplanung====== =====Kontakt===== Jakob Zerbian: zerbian@campus.tu-berlin.de Nick Langer: nicklan@gmx.de =====Einführung===== Wir möchten einen Roboter bauen, der mit einer Person das Spiel //Halli Galli// im 1-gegen-1 spielt. Dabei geht es darum, dass Spieler und Roboter abwechselnd Karten legen und sobald auf den beiden ausliegenden Karten insgesamt fünfmal die gleiche Frucht zu sehen ist, eine Glocke geläutet wird. =====Ziele und Prioritäten===== Der Roboter **muss**: * Karten ausgeben können * die ausliegenden Karten erkennen * die Glocke läuten können * erkennen, ob der Gegenspieler die Glocke geläutet hat Der Roboter **sollte**: * den Punktestand erfassen können * bemerken, wenn keine Karten mehr vorhanden sind (Spielende) Es **wäre nett** wenn der Roboter: * dem Gegenspieler Anweisung gibt, z. B. zum Mischen Worauf wir bewusst **verzichten** sind: * weitere Mitspieler * selbstständiges Mischen * Fehler Was für Fehler? Geht es um die Annahme, dass der Nutzer nach den Regeln spielt? =====Physischer Aufbau Roboter===== ====Gestell==== Der Roboter braucht ein Gestell, an dem die wichtigen Komponente wie **Kartenausgabe**, **Klingelmechanismus** oder die Kameraaufhängung angebracht sind. **Aufgaben:** * Grundmodell entwickeln * Positionen der einzelnen Elemente festlegen **Material:** * vermutlich Holz * Schrauben, Nägel, etc. ====Kartenausgabe==== Da Roboter und Gegenspieler abwechselnd Karten legen sollen, muss der Roboter eine Möglichkeit habe einzelne Karten auszugeben, die vorher nicht offen sichtbar sind. **Aufagaben:** * Kartenhalterung * Kartenausgabe über drehendes Rad **Material:** * vermutlich Holz * Steppermoter * Gummiertes Rad ====Kinglemechanismus==== Wenn der Roboter erkennt, dass fünf gleiche Früchte auf den ausgelegten Karten zu sehen ist soll er nach den Regeln von //Halli Galli// die Glocke läuten. Hier gibt es mehrer Möglichkeiten, wie das Auslösen der Glocke zu lösen ist: - Beep vom Roboter ausgeben - echte Glocke läuten - Hebelarm über Hubmagnetzyliner - Hebelarm über Servo Die echte Glocke zu läuten ist auf jeden Fall zu favorisieren, die einfach Beep-Lösung nur als Plan B anzusehen. Wenn die echte Glocke geläutet werden soll, muss der Auslösemechanismus so positioniert werden, dass der menschliche Gegenspieler auch ohne Behinderung die Glocke läuten kann. **Material (je nach Ausführung):** * Hubmagnet oder Servo * Holz * Schanier * Schrauben, Gelenke, Stangen, etc. =====Programmierung Roboter==== ====Auswertung Sensorik==== ===Kamerabild=== Die Kamera, welche das Spielfeld überblickt muss erkennen, welche und wie viele Früchte auf den beiden aufgedeckten Karten zu sehen sind. **Aufgaben:** * optimale Bildeinstellung * Algorithmus zur Erkennung von den Früchten/Farben im Bild ===geklingelte Glocke=== Der Roboter soll auch erkennen, wenn der Gegenspieler die Glocke geläutet hat und den Punktstand auch ändern, je nachdem ob das Klingeln richtig oder falsch war. Mögliche Methoden zum Erkennen, ob die Glock geläutet wurde: * elektrische Leitung durch Kontakte schließen * kapazitiver Berührungssensor * Mikrophon **Aufgaben:** * eine geeignete Messmethode auswählen ====Spielgeschehen==== Ein Roboter nimmt wahr, verarbeitet und agiert. Bei unserem Roboter wird vor allem die Spielfläche wahrgenommen, verarbeitet ob der Roboter die Klingel drücken soll und es werden Karten ausgegeben und die Klingel dann auch gedrückt. Hier soll auch der aktuelle Punktestand der Partie gespeichert sein. **Aufgaben:** * Schnittstelle zwischen Sensoren und Aktoren mit dem "Gehirn" des Roboters schaffen =====Materialliste===== * Arduino Nano* * Logitech Webcam* * Halli Galli Spiel * Steppermotor + Treiber* * Hubmagnet* * stabile Beleuchtung (z.B [[https://www.amazon.de/TOOGOO-3V-5V-12-LED-Super-Piranha-Platine-Lichter/dp/B06ZXXLNZF/ref=sr_1_4?s=lighting&ie=UTF8&qid=1511880130&sr=1-4&keywords=5v+led+lampen|LED Licht Panel]]) * Stromversorgung (Stepper und Hubmagnet)* * Holz* * Stangen, Winkel, Schrauben, Muttern, etc.* *: Vermutlich schon im Labor vorhanden. =====Gannt Diagramm===== (vorläufig) {{ :projektewise17:haligali:gannt.png?200 |}} Die Beschreibung ist ausführlich und klar. Für die Zukunft: falls ihr die Abbildungsgröße in Wiki ändern wollt, müsst ihr z.B. beim Gantt-Diagramm :projektewise17:haligali:gannt.png?200 | zu :projektewise17:haligali:gannt.png?800 | oder ähnlich ändern.