XLeRobot icon indicating copy to clipboard operation
XLeRobot copied to clipboard

[Contribute] OnBoard Computing (Jetson Orin, Thor, Raspberry Pi, etc)

Open Vector-Wangel opened this issue 4 months ago • 0 comments

📋 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:

XLeRobot Current Setup:

  • XLeRobot Implementation
  • Dual-arm Examples

🔧 Implementation Steps

  1. Setup Pi Environment

    • Install dependencies on Raspberry Pi
    • Configure camera and USB connections
  2. Port Control Logic

    • Adapt motor control for Pi limitations
    • Implement camera streaming pipeline
  3. Network Interface

    • SSH server configuration
    • Remote control protocol
  4. 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!

Vector-Wangel avatar Aug 21 '25 01:08 Vector-Wangel