Title: Final Presentation Team Amaze Me
1Final PresentationTeam Amaze Me
2Content
- Members
- Overview of Project
- Goals
- Structure of Design
- Design Decisions
- Problems Improvements
- Status
- Discussion Demo!
3Members
- John Miyajima
- Brandon Gibu
- Chad Higa
- Justin Ogata
4Overview
- Construct an autonomous mouse
- Traverse a 16 x 16 maze
- Implementing better components
- Efficient solving algorithm
5Goals
- Find the center!
- Applying our experience
- Approach project with short goals
- Using the Gantt Chart
6Structure of Design
7Structure of Mouse
Power Unit
Driving Unit
Pulse motor
Rotations
5 V supply
Rabbit µProcess 2000
Control Movement
Charge batteries
Sensor conditions
Sensing Unit
Step Down Voltage
Sensor byte values
8-bit Reading
5 V supply
Sensor Running Sequence
Analogue Value
12 V supply
Figure 1 Block Diagram of Mouse
8Hardware Design
Rabbit Microprocessor
PCB
Side Sensors
Wheels
Chassis
Figure 2 Front View of Mouse
9Hardware Design
Rabbit Microprocessor
PCB
Battery Pack
Chassis
Wheels
Figure 3 Side View of Mouse
10Hardware Design
Rabbit
PCB
Battery Pack
Figure 4 Top View of Mouse
11Software Design
12Software Design
- Algorithm
- Seeking Right Wall Hugger
- Tracking ? K-Controller ??
- Costates for loops
- Global functions
- If statements ? Navigation
13Example of Costates K Controller
-
- KvalueLsensor/Rsensor
- costate
- waitfor(DelayMs(3))
-
- //Counter mouse to the Right
- if(Kvalue gt 0.10 Kvalue lt 1.00) // Kvalue
less than 1 - PORTA4OFF // Control the rotation of
right motor - PORTA6OFF // Control the rotation of
left motor - costate
- PORTA5ON // Pulse the clock
- PORTA7ON
- PORTA5OFF
- waitfor(DelayMs(5)) // Delay
one motor first - PORTA7OFF // Delay the other
motor shortly after - waitfor(DelayMs(10))
-
Figure 5 Top view
Figure 6 Code of Tracking Using Costates
14Example of for Loop
- void straight(void) // Go straight!
- int z, i
- for( z0 z lt 50 z) // Repeat the Sequence
-
- PORTA4OFF // Control rotation of right
motor clockwise - PORTA6ON // Control rotation of left
motor counter clockwise - for(i0 iltforspeed i) //
Hold the values -
- PORTA5ON // Clock pulse for right
motor - PORTA7ON // Clock pulse for
left motor -
- PORTA7OFF // Switch clock
pulse - PORTA5OFF
-
-
Figure 7 Straight Global Function
15Example of Global Function
- void rightturn(void) // Turn right !
This works! - int m,n
- for(m0 m lt 90 m) // 90 is a perfect value
for perfect 90 degree turns!! -
- PORTA4OFF // Control rotation of right
motor counter clockwise - PORTA6OFF // Control rotation of left motor
counter clockwise - for(n0 nlt forspeed n) // forspeed
clock speed - // Hold the values
- PORTA5ON // Clock pulse for
right motor - PORTA7ON // Clock pulse
for left motor -
- PORTA7OFF // Switch clock
pulse - PORTA5OFF
-
-
Figure 8 Right Turn Global Function
16If Navigation
- if(Lsensor gt 55 Msensor gt 80 Rsensor gt 45)
// 111Pattern -
- reverse()
- stop()
- oneeighty()
- stop()
- step()
- read()
-
-
Figure 10 Dead End Case
Figure 9 Dead End Code
17Interesting Features
- Packing Contest (3rd Place) ? Changes
- Alkaline ? Lithium
- Bread board ? PCB
- K Controller
Video 1 Tracking
18Design Decisions
- Components that we didnt use
- Switcher
- Used Voltage regulator
- Ball caster
- Sliders
- LiFePO4 battery
- AA
Figure 11 Sliders cushions
19Problems Solutions
- AA battery pack
- Leaked fluid damage
- Due to contact to chassis
- Handle with care
- Difficulty assembling PCB
- Brute force!
- Staying on task
- Work harder!
Figure 12 Fluid on battery pack
20Outstanding Problems
21Future Improvements
- Implement desired components
- Switcher
- Ball caster
- LiFePO4 battery
- PCB Rabbit
- Better Wheels
- Use Dip Switch ? Multiple Algorithms
- Apply Floodfill
22Current Status
- Gantt Chart
- Coding
- Hugger
Table 1 Final Gantt Chart
23Acknowledgements
- People
- Dr. Dobry
- Alex Zamora
- Tyson Seto-Mook
- Toy Lim
- Quang
- Joanne Flores
- Monalisa Cabahug
- Team
- Raiton-No Desuku
24Questions Discussion