Zurück zu Guides

Aktions-Chunking-Transformatoren (ACT): Vollständige Leitfaden für das Roboternimitieren (2026)

Master ACT (Action Chunking Transformers): Architektur, Ausbildung zu echten Roboterdaten, Stückgröße-Ausrichtung und Bereitstellung auf OpenArm und Mobile ALOHA.

[← Führer]

Ein tiefes Eintauchen in ACT den dateneffizientesten Imitationslernalgoritmus für Robotermanipulation.

Was ist Aktionsschnupfen und warum es wichtig ist

Standardverhaltensklonung prognostiziert eine einzige nächste Aktion aus der aktuellen Beobachtung. Dies funktioniert theoretisch, brecht in der Praxis ab: Kleine Vorhersagefehler akkumulieren sich im Laufe der Zeit, wodurch der Roboter in Zustände abstürzt, die während des Trainings nie zu sehen waren. Dieses compounding error Problem ist die grundlegende Beschränkung naiven Verhaltensklonungen.

Action chunking löst dies, indem eine sequence zukünftiger Aktionen auf einmal typischerweise 50100 Zeitschritte vorhergesagt wird. Anstatt zu fragen: "Was sollte der Roboter jetzt tun?", antwortet das Modell: "Was sollte der Roboter für die nächsten zwei Sekunden tun?" Dies zwingt das Netzwerk, kohärente, zeitlich konsistente Flugbahnen zu erzeugen, anstatt laute Schritt-für-Schritt-Vorhersagen.

Die Intuition ist einfach: Wenn man nach einer Tasse greifen, entscheidet man nicht jede Millisekunde unabhängig. Man plant eine glatte Bewegung als einzelne Einheit. Wichtig ist, dass sich überlappende Stücke durch die zeitliche Zusammenstellung gemischt werden, die durchschnittliche Vorhersagen von angrenzenden Stücken durchführt, um die Bahn weiter zu schlanken und das Nervenreiz an den Stückgrenzen zu reduzieren.

ACT (Action Chunking with Transformers), eingeführt von Tony Zhao et al. an der Stanford-Universität im Jahr 2023, kombinierte diese Action Chunking-Idee mit einer CVAE (Conditional Variational Autoencoder) Transformer-Architektur. Das Ergebnis war der dateneffizienteste Nachbildungsalgorithmus zur Verfügung: 50 Demonstrationen sind oft genug für einfache Pick-and-Place-Tasks mit 80% + Erfolgsraten.

Zeitliche Abstraktion: Verringerung des wirksamen Horizonts

Eine typische Manipulations-Aufgabe bei 50 Hz-Steuerung erfordert 250500 individuelle Aktionsvorhersagen für eine 510 Sekunden-Aufgabe. Bei Standard BC führt jede Vorhersage zu einem Fehler. Bei einer Stückgröße von 100 erfordert die gleiche Aufgabe nur 35 Stückvorhersagen. Der effektive Entscheidungshorizont schrumpft um 2050x, wodurch das Lernproblem dramatisch einfacher wird.

Das ist der Grund, warum ACT mit so wenigen Demonstrationen arbeitet: Das Lernproblem ist einfacher. Anstatt eine Kartierung von der Beobachtung zu einer einzigen 7-DOF-Aktion (für einen typischen Roboterarm) zu lernen, lernt das Modell eine Kartierung von der Beobachtung zu einer 100×7-Aktionsbahn.

ACT Architektur Tiefentauch

ACT verwendet einen Conditional Variational Autoencoder (CVAE) mit einem Transformer Encoder-Decoder-Backbone.

Das Rahmenwerk der CVAE

Ein CVAE fügt eine latente Variable z zur Standard-Encoder-Decoder-Pipeline hinzu. Während des Trainings beobachtet der Encoder sowohl den aktuellen Zustand als auch die Grundgrund-Wahrheit-Aktionssequenz, indem er sie in eine Verteilung über z komprimiert. Der Decoder nimmt eine Probe aus dieser Verteilung plus die aktuelle Beobachtung und rekonstruiert die Aktionssequenz.

