PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schachspielen mti dem roboter



erika.funk
02.03.2005, 15:23
Hallo alle zusammen!!!!

Kann uns jemand sagen, wie wir die Koordinaten eines PC Schachspiels abgreifen können? Unsere Aufgabe ist es, einen Roboter zu programmieren, der das PC Schachspiel nachspielt. Könnt ihr uns ein bestimmtes Schachspiel empfehlen, bei dem wir gut an die Daten kommen. Werden die Koordination eventuell in einer externen Datei abgespeichert?
Wir danken schon mal...

binaer
02.03.2005, 17:06
Soll der Roboter das Spiel nur nachspielen oder soll man mit ihm Spielen können. bzw. Spielt der Benutzer am PC oder am Schachbrett?
Evt gibt es Open Source Schachspiele, wo man den Quellcode ergänzen könnte. Wie wird der Roboter gesteuert?
Es ist mir kein Schachspiel bekannt, das gleich ein Interface für solche Zwecke bietet.
lg binaer

RCO
02.03.2005, 17:14
Ich kann dir zu dem Thema nur mal diesen Link empfeheln:

Schachfiguren-Erkennung 'durch das Brett' (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=4246)

MFG Moritz

02.03.2005, 17:56
dankeschön....:)

02.03.2005, 20:07
Also: Wir sitzen am Computer und spielen Schach. Der Roboter soll lediglich die Züge "nachziehen". Wir sollen in irgendeiner Programmiersprache (wir machens jetzt mit BASIC und Visual BASIC: also einmal unter DOS und unter WINDOWS) über die serielle und parallele Schnittstelle den Roboter ansprechen. Wir wissen aber nicht, welches Programm wir für das Schachspiel verwenden sollen, wir müssen ja irgendwie an den Quellcode kommen....

RCO
02.03.2005, 21:10
wir müssen ja irgendwie an den Quellcode kommen....

Warum nicht selber schreiben? Ich kenne mich zwar nicht mit VB aus, aber z.B. mit Delphi, und da wäre es vermtulich cniht alzu schwer. Ist das in VB so verschieden?

Ich würde mir eher Gedanken darüber machen, wie ich die INformarion des Bretts in den PC bringe! Falls ihr euch für die Lösung mit den Magneten entscheiden solltet, dann müsst ihr 8 x 8 = 64 Daten in den PC kriegen! Ich würde da einfach sagen, klar uC! Aber ich weiß nicht, wie euer Wissensstand da ist.

MFG Moritz

binaer
02.03.2005, 21:20
@RCO:
Ich denke einen Schach-Bot zu schreiben (also dass man gegen den PC spielen kann) dürfte doch nicht allzu banal sein.
lg binaer

RCO
02.03.2005, 21:31
(lesen-denken-schreiben-NOCHMALDRÜBERNACHDENKEN-abschicken)
Punkt 3 hab ich wohl vergessen. Hatte es so verstande, als sollte PC nur die schritte gemachter Züge auf dem Brett registrieren. :oops:

Also mir fallen da jetzt erstmal 2 möglichkeiten ein:
1. Ein Roboterarm packt die Figuren und setzt sie an die entsprechende Stelle (http://www.stabinger.de/stabinger/robot.htm).
2. Ein Magnet ziht unter dem Brett die Figuren, ähnlich in dem Link oben dargestellt (dabei würde ich vielleicht das Schienensystem von Scannern verwenden). Einfach 2 Stück kaufen und umbauen, gibts bei Ebay oft fürn €.

MFG Moritz

binaer
02.03.2005, 21:36
hast glaub eher punkt 4 vergessen ;)

Ja klar, beide Varianten kommen in Frage. Bei der Zweiten müssten dann die Figuren im Vergleich zu den Feldern einfach klein genug sein, denn man muss sie ja auch zwischen anderen Figuren durch auf ein Feld ziehen können (Spetziell beim Springer ;)). Und das ohne dass der Magnet andere stehende Figuren beeinflusst.
Zusätzlich kommen fragen bei Ausnahmefällen (Bei Nr1. Was wenn die Figur runterfällt oder nicht richtig gegriffen wird? Bei Nr2. Wenn sie irgendwo anstösst oder sonst vom Magnet verloren geht?)
lg binaer

