This week, I began wrapping up my project. Only one week remains until this thing must be worthy of demonstration in front of a class full of peers, so adding new features has to be de-emphasized in favor of reinforcing stability & adding documentation to the project.
Major New Features:
- Added the ability to give a conditional statement. For now, this is limited to wall sensing. So now, “go forward until you hit a wall” is a legit command.
- Added the ability to repeat a command a specified number of times. i.e. “Turn left ninety degrees twice” or “Beep six times.”
Quality of Life Improvements:
- I reorganized quite a bit of the python code and added docstrings to all the functions.
- I added the ability to toggle voice/text input/output modes as well as debug mode. Previously, these were command-line options or hardcoded.
- Added punctuation filtering to user text input in order to avoid ugly crashes. Should be a lot more user-proof now.
- I added some more documentation to my prolog code.
- Stabilized the photo-taking code. It still crashes in IDLE, but works great via console python.
- MANY small grammar reinforcements & bug fixes.
The last major feature I hope to add is a “help” menu, which will give the user an overview of commands and some examples of usage.
In the meantime, I am beginning to brainstorm about my in-class presentation and am also working on outlining my final project paper.
Next week I will post all of the sources for the final program along with a project summary. In the meantime, here is a writeup of the full command grammar that the robot accepts: