Sixt33n Car

Class Project

Project Background

In Fall 2016, I took the second part of Designing Information Devices and Systems, our two-part foundation series for electrical engineering. Our final project was to apply the design concepts we learned in the course to build a voice-controlled car, called the Sixt33n Car.

Circuit Design

The first stage of our design was the front-end of the circuit, in which we took in the signal from the microphone and filtered it to the proper frequency and voltage for the MSP to process. From the output of the mic board we used a low-pass filter -> buffer -> low-pass filter -> buffer -> amplifier -> op-amp that caps off within range of the MSP’s tolerance.

The next stage was the battery and voltage regulator. We ran the car off two 9V batteries, one of which powered the motors and the other which powered the voltage regulator, MSP, front-end circuit, and wheel encoders. The voltage regulator, which takes in the 9V input from the battery, lowers it to 5V before passing that value into the 5V rail that powers the front-end circuit and MSP.

The second battery powered the motors. For each motor, an NPM BJT used the current from the MSP to control the switch that let power flow to the motor, which was connected to our circuit through a diode. The diode served to protest the BJT, which is prevented from burnout with a 2kΩ resistor to soften the current. Lastly we connected wheel encoders to the MSP in order to collect data for our control schema.

Speech Processing and Classification

Since our car was voice-controlled, we had to program words as commands for the car to recognize and execute appropriately. We chose:

  • “Amy” – slow straight
  • “Wao” – fast straight
  • “PCA” – turn right
  • “Marique” – turn left

We initially used words we thought would be more fitting for each command, or words that were funny, but we realized those wouldn’t work soon after we ran our PCA classification algorithm on our samples and had nearly identical graphs and an overall random pattern in the clustering. We then decided to opt for words with distinct syllables of varying length and tried to record voice samples with as little variance in intonation and background noise as possible, which significantly improved our clustering. We also recorded a large collection of various words (~10) and swapped them out in different combinations to arrive at a 90%+ accuracy in classification.