Während der Ableitung wird der Encoder entsorgt. Der Decoder erhält eine Probe aus dem prior (eine Standard-Normalverteilung) und der aktuellen Beobachtung, dann erzeugt der Aktionsstück. Die KL-Divergenz-Begrenzung im Verlust sorgt dafür, dass die Rückstände in der Nähe des Prior bleiben, so dass die Probenahme vom Prior zur Testzeit vernünftige Aktionssequenzen erzeugt.

Die CVAE-Struktur dient einem kritischen Zweck: sie erfasst Intra-Demonstration-Variabilität. Auch für eine einzige Aufgabe variiert die genaue Bahn zwischen den Demonstrationen (leichter unterschiedlicher Fangwinkel, Timing, Ansatzweg). Die latente Variable z erfasst diese Variation und ermöglicht es dem Dekoder, vielfältige, aber gültige Bahnen zu erzeugen.

Schlüsselarchitektur

Der ACT-Encoder verarbeitet mehrmodalige Eingabe:

  • Kamerabilder: Durch ein visuelles Rückgrat (ResNet-18 standardmäßig, ViT optional) verarbeitet. Mehrere Kameraansichten (Handgelenk + Oberkopf) werden unabhängig und konzentriert verarbeitet.
  • Gelenkpositionen (qpos): Die aktuellen Robotergelenkwinkel, in der Regel 67 DOF pro Arm plus Griffzustand.
  • Action Sequence (nur für Training): Das Grundgenauigkeitstück von k zukünftigen Aktionen, das vom CVAE-Encoder zur Berechnung der nachfolgenden Verteilung verwendet wird.

Die Ausgabe ist eine latente Darstellung, die auf das Mittel und die Variante der nachfolgenden Verteilung projiziert wird.

Dekoderer Architektur

Der Decoder ist ein Standard Transformer Decoder mit lernenbaren Aktionsfragen. Es gibt k-Fragen (eine pro Zeitstufe im Teil), die jeweils als gelernte Einbettung initialisiert werden. Der Decoder bedient die verschlüsselten Beobachtungs-Token und die entnommenen latenten z, und stellt dann k-Aktionsvektoren durch einen linearen Projektionskopf aus.

Jede vorhergesagte Aktion ist ein Vektor, der gemeinsame Positionsziele (67 DOF pro Arm) und die Griff-Open/Close-Befehle enthält. Der Verlust beträgt L1 (durchschnittlicher absoluter Fehler) zwischen vorhergesagten und Boden-Wahrheitsaktionen, plus ein KL-Divergenz-Begriff mit β.

Verlustfunktion

# ACT loss computation (simplified)
L_reconstruction = L1_loss(predicted_actions, target_actions)  # [batch, chunk_size, action_dim]
L_kl = KL_divergence(posterior_mean, posterior_logvar, prior)  # regularize latent space
L_total = L_reconstruction + beta * L_kl                       # beta typically 10-20

Das β-Gewicht auf dem KL-Term kontrolliert den Kompromiss zwischen Rekonstruktionsgenauigkeit und latenter Raumregularität. Zu niedrig: Das Modell ignoriert das Vorbild und erzeugt in der Zeit des Tests inkonsistente Aktionen. Zu hoch: Das Modell kollabiert zum gemeinen Verhalten und verliert Ausdrucksfähigkeit.

Mathematische Intuition: Auswahl der Stückgröße

Die Größe des Teils k ist der wichtigste Hyperparameter in ACT. Es bestimmt, wie viele zukünftige Aktionen das Modell in jedem Schritt voraussagt.

Die Kontrolle der Frequenz

Bei 50 Hz-Steuerung (die Norm für die meisten Roboterarme) werden die Stückgrößen direkt auf den Vorhersagehorizont abgebildet:

Chunk Size Prediction Horizon Best For
25 0.5 seconds Very fast reactive tasks, contact transitions
50 1.0 second Quick pick-and-place, single-arm tasks under 3 seconds
100 2.0 seconds Default — most tabletop manipulation tasks
150 3.0 seconds Slow precision tasks (insertion, assembly)
200 4.0 seconds Long-horizon smooth motions (pouring, wiping)

