the minerva project jeremiah f. cowden carolin l. karim jason h. kummerl rachel a. schaefer matthew...

32
The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480 Senior Design Dr. Richard E. Haskell

Post on 20-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project

Jeremiah F. CowdenCarolin L. KarimJason H. KummerlRachel A. SchaeferMatthew P. Spahr

Final PresentationDecember 12, 2003

CSE 480Senior DesignDr. Richard E.

Haskell

Page 2: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Outline – Part I

Part I – OverviewIntroductionAutomated Highway SystemsTop-Level DesignCost Analysis

Part II – ComponentsPart III – DesignPart IV – Conclusion

Page 3: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Introduction

Minerva “Roman goddess of education and science”

Project definitionCreate a sophomore design class

Students from all engineering disciplinesPrerequisites

CSE 141 – “Computer Problem Solving in Engineering and Computer Science” using Visual BasicCSE 171 – “Introduction to Digital Logic and Microprocessors”

A sample project—design a carPath detectionCollision avoidance

Page 4: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Top-Level Design

Pre-built car from Radio ShackOOPic BoardMagnevation H-BridgeOriginal MotorFutaba S3003 Sharp GP2D12Fairchild QRB1114

Page 5: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Cost Analysis

1 R/C car $20 1 OOPic board $79 1 Magnevation Dual PWM 3 Amp LT H-Bridge $751 Futaba S3003 servo $105 Fairchild QRB1114 sensors @ 89¢ $4.45 1 Sharp GP2D12 sensor $8.252 rods @ $2 $4

1 set of springs $2 1 Breadboard $1 3 Battery holders @ $1.66 $5 3 9V batteries @ $1.33 $4 16 AA batteries @ 37¢ $6 Miscellaneous $5Total $222.70Over-Budget $22.70

Page 6: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Outline – Part II

Part I – OverviewPart II – Components

OOPicoServoX ObjectoDCMotor Object

Part III – DesignPart IV – Conclusion

Page 7: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project OOPic

Page 8: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project OOPic (cont.)

Language Options—objects are the same between themVisual BasicJavaC

Basic C & JavaDim NumOfPresses As New oByte oByte NumOfPresses = New oByte;Dim RedWire As New oDIO1 oDIO1 RedWire = New oDIO1;Dim Thing(3) As New oByte oByte Thing(3) = New oByte;Sub Main() void Main(void) If RedWire.Value = cvOn Then { Thing(1).Value = 27 If (RedWire.Value = cvOn) Thing(2).Value = 37 { Thing(3).Value = NumOfPresses Thing(1).Value = 27; End If Thing(2).Value = 37;End Sub Thing(3).Value = NumOfPresses;

}}

Page 9: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project OOPic (cont.)

96 Bytes for firmware objectsObjects Used Size of Object Quantity Total Bytes

oServoX 6 Bytes 1 6oIRRange 5 Bytes 1 5

oDIO1 1 Byte 5 5oDCMotor 5 Bytes 1 5

oBus 3 Bytes 5 15oGate 4 Bytes 5 20oIndex 4 Bytes 2 8oBuffer 8 Bytes 2 16oNibble 1 Byte 6 6

86

Page 10: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project oServoX Object

Included in the board firmwareUses one digital I/O lineCapable of positioning an RC servo anywhere within its 180º rotational span

Range -64 to +63 where 0 is center

Sends an RC servo repeated PWM signals until it reaches the specified position

Page 11: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project oServoX Object (cont.)

IOLine propertySpecifies which of 31 I/O lines is to be usedMust be set before the Operate property is set to 1

Operate propertySet to 1 to continuously output PWM control pulse to servoResults in servo holding position specified by the Value propertySet to 0, the object sets I/O line to 0 volts

Results in servo not holding a position, allowing it to be changed manually

Page 12: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project oServoX Object (cont.)

Offset property Sets the value of the center of the servoAn offset of 0 allows positioning at values -64 to +63An offset of 64 allows positioning at values 0 to +127An offset of -64 allows positioning at values -128 to -1

Value propertyRange -128 to +127Specifies position of the servo

InvertOut propertySpecifies if output pulse is reversed

Page 13: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project oDCMotor Object

Included in the board firmwareUses three digital I/O lines to control a DC motor

Speed – IOLinePBraking – IOLineBDirection – IOLineD

Page 14: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project oDCMotor Object (cont.)

Value propertyRange of -128 to + 127 or 0 to 255When Unsigned bit is 0, Value has range of -128 to + 127, When Unsigned bit is 1, Value has range of 0 to 255

