Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Ongo-01 Project OSCAR ONGO-01 Project Oscar Spring 2005 Client Department of Electrical and Computer Engineering Faculty Advisor Ralph Patterson III Team Members Zachary David Michael Justin Gavin Peter Jason Lynn David Kotlarek Hawley Larson Rasmussen Ripley Rufino Sytsma Tweed Willis CprE CprE EE CprE CprE EE EE ME ME 492 492 492 492 492 492 492 466 466 Kevin Phil Jawad Jeff Cantu Derr Haider Parent EE EE EE CprE 491 491 491 491 Presentation Date April 25, 2005 Project Oscar Presentation Overview Initial Information Gavin Project Introduction Gavin Description of Activities Everyone Resources and Schedules Justin Summary Justin Project Oscar List of Definitions OSCAR Octagonal Speech-Controlled Autonomous Robot BX-24 Microcontroller used to interface with SONAR system CVoiceControl Speech recognition software that can issue Linux commands CVS Concurrent versions system Cybot The predecessor to OSCAR Drive train The assembly of electrically controlled motion elements, including the robot’s wheels, gears, belts, and tachometers End effector The assembly of electrically controlled mechanical arm and gripper GUI Graphical user interface PEEL Programmable Electrically Erasable Logic SONAR Sound navigation and ranging Tachometer A device for indicating speed of rotation Project Introduction Project Introduction Problem Statement General Problem Statement Develop a functional robot that the university can use for demonstrations to capture the interests of visitors and potential students, and concurrently exhibit the technological capabilities of its students. Semester Needs Speech recognition capability Circuit to interface the motor controller with wheel tachometers Repair SONAR system Implement end effector Extend existing software to use wheel tachometers and SONAR General Solution Approach Install speech recognition software and interface with robot Design, implement, and test wheel tachometer circuit Troubleshoot SONAR system to determine problem Build end effector based on existing design Demonstrate the robot to campus visitors Project Introduction Operating Environment Indoors (Outdoors with ideal weather) Flat surfaces, no downward stairs or drop-offs If obstacles are present, they must be at least 2.5 feet high to be detected Project Introduction Intended Users and Uses Users Project OSCAR team members Trained demonstrators Supervised non-technical users Uses Demonstrate robot to campus visitors: Manual control through GUI software from a remote PC Respond to spoken commands Speaks to operators and audience Autonomous navigation through a room or corridor Pick up and place objects Project Introduction Assumptions and Limitations Assumptions Demonstrations last less than one hour Technical supervisors present during operation Operators speak English and are familiar with control software Remote PC for robot control has the appropriate software and hardware Limitations Software must run in Mandrake Linux Speech commands are issued less than 15 feet away SONAR range is 15 inches – 35 feet Wireless Ethernet within 328 feet Must fit through a standard 30-inch doorway End effector must fit within top module Project Introduction End Product Full drive motion capability Interaction with users via speech recognition software and speech output GUI-driven software package Wireless connection Manual motion control Distance and turning degree based motion commands Speech output Room/hallway navigation Script recording and playback Externally rechargeable power supply Retractable end effector capable of object manipulation Project Introduction Other Deliverables End-user operation instructions Power system and recharging instructions Software user’s guide Power system specifications and schematic SONAR array specifications and schematics End effector controller specifications and schematics Description of Activities Description of Activities Previous Accomplishments Command-line speech output New motor control for drive motion End effector assembly was made lighter Project website was redesigned Installed new battery and rerouted wiring New layered software structure makes extensibility much easier and handles errors GUI and network protocol developed to easily control the robot wirelessly New end effector design conforms with layered architecture Description of Activities Present Accomplishments Repaired SONAR array Tested and repaired transducer connections Programmed PEEL chip to replace multiplexer Wrote new software for the BX-24 microcontroller Wrote software to read data from SOANR transducers and output to GUI Implemented speech recognition Chose pre-written speech recognition software Wrote scripts to relay commands to Java software Wrote new top layer of control for software, allows for simultaneous: Manual control Distance and direction based commands Speech commands SONAR collision interruption Description of Activities Present Accomplishments Developed wheel tachometer circuit Designed circuit to give correct tachometer input to the motor controller Ordered all needed parts Built and tested circuit according to specifications Wrote software to utilize wheel tachometer data by computing distance and direction based on independent wheel speeds Circuit schematic for end effector controller designed and documented Prepared for end effector implementation Convert end effector models to detailed drawings Wrote itemized materials list for end effector implementation Purchased and installed new DC/AC inverter Gave four robot demonstrations to elementary students Description of Activities Project Definition Total Weight Points: Scaling Factor: Effort 39 Urgency 28% Highest High Medium Low Highest Repair SONAR array Revise existing GUI software Design controller for end effector motors High Implement speech recognition software Medium Implement wheel tachometer circuit Lowest Implement software to interact with wheel tachometers Select I/O interface for end effector Document circuit schematics and software Install wheel tachometers Low Lowest Priority Weight (larger = greater priority) 9 8 7 6 5 4 3 2 1 Description of Activities Project Definition Task System priority Project priority Repair SONAR array 45% 11% Characterize SONAR array 30% 8% Develop navigation algorithm 25% 6% Implement speech recognition 20% 6% Revise existing GUI software 19% 5% Implement software to interact with wheel tachometers 17% 5% Design software to interact with wheel tachometers 15% 4% Test newly developed software 13% 4% Document newly developed software 8% 1% Select I/O interface for end effector 8% 1% Design and implement wheel tachometer circuit 26% 8% Implement new end effector 26% 8% Design end effector controller 14% 4% Consider purchase of DC/AC inverter 10% 3% Document end effector controller design 10% 3% Install wheel tachometers 9% 2% Document wheel tachometer circuit design 5% 1% Project Reporting 39% 8% Present robot to campus visitors 33% 7% Develop scripts and macros 28% 5% TOTAL 100% Yellow = percentage value forced for conformity to 100% total requirement * Some tasks have been omitted to fit in this space Description of Activities Project Definition Tasks grouped under milestones to assign overall priority # Milestone Priority (%) 1 SONAR repair and characterization 25 2 Documentation and testing 17 3 End effector 16 4 Software development 14 5 Demonstration / Presentation 12 6 Wheel Tachometer Install 10 7 Speech Recognition 6 Description of Activities Electromechanical Design Modification of existing end effector Design Original Assembly Design Final Assembly Design Converted design models into detailed drawings that could actually be manufactured and assembled Description of Activities Electromechanical Design Redesigning Parts Initial Design Model Actual Design Some parts in the original design simply could not be manufactured, and had to be redesigned Description of Activities Electromechanical Design Beginning the end effector building Process Created drawings of parts from existing design models Recorded inventory of parts on hand Considered parts to be salvaged from CyBot and other sources Locating resources for building materials to manufacture parts Locating places where manufacturing can be done Description of Activities Electromechanical Research Power conversion Former power inverter (DC/AC) is not rated to supply necessary power to computer. The unit had problems overheating. Many alternative products considered: DC ATX power supply DC/DC converter Too expensive Cannot supply computer’s demand. DC/AC inverter Best solution for price and functionality Old DC/AC inverter Description of Activities Electromechanical Research Power conversion Solution 400W DC-AC Inverter 250W for Computer Extra power for future upgrades Small Size for easy install Rugged, long-lasting design Description of Activities Electromechanical Research End-Effector Controller Two solutions considered: National instruments software and hardware Create a design using microcontroller National instruments solution Parts List High Performance 6 Axis Stepper/Servo Controller 68 pin VHDCI to 68 pin VHDCI, 2m Integrated 4 Axis Servo Drive w/Power Supply, US,120V 68 pin VHDCI & 68 pin.05 series D-type, 2m Noise Rejecting, Shielded I/O Connector Block Problems New computer system not obtained Linux drivers for PCI card not available Description of Activities Electromechanical Design Team-created microcontroller design BX-24 microcontroller Peel multiplexer 5 LM629 microprocessor 5 LMD18200 H-bridge w/ DMOS driver 5 servo motors U1 16 13 27 15 12 CLK PS RD RST WR CS PWMMA G PWMSIGN D0 D1 D2 D3 D4 D5 D6 D7 HI 11 10 9 8 7 6 5 4 1 11 4 3 5 6 BTP1 BTP2 BIN DIN PIN OUT1 OUT2 CSOUT TFOUT 2 10 8 9 VS LMD18200/TO 17 LM629 Five circuits needed, one for each motor MG1 + A - 2 26 A B IN 19 18 1 U2 2 3 1 MOTOR SERVO Description of Activities Electromechanical Design Motor controller optical encoder interface Problem: Optical encoder outputs digital pulse train Motor controller needs analog 5V with direction A circuit known as the wheel tachometer circuit must be inserted between optical encoder and motor controller Computer Serial Motor Controller ??? Optical Encoder Description of Activities Electromechanical Design t=0 Channel A Channel B forward Channel B backward Optical encoder digital output Input voltage + 5.0 V + 2.5 V Rotation backward Optical Encoder forward Needed analog signal Description of Activities Electromechanical Design Solution Wheel tachometer circuit design Description of Activities Electromechanical Implementation Components used in wheel tachometer circuit Voltage regulators 1.5, 5, 12 Charge pump Frequency to voltage converter Op-amps Phase detector Analog single pole double throw switch Optical encoder Channel A Input From Phase Decoder F-V U1A 2 1k LM2907/DIP14 - LM324 1n R1 -V CC +V CC D S2 S1 IN 1k A DG41 9 7 4 4 1 V IN V OUT 2 R1 2 1k A DJ 2 IN GND U4+5V 1 OUT 2 LM7805C/TO -Voltage Source Analog Out to Motor Controler - - LM324 R1 LM317/CY L R1 +5V Optical Encoder 1k LM324 LM7812C/TO22 0 -12V Source 2 V- 3 3 R1 R1 1k 1k 1k U1A OUT R1 1 11 3 V- OUT + U1A OUT 11 IN GND 1 V+ 3 4 + V+ 3 U5 +Var ia ble 1k 1 - 1k 6 4 3 LM324 1 + OUT R1 2 - 1k R1 R1 R1 1k 1k 1k From 2.5V Regulator U5 +12V OUT 2 U5 SPDT Sw itch 1 8 2 R1 +12V Source + R1 Output from F-V 1k 3 V+ 4 Output from Switch 1 V- R1 C2 U1A U1A OUT V+ + 11 1k 3 9 12 V- 9 12 11 2 3 5 R1 V+ 2 3 5 1n 8 V- C1 8 4 1 4 10 11 11 1 4 10 11 LM324 1 Description of Activities SONAR Testing Initial testing procedures Verified functionality of each individual transducer using oscilloscope and function generator Repaired all connections from serial port to transducers Mapped a schematic diagram Tested BX-24 with new test software Determined multiplexer device was not obtaining SONAR data Hardwired SONARs to the BX-24 to confirm remaining hardware functionality Researched PEEL devices to replace multiplexer Description of Activities SONAR Testing Requirements for multiplexing SONARs 3 multiplexer select pins 8 INIT outputs to each SONAR 8 ECHO inputs from each SONAR 1 INIT input from BX-24 microcontroller 1 ECHO output to BX-24 microcontroller Description of Activities SONAR Testing Programming and testing PEEL WinPLACE used to translate prototype to hardware descriptive language Waveform simulator for testing compiled JEDEC file with desired test vectors Description of Activities SONAR Testing SONAR Characteristics Transducers tested for ranging capability Feedback read from BX-24 environment monitor Field response limited to testing environment Beam pattern best approximated at 20 degrees Distance range from ~ 15 in. to 33 ft. Description of Activities Software Research Computational Requirements vs. Vocabulary and Speaking Style Speaking style Spontaneous speech 2-way dialogue word spotting Fluent speech Read speech network transcription agent & intelligent messaging system driven dialogue digit strings natural conversation name dialing form fill by voice office dictation Connected speech voice commands Isolated words 2 20 directory assistance 200 2000 20000 Vocabulary size (number of words) Unrestricted Description of Activities Software Research Types of speech recognition Continuous Speech Recognition Unlimited Vocabulary Allows Users To Speak In Sentences Requires User Training Large Computational Load Limited Vocabulary Discrete Speech Recognition Requires No Training User Independent Requires Punctuated Speech Moderate Computational Load ~200 Word Vocabulary Utterance Recognition – Currently, the best choice for OSCAR Requires Command and User Training Requires Punctuated Speech ~20 Word Vocabulary Low Computational Load Description of Activities Software Implementation Software Architecture Previous code updated and extended Layers of abstraction added to the previous design Added functionality to support speech control, SONARs, and wheel tachometers New hard drive installed Description of Activities Software Design Wheel Tachometer Software Need software to utilize the wheel speed data from the wheel tachometers Robot keeps track of: Total distance traveled Orientation relative to starting position (X, Y) coordinate position Orientation is set at startup and can be reset during operation Allows for distance and angle based motion commands Description of Activities Software Implementation Wheel Tachometer Software Wheel speeds were modeled in Java to test accuracy of algorithm Motion simulated by inputting wheel speeds For a given time interval: Distance calculated Turning degree calculated Algorithm later integrated into robot software Description of Activities Software Implementation GUI Extension New multi-threaded network code Sensor display implemented Collision detection and clearing. Client side scripting added. Description of Activities Software Implementation GUI Extension New length commands support: Time-based commands Distance-based commands Angle-based commands Each command shares the speed and turn speed sliders Description of Activities Software Implementation GUI Software Structure Multi-threaded: All network I/O is handled in separate threads from the user interface Multi-cast delegates used for event handling. Used to easily add features such as scripting. Description of Activities Software Implementation GUI Scripting Record scripts from GUI or edit script file GUI serializes the script to an XML file Format includes a text string to send on the network and a delay in milliseconds before sending the string Description of Activities Software Implementation Interfacing with the SONAR array Requires the integration of two pieces of software: Main Program: SONAR microcontroller: Creates a new thread to handle the interface with the SONAR array Continuously requests distance data from the array Notifies the control software if a collision is detected Allows the main software to request the data at any time Waits for and handles requests from the main program Sends a pulse to the requested sensor Computes the distance based on the interval before reply Returns this information to the main program This software is sufficient to control the SONAR array, future additions will improve collision-handling. Description of Activities Future Required Activities Current feature set to be implemented before developing new features: Manual, distance, and turning based motion commands Remote and auto end effector Auto navigation and object avoidance Optimize speech command input Task Student Type Semester Install wheel tachometer circuit boards EE Fall 2005 Implement end effector assembly ME Fall 2005 Implement end effector motor-control circuits EE Fall 2005 Upgrade computer system CprE Fall 2005 Improve speech-recognition software CprE Fall 2005 Implement navigational software algorithm CprE Fall 2005 Test end effector assembly and control circuit Implement end effector control software Build top-level façade for end effector deck ME/EE Spring 2006 CprE/EE Spring 2006 (any) Spring 2006 Resources and Schedules Resources and Schedules Personnel Efforts Significant hours spent on: 0 Ru fi n o Sy tsm a 20 ley 40 Rip 60 Ha i de r Ha wle y Ko t la rek La rso n Pa ren Ra t sm uss en 80 De rr 100 Ca ntu End effector circuit design Wheel tachometer circuit testing SONAR repair Software development Project reporting Robot demonstrations Project tracking Hours 120 Resources and Schedules Financial Requirement Ot he r , $ 9 1. 2 9 D C / A C I nv e r t e r , Labor at $10.50/ hr $ 7 1. 9 9 DC/ AC Invert er Post er P ost e r , $ 19 . 3 0 La bor a t $ 10 . 5 0 / hr , $8,977.50 Donated resources Wheel tachometer circuit parts: Frequency to voltage converter Phase detector Other small parts for circuit assembly Multiplexer Resources and Schedules Project Schedule Ambitious schedule Tasks collected into groups Milestones are group deadlines Class presentation Project demonstrations Industrial review January 27 April 7, 15 April 25 Summary Summary Lessons Learned What went well Software development Wheel tachometer circuit design Power inverter upgrade Demonstrations What did not go well Wheel tachometer circuit implementation, obtaining parts Obtaining new computer system Obtaining mechanical engineering support What technical knowledge was gained Basic-X microcontroller, PEEL programming Speech recognition implementation Use of Microsoft Project, Office Summary Lessons Learned What non-technical knowledge was gained Proper documentation methods Coordinating efforts of thirteen members What would be done differently if you could do it over again Order wheel tachometer parts immediately Obtain new computer system Improve project schedule Summary Risks and Risk Management Anticipated potential risks Ordered parts do not arrive on time Solution: Order parts immediately, Allow extra time for delivery Failure to complete assigned tasks Solution: Get help from other team members Cost of development exceeds expectation Solution: Delay purchase or seek alternate solution Failure to attend a meeting Solution: Team leader informs absent members of meeting accomplishments Anticipated risks encountered Ordered parts do not arrive on time Failure to attend a meeting Summary Risks and Risk Management Unanticipated risks encountered Wheel tachometers circuit components not working as expected Solution: Correct components are currently present, circuit needs further testing Resultant change in risk management Allow further time in project schedule for circuit testing by obtaining parts sooner and by not assuming parts will work as expected Summary Closing Summary Substantial advances in the software structure Robot in much better state for demonstrations Create useable paper trail for future team members Project nearing end product deliverable status