410 likes | 659 Views
Autonomous Drones. Group C Dominique Ross Chris Brunson James Sexton Ceceile Vernon- Senior. Administrative Introduction. Our goals for this project is for the two robots to work together intelligently using wireless communication
E N D
Autonomous Drones Group C Dominique Ross Chris Brunson James Sexton Ceceile Vernon- Senior
Administrative Introduction • Our goals for this project is for the two robots to work together intelligently using wireless communication • Not only did we want a cost effective robot we wanted to make the whole process of an autonomous robot solving a maze more efficient and faster.
Project Goals • To build 2 robots that work together to navigate a maze • The robots must communicate wirelessly and analyze information intelligently • The robots must use each other’s information to gain information on how to solve the maze • The robots should be able to figure out where and how far the walls are from them and record which routes have been taken to learn the maze
Specifications and Requirements • 2 robots that communicate through a wireless connection • The base of the vehicle should be able to rotate 360° • The code should execute immediately and the robots should not pause longer than 10s • Robots should be able to measure their distance from the wall to a degree of error not greater than 4 cm • Robots should be able to store maze information and send it • The robot should be able to identify dead ends in no more than 5s • Each robot should cost less than $150 to construct
Microcontroller – Arduino Duemilnaove • ATMEGA328 • USB Interface • Cross-platform • Open source • 32 KB Flash Memory • Well documented
Compass Module – HMC6352 • Simple I2C interface • 2.7 to 5.2 V supply range • 1 to 20 Hz selectable update rate • 1 degree repeatability • Supply current: 1 mA @ 3 V • 0.5 degree heading resolution
Power Needs From testing we discovered that it was beneficial to power the motors and the microcontroller separately with a 9 V battery and a 4.5 V DC battery.
H-Bridge • SN754410 Quad Half H-Bridge • Capable of driving high voltage motors using TTL 5V logic levels • Can drive 4.5V up to 36V at 1A continuous output current
Pololu QTR- 1RC Reflectance Sensor • Operating Voltage : 5 V • Supply current: 25 mA • Max recommended sensing distance: 0.25” (6mm) • Optimal sensing distance: 0.125” (3mm) • Digital I/O compatible
Xbee Shield • Mounts directly onto your Arduino • 3.3V power regulation and level shifting on-board
XBee Chip Antenna • 3.3V at 50 mA • 250 kbps Max data rate • 300 ft range • 6 10-bit ADC input pins • 8 digital IO pins
Base Vehicle • In deciding the body of the autonomous robot a number of concerns came into play. • The robot needs to be sturdy yet lightweight in order to mount all the additional parts • The robot must be able to turn on a dime and navigate corners in order to travel the maze effectively • The platform of the robot should be a disc like shape
Navigational system • The navigational system we had to choose from • Two wheel • Light Weight • More effective in maneuvering the maze • Cost effective • Three wheel • Center of gravity is in a triangular shape which makes it very easy to fall • Does not perform well on any form of rough terrain • Not as efficient or cost effective • Four wheel • Its much harder to build and much more costly
Frame of Vehicle • Pololu Round Robot Chassis • It has many holes and slots to mount the hardware • Low cost at $25 • Able to turn on a dime • Light weight
Servos • DC Motors • RC Motors • Stepper Motors
DC Motors • Compact Size • High efficiency • Low current consumption • Low starting voltage • Low inertia • Reliable • Longer service life • Low inductance
If you encounter a new junction: Pick a direction at random If you are traversing a new path and you encounter an old junction: Turn back If you are traversing an old path and you encounter a old junction: Take a new path if available, otherwise take an old path If you encounter a dead end: Turn back Tremaux's Algorithm
Search (Vertex startV) List vertices = empty List Set visited = empty Set Add startV to vertices while (vertices is not empty) { Vertex V = remove element from vertices if (visited does not contain V) { // Handle V here // (e.g. check if destination Vertex) Add V to visited for every Vertex X connected to V if (visited does not contain X) Add X to vertices } } } Graph Traversal
SeedStudio Ultrasonic Range Finder • Breadboard friendly • Arduino library ready • Light weight • Wide range from 3cm – 400 cm
SeedStudio Ultrasonic Range Finder • Efficient communication between the micro-controller • Best if used in 30°
Testing • DC Motor/H-Bridge wheels test • Chassis test with wheels turning on axis • Rangefinder test • Compass test • Pololu QTR- 1RC Reflectance Sensor Test
Project Budget and Financing • The Budget to the End of the Project
Project Budget and Financing • The Budget of just the Robot Parts