Die ideale Stückgröße sollte ungefähr eine komplette Unterbewegung abdecken. Für eine Pick-and-Place-Aufgabe dauert die Reichweite-zu-Griff-Bewegung ~ 1,5 Sekunden, so dass Chunk_size=75100 den gesamten Ansatz erfasst. Wenn der Stück zu kurz ist, kann das Modell keine komplette Bewegung planen. Wenn es zu lang ist, verschwendet das Modell die Kapazität, weitfristige Aktionen vorherzusagen, die sowieso vom nächsten Stück überschritten werden.

Zeitliche Zusammenstellung

Während des Einsatzes erzeugt ACT bei jedem Zeitschritt (oder bei jedem wenigen Zeitschritt) einen neuen Teil.

# Temporal ensembling (exponential weighting)
# w controls the blending — lower w gives more weight to recent predictions
w = 0.01  # default temporal ensembling weight
for t in range(episode_length):
    new_chunk = policy.predict(observation_t)  # shape: [chunk_size, action_dim]
    for i in range(chunk_size):
        all_predictions[t + i].append(new_chunk[i])

    # Weighted average with exponential decay
    weights = [np.exp(-w * j) for j in range(len(all_predictions[t]))]
    action_t = np.average(all_predictions[t], weights=weights, axis=0)

Das zeitliche zusammengesetzende Gewicht w (typischerweise 0.01) kontrolliert, wie schnell ältere Vorhersagen zerfallen. Kleinere w verleiht älteren Vorhersagen mehr Gewicht (schneller, aber langsamer zu reagieren). Größere w bevorzugt die jüngste Vorhersage (reaktiver, aber potenziell nervös).

Anforderungen an die Datenerhebung für ACT

ACT ist bemerkenswert Daten-effizient, aber Datenqualität ist von entscheidender Bedeutung.

Mindestanteil

Task Category Episodes Needed Expected Success Rate Collection Time
Simple pick-and-place 50–100 85%+ 2–4 hours
Bimanual coordination 100–200 80%+ 4–8 hours
Präzision insertion (peg-in-hole) 200–400 70%+ 1–2 days
Complex multi-step tasks 500+ 60%+ 2–5 days
Dexterous manipulation 500–1,000 50%+ 1–2 weeks

Datenqualitätskontrollliste

  • Konsistente Demonstrationen: Verwenden Sie einen Betreiber (oder Betreiber mit sehr ähnlichen Stilen). ACT geht davon aus, dass eine einmodal-Aktionsverteilung gemischte Stile das Modell verwirren.
  • Fixed object placement zone: Die Objekte sollten in ungefähr derselben Fläche (innerhalb von ~5 cm Variation) starten. ACT verallgemeint sich nicht gut auf große räumliche Verschiebungen, es sei denn, man trainiert sie ausdrücklich.
  • Saubere Start-/End-Zustände: Jede Episode sollte von der gleichen Heimposition aus beginnen und sauber enden (Greifer geschlossen auf Objekt oder Objekt auf Ziel).
  • Konsistentes Timing: Versuchen Sie, die Aufgabe über die Demonstrationen hinweg mit einer ähnlichen Geschwindigkeit auszuführen.
  • Kamera-Stabilität: Die Kameras müssen steif montiert sein. Jede Kameraverschiebung zwischen den Episoden schlechtert die Leistung erheblich.

HDF5 Datensatz

RCSV liefert alle gesammelten Daten im Format HDF5, das Standard für ACT-Trainings ist. Jede Episode wird als eine einzige HDF5-Datei mit der folgenden Struktur gespeichert:

# HDF5 episode structure for ACT training
episode_0.hdf5
├── observations/
│   ├── qpos          # [T, 7] — joint positions (6 DOF + gripper)
│   ├── qvel          # [T, 7] — joint velocities
│   ├── images/
│   │   ├── cam_high  # [T, 480, 640, 3] — overhead camera
│   │   └── cam_wrist # [T, 480, 640, 3] — wrist camera
│   └── effort        # [T, 7] — joint torques (optional)
├── action            # [T, 7] — target joint positions
└── attrs/
    ├── sim           # False (real robot data)
    ├── compress      # True
    └── num_timesteps # T

