Autonomously Charging Robot

Introduction

The final portion of my junior design class was encompassed by a 13-week team project. My team built a self charging robot whose job was to find its own home base when its batteries were low and dock on the station without human interaction. This project involved power supply design, analog design, signals and systems, mechanical design, and embedded programming.

Design

Engineering Requirements

  • Customer Requirement: The robot should be able to find and connect to its charger at close distances.
    Engineering Requirement: At least 9 out of 10 times, the system can successfully navigate and connect to the charger without human intervention when placed at least 2 feet away.
  • Customer Requirement: The robot should be able to find and connect to its charger at long distances.
    Engineering Requirement: At least 2 out of 5 times, the system can successfully navigate and connect to the charger without human intervention when placed at least 20 feet away.
  • Customer Requirement: The robot can navigate on multiple surfaces.
    Engineering Requirement: The system can travel across tile, carpet, and concrete floors with no more than 10% difference in speed between all surfaces.
  • Customer Requirement: The robot has reasonable battery life.
    Engineering Requirement: The system will move for at least 10 continuous minutes on a single charge.
  • Customer Requirement: The robot looks aesthetically pleasing.
    Engineering Requirement: At least 9 out of 10 people agree that the robot is more aesthetically pleasing than 4 other commercial robots from the market.
  • Customer Requirement: The robot must avoid obstacles.
    Engineering Requirement: At least 4 out of 5 the times, the robot will not touch obstacles that are taller and wider than a 6 inch by 6 inch by 6 inch cube when the obstacles are no closer than 3 inches from the front of the robot.
  • Customer Requirement: The robot must return to home by remote control if triggered by user.
    Engineering Requirement: At least 4 out of 5 times, the robot will return to its charging port when triggered by a remote when the remote is less than 10 ft from the sensors on the front of the robot and the robot is less than 20 ft from the charger when the line of sight between the remote sensor on the robot and the robot is clear.
  • Black Box Block Diagram

    Self Charging Robot Black Box Diagram

    Top Level Block Diagram

    Self Charging Robot Top Level Block Diagram

    Interface Definitions

    battery_robotprocessing
  • 5V to Arduino
  • 45mA of current draw
  • battery_motors
  • Voltage from 3V to 12V
  • Nominal Voltage: 6V
  • Peak Stall Current: 800 mA
  • Peak Free-run current: 70 mA
  • sensors_robotprocessing
  • 5V from Arduino
  • Sonar sensors sense when obstacles that are taller and wider than a 6 inch by 6 inch by 6 inch cube are no closer than 3 inches from the front of the robot
  • outside_env_remote
  • Remote must be less than 10 ft from robot and robot is less than 20 ft from charger
  • No physical interferences in the line of sight between the IR transmitter on the remote and the IR receiver on the robot.
  • remote_robotprocessing
  • Remote must be less than 10 ft from robot and robot is less than 20 ftIR Remote will send input from user to the microcontroller at 38KHz
  • Remote is powered by 3V batteries
  • robotprocessing_motors
  • 2A peak DC operation current for motor driver
  • 7V peak supply voltage for motor driver
  • motors_outside_motion
  • Speed on all surfaces within 10%
  • Max speed greater than 0.3 m/s
  • 10 min or greater time in motion
  • acpower_charger
  • 120 VAC
  • 2A Peak
  • NEMA-15P Plug
  • charger_battery
  • Disengages when done charging/certain time has been met
  • 9.6V Battert
  • 8.4V-9.6V NiMH Charger
  • outside_env_enclosure_frame
  • Surfaces include: Tile, short carpet, concrete
  • Obstacles that are taller and wider than a 6-in by 6-in by 6-in cube
  • charger_baseprocessing
  • Nominal Input Voltage: 7- 12V
  • Peak Input Voltage: 6-20V
  • baseprocessing_sensors
  • Emits IR signal of 940nm wavelength to robot so robot can find charger
  • There will be no physical interference between the base and the robot
  • code_robotprocessing
  • Programming in Arduino
  • Proram determines processing of information from SONAR and IR sensors
  • Program determines RPM and direction of motors
  • outside_env_sensors
  • Sensors identify any obstacle bigger than a 6-inch by 6-inch by 6-inch cube
  • Sensors can identify obstancles which are stationary
  • Final Thoughts

    This project was challenging because it involved the integration of many different technical parts. Technically speaking my area of expertise in this project was designing the power aspect of the projects. In this project, where the power supply was such a large portion of it, it was important to pick the corrrect technical specifications in order to best meet the project requirements and meet them efficiently. My biggest takeaway from a project management standpoint was that given 13 weeks it is crucial that members of a team are able to rely on others technical portions being finished in order to continue progress on a project. Additionally, it is important that every member remains on schedule and that other members hold each other accountable.