Overview
LeRobot uses processor pipelines to:- Normalize/unnormalize data
- Convert between data formats (numpy ↔ torch)
- Apply transformations (e.g., delta actions)
- Move data between devices (CPU/GPU)
- Rename observation keys
- Add batch dimensions
Type Definitions
src/lerobot/processor/core.py
Core Pipeline Classes
ProcessorStep
Base class for all processing steps.DataProcessorPipeline
Generic pipeline for chaining processing steps.Built-in Processor Steps
NormalizerProcessorStep
Normalize data using dataset statistics.dict
required
Dataset statistics with
mean and std for each feature.dict
required
Feature definitions specifying which keys to normalize.
UnnormalizerProcessorStep
Reverse normalization.DeviceProcessorStep
Move tensors to specific device.str
required
Device string:
"cpu", "cuda", "cuda:0", etc.MapDeltaActionToRobotActionStep
Convert delta actions to absolute actions.RenameObservationsProcessorStep
Rename observation keys.dict[str, str]
required
Mapping from old keys to new keys.
AddBatchDimensionProcessorStep
Add batch dimension to tensors.Factory Functions
make_default_processors
RobotProcessorPipeline
Pipeline for processing robot observations.
RobotProcessorPipeline
Pipeline for processing robot actions.
RobotProcessorPipeline
Pipeline for processing teleoperation actions.
make_default_robot_observation_processor
make_default_robot_action_processor
Specialized Pipelines
PolicyProcessorPipeline
Pipeline for policy input/output processing.RobotProcessorPipeline
Pipeline for robot-specific processing.Usage Examples
Training Pipeline
Inference Pipeline
Custom Processor Step
Delta Action Processing
Observation Renaming
Processor Registry
Register custom processor steps:See Also
- Robot API - Robot observations and actions
- Policy API - Policy inference
- LeRobotDataset - Dataset loading