Cool App: Clean Sweep    

App Name: Clean Sweep
Author: Chris D. Odom
Date: 9.15.05
Filename: CleanSweep.bas (View) | (Download)
MAP File: CleanSweep.mpp
(Click on images to enlarge them.)
  1. View the action from the human's point of view.

  2. View the action from the robot's point of view. A wireless video camera mounted on the robot transmits to a fixed receiver and the video is recorded.

Description: This program controls the Mouse robot (made by Robodyssey Systems) to clean off all objects from a table.

The robot is equipped with a voltage divider board, or VDB, which is used to monitor the light intensity measured by a common photoresistor. To start the robot moving, turn off the lights or cover the photoresistor to simulate a dark environment.

The robot is also equipped with a Gripper and three infrared sensors. Two of the infrared sensors are attached the left and right front edges and point down to detect the edge of the table. The other front IR sensor is forward-looking and is attached to the Gripper. When the forward sensor detects an object within 25cm, it rapidly moves forward until the object is within the Gripper's jaws. The jaws then close on the object and hold fast with repeated pulsing to the Gripper.

Once the object has been secured, the robot searches for the edge of a table. Once it finds the edge, the opposite wheel will slowly rotate until the IR sensor on that side also sees the edge. Then the Gripper's jaws open and the object drops to the floor. As it falls, the piezo buzzer plays a descending tone.

The robot never stops, although it can be easily programmed either to pick up a certain number of objects or to stop searching after a certain amount of time has elapsed with no object detection.

For fun, I added a small, wireless color video camera to my robot so I could see the action from the Mouse's point of view. This 1.2GHz camera runs off a 9V battery and continually transmitts live video to its receiver, which connects to any device that has an RCA input.

Robot Hardware:
Description Component Connected to...
Mouse Robot Basic Mouse -- (Buy it.) N/A
Left Servo Futaba S3004, modified -- (Buy it.) Pin 5 (RAMB Pin 0)
Right Servo Futaba S3004, modified -- (Buy it.) Pin 6 (RAMB Pin 1)
Gripper Gripper Kit with Hi-Tec servo -- (Buy it.) Pin 20 (RAMB Pin 15)
Photoresistor VDB with photoresistor -- (Buy it.) Pin 13 (RAMB Pin 8)
Forward IR Sensor Sharp GP2D12 -- (Buy it.) Pin 14 (RAMB Pin 9)
Right IR Sensor Sharp GP2D12 -- (Buy it.) Pin 15 (RAMB Pin 10)
Left IR Sensor Sharp GP2D12 -- (Buy it.) Pin 15 (RAMB Pin 11)
Piezo Buzzer PXB -- self-driven -- (Buy it.) Pin 12 (RAMB Pin 7)
Video camera (optional) Wireless, 9V, 1.2GHz -- (Buy it.) N/A
  1. Currently, this program is written to grab small objects. Alter the Gripper constant Closed to grab different sized objects.

  2. Alter the MaxLight constant to fine tune the sensitivity of the photoresistor.

  3. Calibrate the L and R infrared sensors by aiming both at the edge of the table. Both sensors should be pointed so that they just detect the table's edge when the Gripper is over the edge. The robot should be pointed perpendicular to the table's edge at this point.)

  4. The constant GripDepth is used to give the depth of the Gripper's hand. This value was fudged (hence the negative (-)) so that the robot would travel far enough when the object was far away. (A round cup sometimes scatters the IR light, which gives a slightly false distance reading.)

Copyright 2006, Chris D. Odom. All Rights Reserved