Für ACT-bereite Datenerhebungservice siehe RCSV Data Services. Wir bieten kalibrierte Multi-Kamera-Setups, geschulten Betreiber, Qualitätskontrolle und Lieferung im HDF5- oder LeRobot-Parquet-Format.

Empfehlungen zur Einrichtung der Kamera

Die ACT-Leistung hängt stark von der Kamerakonfiguration ab.

  • **Overhead-Kamera (anforderlich) **: Montiert 0,81,2 m über dem Arbeitsplatz, direkt nach unten. Bietet einen globalen Blick auf die Szene und die Positionen der Objekte. Auflösung: 640×480 Minimum.
  • **Handkamera (triebe empfohlen) **: Auf dem Handgelenk oder Unterarm des Robots montiert. Bietet einen Nahen Blick beim Greifen und Einfügen. Kritisch für präzise Aufgaben, bei denen die Oberkamera keine feinen Details lösen kann.
  • **Side-Camera (optional) **: Gibt Tiefeninformationen, die über die Oberseite und das Handgelenk möglicherweise fehlen. Am besten für Aufgaben mit vertikaler Stapelung oder höhenempfindlicher Platzierung.

Die Verwendung von USB 3.0-Kameras (Logitech C920 oder Intel RealSense D405) mit fester Belastung und Weißbilanz.

Weiterbildung

Dieser Abschnitt führt eine Ausbildung einer ACT-Politik durch, die sowohl mit dem LeRobot-Framework als auch mit einer direkten PyTorch-Implementierung durchgeführt wird.

Ausbildung mit LeRobot (empfohlen)

Hugging Face ist das zugänglichste Framework für ACT-Training im Jahr 2026. Es bearbeitet Datenladen, Erhöhung und Auswertung aus der Box.

# Step 1: Install LeRobot
pip install lerobot

# Step 2: Convert HDF5 data to LeRobot format
python -m lerobot.scripts.convert_dataset \
  --raw-dir ./my_episodes/ \
  --repo-id my-org/pick-place-task \
  --raw-format hdf5_aloha

# Step 3: Train ACT policy
python -m lerobot.scripts.train \
  policy=act \
  dataset_repo_id=my-org/pick-place-task \
  training.num_epochs=2000 \
  training.batch_size=8 \
  policy.chunk_size=100 \
  policy.n_action_steps=100 \
  policy.dim_model=512

# Step 4: Evaluate
python -m lerobot.scripts.eval \
  --pretrained-policy-name-or-path outputs/train/act_pick-place-task/checkpoints/last/pretrained_model \
  --env-name real_world \
  --n-episodes 20

Die Ausbildung konvergiert in der Regel in 28 Stunden auf einem einzelnen RTX 4090 für 100200 Episoden.

Die Konfiguration des Direkt-PyTorch-Training

Für Teams, die mehr Kontrolle über die Trainingsschleife benötigen oder ACT in eine maßgeschneiderte Pipeline integrieren möchten:

# ACT training configuration — direct PyTorch implementation
import torch
from act.policy import ACTPolicy
from act.train import train_bc

config = {
    # Architecture
    'chunk_size': 100,          # action chunk length (timesteps)
    'hidden_dim': 512,          # transformer hidden dimension
    'dim_feedforward': 3200,    # feedforward network dimension
    'num_encoder_layers': 4,    # transformer encoder layers
    'num_decoder_layers': 7,    # transformer decoder layers
    'nheads': 8,                # attention heads
    'latent_dim': 32,           # CVAE latent dimension

    # Training
    'lr': 1e-5,                 # learning rate (Adam)
    'weight_decay': 1e-4,       # L2 regularization
    'num_epochs': 2000,         # total training epochs
    'batch_size': 8,            # batch size (8 fits on 24 GB VRAM)
    'kl_weight': 10,            # beta for KL divergence term
    'seed': 42,

    # Data
    'camera_names': ['cam_high', 'cam_wrist'],
    'image_size': [480, 640],   # H, W
    'action_dim': 7,            # 6 DOF + gripper
    'state_dim': 7,             # joint positions

    # Augmentation
    'color_jitter': True,       # random brightness/contrast
    'random_crop': True,        # spatial augmentation
}

