# Robotlar

LeRobot'taki her robot `Robot` arayüzünü uygular: bağlantı kurma, bir gözlem okuma, bir eylem gönderme, bağlantıyı kesme. Bu arayüze göre bir politika veya kayıt betiği yazmak, bu betiğin herhangi bir desteklenen kolla değişiklik yapılmadan çalışması anlamına gelir.

Bu sayfa üretilmiş referanstır. Kablolama, kalibrasyon ve ilk çalıştırma talimatları için donanım kılavuzlarından başlayın: [SO-101](../so101), [LeKiwi](../lekiwi), [Hope Jr](../hope_jr), [Reachy 2](../reachy2), [OpenArm](../openarm) — veya uçtan uca iş akışı için [Imitation Learning for Robots](../il_robots). Çekirdek setin dışındaki, topluluk tarafından sürdürülen robotlar için [Third-Party Robots & Teleoperators](../third_party_robots) bölümüne bakın. Kendi robotunuzu eklemek için [Bring Your Own Hardware](../integrate_hardware) bölümüne bakın.

## Robot[[lerobot.robots.Robot]]

Soyut temel sınıf. Alt sınıflar aşağıdaki her yöntemi uygular; burada açıklanan sözleşme, bir politika veya kayıt döngüsünün güvenebileceği şeydir.

#### lerobot.robots.Robot[[lerobot.robots.Robot]]

```python
lerobot.robots.Robot(config: RobotConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L33)

**Parametreler:**

config_class (RobotConfig) : Bu robot için beklenen yapılandırma sınıfı.

name (str) : Bu robot türünü tanımlamak için kullanılan benzersiz robot adı.

Tüm LeRobot uyumlu robotlar için temel soyut sınıf.

Bu sınıf, fiziksel robotlarla etkileşim için standart bir arayüz sağlar. Kullanılabilir olması için alt sınıfların tüm soyut yöntemleri ve özellikleri uygulaması gerekir.

#### bağlan[[lerobot.robots.Robot.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L131)

**Parametreler:**

calibrate (bool) : True ise, robot bağlandıktan sonra kalibre edilmemişse veya kalibrasyona ihtiyaç duyuyorsa otomatik olarak kalibre edilir (bu donanıma bağlıdır).

Robotla iletişim kurun.

#### bağlantıyı kes[[lerobot.robots.Robot.disconnect]]

```python
disconnect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L231)

Robottan bağlantıyı kesin ve gerekli temizlik işlemlerini gerçekleştirin.

#### yapılandır[[lerobot.robots.Robot.configure]]

```python
configure()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L196)

Robotun herhangi bir tek seferlik veya çalışma zamanı yapılandırmasını uygulayın. Bu, motor parametrelerini, kontrol modlarını veya başlangıç durumunu ayarlamayı içerebilir.

#### kalibre[[lerobot.robots.Robot.calibrate]]

```python
calibrate()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L148)

Uygulanabilirse robotu kalibre edin. Değilse, bu bir no-op (hiçbir şey yapmayan işlem) olmalıdır.

Bu yöntem, gerekli verileri (ör. motor ofsetleri) toplamalı ve :pyattr:`calibration` sözlüğünü buna göre güncellemelidir.

#### get_observation[[lerobot.robots.Robot.get_observation]]

```python
get_observation()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L204)

**Dönüş:** `RobotObservation`

Robotun mevcut duyusal durumunu temsil eden düz bir sözlük. Yapısı `observation_features` ile eşleşmelidir.

Robotun mevcut gözlem değerini alın.

#### send_action[[lerobot.robots.Robot.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L216)

**Parametreler:**

action (RobotAction) : İstenen eylemi temsil eden sözlük. Yapısı `action_features` ile eşleşmelidir.

**Dönüş:** `RobotAction`

Motorlara aslında gönderilen eylem, örneğin hız üzerindeki güvenlik sınırları gibi nedenlerle kırpılmış veya değiştirilmiş olabilir.

Robota bir eylem komutu gönderin.

#### observation_features[[lerobot.robots.Robot.observation_features]]

```python
observation_features()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L95)

Robotun ürettiği gözlemlerin yapısını ve türlerini açıklayan bir sözlük. Yapısı (anahtarları), :pymeth:`get_observation` tarafından döndürülen yapıyla eşleşmelidir. Sözlüğün değerleri şunlardan biri olmalıdır:
- Basit bir değer olması durumunda değerin türü, örneğin tek bir proprioseptif değer (bir eklem konumu/hızı) için `float`
- Dizgi türünde bir değer olması durumunda, örneğin görüntüler için `(height, width, channel)`, şeklini temsil eden bir demet

