Twitchy the Drawing Robot
This project started with a problem. Artists these days get paid too much and my team of MIT freshmen wanted to put them out of business by replacing them with machines. After a few brainstorming sessions, we decided on a robot that can translate in any direction with omni-directional wheels.
At first, we assumed it would be easier to use a 4 wheel design in which each wheel is orthogonal to the two adjacent wheels. We ruled this idea out after looking at a few 4 wheeled designs and found that it was difficult to get traction on all 4 wheels without some form of suspension as you only need 3 points to define a plane. This led to the final deign of 3 4" omni directional wheels from Vex Robotics attached to individual continuous servos. The parts were fit together digitally in Autodesk Fusion 360 and shaft adapters and spacers were 3D printed.
For a controller, we had 2 options: AVR based and "PI based?". We eventually decided on a Raspberry Pi Model 3 based controller for its built in 802.11n network capabilities and ease of use with external librarties. The Pi also allowed us to import polar equations for pictures from Wolfram Alpha. To translate the robots, we found a paper with equations in which we could input an angle and return a relative power for each motor. The on-board Raspberry pi ran (headlessly?) and was controlled through a separate computer with SSH capabilities.
The biggest issue with the final design stemmed from using incompatible parts. The Vex Motor controllers were designed to be used with a custom Vex board. Instead, we used the raspberry pi to simulate the outputs of the Vex board. While this was mostly successful, sometimes the motors would move slightly back and forth. For this reason, the robot was named "Twitchy".