Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeRobot Control Center

A GUI application for controlling LeRobot systems with calibration, recording, and inference capabilities.

Features

  • 🔐 Login authentication system
  • 🎯 Robot calibration controls
  • 📹 Data recording with task configuration
  • 🤖 Model inference with trained model selection
  • 👁️ Dataset visualization - visualize collected data using Rerun
  • 📊 System status monitoring
  • 🖥️ Cross-platform support (macOS, Linux, Windows)
  • 💻 Automatic GUI/CLI fallback - tries GUI first, falls back to CLI if needed

Prerequisites

Ubuntu/Linux Requirements

Before running on Ubuntu, install the required system dependencies:

sudo apt update
sudo apt install -y \
    build-essential \
    pkg-config \
    libssl-dev \
    libfontconfig1-dev \
    libfreetype6-dev \
    libxrandr-dev \
    libxinerama-dev \
    libxcursor-dev \
    libxi-dev \
    libxkbcommon-dev \
    libgl1-mesa-dev \
    libglu1-mesa-dev

For Ubuntu 20.04 or older, you may also need:

sudo apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev

Rust Installation

Install Rust if you haven't already:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

Building and Running

  1. Clone or copy this directory to your system
  2. Navigate to the project directory:
    cd lerobot_control_center
  3. Build and run the application:
    cargo run

Usage

  1. Login: Enter any username and password to access the dashboard
  2. System Status: View connection status for robot, camera, and server
  3. Calibration: Start robot calibration process
  4. Recording: Configure and start data recording sessions
  5. Inference: Select trained models and run inference
  6. Visualize Data: Browse and visualize collected datasets using Rerun viewer
    • Enter a data folder path or use the example path button
    • Launches Rerun viewer with the dataset for exploration

Interface Modes

GUI Mode (Default)

The application will try to start in GUI mode first, providing a full graphical interface with:

  • Visual login screen
  • Interactive control panels
  • Real-time progress indicators
  • System status displays

CLI Mode (Automatic Fallback)

If GUI dependencies fail (e.g., no display server, unsupported platform), the application automatically switches to CLI mode with:

  • Text-based login prompt
  • Menu-driven interface
  • All core functionality available
  • Same LeRobot command execution

Troubleshooting

Graphics Backend Issues

The application uses the OpenGL-based glow renderer for maximum compatibility across platforms. If GUI fails, it automatically falls back to CLI mode.

Platform Compatibility Issues

If you encounter winit platform errors, the application will automatically switch to CLI mode. This ensures functionality even on:

  • Headless servers
  • Unusual Linux distributions
  • Embedded systems
  • Docker containers without display

Missing System Libraries

On Linux, if you get compilation errors about missing libraries, ensure all the prerequisites listed above are installed.

Permission Issues

On Linux, you may need to add your user to certain groups for hardware access:

sudo usermod -a -G dialout,video $USER

Then log out and log back in.

Development

The application is built with:

  • egui: Immediate mode GUI framework
  • eframe: Application framework for egui with glow backend
  • Rust: Systems programming language

To modify the UI, edit src/main.rs. The application uses a simple state machine with login and dashboard states.

Architecture

  • LeRobotApp: Main application state
  • show_login(): Login screen UI
  • show_dashboard(): Main dashboard with control panels
  • show_controls(): Robot control interface

All button interactions are logged to the console for development and debugging purposes.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages