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

EarthRover Mini Plus — это полностью открытый мобильный робот, который подключается через облако с помощью Frodobots SDK. Это позволяет управлять роботом и собирать наборы данных для обучения моделей ИИ.

Что вам понадобится

Аппаратное обеспечение

  • Робот EarthRover Mini
  • Компьютер с Python 3.12 или новее
  • Соединение с Интернетом

Настройка Frodobots SDK

Для работы роботу необходим Frodobots SDK, запущенный на вашем компьютере. Вот как это сделать:

  1. Скачайте и установите SDK:
git clone https://github.com/frodobots-org/earth-rovers-sdk.git
cd earth-rovers-sdk
pip install -r requirements.txt
  1. Сохранить учётные данные:

Запишите переменные .env с ключом API SDK и именем бота, предоставленными командой 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. Запустите SDK:
hypercorn main:app --reload
  1. Откройте веб-браузер и перейдите по адресу http://localhost:8000, затем нажмите «Join»

SDK предоставляет вам:

  • Видео в реальном времени с передних и задних камер

SDK должен быть запущен, прежде чем вы сможете использовать робота.

Установка LeRobot

Следуйте нашему Руководству по установке, чтобы установить LeRobot.

Помимо базовой установки, установите EarthRover Mini с аппаратными зависимостями:

pip install -e ".[hardware]"

Как это работает

Робот использует интернет для связи:

  • Команды движения: отправляются через SDK
  • Видео с камеры: получено из SDK
  • Информация о роботе: батарея, местоположение, скорость из SDK

Вам не нужно подключать ничего — всё работает через SDK.

Калибровка

Калибровка не требуется! Робот готов к работе сразу после запуска SDK.

Управление роботом

Вы управляете роботом с помощью клавиатуры — так же, как в видеоигре с клавишами WASD.

Управление с клавиатуры

КлючДействие
WДальше
SПереместиться назад
AПоверните налево (с движением вперёд)
DПоворот направо (с движением вперёд)
QПоворот влево на месте
EПоворот вправо на месте
XОстановите все движения
+/=Повышение скорости
-Снизить скорость
ESCОтключить

Настройки скорости

Вы можете настроить скорость движения робота:

  • Скорость прямого/обратного прохода: по умолчанию — полная скорость (1.0)
  • Скорость вращения: по умолчанию — полная скорость (1.0)
  • Изменение скорости: используйте клавиши +/- для изменения на 0,1 за раз

Попробуйте

Тестирование робота перед записью данных:

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

Если вы используете Mac, возможно, потребуется предоставить Терминалу разрешение на доступ к клавиатуре для телеуправления. Перейдите в System Preferences > Security & Privacy > Input Monitoring и отметьте пункт для Terminal.

Запись данных

Когда вы научитесь уверенно управлять роботом, можно начать собирать данные для обучения моделей ИИ. Система записывает:

  • Ваши действия: как вы управляете роботом (движение вперёд, назад, поворот)
  • What the robot sees:
    • Видео с обеих камер
    • Скорость и направление робота
    • Уровень заряда батареи и местоположение
    • Позиция и сигнал GPS
    • Данные других датчиков
  • Когда это произошло: метки времени для всего

Настройка Hugging Face

Мы используем Hugging Face для хранения ваших данных в облаке. Сначала войдите с токеном из настроек Hugging Face:

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

Сохраните имя пользователя Hugging Face:

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

Начать запись

Используйте стандартную команду записи:

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

Замените your_username/dataset_name на ваше имя пользователя Hugging Face и название вашего набора данных.

Что сохраняется

Ваш набор данных включает:

Ваши действия (2 признака):

  • linear_velocity: насколько вы переместились вперёд/назад
  • angular_velocity: насколько вы повернули влево/вправо

Наблюдения робота (24 признака):

  • Видео с фронтальной камеры
  • Видео с задней камеры
  • Текущая скорость
  • Уровень заряда батареи
  • Ориентация
  • GPS (широта, долгота, сила сигнала)
  • Сила сетевого сигнала
  • Уровень вибрации
  • Состояние лампы (вкл/выкл)
  • Акселерометр (x, y, z)
  • Гироскоп (x, y, z)
  • Магнитометр (x, y, z)
  • Обороты колес (4 колеса)

Куда попадают ваши данные

На вашем компьютере: ~/.cache/huggingface/lerobot/{repo-id}

После записи ваши данные автоматически загружаются на вашу страницу Hugging Face:

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

Ваш набор данных будет помечен тегом LeRobot для поиска сообществом.

Update on GitHub