Skip to content

hardeep/Antix

 
 

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

No packages published