S.A.R.C.A.S.M: leicht nervtötende automatische Rubik’s-Cube-Lösungsmaschine
(github.com/vindar)- S.A.R.C.A.S.M ist ein 3D-gedruckter Roboter, der einen Rubik’s Cube scannt und löst und dabei sarkastische Sprachkommentare abgibt
- Verwendet einen Teensy 4.1-Mikrocontroller und eine ESP32-CAM für Bilderkennung und Steuerung
- Über ein ILI9341-Display werden 2D-/3D-Grafiken, Animationen und Lippensynchronisation umgesetzt; die RGBW-Beleuchtung ist mit dem Audio synchronisiert
- Erzeugt Sprache direkt auf dem Gerät mit espeak-ng-basierter TTS und enthält eine Sammlung sarkastischer Sprüche
- Damit der gesamte Code in den RAM passt, sind Änderungen an den Teensy-Core-Dateien nötig; derzeit in unfertigem Zustand veröffentlicht
Projektüberblick
-
S.A.R.C.A.S.M (Slightly Annoying Rubik’s Cube Automatic Solving Machine) ist ein Roboter, der einen Rubik’s Cube automatisch löst
- Besteht aus einer mit dem 3D-Drucker gefertigten Hardware-Struktur und einem Teensy-basierten Steuerungssystem
- Scannt den Cube, berechnet die Lösung und gibt während des Lösungsprozesses sarkastische Sprachreaktionen aus
-
Das Repository enthält Code und Schaltpläne; weitere Informationen gibt es im Teensy-Forum-Thread
- Forum-Link: https://forum.pjrc.com/index.php/…
Demo-Videos
- Kurzer Clip: https://youtube.com/shorts/Xer4mPZZH8E
- Vollständige Demo: https://youtu.be/WV52RtuWXk0
Zentrale Hardware und Funktionen
- Verwendet einen Teensy 4.1 als Hauptcontroller und eine ESP32-CAM zur Bilderfassung
- Setzt über ein ILI9341-Display benutzerdefinierte 2D- und 3D-Grafiken, Animationen und Lippensynchronisation um
- Manipuliert den Cube mit Schrittmotoren und Servomotoren und erkennt Fehler mit Positionssensoren
- Die RGBW-Beleuchtung ist mit dem Audio synchronisiert und sorgt für visuelle Effekte
- Erzeugt Sprache auf dem Gerät mit espeak-ng-basierter TTS und enthält eine Sammlung sarkastischer Sprüche
Hinweise zu Codeänderungen
- Damit der gesamte Code in den RAM passt, sind Änderungen an den Teensy-Core-Dateien erforderlich
- In den Dateien
cores/teensy4/usb_serial.cundcores/teensy4/usb_serial2.c
muss das AttributDMAMEMvor den Array-Definitionentxbuffer[]undrx_buffer[]entfernt werden
- In den Dateien
Hinweise
- Das Projekt ist derzeit Work in Progress; der Zustand des Repositorys ist nicht aufgeräumt und unvollständig
- Dieser Zustand wird voraussichtlich so bleiben, bis der Entwickler wieder Zeit dafür hat
1 Kommentare
Hacker-News-Kommentare
Ich habe einen Raspberry Pi 2 W verwendet, und mit nur zwei Servomotoren funktioniert das Mischen und Lösen eines 3x3x3-Würfels erstaunlich gut.
Ich habe viel Zeit in den Bau gesteckt, aber es war wirklich ein Vergnügen. Es freut mich sehr zu sehen, dass andere daran Spaß haben.
Ausführliche Details zu Hard- und Software habe ich in diesem Beitrag im Teensy-Forum zusammengestellt.
Ich wusste nicht, wie man ihn löst, also habe ich ein Heft dazu bestellt — angekommen ist jedoch ein Heft über Gruppentheorie (group theory). Für meinen Teenager-Kopf damals war das viel zu schwer.
Siehe dieses YouTube-Video und den Purdue-Artikel.
Es gibt auch ein längeres Demo-Video.
Da ich in der Software-Welt lebe, frage ich mich, wie schwierig es wäre, so etwas selbst zu bauen.
Als Hobby-Cuber wäre das außerdem perfekt als Icebreaker-Gerät fürs Büro. Wenn ein Kollege vorbeikommt, den Würfel mischt und in die Maschine wirft, hätten wahrscheinlich alle ihren Spaß daran.
Cuber verbringen viel mehr Zeit mit dem Mischen als mit dem Lösen. Das Mischen sollte automatisiert werden.
Ein Gerät, das den Würfel automatisch in einen bestimmten Zustand bringt, damit man gezielt einen bestimmten Algorithmus üben kann, wäre wirklich großartig.
Es fühlt sich länger an, aber in Wirklichkeit ist der Unterschied nicht so groß.
Ich habe früher ein ähnliches Experiment gemacht, und wenn ich schnell gedreht habe, hat es sich nie gelöst. Vermutlich habe ich versehentlich eine Doppeldrehung (U2) eingebaut oder mich beim Zählen vertan.
Eine mathematische Erklärung findet sich auf Seite 41 in diesem Dokument.
Wenn du stattdessen in entgegengesetzte Richtungen gedreht hast, reichen 63 Wiederholungen. Siehe diesen Link.
Die Bewegung dieses Roboters ähnelt meiner alten Arbeit sehr. Besonders die Bildschirmausgabe gefällt mir.
Menschen machen beides parallel, aber ein Roboter führt nur bereits berechnete Züge aus, daher hängt die Zeit ausschließlich von der Geschwindigkeit ab.
Ich hoffe, wir sehen mehr Roboter im Adams-Stil.