Spaco's Quest

Spaco's quest consisted of a maze game board, an EV3 two-motor robot (Spaco) and a raspberry pi four-button controller. To navigate the game board, kids used the controller to enter in a directional sequence for the EV3 robot to follow.

Final Testing:
The kids were able to play the game for the full testing period with little technical issue interruptions. However, there were some technical aspects of the project that could have been better. During testing, the EV3 to raspberry pi communication was no longer working smoothly. As soon as the issue was recognized, we used our plan b code that used a text file to give Spaco directions. We transitioned to using the other code very quickly so that the game was uninterrupted. Also, we had minor issues with Spaco occasionally straying an inch off of his assigned path.

The project was also a successful educational tool. Most of the kids were able to direct Spaco more quickly and correctly the more they played. This indicates great improvement in their directional and spacial skills.

RPi Controller:

Spaco makes use of a controller using the GoPiGo with four touch sensors connected using the GPIO pins. We also laser-cut a box to cover the wiring and buttons for the controller and labeled each for the specific motions of our robot.

Image Image

Our Code:

Our code sets up a loop that stores the sequence of motions of Spaco into an array after each button touch, running endlessly until the Go button is pressed and Spaco carries out the actions stored into the array "turns." Each button on our controller is linked to a function that has Spaco complete some action, either a right turn, and left turn, or move forward one square on or maze board. The Go button exists only to break the sequence storing loop. For each function , there are two iterations, the original that makes use of the Gyro sensor and allows for more precise movements, and the altered code, which was changed to a time dependent structure to counter the problems with inaccurate gyro sensor value communication due to the latency between the Rpi and the EV3 Brick.

Image Image Image Image Image