11.07.2015 Views

Builders guide robot pacman.pdf

Builders guide robot pacman.pdf

Builders guide robot pacman.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The measurements for the right and back are similar to that of the right and frontand so we will rely on the above two measurements to determine Pac-Man’sposition. The measurements are very crude because the non-linear signal changesvery fast for distances of Pac-Man between 2 and 3 cells away but we cangeneralize a few things about beacon sensors.• For readings from 0 V to 0.08 V on one sensor and 4.6 V on the otherthree, we will assume Pac-Man is in direct line-of-sight and is 1 or 2 cellsaway in the direction of that sensor. We will assume 2 cells away unlessthat would place it beyond the boundaries of the maze.• For readings from 0.08 V to 3.8 V on one sensor and 4.6 V on the otherthree, we will assume Pac-Man is in direct line-of-sight and is 3 cells awayin the direction of that sensor.• For readings from 3.8 V to 4.5 V on one sensor and 4.6 V on the otherthree, we will assume Pac-Man is in direct line-of-sight and is 4 cells awayin the direction of that sensor.We will discard diagonal signal readings because of the added complexity to theestimation algorithm and justify it by reasoning that because Pac-Man is almostalways constantly moving, it will cross the Ghost’s direct line-of-sight frequentlyenough for the estimation to be valid.From the estimation of Pac-Man’s position, the Ghost solves for the shortest routeto Pac-Man’s position from its own current position using an algorithm called fastflooding, based on the Micromouse Information Centre athttp://micromouse.cannock.ac.uk/maze/fastfloodsolver.htm. This algorithm marksthe target goal, in this case Pac-Man’s estimated position, with a flag, and fillsaccessible neighbours with ascending numbers until all the cells have a numberassociated with it. The Ghost then retrieves the number associated with its currentposition and moves to adjacent cells only if they have a lower number associatedwith it.The example below illustrates the algorithm. It was taken from the MicromouseInformation Centre in the above noted link. In this example, G is the destinationgoal or in our case, Pac-Man’s estimated position, and S is the starting cell or inour case, Ghost’s current position. Note how accessible adjacent neighbours arefilled with increasing numbers. From this, the <strong>robot</strong> will move to adjacent cells ofdecreasing numbers.33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!