How hyuantan/lerobot_far works
LeRobot FAR extends LeRobot with experiments for remote VLA inference, latency assessment, and failure-aware retry on SO-101 hardware and LIBERO simulation. The principal workflow sends robot or simulation observations to a remote policy, receives actions, and executes them; with FAR enabled, runtime signals can trigger recovery and a retry from the recovered state. The README also describes data collection and model training capabilities. The graph combines those documented capabilities with the supplied tree and sampled code; unsampled server and policy internals are represented only at the documented subsystem level.
Main entry points: base_client.py Async client core · smart_robot_client.py SO-101 client · sim_client.py LIBERO client · sim_smart_client.py Simulation recovery
Components 20
Remote inference
- SO-101 client
src/lerobot/async_inference/smart_robot_client.py - LIBERO client
src/lerobot/async_inference/sim_test/sim_client.py - Inference RPC
src/lerobot/transport/services.proto - Async client core
src/lerobot/async_inference/base_client.py - Policy server
src/lerobot/async_inference/policy_server.py
Failure recovery
- Failure monitor
src/lerobot/async_inference/smart_robot_client.py - Retry recovery
src/lerobot/async_inference/smart_robot_client.py - Simulation recovery
src/lerobot/async_inference/sim_test/sim_smart_client.py
Policies and data
- VLA policies
src/lerobot/policies - Policy processing
src/lerobot/processor/pipeline.py - Data recording
src/lerobot/scripts/lerobot_record.py - Dataset storage
src/lerobot/datasets - Model training
src/lerobot/scripts/lerobot_train.py
Evaluation
- Latency analysis
src/lerobot/async_inference/analyze_timing.py - LIBERO evaluation
src/lerobot/async_libero_inference/it_rtc/eval_libero_rtc.py
Robot and simulation
- SO-101 hardware
src/lerobot/robots/so_follower/so_follower.py - Camera capture
src/lerobot/cameras - LIBERO environment
src/lerobot/envs/libero.py
Other components
- Operator
- Remote server
Connections 26
- Operator → SO-101 client: starts run
- Operator → LIBERO client: starts evaluation
- SO-101 client → Async client core: uses client core
- LIBERO client → Async client core: uses client core
- SO-101 client → Camera capture: captures observations
- SO-101 client → SO-101 hardware: executes actions
- LIBERO client → LIBERO environment: steps environment
- Async client core → Inference RPC: uses RPC
- Async client core → Remote server: sends observations
- Remote server → Async client core: returns actions
- Policy server → Inference RPC: implements RPC
- Policy server → VLA policies: runs inference
- VLA policies → Policy processing: uses processing
- Operator → Data recording: collects demonstrations
- Data recording → Dataset storage: writes episodes
- Model training → Dataset storage: reads episodes
- Model training → VLA policies: trains policy
- SO-101 client → Failure monitor: checks execution
- Failure monitor → Retry recovery: triggers retry
- Retry recovery → SO-101 hardware: recovers state
- Retry recovery → Async client core: resamples inference
- LIBERO client → Simulation recovery: enables FAR mode
- Simulation recovery → LIBERO environment: rewinds or resets
- Simulation recovery → Async client core: resamples inference
- SO-101 client → Latency analysis: records timing
- LIBERO client → LIBERO evaluation: evaluated by