# Initialize and train
policy = ACTPolicy(config)
optimizer = torch.optim.AdamW(policy.parameters(), lr=config['lr'], weight_decay=config['weight_decay'])
train_bc(policy, optimizer, dataloader, config)

Schulungsschläge

  • Lernrate: Beginn mit 1e-5. ACT ist sensibel auf Lernrate zu hoch (1e-4) verursacht die Unsicherheit des Trainings, zu niedrig (1e-6) konvergiert zu langsam.
  • ** Batchgröße**: Verwenden Sie 8 für 24 GB VRAM (RTX 4090). Reduktion auf 4 für 12 GB VRAM (RTX 3060). Größere Batches (1632) auf A100 verbessern die Stabilität.
  • Epochs: Zug für 2000 Epochen mindestens. ACT zeigt oft eine plötzliche Verbesserung um die Epoche 10001500 nach einem langen Plateau.
  • Checkpointing: Alle 500 Epochen sparen. Alle gespeicherten Checkpoints bewerten Der letzte Checkpoint ist nicht immer der beste wegen Überpassungen.
  • Aktionsnormalization: Normalisieren Sie Aktionen auf [-1, 1] mit Hilfe der Datensatzstatistiken. Unnormalized Aktionen mit unterschiedlichen Skala pro gemeinsamen Ursache Training Fehl.

Überparameter-Ausrichtungsanleitung

ACT hat weniger Hyperparameter als Diffusion Policy, aber drei Parameter erfordern eine sorgfältige Abstimmung für jede neue Aufgabe.

Größe der Stückzahl

Der wichtigste Parameter:

  1. Messen Sie die durchschnittliche Dauer einer einzelnen Unterbewegung in Ihrer Aufgabe (z.B. das Erreichen eines Objekts: 1,5 s).
  2. Multiplizieren durch die Steuerfrequenz: 1,5 s × 50 Hz = 75 Zeitstufen.
  3. Runden Sie auf das nächste 25: Stück / Größe = 100.
  4. Wenn die Aufgabe sehr unterschiedliche Phasen (Reich, Greifen, Zurückziehen) hat, sollte das Stück mindestens eine vollständige Phase abdecken.

Zeichen, dass Ihre Stückgröße falsch ist:

  • Zu klein: Der Roboter zögert bei Übergang, tritt in eine schwierige Bewegung, steckt in der Mitte der Bewegung fest.
  • Zu groß: der Roboter überspricht das Ende der Aufgabe, macht vorzeitige Bewegungen, verschwendet die Trainingsfähigkeit für unnötige Vorhersagen.

KL Gewicht (kl_gewicht / β)

Reguliert die CVAE-Regulierung.

  • β = 0: Keine CVAE-Regulierung. Das Modell degeneriert zu standardisierter Verhaltensklonung (keine latente Variable).
  • β = 10 (Standard): Gute Balance für die meisten Aufgaben. Der latente Raum erfasst die Demonstrationsvariabilität ohne zu kollabieren.
  • β = 2050: Stärkere Regulierung, produziert konsistentere (weniger variable) Strecken. Nützlich, wenn Demonstrationen bereits sehr konsistent sind.
  • β > 100: Zu stark. Das Modell ignoriert die Daten und produziert durchschnittliches Verhalten.

Anzahl der Anfragen (Nummer_Anfragen)

In der ursprünglichen ACT ist die num_queries gleich der Chunk_size (eine Abfrage pro Zeitstufe). In einigen Implementierungen ist es möglich, diese zu entkoppeln, indem weniger Abfragen mit einer Aufnahme-Schicht verwendet werden. Wenn Sie keinen bestimmten Grund haben, dies zu ändern, halten Sie num_queries = Chunk_size.

Das visuelle Rückgrat

