PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Würfelroboter



stekolos
27.10.2008, 17:19
Hallo zusammen,

ich möchte einen Würfelroboter bauen:

1.) Mechanik zum Würfeln sollte sehr einfach sein
2.) die Würfelaugenzahl soll per Webcam erkannt werden.
3.) Ein "Mensch ärgere dich" nicht soll gespielt werden und via Internet mitverfolgt werden können.

Wer hat Lust an diesem Projekt mitzuarbeiten?
Wer hat Erfahrungen mit Bilderkennung in Visual Basic?

Bitte melden.

MfG
SteKoLos

Besserwessi
27.10.2008, 20:24
Die einfachste Mechanik zum Würfeln sollte so eine Art Sanduhr sein. Zum würfeln wird das ganze einfach jedesmal um 180 Grad gedreht und die Würfel fallen auf die andere Seite. Das geht das sogar ohne Computer zur steuerung, einfach nur mit Getreibemotor und Taster als Anschlag.

Die Auswertung der Würfel per Camera ist die wirkliche Schwierigkeit. Wäre wohl am einfachsten von unten mit Glasboden.

stekolos
28.10.2008, 10:34
Hallo,

ich dachte da an so was ähnliches.
Durchsichtiges Plexiglasrohr mit einem Drehpunkt in der Mitte.
Kamera unten Positionieren.
Weisser Würfel mit schwarzen Punkten.

Dann wäre der Ablauf:
1. Drehen um 180 Grad
2. Bild machen
3. Bild auswerten (schwarz weiss)

Das Problem bei 3. ist dass der Würfel nicht immer in der selben Position liegt. Daher müßte man erst den Würfel "erkennen" und mit hilfe von OCR auswerten.

Gruss SteKoLos

www.ldap2doc.de

Besserwessi
28.10.2008, 20:05
Wenn man einen einigermaßen guten Kontrast hat, sollte das finden des Würfels gar nicht so schwer sein. Bei den normalen Punkten sollte wird die normale OCR Software aber wohl nicht gehen. Im Extremfall muß man einfach nur die Punkte suchen und zählen, die Umrisse des Würfels brauchen dazu gar nicht man sichtbar sein. Ist Vielleicht nicht ganz so zuverlässig, aber man will ja ohnehin Zufallszahlen.

elayne
29.10.2008, 06:06
Hey,
Das mit der Kamera hört sich recht schwierig an, das sollte doch auch leichter gehen. Ich dachte evt. an einen mehrfarbigen Würfel und einen Sensor der die Farbe erkennt. Das sollte ganz gut machbar sein. Alternativ eine Art Code oder Merkmal auf jeder Seite die mittels eines Sensors ausgelesen werden. Aber vll. interessiert dich ja genau das auslesen mittels Software :)

Gruß
elayne

radbruch
29.10.2008, 14:02
Man könnte den Würfel nach dem Wurf in ein Rohr mit Glasboden (oder ähnliches) fallen lassen. Dann könnte man mit einem lichtempfindlichen Sensor von unten die Gesamthelligkeit messen. Vielleicht läßt sich so die Augenzahl ermitteln.

stekolos
29.10.2008, 15:13
Die Ideen sind alle nicht schlecht.
Ich dachte daran eine Vorrichtung zu bauen in die der Würfel fällt und immer genau platziert wird. Eine Art vierkantiger Trichter. Dann könnte man zumindest immer das gleiche Raster darüberlegen.

radbruch
29.10.2008, 15:29
Jepp, genau sowas hatte ich auch angedacht, allerdings wird der Würfel vermutlich nicht immer bis unten fallen. Wenn es doch funktionieren sollte ist die Auswertung mit einer Kamera nicht mehr schwer weil man weiß wo sich die Augen befinden müssen und deshalb gezielt die Helligkeitswerte der Augen einlesen und auswerten kann. Das würde ich (in C) auch mit meiner Minimalkamera schaffen :)

Man könnte unter den Trichter einen servobetriebenen Abschussmechanismus dranbasteln so wie der Startabschieser bei einem Flipper...

stekolos
30.10.2008, 21:02
Ich habe jetzt mal erste Versuche gemacht.
Ich denke das könnte was werden oder??
Auf Bild 1 ist der Versuchsaufbau zu sehen:
Grundplatte mit Webcam und Würfel auf Plexiglasplatte

Auf Bild 2 kann man den Wurfelbild sehen.
Achtung: Es handelt sich dabei nicht um die gewürfelt Sechs, sonder um die Eins!

radbruch
30.10.2008, 21:31
Hallo

Ja, das sieht vielversprechend aus. Ob die Augen oben oder unten gültig sind ist doch eigentlich egal. Ich würde trotz der guten Aufnahme mit der Cam mal testweise eine Fotodiode drunterbasteln und die Helligkeitswerte messen. Mit einer entsprechenden Ausleuchtung sollte es doch möglich sein die sechs Möglichkeiten zu unterscheiden. Selbst sieben Fotodioden wären noch günstig in der Anschaffung, allerdings bräuchte man dann auch sieben ADC-Kanäle :(

Gruß

mic

stekolos
31.10.2008, 06:39
Hallo,
ich denke das mit den Fotozellen ist zu komplex vom Aufbau.
Ich habe mal versucht das aufgenommene Bild in schwarz weiss umzubauen damit ist es etwas übersichtlicher. Dann muss ich jetzt "nur" noch eine Finde runde schwarze Flächenroutine entwickeln.
Muss mal hierzu etwas googeln, melde mich wieder.

Gruß
SteKoLos

radbruch
31.10.2008, 13:07
Dann muss ich jetzt "nur" noch eine Finde runde schwarze Flächenroutine entwickeln.
Das ist ja eigentlich nicht nötig. Du weist ja, wo die Augen auftreten können. Auch wenn der Würfel um 90° gedreht liegt gibt es insgesamt nur 9 Stellen an denen man schwarz oder weis unterscheiden muss. Wenn man diese neun Punkte abprüft und die gefundenen Augen zusammenzählt ist das Problem gelöst:

x x x

x x x

x x x

stekolos
02.11.2008, 21:02
Hallo zusammen,

jippi, ich habe es geschaft die Augenzahl zu erkennen.
Siehe hierzu auch das Bild:
1. Bild mit Webcam machen
2. Bild in Graustufen umwandeln
3. Grauwerte pro Pixel zählen

Hinweis: die Buttons 1,2,3,4,5,6 sind für die Initialisierung/Testbilder.

Mit dieser Methode ist es egal wo der Würfel liegt es klappt jedenfalls bisher wunderbar. Zur Zeit verwende ich einen einfachen Plastikbecher (da war Joguhrt, drin) mit passendem durchsichtigem Deckel.
Jetzt brauch ich noch die Würfelvorrichtung.
Die werde ich mit einem Servo und RNS1 sicher einfach hinbekommen.

Ich melde wieder wenn ich was neues von der Würfelfront hab!

Gruss
SteKoLos

ex535
02.11.2008, 23:39
Hi SteKoLos,

super kann ich da nur melden.
Ich werde deine Entwicklung mitverfolgen.

Schaun wir mal.

Gruß
Kurt