RCO
03.03.2005, 12:19
Bei der Zweiten müssten dann die Figuren im Vergleich zu den Feldern einfach klein genug sein, denn man muss sie ja auch zwischen anderen Figuren durch auf ein Feld ziehen können

Oder wie hier:
http://www.ryde.demon.co.uk/realmedia/phantom.htm

Schaut euch vor allem mal unten die Videos an. Hier wird es halt so gelöst, dass die Figuren sozusagen auf Zwischenpositionen geszogen werden. Wäre natürlich interessant, das ganze mal von innnen zu sehen. Aber ich vermute mal, dass keiner hier so ein Ding hat.

MFG moritz

binaer
03.03.2005, 13:04
d.H. es müssen unter Umständen zuerst andere Figuren zur Seite geschoben werden?
lg binaer

RCO
03.03.2005, 13:51
d.H. es müssen unter Umständen zuerst andere Figuren zur Seite geschoben werden?

Ja, meist halt nur eine oder so. Schau dir mal die Videos an, da funktioniert das eigentlich ganz gut.
Der Roboter arm hätte da naürlich einen Vorteil...

MFG Moritz

binaer
03.03.2005, 16:36
Roboterarm wäre aber auch viel komplizierter zu Bauen und anzusteuern, da mehr Achsen gesteuert werden müssen. Und teurer würde er auch.
Frage ist halt immer noch, was wenn der Magnet "versagt" oder die Figur irgendwo anstösst und die Figur dem Magnet verloren geht.
Beim Roboterarm: Was wenn die Figur nicht richtig gegriffen wird oder umfällt?
lg binaer

RCO
03.03.2005, 17:10
Tja, man müsste versuchen, das Verfahren soweit zu perfektionieren, dass sowas nicht passiert. Eine "verlorengegangene" Figur ist wohl nur schwer wiederzufinden. Man kann natürlich feststellen, dass sie nciht da ist, wo sie sein sollte, aber wo sie ist, ist ohne eindeutige Identifizierung schwer.

MFG Moritz

superjany
20.03.2005, 11:36
Hi,
Ich habe mir ja jetzt nicht alles durchgelesen, aber die Daten von dieser Magneterkennung in den Rechner zu bekommen sollte kein Ding sein: Mit 8 Eingängen am Parallelport sollten 2^8 Werte einlesbar sein. Wenn ihr wollt kann ich mal versuchen euch ne Relais-Engine ranzuziehen. Dann braucht ihr nur noch n passendes Board und könnt darüber problemlos die Relais schalten :)

Jan

RCO
20.03.2005, 12:14
Im Moment ist das größte Problem ein Verfahren zu entwickeln, wie der PC oder ein uC Figuren auf dem Schachbrett bewegen kann. Die Kommunikation mit dem PC ist in der Tat nicht alzu schwer, hier stehen ja sowohl RS232 als auch der LPT-Port zur Verfügung.

MFG Moritz

superjany
20.03.2005, 17:32
Wie gesagt, die Idee mit dem Magneten ist doch nicht so schlecht...

13.08.2005, 12:54
Professionelle Schachprogramme läßt man mit Hilfe einer speziellen Software automatisch gegeneinander spielen . Die Pc s sind , glaube ich,
über ein serielles Kabel verlinkt.
DieSoftware gibt die Züge des Schach-Programms aus und verarbeitet die
Züge desgegenerischen Programms.
Dein Brett müßte also nur den entsprechenden Code an den Computer geben.
Und Dein Roboterarm muß dann nur die Signale in Züge umwandeln.
nähere Infos vl. unter www.computerschach.de Die erstellen damit die Rating-Listen.
Einen frei pogrammierbarer , günstigen Roboterarm wäre der
MR-999E Movit Roboterarm von ARREX mit Interface.
Wenn man jetzt ein Brett baut ( Drucktaster oder reedrelais in Verb. mit microcontroller ) das einfach nur die koordinaten der Züge ( z.B E2E4 ) an den Computer gibt ( in der Form, wie es das Popgramm benötigt ) , könnte man eine Partie gegen den Computer spielen.
Ich würde Druckschalter verwenden und die Figuren auf der Unterseite mit Magneten versehen, so daß diese auch bei ungenauem aufsetzen immer
wieder die exacte Position haben, nach der der Roboterarm sich orientiert.
Selbst wenn der Robteram ungenau greift und absetzt, würde es dann funktionieren.

Gruß
Jens