SPACE Simulator is a pygame-based application for simulating decentralized agent behavior using behavior trees. By integrating your custom decision-making algorithms as plugins, SPACE enables rigorous testing and comparative analysis against pre-existing algorithms.
The official documentation of the SPACE simulator is available at http://space-simulator.rtfd.io/.
- Example: (Left)
num_agents = 100,num_tasks = 300; (Right)num_agents = 1000,num_tasks = 3000
- Example: (Left)
GRAPE; (Right)CBBA; (Common)num_agents = 30,num_tasks = 200 (static); 50 x 3 times (dynamic)
- Simulates multiple agents performing tasks
- Agents use behavior trees for decision-making
- Real-time task assignment and execution
- Debug mode for visualizing agent behavior
-
Clone the repository:
git clone https://github.com/inmo-jang/space-simulator.git cd space-simulator -
Install the required dependencies:
pip install -r requirements.txt
-
Run the simulator:
python main.py
Modify the config.yaml file to adjust simulation parameters:
- Number of agents and tasks
- Screen dimensions
- Agent behavior parameters
Refer to the configuration guide CONFIG_GUIDE.md
ESCorQ: Quit the simulationP: Pause/unpause the simulationR: Start/stop recording the simulation as a GIF file
-
Set
mc_runner.yamlfor your purpose and run the following:python mc_runner.py
-
Set
mc_comparison.yamland run the following:python mc_analyzer.py
main.py: Entry point of the simulation, initializes pygame and manages the main game loop./modules/agent.py: Defines the Agent class and manages agent behavior.task.py: Defines the Task class and manages task behavior.behavior_tree.py: Implements behavior tree nodes and execution logic.utils.py: Utility functions and configuration loading.
/plugins/my_decision_making_plugin.py: Template for decision-making algorithms for each agent.
Feel free to fork the repository and submit pull requests. Refer to TODO.md for a list of pending tasks and upcoming features.
Please cite this work in your papers!



