by Henry Hsu (hmh6) and Oscar Ramirez (or16)

[Introduction]  [High Level Design]  [Program/Hardware Design]  [Results]  [Analysis]  [Parts Listing]  [Code]  [Schematics]


Sensor System - The Range Finder/Sensor System worked beautifully. However, the rotation of the sensor did not. Essentially, the motor that rotates the sensor was not powerful enough to overcome the force exerted on the sensor by the connection wires (which were pretty stiff). When the sensor has no wires attached, the system can rotate. The problem led to very limited use of the "detect left" and "detect right" function where we choose the safest path. The sensor system did work in the fact that it always cut the power when it approached an object, and then attempted to scan around (the sensor can be seen twitching to try to rotate left and right to scan), and then the motor was activated for evasive action for 2 seconds in the proper direction. If the motor to rotate the sensor worked better, then this part of the project would have worked beautifully.

Motor System - the motor system was an unexpected complication in our project. When designing our project, we focused completely on the sensor aspect of the project. It did not even occur to us that outputs from the Mega163 would not have enough current draw to activate or drive the motors. This resulted in us having an unexpected "2nd half" to our final project that we totally did not know about or plan until it was too late to order parts. Therefore, we had to construct a home made H-Bridge System (we did try to go to Radio Shack and other electronics store but these parts were unavailable). The performance of our H-Bridge is very lacking, considering the car cannot steer fully left, fully right, nor can it propel itself on its own (without a little shove). Essentially, our remote control vehicle is stationary if it's on the ground. If you lift it off the ground, then you can see the steering, and the driving, but the force of the vehicle's own weight is too much for the motor to handle.

Overall Project - unfortunately, our inability to create powerful enough motor drive limited a lot of what our project can do. The sensing using the range finder worked, and our code [theoretically] works as it should, so overall the vehicle would operate according to our original intentions if our motors were able to operate with more power. The best we can do is pick up and carry the vehicle and simulate its movement [while being able to see the direction of the wheels' turn] through a space and towards/away from objects.

One noticable problem did occur in the response to user controls. When the user input certain commands, the commands would "stick" even after the controls were released. For example, if the user pressed "reverse" on the remote, then the car would go in reverse and continue to go in reverse until "forward" was pressed, or the sensor detected a dangerous object. The same happened with the steering for left and right. Upon checking the code, we could not find any reason for this to happen, since the "still" command is set for when there is no user input. Also, there were problems with the sensor detecting the ground sometimes [which was always within 4 ft]. We raised the angle of the sensor to escape the cone of detection, but for some reason [possibly a very high resonance or noisy environment] it would still detect the ground [we know it is detecting ground because when we carry it in the air it operates successfully]. Because of this, it was constantly throwing itself into evasive mode, and user input was therefore hampered "too much" (i.e. the car would be doing "evasive action" all the time, even when it did not need to).