LeRobot documentation
EarthRover Mini Plus
EarthRover Mini Plus
EarthRover Mini Plus — это полностью открытый мобильный робот, который подключается через облако с помощью Frodobots SDK. Это позволяет управлять роботом и собирать наборы данных для обучения моделей ИИ.
Что вам понадобится
Аппаратное обеспечение
- Робот EarthRover Mini
- Компьютер с Python 3.12 или новее
- Соединение с Интернетом
Настройка Frodobots SDK
Для работы роботу необходим Frodobots SDK, запущенный на вашем компьютере. Вот как это сделать:
- Скачайте и установите SDK:
git clone https://github.com/frodobots-org/earth-rovers-sdk.git
cd earth-rovers-sdk
pip install -r requirements.txt- Сохранить учётные данные:
Запишите переменные .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- Запустите SDK:
hypercorn main:app --reload
- Откройте веб-браузер и перейдите по адресу
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 для поиска сообществом.