May 22, 2011

Line Followers

So, we spend many days creating robots which followed assorted duct tape lines all over the engineering labs. We did this to learn about control theory and to become more comfortable with LabVIEW.

First Iteration: basic
For this iteration, I worked with Juliette and Bryn.

Our Code

Our Robot

Side view




Our robot in action


Our robot sensed the edges of tape in order to stay on the line. This worked pretty well. I should note that while we built the robot during class and started the coding, that my groupmates finished the coding outside of class at a time when I could not be there (I had another class). 


Second iteration: proportional controlled

I worked with Juliette for this iteration.
The inspiration for this iteration was to simultaneously make our robot go faster and follow the line more accurately. I think we accomplished both of these goals.

Our code
Our code takes in as input a value from 0 to 100 measuring light going from light to dark. Then using that input, controls the speed of the car using a little algebra: 20 +/- ((52-lightVal) * .8)
  • 52 represents the number halfway inbetween the dark tape and the light table. We found this by going up to the table and measuring it.
  • 0.8 we found by iteration. We started with it being zero, then 1, then oscillated until we found this sweet spot.
  • 20 represents the speed that each motor should go when the machine goes straight. We picked this number to be so low so that our robot would be more accurate. If we made this number higher, then there would be more movement between measurements, making our robot less precise.
A video of our robot - notice how much more efficient she moves


Here we used proportional control to get our motor to rotate exactly 90 degrees.
The different charts are using different constants,