PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schachrobot



RedRen
16.06.2005, 15:19
Ahoi zusammen,

Erstmal, ein KLASSE Board, hier wird scheinbar keiner im Regen stehen gelassen.

Nachdem ich meine Werkstatt so ziemlich komplett habe (CNC Fräse und Drehbank)
habe ich lange überlegt was nun anstellen könnte.

Nun ist meine Leidenschaft das Schachspiel und es gibt im Markt keine Schachroboter
mehr....., höchstens als gebrauchte und dann empfindlich teuer mit pingeliger Mechanik ( bei Ebay ist gerade wieder ein Mephisto Phantom zu haben).

Ihr ahnt es :-)

Dann habe ich auch noch die Seite von Andreas Stabinger mit seinem FT-Schachroboter
gefunden und bin nun komplett infiziert.

1-tes Konzept:

Robotarm mit Schrittmotoren aus Maschinenbau-Aluprofilen iss stabil und optisch einigermaßen Wohnzimmertauglich ( wegen Lebensgefährtin ). Nicht allzu teuer. Relativ einfach zu realisieren.

MITTLERES PROBLEM: Steuerung vom PC, unn hier gehts los, ich habe noch ein eine altes LLwin Interface, scheidet aus weil nicht genug Leistung und zu wenig Ports, schade weil das hatte ich in Basic halbwegs im Griff.


Eventuell eine 4 Kananal Schrittmotorsteuerung wie ich sie in der Fräse verbaut habe( NC Step gibbet bei Ebay für 135,00 Euronen) hat aber nicht genug Eingänge für Sensoren usw.

Kennt jemand ne vernünftige Alternative?

GRÖßTES PROBLEM : wie bekommt der PC raus wo welche Figuren stehen oder gerade von mir bewegt wurden ohne stundenlanges eintippen von Positionen ?

Ansatz 1 die Felder und Figuren mit Barcodes versehen und an dem Arm einen CCD-oder Laserscammer anschließen ? Würde jedenfalls cool aussehen wenn der Arm damit das Brett scannt, lässt sich einfach anschließen (Über die Tastatur einschleifen oder USB) und iss noch bezahlbar.

Ansatz 2 : RFID = Schweineteuer und keine Idee wie es vernünftig gehen sollte.

Idee 3 : Bräuchte aber 64 Ports, ich hatte mal kleine Sensoren gesehen die bei Annäherung eines Magneten unterschiedlich leitfähig waren, also je näher der Magnet umso weniger Wiederstand. Da könnte man die Magnete in den Figuren in verschieden Höhen einbauen und hätte eine Prima Erkennung ( keine Ahnung mehr wie die Bezeichnung war).

Hier wäre ich für Anregungen dankbar.

Gruß
RedRen =D>

uwegw
16.06.2005, 15:34
bei der figurenerkennung muss man eingentlich nur einmal alle positionen wissen, und das ist bei spielbeginn automatisch der fall. dann überwacht man nur noch auf welchem feld gerade eine figur steht, und wenn der spieler nun einen zug macht ändert sich ja das muster in dem die figuren stehen. wenn nun also zb auf C2 eine figur gestanden hat, und nach dem zug ist sie da nicht mehr, und auf c3 ist eine figur dazugekommen, weiß man, dass der zug von C2 nach C3 ging. so kenne ich das zumindestens von schachcomputern (bei denen man dann allerdings von hand für den computer ziehen muss)

da ganze wäre dann wohl am besten mit reedkontakten zu lösen. und 64 ports braucht man auch nicht, wenn man das ganze multiplext...

RedRen
16.06.2005, 15:39
Ahoi,
UWEGW.
Schon ne gute Idee aber....
dann iss aber immernoch die ganze Tipperei wenn man Stellungen nachspielen will.

Involut
16.06.2005, 18:37
dann iss aber immernoch die ganze Tipperei wenn man Stellungen nachspielen will.

wie meinst Du das?
Willst du die Figuren auf dem PC -Bildschirm per Maus bewegen und dann macht der Roboter das in echt nach?
Oder reicht es c2-c3 einzutippen?
Hast du vor die Steuerung per PC oder Mc zu machen?

Ich würde empfeheln.
Oberfläche per VB auf dem PC.
Per rsr232 zu einem AVR mega 16.
2 Potrts (2 mal 8 Pins) mit 64 reed Kontakten.
Ich bin mir nicht sicher ob man auch mit weniger pins "Multiplexen" kann.

mfg

Inv

