Title: The Minerva Project
1The 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
2The Minerva Project Outline Part I
- Part I Overview
- Introduction
- Automated Highway Systems
- Top-Level Design
- Cost Analysis
- Part II Components
- Part III Design
- Part IV Conclusion
3The Minerva Project Introduction
- Minerva
- Roman goddess of education and science
- Project definition
- Create a sophomore design class
- Students from all engineering disciplines
- Prerequisites
- CSE 141 Computer Problem Solving in
Engineering and Computer Science using Visual
Basic - CSE 171 Introduction to Digital Logic and
Microprocessors - A sample projectdesign a car
- Path detection
- Collision avoidance
4The Minerva Project Top-Level Design
- Pre-built car from Radio Shack
- OOPic Board
- Magnevation H-Bridge
- Original Motor
- Futaba S3003
- Sharp GP2D12
- Fairchild QRB1114
5The Minerva Project Cost Analysis
- 1 R/C car 20
- 1 OOPic board 79
- 1 Magnevation Dual
- PWM 3 Amp
- LT H-Bridge 75
- 1 Futaba S3003 servo 10
- 5 Fairchild QRB1114 sensors _at_ 89 4.45
- 1 Sharp GP2D12 sensor 8.25
- 2 rods _at_ 2 4
- 1 set of springs 2
- 1 Breadboard 1
- 3 Battery holders
- _at_ 1.66 5
- 3 9V batteries _at_ 1.33 4
- 16 AA batteries _at_ 37 6
- Miscellaneous 5
- Total 222.70
- Over-Budget 22.70
6The Minerva Project Outline Part II
- Part I Overview
- Part II Components
- OOPic
- oServoX Object
- oDCMotor Object
- Part III Design
- Part IV Conclusion
7The Minerva Project OOPic
8The Minerva Project OOPic (cont.)
- Language Optionsobjects are the same between
them - Visual Basic
- Java
- C
9The Minerva Project OOPic (cont.)
- 96 Bytes for firmware objects
10The Minerva Project oServoX Object
- Included in the board firmware
- Uses one digital I/O line
- Capable 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
11The Minerva Project oServoX Object (cont.)
- IOLine property
- Specifies which of 31 I/O lines is to be used
- Must be set before the Operate property is set to
1 - Operate property
- Set to 1 to continuously output PWM control pulse
to servo - Results in servo holding position specified by
the Value property - Set to 0, the object sets I/O line to 0 volts
- Results in servo not holding a position, allowing
it to be changed manually
12The Minerva Project oServoX Object (cont.)
- Offset property
- Sets the value of the center of the servo
- An offset of 0 allows positioning at values -64
to 63 - An offset of 64 allows positioning at values 0 to
127 - An offset of -64 allows positioning at values
-128 to -1 - Value property
- Range -128 to 127
- Specifies position of the servo
- InvertOut property
- Specifies if output pulse is reversed
13The Minerva Project oDCMotor Object
- Included in the board firmware
- Uses three digital I/O lines to control a DC
motor - Speed IOLineP
- Braking IOLineB
- Direction IOLineD
14The Minerva Project oDCMotor Object (cont.)
- Value property
- Range of -128 to 127 or 0 to 255
- When Unsigned bit is 0, Value has range of -128
to 127, - When Unsigned bit is 1, Value has range of 0 to
255 - Direction property
- Value of 0 or 1, setting the direction to forward
or reverse - If the InvertOutD property is 1, direction is
opposite - Brake property
- Value of 0 or 1, turning the brake off and on
- If the InvertOutB property is 1, direction is
opposite
15The Minerva Project Outline Part III
- Part I Overview
- Part II Components
- Part III Design
- Hardware Design
- Software Design
- Virtual Circuits
- Virtual Circuits Code
- Part IV Conclusion
16The Minerva Project Overview
17The Minerva Project Hardware Design
18The Minerva Project Controller Boards
19The Minerva Project Controller Boards (cont.)
Sensor Breadboard
20The Minerva Project Sensor Rack
21The Minerva Project Under Body
22The Minerva Project Software Design
- Rapid prototyping
- Servo
- Motor
- Distance sensor
- Line sensors
- Sluggish response with looping
- Quick response with virtual circuits
23The Minerva Project Virtual Circuits
24The Minerva Project Virtual Circuit Code
- mSensor_C.Input.Link( C )
- mSensor_C.Output.Link( Sensor_Value )
- gSensor_C.Input1.Link( Sensor_C )
- gSensor_C.Output.Link( mSensor_C.Operate )
- gSensor_C.Operate cvTrue
- Index_Servo.Array.Link( Buff_Servo )
- Index_Servo.Index.Link( Sensor_Value )
- Index_Servo.Unit.Link( Servo.Value )
- Index_Servo.Operate cvTrue
25The Minerva Project Virtual Circuit Code
(cont.)
- Buff_Servo.Location R2
- Buff_Servo.Value 64 20
- Buff_Servo.Location R1
- Buff_Servo.Value 64 10
- Buff_Servo.Location C
- Buff_Servo.Value 64
- Buff_Servo.Location L1
- Buff_Servo.Value 64 - 10
- Buff_Servo.Location L2
- Buff_Servo.Value 64 - 20
26The Minerva Project Outline Part IV
- Part I Overview
- Part II Components
- Part III Design
- Part IV Conclusion
- Overall Performance
- Picture of car
- Lessons learned
- References
27The Minerva Project Overall Performance
- Follows a straight line
- Follows a curved line
- Follows a 90º turn
- Slows down while turning
- Stops to avoid objects
28The Minerva Project Picture of Car
29The Minerva Project Real Picture of Car
30The Minerva Project Lessons Learned
- Jason has zero short term memory and is insane
- Carolin likes Corona
- Rachel is growing
- Dont 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 boards
- KISS Keep It Simple, Stupid
- SEB 133 Great for meeting guys gals
- CSE 480 BEST CLASS EVER!
31The Minerva Project Real Lessons Learned
- Rechargeable batteries are cheaper in the long
run - Single distance sensor is not adequate
- The more line sensors the more accurate the
response - 0.2 is almost impossible to achieve after
running into a wall
32The Minerva Project References
- http//www.wikipedia.org/wiki/Automated_highway_sy
stems - http//www.aaroads.com/high-priority/corr16.html
- http//www.path.berkeley.edu/PATH/Publications/Med
ia/FactSheet/pprogram.pdf - http//www.berkeley.edu/news/media/releases/97lega
cy/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?proje
ct97 - http//electronickits.com/kit/complete/remote/ck19
00.htm - http//www.oopic.com
- http//www.oopic.com/servo.htm
- http//www.dprg.org/tutorials/1998-04a/
- http//www.magnevation.com/descriptionpwmx2a.htm
33The Minerva Project