-
Notifications
You must be signed in to change notification settings - Fork 2
horseplay/Antix
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
STARTING THE SIMULATION ====================================================================== SCRIPT RUN SEQUENCE ====================================================================== 1. Change directory to Controller/ 2. Fix the settings in configuration.py to the proper values. 3. Make sure you have the following files: - grid.config - drawer.config 4. See below for how to format these files. 5. Command for running everything: python controller.py SFU_USERNAME PATH_TO_ANTIX grid.config drawer.config The output for remote processes is piped to ~/antix.machine_name.out, and to ~/antix.nameX.out for local processes. 6. When you want to kill all the processes on every machine, run: python killthemall.py SFU_USERNAME Note: To see output from individual processes in your home directory (in files called antix.machine.out), you must disable stdout buffering. Add the following line to your code, somewhere near the top: setbuf(stdout, NULL); MANUAL RUN SEQUENCE ====================================================================== 1.) Clock 2.) Grid Servers 3.) ControllerClient 4.) RobotClients 5.) Drawer RUN: Clock ====================================================================== Description: The clock helps keep the simulation in sync. How to: ./clock.bin -p {{port}} -c {{# of robot clients}} -g {{# of grid servers}} Configuration file: None. RUN: Grid Servers ====================================================================== Description: The grid servers are the robot's playing field. How to: ./grid.bin -f {{config file}} -p {{port}} Configuration file: NUMBER_OF_TEAMS {{integer}} # Required: specifies the number of teams on the grid ROBOTS_PER_TEAM {{integer}} # Required: specified the number of robots per team CLOCK {{IP ADDRESS}} {{port}} NUM_CLIENTS {{integer}} # Required: specified the number of robots clients RUN: ControllerClient ====================================================================== Description: ControllerClient The ControllerClient regulates the simulation How to: ./controller.bin -f {{config file}} Configuration file: HOME_RADIUS {{float}} WORLD_SIZE {{integer}} NUM_GRIDS {{integer}} PUCK_TOTAL {{integer}} GRID {{IP Address}} {{port}} CLOCK {{IP Address}} {{port}} RUN: RobotClient ====================================================================== Description: RobotClients The RobotClients are the clients who will take part in the simulation. How to: ./robot.bin -f {{config file}} Configuration file: GRID {{ID}} {{IP ADDRESS}} {{port}} CLOCK {{IP ADDRESS}} {{port}} INIT_GRID {{ID}} # will request a team from this grid RUN: Drawer ====================================================================== Description: Drawer The Drawer is responsible for taking the information passed by the GridServers and drawing them. How to: ./drawer.bin -f {{config file}} Configuration file: WINDOW_SIZE {{integer}} WORLD_SIZE {{float}} HOME_RADIUS {{float}} ENABLE_FOV {{ 'T' or 'F' }} TOTAL_NUM_TEAMS {{integer}} TOTAL_NUM_ROBOTS {{integer}} TOTAL_NUM_PUCKS {{integer}} [ FOV_ANGLE {{float}} ] [ FOV_RANGE {{float}} ] GRID {{id}} {{IP ADDRESS}} {{port}}
About
foraging simulator
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 57.1%
- C 38.0%
- Python 4.8%
- Shell 0.1%