Datenerfassung
Der komplette Aufnahme-Workflow für den LinkerBot O6. Leader-Follower-Teleoperation, LeRobot-Datensatzformat, Checkliste für die Episodenqualität und Links zur breiteren Datenerfassungspipeline.
Aufnahme-Workflow für das O6
Der komplette Prozess von der Bereitstellung der Hardware bis zur ersten Datensatzepisode. Befolgen Sie die Schritte der Reihe nach.
Hardware und CAN-Schnittstelle überprüfen
Stellen Sie sicher, dass der O6 montiert und eingeschaltet ist und die CAN-Schnittstelle aktiv ist. Laufen candump can0 und überprüfen Sie, ob Motor-Heartbeat-Pakete angezeigt werden, bevor Sie fortfahren.
Konfigurieren Sie das Aufgaben- und Kameralayout
Definieren Sie die Aufgabenbeschreibung, richten Sie die Kamera(s) im richtigen Winkel ein und platzieren Sie Aufgabenobjekte im Arbeitsbereich. Ein konsistenter Szenenaufbau über alle Episoden hinweg ist für die Verallgemeinerung der Richtlinien von entscheidender Bedeutung.
Starten Sie die Aufnahmesitzung
Starten Sie das LeRobot-Steuerungsskript mit record Modus. Dadurch wird das System für die Episodenaufzeichnung aktiviert. Die Sitzung wartet vor der Aufnahme auf Ihren Startauslöser.
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=record \
--control.fps=30 \
--control.repo_id=your-username/o6-task-name \
--control.num_episodes=50 \
--control.single_task="Pick up the blue block"
Teleoperieren und Episoden aufzeichnen
Verwenden Sie einen Führungsarm (oder Ihre Tastatur für einfache Tests), um den O6 fernzusteuern. Drücken Sie die Start-/Stopp-Taste, um jede Episode in Klammern zu setzen. Setzen Sie die Szene zwischen den Episoden aus Gründen der Konsistenz zurück.
Überprüfen und filtern Sie Episoden
Verwenden Sie das LeRobot-Wiedergabetool, um jede Episode visuell zu überprüfen. Entsorgen Sie alle Produkte, die die nachstehende Qualitätscheckliste nicht erfüllen. Qualität vor Quantität: 30 hervorragende Episoden schlagen 100 mittelmäßige.
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=replay \
--control.repo_id=your-username/o6-task-name \
--control.episode=0
Auf HuggingFace Hub hochladen
Übertragen Sie Ihren gefilterten Datensatz zum Teilen und Trainieren an den HuggingFace Hub. Der Datensatz steht sofort für die Richtlinienschulung in LeRobot zur Verfügung.
huggingface-cli login
python -m lerobot.scripts.push_dataset_to_hub \
--repo_id=your-username/o6-task-name
LeRobot-Datensatzformat für O6
Jede aufgezeichnete Episode wird im standardmäßigen LeRobot HuggingFace-Datensatzformat gespeichert. Dieses Format ist direkt kompatibel mit ACT, Diffusion Policy und allen anderen von LeRobot unterstützten Trainingsalgorithmen.
Episodenstruktur
dataset/
data/
episode_000000/
observation.state.npy # [T, 12] — 6 joint positions + 6 velocities
action.npy # [T, 6] — 6 target joint positions
observation.images.wrist_cam/
frame_000000.png # 640x480 @ 30 fps
...
observation.images.overhead_cam/
frame_000000.png
...
episode.json # {task, success, duration_s, num_frames}
meta_data/
info.json # dataset schema version, robot type, fps
stats.json # per-channel mean, std, min, max
Zustands- und Handlungsdimensionen
# observation.state: [T, 12]
# Columns: [j0_pos, j1_pos, j2_pos, j3_pos, j4_pos, j5_pos,
# j0_vel, j1_vel, j2_vel, j3_vel, j4_vel, j5_vel]
# Units: radians and radians/second
# action: [T, 6]
# Columns: [j0_target, j1_target, j2_target, j3_target, j4_target, j5_target]
# Units: radians
Trainieren Sie eine Richtlinie anhand Ihres O6-Datensatzes
python -m lerobot.scripts.train \
--dataset_repo_id=your-username/o6-task-name \
--policy.type=act \
--output_dir=./checkpoints/o6-act-v1 \
--training.num_epochs=100
Checkliste für die Episodenqualität
Wenden Sie diese Checkliste auf jede Episode an, bevor Sie sie in Ihren Trainingsdatensatz aufnehmen. Schlechte Daten sind schlimmer als weniger Daten.
- ✓Aufgabe erfolgreich abgeschlossen — Der Arm erreichte den Zielzustand ohne menschliches Eingreifen. Keine Teilabschlüsse.
- ✓Die Bewegung ist sanft und bewusst – keine ruckartigen Korrekturen, Überschwinger oder plötzlichen Richtungsänderungen. Reibungslose Demonstrationen trainieren reibungslosere Richtlinien.
- ✓Alle Kamerabilder vorhanden – keine ausgelassenen Frames, keine Verdeckungen des aufgabenrelevanten Arbeitsbereichsbereichs.
- ✓Gemeinsame Staaten sind kontinuierlich — Keine Zeitschrittlücken von mehr als 40 ms im Statusprotokoll.
- ✓Die Episodendauer ist konsistent — Episoden, die kürzer als 3 Sekunden oder länger als 30 Sekunden sind, sind normalerweise Ausreißer. Überprüfen Sie sie, bevor Sie sie hinzufügen.
- ✓Die Szene wurde identisch zurückgesetzt — Aufgabenobjekte wurden vor Beginn der Episode an die gleiche Ausgangsposition zurückgebracht.
- ✓Keine CAN-Fehler während der Aufzeichnung - überprüfen
candump can0Protokolliert Fehlerframes während der Sitzung.