本文簡要介紹 gynasium 中基於 mujoco 的環境搭建。參照 gynasium.envs.mujoco
。
1. gynasium.Env 簡介
在 gynasium 中,環境基類為 gynasium.Env
,其中定義了 step
, reset
, render
, close
等方法以及 action_space
, observation_space
, reward_range
, spec
, metadata
, np_random
等屬性。它們的具體含義如下:
step(elf, action: ActType) -> tuple[ObsType, SupportsFloat, bool, bool, dict[str, Any]]
該方法透過輸入一個 action
,執行一個模擬步,並返回 observation
, reward
, terminated
, truncated
, info
, done
等資訊。
reset(self, *, seed: int | None = None, options: dict[str, Any] | None = None, ) -> tuple[ObsType, dict[str, Any]]
該方法透過輸入一個 seed
,將場景中物體重置為隨機狀態,並返回 observation
, info
等資訊。
render(self) -> RenderFrame | list[RenderFrame] | None
該方法渲染場景,並返回渲染結果。
close()
關閉並清理場景。
2. mujoco_env.BaseMujocoEnv 、 mujoco.MuJocoPyEnv 以及 mujoco.MujocoEnv
在 mujoco_env.py 檔案中,首先定義了 BaseMujocoEnv
作為 mujoco 模擬環境的基類。