rfx doctor checks your development environment and verifies that all dependencies, hardware, and configurations are properly set up.
Basic Usage
What It Checks
rfx doctor validates:
- Version Information - rfx SDK, Python, platform
- Required Tools - python3, cargo, uv
- Rust Extension - rfx._rfx binary module
- Core Python Packages - tinygrad, numpy, PyYAML
- Optional Packages - PyTorch, LeRobot, OpenCV, Anthropic/OpenAI SDKs, MuJoCo
- Transport Layer - Zenoh (via Rust extension)
- Robot Configs - Validates all YAML files in
rfx/configs/ - Simulation Backends - MockRobot, Genesis (GPU), MJX (JAX)
- rfxJIT Backends - CPU, CUDA, Metal availability
- Hardware Detection - Serial ports, connected robots, Zenoh environment variables
Example Output
Exit Codes
- 0: All required components present
- 0: Some optional components missing (warnings only)
rfx doctor returns 0 even if optional components are missing. It only fails (though currently returns 0 regardless) if required components are missing.
Check Categories
Required Components
These must be present for rfx to function:- python3: Python 3.13+ interpreter
- cargo: Rust toolchain (for building extensions)
- uv: Modern Python package manager
- rfx._rfx: Compiled Rust extension module
- Core packages: tinygrad, numpy, PyYAML
Optional Components
These enable additional functionality:- PyTorch: Neural network inference (most policies)
- LeRobot: Dataset compatibility and utilities
- OpenCV: Image processing and visualization
- Anthropic/OpenAI SDKs: VLA and foundation model integration
- MuJoCo: Physics simulation backend
- Genesis: GPU-accelerated simulation
Troubleshooting Common Issues
Rust Extension Missing
No Serial Devices Found
- Robot not connected
- USB cable issue
- Driver not installed (Windows)
- Permission issue (Linux)
Robot Config Invalid
rfxJIT Backend Unavailable
Transport Not Available
Hardware Detection Details
rfx doctor scans for connected robots:
RFX_ZENOH_CONNECT environment variable:
Using Doctor in CI/CD
rfx doctor is useful in automated environments:
Interpreting the Report
All Good
Some Items Missing
missing items and install them. Optional items marked not available are informational only.
Manual Checks
You can manually verify specific components:Check Python version
Check Rust extension
Check robot config
Check serial ports
See Also
- Installation guide - Install rfx from source
- Record command - Collect demonstrations
- Deploy command - Run policies on hardware
- Robot API - Robot configuration and interface
