LeRobot documentation

الروبوتات

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

الروبوتات

تُنفّذ كل روبوت في LeRobot واجهة Robot: الاتصال، قراءة الملاحظة، إرسال الإجراء، والانفصال. كتابة سياسة أو سكربت تسجيل ضد تلك الواجهة تعني أنها تعمل مع أي ذراع مدعومة دون أي تغيير.

هذه الصفحة هي المرجع المولّد. لتعليمات التوصيل، المعايرة، والتشغيل الأول، ابدأ بأدلة الأجهزة — SO-101، LeKiwi، Hope Jr، Reachy 2، OpenArm — أو Imitation Learning for Robots للعملية الشاملة من البداية إلى النهاية. وللروبوتات التي يحافظ عليها المجتمع خارج المجموعة الأساسية، راجع Third-Party Robots & Teleoperators. لإضافة روبوت خاص بك، راجع Bring Your Own Hardware.

روبوت

الفئة الأساسية المجردة. تنفّذ الفئات الفرعية كل طريقة مذكورة أدناه؛ والعقد الموصوف هنا هو ما يمكن لسياسة أو حلقة تسجيل الاعتماد عليه.

فئة lerobot.robots.Robot

< >

( config: RobotConfig )

المعاملات

  • config_class (RobotConfig) — فئة التهيئة المتوقعة لهذا الروبوت.
  • name (str) — الاسم الفريد للروبوت المستخدم لتحديد نوع هذا الروبوت.

الفئة التجريدية الأساسية لجميع الروبوتات المتوافقة مع LeRobot.

توفر هذه الفئة واجهة موحدة للتفاعل مع الروبوتات المادية. يجب على الفئات الفرعية تنفيذ جميع الطرق والخصائص المجردة لتكون قابلة للاستخدام.

اتصال

< >

( calibrate: bool = True )

المعاملات

  • calibrate (bool) — إذا كانت القيمة True، يتم معايرة الروبوت تلقائيًا بعد الاتصال إذا لم تكن معايرة أو إذا كانت بحاجة إلى معايرة (يعتمد ذلك على العتاد).

قم بإرساء الاتصال مع الروبوت.

قطع الاتصال

< >

( )

افصل الاتصال عن الروبوت وأدِّ أي تنظيف ضروري.

إعداد

< >

( )

تطبيق أي تكوين لمرة واحدة أو وقت تشغيل على الروبوت. قد يتضمن ذلك ضبط معاملات المحركات، أو أوضاع التحكم، أو الحالة الأولية.

معايرة

< >

( )

قم بضبط الروبوت إذا كان ذلك ممكنًا. وإلا، يجب أن يكون هذا الإجراء بلا تأثير.

يجب أن تجمع هذه الطريقة أي بيانات ضرورية (مثل إزاحات المحركات) وتحديث قاموس :pyattr:calibration وفقاً لذلك.

get_observation

< >

( ) → RobotObservation

يعيد

RobotObservation

قاموس مسطّح يمثل الحالة الحسية الحالية للروبوت. يجب أن يتطابق هيكله مع :pymeth:observation_features.

استرجع الملاحظة الحالية من الروبوت.

send_action

< >

( action: dict ) → RobotAction

المعاملات

  • action (RobotAction) — قاموس يمثل الإجراء المطلوب. يجب أن يتطابق هيكله مع :pymeth:action_features.

يعيد

RobotAction

الإجراء الذي يُرسل فعليًا إلى المحركات، وقد يُقتطع أو يُعدَّل، على سبيل المثال، بواسطة حدود الأمان على السرعة.

أرسل أمر إجراء إلى الروبوت.

observation_features

< >

( )

قاموس يصف بنية وملاحظات الروبوت وأنواعها. يجب أن تتطابق بنيته (المفاتيح) مع بنية ما يُعاد بواسطة :pymeth:get_observation. يجب أن تكون قيم القاموس إما:

  • نوع القيمة إذا كانت قيمة بسيطة، مثل float لقيمة حسية ذاتية مفردة (موضع/سرعة مفصل)
  • مجموعة (tuple) تمثل الشكل إذا كانت القيمة من نوع المصفوفة، مثل (height, width, channel) للصور

