450 likes | 526 Views
PowerBot Group #2: Tarik Ait El Fkih Luke Cremerius Marcel Michael Jerald Slatko. Sponsored By: Aeronix , Inc. Project Description. Autonomous Robot with onboard auxiliary battery Used to provide supplemental power to mobile devices (laptops, mobile phones… etc )
E N D
PowerBot Group #2: TarikAit El Fkih Luke Cremerius Marcel Michael Jerald Slatko Sponsored By: Aeronix, Inc.
Project Description • Autonomous Robot with onboard auxiliary battery • Used to provide supplemental power to mobile devices (laptops, mobile phones…etc) • Uses onboard navigation algorithms to navigate to users location • Has iOS application to provide robot statistics and is used to control PowerBot’s movements.
Project Motivation • Battery life longevity in mobile devices is a constant issue. • Wanted to create a charging solution that could charge the device without inconveniencing the user. • The device would be simple to use, allowing for easy adoption into a users everyday routine.
Objectives • PowerBot will be able to navigate autonomously to a users location. • PowerBot can be remotely controlled by user input, through the use of an onboard camera and the provided iOS application. • PowerBot will contain a battery used to charge external devices through the use of USB, DC, and inductive charging.
Specifications • Will be at most 36” long • Max speed of 5 mph • Battery life of minimum 24 hours • Able to charge mobile phone from 0% - 100% without needing to recharge internal batteries • Will re-charge internal batteries through in-home AC and/or via onboard solar panel. • Will navigate to the user autonomously • Can be operated via manual control
Obstacle Detection • Half-ring of eight ultrasonic sensors • One or two sensors on back to serve as bumper • Rapidly ping the environment to detect objects within a ~200° arc • Sensor pinging is carefully timed to avoid cross–talk • Sensors operate on I2C bus to be individually addressed using only two wires
Ultrasonic Sensor I2CXL-MaxSonar® – EZ3™ • Operates at 3V – 5.5V • Avg. current draw: 4.4mA • Min. Distance: 20cm • Obstacles closer than 20cm give reading of 20cm • Max. Distance: 765cm (25.1ft) • 1cm Resolution • Readings taken at 15Hz to 40Hz depending on distance measured • Beam spread between 20° and 40°, depending on shape and distance of detected object • Real-time auto calibration (voltage, humidity, noise) Photo Credit: www.maxbotix.com
EERUF • Error Eliminating Rapid Ultrasonic Firing • R&D credit to Dr. Johann Borenstein • Reduces erroneous readings by up to two orders of magnitude! • Each sensor has two unique timing delays • Consecutive readings in a sensor are compared • Readings due to cross-talk can be identified and rejected if they fall within a timing outside of the receiving sensors’ timing • Timing parameters must be experimentally determined
VFH Navigation Algorithm • Vector Field Histogram (VFH) • Researched and developed by Dr. Johann Borenstein • Autonomous real time navigation (moves without stopping) • Utilizes an array of ultrasonic sensors • Rapidly takes readings while moving to update obstacle and localization information • Sufficient for speeds close to 1.5m/s • Extensible to include trap detection heuristics
How Does VFH Work? • Collect ultrasonic range information, map to a Cartesian certainty grid • Certainty grid is a 2D array with values between 0 and 15, representing the certainty that an obstacle exists at that point • This grid is converted to a visual map for the phone app • Certainty grid is mapped to a polar histogram • A polar slice has information about the density of obstacles in that direction • A candidate direction is chosen by comparing the directions of unobstructed paths to the target direction
Example Scenario Image Credit: Dr. Johann Borenstein
Example Scenario – cont’d Image Credit: Dr. Johann Borenstein
Example Scenario – cont’d Image Credit: Dr. Johann Borenstein
Example Scenario – cont’d Image Credit: Dr. Johann Borenstein
PIC32 Microcontroller • PIC32 family of microcontrollers was chosen to drive PowerBots navigation and Wi-Fi communication functions • The PIC32 features an 80MHz clock with an onboard 512Kb of flash and 64Kb of RAM • Model Number: PIC32MX695F512H-80V/MR
Wi-Fi Communication • Used as the primary mode of communication between PowerBot and the iOS application. • 802.11 used as physical layer communication with sockets used for higher level communication. Embedded Software iOS Software Application Layer Application Layer MCU –Serial iOS– Serial 802.11 – Socket 802.11 – Socket
Wi-Fi Module: MRF24WB0MA • The MRF24WB0MA microchip provides a complete Wi-Fi solution for onboard communication with PowerBot. • The integrated TCP/IP stack within the MRF24WB0MA allows for easier implementation of sockets and the passing of data via TCP/UDP.
Power Consumption • A low power communication solution. • Power features: • 250 A when in sleep mode • 85 mA when active and connected • 154 mA when active and transmitting
Wi-Fi Operating Modes If no message received in time interval Sleep Receiving Awake Transmitting Awake Receiving
Development Board • DV102411 chosen as development board • Combines PIC32 MCU with the Microchip Wi-Fi module • Model Number: PIC32MX695F512H-80V/MR Wi-Fi®Comm Demo Board (Part # DV102411)
Software Layout iOS Application PowerBot Motor Control Embedded Navigation Algorithm Power Management Sonar Sensors Servo Motors Solar Panel Charging Ports
iOSApplication • Written in Objective-C using Xcode 4.4. • Offers multiple options for PowerBot: • Settings • Navigation • Manual mode • Statistics
iOS Views • Each view contains a separate viewController allowing each tab to contain a unique layout of buttons and fields to be presented to the user.
Navigation • Contains world map information which recognizes touch gestures as a method of input. • Allows the user to select a location on the map for PowerBot to travel to. • Shows PowerBot’s current location within the world map.
Manual Control • Gives the user manual controls to drive PowerBot. • We are considering including a video feed along with manual control
System Statistics • Shows the user the current status of PowerBot. • Displays remaining battery power. • Display the current mode of operation: • Sleeping • Charging • Navigating
System Settings • Will allow the user to adjust settings for PowerBot’s operation: • Connect to a different Wi-Fi network. • Timeout interval before activating sleep mode.
Power 9 V Reg 6V 6 V Reg 5V 3.3V DC Motors • Servo Motors Inductive Charger 5V Reg Obstacle Avoidance USB 12V WIFI module Compass PIC 32 3.3 V Reg
Battery Requirements • 12 V battery • At least 2 Ah • Deep cycle for increased usage time • Low internal resistance • Flat discharge rate • Lightweight
Lithium Polymer Battery • Polymer Li-Ion Battery • 18650 cell type • 14.8 V (working) • 16.8 V (peak) • 2.2 Ah • 32.56 Wh • Reasons for choosing: • High energy density (Wh/kg) • High energy/dollar (Wh/$)
Alternative Power Source • Power outlet: • “Unlimited” power • Quick charging of the battery • Solar panel: • Environmental Impact • Financial Benefits • Energy Independence
Output Efficiency • Increasing the output efficiency of the panel: • Increase panel size • Implement tracking system • Single axis • Dual axis
Compare and Contrast • Dual axis control system would require more maintenance. • There’s an extra cost involved in utilizing an extra motor or actuator. • Increased complexity. • 6% extra efficiency compared to a single axis control system; not worth it.
Solar Panel Implementation • Free rotation of theta ( angle. • Phi ( is fixed in single axis system. • Optimal angle of phi (is 15°.
Servo Motor Specifications • Control System: +Pulse Width Control 1500usec Neutral • Required Pulse: 3-5 Volt Peak to Peak Square Wave • Operating Voltage: 6.0 Volts • Operating Speed : 0.15sec/60 degrees at no load • Stall Torque: 51 oz/in (3.7 kg/cm) • Current Drain: 7.7mA/idle and 180mA no load operating • Dimensions: 1.57" x 0.79"x 1.44" (40 x 20 x 36.5mm) • Weight: 1.52oz (43g) • Price: $12.95
Concerns • Accurately depicting a global map and linking it to PowerBot’s local map • Correct implementation of the EERUF Method • PowerBot becoming stuck in a trap situation