RCO
16.06.2005, 19:54
Also zu dem Thema gibt es schon einen meiner Meinung nach recht konstruktiven Thread:

Schachfiguren-Erkennung 'durch das Brett' (https://www.roboternetz.de/phpBB2/viewtopic.php?p=38110)

Da werden schon einige Möglichkeiten überdacht etc.
Einfach mal lesen.

RedRen
16.06.2005, 20:30
@Involut, ich wollte eigentlich auf dem Brett "analog" gegen den Arm spielen. Im Moment sieht es so aus als würde es eine Kombi aus Reed und Barcode werden. Der Scanner liest am Anfang die Stellung ein und über die Reedkontakte weis er wann ich was wohin gezogen habe.
Wenn mir doch nur diese verd%/&§$% Sensoren wieder einfallen würden die letzt gesehen habe. Muß das Alter sein....

@RCO thk's warn guter Tipp, hat mich nur nicht weitergebracht..

RedRen

linux_80
16.06.2005, 20:44
Hi,
wegen dem multiplexen müsste doch auch
4 x 4 x 4 gehen, sind dann immerhin noch 12 Bits !
also ein bischen 3D 8-[

mfg
daHanse

menior
16.06.2005, 21:03
http://www.allfun.com/catalog/pages/Chess_Computer_Chess.htm , wie ist das ?

RedRen
16.06.2005, 21:27
@menior, die Excaliburkiste kenne ich, ist aber nicht das was ich wollte, weil der a. nicht selbstgebaut ist, b. in Natur echt billigplastemäßig aussieht, c. auch keine richtige Figurenrkennung hat, d. nur mit der eingebauten Software läuft.

Aber Danke.
Gruß
RedRen

menior
16.06.2005, 21:57
das denke ich mir, wenn der selbstbau ruft. hast du dir mal den arm angesehen, wieviele achsen der hat. ich habe mal drüber nachgedacht, du bräuchtest auf jedem feld eine ir fotodiode, die die codierten lichtimpulse der schachfiguren empfängt. da reicht eine 0,25er diode völlig aus, die wird einfach via spule betrieben ohne batterie.

RedRen
16.06.2005, 22:59
@menior, ahh eine neue Idee, damit muß ich mich mal näher befassen, besten Dank. Werde nun mal mit der Planung der Arms befassen, habe schon mal nen paar Meter Profile bestellt.
Habe bei Ebay auch ne vielversprechende Schrittmotorkarte entdeckt, wenn das Ding so ist wie beschrieben ist das Prei/Leistungsverhälnis mehr als gut http://cgi.ebay.de/ws/eBayISAPI.dll?

ViewItem&category=10668&item=5780981224&rd=1&ssPageName=WDVW
RedRen

sonic
16.06.2005, 23:05
...
Wenn mir doch nur diese verd%/&§$% Sensoren wieder einfallen würden die letzt gesehen habe. Muß das Alter sein....
RedRen

Du suchst einen Magnetoresistiven Sensor, alternativ einen Hall-Sensor das ist aber kein Widerstand...

Gruß, Sonic

RedRen
16.06.2005, 23:06
Hrrmmpfft der link gehört natürlich zusammen, Knoten inne finger gehabt.

Also

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=10668&item=5780981224&rd=1&ssPageName=WDVW

RedRen

RedRen
16.06.2005, 23:37
@sonic, jau wie recht Du hast, war wohl ein bischen durcheiander weil vorher eine SMD Kombi von HalSensor und Wiederstand gesehen hatte.
Habe aber beim eifrigen durchstöbern meiner History im Opera wiedergefunden was ich meinte.

http://www.micronas.com/products/documentation/sensors/hal805/index.php

Wenn ich das richtig verstehe beinflußt die Stärke des Magnetfeldes die Ausgangsspannung ?! Das wäre das was ich suche .
Muß mal recherchieren was son Teil kostet.
RedRen

linux_80
17.06.2005, 10:21
Hallo,

kennt Ihr den schon:
Schachroboter (http://www.kuka.com/res/img/home/de/pic_home_06.jpg)

hoffe das Bild ist immer gleich 8-[

sonic
17.06.2005, 16:04
...
Wenn ich das richtig verstehe beinflußt die Stärke des Magnetfeldes die Ausgangsspannung ?! Das wäre das was ich suche .
Muß mal recherchieren was son Teil kostet.
RedRen

genau, allerdings vektoriell, d.h. es wird nur die volle feldstärke angezeigt wenn das magnetfeld 90° zum Stromfluss im sensor steht. Ansonsten misst du nur die rechtwinklige komponente des felds..
bezahlbar sind die auch...

gruß, sonic

RCO
17.06.2005, 19:28
Also nurmal ums klarzukriegen:

Du willst per PC eine Startaufstellung vorgeben, die der Roboter dann in real aufbaut und dann auf dem realenbrett quasi ohne eingabe über Tastatur gegen den PC/Roboter spielen!?
Oder alternativ das Szenario selber aufbauen (von Hand) und dann spielen.

Eine direkte Erkennung der Figuren und Positionen also unumgänglich!?

RedRen
17.06.2005, 21:56
@Sonic, wo hast Du bezahlbare gefunden? Ich gehe davon aus das ich 64 brauche, mal die günstigsten die ich gefunden habe 8,50 Euronrn = irre teuer 544,00 €.
@RCO, YEP, YEP, YEP, sonst kann ich auch weiter mit Fritz spielen.
Wenns fertich is soll alles über Brett gehen.

sonic
17.06.2005, 22:53
Ha nee ,-) andersrum, nicht die sensoren ins brett sondern einen an die hand des roboters. Obwohl eigentlich müsste der roboter sich doch merken können wo was steht, oder wie will er sonst seine züge planen?
ich bin davon ausgegangen das du den hallsensor quasi als bestätigung zum ertasten der figuren willst, abstand usw...

by the way TLE 4905L, TLE 4935L mal bei reichelt eingeben. hab noch nix mit denen gemacht aber die kosten nur 1/10el -> 80c

sonic

RedRen
17.06.2005, 23:19
Sicher weis der Roboter wenn man aus der Grundstellung spielt wo was ist.
Spielt man aber klassische Stellungen nach muß er erstmal das Brett "scannen"
Im Moment bin ich wieder bei meiner Anfangsüberlegung der Kombi aus Reed und Barcode gelandet, Reed für den Robot zum feststellen wann ich wohin gezogen habe, was es ist weis er ja von ersten einscannen und verheitenraten der Figuren mit den Feldern.

sonic
18.06.2005, 00:32
hm wie wäre es wenn du den figuren im fuss jeweils 2 großflächige kontakte verpasst und in den figuren unterschiedliche widerstände deponierst? damit könntest du über eine simple strom/spannungsmessung am jeweiligen feld feststellen wo welche figur steht...

gruß, Sonic

Involut
20.06.2005, 17:48
idee 1:
Wenn derb Roboarm aufgrund der Stellung seiner Gelenke weiss wie Hoch seine Hand grande ist, könnte man durch einen Mircotastater oder Reedschalter bei verschieden hohen Figuren wissen welche man da hat.
Vorrausgesetzt der Roboarm spielt nur mit einer Farbe.

idee 2:
cny 70 nehmen und verschidene Graustufen obe auf die Figuren machen.
OPder Verschieden helle leds.

mfg

Involut

Involut
20.06.2005, 17:50
..sorry für die tipfehler aber die hitze macht mich GAGA!!!!

RCO
20.06.2005, 20:03
wie wäre es wenn du den figuren im fuss jeweils 2 großflächige kontakte verpasst und in den figuren unterschiedliche widerstände deponierst?

Also da sehe ich einige Probleme drin:
1. Du musst auf dem Schachbrett auf jedem Feld mindestens 2 Kontaktflächen haben!
2. Wie willst du die Kontakte unter der Schachfigur anordnen, damit sie immer Kontakt haben?
3. Wie willst du unsaubere KOntakte verhindern?

Eine Frage ist sowiso, wie stark das erscheinungsbild verändert werden darf.


cny 70 nehmen und verschidene Graustufen obe auf die Figuren machen.

Oder drunter! Unter jedem Feld einen CNY70 und einen GUTEN Infrarotfilter. Allerdings sieht das auf weißen Feldern komisch aus.

@RedRen:

Das mit dem Scannen hab ich ehrlich gesagt noch nicht kappiert, wo willst du einen Barcode auf die Figuren machen?
Eine Idee aus de geposteten Thread war, dass du bei einer Aufstellung einfach die Figuren der Reihe nach von einem bestimmten Abstellbrett nimmst. Je nachdem welche Figur genommen wird und wo sie hingestellt wird kennt der Roboter die Position. Damit bräuchtest du nur Readkontakte. Allerdings 64 + 4 x 8 = 96 Stück!
Ich finde, dass das doch echt eine umsetzbare möglichkeit ist!

FatalError
21.06.2005, 11:56
was war denn nun mit den Hallsensoren von Reichelt? 77c für son Ding is doch derwegen recht human... außerdem klein und flach...
Andre Idee waren Reed-kontakte... wenn die zu teuer sind, um für jedes Feld ein eigenen zu verwenden, warum nicht einen kleinen Schlitten bauen, der unter dem Brett entlang fährt.. so braucht man nur Reedkontakte für eine Reihe (Brett wird dann zwar etwas dicker, aber naja O:) )
Mal ne ganz andre Idee von mir währe noch, unter jedes Feld ne kleine Spule anzubringen und in die Figuren n stückl Eisen/Magnet... durch die Veränderung der Induktion ließe sich doch auch ne Positionsbestimmung erreichen... ok, sehr aufwändig ich weiß, wollte es nur mal gesagt haben ;)


Hoffe, du hälst uns über den Verlauf dieses Projektes weiter auf dem Laufenden^^

MFG
FatalError

RedRen
21.06.2005, 15:41
@ Sonic, schon mal wider ein guter neuer Ansatz, muß ich erstmal hirnen.
Habe mir 2 programmierbare lineare Hallsensoren bestellt zum testen. Wenn das was taugt mache ich in der Richtung weiter. Wenn nicht bleibe ich bei der Barcode/Reedlösung.

@ RCO das mit dem Barcode ist einfach ne einfache Lösung, wenn man die Figuren so gestaltet das sie ne kleine Fläche oben haben um den aufzukleben ist das kein Thema. Dann noch nen Code für jedes Feld und das ist Bombensicher. Muß kein EAN 13 wie er auf Lebensmitteln ist sein, EAN 8 wie bei Zigaretten ist schon kleiner oder UPN wie in den USA Standard ist noch kleiner.
Über die Reedkontakte kann dann während des Spiels die schnelle Ermittlung der Züge stattfinden. Das mit den Feldern neben dem Brett benutzen z.B die Excalibur Jungs für Ihren Roboter, das hatte ich mir im Februar in den USA mal anschauen können, ist nervig wenn Du mal falsch gestzt hast beim aufbauen o.Ä. dann brauchst Du ne Tastatur. Außerden kann er keine Partien richtig aufbauen weil er ohne Figur auf dem Feld das passende Feld nicht findet.

Hat einer ne Idee wie die DGT Jungs das machen?

RedRen

RedRen
21.06.2005, 15:46
@Involut ich habe jetzt mit 4 großen Miefquirls nen richtigen "Jetstream in der Wohnung. Damit läßt sich leben. Man darf nur keine Papiere rumliegen lassen die gehen sonst fliegen...:-)

Red Ren

RCO
21.06.2005, 19:41
Was passiert denn, wenn die Figur gedreht ist? Funktioniert der Barcode dann auch noch, oder muss der Scanner dann noch gedreht werden?

Zu den Hallsensoren, mal überlegen, wie viele Figuren unterschieden werden müssen:
1 - 8 Bauern
1 - 2 Türme
1 - 2 Läufer
1 - 2 Pferde
1 - 1 Dame
1 - 1 König
Unterm Strich also 6 verscheidene pro Partei. Macht 12 Fälle, die unterschieden werden müssen.

Können die Hallsensoren unterscheiden, wierum die Feldlinien durch sie durchlaufen? So könnte man schonmal die Hälfte sparen!
6 Fälle, sind natürlich immernoch viel.

Vorraussertung zum messen ist allerdings, dass die Figuren immer ziemlich genau platziert werden! Also bin mal auf Messdaten gespannt!

RedRen
21.06.2005, 19:57
@involut bei guten Laserscannern ist das egal, billige CCD Scanner haben da schon Probleme.

Ich gehe mal von 12 Fällen aus, vermutlich wird es sehr von der Qualität der Magnete abhängen. Wenn die zu unterschiedlich sind geht viel an Toleranzwerten die man eigentlich für Toleranzen biem positionieren braucht drauf... Werde mal sehen.

Mein chef absoluter Nulltchniker hatte auch noch ne gute Idee, visuelle Erkennung von oben aufs Brett.

Gruß
RedRen

RCO
21.06.2005, 20:13
Tja, das wäre natürlich die Königsklasse!
Aber das ist dann schon richtig Bildverarbeitung: weiße Figur auf weißem Feld an der Kontur? erkennen!
Also mal ne andere Idee, wenn wir eh schon davon ausgehen, dass der Roboterarm jedes Feld einmal scannen muss, dann könnte man die Figuren doch leitend bauen und zwischen Kopf und Rest der Figur einen Widerstand einbauen. Wenn er die Figur dann packt, werd der Widersant über, an dem Greifer angebrachte Kontakte gemessen.

Irgendwie müssten wir uns ja eh noch gedanken über ein sicheres Grefierprinzip machen.

menior
21.06.2005, 21:13
der smd ne555 braucht 4,5v, das ist ein bisschen viel, aber machbar.

RedRen
22.06.2005, 13:24
@menior , was ist mit dem Timer ?. Finde jetzt keinen Zusammenhang.

Gruß
RedRen

RedRen
22.06.2005, 13:28
@RCO, wäre schon ne coole lösung wenn der "richtig" sehen könnte.

Hat eine ne Ahnung wo man ein Biometrisches Programm mal als Demo haben könnte um zu schauen was da geht?

Ich kenne nur FaceIt das gabs vor 6-8 Jahren mal als Shareware iss aber nun voll komerziell, noch nichtmal ne Demo gibts.

RedRen

menior
22.06.2005, 16:37
der timer lässt eine mini ir led blinken, je nach schachfigur eine eigene blinkfrequenz. die frequenz wird dann im schachbrett ir rot, weiss gemessen. dann weiss der mc wo welche schachfigur steht. ist doch einfach.

RedRen
22.06.2005, 17:19
@ menior, Ach sooo, hatte mich gewundert warum der da so ohne was rumsteht so einsam :-)
Aber wie kommt der Saft in die Figuren ? Induktiv ?
Sehe schon die Mechanik wird ein Klacks dagegen...

