Hello Eric,
First some information about myself. I am a postgrad in electrical/electronic engineering, with a lifelong passion for computing. However, I am new to contracting and eager to establish my [login to view URL], you may expect me to go the extra mile on your project.
Your project is an interesting one. Here are my initial and quite random thoughts:
1. It would be fairly simple to determine a complete path or strategy (one that covers the full area defined by the boundary devices). However, if you are looking for an optimal path that covers the area with the least distance traveled by the vacuum, then the problem becomes much harder. Perhaps a good idea for future improvement?
2. The vacuum will have to start in an initial discovery state where it executes a random walk and then proceed with a winning strategy once it has located the boundary devices. One will have to decide on a recovery strategy in case the boundary devices should be moved unexpectedly, or the vacuum is manually relocated in a real-life environment. You do not want the operator to have to reset - you want it as autonomous as possible. It should probably just re-enter the initial discovery state, but not indefinately...
3. You do not mention the vacuum's memory storage capability. Ideally the vacuum should remember enough of past locations in order to ensure it is executing the correct strategy. At least it should be able to define the boundary of the area it has already covered.