ResNet-18 ist standardmäßig und funktioniert für die meisten Aufgaben gut.

  • ViT (DINOv2): Für Aufgaben, die ein gutes visuelles Verständnis erfordern (Lese von Etiketten, präzise Ausrichtung).
  • ResNet-50: Marginal Verbesserung gegenüber ResNet-18 für die meisten Manipulationsarbeiten, aber verdoppelt die Speicherverwendung.
  • EfficientNet: Gutes Kompromiss für mobile Bereitstellung mit begrenztem Rechenverbrauch.

Hardware-Empfehlungen

ACT wurde auf einer Reihe von Roboterplattformen validiert.

Robot Platform Price Configuration Best ACT Use Case Lease from RCSV
OpenArm 1 $4,500 6-DOF, leader-follower, open-source Single-arm ACT research, entry-level imitation learning from $800/mo
DK1 Bimanual $12,000 Dual 6-DOF arms, ALOHA-compatible Bimanual ACT (original ALOHA workflow), folding, assembly from $1,500/mo
Unitree G1 $16,000 23-DOF humanoid, dual arms + locomotion Whole-body ACT, mobile manipulation, loco-manipulation from $2,500/mo
Unitree Go2 $2,800 Quadrupede, arm attachment option Locomotion + arm manipulation, outdoor tasks from $800/mo

Berechnungsvoraussetzungen

GPU VRAM Max Batch-Größe Training Time (200 eps) Inference Latenz
RTX 3060 12 GB 4 8–16 hours ~20 ms
RTX 4090 24 GB 8 2–8 hours ~12 ms
A100 40/80 GB 16–32 1–3 hours ~8 ms
H100 80 GB 32–64 <1 hour ~5 ms

ACT ist eines der computereffizientesten Imitationslernalgorithmen. Ein Konsument RTX 3060 ist ausreichend für die Ausbildung und Echtzeit-Einsatz, so dass es für kleine Labors und einzelne Forscher zugänglich ist.

Häufige Fehler und Lösungen

Die Ausbildung in ACT ist relativ einfach, aber die Ausfallfälle beim Einsatz sind häufig.

1. Der Roboter fährt mitten in der Aufgabe von der Bahn ab.

Ursache: Unzureichende Demonstrationen oder uneinheitliche Demonstrationsqualität.

Fix: Sammeln Sie 50 weitere Demonstrationen mit dem Fokus auf die genaue Region, in der das Drifting stattfindet. Stellen Sie sicher, dass alle Demonstrationen der gleichen Strategie folgen. Überprüfen Sie, ob sich die Kamerapositionen nicht verschoben haben.

2. Tröpfende oder schwingende Bewegungen

** Ursache**: Temporäre Zusammenstellung von Gewicht zu hoch oder zu klein.

Fix: Verringern Sie das temporäre Ensemblinggewicht (probieren Sie 0,005 statt 0,01).

3. Der Roboter wird bei Übergang der Festnahme/Freigabe eingefroren

** Ursache**: Zweideutige Griffkommando in den Demonstrationsdaten. Manche Demos fangen früh, andere spät an, was eine bimodale Verteilung schafft, die ACT durchschnittlich in "halb offen" verlegt.

Fix: Demonstrationen mit einem konsistenten Griffzeitpunkt wiederholen. Alternativ verwenden Sie einen binären Griffbefehl (Schwelle) anstelle einer kontinuierlichen Griffposition.

Ausbildungsverlust Plateaus aber Leistung ist schlecht

** Ursache**: Zu hohes KL-Gewicht (β > 50), was zu einem Rückzusammenbruch führt. Das Modell lernt, die latente Variable zu ignorieren und prognostiziert durchschnittliches Verhalten.

Fix: Reduzieren Sie das KL-Gewicht auf 10 oder weniger.

5. Arbeitet an Ausbildungsobjekten, scheitert aber an neuen Objekten

** Ursache**: ACT verallgemeint sich nicht standardmäßig auf neue Objekte.

Fix: Sammeln Sie Demonstrationen mit verschiedenen Objekten (verschiedene Farben, Größen, Formen). Verwenden Sie Bildvergrößerung (Farbe-Jitter, zufälliges Ernten). Für eine echte Objektverallgemeinerung sollten Sie sich überlegen, auf ein VLA-Modell zu wechseln (siehe unseren [Imitierungsleitfaden](T17)).

