beth's summer with the distributed mentor program
home :: beth :: mentors :: paper :: presentations :: simulator :: inside :: outside :: experience

Here you will find a web version of a simulator program designed by my mentor, Jennifer Walter, and myself. The program uses the algorithms developed in our research to simulate the reconfiguration of the robotic modules from their inital state, I, to the goal state, G.


  • Begin by clicking the "show grid" button to draw the hexagonal plane of cells.
  • To create a goal configuration, you will need to select contiguous columns of cells. First, select a cell you wish to be the start of a goal column. Next, chose the cell that you wish to be the end of that column. This will cause the entire selected column to be coloured red, indicating that the column is part of the goal configuration.
  • Continue to select goal cells in this manner. Note that each goal column you create must be immediately east of the previous ones. Non-contiguous or westernly columns will result in errors.
  • After you have finished selecting goal cells, click the "goal done" button. The simulator will determine the best substrate path (coloured yellow) for your chosen goal and will line up the modules (coloured blue) accordingly. A "good" substrate path is one that is a straight as possible and bisects the goal.
  • To begin the reconfiguration of the modules, enter the number of rounds of movement you wish to watch in the field next to the "jump" button. Hit the jump button to start the movement.
  • Alternatively, you can move the modules one movement at a time by clicking the "+" box.
  • As the modules fill in the goal, they will become pink. When the entire goal is coloured pink, the reconfiguration is complete.

Click here to lauch the simulator

**NOTE: Please be aware that we are still in the process of debugging the applet version of the simulator. As a result, certain features of the program do not work. In particular, there is no way to reset the simulator after running it. Clicking on the "show grid" button a second time will result in an error. Also, the "exit" button does not work.