Overview
The transport utilities enable:- Remote policy inference (policy server + robot client)
- Distributed training data collection
- Cloud-based policy deployment
- Multi-robot coordination
Core Functions
Location:src/lerobot/transport/utils.py
send_bytes_in_chunks
Stream large data payloads in chunks over gRPC.bytes
required
Binary data to send.
Any
required
Protobuf message class to use.
str
default:""
Prefix for log messages.
bool
default:"True"
If True, log at debug level instead of info.
receive_bytes_in_chunks
Receive chunked data from gRPC stream.Iterator
required
gRPC stream iterator.
Queue | None
Optional queue for async reception.
Event
required
Event to signal shutdown.
str
default:""
Prefix for log messages.
State Serialization
state_to_bytes
Serialize PyTorch model state dict to bytes.bytes_to_state_dict
Deserialize bytes to PyTorch state dict.Transition Serialization
transitions_to_bytes
Serialize transitions for distributed training.bytes_to_transitions
Deserialize transitions from bytes.Python Object Serialization
python_object_to_bytes
Serialize arbitrary Python objects.bytes_to_python_object
Deserialize Python objects.gRPC Configuration
grpc_channel_options
Get optimized gRPC channel options.int
default:"4MB"
Maximum message size to receive.
int
default:"4MB"
Maximum message size to send.
bool
default:"True"
Enable automatic retries on network failures.
int
default:"5"
Maximum retry attempts.
str
default:"0.1s"
Initial backoff delay.
str
default:"2s"
Maximum backoff delay.
Policy Server
Run a policy inference server.src/lerobot/async_inference/policy_server.py
Robot Client
Connect to remote policy server.src/lerobot/async_inference/robot_client.py
Usage Examples
Remote Policy Inference
Distributed Training Data Collection
Custom gRPC Service
Best Practices
- Message Size: Keep messages under 4MB for best performance
- Retries: Enable retries for unreliable networks
- Timeouts: Set appropriate timeouts for operations
- Compression: Use chunking for large payloads
- Error Handling: Handle network errors gracefully
Security Considerations
- Encryption: Use TLS for production deployments
- Authentication: Implement authentication for policy servers
- Validation: Validate all received data
- Network: Use firewalls and VPNs for remote connections
See Also
- Policy API - Policy inference
- Robot API - Robot control
- gRPC Documentation - gRPC framework