290 likes | 416 Views
ECE 345 PRESENTATION. Robotic Maze Solver David Yang Niraj Nayak. PLANNED DESIGN. #1. Build a car to navigate maze autonomously #2. Car should store maze in memory and derive optimal solution. PROJECT BUILD. Step-by-Step Modular Design. #1: Serial Communications.
E N D
ECE 345 PRESENTATION Robotic Maze Solver David Yang Niraj Nayak
PLANNED DESIGN • #1. Build a car to navigate maze autonomously • #2. Car should store maze in memory and derive optimal solution
PROJECT BUILD Step-by-Step Modular Design
#1: Serial Communications • Establish Serial Link between HC12 and Jornada running Embedded Visual Basic (EVB) • This allowed us to send commands to MCU
HC12 Serial Port • To send data: • Check that buffer is clear • Write data to serial port data register • To receive data • Check if a byte has been received • Copy data from data register
Jornada Serial Comm. • To send data • Comm1.Output = “a” • To receive data • While Comm1.InBufferCount<?? • Input=Comm1.Input
#2: HC12 PWM • The pulse width and period can be set on a PWM register • Pulse width controls speed of motors through a speed controller
PWM Protocol • EVB sends “b”, HC12 sends both motors forward • EVB sends “c”, HC12 sends both motors backward • etc…..
PWM Example • Neutral Pulse ~1.5ms • Forward Pulse is .5ms longer • Reverse Pulse is .5ms shorter
PWM • Hooked PWM Outputs to Rooster Speed Controllers • Calibrated Speed Controllers • Successfully drove car using EVB
#3 : Sensors • Originally had distance sensors • Very complicated to measure and parse • Many timing issues • Decided to use proximity sensor
Proximity Sensors • Sharp GP2D150A • 15cm range +/- 2.5 cm • Outputs logic low when d>15cm • Outputs logic high when d<15cm
Using Sensors • Send character to MCU • Wire sensors to I/O Port • Send value of port back to EVB • Successfully read sensors with EVB
#4 Algorithm • Right Follow Algorithm- • Move cell to cell • If open right turn, take it • Else move forward • Else move left • Else turn around • This should solve all mazes
#5 Maze • Used a 4 by 4 cell maze • 2’ X 2’ X 1’ dimensions • Constructed out of wood
#6 Car Settings • Set times to leave motors on to move F one cell • Set times for L,R & Full turns • Used 3 sensors: F, L, and R
#7 Wireless Comm. • Used the “Winsock” object on Visual Basic • Communicated from laptop running VB to Jornada running EVB. • 802.11 Standard
#7 Wireless Comm. • Wireless control • Send commands to Jornada • Manual driving • Move to “Next State” • Read “Current State” of Jornada
#8 Error Correction • Car kept hitting walls of maze • Solution1: Mount extra sensors to detect when we get too close – not robust enough • Solution2: Mount sensors on servos
#9 Optimal Algorithm • Didn’t have time to complete
SUCCESSES • Serial Communications • Wireless Communications • Visual Basic Programming • Modular design • Error Correction
FAILURES • Trying to number crunch • Storing maze in memory • Optimal solver
FURTHER TESTS • Faster Speeds • More runs to determine success rate • More complex mazes
Recommendations • More sensors for better error correction • Rolling vs “Shopping Cart Wheels”