How tna001-ai/lerobot_tactile works
LeFlexiTac extends LeRobot with FlexiTac tactile sensing across robot data collection, dataset processing, and policy training/inference. A typical workflow collects synchronized robot, camera, and touch observations; stores them in LeRobot datasets; trains a supported policy; and evaluates or runs that policy on a robot. The README documents ACT, Diffusion, Pi0.5, and SmolVLA support. The sampled source confirms processor pipelines and robot-client behavior, but not the full recording or training call paths, so those links are shown only where supported by the documented product workflow.
Main entry points: lerobot_record.py Record workflow · factory.py Policy selection · robot_client.py Async robot client · lerobot_train.py Training workflow
Components 20
Robot Capture
- Record workflow
src/lerobot/scripts/lerobot_record.py - Teleoperation
src/lerobot/teleoperators/teleoperator.py - Robot drivers
src/lerobot/robots/robot.py - Camera drivers
src/lerobot/cameras/camera.py - Tactile sensing
src/lerobot/sensors/tactile_sensor.py
Data Processing
- Tactile processing
src/lerobot/processor/tactile_processor.py - Processor pipeline
src/lerobot/processor/pipeline.py - Robot datasets
src/lerobot/datasets/lerobot_dataset.py - Dataset tools
src/lerobot/datasets/dataset_tools.py
Policy Learning
- Training workflow
src/lerobot/scripts/lerobot_train.py - Policy selection
src/lerobot/policies/factory.py - ACT policy
src/lerobot/policies/act/modeling_act.py - Diffusion policy
src/lerobot/policies/diffusion/modeling_diffusion.py - Pi0.5 policy
src/lerobot/policies/pi05/modeling_pi05.py - SmolVLA policy
src/lerobot/policies/smolvla/modeling_smolvla.py
Robot Inference
- Evaluation workflow
src/lerobot/scripts/lerobot_eval.py - Async robot client
src/lerobot/async_inference/robot_client.py - Policy server
src/lerobot/async_inference/policy_server.py
Other components
- Operator
- PyFlexiTac driver
Connections 22
- Operator → Record workflow: starts collection
- Record workflow → Teleoperation: uses controls
- Record workflow → Robot drivers: records state
- Record workflow → Camera drivers: records images
- Record workflow → Tactile sensing: records touch
- Tactile sensing → PyFlexiTac driver: reads sensor
- Record workflow → Processor pipeline: processes observations
- Tactile processing → Processor pipeline: processes touch
- Processor pipeline → Robot datasets: writes samples
- Operator → Training workflow: starts training
- Training workflow → Robot datasets: reads samples
- Training workflow → Policy selection: selects policy
- Policy selection → ACT policy: creates ACT
- Policy selection → Diffusion policy: creates Diffusion
- Policy selection → Pi0.5 policy: creates Pi0.5
- Policy selection → SmolVLA policy: creates SmolVLA
- Operator → Evaluation workflow: starts evaluation
- Evaluation workflow → Robot drivers: runs policy on
- Operator → Async robot client: starts remote control
- Async robot client → Robot drivers: sends actions
- Async robot client → Policy server: streams observations
- Policy server → Async robot client: returns actions