6. Bimanuale Koordinierung ist nicht mehr funktionierend

Die Waffen werden unabhängig vorhergesagt, die Koordinierung verliert.

Fix: Stellen Sie sicher, dass die Aktionen beider Arme im gleichen Aktionsvektor liegen (14-DOF: 7 pro Arm).

ACT vs. Diffusionspolitik: Wann welche zu verwenden

Dimension ACT Diffusion Policy
Data efficiency 50–200 demos 100–500 demos
Multi-modal actions Limited (CVAE helps but not fully multimodal) Excellent (denoising naturally captures multiple modes)
Inference speed 50+ Hz (single forward pass) 10–30 Hz (iterative denoising)
Trajektorie smoothness Good (temporal ensembling) Excellent (inherent to diffusion process)
Training time 2–8 hours (RTX 4090) 4–16 hours (RTX 4090)
Hyperparameter sensitivity Low (mainly chunk_size and kl_weight) Medium (noise schedule, denoising steps, network architecture)
Language conditioning Not supported natively Not supported natively (extensions exist)
Framework support LeRobot, robomimic LeRobot, robomimic, diffusion_policy repo
Best for Fast prototyping, single-strategy tasks, limited data budgets Multi-strategy tasks, contact-rich manipulation, diverse operator data

Fingerregel: Beginnen Sie mit ACT. Es trainiert schneller, benötigt weniger Daten und ermöglicht Ihnen die schnelle Validierung Ihrer Datenerfassung. Wechseln Sie nur auf die Diffusionsrichtlinie, wenn Sie ein Multi-modal-Fehler (Roboter-Durchschnittswerte zwischen zwei Strategien) beobachten oder reibungslose Abläufe für kontaktreiche Aufgaben benötigen.

Einsatz auf echten Roboter

Nach der Ausbildung beinhaltet die Implementierung einer ACT-Politik das Laden des Modells und das Ausführen des Modells in einer Steuerungslöcke.

# ACT deployment on real robot (pseudocode)
import torch
import numpy as np
from act.policy import ACTPolicy

# Load trained policy
policy = ACTPolicy.load("checkpoints/act_epoch_2000.pt")
policy.eval()
policy.cuda()

# Initialize robot and cameras
robot = RobotInterface(port="/dev/ttyUSB0", hz=50)
cameras = CameraInterface(names=["cam_high", "cam_wrist"])

# Action buffer for temporal ensembling
all_actions = {}
temporal_weight = 0.01

for t in range(max_steps):
    # Get observation
    images = cameras.get_images()   # dict of [H, W, 3] arrays
    qpos = robot.get_joint_positions()  # [7]

    # Predict action chunk
    with torch.no_grad():
        obs = preprocess(images, qpos)   # normalize, resize, to_tensor
        action_chunk = policy(obs)       # [chunk_size, action_dim]
        action_chunk = action_chunk.cpu().numpy()

    # Temporal ensembling
    for i in range(len(action_chunk)):
        if (t + i) not in all_actions:
            all_actions[t + i] = []
        all_actions[t + i].append(action_chunk[i])

    if t in all_actions:
        preds = np.array(all_actions[t])
        weights = np.exp(-temporal_weight * np.arange(len(preds)))[::-1]
        action = np.average(preds, weights=weights, axis=0)
    else:
        action = action_chunk[0]

    # Execute action
    robot.set_joint_positions(action[:6])
    robot.set_gripper(action[6])
    robot.step()

robot.go_home()

Erweiterte Themen

ACT mit VLA Vorbildung

Die aktuelle Arbeit (20252026) kombiniert ACT's Action Chunking mit VLA-Vorbildung. Die Idee: Verwenden Sie ein vorgeübtes Vision-Language-Modell als visuellen Encoder, dann fügen Sie ACT's Chunked Action Decoder an. Dies gibt Ihnen ACT's Dateneffizienz und Ableitgeschwindigkeit mit den Verallkenntnissen von Fundamentmodellen.

TAT für die schlechte Manipulation

