Insights Blog
-- Browse All Articles --
Physics Articles
Physics Tutorials
Physics Guides
Physics FAQ
Math Articles
Math Tutorials
Math Guides
Math FAQ
Education Articles
Education Guides
Bio/Chem Articles
Technology Guides
Computer Science Tutorials
Forums
Chemistry
Biology and Medical
Earth Sciences
Computer Science
Computing and Technology
DIY Projects
Trending
Featured Threads
Log in
Register
What's new
Search
Search
Search titles only
By:
Chemistry
Biology and Medical
Earth Sciences
Computer Science
Computing and Technology
DIY Projects
Menu
Log in
Register
Navigation
More options
Contact us
Close Menu
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Forums
Other Sciences
Computing and Technology
Creating a Line Following Robot with Arduino and Mindstorms: A Six Sigma Project
Reply to thread
Message
[QUOTE="rcgldr, post: 5505122, member: 17595"] This was a [i]fun[/i] project in a company sponsored six sigma class (and yes, just like the Dilbert cartoon, there was a prior total quality management class, but the six sigma class had a totally different name). The mindstorm sensor includes it's own red LED emitter, which can be turned on so that external lighting variations don't throw it off and so it can be located close to a surface, such as line following. In addition to the white board, I tested various colors of electrical tape to see the midpoint and range of values returned by the sensor for each of the tapes. Since electrical tape is reflective, I also tested with friction tape which is not reflective (velcro tape would also work), in order to get the lowest (darkest) readings. For line following correction, there was a sequence of ever increasing correction, but limited to prevent over correction. Turning involved ramping down the inside motor, which included turning it off (coasting) or braking (back emf). The tighter the turn, the slower the mindstorm would move, due to higher cycling rate of correction to follow a curve. The mindstorm was programmed to follow the right edge of the following line. To prevent the mindstorm from crossing over the left edge of the tape (a failure mode), I used multiple strips to make the following line wider in the turns to give the mindstorm more room for correction. You can see that in the attached images from my prior post. The mindstorm programming is interesting in that it's parallel programming. In this case there were 4 threads. Main - monitors the sensor for black strips, shuts off tracking when black strip encountered, and determines if one or two strips are present, then either uturns and restarts tracking if one strip detected, or stops if two strips detected. Track - main tracking logic. Slowl - ramp down program for left motor. Slowr - ramp down program for right motor. The 4 threads ran in continuous loops and communication between threads used global variables. The minimal goal for the class was line following, which only requires detecting two shades of grey (the amount of led light reflected back to the sensor), and using the remote to start or stop the mindstorm. The optional goal was to add track based commands, (in my case I chose u-turn and stop), which would need three shades of grey. In order to set what was a speed record at the time, the fourth shade of grey was chosen to be mimic the reading when the sensor was centered directly over the right edge of the following line (so no turn correction), allowing for some drift on high speed straight sections with minimal correction (the coast mode on inside motor), ending up at a bit over 40 cm/s. Without this fourth shade of grey tape, the regular line following speed was slower due to the rate of cycling between left and right turn correction. Orienting the RCX brick to near vertical greatly improved yaw response time. It was tilted backwards just enough (with some margin) to prevent it from toppling over forward when braking from high speed to a complete stop, although it would straighten up enough to lift the rear wheels off the track (which looked cool). [/QUOTE]
Insert quotes…
Post reply
Forums
Other Sciences
Computing and Technology
Creating a Line Following Robot with Arduino and Mindstorms: A Six Sigma Project
Back
Top