Kostenloser Online-Robotersimulator · Blockly · Digitaler Zwilling
Programmiere einen Roboter,der Haare schneidet.Jede Bewegung wird vorher geprüft.
HCR ist eine wissenschaftliche Studie zu einem Haarschneideroboter. Teilnehmende steuern mit Blöcken einen Serviceroboter mit fünf Gelenken über eine Voxelfrisur. Ein digitaler Zwilling prüft jede Bewegung und lehnt alles ab, was den Kopf berühren könnte.
Der Client läuft im Browser; ein Rust-Dienst gibt eingereichte Programme wieder und bewertet sie. Ein physischer Roboter ist nicht erforderlich, und die Aufgaben passen sich an die Leistung der Teilnehmenden an.
Oder die Desktop-App herunterladen für macOS, Windows und Linux. Nützlich in Räumen ohne WLAN.
- shoulderRoll15°
- shoulder72°
- elbow10°
- elbow−48°
- baseYaw−30°
- baseYaw0°
- baseYaw30°
- wrist−20°
Warum
Robotikunterricht lässt sich nur schwer skalieren
Ein Arm, ein Lernender
Ein echter Roboterarm ist teuer, kann jeweils nur von einer Person genutzt werden und muss beaufsichtigt werden.
Ein Kurs, ein Tempo
Eine Klasse erhält meist eine feste Aufgabenfolge. Schnell Lernende langweilen sich, während andere den Anschluss verlieren.
Fehler sind teuer
Bei echter Hardware führt ein falscher Winkel zur Kollision. Deshalb dürfen Anfänger den Roboter oft gar nicht selbst steuern.
Der Ablauf
Schreiben, prüfen, bewerten. Dann eine Zahl ändern und erneut versuchen
Drei Schritte, wobei der dritte wieder zum ersten führt. Dieser Ablauf bildet die gesamte Lerneinheit.
- 1Programm
Blöcke ziehen statt Syntax tippen
Der Servo-Modus besitzt drei Blocktypen: absoluten Gelenkwinkel setzen, warten und wiederholen. Die zertifizierte Cutter-Grid-Übung ergänzt sechs feste Weltrichtungen und ganzzahlige Distanzen, die vor dem Lauf in einen deterministischen Gelenkplan kompiliert werden.
Servowinkel · Cutter-Grid-Bewegungen · Warten (0–5000 ms) · Wiederholen (1–20×)
- 2Prüfen
Ein digitaler Zwilling führt das Programm zuerst aus
Bevor sich der Arm bewegt, wird dasselbe Programm in einem geometrischen Kopfmodell geprüft. Eine Bewegung in den Kopf wird abgelehnt: Der Arm bleibt in der letzten sicheren Pose, und der auslösende Block wird hervorgehoben.
Kontinuierliche Bahnkontaktprüfung · deterministisch, ohne Physik-Engine
- 3Punktzahl
Eine Punktzahl, keine Schulnote
Ein Fehler kostet nur einen weiteren Versuch. Bewertet werden die Übereinstimmung mit der Zielfrisur, die Kompaktheit des Programms und die geschätzte Ausführungszeit.
0.60 completion + 0.25 efficiency + 0.15 time
Adaptiv
Eine passende Stufe pro Lernendem statt einer Stufe pro Klasse
Nach jedem Versuch schätzt die Plattform den Lernstand neu und wählt eine passende nächste Aufgabe. Wer sicher abschließt, erhält eine schwierigere Aufgabe; bei Problemen wird zurückgestuft. So bekommt jeder Lernende eine passende Stufe.
- Fähigkeit θ
- Fähigkeit zur Roboterprogrammierung auf einer Logit-Skala, nach jeder wiedergegebenen Programmausführung aktualisiert.
- 2PL statt 3PL
- Eine richtige Frisur lässt sich nicht erraten. Deshalb ist der Rateparameter auf null gesetzt und der dritte Parameter wird nicht aus Rauschen geschätzt.
- Aufgabenauswahl
- Aufgaben werden nach Fisher-Information beim aktuellen θ sortiert. Eine Ausgabegrenze verhindert, dass stets dieselben wenigen Aufgaben an alle Personen derselben Stufe gehen.
- Teilpunkte
- Die Punktzahlen sind kontinuierlich. Vor der Aktualisierung wird jeder Rohwert um die Beherrschungsschwelle der Aufgabe neu abgebildet; der ursprüngliche Wert bleibt daneben erhalten.
- Kalibrierung
- Eine neue Aufgabe ist zunächst vorläufig: Ihre Ausgabe ist begrenzt und ihre Antworten zählen nicht für reguläre Fähigkeitsschätzungen, bis genügend Daten zur Neukalibrierung der Schwierigkeit vorliegen.
- Vorerst ein θ
- In dieser Version ist Fähigkeit ein zusammengesetzter Einzelwert. Jede Antwort trägt Dimensionsmerkmale für die Auswertung. Ein echtes mehrdimensionales Modell ist der nächste Schritt, keine aktuelle Behauptung.
Studienteilnahme
Entscheiden Sie vor Studienbeginn, ob Sie teilnehmen möchten
Der Client legt erst dann eine Simulatorsitzung oder Spielerkennung an, wenn eine Person der Teilnahme an dieser wissenschaftlichen Studie aktiv zustimmt.
Erforderliche Studiendaten
Kompiliertes Blockly Program IR, Aufgabenversion, Punktzahl sowie technische Sitzungs- oder Einreichungskennungen, die für Wiedergabe und Analyse erforderlich sind.
Optionale Angaben
Die Hauptsprache wird nur als grober Code wie zh oder en gespeichert, die aktuelle UTC-Abweichung in Minuten. „An der Studie teilnehmen“ aktiviert beide Angaben; unter „Weitere Einstellungen“ lassen sie sich einzeln abschalten.
Nicht gezielt erhoben
Wir erheben keine Browser-Fingerprints, genauen IANA-Zeitzonennamen, abgeleiteten Standorte, Werbekennungen oder seitenübergreifenden Trackingprofile.
Grad der Anonymisierung
Studienaufzeichnungen können Sitzungskennungen enthalten, und der Server führt übliche Sicherheitsprotokolle. Die Daten sind deshalb de-identifiziert, aber nicht vollständig anonym.
Modi
Allein üben oder gegen den Raum antreten
Einzelübung
Ohne Zeitlimit: Arbeitsfläche, eine Aufgabe und beliebig viele Versuche.
- Starten, pausieren, fortsetzen, einzelne Befehle ausführen, stoppen oder zurücksetzen. Das Programm bleibt nach dem Zurücksetzen erhalten.
- „Testen“ bewertet das Programm ohne Darstellung in Millisekunden, statt die Animation abzuwarten.
- Die Vorschau der Zielfrisur kann während der Arbeit ein- oder ausgeblendet werden.
Wettkampfrunde
Alle im Raum erhalten gleichzeitig dieselbe Aufgabe.
- Ein festes Zeitfenster nach der Serveruhr, nicht nach der Uhr eines Spielers.
- Bis zum Rundenende sieht niemand eine Punktzahl, auch nicht die eigene.
- Beliebig oft erneut einreichen; nur der beste Versuch zählt.
- Programme werden serverseitig wiedergegeben. Ein schnellerer Laptop bringt keinen Vorteil.
Ohne konfiguriertes Backend bewertet der Browser Wettkampfrunden gegen skriptgesteuerte Bots. Menü, Lobby und Rangliste kennzeichnen sie klar als Übung. Offline kann gespielt werden, doch eine lokale Punktzahl wird nie als offizielles Ergebnis dargestellt.
Mit Rust entwickelt
Rust von der Server-Wiedergabe bis zur eingebetteten Roboter-Firmware
Rust ist in HCR kein dekoratives Etikett. Es implementiert den Bewertungsdienst, die adaptive Engine, die Protokollverarbeitung und das eingebettete no_std-Gateway.
Technische Grundlage
Vier Komponenten, ein Protokoll
Simulator
HCR_Simulator_Frontend
React · TypeScript · Vite · React Three Fiber · Blockly
Der gesamte Demo-Ablauf läuft clientseitig. Ohne konfiguriertes Backend sendet er keinerlei Netzwerkanfragen.
Service
hcr-backend
Rust · MQTT over WebSocket · HTTP binding
Gibt Programme serverseitig wieder, betreibt die adaptive Aufgabenbank und verwaltet Rundenfristen und Ranglisten.
Protokoll
hcr-backend/schema
hcr.v1 · JSON and CBOR
Jede Nachricht besitzt einen Umschlag und wird per ULID zugeordnet. Nebenversionen dürfen nur ergänzen; Empfänger verwerfen Unbekanntes, statt daran zu scheitern.
Hardware
hcr-fw
Rust (no_std) · ESP8266 · Arduino C++ as a hardware library
Ein physischer Arm mit fünf Servos. Rust verantwortet Startlogik, Routing, HTTP/JSON und Servozustand; C++ bleibt hinter einer byteorientierten C-ABI. MQTT ist im Gateway noch nicht implementiert.
Ausprobieren
Adaptives Programmieren, Spiel, Simulation und Bildung auf einer Plattform.
Es muss kein Roboter gekauft werden. Eine ganze Klasse kann gleichzeitig und auf passendem Niveau lernen. Lesen Sie die Studieninformationen, entscheiden Sie über die Teilnahme und öffnen Sie die erste Aufgabe.