- LiTime Speicher und Akkus         
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 47

Thema: Schachfiguren-Erkennung 'durch das Brett'

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2004
    Ort
    Muscat
    Beiträge
    11

    Schachfiguren-Erkennung 'durch das Brett'

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    ich arbeite an einem automatischen Schachspiel und beschaeftige mich zZt mit der Figuren- und Zugerkennung auf dem Schachfeld. Ich habe an eine magnetische Erkennung gedacht, die von unten 'durch' das Schachbrett (10mm Holz) funktionieren soll. Die Figuren, unter die kleine Magnete geklebt sind, sollen dann spaeter von eimem Robbi (Sekuria Cobra RS - fuer 50Euro erstanden!) ebenfalls von unten, mit Hilfe eines Elektromagneten bewegt werden.

    Als erste Variante habe ich an Hallschalter (zB H501) gedacht, die unter den Schachfeldern angebracht sind. Habe keine Erfahrung mit Hallschaltern, sind die empfindlich genug um durch das Holz den Magneten an den Schachfiguren zu erkennen ? Kommt natuerlich auf die Staerke der Magneten an, ich dachte 6x2mm Neodym Magnete die locker in den Fuss der Schachfiguren passen, siehe http://www.supermagnete.de/magnets.php?at=S habe eher an starke Magnete gedacht, da ja spaeter ein Elektromagnet andocken soll und die Figur bewegen.

    Der Nachteil dieser einfachen, schalterbasierten Variante ist allerdings, dass sich keine Figuren unterscheiden lassen - das ist zwar auch nicht unbedingt noetig, jedoch nett waers schon. Ein Satz Schachfiguren besteht aus 12 verschiedenen Figuren, liesse sich mit einen Magnetfeldsensor (zB KMZ10) durch unterschiedliche 'Befuellung' der Figuren mit oben genannten kleinen, aber offenbar sehr starken Magneten zwischen 12 Figuren unterscheiden ? Oder ist der Sensor zu schnell 'am Anschlag', wie koennte man eine Figurenerkennung realisieren ? (Kamera etc. scheidet aus)

    Bin fuer Anregungen & Tips dankbar

    Gruss
    Dietmar

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    ALso erstmal ne schöne Idee. Hier gibts schon einen, der einen Roboterarm gebaut hat, der Schachspielen kann mit Hilfe eines PCs.
    Also ich würde Magnete und Read-kontakte nehmen, weißt du was das ist? Die Sind einfacher als Hallsensoren.
    Die sind Preisgünstig etc. du musst ja garnicht feststellen welche Figur wo stet, wenn du einfach den WEg verfolgst. Die Anfangsaufstellung ist ja immer gleich, also dürfte es kein Problem darstellen, festzustellen wo eine Figu fehlt. Schwieriger wäre es festzustellen, welche Figur geschlagen wurde wenn es mehrere Möglichkeiten gibt, da müsste man sich was überlegen, am einfachsten Fest Schritte, also Schlagende Figur wird abgehoben, dann die geschlagene und dann die Schalgende wieder aufgestellt, so ist es kein Problem festzustellen, welche Figur jetzt geschlagen wurde. Das mit dem Nachlaufen einer Figur mit einem unter dem Brett angebrachten Magneten ist schon eher schwierig, was machst du z.B. mit einer eingekesselten Figur, die Diagonal schlägt, oder wie verhinderst du, dass direkt mehrere Figuren am Magneten kleben bleiben. Da würde sich vielleicht ein Roboterarm empfehlen, sieht dann auch sehr Stylisch aus!!!

    MFG Moritz

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2004
    Ort
    Muscat
    Beiträge
    11
    Danke, der Tip mit den Reed-Kontakten ist gut.

    Du hast recht, man muss nicht wissen wo welche Figur steht wenn aus der Grundstellung begonnen wird - oft will man jedoch von einer bestimmten Stellung aus weiterspielen und hat keine Lust die erst 'einzuteachen'.

    Hat jemand eine bessere Idee zur Figurenerkennung ? 12 verschieden starke Magnetfelder durch eine 10mm Holzplatte zu detektieren muesste doch machbar sein.

    Habe noch eine Idee: Ein einfacher LC-Schwingkeis als Sensor - wenn ein Magnet in die Naehe kommt wird sich die Schwingfrequenz aendern (Prinzip Metallsuchgeraet). Die Frequenzaenderung duerfte von der Magnetstaerke abhaengen und lasst sich PC-massig ueber einen Zaehler recht einfach auswerten. Ist mit einem einfachen Schwingkeis (ohne Temeraturkompensation, etc.) eine sichere Erkennung in 12 (relativen!) Stufen realisierbar ?

    Roboterarm empfehlen, sieht dann auch sehr Stylisch aus
    Der Roboterarm (siehe Bild links) ist dafuer vorgesehen unter dem Schachbrett einen Elektromagneten zu bewegen der die Figuren ziehen soll. 'Stylisch' ist's wenn man nichts von der Technik sieht...

    Das Problem mit eingekesselten Figuren (Springer!, Rochade!) ist mir bewusst, dann muss der Magnet erst mal die Bahn freiraeumen -Figur ziehen - und dann alles wieder ordnen. ('Figurenordnen' kommt im realen Schachspiel auch manchmal vor und muss mit dem Ausspuch „j'adoube“ angekuendigt werden, sonst gilt: 'beruehrt - gefuehrt').

    Dietmar

  4. #4
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.048
    Ich würde noch mal überlegen, ob 12 unterschiedliche Magentfeldstäreken erkennbar sind.
    Nichts dagegen wenn es geht, aber der Sensor hat eine Empfindlichkeit die von der Position auf dem, Feld abhängt und die Stellung auf dem Feld wäre dann kritisch.
    Ich habe noch nicht verstanden, wie die Mehrdeutigkeit beim Schach überhaupt aufkommt. Es wird doch immer nur eine Figut angehoben und wieder aufgestellt. Wenn das erkannt wird, dann ist es doch klar.
    Beim Schlagen ist klar wer schlägt, der aktive und wer geschlagen wird, der der seinen Platz verläßt.
    Besteht hier die Befürchtung der Wechsel könnte nicht erkannt werden?
    Dann soll sich der Roboter lieber melden, dann kann man es ihm noch mal kurz mitteilen.
    Manfred

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Beim schlagen könnte sich z.B. dadurch ein Prblem ergeben, dass amn mit der schlagenden Figur die geschlagene ersetzt, also direkt hinterinander,quasi vom Feld schiebt, dass macht man halt so, wenn man schach spielt. Für einen Controller dürfte es ohn eein kurzes öfnnen eines Readcontaktes schwer werden zu erkennen wer jetzt geschlagen wurde, wenn dan mehrere Züge möglich sind. Ist natürlich ein leicht zu vermeidender spezialfall.
    Ich denk auch, dass das mit den 12 verschiedenstufigen MAgneten schwierig ist. einfacher wäre es auch hier, wenn man einfach eine bestimmte Reihenfolge einhällt, oder jede Figur erst auf ihren stammplatz und dann auf den neuen setzt. Genial wäre es, wenn man neben dem Feld ein kleines Feld nur für die Figuren hätte, wo sie einfach aufgereit stehen. wenn man von dort die Figuren nehmen würde, wäre es kein Problem festzustellen, wo sie herkommen und daher wer sie sind.
    Ich würde übrigens für das verschieben der Figuren keinen Roboterarm nehmen, der unter dem Brett angebracht ist. Lieber 2 scheinen wie bei einem Flachbett scanner, man bräuchte einen für X und einen für Y. ZUsätzlich einen kleinen Elektromagneten. Mit dem Arm dürfte es schwierig werden die Position der Holzplatte etc so genau zu bestimmen.

    MFG Moritz

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2004
    Ort
    Muscat
    Beiträge
    11
    Ich dachte an einen eigenen Sensor fuer jedes der 64 Felder auf dem Schachfeld, moeglichst so klein/genau dass er nicht von Figuren auf den angrenzenden Feldern beeinflusst wird. Falls der Sensor zu teuer ist und ich mit einem einzelnen auskommen muss, muss Robbi eben mal den Magneten zum Ziehen der Figuren aus der Hand legen und mit dem Sensor fuehlen welche Figur wo steht, dass kann allerdings ein bischen dauern.

    Die Mehrdeutigkeit besteht dann, wenn 'der Mensch' eine beliebige Stellung aufgebaut und von dort aus weiterspielen moechte. Irgendwie muss die Stellung dann in den Rechner, ohne explizites teach-in.

    Bobby Fischer (ex Schachweltmeister und seit Titelgewinn verschwunden [lebt aber]) schlaegt dies uebrigens generell fuer Titelkaempfe im Schach vor. 'Die Russen' (sorry) haben jede moeglich Eroeffnung bis ins Letzte analysiert und man spielt eher gegen eine lebende Datenbank (Karpov!) als ideenreiches, kreatives Schach. Karpov spielt(e) sogut wie immer die Caro-Cann Eroeffnung bei der er alle sinnvollen Abspiele analysiert hat. Wahrscheinlich ist er in einem kirgisischen Schachkloster aufgewachsen.

    Du hast recht, waehrend des laufenden Spiels ergeben sich keine Mehrdeutigkeiten - es ist immer klar wer, wann 'dran' ist und per vorher/nachher Vergleich laesst sich herausbekommen was geschehen ist.

    Lasst sich mit Hobbyetat und eher maessigen Elektronikkentnissen an was RFID basiertes denken ?

    Gruss
    Dietmar

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also wie geagt, REED ist wohl am besten, das Abtasten wird ewig dauern, vor allem muss er 64 Felder abklappern und dann warten und dann das gleiche wieder. wenn eine Figur 2 möglichkeiten zum schlagen hat, dann weißt du nacher nciht welche sie geschalgen hat, weil du nur ein leeres und mehrere volle Ferlder siehst. Deshalb lieber REED, bei Reichelt ab 20 cent/Stück. 12,80€
    Bei Ebay:

    100 Reed Schalter/Kontakte, 200 Magnete, neu
    http://cgi.ebay.de/ws/eBayISAPI.dll?...sPageName=WDVW

    Im Moment bei 10 Euro!

    Bei einem Spielbrett mit veränderter aufstellung könnte man ja auch eine kleine Tastatur dranhängen, drück man dan die Taste 'LÄUFER' und setzt ihn auf. Reed leitet uC weiß wo!

    MFG Moritz

    EDIT: bei Pollin gibts Reeds schon ab 10 cent!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    21.10.2004
    Ort
    Muscat
    Beiträge
    11
    Ich stelle mir das nun so vor:

    Unter jedem der 64 Felder liegt ein Reed-Kontakt der erkennt, ob eine Figur auf dem Feld darueber steht. Diese Reed Array wird vom PC ueberwacht und dient zur Erkennung von Zuegen durch den Mensch.

    Unter dem Schachtisch ist ein Roboterarm (spaeter eine flache XY Einheit) der einen Elektromagneten traegt der zum Verschieben der Figuren dient.

    Soweit so gut, falls der User jedoch eine bestimmte Stellung der Schachfiguren dem PC uebermitteln moechte, kommen RFID tags ins Spiel die unter den Figuren angebracht sind. Der Roboteram traegt nun die Empfangsantenne eines RFID readers und faehrt das Schachfeld ab bis er alle Figuren gefunden hat.

    Die RFID tags werden ebenfalls verwendet um am Anfang jedes Spieles die Grundposition zu ueberpruefen um dann die Zugerkennung komplett dem Reed Array zu ueberlassen.

    Einen RFID reader gibts bei Conrad: LESER 1 Artikel-Nr.: 130078 - U0
    RFID Transponder in Nagelform (ideal um in die Schachfiguren einzukloppen) hier: http://www.sokymat.com/index.php?id=442
    Was denkt ihr, guter Plan ???

    Dietmar

  9. #9
    K.I supporter
    Gast

    machbar aber teuer

    es gibt ein Transponder-System Namens "easy key"
    bei Conrad gibt es z.B. einen Empfänger für 29,95 (Best.Nr.: 130078-55).
    Die passenden Transponder Aufkleber kosten allerdings mit Mengenrabatt 4,95 (vielleicht woanders günstiger) !!!
    Ein Problem wäre die Abschirmung zu Nachbarfeldern,
    da die Reichweite bei ca. 5cm liegt. ...wäre aber bestimmt machbar.
    da diese Transponder Sache ja eigentlich Sonderausstattung ist lohnt sich das wohl eher net, oder?

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    36
    Beiträge
    557
    Genial wäre es, wenn man neben dem Feld ein kleines Feld nur für die Figuren hätte, wo sie einfach aufgereit stehen. wenn man von dort die Figuren nehmen würde, wäre es kein Problem festzustellen, wo sie herkommen und daher wer sie sind.
    Ich fand' die Idee ganz gut. Hast du die "überlesen", oder was?

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

Seite 1 von 5 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus