LeRobot documentation
EarthRover Mini Plus
EarthRover Mini Plus
EarthRover Mini Plus 是一款完全开源的移动机器人,通过 Frodobots SDK 连接云端。这使您可以控制机器人并记录用于训练 AI 模型的数据集。
所需条件
硬件
- 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- 保存凭据:
使用 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- 启动 SDK:
hypercorn main:app --reload
- 打开 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,以便社区发现。