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.6.1).
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 连接云端。这使您可以控制机器人并记录用于训练 AI 模型的数据集。

所需条件

硬件

  • 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. 保存凭据:

使用 Frodobots 团队提供的 SDK API 密钥和机器人名称,编写你的 .env 变量。

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. 打开 Web 浏览器并访问 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,可能需要授予终端(Terminal)访问键盘的权限以进行遥操作。前往系统偏好设置 > 安全性与隐私 > 输入监控,并勾选终端(Terminal)的复选框。

记录数据

当你能熟练操控机器人后,就可以开始录制数据以训练 AI 模型。系统会记录:

  • 你的操作:如何移动机器人(前进、后退、转向)
  • 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