Ein Holzroboter, der Schach spielen kann
Sie haben wahrscheinlich viele Arduino-basierte Projekte gesehen, die über eine Art Smartphone verwaltet wurden. Solche Projekte waren in der Regel wie folgt: Ein Computer mit einem eingebauten Bluetooth-Modul, an den Befehle vom Joystick-Emulator auf dem Telefon (oder ähnlichem) gesendet werden. Es wurden sehr viele solcher Dinge gemacht, und mir kam eine solche Idee in den Sinn. Aber was ist, wenn Arduino Ihnen hilft, sich für eine Weile von Ihrem Smartphone zu trennen, es aber gleichzeitig weiter zu spielen? Und so entstand das Projekt eines Schachroboters, dessen „Gehirn“ und „Augen“ im Android-Smartphone konzentriert sind. Weitere Details - unter dem Schnitt.Gesamtansicht
[Hirez]Diese ganze Komposition ist eine Holzkiste, auf der sich ein Schachbrett, ein Manipulator und eine hintergrundbeleuchtete Halterung befinden, auf der das Telefon ruht. Nach dem Spiel wird alles oben Genannte in dieser Box entfernt und kann problemlos überall hin transportiert werden, beispielsweise in einem Rucksack.Das Funktionsprinzip ist wie folgt. Auf der Platine ist auf einer speziellen Halterung ein Telefon mit einer speziellen Anwendung installiert, die mithilfe eines Computer-Vision-Systems die aktuelle Position der Teile auf der Platine festlegt. Aufgrund der Tatsache, dass das System alle Bewegungen überwacht, muss nicht visuell festgestellt werden, welche Figur sich in der Zelle befindet. Es reicht aus, die Tatsache ihrer Anwesenheit und Farbe zu kennen.Nachdem eine von einer Person vorgenommene Bewegung behoben wurde, werden diese Informationen übertragenEine Schachmaschine , die entscheidet, auf welchen Zug er reagieren muss.Als nächstes werden die Winkel für die Positionen berechnet, die der Roboter einnehmen muss, um eine Bewegung auszuführen. Diese Informationen werden dann über Bluetooth an den Manipulator gesendet. Der Manipulator kann dieseInformationen nur akzeptieren und sich bewegen.Ich hoffe, dass der Leser dieses Artikels hier etwas Interessantes für sich findet. Vielleicht möchte jemand dieses Projekt wiederholen oder etwas Ähnliches tun. Ich möchte sofort sagen, dass es kein Tutorial geben wird, da das Kopieren dieser Arbeit einfach gemäß den Anweisungen nicht Schritt für Schritt funktioniert, da es viele Feinheiten gibt, die nur verstanden werden können, wenn versucht wird, sie zu implementieren. Wenn Sie sich die Zeichnungen des Manipulators ansehen möchten oder andere Fragen haben, schreiben Sie eine persönliche Nachricht auf GT oder VK , ich werde kostenlos und auf Anfrage antworten.Software-Teil
All diese Komposition wird von einer kleinen Android-Anwendung gesteuert. Er hat viele Aufgaben: Ermitteln der Zahlen auf dem Brett, Berechnen der Winkel für den Manipulator, Arbeiten mit der Schachengine, ein paar Sprachnachrichten des Roboters wie „Ich setze Ihnen den Scheck!“. und "Danke für das Spiel!" Bei alledem passt die Anwendungsoberfläche in einen Bildschirm.Das Bildverarbeitungssystem ist ziemlich einfach. Aus der Sicht des Telefons gibt es keinen großen Unterschied zwischen beispielsweise einem König und einem Pferd - beide Figuren sehen optisch wie schwarze und weiße Kreise aus. Daher macht sich das System nicht jedes Mal mit der Position vertraut, die es sieht, sondern merkt sich die Reihenfolge aller durchgeführten Bewegungen. Und der durchgeführte Zug ist sehr einfach zu bestimmen: Wenn das Programm zu einem bestimmten Zeitpunkt feststellt, dass ein Teil in einer Zelle verschwunden ist und in einer anderen erscheint, wird dies als Zug betrachtet. So funktioniert es.Diese Art von technischer Vision wird ausschließlich über die Android-API implementiert, ohne OpenCV oder ähnliches zu verwenden. Dies ist nicht richtig, der Grund hierfür ist ein persönliches Interesse daran, alles von Grund auf neu zu realisieren.Manipulator
Es war eine Menge kreativer Suche erforderlich, um ein solches Manipulator-Design zu entwickeln, das seine Arbeit mit den billigen chinesischen TowerPro sg-90-Servoantrieben, die ich in großer Anzahl hatte und die nicht von hoher Qualität sind, angemessen ausführen kann. Daher sind beide Arme des Manipulators in Form von Parallelogrammen hergestellt, wodurch das Formerfassungssystem immer in einer vertikalen Position bleiben kann. Dies macht es wiederum unnötig, ein weiteres Servo hinzuzufügen, daher hat das System weniger Fehler, ermöglicht es, leicht und mehr oder weniger zu seinzuverlässig. Da die Zahnräder ebenfalls aus Holz bestehen, ist es schwierig, die höchste Qualität ihrer Arbeit zu erreichen. Um das Spiel auszugleichen, führt der Manipulator vor jeder Bewegung eine Seitenbewegung aus, um sich jedem Punkt auf einer Seite zu nähern.Das Netzteil erhält sein Roboter von zwei Motherboards aus normalen Gebühren für das Telefon, die sich sicher im Gehäuse befinden. Eine Ladung versorgt den Controller selbst zusammen mit dem Bluetooth-Modul, die andere direkt mit der Mechanik. Um die Beleuchtung herzustellen, wurde die LED-Lampe zerlegt. Wie sich herausstellte, befinden sich zwei Platinen darin: Die LEDs befinden sich auf einer und der Stromrichter auf der anderen. Einer ist an der Halterung befestigt, der andere ist im Kastenkörper platziert. Die gesamte Stromversorgung wird an einer kleinen Steckdose an der Seite des Gehäusekörpers angezeigt:Ein weiteres Bild zeigt den Arbeitsbereich des Manipulators für den darauf markierten roten Punkt. Für die Nullachse beträgt der Winkelbereich 180 °.Es ist mir nicht gelungen, einen solchen Roboter sofort herzustellen, einige Prototypen funktionierten sehr schlecht und andere für andere. Zum Beispiel gibt der Roboter im Video unten Zucker in einen Becher und rührt die Möwe.Formerfassungssystem
Von besonderem Interesse ist meiner Meinung nach das Design des Figurenerfassungssystems. Die naheliegendste Lösung bestand darin, zwei Wangen unter der Kontrolle eines Servoantriebs aufeinander zu bewegen. So etwas wie das:Wie Sie der Abbildung entnehmen können, müssen Sie für einen Satz völlig kleiner Teile mit einem Basisdurchmesser von 18 mm den Schachbrettkäfig fast doppelt so groß machen, und die Größe des Bretts erweist sich auch als unangemessen groß. Nach mehreren erfolglosen Implementierungen dieser Option bin ich auf eine so ungewöhnliche Sache gestoßen, die als „flexibler Spannzangengriff“ bezeichnet wird, und sie sieht folgendermaßen aus:Das heißt, es ist ein flexibler Hohlkern im Inneren mit einer kleinen federbelasteten Metallklaue am Ende, die sich schließt, wenn sie an den Seiten zusammengedrückt wird. Und ohne Druck öffnet sich die Klaue sofort. Nachdem ich eine solche Erfassung gebrochen hatte, machte ich auf dieser Grundlage mein System zur Erfassung von Zahlen. Eine Metallklaue drückt den Ring zusammen, der an der Zahnstange befestigt ist und von einem Servo angetrieben wird.

Ergebnisse
Die Arbeit an dem Projekt wird fortgesetzt, und auch die Ergebnisse verbessern sich allmählich. Im Moment kann der Roboter ein Spiel spielen, das nicht durch die Anzahl der Züge begrenzt ist, sowohl für Schwarz als auch für Weiß. In diesem Fall treten weder in der Arbeit der Mechaniker noch im Softwareteil des Systems Fehler auf. Übrigens spielt er nicht sehr stark, auf der Ebene der dritten Kategorie kann dies leicht durch Ersetzen der Schachmaschine korrigiert werden. Ich habe diesen Roboter auf der Ausstellung "Archimedes-2016" demonstriert, wo er 6 Stunden hintereinander fast ununterbrochen mit verschiedenen Menschen spielte und eine solche Probefahrt angemessen bestand.Das ist alles, ich hoffe, Sie haben sich für dieses Projekt interessiert. Natürlich hat es seine Nachteile bei den Implementierungsfunktionen, sodass noch Raum für Verbesserungen, Verbesserungen und Entwicklungen besteht. Ich freue mich über Ratschläge, Fragen und Anregungen in den Kommentaren. Source: https://habr.com/ru/post/de392065/
All Articles