Several summers ago, I and two friends started work on a large, web controlled robot. I had seen people use hardware from Phidgets to control little R/C cars, but Phidgets was too expensive and didn’t give me a fine level of control. I also realized that the awesomeness of the rover varies directly with its size.
A Power Wheels car was small enough to fit in my garage and cheap enough to modify, and was a great platform with room for extensions.
The final product had two 256 bit channels for rear wheel drive, the ability to stream live video, lights, speakers and a launch tube to fire model rockets (with an encoder, so we could calculate the parabola it would take). It communicated over Wifi, and had two network cards so it could switch networks without loosing connectivity. I wanted to use a cell phone for when we couldn’t find Wifi, but we didn’t have the budget for that. Instead, you could control it with an ad-hoc network if there was no Wifi.
For software, I wrote the code that ran on the microcontroller, which sent PWM to our Sabertooth 2×25 speed controller to drive the back wheels. To actually drive the rover, I wrote a central control webpage in PHP that sent commands to the microcontroller and allowed the user to control everything on the rover as well as see diagnostic information to help with troubleshooting.
After several successful small scale tests, we went for the ultimate test: my friend went to Michigan to visit his family, and was able to drive the rover around my driveway in Florida with almost no lag.
We went through two revisions of hardware, mainly because we had a torque problem. The motors in the Power Wheels car were pretty weak, and it had trouble moving through tall grass. To fix this, we added a better speed controller and tweaked the power supply to allow more current to the motors. We would have liked to have used bigger motors, but that would have required more machining than we had the ability to do. Here’s what the electronics looked like:
That’s an arduino on top, with the sabertooth underneath. The enclosure is an old computer power supply box.
The limiting factor on this project was money, and given that, I’m pretty happy with how it turned out. We had ideas for other features to add, but the summer ended and we eventually moved on to new projects. However, if you’d like to work on something similar, you can download the source code for everything. Even if you’re not working on a web controlled robot, it demonstrates how to control an Arduino with PHP, which has a lot of other interesting applications.