Function Description

Automatic Recharging System for Autonomous Robot

Dexter Travis


Upgrade and enhance the operation of existing robot.  The Major upgrade shall be 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 docking.  Once battery is charged robot will return to wait state and accept user input.

System Inputs and Outputs

System is defined as the software that shall run on the laptop which is placed on top of the Bot.  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 of sensor readings.  System shall also output various status information to the user as well as the video data.


Battery Voltage

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


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


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


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


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

Software State Flow

State Definitions


Robot shall wait in a low battery state.

Find: Can move directly from Wait to Find when battery voltage is insufficient

Active User:  moves directly from Active User to Wait as soon as a user logs off.

Maintenance: this mode always returns to Wait mode after complete.


In this state the robot is searching for the recharging station.

Active User: will move from Active User to Find if battery voltage is too low.

Wait: will enter Find state from Wait if battery voltage drops below threshold.


Automatic Recharge of battery, when voltage is restored will cease charge.

Find: Find state is the only access to the Charge state and the transition is made when the robot finds and docks with the recharging station.

Active User

User is exploring the Martian landscape.

Wait:  Wait state moves to Active User state when a users logs on


This state will be entered due to some error, possible actions may include email administrator, lock out users, load software or restart system. Can only return to Wait. Can enter Maintenance mode from any other mode