LeRobot documentation
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:
- 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- 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- Inicie o SDK:
hypercorn main:app --reload
- 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
| Chave | Ação |
|---|---|
| W | Avançar |
| S | Mover para trás |
| A | Vire à esquerda (com movimento para frente) |
| D | Vire à direita (com movimento para frente) |
| Q | Girar para a esquerda no local |
| E | Girar para a direita no local |
| X | Pare todo movimento |
| +/= | Aumentar a velocidade |
| - | Diminuir a velocidade |
| ESC | Desconectar |
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-credentialGuarde seu nome de usuário do Hugging Face:
HF_USER=$(hf auth whoami | awk -F': *' 'NR==1 {print $2}')
echo $HF_USERIniciar 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=autoSubstitua 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ásangular_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-navigationSeu conjunto de dados será marcado com LeRobot para descoberta pela comunidade.