From 13a95707e3b0fc88af9de58f3c2dc444e88ea434 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Thu, 3 Oct 2024 13:04:08 +0300 Subject: [PATCH 01/12] Update obsk.py --- gymnasium_robotics/envs/multiagent_mujoco/obsk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gymnasium_robotics/envs/multiagent_mujoco/obsk.py b/gymnasium_robotics/envs/multiagent_mujoco/obsk.py index 172058d0..c8c4a167 100644 --- a/gymnasium_robotics/envs/multiagent_mujoco/obsk.py +++ b/gymnasium_robotics/envs/multiagent_mujoco/obsk.py @@ -6,12 +6,12 @@ Then Modified by @Kallinteris-Andreas for this project changes: - - General code cleanup, factorization, type hinting, adding documentation and comments + - General code cleanup, factorization, type hinting, adding documentation and code comments - `build_obs`: fixed global observations, fixed body observations (cvel, cinert, cfrc_ext), how uses mujoco.data, instead of gym.env - `HalfCheetah`: fix action ordering - `Ant`: Fix global observation, fix "2x4d" factorization how having diagonal observations - `Humanoid`s: Added Body support, fixed abdomen observations, added/fixed missing global torso observations, fixed action ordering - - `Reacher`: Fixxed body mapping + - `Reacher`: Fixed body mapping - `Pusher`: Added support for `Pusher` - `Swimmer`: Added Front tip to global observations - `Walker2D`: Added missing Global Observations From 614aef420ffe9eb66c18fc75d397b4fe4757fcec Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Thu, 3 Oct 2024 13:15:03 +0300 Subject: [PATCH 02/12] Update mujoco_multi.py --- gymnasium_robotics/envs/multiagent_mujoco/mujoco_multi.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gymnasium_robotics/envs/multiagent_mujoco/mujoco_multi.py b/gymnasium_robotics/envs/multiagent_mujoco/mujoco_multi.py index 8ea964db..ac71c754 100755 --- a/gymnasium_robotics/envs/multiagent_mujoco/mujoco_multi.py +++ b/gymnasium_robotics/envs/multiagent_mujoco/mujoco_multi.py @@ -6,10 +6,9 @@ Then Modified by @Kallinteris-Andreas for this project changes: - - General code cleanup, factorization, type hinting, adding documentation and comments - - Now uses PettingZoo APIs instead of a propriatery API - - Now supports custom factorizations - - Added new functions MultiAgentMujocoEnv.map_global_action_to_local_actions, MultiAgentMujocoEnv.map_local_actions_to_global_action, MultiAgentMujocoEnv.map_global_state_to_local_observations, MultiAgentMujocoEnv.map_local_observations_to_global_state + - General code cleanup, factorization, type hinting, adding documentation and code comments. + - Now uses PettingZoo APIs instead of an original API. + - Now supports custom agent factorizations. - Added `gym_env` argument, which can be used to load third party `Gymansium.MujocoEnv` environments. This project is covered by the Apache 2.0 License. From f54771c7f50d80cdcfaa662763a031617d340a9d Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Thu, 3 Oct 2024 13:15:13 +0300 Subject: [PATCH 03/12] Update index.md --- docs/envs/MaMuJoCo/index.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 94d2b9b0..201db0c1 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -67,18 +67,33 @@ To create our '8x1' partition we will need to partition the `unpartioned_nodes`: [(hip1,), (ankle1,), (hip2,), (ankle2,), (hip3,), (ankle3,), (hip4,), (ankle4,)] ``` Finally package the partitions and create our environment: +We are using the robot model from [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot). ```python >>> my_agent_factorization = {"partition": partioned_nodes, "edges": edges, "globals": global_nodes} >>> gym_env = mamujoco_v1('Ant', '8x1', agent_factorization=my_agent_factorization) ``` + +### example 'boston dynamics spot arm', 'quadruped|arm' +```python +``` + + + ## Version History * v1: - - Now based on `Gymnasium/MuJoCo-v5` instead of `Gymnasium/MuJoCo-v4` (https://github.com/Farama-Foundation/Gymnasium/pull/572). + - Based on `Gymnasium/MuJoCo-v5` instead of `Gymnasium/MuJoCo-v4` (https://github.com/Farama-Foundation/Gymnasium/pull/572). - When `factorizatoion=None`, the `env.gent_action_partitions.dummy_node` now contains `action_id` (it used to be `None`). - Added `map_local_observations_to_global_state` & optimized runtime performance of `map_global_state_to_local_observations`. - Added `gym_env` argument which can be used to load third-party `Gymansium.MujocoEnv` environments. -* v0: Initial version release, uses [Gymnasium.MuJoCo-v4](https://gymnasium.farama.org/environments/mujoco/), and is a fork of [the original multiagent_mujuco](https://github.com/schroederdewitt/multiagent_mujoco) + - Added function `MultiAgentMujocoEnv.map_local_observations_to_global_state`. +* v0: Initial version release on gymnasium, and is a fork of [the original multiagent_mujuco](https://github.com/schroederdewitt/multiagent_mujoco), + - Based on `Gymnasium/MuJoCo-v4` instead of `Gym/MuJoCo-v2`. + - Uses PettingZoo APIs instead of an original API. + - Added support for custom agent factorizations. + - Added new functions `MultiAgentMujocoEnv.map_global_action_to_local_actions`, `MultiAgentMujocoEnv.map_local_actions_to_global_action`, `MultiAgentMujocoEnv.map_global_state_to_local_observations`. + + ```{toctree} :hidden: From 3baf02c3bbf63db9dacabf3b73ae9ac324ac5b70 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:49:01 +0300 Subject: [PATCH 04/12] Add files via upload --- .../figures/boston_dymanics_spot_arm.png | Bin 0 -> 34037 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/envs/MaMuJoCo/figures/boston_dymanics_spot_arm.png diff --git a/docs/envs/MaMuJoCo/figures/boston_dymanics_spot_arm.png b/docs/envs/MaMuJoCo/figures/boston_dymanics_spot_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..d026075094fdef7d2dfd41f995fa5e4f699fc4f8 GIT binary patch literal 34037 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 literal 0 HcmV?d00001 From 4244a0682681e15d4aa74711ccf899b1d0a7b2d9 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:13:05 +0300 Subject: [PATCH 05/12] Add files via upload --- .../MaMuJoCo/figures/boston_dymanics_spot.png | Bin 0 -> 34037 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png diff --git a/docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png b/docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png new file mode 100644 index 0000000000000000000000000000000000000000..d026075094fdef7d2dfd41f995fa5e4f699fc4f8 GIT binary patch literal 34037 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 literal 0 HcmV?d00001 From 348d1c679aa88a2d801ac1d8e45bf2efa6b778f4 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas Date: Fri, 4 Oct 2024 16:19:59 +0300 Subject: [PATCH 06/12] added bd spot arm png --- .../MaMuJoCo/figures/boston_dymanics_spot.png | Bin 34037 -> 0 bytes .../figures/boston_dymanics_spot_arm.png | Bin 34037 -> 35598 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png diff --git a/docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png b/docs/envs/MaMuJoCo/figures/boston_dymanics_spot.png deleted file mode 100644 index d026075094fdef7d2dfd41f995fa5e4f699fc4f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34037 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 diff --git a/docs/envs/MaMuJoCo/figures/boston_dymanics_spot_arm.png b/docs/envs/MaMuJoCo/figures/boston_dymanics_spot_arm.png index d026075094fdef7d2dfd41f995fa5e4f699fc4f8..179b9797fc21816f6420e2a7245634840b70c4f3 100644 GIT binary patch literal 35598 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 U!+Jz2yaw@FR92)&NYD5G06ypBQ2+n{ literal 34037 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 From 781930c9b6b2fdda36dca0a14cef9b6da97abe39 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:41:39 +0300 Subject: [PATCH 07/12] Update index.md --- docs/envs/MaMuJoCo/index.md | 98 ++++++++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 1 deletion(-) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 201db0c1..90d55e52 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -74,8 +74,104 @@ We are using the robot model from [MuJoCo Menagerie](https://github.com/google-d ``` -### example 'boston dynamics spot arm', 'quadruped|arm' +### example 'boston dynamics spot arm' with custom 'quadruped|arm' factorization +Here we are Factorizing the "[Boston Dynamics Spot with arm](https://bostondynamics.com/products/spot/arm/)" robot with the robot model from [Menagarie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot), into 1 agent for the locomoting quadruped component and 1 agent for the manipulator arm component. + +```{figure} figures/boston_dymanics_spot_arm.png + :name: +``` + ```python +from gymnasium_robotics import mamujoco_v1 +from gymnasium_robotics.envs.multiagent_mujoco.obsk import Node, HyperEdge + +freejoint = Node( + "freejoint", + None, + None, + None, + extra_obs={ + "qpos": lambda data: data.qpos[2:7], + "qvel": lambda data: data.qvel[:6], + }, +) +fl_hx = Node("fl_hx", -19, -19, 0) +fl_hy = Node("fl_hy", -18, -18, 1) +fl_kn = Node("fl_kn", -17, -17, 2) +fr_hx = Node("fr_hx", -16, -16, 3) +fr_hy = Node("fr_hy", -15, -15, 4) +fr_kn = Node("fr_kn", -14, -14, 5) +hl_hx = Node("hl_hx", -13, -13, 6) +hl_hy = Node("hl_hy", -12, -12, 7) +hl_kn = Node("hl_kn", -11, -11, 8) +hr_hx = Node("hr_hx", -10, -10, 9) +hr_hy = Node("hr_hy", -9, -9, 10) +hr_kn = Node("hr_kn", -8, -8, 11) +arm_sh0 = Node("arm_sh0", -7, -7, 12) +arm_sh1 = Node("arm_sh1", -6, -6, 13) +arm_el0 = Node("arm_el0", -5, -5, 14) +arm_el1 = Node("arm_el1", -4, -4, 15) +arm_wr0 = Node("arm_wr0", -3, -3, 16) +arm_wr1 = Node("arm_wr1", -2, -2, 17) +arm_f1x = Node("arm_f1x", -1, -1, 18) + +parts = [ + ( # Locomoting Quadruped Component + fl_hx, + fl_hy, + fl_kn, + fr_hx, + fr_hy, + fr_kn, + hl_hx, + hl_hy, + hl_kn, + hr_hx, + hr_hy, + hr_kn, + ), + ( # Arm Manipulator Component + arm_sh0, + arm_sh1, + arm_el0, + arm_el1, + arm_wr0, + arm_wr1, + arm_f1x, + ), +] + +edges = [ + HyperEdge(fl_hx, fl_hy, fl_kn), + HyperEdge(fr_hx, fr_hy, fr_kn), + HyperEdge(hl_hx, hl_hy, hl_kn), + HyperEdge(hr_hx, hr_hy, hr_kn), + HyperEdge( # Main "body" connections + fl_hx, + fl_hy, + fr_hx, + fr_hy, + hl_hx, + hl_hy, + hr_hx, + hr_hy, + arm_sh0, + arm_sh1, + ), + HyperEdge(arm_sh0, arm_sh1, arm_el0, arm_el1), + HyperEdge(arm_el0, arm_el1, arm_wr0, arm_wr1), + HyperEdge(arm_wr0, arm_wr1, arm_f1x), +] + +global_nodes = [freejoint] + +my_agent_factorization = {"partition": parts, "edges": edges, "globals": global_nodes} +env = mamujoco_v1.parallel_env( + "Ant", + "quadruped|arm", + agent_factorization=my_agent_factorization, + xml_file="./mujoco_menagerie/boston_dynamics_spot/scene_arm.xml", +) ``` From 7a156ec24279d61c6fc5af1d624e0396f6ca299f Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:42:18 +0300 Subject: [PATCH 08/12] Update index.md --- docs/envs/MaMuJoCo/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 90d55e52..77404e5a 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -78,7 +78,7 @@ We are using the robot model from [MuJoCo Menagerie](https://github.com/google-d Here we are Factorizing the "[Boston Dynamics Spot with arm](https://bostondynamics.com/products/spot/arm/)" robot with the robot model from [Menagarie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot), into 1 agent for the locomoting quadruped component and 1 agent for the manipulator arm component. ```{figure} figures/boston_dymanics_spot_arm.png - :name: + :name: Boston Dymanics Spot Arm factorization ``` ```python From 038bf575a2ca8abe6a7c63d31b04d370f3d8b489 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 17:03:05 +0300 Subject: [PATCH 09/12] Add files via upload --- docs/envs/MaMuJoCo/figures/ant_8x1.png | Bin 0 -> 30865 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/envs/MaMuJoCo/figures/ant_8x1.png diff --git a/docs/envs/MaMuJoCo/figures/ant_8x1.png b/docs/envs/MaMuJoCo/figures/ant_8x1.png new file mode 100644 index 0000000000000000000000000000000000000000..b449fc0646d132870ce365ed7a8da765f78cc71c GIT binary patch literal 30865 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 literal 0 HcmV?d00001 From d1bb663216d87c39bedd9c1005199031dc58f697 Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 17:03:45 +0300 Subject: [PATCH 10/12] Update index.md --- docs/envs/MaMuJoCo/index.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 77404e5a..48a4d0c0 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -45,10 +45,15 @@ MaMuJoCo also supports the [PettingZoo.AECAPI](https://pettingzoo.farama.org/api -## How to create new agent factorizations +## How to create new agent factorizations +MaMuJoCo-v1 not only supports the existing factorization, but also supports creating new factorizations. ### example 'Ant-v5', '8x1' In this example, we will create an agent factorization not present in Gymnasium-Robotics/MaMuJoCo the "Ant"/'8x1', where each agent controls a single joint/action (first implemented by [safe-MaMuJoCo](https://github.com/chauncygu/Safe-Multi-Agent-Mujoco)). +```{figure} figures/ant_8x1.png + :name: Ant 8 way factorization +``` + first we will load the graph of MaMuJoCo: ```python >>> from gymnasium_robotics.mamujoco_v1 import get_parts_and_edges From be084f98f89c7fca1ae2ab27794fa0386af929ed Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 17:05:30 +0300 Subject: [PATCH 11/12] Update index.md --- docs/envs/MaMuJoCo/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 48a4d0c0..17e9f7cf 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -90,6 +90,7 @@ Here we are Factorizing the "[Boston Dynamics Spot with arm](https://bostondynam from gymnasium_robotics import mamujoco_v1 from gymnasium_robotics.envs.multiagent_mujoco.obsk import Node, HyperEdge +# Define the factorization graph freejoint = Node( "freejoint", None, From eff7fdc4cd9500d095b40a33caafeb44e618a34e Mon Sep 17 00:00:00 2001 From: Kallinteris Andreas <30759571+Kallinteris-Andreas@users.noreply.github.com> Date: Fri, 4 Oct 2024 18:18:19 +0300 Subject: [PATCH 12/12] typo fix --- docs/envs/MaMuJoCo/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/envs/MaMuJoCo/index.md b/docs/envs/MaMuJoCo/index.md index 17e9f7cf..397c319c 100644 --- a/docs/envs/MaMuJoCo/index.md +++ b/docs/envs/MaMuJoCo/index.md @@ -72,7 +72,6 @@ To create our '8x1' partition we will need to partition the `unpartioned_nodes`: [(hip1,), (ankle1,), (hip2,), (ankle2,), (hip3,), (ankle3,), (hip4,), (ankle4,)] ``` Finally package the partitions and create our environment: -We are using the robot model from [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot). ```python >>> my_agent_factorization = {"partition": partioned_nodes, "edges": edges, "globals": global_nodes} >>> gym_env = mamujoco_v1('Ant', '8x1', agent_factorization=my_agent_factorization) @@ -81,6 +80,7 @@ We are using the robot model from [MuJoCo Menagerie](https://github.com/google-d ### example 'boston dynamics spot arm' with custom 'quadruped|arm' factorization Here we are Factorizing the "[Boston Dynamics Spot with arm](https://bostondynamics.com/products/spot/arm/)" robot with the robot model from [Menagarie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot), into 1 agent for the locomoting quadruped component and 1 agent for the manipulator arm component. +We are using the robot model from [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie/tree/main/boston_dynamics_spot). ```{figure} figures/boston_dymanics_spot_arm.png :name: Boston Dymanics Spot Arm factorization