Challenge 1
Roomba Challenge #1 is a set of "cattle chutes", i.e. a maze with 1 path and no detours. The maze is 6ft by 12ft and requires the Roomba make several turns to reach the end. The maze can be "short cut" for a faster time via some measurements and sensing. The purpose of this challenge is to test your knowledge of Roomba programming basics. This includes setting up your programming environment, connecting Roomba to said environment, and showing mastery of some basic Roomba functions.
This maze can be completed with little understanding of more complex programming structures, but a little more work goes a long way.
Implementation Challenges
Though the first maze is relatively easy compared to the other two, setting up the environment will provide that extra bit of frustration that makes it on par with the other mazes. The challenges that you will will be exposed to in this first maze are as such (maybe more?):
- Getting Roomba and your computer interacting
- Understanding how to communicate with Roomba via the Processing language, which is actually something like Java
- Developing an algorithm/solution to solve the maze
- Implementing and testing the said algorithm
- Compensating for the error introduced by controlling a physical entity through digital means
While setting up and learning how to send Roomba commands is a pretty straightforward task (the only pitfalls will be troubleshooting sitations), the task of designing a solution for the maze is a much more involved process.
- The path/world is explicit; you are doing manual path planning with complete information---how will you get the robot to follow the path you select?
- Could solve this without the use of sensors by:
- Dead reckoning
- Hard coding (bump-turn-bump-turn etc)
- Error will be introduced by the movement of the vehicle, friction, uncertainty in orientation and initial set upRoombaChallenge