final presentation ee 396 – micromouse spring 2008 friday, may 9, 2008 donald kim lab - post 214
Post on 21-Dec-2015
218 views
TRANSCRIPT
Team Mighty Mouse
Mark Fujihara Team Leader, Hardware Designer
Bryant Komo Hardware Designer Programmer
David Ota Programmer
Project Overview
Build an autonomous robot mouse that can find the center of a 16 x 16 maze, then calculate the shortest/fastest path to the center and make multiple runs.
Initial Team Goals
• Implement the side looking sensor technology• Build a light and fast mouse• Build a “smart” mouse that can efficiently find the
center of any maze• Right, Left, Random Wall Huggers• Map the maze • Follow the flood fill algorithm• Solve the maze• Make 45° turns
• Bring a mouse to the mainland and win!
The Design – Where We Left Off
The Not-So Final Cuts Four sensors for 45° turns Sensors mounted on
plexiglas brackets screwed in to base, allow changes
More space and rounded corners for sensor mounting
Design more powerful “American Muscle Car” type mouse
7.4 V Lithium-Polymer battery
The Chassis – Problems
TimeFluctuating sensor values, yielding
unreliable results in mazeSensor angles not consistentNot good for correcting and turning
Very noisy, too much vibrations
The Chassis – Changes
Three Sensors – no 45’s, no time, “broken” sensor
Balsa wood sensor mount - fluctuating sensor values
Angles and directions change too much, makes sensors unreliable
11.1 V battery More speed and more
torque on motors Lock washers for all nuts
and bolts
The Circuit – Initial Design
Prototype on breadboardFor testing while we learned to etch a PCB
Prototype on self-etched PCBTo run at Mini-Competition I
ExpressPCB – PCB For final mouse
The Circuit - Problems
Holes not big enough Headers, Regulator
Switch not implemented in circuit Too much current for thin lines Too much low frequency noise in the high
voltage signals Too much heat on voltage regulator and motor
drivers Melted solder, broke pins, shorted out components
4 regulators, 3 Rabbits Poor set-up for debugging
The Circuit – Final Design
Re-drilled larger holes Ran thicker wire for
high voltage and ground lines
Added 100μf capacitors to source voltage pins
Testing heat sinks, larger resistors
Added in sensor LEDs
The Code – First Take
Separate functions for motor movement, sensor reading
Co-states, delay milisecond for clock rate Read in port by port, convert binary to
decimal Plans
Mapping Bellman-Ford Flooding Algorithm
Take One - Problems
Clock rate only had three usable speeds Not enough definition
Correcting was too slow on the leftLeft turn did not work
The Code – Take Two
No co-states at all For loops instead; fixes speed problem
K-controlling Left or right wall hugger ADC ports changed to read in and calculate
binary to decimal automatically Plans
Mapping Bellman-Ford Flooding Algorithm
Take Two - Problems
No independent motor control Proportionality controlling did not work
with for loops Both motors sped up at same time
Flood Fill simulation did not work
The Code – Final Algorithm
Inspired by Jay Abel with assistance from Alex Zamora
Created own clock with control to toggle clock signal up or down
Flags tell mouse of openings ahead, mouse moves one cell before turning
Reliant on step count Will not turn till exact step count is reached Set up for a solving algorithm
Proportionality control correcting Random wall hugger code
Final Algorithm - Problems
Code is messy Magic numbers Global variables Randomly commented out “stuff”
Right wall flag would not go down after seeing right wall and moving straight Turned right into dead end corner
Very complex
Unfulfilled Goals
Build a “smart” mouse that can efficiently find the center of any mazeFollow the flood fill algorithmSolve the mazeMake 45° turns
Stay within budgetOver $800
Fulfilled Goals
Implement the side looking sensor technology Build a light and fast mouse (relatively speaking) Build a “smart” mouse that can efficiently find the
center of any mazeRight, Left, Random Wall HuggersMapping code
Bring a mouse to the mainland Win!
Improvements
• Connectors more forward or back, not right over wheels
• Chip sockets for everything• Thicker PCB traces with less right angles• Wider wheels for more traction• Mapping and solving code implemented
Design Suggestions
• Read the Spec. Sheets FIRST!• They are gold and should always be on hand
• Be NEAT!• Use a PCB, but make sure it is right.
• Watch out for pad size and trace thickness• Send it out and get a double layer design, the circuit design
is a lot easier to do.• Keep wires neat and use connectors• Use chip sockets for easy replacement of ALL parts
• Design for easy debugging• LEDs work very well especially for sensors
• Don’t be afraid to change the design
Completion Suggestions
• Do NOT waste time, the semester is not as long as you think…The project is also not as easy as you think.
• Work in parallel (half code, half hardware)• Make sure EVERYONE understands function of each
component, and how mouse will sense and move first• Don’t be afraid to seek help• Work, Work, Work. If you plan to go to
competition, every bit of free time needs to go into the mouse. Nights, weekends, breaks, etc.
Thanks To…
Mitchell aka “Light Weight” LaPuente
Malcom aka “Double Digit” Menor
John aka “John” Miyajima
•Thanks for helping to make the trip fun, in between all the work! It was great getting to know you guys.
Special Thanks To…
Dr. Tep DobryDr. Tep Dobry
• Thank you for believing in us and taking us to the Regional Competition
• Thank you for the wonderful trip, it was a great experience for us all
Lifetime Thanks To…
• Thank you for your debugging skills, hardware tips and lessons and “killer” code ideas.
• We would like to present you with this Commemorative Green Rabbit so you never forget how much your help meant to us
Mr. Alexis “Savior” ZamoraMr. Alexis “Savior” Zamora• Thank you for spending all of those long, sleepless all-nighters with us, leading up to the competition.
Last, but not least, a demonstration…
Disclaimer: In case our step count is off and it screws up, here is proof that our mouse did actually move at the competition
Project Demonstration