Upload
lucas-cobb
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Ongo-01Project OSCAR
ONGO-01
Project Oscar
Spring 2005
ZacharyKotlarek
David Hawley
Michael Larson
JustinRasmussen
Gavin RipleyPeter RufinoJason SytsmaLynn TweedDavid Willis
Kevin CantuPhil DerrJawad HaiderJeff Parent
Client Department of Electrical and Computer Engineering
Presentation Date April 25, 2005
Faculty Advisor Ralph Patterson III
Team Members CprE
CprEEE CprECprEEEEEMEME
EE EEEECprE
492492492492492492492466466
491491491491
Initial Information Gavin
Project Introduction Gavin
Description of Activities Everyone
Resources and Schedules Justin
Summary Justin
Project Oscar
Presentation Overview
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 Oscar
List of Definitions
Project Introduction
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
Problem Statement
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 UsesUsers Project OSCAR team members Trained demonstrators Supervised non-technical users
UsesDemonstrate 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 LimitationsAssumptions 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
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
Previous 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
Present Accomplishments
Description of Activities
Project DefinitionTotal Weight
Points:39 Urgency
Scaling Factor:
28% Highest High Medium Low Lowest
Highest Repair SONAR
arrayRevise existing GUI
softwareDesign controller for end effector motors
HighImplement speech
recognition software
Effort Medium Implement wheel tachometer circuit
Implement software to interact with
wheel tachometers
Select I/O interface for
end effector
Low Install wheel tachometers
Document circuit
schematics and software
Lowest
Priority Weight (larger = greater priority) 9 8 7 6 5 4 3 2 1
Description of Activities
Project DefinitionTask 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
# MilestonePriority
(%)
1SONAR 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
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 Design
Description of Activities
Electromechanical ResearchPower conversionFormer 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 Too expensive
DC/DC converter Cannot supply computer’s
demand.
DC/AC inverter Best solution for price and
functionality Old DC/AC inverter
Description of Activities
Electromechanical ResearchPower 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 ResearchEnd-Effector ControllerTwo 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 DesignTeam-created microcontroller design
BX-24 microcontroller Peel multiplexer 5 LM629 microprocessor 5 LMD18200 H-bridge w/ DMOS driver 5 servo motors
A-
+
MG1
MOTOR SERVO
12
U2
LMD18200/TO
1 2
6
89
1011
34
5
BTP1 OUT1
VS
CSOUTTFOUT
OUT2BTP2
DINBIN
PIN
U1
LM629
1
17
26
23
1613271512
1918
1110987654
IN
HI
CLK
AB
PSRDRSTWRCS
PWMMAGPWMSIGN
D0D1D2D3D4D5D6D7
Five circuits needed, one for each motor
Description of Activities
Electromechanical DesignMotor controller optical encoder interfaceProblem: 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
Optical Encoder
Motor Controller
Computer Serial
???
t = 0
Channel A
Channel Bforward
Channel Bbackward
Rotation
forwardbackward
Input voltage
+ 5.0 V
+ 2.5 V
Description of Activities
Electromechanical Design
Optical Encoder
Optical encoder digital output
Needed analog signal
Solution
Description of Activities
Electromechanical Design
Wheel tachometer circuit design
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
U1A
LM324
1
3
2
411
OUT
+
-
V+V-
U1A
LM324
1
3
2
411
OUT
+
-
V+V-
R1
1k
U4+5V
LM7805C/TO
1 3
2
IN OUT
GND
Output from F-V R1
1k
R1
1k
U1A
LM324
1
3
24
11
OUT
+
-V+
V-
C1
1n
R1
1k R1
1k
U5 +12V
LM7812C/TO220
1 3
2
IN OUT
GND
R1
1k
R1
1k
R1
1k
R1
1k
U5 SPDT Switch
ADG419
1
2
4
6
7
8 D
S1
+VCC
IN
-VCC
S2
Output from Switch
U1A
LM324
1
3
2
411
OUT
+
-
V+V-R1
1k
+12V Source
U1A
LM324
1
3
2
411
OUT
+
-
V+V-
R1
1k
-Voltage Source
F-V
LM2907/DIP14
1
23
4
5
912
1011
81
23
4
5
912
1011
8
-12V Source
R1
1k
U5 +Variable
LM317/CYL
3
1
2VIN
ADJ
VOUT
From 2.5V Regulator
R1
1k R1
1k
Optical encoder Channel A
R1
1k
+5V Optical Encoder
Analog Out to Motor Controler
C2
1n
Input From Phase Decoder
Description of Activities
Electromechanical Implementation
Description of Activities
SONAR TestingInitial 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 TestingRequirements 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
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
SONAR Testing
Computational Requirements vs. Vocabulary and Speaking Style
Description of Activities
Software Research
Vocabulary size (number of words)
Spea
king
sty
leSpontaneous
speech
Fluent speech
Read speech
Connected speech
Isolated words
2 20 200 2000 20000 Unrestricted
word spotting
digit strings
voice commands
directory assistance
form fill by voice
name dialing
2-way dialogue
natural conversation
transcription
office dictation
system driven dialogue
network agent &
intelligent messaging
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 ResearchTypes of speech recognition
Description of Activities
Software Implementation
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
Software Architecture
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 DesignWheel 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 ImplementationWheel Tachometer Software
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
Description of Activities
Software Implementation
Requires the integration of two pieces of software: Main Program:
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
SONAR microcontroller: 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.
Interfacing with the SONAR array
Description of Activities
Future Required Activities
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 ME/EE Spring 2006
Implement end effector control software CprE/EE Spring 2006
Build top-level façade for end effector deck (any) Spring 2006
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
Resources and Schedules
Resources and Schedules
Personnel Efforts
0
20
40
60
80
100
120
Hou
rs
Significant hours spent on:
End effector circuit design
Wheel tachometer circuit testing
SONAR repair Software
development Project reporting Robot demonstrations Project tracking
Resources and Schedules
Financial Requirement
Labor at $10.50/ hr,
$8,977.50
DC/ AC Inverter,
$71.99
Poster, $19.30
Other, $91.29
Labor at $10.50/hr
DC/AC Inverter
Poster
Donated resourcesWheel tachometer circuit parts: Phase detector Multiplexer
Frequency to voltage converter Other small parts for circuit assembly
Resources and Schedules
Project ScheduleAmbitious schedule Tasks collected into groups Milestones are group
deadlines Class presentation January 27 Project demonstrations April 7, 15 Industrial review April 25
Summary
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
Lessons Learned
Anticipated potential risks Ordered parts do not arrive on time
Solution: Order parts immediately, Allow extra time for delivery
Failure to complete assigned tasksSolution: Get help from other team members
Cost of development exceeds expectationSolution: Delay purchase or seek alternate solution
Failure to attend a meetingSolution: 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
expectedSolution: Correct components are currently present, circuit needs further testing
Resultant change in risk managementAllow further time in project schedule for circuit testing by
obtaining parts sooner and by not assuming parts will work as expected
Summary
Risks and Risk Management
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