Download document

Document related concepts

Fault tolerance wikipedia , lookup

Music technology (electronic and digital) wikipedia , lookup

Emulator wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
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