Grütze RedRen

RedRen
22.06.2005, 19:40
@ menior



die wird einfach via spule betrieben ohne batterie.


Habs wiedergefunden, Sorry für die Übereilte Frage.

Gruß
RedRen

RCO
23.06.2005, 19:40
Echt keine schlechte Idee. Man könnte alternativ auch einen kleinen AVR reintun (8-Pin SMD), der direkt eine Kodierung sendet. Außerdem könnte der die Energie besser einteilen. Die induzierte Spannung gleichrichten und mit nem Kondensator zwischenspeichern.
Im Board dann 64 Empfängerdioden und ne Menge Multiplexer. 8 achtkanal Multiplexer um genau zu sein. Einen Controller, der alle Felder ancheinander "abtastet". Das einzige was mir nicht gefaällt sind die weißen Felder. Sie sollen ja nicht durchsichtig sein, obwohl warum nciht, dann sieht das ganze auch recht technisch aus. Vielleicht könnte man die Sendeleistung für kurze Zeit richtig hoch kriegen, sodass man sogar milchglas nehmen könnte. Die Schwarzen felder beklebt man mit einer dunklen IR-Folie oder so.

Involut
28.06.2005, 18:38
Hi,
nochmal zu dem barcode Scanner.
Ich habe bei ebay einen mit rs232 anschluss gefunden und den Verkäufer gefragt ob man an einem Terminal Programm Daten empfangen kann.
Leider hat er es verneint.
Nun meine Frage an Redren und alle die sich angesprochen fühlen: wie bekommt man so einen Scanner an den MC oder PC?

mfg

Involut

tristate
28.06.2005, 19:04
hab mir das jetzt nicht alles durchgelesen aber wie wär es wenn du nur ein rc glied einsetzen würdest also alle felder mittels µc ansteuern pro linie ein kondensator und in jede figur ein unterschiedlicher widerstand dann zeit messen bis aufgeladen? so könnt man rausbekommen wo sich wer befindet..
mfg

RedRen
28.06.2005, 20:11
@Involut, nimm einen der in die Tastatur eingeschleift wird. Funzt dann wie eintippen. Beiden meisten kann man sogar LF als Ende einer Eingabe extra programmieren und nicht automatisch nach einem erkannten Code.

@Tristate, auch ne prima Idee ober ich bin mittlerweile weg von allem was Kontakte braucht.

Gruß
RedRen

womb@t
28.06.2005, 21:55
zum greifprinzip wäre n elektromagnet am greifer und eisen in der schachfigur ne idee... und wenn man die figur mal nicht so genau trifft springt die figur ja zum greifer^^, da man bedenken muss dass beim absetzen der figur die position nicht immer stimmen muss...

ps. ne geile idee mit dem roboter, vor allem dass du das durchziehst, auch wenn steine im weg liegen!!!! =D>