XLeRobot Documentation

repository·main·Indexed 26 days ago

https://github.com/vector-wangel/xlerobot

An open-source, low-cost platform for Embodied AI featuring a dual-arm mobile household robot for general manipulation. The documentation covers hardware design (including 3D printing for version 0.3.0 and STEP files for 0.4.0), real-world control via Bluetooth, and simulation environments using MuJoCo, NVIDIA Isaac Sim (via Leisaac), and ManiSkill. It includes details on kinematics configuration, YOLO-based object tracking, and teleoperation for the XLeRobot 2-Wheels model.

Tokens
25.4K
Snippets
66
Records
169
Agent score
90%

What's inside XLeRobot

  1. Overview of XLeRobot

    main
    XLeRobot is a low-cost, dual-arm mobile household robot designed for embodied AI research and domestic tasks. It is built upon the LeRobot core, utilizing affordable 3D-printed components and motors. It is designed to be an easy-to-assemble (approx. 4 hours) and upgradeable platform for startups, researchers, educators, and DIY enthusiasts.
  2. Overview of XLeRobot Software and Control Methods

    main

    XLeRobot runs under the lerobot framework. Users can choose from several control methods depending on their hardware and task complexity:

    • Joint Control: Used for basic motor testing.
    • End-Effector Control: Used for teleoperation.
    • Advanced Control: Includes dual-arm control or vision-based control.
    • Input Methods: Full system teleoperation can be achieved using a keyboard, Xbox controller, or Switch Joycon.

    All example scripts are located in the software/examples/ directory and can be run after proper setup and calibration. Note that some examples require additional calibration for optimal performance.

  3. Understand XLeRobot project roadmap and limitations

    main

    XLeRobot is designed as an affordable, easy-to-assemble, plug-and-play open-source robot platform.

    Hardware Roadmap

    • Urgent: Adding arm base options (clamp vs. screw mount) and connection plates compatible with IKEA trolley metal mesh.
    • Near-term: Adding RealSense depth cameras, LiDAR/SLAM for home navigation, and basic tactile sensing.

    Software Roadmap

    • Urgent: Basic control algorithms, optimized end-effector control, ManiSkill simulation environment, Quest3 VR teleoperation, and simple tasks using existing VLA models from the lerobot codebase.
    • Near-term: AprilTag-based calibration, autonomous navigation, digital twin alignment for sim2real, world models, and MCP connectivity for LLM integration.

    Known Limitations

    • Fixed Height: Lacks a stable lifting platform to keep costs low.
    • Workspace: Smaller workspace compared to Aloha due to SO100 arm size constraints.
    • Payload: Limited single-arm load capacity (designed to be used with an IKEA trolley).
    • Mobility Precision: Base movement precision may be affected by IKEA trolley wheels (can be mitigated via closed-loop feedback control).
  4. Configure Power Supply for XLeRobot

    main

    XLeRobot requires a power station or power bank capable of supporting at least two 60W+ USB-C fast charging ports to power the 12V arms, base, and Raspberry Pi.

    Recommended Setup:

    • Anker SOLIX C300 Power Station: Provides 288Wh capacity and 300W max output. It can power the entire system (including dual arms and Raspberry Pi, which draw ~180W max) using three USB-C cables, which simplifies wiring.

    Alternative Compatible Options (Not Tested):

    • UGREEN 300W 48000mAh Power Bank
    • Anker Laptop Power Bank (25K, 165W)
    • AOHI 240W Laptop Power Bank 27600mAh
  5. Quick Checklist for SmolVLA and ACT Setup

    main

    Before running SmolVLA or ACT, ensure the following environment and hardware configurations are met:

    1. Environment: Activate the conda environment using conda activate lerobot.
    2. Cameras: Verify that three cameras are connected and their indices are correctly identified (typically 0, 1, and 2).
    3. Follower Ports: Confirm the follower ports are correctly mapped (e.g., /dev/ttyACM0, /dev/ttyACM1).
    4. Leader Ports: Confirm the leader ports are correctly mapped (e.g., /dev/ttyACM2, /dev/ttyACM3).
    5. Dataset: Ensure the dataset repository ID and the task description are properly set.
    6. Training: Verify that training is running on the intended device (cuda vs cpu).
    7. Inference: Ensure inference is pointed to the correct path of the trained policy.
    conda activate lerobot
  6. Control the XLeRobot via Keyboard

    main

    The controller uses keyboard inputs for omnidirectional chassis movement and dual-arm joint motion.

    🚗 Chassis Movement (Omnidirectional)

    ActionKeyDescription
    ForwardHomeMove in +X direction
    BackwardEndMove in -X direction
    LeftDeleteMove in +Y direction
    RightPage DownMove in -Y direction
    Rotate CCWInsertRotate counter-clockwise (+Z)
    Rotate CWPage UpRotate clockwise (-Z)

    🦾 Left Arm Control

    JointPositiveNegativeDescription
    Joint 1QAShoulder rotation
    Joint 2WSShoulder elevation
    Joint 3EDElbow rotation

    🦾 Right Arm Control

    JointPositiveNegativeDescription
    Joint 1UJShoulder rotation
    Joint 2IKShoulder elevation
    Joint 3OLElbow rotation
  7. Install XLeRobot Simulation Environment

    main

    To set up the XLeRobot simulation environment, follow these steps:

    1. Prerequisites: Ensure you are running Ubuntu and have Miniconda installed.
    2. Create Conda Environment: Create a Python 3.11 environment named lerobot.
    3. Install ManiSkill: Install the mani-skill package via pip and download the ReplicaCAD scene dataset.
    4. Install Additional Dependencies: Install pygame for keyboard input/control panels and rerun-sdk for camera data visualization.
    # Create and activate environment
    conda create -y -n lerobot python=3.11
    conda activate lerobot
    
    # Install ManiSkill and dataset
    pip install mani-skill
    python -m mani_skill.utils.download_asset "ReplicaCAD"
    
    # Install additional dependencies
    pip install pygame
    pip install rerun-sdk