XLeRobot
XLeRobot copied to clipboard
[Contribute] OnBoard Computing (Jetson Orin, Thor, Raspberry Pi, etc)
📋 Issue Description
Implement onboard computing using Raspberry Pi similar to LeKiwi setup, replacing laptop-based control with embedded computing for true mobile autonomy.
🎯 What We Need
Goal: Enable XLeRobot to run with Raspberry Pi onboard computing
Key Requirements:
- Raspberry Pi-based control system
- SSH remote access and control
- Stream 3 camera feeds simultaneously
- Full robot functionality (dual-arm + base + head)
- Performance optimization for Pi hardware
🔧 Expected Approach
Option 1: Extend LeKiwi Implementation
- Take existing LeKiwi codebase from lerobot
- Add second arm and head motor support
- Modify camera configuration for 3-camera setup
Option 2: Adapt XLeRobot for Pi
- Port current XLeRobot control to Raspberry Pi
- Add SSH control interface similar to LeKiwi
- Optimize for Pi's hardware limitations
System Architecture
[Remote Control] <-> SSH/Network <-> [Raspberry Pi] <-> [Motor Controllers + Cameras]
|
[3x Camera Streams]
📝 Technical Requirements
Hardware Setup:
- Raspberry Pi 4/5 (8GB RAM recommended)
- USB hub for multiple camera connections
- Motor controller connections (2x USB for dual-arm + base)
- Network connectivity (WiFi/Ethernet)
Software Components:
- Camera streaming (efficient encoding/compression)
- Motor control optimization
- SSH server with key-based auth
- Resource monitoring and management
📋 Acceptance Criteria
Minimum Requirements:
- [ ] Raspberry Pi successfully controls all motors (dual-arm + base + head)
- [ ] SSH access and remote control working
- [ ] 3 cameras streaming simultaneously (acceptable FPS >10)
- [ ] Basic teleop functionality over network
- [ ] Installation and setup documentation
Bonus Points:
- [ ] Auto-startup on boot
- [ ] Camera stream quality optimization
- [ ] Error recovery mechanisms
💡 Resources
LeKiwi Reference:
- [LeKiwi Implementation](https://github.com/huggingface/lerobot/tree/main/lerobot/robots/lekiwi)
- [LeKiwi Documentation](https://lerobot.readthedocs.io/en/stable/robots/lekiwi.html)
XLeRobot Current Setup:
- XLeRobot Implementation
- Dual-arm Examples
🔧 Implementation Steps
-
Setup Pi Environment
- Install dependencies on Raspberry Pi
- Configure camera and USB connections
-
Port Control Logic
- Adapt motor control for Pi limitations
- Implement camera streaming pipeline
-
Network Interface
- SSH server configuration
- Remote control protocol
-
Testing & Optimization
- Performance tuning for smooth operation
- Multi-camera streaming optimization
🤝 Propose Your Approach
Comment with your implementation plan! Include:
- Camera streaming strategy
- Performance optimization approach
- Timeline estimate
Example:
I'd like to work on this! My approach:
- Start with LeKiwi codebase and extend for dual-arm
- Use GStreamer for efficient camera streaming
- Implement motor controller multiplexing
- Test on Pi 4 first, optimize for Pi 5
- Timeline: ~3 weeks
This will transform XLeRobot from laptop-based operation to a more mobile setup, enabling deployment in real-world scenarios!