Not: Bu özellik, robot bağlı olsun ya da olmasın çağrılabilir olmalıdır.

#### action_features[[lerobot.robots.Robot.action_features]]

```python
action_features()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L109)

Robotun beklediği eylemlerin yapısını ve türlerini açıklayan bir sözlük. Yapısı (anahtarları), :pymeth:`send_action` fonksiyonuna iletilen veri yapısıyla eşleşmelidir. Sözlüğün değerleri, basit bir değer olması durumunda o değerin türü olmalıdır; örneğin tek bir proprioseptif değer (bir eklem için hedef konum/hız) için `float`.

Not: Bu özellik, robot bağlı olsun ya da olmasın çağrılabilir olmalıdır.

#### is_connected[[lerobot.robots.Robot.is_connected]]

```python
is_connected()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L122)

Robotun şu anda bağlı olup olmadığı. `False` ise, :pymeth:`get_observation` veya :pymeth:`send_action` çağrısı bir hata yükseltmelidir.

#### is_calibrated[[lerobot.robots.Robot.is_calibrated]]

```python
is_calibrated()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/robot.py#L142)

Robotun şu anda kalibre edilip edilmediğini belirtir. Uygulanabilir değilse her zaman `True` olmalıdır

## RobotConfig[[lerobot.robots.RobotConfig]]

#### lerobot.robots.RobotConfig[[lerobot.robots.RobotConfig]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/config.py#L23)

## make_robot_from_config[[lerobot.robots.make_robot_from_config]]

#### lerobot.robots.make_robot_from_config[[lerobot.robots.make_robot_from_config]]

```python
lerobot.robots.make_robot_from_config(config: RobotConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/utils.py#L27)

## SO-100 ve SO-101 takipçileri[[lerobot.robots.so_follower.SOFollower]]

`SO100Follower` ve `SO101Follower`, aynı `SOFollower` sınıfının takma adlarıdır; iki kol, kontrol kodlarında değil yapılandırmalarında farklılık gösterir. `SO100FollowerConfig` ve `SO101FollowerConfig` da benzer şekilde `SOFollowerRobotConfig` sınıfının takma adlarıdır.

#### lerobot.robots.so_follower.SOFollower[[lerobot.robots.so_follower.SOFollower]]

```python
lerobot.robots.so_follower.SOFollower(config: SOFollowerRobotConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/so_follower/so_follower.py#L54)

SO-100/101/10X için ortak işlevselliği uygulayan genel SO takipçi tabanı. Donanım modeli başına `config_class` ve `name` ile alt sınıflandırılmak üzere tasarlanmıştır.

#### bağlan[[lerobot.robots.so_follower.SOFollower.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/so_follower/so_follower.py#L110)

Bağlantı anında kolun dinlenme konumunda olduğunu ve kalibrasyonu çalıştırmak için torkun güvenle devre dışı bırakılabileceğini varsayıyoruz.

#### send_action[[lerobot.robots.so_follower.SOFollower.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/so_follower/so_follower.py#L187)

**Dönüş:** `RobotAction`

motorlara gönderilen, potansiyel olarak kırpılmış eylem.

**Yükselen:** ``RobotDeviceNotConnectedError``

- ``RobotDeviceNotConnectedError`` -- robot bağlı değilse.

Kolu, hedef eklem konfigürasyonuna hareket ettirmek için komut verin.

Göreli eylem büyüklüğü, `max_relative_target` yapılandırma parametresine bağlı olarak kırpılabilir. Bu durumda, gönderilen eylem orijinal eylemden farklıdır. Bu nedenle, bu fonksiyon her zaman fiilen gönderilen eylemi döndürür.

#### lerobot.robots.so_follower.SOFollowerRobotConfig[[lerobot.robots.so_follower.SOFollowerRobotConfig]]

```python
lerobot.robots.so_follower.SOFollowerRobotConfig(port: str, disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, use_degrees: bool = True, position_p_coefficient: int = 16, position_i_coefficient: int = 0, position_d_coefficient: int = 32, num_read_retries: int = 2, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/so_follower/config_so_follower.py#L59)

## BiSOFollower[[lerobot.robots.bi_so_follower.BiSOFollower]]

İki SO takipçisi, tek bir bimanuel robot olarak sürülür.

#### lerobot.robots.bi_so_follower.BiSOFollower[[lerobot.robots.bi_so_follower.BiSOFollower]]

```python
lerobot.robots.bi_so_follower.BiSOFollower(config: BiSOFollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_so_follower/bi_so_follower.py#L31)

TheRobotStudio tarafından tasarlanan [İki Ellili SO Follower Kolları](https://github.com/TheRobotStudio/SO-ARM100)

#### lerobot.robots.bi_so_follower.BiSOFollowerConfig[[lerobot.robots.bi_so_follower.BiSOFollowerConfig]]

```python
lerobot.robots.bi_so_follower.BiSOFollowerConfig(left_arm_config: SOFollowerConfig, right_arm_config: SOFollowerConfig, cameras: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_so_follower/config_bi_so_follower.py#L27)

Bi SO Follower robotları için yapılandırma sınıfı.

## KochFollower[[lerobot.robots.koch_follower.KochFollower]]

#### lerobot.robots.koch_follower.KochFollower[[lerobot.robots.koch_follower.KochFollower]]

```python
lerobot.robots.koch_follower.KochFollower(config: KochFollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/koch_follower/koch_follower.py#L33)

- [Koch v1.0](https://github.com/AlexanderKoch-Koch/low_cost_robot), bilek-dirsek genişlemesi ile ve olmadan, [Tau Robotics](https://tau-robotics.com)'ten Alexander Koch tarafından geliştirilmiştir
- Jess Moss tarafından geliştirilen [Koch v1.1](https://github.com/jess-moss/koch-v1-1)

#### bağlan[[lerobot.robots.koch_follower.KochFollower.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/koch_follower/koch_follower.py#L89)

Bağlantı anında kolun dinlenme konumunda olduğunu ve kalibrasyonu çalıştırmak için torkun güvenle devre dışı bırakılabileceğini varsayıyoruz.

#### send_action[[lerobot.robots.koch_follower.KochFollower.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/koch_follower/koch_follower.py#L176)

**Parametreler:**

action (RobotAction) : Motorlar için hedef konumlar.

**Dönüş:** `RobotAction`

Motorlara gönderilen, potansiyel olarak kırpılmış eylem.

Kolu, hedef eklem konfigürasyonuna hareket ettirmek için komut verin.

Göreli eylem büyüklüğü, `max_relative_target` yapılandırma parametresine bağlı olarak kırpılabilir. Bu durumda, gönderilen eylem orijinal eylemden farklıdır. Bu nedenle, bu fonksiyon her zaman fiilen gönderilen eylemi döndürür.

#### lerobot.robots.koch_follower.KochFollowerConfig[[lerobot.robots.koch_follower.KochFollowerConfig]]

```python
lerobot.robots.koch_follower.KochFollowerConfig(port: str, disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, use_degrees: bool = False, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/koch_follower/config_koch_follower.py#L24)

## LeKiwi[[lerobot.robots.lekiwi.LeKiwi]]

`LeKiwi` robotun kendisinde çalışır. `LeKiwiClient`, ağ üzerinden onunla iletişim kuran ve aynı `Robot` arayüzünü sunan ana bilgisayar tarafındaki vekildir.

#### lerobot.robots.lekiwi.LeKiwi[[lerobot.robots.lekiwi.LeKiwi]]

```python
lerobot.robots.lekiwi.LeKiwi(config: LeKiwiConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi.py#L36)

Robot, üç omniwheel mobil taban ve uzaktan takipçi kola sahiptir. Lider kol yerel olarak (laptop üzerinde) bağlanır ve eklem konumları kaydedilip ardından uzaktaki takipçi kola iletilir (güvenlik sınırlaması uygulandıktan sonra). Paralel olarak, tekerlekler için ham hız komutları üretmek klavye teleoperasyonu kullanılır.

#### send_action[[lerobot.robots.lekiwi.LeKiwi.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi.py#L339)

**Dönüş:** `RobotAction`

motorlara gönderilen, potansiyel olarak kırpılmış eylem.

**Yükselen:** ``RobotDeviceNotConnectedError``

- ``RobotDeviceNotConnectedError`` -- robot bağlı değilse.

lekiwi'yi hedef eklem konfigürasyonuna hareket etmesi için komut verin.

Göreli eylem büyüklüğü, `max_relative_target` yapılandırma parametresine bağlı olarak kırpılabilir. Bu durumda, gönderilen eylem orijinal eylemden farklıdır. Bu nedenle, bu fonksiyon her zaman fiilen gönderilen eylemi döndürür.

#### lerobot.robots.lekiwi.LeKiwiConfig[[lerobot.robots.lekiwi.LeKiwiConfig]]

```python
lerobot.robots.lekiwi.LeKiwiConfig(port: str = '/dev/ttyACM0', disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, use_degrees: bool = True, num_read_retries: int = 2, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/config_lekiwi.py#L47)

#### lerobot.robots.lekiwi.LeKiwiClient[[lerobot.robots.lekiwi.LeKiwiClient]]

```python
lerobot.robots.lekiwi.LeKiwiClient(config: LeKiwiClientConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi_client.py#L40)

#### bağlan[[lerobot.robots.lekiwi.LeKiwiClient.connect]]

```python
connect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi_client.py#L129)

Uzak mobil robotla ZMQ soketlerini oluşturur

#### bağlantıyı kes[[lerobot.robots.lekiwi.LeKiwiClient.disconnect]]

```python
disconnect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi_client.py#L351)

ZMQ iletişimini temizler

#### get_observation[[lerobot.robots.lekiwi.LeKiwiClient.get_observation]]

```python
get_observation()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi_client.py#L269)

Uzak robotdan gözlemleri yakalayın: mevcut takipçi kol konumları, mevcut tekerlek hızları (gövde çerçevesi hızlarına dönüştürülmüş: x, y, theta) ve bir kamera karesi. ZMQ üzerinden alır, gövde çerçevesi hızlarına çevir

#### send_action[[lerobot.robots.lekiwi.LeKiwiClient.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/lekiwi_client.py#L323)

**Parametreler:**

action (RobotAction) : motorlar için hedef konumları içeren dizi.

**Dönüş:** `np.ndarray`

motorlara gönderilen, potansiyel olarak kırpılmış eylem.

**Yükselen:** ``RobotDeviceNotConnectedError``

- ``RobotDeviceNotConnectedError`` -- robot bağlı değilse.

lekiwi'yi hedef eklem konfigürasyonuna hareket etmesi için komutlandırın. Motor uzayına çevirir + ZMQ üzerinden gönderir

#### lerobot.robots.lekiwi.LeKiwiClientConfig[[lerobot.robots.lekiwi.LeKiwiClientConfig]]

```python
lerobot.robots.lekiwi.LeKiwiClientConfig(remote_ip: str, port_zmq_cmd: int = 5555, port_zmq_observations: int = 5556, teleop_keys: dict = <factory>, cameras: dict = <factory>, polling_timeout_ms: int = 15, connect_timeout_s: int = 5, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/lekiwi/config_lekiwi.py#L87)

## OpenArmFollower[[lerobot.robots.openarm_follower.OpenArmFollower]]

#### lerobot.robots.openarm_follower.OpenArmFollower[[lerobot.robots.openarm_follower.OpenArmFollower]]

```python
lerobot.robots.openarm_follower.OpenArmFollower(config: OpenArmFollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L40)

CAN bus iletişimini kullanarak 7 DOF'lu bir kolu ve kavrayıcıyı kontrol eden OpenArms Follower Robot. Kol, MIT kontrol modunda Damiao motorlarını kullanır.

#### kalibre[[lerobot.robots.openarm_follower.OpenArmFollower.calibrate]]

```python
calibrate()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L164)

OpenArms robotu için kalibrasyon prosedürünü çalıştırın.

Kalibrasyon prosedürü:
1. Torku devre dışı bırak
2. Kullanıcıdan gripperlar kapalıyken kollarını asılı konuma getirmesini isteyin
3. Bunu sıfır konumu olarak ayarlayın
4. Her eklem için hareket aralığını kaydet
5. Kalibrasyonu kaydet

#### yapılandır[[lerobot.robots.openarm_follower.OpenArmFollower.configure]]

```python
configure()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L215)

Motorları uygun ayarlarla yapılandırın.

#### bağlan[[lerobot.robots.openarm_follower.OpenArmFollower.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L130)

Robota bağlanın ve isteğe bağlı olarak kalibrasyon yapın.

Bağlantı anında kolların güvenli bir dinlenme konumunda olduğunu ve gerekirse kalibrasyonun çalıştırılabilmesi için torkun güvenle devre dışı bırakılabileceğini varsayıyoruz.

#### bağlantıyı kes[[lerobot.robots.openarm_follower.OpenArmFollower.disconnect]]

```python
disconnect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L345)

Robotla bağlantıyı kesin.

#### get_observation[[lerobot.robots.openarm_follower.OpenArmFollower.get_observation]]

```python
get_observation()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L226)

Robotun konum, hız ve torkunu içeren mevcut gözlemi alın.

Üç ayrı okuma yerine tek bir CAN yenileme döngüsünde tüm motor durumlarını (pos/vel/torque) okur.

#### send_action[[lerobot.robots.openarm_follower.OpenArmFollower.send_action]]

```python
send_action(action: dict, custom_kp: dict[str, float] | None = None, custom_kd: dict[str, float] | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/openarm_follower.py#L266)

**Parametreler:**

action : Motor konumlarını içeren sözlük (ör. "joint_1.pos", "joint_2.pos")

custom_kp : Motor başına isteğe bağlı özel kp kazançları (ör., {"joint_1": 120.0, "joint_2": 150.0})

custom_kd : Motor başına isteğe bağlı özel kd kazançları (ör., {"joint_1": 1.5, "joint_2": 2.0})

**Dönüş:**

Gerçekte gönderilen eylem (potansiyel olarak kırpılmış)

Robota komut gönder.

Eylem büyüklüğü, güvenlik sınırlarına göre kırpılabilir.

#### lerobot.robots.openarm_follower.OpenArmFollowerConfig[[lerobot.robots.openarm_follower.OpenArmFollowerConfig]]

```python
lerobot.robots.openarm_follower.OpenArmFollowerConfig(port: str, side: str | None = None, can_interface: str = 'socketcan', use_can_fd: bool = True, can_bitrate: int = 1000000, can_data_bitrate: int = 5000000, disable_torque_on_disconnect: bool = True, use_velocity_and_torque: bool = False, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, motor_config: dict = <factory>, position_kp: list = <factory>, position_kd: list = <factory>, joint_limits: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/openarm_follower/config_openarm_follower.py#L125)

## BiOpenArmFollower[[lerobot.robots.bi_openarm_follower.BiOpenArmFollower]]

#### lerobot.robots.bi_openarm_follower.BiOpenArmFollower[[lerobot.robots.bi_openarm_follower.BiOpenArmFollower]]

```python
lerobot.robots.bi_openarm_follower.BiOpenArmFollower(config: BiOpenArmFollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_openarm_follower/bi_openarm_follower.py#L31)

Bimanual OpenArm Follower Kollar

#### lerobot.robots.bi_openarm_follower.BiOpenArmFollowerConfig[[lerobot.robots.bi_openarm_follower.BiOpenArmFollowerConfig]]

```python
lerobot.robots.bi_openarm_follower.BiOpenArmFollowerConfig(id: str | None = 'bi_openarm_follower', calibration_dir: pathlib.Path | None = None, left_arm_config: OpenArmFollowerConfigBase, right_arm_config: OpenArmFollowerConfigBase, cameras: dict = <factory>)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_openarm_follower/config_bi_openarm_follower.py#L27)

Bi OpenArm Follower robotları için yapılandırma sınıfı.

## OmxFollower[[lerobot.robots.omx_follower.OmxFollower]]

#### lerobot.robots.omx_follower.OmxFollower[[lerobot.robots.omx_follower.OmxFollower]]

```python
lerobot.robots.omx_follower.OmxFollower(config: OmxFollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/omx_follower/omx_follower.py#L33)

- [OMX](https://github.com/ROBOTIS-GIT/open_manipulator), genişletme, [ROBOTIS](https://ai.robotis.com/)'ten Woojin Wie ve Junha Cha tarafından geliştirilmiştir

#### bağlan[[lerobot.robots.omx_follower.OmxFollower.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/omx_follower/omx_follower.py#L89)

Önceden kalibre edilmiş olarak gelen OMX robotları için:
- Paketten gelen varsayılan kalibrasyon motorlarla eşleşmiyorsa, motorlardan okuyun ve kaydedin
- Bu, manuel kalibrasyon gerektirmeden önceden kalibre edilmiş robotların kullanılmasını sağlar
- Eğer bir kalibrasyon dosyası yoksa, fabrika varsayılan değerlerini kullanın (homing_offset=0, range_min=0, range_max=4095)

#### send_action[[lerobot.robots.omx_follower.OmxFollower.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/omx_follower/omx_follower.py#L190)

**Parametreler:**

action (RobotAction) : Motorlar için hedef konumlar.

**Dönüş:** `RobotAction`

Motorlara gönderilen, potansiyel olarak kırpılmış eylem.

Kolu, hedef eklem konfigürasyonuna hareket ettirmek için komut verin.

Göreli eylem büyüklüğü, `max_relative_target` yapılandırma parametresine bağlı olarak kırpılabilir. Bu durumda, gönderilen eylem orijinal eylemden farklıdır. Bu nedenle, bu fonksiyon her zaman fiilen gönderilen eylemi döndürür.

#### lerobot.robots.omx_follower.OmxFollowerConfig[[lerobot.robots.omx_follower.OmxFollowerConfig]]

```python
lerobot.robots.omx_follower.OmxFollowerConfig(port: str, disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, use_degrees: bool = False, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/omx_follower/config_omx_follower.py#L24)

## Reachy2Robot[[lerobot.robots.reachy2.Reachy2Robot]]

#### lerobot.robots.reachy2.Reachy2Robot[[lerobot.robots.reachy2.Reachy2Robot]]

```python
lerobot.robots.reachy2.Reachy2Robot(config: Reachy2RobotConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/reachy2/robot_reachy2.py#L75)

Pollen Robotics tarafından geliştirilen [Reachy 2](https://www.pollen-robotics.com/reachy/).

#### lerobot.robots.reachy2.Reachy2RobotConfig[[lerobot.robots.reachy2.Reachy2RobotConfig]]

```python
lerobot.robots.reachy2.Reachy2RobotConfig(max_relative_target: float | None = None, ip_address: str | None = 'localhost', port: int = 50065, disable_torque_on_disconnect: bool = False, use_external_commands: bool = False, with_mobile_base: bool = True, with_l_arm: bool = True, with_r_arm: bool = True, with_neck: bool = True, with_antennas: bool = True, with_left_teleop_camera: bool = False, with_right_teleop_camera: bool = False, with_torso_camera: bool = False, camera_width: int = 640, camera_height: int = 480, cameras: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/reachy2/configuration_reachy2.py#L25)

## UnitreeG1[[lerobot.robots.unitree_g1.UnitreeG1]]

#### lerobot.robots.unitree_g1.UnitreeG1[[lerobot.robots.unitree_g1.UnitreeG1]]

```python
lerobot.robots.unitree_g1.UnitreeG1(config: UnitreeG1Config)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/unitree_g1/unitree_g1.py#L155)

#### lerobot.robots.unitree_g1.UnitreeG1Config[[lerobot.robots.unitree_g1.UnitreeG1Config]]

```python
lerobot.robots.unitree_g1.UnitreeG1Config(kp: list[float] | None = None, kd: list[float] | None = None, default_positions: list = <factory>, control_dt: float = 0.004, is_simulation: bool = True, end_effector: G1EndEffector = <G1EndEffector.DEX1: 'dex1'>, sim_publish_images: bool = True, sim_camera_port: int = 5555, sim_onscreen: bool | None = None, robot_ip: str = '192.168.123.164', cameras: dict = <factory>, gravity_compensation: bool = False, controller: str | None = None, embodiment: str = 'g1_29', id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/unitree_g1/config_unitree_g1.py#L30)

## Hope Jr[[lerobot.robots.hope_jr.HopeJrArm]]

Hope Jr humanoid, iki bağımsız robot olarak, bir kol ve bir el olarak sunulur.

#### lerobot.robots.hope_jr.HopeJrArm[[lerobot.robots.hope_jr.HopeJrArm]]

```python
lerobot.robots.hope_jr.HopeJrArm(config: HopeJrArmConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/hope_jr_arm.py#L34)

#### bağlan[[lerobot.robots.hope_jr.HopeJrArm.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/hope_jr_arm.py#L88)

Bağlantı anında kolun dinlenme konumunda olduğunu ve kalibrasyonu çalıştırmak için torkun güvenle devre dışı bırakılabileceğini varsayıyoruz.

#### lerobot.robots.hope_jr.HopeJrArmConfig[[lerobot.robots.hope_jr.HopeJrArmConfig]]

```python
lerobot.robots.hope_jr.HopeJrArmConfig(port: str, disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/config_hope_jr.py#L42)

#### lerobot.robots.hope_jr.HopeJrHand[[lerobot.robots.hope_jr.HopeJrHand]]

```python
lerobot.robots.hope_jr.HopeJrHand(config: HopeJrHandConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/hope_jr_hand.py#L58)

#### lerobot.robots.hope_jr.HopeJrHandConfig[[lerobot.robots.hope_jr.HopeJrHandConfig]]

```python
lerobot.robots.hope_jr.HopeJrHandConfig(port: str, side: str, disable_torque_on_disconnect: bool = True, cameras: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/hope_jr/config_hope_jr.py#L26)

## RebotB601Follower[[lerobot.robots.rebot_b601_follower.RebotB601Follower]]

#### lerobot.robots.rebot_b601_follower.RebotB601Follower[[lerobot.robots.rebot_b601_follower.RebotB601Follower]]

```python
lerobot.robots.rebot_b601_follower.RebotB601Follower(config: RebotB601FollowerRobotConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/rebot_b601_follower.py#L62)

Seeed Studio reBot B601 takip kolu (6-DOF + kavrama, CAN motorlar).

Motor iletişimi, Damiao seri köprüsü veya MotorBridge'in yerel CAN taşıma yolu üzerinden erişilen bir CAN bus üzerinden `motorbridge` paketi tarafından yönetilir.

#### yapılandır[[lerobot.robots.rebot_b601_follower.RebotB601Follower.configure]]

```python
configure()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/rebot_b601_follower.py#L224)

Torku etkinleştirmeden önce her motorun kontrol modunu ayarlayın.

#### disable_torque[[lerobot.robots.rebot_b601_follower.RebotB601Follower.disable_torque]]

```python
disable_torque()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/rebot_b601_follower.py#L245)

Kolu elle hareket ettirebilmek için motor torkunu devre dışı bırakın (salt okunur hata ayıklama).

#### bağlantıyı kes[[lerobot.robots.rebot_b601_follower.RebotB601Follower.disconnect]]

```python
disconnect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/rebot_b601_follower.py#L444)

Motorları ve kameraları robottan ayırın.

#### send_action[[lerobot.robots.rebot_b601_follower.RebotB601Follower.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/rebot_b601_follower.py#L313)

Kolun hedef eklem konfigürasyonuna komut edin.

Konumlar derece cinsinden ifade edilir. Göreceli eylem büyüklüğü, `max_relative_target`'a bağlı olarak kırpılabilir; bu nedenle aslında gönderilen eylem her zaman döndürülür.

#### lerobot.robots.rebot_b601_follower.RebotB601FollowerRobotConfig[[lerobot.robots.rebot_b601_follower.RebotB601FollowerRobotConfig]]

```python
lerobot.robots.rebot_b601_follower.RebotB601FollowerRobotConfig(port: str, motor_family: MotorFamily = <MotorFamily.DM: 'dm'>, can_adapter: str | None = None, dm_serial_baud: int = 921600, disable_torque_on_disconnect: bool = True, max_relative_target: float | dict[str, float] | None = None, cameras: dict = <factory>, motor_can_ids: dict[str, tuple[int, int]] | None = None, control_mode: ArmControlMode = <ArmControlMode.MIT: 'mit'>, gripper_control_mode: lerobot.robots.rebot_b601_follower.motor_family.GripperControlMode | None = None, mit_kp: float | dict[str, float] | None = None, mit_kd: float | dict[str, float] | None = None, pos_vel_velocity: float | dict[str, float] | None = None, gripper_torque_ratio: float | None = None, gripper_torque_limit: float | None = None, gripper_hold_torque_limit: float | None = None, joint_limits: dict[str, tuple[float, float]] | None = None, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/rebot_b601_follower/config_rebot_b601_follower.py#L119)

reBot B601 takip robotu için kayıtlı yapılandırma.

## BiRebotB601Follower[[lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower]]

#### lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower[[lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower]]

```python
lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower(config: BiRebotB601FollowerConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_rebot_b601_follower/bi_rebot_b601_follower.py#L28)

Bimanual Seeed Studio reBot B601 takipçi.

İki tek kollu `RebotB601Follower` örneğini birleştirir. Her kolun gözlem ve eylem anahtarları `left_` / `right_` önekiyle adlandırılmıştır.

#### lerobot.robots.bi_rebot_b601_follower.BiRebotB601FollowerConfig[[lerobot.robots.bi_rebot_b601_follower.BiRebotB601FollowerConfig]]

```python
lerobot.robots.bi_rebot_b601_follower.BiRebotB601FollowerConfig(left_arm_config: RebotB601FollowerConfig, right_arm_config: RebotB601FollowerConfig, cameras: dict = <factory>, id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/bi_rebot_b601_follower/config_bi_rebot_b601_follower.py#L27)

İki kollu reBot B601 takipçi robotu için yapılandırma sınıfı.

## EarthRoverMiniPlus[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus]]

#### lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus]]

```python
lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus(config: EarthRoverMiniPlusConfig)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L73)

**Parametreler:**

config : Robot yapılandırması

sdk_base_url : Frodobots SDK sunucusunun temel URL'si, `config.sdk_url` değerinden alınır (varsayılan: http://localhost:8000)

Frodobots SDK HTTP API ile kontrol edilen EarthRover Mini Plus robotu.

Bu robot, donanıma doğrudan bağlantı yerine Frodobots SDK üzerinden bulut tabanlı kontrol kullanır. Kameralar, Agora bulutu üzerinden WebRTC ile yayın yapar ve kontrol komutları HTTP POST istekleri ile gönderilir.

Robot şu özellikleri destekler:
- SDK HTTP uç noktaları üzerinden erişilen çift kamera (ön ve arka)
- Doğrusal ve açısal hız kontrolü
- Pil ve yön telemetrisi

#### kalibre[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.calibrate]]

```python
calibrate()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L153)

SDK tabanlı robot için kalibrasyon gerekmez.

#### yapılandır[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.configure]]

```python
configure()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L166)

Robotu yapılandırın (SDK tabanlı robot için hiçbir şey yapmaz).

#### bağlan[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.connect]]

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

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L124)

**Parametreler:**

calibrate : SDK tabanlı robotlar için kullanılmaz (API uyumluluğu için korunur)

**Yükselen:** ``DeviceAlreadyConnectedError`` veya ``DeviceNotConnectedError``

- ``DeviceAlreadyConnectedError`` -- Robot zaten bağlıysa
- ``DeviceNotConnectedError`` -- SDK sunucusuna bağlanamıyorsa

Frodobots SDK ile robota bağlanın.

#### bağlantıyı kes[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.disconnect]]

```python
disconnect()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L366)

**Yükselen:** ``DeviceNotConnectedError``

- ``DeviceNotConnectedError`` -- Robot bağlı değilse

Robotla bağlantıyı kesin.

Robotu durdurur ve SDK bağlantısını kapatır.

#### get_observation[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.get_observation]]

```python
get_observation()
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L248)

**Dönüş:** `RobotObservation`

Şu gözlemi içeren:
- front: RGB formatında ön kamera görüntüsü (480, 640, 3)
- rear: Arka kamera görüntüsü (480, 640, 3) RGB biçiminde
- speed: float - Mevcut hız (ham SDK değeri)
- battery_level: float - Pil seviyesi (0-100)
- orientation: float - Derece cinsinden robot yönelimi
- gps_latitude: float - GPS enlem koordinatı
- gps_longitude: float - GPS enlem koordinatı
- gps_signal: float - GPS sinyal gücü (yüzde)
- signal_level: float - Ağı sinyal seviyesi (0-5)
- vibration: float - Titreşim sensörü okuması
- lamp: float - Lamba durumu (0=kapalı, 1=açık)
- accelerometer_x/y/z: float - İvmeölçer eksenleri (ham SDK değeri)
- gyroscope_x/y/z: float - Jiroskop eksenleri (ham SDK değeri)
- magnetometer_filtered_x/y/z: float - Magnetometre eksenleri (ham SDK değeri)
- wheel_rpm_0/1/2/3: float - Tekerlek RPM değerleri

**Yükselen:** ``DeviceNotConnectedError``

- ``DeviceNotConnectedError`` -- Robot bağlı değilse

SDK'dan güncel robot gözlem değerini alın.

Kamera kareleri SDK uç noktalarından /v2/front ve /v2/rear üzerinden alınır. Kareler base64'ten çözümlenir ve BGR'den RGB formatına dönüştürülür. Robot telemetrisi /data ucundan alınır. Sensör dizileri (accels, gyros, mags, rpms) her biri [values..., timestamp] girişleri içerir; her diziden en son okuma kullanılır.

Not: Kamera kareleri SDK uç noktalarından /v2/front ve /v2/rear üzerinden alınır. Kareler base64'ten çözümlenir ve BGR'den RGB formatına dönüştürülür. Robot telemetrisi /data uç noktasından alınır. Tüm SDK değerleri, veri seti kaydı için uygun aralıklara normalize edilir.

#### send_action[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus.send_action]]

```python
send_action(action: dict)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/robot_earthrover_mini_plus.py#L334)

**Parametreler:**

action : Anahtarları aşağıdaki şekilde olan eylem sözlüğü: - linear_velocity: Hedef doğrusal hız (-1 ile 1 arasında) - angular_velocity: Hedef açısal hız (-1 ile 1 arasında)

**Dönüş:** `RobotAction`

Gönderilen eylem (action_features anahtarlarıyla eşleşir)

**Yükselen:** ``DeviceNotConnectedError``

- ``DeviceNotConnectedError`` -- Robot bağlı değilse

SDK üzerinden eylemi robota gönderin.

Not: Eylemler, SDK'ya POST /control uç noktası üzerinden gönderilir. SDK, [-1, 1] aralığında komutlar bekler.

#### lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlusConfig[[lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlusConfig]]

```python
lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlusConfig(sdk_url: str = 'http://localhost:8000', id: str | None = None, calibration_dir: pathlib.Path | None = None)
```

[Kaynak](https://github.com/huggingface/lerobot/blob/main/src/lerobot/robots/earthrover_mini_plus/config_earthrover_mini_plus.py#L25)

**Parametreler:**

sdk_url : Frodobots SDK sunucusunun URL'si (varsayılan: http://localhost:8000)

Frodobots SDK kullanılarak EarthRover Mini Plus robotu için yapılandırma.

Bu robot, Frodobots SDK HTTP API üzerinden bulut tabanlı kontrol kullanır. Kamera kareleri, doğrudan SDK HTTP uç noktaları üzerinden erişilir.