Die Anwendung von ACT auf geschickte Hände (wie die Orca Hand mit 17 DOF) erfordert Anpassungen:

  • Erhöhen Sie die Aktion_dim, um die Hand DOF zu entsprechen (z.B. 23 für den 6-DOF-Arm + 17-DOF-Hand).
  • Die Handlungssätze sind langsamer und komplexer.
  • Verwenden Sie die Handgelenkkamera als primäre visuelle Eingabe Die Oberkopfkamera kann keine Fingerkonfigurationen lösen.
  • Sammeln Sie mehr als 500 Demonstrationen Der höherdimensionale Aktionsraum erfordert mehr Daten.

Mehrfach-Task-Akt

Standard ACT ist einmalig. Bei einer Mehrfachbetriebsmethode funktionieren in der Praxis zwei Ansätze:

  1. Akt, das mit Aufgaben verbunden ist: Fügen Sie einen Aufgaben-Inbeting (eineinstellter oder gelernter) zum Encoder-Eingang hinzu. Trainieren Sie gemischte Daten aus mehreren Aufgaben. Arbeitet für 35 verwandte Aufgaben.
  2. Sprach-konditionierte ACT: Ersetzen Sie die Aufgabe mit einer Sprachenanleitung, die durch ein gefrorenes CLIP- oder SigLIP-Modell kodiert wird. Flexibler, erfordert jedoch mehr Daten pro Aufgabe. Für Implementierungen siehe Tools wie [LeRobot]T20) und [robomimic]T21).

Häufig gestellte Fragen

Was ist Action Chunking mit Transformatoren (ACT)?

ACT ist ein von Tony Zhao et al. am Stanford im Jahr 2023 eingeführter Roboternimitierungsalgorithmus. Es prognostiziert eine Sequenz (Teil) zukünftiger Aktionen typischerweise 100 Zeitschritte bei 50 Hz, die 2 Sekunden Bewegung statt einer einzigen nächsten Aktion abdecken. Dies reduziert Kompositionsfehler und produziert glatte, zeitlich konsistente Roboterbahnen aus nur 50 menschlichen Demonstrationen.

Wie viele Demonstrationen braucht ACT?

50100 für einfache Auswahl und Platzierung, 100200 für zweimanschließende Koordinierung, 200400 für präzise Einfügung und 500+ für komplexe mehrstufige oder geschickte Aufgaben.

Welche Stückgröße sollte ich verwenden?

Beginnen Sie mit 100 bei 50 Hz (2 Sekunden). Für schnelle Aufgaben unter 3 Sekunden reduzieren Sie das Gesamtwert auf 50. Für langsame Präzisionsarbeiten erhöhen Sie das Niveau auf 150200.

Kann ACT mehrere gültige Strategien übernehmen?

Die latente Variable CVAE von ACT bietet eine gewisse Multimodalität, ist aber grundsätzlich für einmodal-Action-Verteilungen konzipiert. Wenn Ihre Aufgabe wirklich unterschiedliche gültige Strategien hat (z.B. Greifen von links nach rechts), wird ACT sie durchschnittlich durchsetzen und eine gescheiterte mittlere Flugbahn erzeugen.

Welches Datenformat erwartet ACT?

HDF5 ist das Standardformat. Jede Episode enthält gemeinsame Positionen (qpos), gemeinsame Geschwindigkeiten (qvel), Kamerabilder und Zielmaßnahmen. RCSVs [Daten-Sammlungsdienst] T23) liefert Daten in diesem Format, bereit für das Training. Siehe unsere [Datenformat-Leitfaden] T24) für detaillierte Spezifikationen.

Sammeln Sie ACT-Ready-Training-Daten von $ 2.500

RCSV bietet end-to-end Daten-Sammlung für ACT-Training: kalibrierte Multi-Kamera-Setups, ausgebildete Teleoperatoren, Qualitätskontrolle und Lieferung im HDF5- oder LeRobot-Parquet-Format. Pilotprojekte beginnen bei $ 2.500 für 100 Episoden; komplette Kampagnen von $ 8.000 für mehr als 500 Episoden.

Daten-Sammlungsdienste Lease Hardware for Your Pilot