Embodied AI Glossary中文

No-op (Idle) Action Filtering

空操作 / 静止帧过滤Advanced

Removing timesteps where the robot doesn't move from demonstrations before training, so the model doesn't learn to freeze in place.

A no-op (idle action) is a timestep in a demonstration trajectory where the action is essentially zero and the robot's state doesn't change — common at the start of teleoperation while waiting, during a pause by the operator, or because a recording script fills in a zero action for the first step. No-op filtering removes these timesteps before training. The reason this matters is that imitation learning takes everything it's given at face value: an expressive single-step policy that learns from these samples may, at deployment, end up outputting a zero action repeatedly in some state, leaving the robot stuck in place. The OpenVLA (2024) paper documented this issue: in the original BridgeData V2, the first step of every demonstration was an all-zero action, and training on it unmodified caused the policy to frequently output zero actions and freeze; on LIBERO, the authors removed actions whose translation and rotation components were near zero and that didn't change the gripper state, and describe this step as critical for models like OpenVLA. The gripper must be checked separately during filtering, or valid actions where the arm holds still but the gripper opens or closes get mistakenly deleted too.

ExampleOpenVLA's open-source script uses this rule: an action counts as a no-op if the norm of every dimension except the gripper is below 1e-4 and the gripper command matches the previous step. The processed LIBERO data is saved with a no_noops suffix, and π0's official codebase, openpi, uses this same processed data directly when fine-tuning on LIBERO.

Also called
No-op Filtering, no_noops
Related
Data Cleaning · OpenVLA · LIBERO Benchmark · BridgeData V2 · Behavior Cloning · Data Quality Control
Sources
OpenVLA: An Open-Source Vision-Language-Action Model (arXiv 2406.09246)
OpenVLA regenerate_libero_dataset.py(GitHub)
openpi convert_libero_data_to_lerobot.py(GitHub)
As of
2024-06

See it in the full glossary →