Automatic Recharging System for Autonomous Robot

Final Project Proposal

By Dexter Travis

Advisors: Dr. Huggins and Dr. Malinowski

December 12, 2001

Project Summary

            The primary goal of this project shall be to upgrade the Pioneer1 robot made by Activemedia Corporation.  This robot was purchased as a part of the Telerobotics 2001 project at Bradley University.   During that project a system for controlling the robot over the internet was created.  This project will incorporate a system to detect low battery voltage, map a path to a docking station, proceed to the dock and charge the batteries.  Upgrades and improvements will also be made to the web server by rewriting in Java instead of C++.  Also included in this project will be an enhancement of the user interface.  Optionally if time allows this project may port the user controls to a handheld Palm OS device.

Functional Description:

The purpose of this project shall be to upgrade and enhance the operation of “Telerobotics 2001” robot. This robot is a Pioneer 2-DX produced by Activemedia Robotics.  The intention is to allow 24 hour a day, 7 day a week operation.  This will be done by enhancing the robot software to be able to find a docking station placed within the landscape.  This docking station will be a simple battery charger adapted to allow drive-in charging.  This project shall include building this simple dock.  Once battery is charged robot will return to wait state and accept user input.  This project shall also upgrade to a more user friendly interface.  Additionally if time allows the user interface will be adapted for use on a Palm OS handheld device.

System Inputs and Outputs

The system is defined as the software that shall run on the laptop which is placed on top of the robot.  Inputs to the system shall be the battery voltage, wheel movements, sonar array, motor overload, video camera and user inputs from the internet.  System outputs shall take the form of commands to various peripherals, mainly the actual robot.  These commands will be to move, stop and report back any sensor readings.  The system shall also output various status information as well as video data.


Inputs

Battery Voltage

Input from robot tells software if battery is ok or needs charging

Position

Input from robot formatted as X and Y coordinates this will be inaccurate due to a 3D landscape and slippage of wheels on floor tile.

Sonar array

Location and range finding input from robot utilizes the 8 channel sonar array on the front of the robot

Motor  overload

Input from robot that motors have overloaded

Video camera

Input to software, handled by NetMeeting sent to user

User inputs

From GUI located on remote computer accessible to public via Internet will allow control and manipulation of robot

Outputs

Movement commands

Commands that instruct robot how to move.  Format of distance, direction and speed.  Also available are turn commands

Stop command

Will instruct robot to stop

Report command

Robot will send back to system various sensor information a sort of status request

Status

Output to a web user the status of the robot, how many users logged in, current state of robot etc.

Video

Handled by NetMeeting this is the video from the web cam mounted on the robot will be sent direct to web user.

 System Level Block Diagram Including Subsystems

Automatic Recharging System for Autonomous Robot

Dexter Travis

System State Definitions:

Active User

Wake Up routine will pull robot out of sleep mode and prepare it for interactions with user

Still Connected? Determines if user is still logged on.

Battery OK? routine checks voltages and determines if a recharge is required this will be done periodically.

Movements will be executed as commanded by user thru this routine that will send requests from software to hardware.

Wait

Wait for User this will listen for a user.

Battery OK? routine checks voltages and determines if a recharge is required this will be done periodically.

Find

Locate Self routine will determine location of robot.

Map route to dock routine determines best way to get back to docking station.

Movements will be issued by software to physically move robot from present location into the dock

Charge

Docked? routine will make physical contact with the charger

Battery OK? Determines when robot is fully charged and may leave the dock.

Pull Out routine will move robot just out of contact with charger. At this point system will return to Wait state.

Maintenance

Email routine will send automated email to Administrator detailing problems encountered.

Restart/Shutdown routine will be able to perform complete shutdown, full restart or simple restart of certain software elements.


Detailed Sublevel Block Diagrams:


Datasheet:

Inputs:

            The inputs to the system will be in the form of user interaction the a java applet.  There will be a slider for rotational velocity and forward velocity.  The user will also direct the movements of the robot via the arrow keys which will correspond to move forward, move backward, rotate left and rotate right.  In addition if time allows the user will be able to look at a map of the robot environment and click on the location he/she wishes the robot to move to.

Outputs:

            The outputs returned to the user will be a NetMeeting video taken from the onboard web cam.  The map is again an optional output that may be implemented if time allows.  The map would consist of all the obstacles in the environment as well as a marker for the robots position and direction.

User Interface:

            The user interface will be a Java applet.  This applet will implement listeners to allow control of the robot with the user’s keyboard.  There may be a map of the environment with an indicator of the robots position and heading updated periodically.  This interface will also allow the user to adjust the speed of the robot.  Video feedback will be provided by NetMeeting.  An overhead camera may also be used to help the user navigate without running into obstacles.  The existing java applet is shown in figure 1 below.  This project will be an enhancement of this user interface

Figure 1

Demonstration

            The only foreseeable way to test and confirm the success of this project will be to observe the robot and see that when battery voltage is low it returns to the dock.  By hooking up a power supply instead of a battery one may be able to simulate a drained battery condition.  The user interface will be demonstrated by normal use of the robot over the internet.


Standards and Patents

This Project will employ the 802.11b standard for Wireless LAN’s.  This is a standard set forth by the IEEE.  Compliance with this standard is insured by the use of a compliant 802.11b network card and 802.11b Wireless access point.  This standard allows 11Mbit data transfer from a portable computer to the access point and then to a standard cable based LAN.  I have been unable to find any patents dealing specifically with mapping and navigating a robot such as this in an environment such as ours

Also used for this project is the NetMeeting standard, known as H.323.  This is a standard for negotiating methods of data transfer used in many teleconferencing situations.  This should make it possible for anyone with an H.323 application to view the video stream from robot.


Equipment List

Item Description

When Needed

Price

Casters and various other parts for the modification of Robot to mate with docking station.

~April

~$20-$30

Printed Circuit board for base of robot docking station

~April

TBD

At least one set of new batteries for Robot

Anytime

~$30