Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2012/w/includes/Sanitizer.php on line 1550
Team Eight/Final Paper - Maslab 2012

Team Eight/Final Paper

From Maslab 2012
Revision as of 23:04, 4 February 2012 by Menghuaiyu (Talk | contribs)
Jump to: navigation, search

Software Design:

0) Development Cycle: Really need to coordinate with ME and EE people to start working with a prototype of a robot as soon as possible instead of hallucinating the whole architecture from the beginning. We could have won the competition if we had not wasted the first two weeks wandering around

1) Architecture: faster and faster!!! a) Vision: scipy.weave to embed c code b) Control: Arduino code to navigate with sensor information c) Logic: use pipe instead of queue for multi-process. Remember multi-thread in python is an illusion...

It took us three weeks, five versions of coding, to realize that this may be the best conmbination.

2) Test: If we had just one more day to test....

The full verison of source code is on https://github.com/Eminemya/maslab2012. Happy hacking


Stability of 5V power supply


The very first problem in our circuit manifested when we observed that the IR sensor works fine when the robot is

stationary but freaks out when the robot is running around. By observing the 5v input voltage for IR sensor with

oscilloscope, we discovered that it fluctuate as the motors are running. The supply voltage occasionally drops to

2v, which is way below the working voltage of the IR sensor.

By reading datasheets of various parts in the circuit, we found out that the voltage regulator should be collected

in parallel with capacitors at both input and output end. The capacitors effectively filtered out the high

frequency part and insured steady voltage to the IR sensor.


Motor current limits


Initially we burn out motor controller frequently. It was due to the fact that the motor draws current directly

from the motor controller, which supplied a voltage of 12v. When the robot get stuck, the effective resistance of

the motors dropped drastically, hence the current increases and burnt the motor controller. Initially, we tried to

fix this problem by adding a resistance in serial with the motor, so that the current will not get too high even if

the motor is stuck. However, this can be problematic as well. Since the ground for the robot is not perfectly flat,

it get stuck occasionally. The effective resistance of the motor drops and much less voltage is applied upon the

motors. Therefore, the torque provided by the motor is then weakened drastically and the robot can never get out of

stuck. The solution to this problem was sort of hilarious. We managed to get two motors with high static resistance

so that the current will not surge above the limit of the motor controller while stuck and yet maintain high output

torque.

Personal tools