Direction propertyValue of 0 or 1, setting the direction to forward or reverseIf the InvertOutD property is 1, direction is opposite

Brake propertyValue of 0 or 1, turning the brake off and onIf the InvertOutB property is 1, direction is opposite

Page 15: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Outline – Part III

Part I – OverviewPart II – ComponentsPart III – Design

Hardware DesignSoftware DesignVirtual CircuitsVirtual Circuits – Code

Part IV – Conclusion

Page 16: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Overview

Page 17: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Hardware Design

9v

9v

9v

24v

+5V

H-Bridge

ControlGround

Servo

Line Sensors

5 Control Lines 1 For Each SensorMotor

OOPic

GroundControl Brake

Control DirectionControl PWM

Distance Sensor

+5VGroundControl Brake

Page 18: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Controller Boards

OOPic Controller

Board

H-Bridge Sensor Breadboard

Page 19: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Controller Boards (cont.)

OOPic Controller Board

Sensor Breadboard

H-Bridge

Page 20: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Sensor Rack

Extra 8AA Batteries

Distance Sensor

Line Sensor Assembly

Page 21: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Under Body

Extra 8AA Batteries

9V holders for OOPic

Page 22: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Software Design

Rapid prototypingServoMotorDistance sensorLine sensors

Sluggish response with loopingQuick response with virtual circuits

Page 23: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Virtual Circuits

Sensor_L2

oDCMotor

oBus

4oGate

oServoX

2545554525 Index_Motor

(oIndex)

Index_Servo (oIndex)

Sensor_Value

3 2 1 0

64 + 2064 + 7

6464 - 7

64 - 20

Sensor_L1Sensor_C

Sensor_R1Sensor_R2

Page 24: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Virtual Circuit – Code

1. mSensor_C.Input.Link( C )2. mSensor_C.Output.Link( Sensor_Value )3. gSensor_C.Input1.Link( Sensor_C )4. gSensor_C.Output.Link( mSensor_C.Operate )5. gSensor_C.Operate = cvTrue 6. Index_Servo.Array.Link( Buff_Servo )7. Index_Servo.Index.Link( Sensor_Value )8. Index_Servo.Unit.Link( Servo.Value )9. Index_Servo.Operate = cvTrue

Page 25: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Outline – Part IV

Part I – OverviewPart II – ComponentsPart III – DesignPart IV – Conclusion

Overall PerformancePicture of carLessons learnedReferences

Page 26: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Overall Performance

Follows a straight lineFollows a curved lineFollows a 90º turnSlows down while turningStops to avoid objects

Page 27: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Picture of Car

Page 28: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Real Picture of Car

Page 29: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Lessons Learned

Jason has zero short term memory and is insane

Carolin likes Corona

Rachel is growing

Don’t let other groups see your project

Rachel's attendance to class 1% - Rest of group 99%

Great group dynamic

Class should have been held at Mongolian Barbeque with Stacia or Diana

Matt never wears a coat

Jeremiah learned to be a player! (3) Loudest & funniest group Home Depot is the best place for RC car building?Our car eats batteries up “Yummy Style”OOPic is easier than the rest of the boardsKISS – Keep It Simple, StupidSEB 133 – Great for meeting guys & galsCSE 480 – BEST CLASS EVER!

Page 30: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project Real Lessons Learned

Rechargeable batteries are cheaper in the long runSingle distance sensor is not adequateThe more line sensors the more accurate the response0.2” is almost impossible to achieve after running into a wall

Page 31: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project References

http://www.wikipedia.org/wiki/Automated_highway_systems http://www.aaroads.com/high-priority/corr16.html http://www.path.berkeley.edu/PATH/Publications/Media/FactSheet/

pprogram.pdf http://www.berkeley.edu/news/media/releases/97legacy/DEMO_97.html http://future.newsday.com/10/fmon1011.htm http://www.itsonline.com/ahsra1.html http://www.ivsource.net/archivep/2000/aug/a000831_chauffeur.html http://faculty.washington.edu/jbs/itrans/bishopahs.htm http://www.cert.ucr.edu/research/project.asp?project=97http://electronickits.com/kit/complete/remote/ck1900.htmhttp://www.oopic.comhttp://www.oopic.com/servo.htmhttp://www.dprg.org/tutorials/1998-04a/http://www.magnevation.com/descriptionpwmx2a.htm

Page 32: The Minerva Project Jeremiah F. Cowden Carolin L. Karim Jason H. Kummerl Rachel A. Schaefer Matthew P. Spahr Final Presentation December 12, 2003 CSE 480

The Minerva Project

HAPPY HOLIDAYS!!!