LeRobot documentation

EarthRover Mini Plus

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. يتيح لك ذلك التحكم في الروبوت وتسجيل مجموعات البيانات لتدريب نماذج الذكاء الاصطناعي.

ما تحتاجه

الأجهزة

  • روبوت 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. حفظ بيانات الاعتماد:

اكتب متغيرات .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
  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انعطف يميناً (مع حركة للأمام)
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).

تسجيل البيانات

بمجرد أن تتمكن من التحكم في الروبوت بشكل جيد، يمكنك البدء في تسجيل البيانات لتدريب نماذج الذكاء الاصطناعي. يسجّل النظام:

  • ما تفعله: كيفية تحريك الروبوت (للأمام، للخلف، الدوران)
  • 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