LeRobot documentation

EarthRover Mini Plus

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

O EarthRover Mini Plus é um robô móvel totalmente open source que se conecta pela nuvem usando o Frodobots SDK. Isso permite controlar o robô e gravar conjuntos de dados para treinar modelos de IA.

O que você precisa

Hardware

  • Robô EarthRover Mini
  • Computador com Python 3.12 ou mais recente
  • Conexão com a internet

Configurando o SDK do Frodobots

O robô precisa do Frodobots SDK em execução no seu computador. Veja como:

  1. Baixe e instale o SDK:
git clone https://github.com/frodobots-org/earth-rovers-sdk.git
cd earth-rovers-sdk
pip install -r requirements.txt
  1. Salvar credenciais:

Escreva suas variáveis de .env com a chave de API do SDK e o nome do bot fornecidos pela equipe do 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. Inicie o SDK:
hypercorn main:app --reload
  1. Abra seu navegador da web e acesse http://localhost:8000, depois clique em “Join”

O SDK oferece:

  • Vídeo ao vivo das câmeras frontal e traseira

O SDK deve estar em execução antes de você poder usar o robô.

Instalar LeRobot

Siga nosso Guia de Instalação para instalar o LeRobot.

Além da instalação base, instale o EarthRover Mini com as dependências de hardware:

pip install -e ".[hardware]"

Como Funciona

O robô usa a internet para se comunicar:

  • Comandos de movimento: enviados por meio do SDK
  • Vídeo da câmera: Recebido do SDK
  • Informações do robô: bateria, localização, velocidade do SDK

Você não precisa conectar nada - tudo funciona por meio do SDK.

Calibração

Sem necessidade de calibração! O robô está pronto para uso assim que o SDK estiver em execução.

Controlando o Robô

Você controla o robô usando o teclado - assim como ao jogar um videogame com as teclas WASD.

Controles de Teclado

ChaveAção
WAvançar
SMover para trás
AVire à esquerda (com movimento para frente)
DVire à direita (com movimento para frente)
QGirar para a esquerda no local
EGirar para a direita no local
XPare todo movimento
+/=Aumentar a velocidade
-Diminuir a velocidade
ESCDesconectar

Configurações de Velocidade

Você pode ajustar a velocidade com que o robô se move:

  • Velocidade de forward/backward: O padrão é a velocidade total (1.0)
  • Velocidade de rotação: O padrão é a velocidade máxima (1.0)
  • Mudanças de velocidade: Use as teclas +/- para ajustar em 0,1 a cada vez

Experimente

Testando o robô antes de gravar os dados:

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()

Se você está usando um Mac, talvez precise dar permissão ao Terminal para acessar seu teclado para teleoperação. Vá em Preferências do Sistema > Segurança e Privacidade > Monitoramento de Entrada e marque a caixa para Terminal.

Registrando Dados

Quando você já consegue controlar o robô com facilidade, pode começar a gravar dados para treinar modelos de IA. O sistema grava:

  • O que você faz: Como você move o robô (para frente, para trás, girando)
  • What the robot sees:
    • Vídeos de ambas as câmeras
    • Velocidade e direção do robô
    • Nível da bateria e localização
    • Posição e sinal do GPS
    • Outros dados de sensores
  • Quando aconteceu: Carimbos de data e hora para tudo

Configurando o Hugging Face

Usamos o Hugging Face para armazenar seus dados online. Primeiro, faça login com seu token de configurações do Hugging Face:

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

Guarde seu nome de usuário do Hugging Face:

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

Iniciar Gravação

Use o comando padrão de gravação:

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

Substitua your_username/dataset_name pelo seu nome de usuário do Hugging Face e por um nome para o seu conjunto de dados.

O Que É Salvo

Seu conjunto de dados inclui:

Suas Ações (2 recursos):

  • linear_velocity: Quanto você se moveu para frente/para trás
  • angular_velocity: Quanto você virou para a esquerda/direita

Observações do robô (24 recursos):

  • Vídeo da câmera frontal
  • Vídeo da câmera traseira
  • Velocidade atual
  • Nível da bateria
  • Orientação
  • GPS (latitude, longitude, intensidade do sinal)
  • Intensidade do sinal de rede
  • Nível de vibração
  • Estado da lâmpada (ligada/desligada)
  • Acelerômetro (x, y, z)
  • Giroscópio (x, y, z)
  • Magnetômetro (x, y, z)
  • RPMs das rodas (4 rodas)

Para onde seus dados vão

No seu computador: ~/.cache/huggingface/lerobot/{repo-id}

Após a gravação, seus dados são enviados automaticamente para sua página do Hugging Face:

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

Seu conjunto de dados será marcado com LeRobot para descoberta pela comunidade.

Update on GitHub