1 Punkte von GN⁺ 2025-11-02 | 1 Kommentare | Auf WhatsApp teilen
  • 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

Demo-Videos

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.c und cores/teensy4/usb_serial2.c
      muss das Attribut DMAMEM vor den Array-Definitionen txbuffer[] und rx_buffer[] entfernt werden

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

 
GN⁺ 2025-11-02
Hacker-News-Kommentare
  • Ich habe vor ein paar Jahren Cubotino selbst gebaut. Die Konstruktion ist ähnlich, und ich habe es im GitHub-Repository veröffentlicht.
    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.
  • Hallo zusammen. Ich bin der Erbauer von SARCASM. Vielen Dank an den OP fürs Teilen.
    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.
    • Wirklich großartig. Ich erinnere mich noch, dass ich in den 70ern das erste Kind in der Schule war, das einen Rubik’s Cube mitgebracht hat.
      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.
    • Ich glaube, wenn man das mit einer Zeitmaschine in die 1920er mitnehmen, in eine Vitrine stellen und für 5 Cent vorführen würde, könnte man reich werden.
    • Ich frage mich, ob du die STL-Dateien für das Gehäuse und die Arme teilen könntest. Wirklich ein hervorragendes Projekt.
    • Ich kann das gut nachvollziehen — ich habe auch schon einmal unverhältnismäßig viel Zeit investiert, nur um einen Projektnamen zu rechtfertigen.
  • Als zusätzliche Info: Der Guinness-Rekord für den schnellsten Rubik’s-Cube-Roboter liegt bei 103 Millisekunden.
    Siehe dieses YouTube-Video und den Purdue-Artikel.
    • Ich frage mich, wie viele Würfel während des Baus dieses Roboters explodiert sind.
    • Beeindruckend und gleichzeitig ein bisschen verrückt.
    • Bei Roboter-Solvern ist das weniger ein geistiges als vielmehr ein physisches Problem. Wenn man Bilder der oberen und unteren Ecken des Würfels hat, lässt er sich in Nanosekunden lösen.
  • Das Design ist wirklich großartig. Auch das Demo-Video ist klasse.
    • Das ist eines der charmantesten Projekte, die ich in letzter Zeit gesehen habe.
      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.
  • Ich brauche eine Maschine, die automatisch mischt. Zwei Würfel hinein — während einer gelöst wird, wird der andere gemischt.
    Cuber verbringen viel mehr Zeit mit dem Mischen als mit dem Lösen. Das Mischen sollte automatisiert werden.
    • Ich glaube auch, dass das der schwierigste Teil ist. Um schnell zu lösen, muss man viele verschiedene Muster trainieren.
      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.
    • Ich kenne mich in diesem Bereich nicht gut aus, aber ich frage mich, ob es so etwas wie digitale Würfelflächen gibt — also ein physischer Würfel, dessen Farben sich sofort ändern lassen.
    • Bis zu einem gewissen Punkt ist auch das Mischen gutes Training. Wenn man nach einem festen Algorithmus mischt, ist man nach weniger als 30 Zügen fertig.
      Es fühlt sich länger an, aber in Wirklichkeit ist der Unterschied nicht so groß.
    • Mein erster Gedanke war: Könnte man die Lösemaschine nicht einfach rückwärts laufen lassen?
  • Eine ausführlichere Beschreibung des Projekts steht in diesem Forenbeitrag.
  • Ich möchte HN etwas fragen. Ich dachte, wenn man bei einem gelösten Würfel zwei benachbarte Flächen abwechselnd in dieselbe Richtung dreht, müsste er irgendwann wieder gelöst sein — aber selbst nach Hunderten Wiederholungen war das nicht der Fall. Weiß jemand, warum?
    • Zum Beispiel hat die RU-Kombination als zyklische Gruppe die Ordnung 105. Das heißt, man braucht insgesamt 210 Drehungen — 105-mal jede Fläche — um zum Ausgangszustand zurückzukehren.
      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.
    • Man muss es genau 105-mal wiederholen. Siehe diese Visualisierung.
      Wenn du stattdessen in entgegengesetzte Richtungen gedreht hast, reichen 63 Wiederholungen. Siehe diesen Link.
  • Hier ist ein Video meines Würfelroboters, den ich vor 16 Jahren gebaut habe.
    Die Bewegung dieses Roboters ähnelt meiner alten Arbeit sehr. Besonders die Bildschirmausgabe gefällt mir.
  • Das Lösen eines Würfels besteht aus zwei Schritten — Züge berechnen und Züge ausführen.
    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.
  • Die Persönlichkeit des Erbauers zeigt sich direkt in der Software. Douglas Adams hätte das sicher gemocht.
    Ich hoffe, wir sehen mehr Roboter im Adams-Stil.
    • Ich hoffe auf mehr charakterstarke Roboter von Unsirious Cybernetics.