320 likes | 521 Views
THE GEORGE WASHINGTON UNIVERSITY School of Engineering and Applied Science Department of Electrical and Computer Engineering. FINAL PRODUCT REVIEW By Syed Al Mohaymen ECE 158 Senior Computer Engineering Project April 20, 2009. Design Features.
E N D
THE GEORGE WASHINGTON UNIVERSITYSchool of Engineering and Applied ScienceDepartment of Electrical and Computer Engineering FINAL PRODUCT REVIEW By Syed Al Mohaymen ECE 158 Senior Computer Engineering Project April 20, 2009
Design Features • Robot arm capable of sorting colored blocks and placing them in color labeled bins Features include: • Servo controller • Servos • Microcontroller Operations • Blocksorting Program Algorithm
Required Components Hardware: • Servos • Microcontroller (Parallax Basic Stamp BS2P40) • PSC (Parallax Servo Controller) • Parallax BOE (Board of Education) Motherboard • Color Sensor (TAOS TCS 230)
Required Components Software: • BASIC Stamp Editor 2.4 • Parallax Servo Controller Interface (PSCI) • FTDI Driver (for USB connection establishment between the BOE Motherboard and PC)
Robot Arm MICROCONTROLLER PARALLAX SERVO CONTROLLER MOTHERBOARD COLOR SENSOR Project Overview
Microcontroller Interface with Servo Controller (Level 4) Interface to Color Sensor (Level 4) Interface to MOTHERBOARD PARALLAX BOE (Level 4) System Connections Servos
Sensor Module Reference: Internet, Datasheet Catalog, http://www.datasheetcatalog.org/datasheets2/10/103569_1.pdf
BASIC Coding There are three basic code segments (modules) shown below - • Segment A: Basic Arm Movement • Segment B: Pick Up and Place Object • Segment C: Color Sorting
Start Store arm joints segments in the form of an array in the Parallax BS2P40 EEPROM Get the program and user data from the software Wait for storage of arm joints to be placed in array. User calls each joint of the arm using IF statements and by applying bitenable = 1 Arm movement is initiated accordingly. End Process Flowchart of Segment B – Pick Up and Place Object
Start User downloads correct and debugged code to microcontroller 1st Section of Code is executed: Take action if right color is found Store Color Values into EEPRROM Red? Green? Blue? Yellow? Place colored object directly to appropriate box Execute 2nd section of code: Test for color of object. IF Red? Green? Blue? Yellow? Match color values from EEPROM Place arm and joints back to collecting position. Initiate arm joint movement Call the same procedure to place object into appropriate box IF no block? End Process SEGMENT C: COLOR SORTING
Testing Software Module: • Step 1 – Write out code for basic arm movements and arm alignment. Run the code and see if it compiles. • Step 2 – Incorporate previously written code into complex “block sorting” code. Note this is the code which controls the robot arm for the required task. Using restricted robot arm basic movements from previous code, test the code and see if it compiles.
Testing (continued) Color Sensor Module: • Step 1: Place different colored objects in front of the sensor, vary the reading distance. Use: 5 inches, 8 inches and 10 inches respectively to see if the sensor can produce accurate RGB color values. • Step 2: Use the GUI software which came with the TAOS TCS230 color sensor package to read out the appropriate color values and record it.
Quantum VGM Software Used to test color sensor value readings Reference: Quantum Data, http://www.quantumdata.com/pdf/CS-1Quik.pdf
CIE Color Chart for color matching Reference, Internet, Photonet, http://photo.net/photo/edscott/vis00020.htm Example: The RGB value of 0.6 and 0.4 represents red.
Completed Work • Completed the entire assembly of the robot arm • Tested all modules • Debugged and tested all code to ensure it is absolutely error free • Checked robot movement to see if it performs within given arm joint movement values • Over 1000 lines of coding and debugging • Approximately 840 hours of work
Gantt Chart Showing the timeline from initial research to the completion of Robot Development