LeRobot documentation

EarthRover Mini Plus

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

EarthRover Mini Plus

EarthRover Mini Plus

Le EarthRover Mini Plus est un robot mobile entièrement open source qui se connecte via le cloud à l'aide du Frodobots SDK. Cela vous permet de contrôler le robot et d'enregistrer des jeux de données pour l'entraînement de modèles d'IA.

De quoi vous avez besoin

Matériel

  • Robot EarthRover Mini
  • Ordinateur avec Python 3.12 ou plus récent
  • Connexion Internet

Configuration du SDK Frodobots

Le robot a besoin que le Frodobots SDK soit installé sur votre ordinateur. Voici comment faire :

  1. Télécharger et installer le SDK :
git clone https://github.com/frodobots-org/earth-rovers-sdk.git
cd earth-rovers-sdk
pip install -r requirements.txt
  1. Enregistrer les identifiants :

Écrivez vos variables .env avec la clé API du SDK et le nom du bot fournis par l'équipe Frodobots.

SDK_API_TOKEN=your_sdk_api_token_here
BOT_SLUG=your_bot_slug_here
CHROME_EXECUTABLE_PATH=/path/to/chrome_or_chromium
# Default value is MAP_ZOOM_LEVEL=18 https://wiki.openstreetmap.org/wiki/Zoom_levels
MAP_ZOOM_LEVEL=18
MISSION_SLUG=your_mission_slug_here
# Image quality between 0.1 and 1.0 (default: 0.8)
# Recommended: 0.8 for better performance
IMAGE_QUALITY=0.8
# Image format: jpeg, png or webp (default: png)
# Recommended: jpeg for better performance and lower bandwidth usage
IMAGE_FORMAT=jpeg
  1. Démarrer le SDK :
hypercorn main:app --reload
  1. Ouvrez votre navigateur web et accédez à http://localhost:8000, puis cliquez sur « Rejoindre »

Le SDK vous offre :

  • Vidéo en direct des caméras avant et arrière

Le SDK doit être en cours d'exécution avant que vous puissiez utiliser le robot.

Installer LeRobot

Suivez notre Guide d'installation pour installer LeRobot.

En plus de l'installation de base, installez EarthRover Mini avec les dépendances matérielles :

pip install -e ".[hardware]"

Fonctionnement

Le robot utilise Internet pour communiquer :

  • Commandes de déplacement : envoyées via le SDK
  • Vidéo de la caméra : Reçue depuis le SDK
  • Informations sur le robot : batterie, position, vitesse issues du SDK

Vous n’avez rien à brancher - tout fonctionne via le SDK.

Calibration

Aucune calibration nécessaire ! Le robot est prêt à l'emploi dès que le SDK est en cours d'exécution.

Contrôler le robot

Vous contrôlez le robot à l'aide de votre clavier - tout comme lors d'une partie de jeu vidéo avec les touches WASD.

Contrôles du clavier

CléAction
WAvancer
SReculer
ATourner à gauche (avec un mouvement vers l'avant)
DTourner à droite (avec un mouvement vers l'avant)
QRotation à gauche sur place
ERotation à droite sur place
XArrêter tout mouvement
+/=Augmenter la vitesse
-Réduire la vitesse
ESCDéconnecter

Paramètres de vitesse

Vous pouvez ajuster la vitesse de déplacement du robot :

  • Vitesse avant/arrière : La valeur par défaut est la vitesse maximale (1.0)
  • Vitesse de rotation : la valeur par défaut est la vitesse maximale (1.0)
  • Modifications de la vitesse : utilisez les touches +/- pour ajuster de 0,1 à chaque fois

Essayer

Essai du robot avant l'enregistrement des données :

from lerobot.robots.earthrover_mini_plus import EarthRoverMiniPlus, EarthRoverMiniPlusConfig
from lerobot.teleoperators.keyboard import KeyboardRoverTeleop, KeyboardRoverTeleopConfig

# Initialize robot
robot_config = EarthRoverMiniPlusConfig()
robot = EarthRoverMiniPlus(robot_config)

# Initialize teleoperator
teleop_config = KeyboardRoverTeleopConfig(
    linear_speed=1.0,
    angular_speed=1.0,
    speed_increment=0.1
)
teleop = KeyboardRoverTeleop(teleop_config)

# Connect
robot.connect()
teleop.connect()

# Teleoperate (use keyboard controls)
try:
    while True:
        action = teleop.get_action()
        robot.send_action(action)
except KeyboardInterrupt:
    pass
finally:
    robot.disconnect()
    teleop.disconnect()

Si vous utilisez un Mac, vous devrez peut-être accorder à Terminal l’autorisation d’accéder à votre clavier pour la téléopération. Allez dans Préférences Système > Sécurité et confidentialité > Surveillance des entrées et cochez la case Terminal.

Enregistrement des données

Une fois que vous savez bien piloter le robot, vous pouvez commencer à enregistrer des données pour entraîner des modèles d'IA. Le système enregistre :

  • Ce que vous faites : La manière dont vous déplacez le robot (avancer, reculer, tourner)
  • What the robot sees:
    • Vidéos des deux caméras
    • Vitesse et direction du robot
    • Niveau de batterie et localisation
    • Position GPS et signal
    • Autres données de capteurs
  • Quand c'est arrivé : Horodatage de tout

Mise en place de Hugging Face

Nous utilisons Hugging Face pour stocker vos données en ligne. Connectez-vous d'abord avec votre jeton depuis les paramètres Hugging Face :

hf auth login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential

Enregistrez votre nom d'utilisateur Hugging Face :

HF_USER=$(hf auth whoami | awk -F': *' 'NR==1 {print $2}')
echo $HF_USER

Démarrer l'enregistrement

Utilisez la commande d'enregistrement standard :

lerobot-record \
    --robot.type=earthrover_mini_plus \
    --teleop.type=keyboard_rover \
    --dataset.repo_id=your_username/dataset_name \
    --dataset.num_episodes=2 \
    --dataset.fps=10 \
    --dataset.single_task="Navigate around obstacles" \
    --dataset.streaming_encoding=true \
    --dataset.encoder_threads=2 \
    --display_data=true
# Optional: --dataset.rgb_encoder.vcodec=auto

Remplacez your_username/dataset_name par votre nom d'utilisateur Hugging Face et un nom pour votre jeu de données.

Ce qui est enregistré

Votre jeu de données comprend :

Vos actions (2 fonctionnalités) :

  • linear_velocity : La distance parcourue en avant/en arrière
  • angular_velocity : L'ampleur de la rotation vers la gauche/droite

Observations du robot (24 caractéristiques) :

  • Vidéo de la caméra avant
  • Vidéo de la caméra arrière
  • Vitesse actuelle
  • Niveau de la batterie
  • Orientation
  • GPS (latitude, longitude, intensité du signal)
  • Intensité du signal réseau
  • Niveau de vibration
  • État de la lampe (allumée/éteinte)
  • Accéléromètre (x, y, z)
  • Gyroscope (x, y, z)
  • Magnétomètre (x, y, z)
  • Tours par minute des roues (4 roues)

Où vont vos données

Sur votre ordinateur : ~/.cache/huggingface/lerobot/{repo-id}

Après l'enregistrement, vos données sont automatiquement téléversées sur votre page Hugging Face :

echo https://huggingface.co/datasets/${HF_USER}/earthrover-navigation

Votre jeu de données sera étiqueté avec LeRobot pour faciliter sa découverte par la communauté.

Update on GitHub