# مشغّلو عن بُعد

ينتج المشغّل عن بُعد إجراءات يتبعها الروبوت — ذراع قائد، أو جهاز تحكم، أو لوحة مفاتيح، أو هاتف. جميعها تنفّذ واجهة `Teleoperator`، لذا فإن سكربت التسجيل المكتوب بناءً عليها يعمل مع أي جهاز إدخال.

راجع [التشغيل عن بُعد عبر الهاتف](../phone_teleop) و [Isaac Teleop](../isaac_teleop) للحصول على أدلة الإعداد، و [التعلم بالتقليد للروبوتات](../il_robots) للحصول على سير عمل التسجيل. أما للأجهزة التي يحافظ عليها المجتمع خارج المجموعة الأساسية، فراجع [الروبوتات ومشغلات التشغيل عن بُعد من أطراف ثالثة](../third_party_robots). ولإضافة مشغل تشغيل عن بُعد خاص بك، راجع [أضف عتادك الخاص](../integrate_hardware).

## المشغّل عن بُعد[[lerobot.teleoperators.Teleoperator]]

#### lerobot.teleoperators.Teleoperator[[lerobot.teleoperators.Teleoperator]]

```python
lerobot.teleoperators.Teleoperator(config: TeleoperatorConfig)
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L32)

**المعاملات:**

config_class (RobotConfig) : فئة التهيئة المتوقعة لهذا المشغّل عن بُعد.

name (str) : الاسم الفريد المستخدم لتحديد نوع المشغّل عن بُعد هذا.

الفئة التجريدية الأساسية لجميع أجهزة التشغيل عن بُعد المتوافقة مع LeRobot.

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

#### اتصال[[lerobot.teleoperators.Teleoperator.connect]]

```python
connect(calibrate: bool = True)
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L125)

**المعاملات:**

calibrate (bool) : إذا كانت القيمة True، يتم معايرة المشغّل عن بُعد تلقائيًا بعد الاتصال إذا لم تكن قد عُوِّرت أو كانت بحاجة إلى معايرة (يعتمد ذلك على العتاد).

قم بإرساء الاتصال مع المشغّل عن بُعد.

#### قطع الاتصال[[lerobot.teleoperators.Teleoperator.disconnect]]

```python
disconnect()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L224)

افصل عن المشغّل عن بُعد وأجرِ أي تنظيف ضروري.

#### إعداد[[lerobot.teleoperators.Teleoperator.configure]]

```python
configure()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L190)

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

#### معايرة[[lerobot.teleoperators.Teleoperator.calibrate]]

```python
calibrate()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L142)

قم بضبط المشغّل عن بُعد إذا كان ذلك مطبقاً. وإلا، يجب أن يكون هذا إجراءً لا يؤثر على شيء.

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

#### get_action[[lerobot.teleoperators.Teleoperator.get_action]]

```python
get_action()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L198)

**يعيد:** `RobotAction`

قاموس مسطّح يمثل إجراءات المشغّل عن بُعد الحالية. يجب أن يتطابق هيكله مع :pymeth:`observation_features`.

استرجع الإجراء الحالي من المشغّل عن بُعد.

#### send_feedback[[lerobot.teleoperators.Teleoperator.send_feedback]]

```python
send_feedback(feedback: dict)
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L209)

**المعاملات:**

feedback (dict[str, Any]) : قاموس يمثل الملاحظات المطلوبة. يجب أن يتطابق هيكله مع :pymeth:`feedback_features`.

**يعيد:** dict[str, Any]

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

أرسل أمر إجراء ملاحظات إلى مشغّل البعيد.

#### action_features[[lerobot.teleoperators.Teleoperator.action_features]]

```python
action_features()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L90)

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

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

#### feedback_features[[lerobot.teleoperators.Teleoperator.feedback_features]]

```python
feedback_features()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L103)

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

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

#### is_connected[[lerobot.teleoperators.Teleoperator.is_connected]]

```python
is_connected()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L116)

ما إذا كان المشغّل عن بُعد متصلاً حاليًا أم لا. إذا كان `False`، فيجب أن يثير استدعاء :pymeth:`get_action` أو :pymeth:`send_feedback` خطأً.

#### is_calibrated[[lerobot.teleoperators.Teleoperator.is_calibrated]]

```python
is_calibrated()
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/teleoperator.py#L136)

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

## TeleoperatorConfig[[lerobot.teleoperators.TeleoperatorConfig]]

#### lerobot.teleoperators.TeleoperatorConfig[[lerobot.teleoperators.TeleoperatorConfig]]

```python
lerobot.teleoperators.TeleoperatorConfig(id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/config.py#L23)

## make_teleoperator_from_config[[lerobot.teleoperators.make_teleoperator_from_config]]

#### lerobot.teleoperators.make_teleoperator_from_config[[lerobot.teleoperators.make_teleoperator_from_config]]

```python
lerobot.teleoperators.make_teleoperator_from_config(config: TeleoperatorConfig)
```

[المصدر](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/teleoperators/utils.py#L36)

