Ant¶
This Environment is part of MaMuJoCo environments. Please read that page first for general information. The task is Gymansium’s MuJoCo/Ant.
Defaults |
|
---|---|
Agents |
|
Number of Agents |
1 |
Action Spaces |
|
Part partition |
|
Action Space¶
The shape of the action space depends on the partitioning. The partitioning has the following form:
if partitioning is None:¶
Instantiate |
|
---|---|
Agents |
|
Number of Agents |
1 |
Action Spaces |
|
Part partition |
|
If partitioning, is None then the environment contains a single agent with the same action space as Gymansium’s MuJoCo/Ant.
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and back right hip |
-1 |
1 |
hip_4 (right_back_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the back right two links |
-1 |
1 |
angle_4 (right_back_leg) |
hinge |
torque (N m) |
2 |
Torque applied on the rotor between the torso and front left hip |
-1 |
1 |
hip_1 (front_left_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the front left two links |
-1 |
1 |
angle_1 (front_left_leg) |
hinge |
torque (N m) |
4 |
Torque applied on the rotor between the torso and front right hip |
-1 |
1 |
hip_2 (front_right_leg) |
hinge |
torque (N m) |
5 |
Torque applied on the rotor between the front right two links |
-1 |
1 |
angle_2 (front_right_leg) |
hinge |
torque (N m) |
6 |
Torque applied on the rotor between the torso and back left hip |
-1 |
1 |
hip_3 (back_leg) |
hinge |
torque (N m) |
7 |
Torque applied on the rotor between the back left two links |
-1 |
1 |
angle_3 (back_leg) |
hinge |
torque (N m) |
if partitioning == “2x4”: # neighboring legs together (front and back)¶
Instantiate |
|
---|---|
Agents |
|
Number of Agents |
2 |
Action Spaces |
|
Part partition |
|
The environment is partitioned in 2 parts, the front part (containing the front legs) and the back part (containing the back legs).
Agent 0 action space (front legs)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and front left hip |
-1 |
1 |
hip_1 (front_left_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the front left two links |
-1 |
1 |
angle_1 (front_left_leg) |
hinge |
torque (N m) |
2 |
Torque applied on the rotor between the torso and front right hip |
-1 |
1 |
hip_2 (front_right_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the front right two links |
-1 |
1 |
angle_2 (front_right_leg) |
hinge |
torque (N m) |
Agent 1 action space (back legs)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and back right hip |
-1 |
1 |
hip_4 (right_back_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the back right two links |
-1 |
1 |
angle_4 (right_back_leg) |
hinge |
torque (N m) |
2 |
Torque applied on the rotor between the torso and back left hip |
-1 |
1 |
hip_3 (back_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the back left two links |
-1 |
1 |
angle_3 (back_leg) |
hinge |
torque (N m) |
if partitioning == “2x4d”: # diagonal legs together¶
Instantiate |
|
---|---|
Agents |
|
Number of Agents |
2 |
Action Spaces |
|
Part partition |
|
The environment is partitioned in 2 parts, split diagonally.
Agent 0 action space¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and front left hip |
-1 |
1 |
hip_1 (front_left_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the front left two links |
-1 |
1 |
angle_1 (front_left_leg) |
hinge |
torque (N m) |
2 |
Torque applied on the rotor between the torso and back right hip |
-1 |
1 |
hip_4 (right_back_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the back right two links |
-1 |
1 |
angle_4 (right_back_leg) |
hinge |
torque (N m) |
Agent 1 action space¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and front right hip |
-1 |
1 |
hip_2 (front_right_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the front right two links |
-1 |
1 |
angle_2 (front_right_leg) |
hinge |
torque (N m) |
2 |
Torque applied on the rotor between the torso and back left hip |
-1 |
1 |
hip_3 (back_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the back left two links |
-1 |
1 |
angle_3 (back_leg) |
hinge |
torque (N m) |
if partitioning == “4x2”:¶
Instantiate |
|
---|---|
Agents |
|
Number of Agents |
4 |
Action Spaces |
|
Part partition |
|
The environment is partitioned in 4 parts, with each part corresponding to a leg of the ant.
Agent 0 action space (front left leg)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and front left hip |
-1 |
1 |
hip_1 (front_left_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the front left two links |
-1 |
1 |
angle_1 (front_left_leg) |
hinge |
torque (N m) |
Agent 1 action space (front right leg)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and front right hip |
-1 |
1 |
hip_2 (front_right_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the front right two links |
-1 |
1 |
angle_2 (front_right_leg) |
hinge |
torque (N m) |
Agent 2 action space (right left leg)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
2 |
Torque applied on the rotor between the torso and back left hip |
-1 |
1 |
hip_3 (back_leg) |
hinge |
torque (N m) |
3 |
Torque applied on the rotor between the back left two links |
-1 |
1 |
angle_3 (back_leg) |
hinge |
torque (N m) |
Agent 3 action space (right back leg)¶
Num |
Action |
Control Min |
Control Max |
Name (in corresponding XML file) |
Joint |
Unit |
---|---|---|---|---|---|---|
0 |
Torque applied on the rotor between the torso and back right hip |
-1 |
1 |
hip_4 (right_back_leg) |
hinge |
torque (N m) |
1 |
Torque applied on the rotor between the back right two links |
-1 |
1 |
angle_4 (right_back_leg) |
hinge |
torque (N m) |
Observation Space¶
Observation Categories |
|
---|---|
Default |
|
Default |
|
Supported observation categories |
|
Besides the local observation of each agent (which depend on their parts of the agent, the observation categories and the observation depth), each agent also observes the position and velocity items of the ant’s torso. See more at the Gymnasium’s Ant.
Rewards¶
All agents receive the same Gymnasium’s Ant reward.
Starting state¶
The starting state of the environment is the same as Gymnasium’s Ant.
Episode End¶
All agent terminate and truncate at the same time given the same conditions as Gymnasium’s Ant.
Version History¶
v1:
Now based on
Gymnasium/MuJoCo-v5
instead ofGymnasium/MuJoCo-v4
(https://github.com/Farama-Foundation/Gymnasium/pull/572).Now observes
local_categories
ofcfrc_ext
by default (same asGymnasium/MuJoCo-v5/Ant
).Renamed global node
torso
→root
.
v0: Initial version release, uses Gymnasium.MuJoCo-v4, and is a fork of the original MaMuJoCo schroederdewitt/multiagent_mujoco. Changes from the original
MaMuJoCo
(schroederdewitt/multiagent_mujoco):Fixed diagonal factorization (“2x4d”) not being diagonal.
Fixed Global observations (The Ant’s Torso:
rootx
,rooty
,rootz
) not being observed.Changed action ordering to be same as Gymnasium/MuJoCo/Ant