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
- 웹 브라우저를 열고
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 | Rotate left in place |
| E | Rotate 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-credentialHugging 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=autoyour_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 태그가 붙습니다.