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.7.0).
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. 웹 브라우저를 열고 http://localhost:8000으로 이동한 후 “Join”을 클릭하세요.

SDK는 다음을 제공합니다:

  • 전면 및 후면 카메라의 라이브 비디오

로봇을 사용하려면 SDK가 실행 중이어야 합니다.

LeRobot 설치

LeRobot를 설치하려면 설치 가이드를 따르세요.

기본 설치 외에도 하드웨어 종속성을 포함하여 EarthRover Mini를 설치합니다:

pip install -e ".[hardware]"

작동 방식

로봇은 인터넷을 사용하여 통신합니다:

  • 이동 명령: SDK를 통해 전송
  • 카메라 비디오: SDK에서 수신
  • 로봇 정보: SDK에서 가져온 배터리, 위치, 속도

무엇을 연결할 필요가 없습니다. 모든 것이 SDK를 통해 작동합니다.

교정

교정이 필요하지 않습니다! SDK가 실행되는 즉시 로봇을 사용할 수 있습니다.

로봇 제어

키보드를 사용하여 로봇을 제어합니다 - WASD 키로 비디오 게임을 하듯이요.

키보드 컨트롤

키액션
W진행하기
S뒤로 이동
A왼쪽으로 회전(전진)
D전진하면서 우회전
QRotate left in place
ERotate right in place
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을 사용 중이라면, 텔레오퍼레이션(원격 조작)을 위해 터미널에 키보드 접근 권한을 부여해야 할 수 있습니다. 시스템 설정 > 보안 및 개인정보 보호 > 입력 모니터링으로 이동하여 터미널의 확인란을 선택하세요.

데이터 기록

로봇을 잘 조종할 수 있게 되면 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)
  • 휠 RPM(4개 휠)

데이터가 저장되는 위치

컴퓨터에서: ~/.cache/huggingface/lerobot/{repo-id}

기록이 완료되면 데이터가 Hugging Face 페이지에 자동으로 업로드됩니다:

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

데이터셋에는 커뮤니티에서 쉽게 찾을 수 있도록 LeRobot 태그가 붙습니다.

Update on GitHub