Datenerfassung
Zeichnen Sie den Kontaktdruck zusammen mit dem Zustand der Robotergelenke und dem Kameravideo auf. Der Handschuh bietet eine taktile Modalität, die einfängt wie schwer Der Robotergreifer drückt – Informationen, die für das bloße Sehen unsichtbar sind.
Systemverbindungen
Schließen Sie alle Geräte an, bevor Sie eine Software starten. Der Handschuh ist ausschließlich über USB verkabelt – es gibt keinen Wireless-Modus.
Roboterarm + Hand
Orca Hand (empfohlen) oder anderer Endeffektor. Anschluss je nach Arm über Feetech USB-Adapter oder CAN.
/dev/ttyUSB0 or CAN0Juqiao-Handschuh
USB-C zum Host-PC. Erscheint als CDC-ACM-Seriennummer. 1,5 m Kabel; Verwenden Sie bei Bedarf eine USB-Verlängerung, um Bewegungsfreiheit zu gewährleisten.
/dev/ttyACM0Handkamera
Am Handgelenk des Roboters montierte USB- oder GigE-Kamera, die eine objektzentrierte Ansicht für das Training bietet.
/dev/video0 or GigE IPOverhead-Kamera
Arbeitsbereichskamera für Szenenkontext korrigiert. Koppeln Sie es mit der Handgelenkkamera, um Datensätze mit mehreren Ansichten zu erhalten.
/dev/video2 or GigE IPTeleoperationsgerät
Führungsarm (SO-101 / OpenArm-Anführer), VR-Controller oder SpaceMouse, die den Folgeroboter steuern.
Leader-Port / HIDSchritt-für-Schritt-Aufnahme
Bringen Sie den Roboterarm und die Hand hoch
Starten Sie den Armtreiber (und ggf. den Orca-Handtreiber) in separaten Terminals. Überprüfen Sie, ob joint_states veröffentlicht werden, bevor Sie fortfahren.
Starten Sie den Juqiao Glove-Treiber
Starten Sie den Handschuh-ROS2-Knoten. Stellen Sie sicher, dass 200-Hz-Daten übertragen werden, bevor Sie eine Aufzeichnungssitzung starten.
Kameras starten
Starten Sie Kameraknoten für Handgelenk- und Draufsichten. Bestätigen Sie, dass Bildthemen mit der Zielbildrate (normalerweise 30 fps) veröffentlicht werden.
Stellen Sie sicher, dass alle Streams synchronisiert sind
Verwenden Ros2-Themenliste um zu bestätigen, dass alle erforderlichen Themen vorhanden sind. Überprüfen Sie, ob die Zeitstempel aller Modalitäten innerhalb von 20 ms liegen, bevor Sie Episoden aufzeichnen.
Zeichnen Sie einen Datensatz mit LeRobot auf
Verwenden Sie das Aufnahmeskript von LeRobot. Der --tactile-topic Flag fügt den Handschuhdruckstrom als Datensatzspalte neben Gelenkzuständen und Bildern hinzu.
Überprüfen Sie die Episoden, bevor Sie sie veröffentlichen
Spielen Sie jede Episode mit dem Heatmap-Overlay noch einmal ab, um die Qualität der taktilen Daten zu überprüfen, bevor Sie sich an den HuggingFace Hub wenden.
Drücken Sie auf HuggingFace Hub
Laden Sie den validierten Datensatz hoch. Die Datensatzkarte wird automatisch mit Modalitätsbeschreibungen einschließlich taktiler Beschreibungen generiert.
Datensatzschema
Jeder Frame im Datensatz enthält die folgenden Spalten. Alle Arrays werden als float32-Parquet-Spalten gespeichert; Bilder als MP4-Videosequenzen.
| Spalte | Form / Typ | Beschreibung |
|---|---|---|
| Beobachtungszustand | float32[6] | Gelenkpositionen des Roboterarms (Bogenmaß). Index 6 ist die Greiferöffnung bei Verwendung eines 6-DOF-Arms. |
| Beobachtung.hand_state | float32[17] | Orca-Handgelenkpositionen (Bogenmaß), 17 DOF. Lassen Sie es weg, wenn Sie keine geschickte Hand haben. In den Metadaten nach gemeinsamem Namen gekennzeichnet. |
| Beobachtung.taktile_Drucke | float32[64] | Juqiao Glove normalisierte den Druck pro Knoten von 0,0 (kein Kontakt) bis 1,0 (Vollausschlag). 200 Hz heruntergesampelt, um der Bildrate des Roboters zu entsprechen. |
| Beobachtung.tactile_pressions_raw | uint16[64] | Rohe 16-Bit-ADC-Werte. Zur Neunormalisierung nach der Neukalibrierung aufbewahren. Optional; weglassen, um die Größe des Datensatzes zu reduzieren. |
| Beobachtung.grasp_region | str | Heuristik des aktiven Kontaktbereichs: „Palme“, "Daumen", "Index", "Nicht", "Ring", „kleiner Finger“, oder "" (kein Kontakt). |
| Beobachtung.Bilder.Handgelenk | uint8[H, W, 3] | RGB-Bild der Handgelenkkamera mit 30 fps, gespeichert als MP4-Videosequenz. |
| Beobachtungsbilder.über Kopf | uint8[H, W, 3] | Overhead-Kamera-RGB-Rahmen mit 30 fps. |
| Aktion | float32[6 oder 23] | Soll-Gelenkpositionen für den Arm (6) und optional die Hand (17). Die Form hängt davon ab, ob eine geschickte Hand vorhanden ist. |
| language_instruction | str | Aufgabenbeschreibung, z.B. „Hebe das Ei auf, ohne es zu zerbrechen“. Ermöglicht sprachbedingtes Richtlinientraining. |
| Episodenindex | int | Episodennummer innerhalb des Datensatzes. |
| Frame_Index | int | Bildnummer innerhalb der Episode (0-indiziert). |
| Zeitstempel | float64 | Seit Beginn der Episode sind Sekunden vergangen. |
Taktiles Downsampling
Der Handschuh streamt mit 200 Hz; Der Roboter und die Kameras laufen normalerweise mit 30–100 Hz. Der Rekorder richtet Frames mithilfe des Zeitstempelabgleichs des nächsten Nachbarn aus. So bewahren Sie den gesamten taktilen 200-Hz-Stream als separates Array auf:
Checkliste für die Episodenqualität
Überprüfen Sie jede Episode anhand dieser Kriterien, bevor Sie sie in Ihren Datensatz aufnehmen. Eine schlechte Episode kann zu falschen taktilen Mustern führen, die die politische Ausbildung beeinträchtigen.
-
Der taktile Strom ist kontinuierlich – keine Bildlücken Verifizieren Frame.Sequenz Inkremente ohne Sprünge. Frame-Drops erscheinen als wiederholte Werte in der taktilen Spalte.
-
Die Grundlinie im Ruhezustand liegt nahe Null (< 0,03) Zu Beginn der Episode (vor jedem Kontakt) sollte der maximale Druckknoten unter 0,03 liegen. Eine Drift über 0,05 im Ruhezustand weist darauf hin, dass der Handschuh neu kalibriert werden muss.
-
Kontaktereignisse stimmen mit sichtbaren Griffen im Video überein Wiederholen Sie mit --overlay-tactile. Druckspitzen (maximaler Knoten > 0,4) sollten mit dem sichtbaren Schließen des Greifers in der Handgelenkkamera zusammenfallen.
-
Der Griffbereich bleibt während der Kontaktphase konstant erfassen_region sollte sich bei jedem Griff an einer oder zwei Regionen stabilisieren (z. B. „Palme“ + "Index"). Sich schnell ändernde Bereiche weisen auf eine Fehlausrichtung des Handschuhs oder ein verrauschtes Signal hin.
-
Handschuhlatenz < 20 ms relativ zum Roboterstatus Vergleichen Sie den Beginn des taktilen Ereignisses mit der Geschwindigkeitsspitze des Greifers. Eine Latenz von > 20 ms deutet auf eine Überlastung des USB-Hubs hin – schließen Sie den Handschuh direkt an einen Host-USB-Anschluss an.
-
Der Sprachunterricht entspricht der dargestellten Aufgabe Stellen Sie bei sprachkonditionierten Datensätzen sicher, dass die zu Beginn der Episode eingegebene Anweisung genau beschreibt, was der Bediener tatsächlich demonstriert hat.
-
Keine Kabelbeeinträchtigung der Roboterbewegung Das 1,5 m lange USB-Kabel darf die Handbewegungen des Bedieners nicht einschränken oder den Handschuh während der Episode ausziehen. Verwenden Sie einen Kabelführungsclip am Unterarm.
Training mit taktilen Beobachtungen
Richtlinien, die taktile Eingaben erfordern, verzeichnen in der Regel eine Verbesserung von 15–30 % bei kontaktempfindlichen Aufgaben (Handhabung zerbrechlicher Gegenstände, Einsetzen von Stiften, Falten von Stoffen) im Vergleich zu rein visuellen Basislinien.