Transcript document
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/TO220
-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 iab le
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