450 likes | 529 Views
PowerBot is an autonomous robot with onboard auxiliary battery to charge mobile devices seamlessly. It navigates using onboard algorithms, and the iOS app provides control and statistics. Designed to solve battery life issues in a user-friendly manner.
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