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
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
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 250
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 6
7 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 (6
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=75
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,8
1,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 2
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 (16
32) auf A100 verbessern die Stabilität. - Epochs: Zug für 2000 Epochen mindestens. ACT zeigt oft eine plötzliche Verbesserung um die Epoche 1000
1500 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:
- Messen Sie die durchschnittliche Dauer einer einzelnen Unterbewegung in Ihrer Aufgabe (z.B. das Erreichen eines Objekts: 1,5 s).
- Multiplizieren durch die Steuerfrequenz: 1,5 s × 50 Hz = 75 Zeitstufen.
- Runden Sie auf das nächste 25: Stück / Größe = 100.
- 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.
- β = 20
50 : 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](
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 (2025
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:
- 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 3
5 verwandte Aufgaben. - 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
Wie viele Demonstrationen braucht ACT?
50
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 150
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]
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.







