For my senior design I wanted to incorporate MEMS sensors and show off how awesome they are. The immediate project that came to mind was a segway style robot, or a quad copter. I mentioned these ideas to my mentor (Dr. Kocanda), but he suggested not to do those projects since they pop up fairly regularly. I recruited two others and we got to it!
So we tried to come up with some creative content and thought it would be a great idea to stabilize a vehicle with as few sensors as possible and incorporate a gyroscope. In the end we had two sensors: a gyroscope and a wheel encoder. We also needed the angle of the front wheels, but we assumed the steering servo would maintain whatever angle we were sending it, so that really makes it three inputs.
The control system will try to stabilize the vehicle by compensating the steering and reducing throttle. In the video below I maintained a fairly constant throttle and just occasionally made minor adjustments. My steering input is displayed, and you can see the steering output – see video intro.
The hardware we went with was the adafruit boarduino for the microcontroller, parallax gyroscope module available at radioshack, two xbees – one serving as serial/programmer and the other as a kill switch for the inevitable times when something goes wrong and it takes off uncontrollably =P We were able to wirelessly tune and graph everything in real time without a restart. We could also wirelessly (and reliably) reprogram the arduino. For the vehicle we purchased an RC drift car from hobbytown usa.
Results? Decent, not great. I think the slow analog steering servo was a problem. I also noticed that at high speeds even if the system appropriately responded, the car would still spin out. In the end it’s worth mentioning that the system is purely reactive.
We should have added a simple proactive system – have the max steering angle allowed a proportional function of speed. At high speeds the driver shouldn’t be allowed to try to turn on a dime.
The system was pretty rough, but look at the time line! Not much time to complete this project and we were all taking a full load of classes while involved in various other extracurriculars. All of the engineering senior designs do take part in a senior design competition and we did end up coming in second.
I’ll keep the blog post short, but more can be found in the reports below: