Explanation of the code and each of the files I changed: Cube_Finder.fsm looks for cubes on either side of cozmos view. Cozmo will then turn to the cubes at +- 10 degrees Cozmo should not react to non cube objects but does get confused with objects near the edge. Cozmo will say whether he sees a cube or not and the print statements show the classification of each side of his view Cube_Plott_Finder.fsm looks for cubes on either side of cozmos view. used for testing and experimenting with different scenes plots an image of cozmos view and pauses until image window is closed stacks the right side and the left to show each sides view. seems to have issues when running with show viewer (might be just my machine) TakePictures.fsm just added ability to make a seperate test set test.py used to train the model and test the model with test sets trained with 25 epochs and 10 random crop iterations through the common data set achieved 99.6% accuracy after training and 93% on custom data set most misclassifications were from lighting issues or other objects similar to the cubes test_images(), and test_model() to test model with all images and individual instances load_model() to load weights onto the cpu cube_model.pt best trained model, tested on cpu.