# Lingkungan

Lingkungan simulasi dikonfigurasi melalui `EnvConfig` dan dibangun oleh `make_env`. Setiap subkelas menyatakan `gym_kwargs` dan cara membangun lingkungan yang divektorisasi.

Lihat [Lingkungan dari Hub](../envhub) untuk menggunakan lingkungan yang dipublikasikan dan [Menambahkan Benchmark Baru](../adding_benchmarks) untuk berkontribusi.

## EnvConfig[[lerobot.envs.EnvConfig]]

#### lerobot.envs.EnvConfig[[lerobot.envs.EnvConfig]]

```python
lerobot.envs.EnvConfig(task: str | None = None, fps: int = 30, features: dict[str, PolicyFeature] = <factory>, features_map: dict[str, str] = <factory>, max_parallel_tasks: int = 1, disable_env_checker: bool = True, server: EnvClientConfig | None = None)
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L71)

#### create_env[[lerobot.envs.EnvConfig.create_env]]

```python
create_env(task_group: str | None = None, task_id: int | None = None, n_envs: int = 1, use_async_envs: bool = False)
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L127)

Buat satu env vektor lokal atau yang disajikan untuk satu tugas; tidak adanya `task_id` berarti tugas pertama dari suite.

#### create_envs[[lerobot.envs.EnvConfig.create_envs]]

```python
create_envs(n_envs: int, use_async_envs: bool = False)
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L112)

Buat env vektor lokal atau yang disajikan, sebagai `&amp;lcub;suite: &amp;lcub;task_id: env}}`.

#### get_env_processors[[lerobot.envs.EnvConfig.get_env_processors]]

```python
get_env_processors()
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L215)

Return (preprocessor, postprocessor) untuk env ini. Default: identity.

#### sim_config[[lerobot.envs.EnvConfig.sim_config]]

```python
sim_config()
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L108)

Kembalikan `sim_settings()` dengan nilai default simulasi, sebagaimana dijalankan oleh env lokal dan env server.

#### sim_settings[[lerobot.envs.EnvConfig.sim_settings]]

```python
sim_settings()
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/configs.py#L101)

Kembalikan pengaturan simulasi, seperti pada bagian `sim` dari YAML server; yang tidak ada menggunakan nilai default simulasi.

Nilai default adalah env Gymnasium `gym_id` dengan `gym_kwargs` dan delta actions; timpa jika berbeda.

## make_env[[lerobot.envs.make_env]]

#### lerobot.envs.make_env[[lerobot.envs.make_env]]

```python
lerobot.envs.make_env(cfg: EnvConfig | str, n_envs: int = 1, use_async_envs: bool = False, hub_cache_dir: str | None = None, trust_remote_code: bool = False)
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/factory.py#L65)

**Parameter:**

cfg (`EnvConfig | str`) : Konfigurasi env, atau ID repo Hugging Face Hub (mis. `"username/repo"`) yang `env.py`-nya membangun envs.

n_envs (`int`, *opsional*, defaultnya `1`) : Jumlah env di setiap vector env.

use_async_envs (`bool`, *opsional*, defaultnya `False`) : Jalankan setiap env dalam proses worker-nya sendiri.

hub_cache_dir (`str`, *opsional*) : Folder untuk meng-cache `env.py` yang diunduh. Hanya digunakan dengan ID repo.

trust_remote_code (`bool`, *opsional*, defaultnya `False`) : Persetujuan untuk menjalankan kode dari repo Hub, diperlukan untuk repo ID atau konfigurasi EnvHub.

**Mengembalikan:** `dict[str, dict[int, gym.vector.VectorEnv]]`

Env vektor, sebagai `{suite: {task_id: env}}`. Env single-task memiliki satu suite, dengan task ID 0.

**Mengangkat:** ``ValueError`` atau ``RuntimeError`` atau ``ModuleNotFoundError``

- ``ValueError`` -- Jika `n_envs` kurang dari 1.
- ``RuntimeError`` -- Jika kode repo Hub dapat berjalan tanpa `trust_remote_code`.
- ``ModuleNotFoundError`` -- Jika simulator, atau paket yang dibutuhkan oleh `env.py` repo, tidak terinstal.

Bangun env vektor dari sebuah config, atau dari `make_env` repo Hub.

## make_env_config[[lerobot.envs.make_env_config]]

#### lerobot.envs.make_env_config[[lerobot.envs.make_env_config]]

```python
lerobot.envs.make_env_config(env_type: str, **kwargs)
```

[Sumber](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/envs/factory.py#L27)

