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.7.0).
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