schroederdewitt / multiagent_mujoco

Benchmark for Continuous Multi-Agent Robotic Control, based on OpenAI's Mujoco Gym environments.
Apache License 2.0
330 stars 34 forks source link

New scenarios/environments do not work #21

Closed Kallinteris-Andreas closed 1 year ago

Kallinteris-Andreas commented 1 year ago

The new ENVs do not work "manyagent_swimmer", "manyagent_ant", "coupled_half_cheetah"

example

$ py test.py # 'scenario': 'manyagent_swimmer'
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
[HyperEdge({rot1, rot0}), HyperEdge({rot1, rot2}), HyperEdge({rot3, rot2}), HyperEdge({rot3, rot4}), HyperEdge({rot5, rot4}), HyperEdge({rot5, rot6}), HyperEdge({rot7, rot6}), HyperEdge({rot8, rot7}), HyperEdge({rot8, rot9}), HyperEdge({rot10, rot9}), HyperEdge({rot11, rot10}), HyperEdge({rot11, rot12}), HyperEdge({rot13, rot12}), HyperEdge({rot13, rot14}), HyperEdge({rot15, rot14}), HyperEdge({rot16, rot15}), HyperEdge({rot16, rot17}), HyperEdge({rot18, rot17}), HyperEdge({rot18, rot19})]
Auto-Generating Manyagent Swimmer asset with 20 segments at /home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/assets/manyagent_swimmer_10_agents_each_2_segments.auto.xml.
Traceback (most recent call last):
  File "/home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/mujoco_multi.py", line 80, in __init__
    self.wrapped_env = NormalizedActions(gym.make(self.scenario))
  File "/home/master-andreas/.local/lib/python3.10/site-packages/gym/envs/registration.py", line 167, in make
    return registry.make(id)
  File "/home/master-andreas/.local/lib/python3.10/site-packages/gym/envs/registration.py", line 118, in make
    spec = self.spec(id)
  File "/home/master-andreas/.local/lib/python3.10/site-packages/gym/envs/registration.py", line 140, in spec
    raise error.Error('Attempted to look up malformed environment ID: {}. (Currently all IDs must be of the form {}.)'.format(id.encode('utf-8'), env_id_re.pattern))
gym.error.Error: Attempted to look up malformed environment ID: b'manyagent_swimmer'. (Currently all IDs must be of the form ^(?:[\w:-]+\/)?([\w:.-]+)-v(\d+)$.)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/master-andreas/test.py", line 48, in <module>
    main()
  File "/home/master-andreas/test.py", line 13, in main
    env = MujocoMulti(env_args=env_args)
  File "/home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/mujoco_multi.py", line 90, in __init__
    self.wrapped_env = NormalizedActions(TimeLimit(this_env(**kwargs["env_args"]), max_episode_steps=self.episode_limit))
  File "/home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/manyagent_swimmer.py", line 20, in __init__
    self._generate_asset(n_segs=n_segs, asset_path=asset_path)
  File "/home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/manyagent_swimmer.py", line 31, in _generate_asset
    with open(template_path, "r") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/master-andreas/.local/lib/python3.10/site-packages/multiagent_mujoco/assets/manyagent_swimmer.xml.template'
Kallinteris-Andreas commented 1 year ago

fixed in gymnasium-robotics