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 • 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) Project Overview Robot Arm MICROCONTROLLER MOTHERBOARD PARALLAX SERVO CONTROLLER COLOR SENSOR System Connections Microcontroller Interface to Color Sensor (Level 4) Interface with Servo Controller (Level 4) Interface to MOTHERBOARD PARALLAX BOE (Level 4) Servos Input and Output Diagram Hierarchical Decomposition Robot Arm (Level 1) Hardware Module (Level 2) Software Module (Level 2) HARDWARE MODULE Hardware Module (Level 2) Power (Level 3) User Interface (Level 3) Servo Controller (Level 3) Microcontroller (Level 3) Servos (Level 3) Color Sensor (Level 3) Microcontroller Motherboard Parallax BOE (Level 3) User Interface User Interface (Level 3) Microcontroller Configurations (Level 4) (Level 4) Adjusting Servo Motor Controller (Level 4) Servo Module Servo Motor Control (Level 3) Processor Interface to Servo Control Module (Level 4) Interface to Servos (Level 5) Servo to control pivoting arm, i.e. degree of rotation Servo to control the gripper, i.e. the opening/closing of the clamp Servo to control arm extension and contraction Sensor Module Reference: Internet, Datasheet Catalog, http://www.datasheetcatalog.org/datasheets2/10/103569_1.pdf Software Module Software Functionalities Basic Arm Movement Pick Up and Place Object Color Sorting 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 SEGMENT A: BASIC ARM MOVEMENT Flowchart of Segment B – Pick Up and Place Object Start Get the program and user data from the software Wait for storage of arm joints to be placed in array. Store arm joints segments in the form of an array in the Parallax BS2P40 EEPROM User calls each joint of the arm using IF statements and by applying bitenable = 1 Arm movement is initiated accordingly. End Process Start SEGMENT C: COLOR SORTING 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 IF Red? Green? Blue? Yellow? Place arm and joints back to collecting position. Execute 2nd section of code: Test for color of object. Match color values from EEPROM Initiate arm joint movement IF no block? End Process Call the same procedure to place object into appropriate box 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.co m/pdf/CS-1Quik.pdf CIE Color Chart for color matching Reference, Internet, Photonet, http://photo.net/photo/edscott/vis00020.h tm Example: The RGB value of 0.6 and 0.4 represents red. 2nd Software used to test color sensor: TCS3414EVM Test results 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 Some Completed Pictures of the Robot Arm Side View Close Up View of Color Sensor Top Level View Gantt Chart Showing the timeline from initial research to the completion of Robot Development Labor Costs Graph Estimated, Actual & Projected Cumulative Expenditures (in $k) $140.00 $120.00 $100.00 $80.00 $k Estimated Projected Actual $60.00 $40.00 $20.00 $0.00 0 5 10 15 20 Time From ROC (in Weeks) 25 30 35 THE END THANK YOU!