NUM_META_AGENTS
and NUM_IL_META_AGENTS
in parameters.py
NUM_RL_META_AGENTS
= NUM_META_AGENTS
- NUM_IL_META_AGENTS
)training_version
in parameters.py
python driver.py
pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None"
when running on a server.Running your code starting with xvfb-run
will solve the problem. You may refer to https://stackoverflow.com/questions/60922076/pyglet-canvas-xlib-nosuchdisplayexception-cannot-connect-to-none-only-happens and relevant issues on StackFlow for help.
In the one-shot scenario, agent will 'disappear'(i.e., removed from the env). For visualization we keep it as black. Removal of agent who has achieved its goal is necessary, since a lot of narrow corridors in the map could cause unsolvable block and collision. One-shot scenario per se is just a way to test the optimality of the planner. By contrast we do not remove any agents for any reason in continuous env.
parameters.py
- Training parameters.driver.py
- Driver of program. Holds global network for A3C.Runner.py
- Compute node for training. Maintains a single meta agent.Worker.py
- A single agent in a simulation environment. Majority of episode computation, including gradient calculation, occurs here.Ray_ACNet.py
- Defines network architecture.Env_Builder.py
- Defines the lower level structure of the Lifelong MAPF environment for PRIMAL2, including the world and agents class.PRIMAL2Env.py
- Defines the high level environment class. Map_Generator2.py
- Algorithm used to generate worlds, parameterized by world size, obstacle density and wall components.PRIMAL2Observer.py
- Defines the decentralized observation of each PRIMAL2 agent.Obsever_Builder.py
- The high level observation class