ملاحظة: يجب أن يكون من الممكن استدعاء هذه الخاصية بغض النظر عما إذا كان الروبوت متصلاً أم لا.

action_features

< >

( )

قاموس يصف بنية وأنواع الإجراءات المتوقعة من الروبوت. يجب أن تتطابق بنيته (المفاتيح) مع بنية ما يُمرَّر إلى :pymeth:send_action. يجب أن تكون قيم القاموس هي نوع القيمة إذا كانت قيمة بسيطة، مثل float لقيمة إدراكية ذاتية مفردة (موضع/سرعة الهدف لمفصل)

ملاحظة: يجب أن يكون من الممكن استدعاء هذه الخاصية بغض النظر عما إذا كان الروبوت متصلاً أم لا.

is_connected

< >

( )

ما إذا كان الروبوت متصلاً حاليًا أم لا. إذا كان False، فيجب أن يثير استدعاء :pymeth:get_observation أو :pymeth:send_action خطأً.

is_calibrated

< >

( )

ما إذا كان الروبوت مُعايَراً حاليًا أم لا. يجب أن يكون دائمًا True إذا لم ينطبق

RobotConfig

فئة lerobot.robots.RobotConfig

< >

( id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

make_robot_from_config

lerobot.robots.make_robot_from_config

< >

( config: RobotConfig )

متابعو SO-100 وSO-101

SO100Follower وSO101Follower هما مستعاران لنفس فئة SOFollower؛ حيث تختلف الذراعان في تكوينهما وليس في كود التحكم بهما. وبالمثل، SO100FollowerConfig وSO101FollowerConfig مستعاران لفئة SOFollowerRobotConfig.

فئة lerobot.robots.so_follower.SOFollower

< >

( config: SOFollowerRobotConfig )

قاعدة متتبعة عامة لـ SO تنفّذ الوظائف المشتركة لـ SO-100/101/10X. صُمّمت لتكون فئة فرعية مع config_class وname لكل نموذج من نماذج العتاد.

اتصال

< >

( calibrate: bool = True )

نفترض أنه عند وقت الاتصال، يكون الذراع في وضع السكون، ويمكن تعطيل العزم بأمان لإجراء المعايرة.

send_action

< >

( action: dict ) → RobotAction

يعيد

RobotAction

الإجراء المُرسَل إلى المحركات، وقد يكون مقصوصًا.

يرفع

RobotDeviceNotConnectedError

  • RobotDeviceNotConnectedError — إذا لم يكن الروبوت متصلاً.

أمر الذراع بالانتقال إلى تكوين مفصلي مستهدف.

قد يتم اقتطاع مقدار الإجراء النسبي اعتمادًا على معامل الإعداد max_relative_target. في هذه الحالة، يختلف الإجراء المُرسَل عن الإجراء الأصلي. لذلك، تُرجع هذه الدالة دائمًا الإجراء المُرسَل فعليًا.

فئة lerobot.robots.so_follower.SOFollowerRobotConfig

< >

( port: strdisable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>use_degrees: bool = Trueposition_p_coefficient: int = 16position_i_coefficient: int = 0position_d_coefficient: int = 32num_read_retries: int = 2id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

BiSOFollower

متابعان لـ SO يعملان كروبوت ثنائي اليد واحد.

فئة lerobot.robots.bi_so_follower.BiSOFollower

< >

( config: BiSOFollowerConfig )

ذراعان متتبعان ثنائيتا اليد من تصميم TheRobotStudio

فئة lerobot.robots.bi_so_follower.BiSOFollowerConfig

< >

( left_arm_config: SOFollowerConfigright_arm_config: SOFollowerConfigcameras: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

فئة التهيئة لروبوتات Bi SO Follower.

KochFollower

فئة lerobot.robots.koch_follower.KochFollower

< >

( config: KochFollowerConfig )

  • Koch v1.0، مع توسيع من المعصم إلى المرفق وبدونه، طوّره ألكسندر كوخ من Tau Robotics
  • Koch v1.1 الذي طوّره جيس موس

اتصال

< >

( calibrate: bool = True )

نفترض أنه عند وقت الاتصال، يكون الذراع في وضع السكون، ويمكن تعطيل العزم بأمان لإجراء المعايرة.

send_action

< >

( action: dict ) → RobotAction

المعاملات

  • action (RobotAction) — مواضع الهدف للمحركات.

يعيد

RobotAction

الإجراء المُرسَل إلى المحركات، وقد يكون مقصوصًا.

أمر الذراع بالانتقال إلى تكوين مفصلي مستهدف.

قد يتم اقتطاع مقدار الإجراء النسبي اعتمادًا على معامل الإعداد max_relative_target. في هذه الحالة، يختلف الإجراء المُرسَل عن الإجراء الأصلي. لذلك، تُرجع هذه الدالة دائمًا الإجراء المُرسَل فعليًا.

فئة lerobot.robots.koch_follower.KochFollowerConfig

< >

( port: strdisable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>use_degrees: bool = Falseid: str | None = Nonecalibration_dir: pathlib.Path | None = None )

LeKiwi

يعمل LeKiwi على الروبوت نفسه. أما LeKiwiClient فهو وكيل على جانب المضيف يتواصل معه عبر الشبكة ويعرض نفس واجهة Robot.

class lerobot.robots.lekiwi.LeKiwi

< >

( config: LeKiwiConfig )

يتضمن الروبوت قاعدة متحركة بثلاث عجلات أومني وذراع متتبعة عن بُعد. تُوصَل الذراع القائدة محليًا (على الحاسوب المحمول) وتُسجَّل مواضع مفاصلها ثم تُرسل إلى الذراع المتتبعة عن بُعد (بعد تطبيق قيد أمان). بالتوازي، يُستخدم التشغيل عن بُعد عبر لوحة المفاتيح لتوليد أوامر سرعة خام للعجلات.

send_action

< >

( action: dict ) → RobotAction

يعيد

RobotAction

الإجراء المُرسَل إلى المحركات، وقد يكون مقصوصًا.

يرفع

RobotDeviceNotConnectedError

  • RobotDeviceNotConnectedError — إذا لم يكن الروبوت متصلاً.

أمر lekiwi بالانتقال إلى تكوين مفصلي مستهدف.

قد يتم اقتطاع مقدار الإجراء النسبي اعتمادًا على معامل الإعداد max_relative_target. في هذه الحالة، يختلف الإجراء المُرسَل عن الإجراء الأصلي. لذلك، تُرجع هذه الدالة دائمًا الإجراء المُرسَل فعليًا.

فئة lerobot.robots.lekiwi.LeKiwiConfig

< >

( port: str = '/dev/ttyACM0'disable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>use_degrees: bool = Truenum_read_retries: int = 2id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

class lerobot.robots.lekiwi.LeKiwiClient

< >

( config: LeKiwiClientConfig )

اتصال

< >

( )

ينشئ مقابس ZMQ مع الروبوت المحمول عن بُعد

قطع الاتصال

< >

( )

تنظيف اتصالات ZMQ

get_observation

< >

( )

التقاط الملاحظات من الروبوت عن بُعد: مواضع ذراع المتتبّع الحالية، سرعات العجلات الحالية (المحوّلة إلى سرعات إطار الجسم: x، y، theta)، وإطار الكاميرا. يستقبل عبر ZMQ، ويحوّل إلى سرعات

send_action

< >

( action: dict ) → np.ndarray

المعاملات

  • action (RobotAction) — مصفوفة تحتوي على المواقع المستهدفة للمحركات.

يعيد

np.ndarray

الإجراء المُرسَل إلى المحركات، وقد يكون مقصوصًا.

يرفع

RobotDeviceNotConnectedError

  • RobotDeviceNotConnectedError — إذا لم يكن الروبوت متصلاً.

أمر lekiwi بالانتقال إلى تكوين مفصلي مستهدف. يترجم إلى فضاء المحركات + يرسل عبر ZMQ

فئة lerobot.robots.lekiwi.LeKiwiClientConfig

< >

( remote_ip: strport_zmq_cmd: int = 5555port_zmq_observations: int = 5556teleop_keys: dict = <factory>cameras: dict = <factory>polling_timeout_ms: int = 15connect_timeout_s: int = 5id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

OpenArmFollower

فئة lerobot.robots.openarm_follower.OpenArmFollower

< >

( config: OpenArmFollowerConfig )

روبوت OpenArms Follower الذي يستخدم اتصال حافلة CAN للتحكم في ذراع بـ 7 درجات حرية مزودة بمقبض. تستخدم الذراع محركات Damiao في وضع التحكم MIT.

معايرة

< >

( )

قم بإجراء عملية المعايرة لروبوت OpenArms.

إجراء المعايرة:

  1. تعطيل العزم
  2. اطلب من المستخدم وضع الذراعين في وضع التعليق مع إغلاق الممسكات
  3. اضبط هذا كموضع الصفر
  4. تسجيل مدى الحركة لكل مفصل
  5. حفظ المعايرة

إعداد

< >

( )

قم بإعداد المحركات بالإعدادات المناسبة.

اتصال

< >

( calibrate: bool = True )

اتصل بالروبوت وقم بالمعايرة اختيارياً.

نفترض أنه عند وقت الاتصال، تكون الأذرع في وضع راحة آمن، ويمكن تعطيل العزم بأمان لتشغيل المعايرة إذا لزم الأمر.

قطع الاتصال

< >

( )

فصل الاتصال عن الروبوت.

get_observation

< >

( )

احصل على الملاحظة الحالية من الروبوت بما في ذلك الموضع والسرعة والعزم.

يقوم بقراءة جميع حالات المحركات (الموضع/السرعة/العزم) في دورة تحديث CAN واحدة بدلاً من ثلاث قراءات منفصلة.

send_action

< >

( action: dictcustom_kp: dict[str, float] | None = Nonecustom_kd: dict[str, float] | None = None )

المعاملات

  • action — قاموس بمواقع المحركات (مثل “joint_1.pos” و “joint_2.pos”)
  • custom_kp — مكاسب kp مخصصة اختيارية لكل محرك (مثلًا: {“joint_1”: 120.0, “joint_2”: 150.0})
  • custom_kd — مكاسب kd مخصصة اختيارية لكل محرك (مثلًا: {“joint_1”: 1.5, “joint_2”: 2.0})

إرسال أمر إجراء إلى الروبوت.

قد يتم اقتطاع حجم الإجراء بناءً على حدود الأمان.

فئة lerobot.robots.openarm_follower.OpenArmFollowerConfig

< >

( port: strside: str | None = Nonecan_interface: str = 'socketcan'use_can_fd: bool = Truecan_bitrate: int = 1000000can_data_bitrate: int = 5000000disable_torque_on_disconnect: bool = Trueuse_velocity_and_torque: bool = Falsemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>motor_config: dict = <factory>position_kp: list = <factory>position_kd: list = <factory>joint_limits: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

BiOpenArmFollower

فئة lerobot.robots.bi_openarm_follower.BiOpenArmFollower

< >

( config: BiOpenArmFollowerConfig )

ذراع المتابعة ليدوي OpenArm

فئة lerobot.robots.bi_openarm_follower.BiOpenArmFollowerConfig

< >

( id: str | None = 'bi_openarm_follower'calibration_dir: pathlib.Path | None = Noneleft_arm_config: OpenArmFollowerConfigBaseright_arm_config: OpenArmFollowerConfigBasecameras: dict = <factory> )

فئة التهيئة لروبوتات Bi OpenArm Follower.

OmxFollower

فئة lerobot.robots.omx_follower.OmxFollower

< >

( config: OmxFollowerConfig )

  • OMX، توسعة، طوّرها Woojin Wie و Junha Cha من ROBOTIS

اتصال

< >

( calibrate: bool = True )

بالنسبة لروبوتات OMX التي تأتي مُعايرة مسبقًا:

  • إذا لم تتطابق المعايرة الافتراضية من الحزمة مع المحركات، اقرأ من المحركات واحفظ
  • يتيح ذلك استخدام روبوتات مُعايرة مسبقًا دون الحاجة إلى معايرة يدوية
  • إذا لم يوجد ملف معايرة، استخدم القيم الافتراضية من المصنع (homing_offset=0, range_min=0, range_max=4095)

send_action

< >

( action: dict ) → RobotAction

المعاملات

  • action (RobotAction) — مواضع الهدف للمحركات.

يعيد

RobotAction

الإجراء المُرسَل إلى المحركات، وقد يكون مقصوصًا.

أمر الذراع بالانتقال إلى تكوين مفصلي مستهدف.

قد يتم اقتطاع مقدار الإجراء النسبي اعتمادًا على معامل الإعداد max_relative_target. في هذه الحالة، يختلف الإجراء المُرسَل عن الإجراء الأصلي. لذلك، تُرجع هذه الدالة دائمًا الإجراء المُرسَل فعليًا.

فئة lerobot.robots.omx_follower.OmxFollowerConfig

< >

( port: strdisable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>use_degrees: bool = Falseid: str | None = Nonecalibration_dir: pathlib.Path | None = None )

Reachy2Robot

فئة lerobot.robots.reachy2.Reachy2Robot

< >

( config: Reachy2RobotConfig )

Reachy 2 من Pollen Robotics.

فئة lerobot.robots.reachy2.Reachy2RobotConfig

< >

( max_relative_target: float | None = Noneip_address: str | None = 'localhost'port: int = 50065disable_torque_on_disconnect: bool = Falseuse_external_commands: bool = Falsewith_mobile_base: bool = Truewith_l_arm: bool = Truewith_r_arm: bool = Truewith_neck: bool = Truewith_antennas: bool = Truewith_left_teleop_camera: bool = Falsewith_right_teleop_camera: bool = Falsewith_torso_camera: bool = Falsecamera_width: int = 640camera_height: int = 480cameras: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

UnitreeG1

فئة lerobot.robots.unitree_g1.UnitreeG1

< >

( config: UnitreeG1Config )

فئة lerobot.robots.unitree_g1.UnitreeG1Config

< >

( kp: list[float] | None = Nonekd: list[float] | None = Nonedefault_positions: list = <factory>control_dt: float = 0.004is_simulation: bool = Trueend_effector: G1EndEffector = <G1EndEffector.DEX1: 'dex1'>sim_publish_images: bool = Truesim_camera_port: int = 5555sim_onscreen: bool | None = Nonerobot_ip: str = '192.168.123.164'cameras: dict = <factory>gravity_compensation: bool = Falsecontroller: str | None = Noneembodiment: str = 'g1_29'id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

Hope Jr

يُعرض الروبوت humanoid Hope Jr كروبوتين مستقلين، هما ذراع ويد.

class lerobot.robots.hope_jr.HopeJrArm

< >

( config: HopeJrArmConfig )

اتصال

< >

( calibrate: bool = True )

نفترض أنه عند وقت الاتصال، يكون الذراع في وضع السكون، ويمكن تعطيل العزم بأمان لإجراء المعايرة.

فئة lerobot.robots.hope_jr.HopeJrArmConfig

< >

( port: strdisable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

class lerobot.robots.hope_jr.HopeJrHand

< >

( config: HopeJrHandConfig )

فئة lerobot.robots.hope_jr.HopeJrHandConfig

< >

( port: strside: strdisable_torque_on_disconnect: bool = Truecameras: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

RebotB601Follower

class lerobot.robots.rebot_b601_follower.RebotB601Follower

< >

( config: RebotB601FollowerRobotConfig )

ذراع المتتبع reBot B601 من Seeed Studio (6 درجات حرية + ملقط، محركات CAN).

يتم التعامل مع اتصال المحركات بواسطة حزمة motorbridge عبر ناقل CAN، والذي يمكن الوصول إليه إما عبر جسر Damiao التسلسلي أو عبر نقل CAN الأصلي الخاص بـ MotorBridge.

إعداد

< >

( )

اضبط وضع التحكم لكل محرك قبل تفعيل العزم.

disable_torque

< >

( )

تعطيل عزم المحرك حتى يمكن تحريك الذراع يدويًا (تصحيح أخطاء للقراءة فقط).

قطع الاتصال

< >

( )

افصل المحركات والكاميرات عن الروبوت.

send_action

< >

( action: dict )

أمر الذراع بالانتقال إلى تكوين مفصلي مستهدف.

تُعبَّر المواضع بالدرجات. قد يتم اقتطاع مقدار الإجراء النسبي اعتمادًا على max_relative_target، لذا يُعاد دائمًا الإجراء المُرسَل فعليًا.

فئة lerobot.robots.rebot_b601_follower.RebotB601FollowerRobotConfig

< >

( port: strmotor_family: MotorFamily = <MotorFamily.DM: 'dm'>can_adapter: str | None = Nonedm_serial_baud: int = 921600disable_torque_on_disconnect: bool = Truemax_relative_target: float | dict[str, float] | None = Nonecameras: dict = <factory>motor_can_ids: dict[str, tuple[int, int]] | None = Nonecontrol_mode: ArmControlMode = <ArmControlMode.MIT: 'mit'>gripper_control_mode: lerobot.robots.rebot_b601_follower.motor_family.GripperControlMode | None = Nonemit_kp: float | dict[str, float] | None = Nonemit_kd: float | dict[str, float] | None = Nonepos_vel_velocity: float | dict[str, float] | None = Nonegripper_torque_ratio: float | None = Nonegripper_torque_limit: float | None = Nonegripper_hold_torque_limit: float | None = Nonejoint_limits: dict[str, tuple[float, float]] | None = Noneid: str | None = Nonecalibration_dir: pathlib.Path | None = None )

إعداد مسجّل لروبوت المتبوع reBot B601.

BiRebotB601Follower

class lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower

< >

( config: BiRebotB601FollowerConfig )

متتبع ثنائي اليد من Seeed Studio، نموذج reBot B601.

يجمع بين مثيلين من RebotB601Follower لكل ذراع على حدة. وتُضاف بادئة left_ / right_ إلى مفاتيح الملاحظة والإجراء الخاصة بكل ذراع.

فئة lerobot.robots.bi_rebot_b601_follower.BiRebotB601FollowerConfig

< >

( left_arm_config: RebotB601FollowerConfigright_arm_config: RebotB601FollowerConfigcameras: dict = <factory>id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

فئة التهيئة للروبوت المتبوع ثنائي اليد bimanual reBot B601.

EarthRoverMiniPlus

class lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus

< >

( config: EarthRoverMiniPlusConfig )

المعاملات

  • config — تكوين الروبوت
  • sdk_base_url — عنوان URL الأساسي لخادم Frodobots SDK، مأخوذ من config.sdk_url (الافتراضي: http://localhost:8000)

روبوت EarthRover Mini Plus يتم التحكم فيه عبر واجهة برمجة التطبيقات HTTP الخاصة بـ Frodobots SDK.

يستخدم هذا الروبوت التحكم السحابي عبر Frodobots SDK بدلاً من الاتصال المباشر بالأجهزة. تُبث الكاميرات عبر WebRTC من خلال سحابة Agora، وتُرسل أوامر التحكم عبر طلبات HTTP POST.

يدعم الروبوت:

  • كاميرتان (أمامية وخلفية) يتم الوصول إليهما عبر نقاط نهاية HTTP في SDK
  • التحكم في السرعة الخطية والزاوية
  • تقنيات قياس البطارية والاتجاه

معايرة

< >

( )

لا حاجة إلى المعايرة للروبوت القائم على SDK.

إعداد

< >

( )

Configuration of the robot (no-op for SDK-based robot).

اتصال

< >

( calibrate: bool = True )

المعاملات

  • calibrate — غير مستخدم للروبوتات القائمة على SDK (مُحتفظ به من أجل توافق واجهة برمجة التطبيقات)

يرفع

DeviceAlreadyConnectedError أو DeviceNotConnectedError

  • DeviceAlreadyConnectedError — إذا كان الروبوت متصلاً بالفعل
  • DeviceNotConnectedError — إذا تعذّر الاتصال بخادم SDK

الاتصال بالروبوت عبر Frodobots SDK.

قطع الاتصال

< >

( )

يرفع

DeviceNotConnectedError

  • DeviceNotConnectedError — إذا لم يكن الروبوت متصلاً

فصل الاتصال عن الروبوت.

يوقف الروبوت ويغلق الاتصال بـ SDK.

get_observation

< >

( ) → RobotObservation

يعيد

RobotObservation

ملاحظة تحتوي على:

  • front: صورة الكاميرا الأمامية (480، 640، 3) بتنسيق RGB
  • rear: صورة الكاميرا الخلفية (480، 640، 3) بتنسيق RGB
  • speed: float - السرعة الحالية (قيمة SDK الخام)
  • battery_level: float - مستوى البطارية (0-100)
  • orientation: float - اتجاه الروبوت بالدرجات
  • gps_latitude: float - إحداثي خط العرض بنظام تحديد المواقع العالمي (GPS)
  • gps_longitude: float - إحداثي خط الطول بنظام تحديد المواقع العالمي (GPS)
  • gps_signal: float - قوة إشارة GPS (نسبة مئوية)
  • signal_level: float - مستوى إشارة الشبكة (0-5)
  • vibration: float - قراءة مستشعر الاهتزاز
  • lamp: float - حالة المصباح (0=إيقاف، 1=تشغيل)
  • accelerometer_x/y/z: float - محاور مقياس التسارع (قيمة SDK الخام)
  • gyroscope_x/y/z: float - محاور الجيروسكوب (قيمة SDK الخام)
  • magnetometer_filtered_x/y/z: float - محاور مقياس المغناطيسية (قيمة SDK الخام)
  • wheel_rpm_0/1/2/3: float - دورات العجلة

يرفع

DeviceNotConnectedError

  • DeviceNotConnectedError — إذا لم يكن الروبوت متصلاً

احصل على ملاحظة الروبوت الحالية من SDK.

تُسترجع إطارات الكاميرا من نقاط نهاية SDK /v2/front و/v2/rear. تُفكّك الإطارات من ترميز base64 وتُحوَّل من صيغة BGR إلى صيغة RGB. تُسترجع بيانات التيليمتري الخاصة بالروبوت من نقطة النهاية /data. تحتوي مصفوفات المستشعرات (المقاييس التسارعية، والجيروسكوبات، والمقاييس المغناطيسية، ومعدلات الدوران) كلٌّ منها على إدخالات على شكل [values…, timestamp]؛ ويُستخدم آخر قراءة من كل مصفوفة.

ملاحظة: تُسترجع إطارات الكاميرا من نقاط نهاية SDK /v2/front و/v2/rear. تُفكّك الإطارات من base64 وتُحوَّل من صيغة BGR إلى صيغة RGB. تُسترجع بيانات التلغرافيا (Telemetry) للروبوت من نقطة النهاية /data. تُطبَّع جميع قيم SDK إلى النطاقات المناسبة لتسجيل مجموعة البيانات.

send_action

< >

( action: dict ) → RobotAction

المعاملات

  • action — قائمة (dict) للإجراء تحتوي على المفاتيح التالية:
    • linear_velocity: السرعة الخطية المستهدفة (من -1 إلى 1)
    • angular_velocity: السرعة الزاوية المستهدفة (من -1 إلى 1)

يعيد

RobotAction

الإجراء الذي تم إرساله (يطابق مفاتيح action_features)

يرفع

DeviceNotConnectedError

  • DeviceNotConnectedError — إذا لم يكن الروبوت متصلاً

إرسال الإجراء إلى الروبوت عبر SDK.

ملاحظة: تُرسل الإجراءات إلى SDK عبر نقطة النهاية POST /control. يتوقع SDK أوامر ضمن النطاق [-1, 1].

فئة lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlusConfig

< >

( sdk_url: str = 'http://localhost:8000'id: str | None = Nonecalibration_dir: pathlib.Path | None = None )

المعاملات

  • sdk_url — عنوان URL لخادم Frodobots SDK (الافتراضي: http://localhost:8000)

إعدادات روبوت EarthRover Mini Plus باستخدام Frodobots SDK.

يستخدم هذا الروبوت التحكم عبر السحابة من خلال واجهة برمجة التطبيقات HTTP الخاصة بـ Frodobots SDK. يتم الوصول إلى إطارات الكاميرا مباشرةً من خلال نقاط النهاية HTTP الخاصة بـ SDK.

Update on GitHub