Introduction: Floor Cleaning Robot With Vex Robotics System

This instructable will tell how to make a floor cleaning robot that uses Vex Robotics System as a base platform.
The robot uses a paint roller to pick up crumbs and dirt and moves them into a dustpan. Also, a water tank continuously drips water onto a mop that rotates back and forth. Dragging behind the bot is a towel that dries the floor and picks up any leftover dirt.
The robot also navigates it way around by following a line of tape, so you don't have to watch over it or control it.

This is an entry for the 13-18 age category in the robot contest. 

Step 1: Parts Needed

For this robot you will need:
-Vex Micro-controller with battery pack
-Vex Line Sensor Kit
-4 Vex Motors
-1 Vex Servomotor
-2 short square axles
-2 12inch square axles
-2 black grommets
-2 rubber wheels
-Assortment of hardware
-several different vex beams

-bailing wire
-scraps of wood
-9 inch paint roller
-Dustpan with rubber edge
-12inch plastic plumbing pipe with 2 plugs that fit into either end (the pipe should be about 1.5 inches wide)

*Any of these parts can be replaced with others, but if any technical part is changed you may need to change the code.

Step 2: Make the Frame

For the frame, just screw together 4 right angle beams into a square, with 2 acting as cross beams; one in the tenth hole,  and the other in the 2nd hole. See the picture for better details.

Step 3: Mount the Wheels and Front Roller

To mount the wheels:
Screw on two black axle supports (one on each side, and on the outside of the beam). See the picture for placement. Then screw on the motor facing outward, with a spacer between it and the beam. There should be a space between the green axle holder and the beam. Now slide an axle in, but put a stop-collar around the axle between the motor and the beam. Next slide a spacer on the axle (on the outside of the beam), and the a wheel after that. Finally slide another stop-collar on after the wheel, and then tighten the collars up. The two collars will ensure that the wheel and axle do not come out of the motor.

To mount the front roller:
Screw on one black axle support (on the inside of the beam). See the picture for placement. Now place another support on the opposite side and instead of connecting it with a screw and nut, place a screw through the support and screw in into the motor. So the motor should now be connected to the frame with the green axle support on the very end. Next take the paint roller and insert the black grommets (they should have spikes around the outside and a square hole in the middle) into either end of the paint roller. Then slide a long axle (the 12 inch) through the frame, through the grommets, and finally into the motor. Use stop-collars to hole the roller in place.

*The pictures will probably be most useful while doing this step.

Step 4: Attach the Mop

To attach the mop, first, screw on an L-bracket on each side, four holes from the wheel axle.  Screw on the servo motor to an X-bracket with the L-bracket between the X-bracket and the motor.  On the opposite L-bracket, screw on a black axle support.  Then, take the mop and trim the ends down with a knife so that the unit fits within the width of the frame.  Slightly bend the mop's two tabs towards each other; this will hold it so that it moves with the axle.  Next, take a 12 inch axle and slide it through the L-bracket, through the mop's tabs and into the motor.  Use a stop-collar to hold the axle in place.  You may need to use hot glue to ensure that the mop moves with the axle. 

Step 5: Add the Dustpan

Now you can add the dustpan. First cut the handle and a few inches off the back so it can fit in the frame. Then cut the sides down so it is about an inch and a half tall. I used a saber saw to cut the handle off, and used a cast saw to cut down the sides, but a hand saw would work fine. Then take a thin piece of wood and cut it so it matches the opening where the handle used to be, and use hot glue to stick it on. Next take a soldering iron and poke a little hole through both sides of the dustpan, about an inch away from the back, and a centimeter away from the top.  Then cut  a 6 inch piece of bailing wire, thread half of it through one hole, and fold it so the two ends meet.  Do this for both sides. Then place the dustpan under the frame right up against the paint roller, and wrap the wire up around the horizontal beam. When you are done, the pan should be able to rotate so you can more easily dump it into the trash.

Step 6: Mount the Water Tank

To mount the water tank, take a piece of wood about half an inch thick, and cut two holes in the wood that are slightly larger than the diameter of the tank you are using. Cut the two holes apart from each other to make two blocks with a hole in the middle. Then drill two small holes in the bottom to allow you to mount it on the frame, just in front of the mop L-brackets. 
Now to control the water flow, hold a paperclip over a flame to heat it up - once it is very hot poke about five holes in the tank (all in a line, and spread out). Make one more hole about 60 degrees above the others to allow air in the tank. Then just put the plugs in the ends and slide it in the wooden brackets. This was one of the things that  I didn't have much time for, so for now just turn it manually to control the water flow.  

Step 7: Make the Towel Bundle

To make the towel assembly, take two of the straight beams that are only 1 hole wide and screw them each onto one side of a 5x15 platform. Then screw on the battery holders and place the battery into the holders. Connect a length of wire to each end of one of the beams (ignore the string in the picture.) Then take a towel that is the width of the long beam, and fold it around the battery and the platform. Secure it in place with a few tie wraps around the towel. Finish the towel bundle by wrapping the other end of the wire to the back of the beam, on the robot.

Step 8: Attach the Microcontroller and Wire It Up

Now just screw on the controller to the back beam in an upright position (it was the easiest way to fit it in). Next mount the line sensors to the left part of the beam that extends out (see picture).
Then plug everything in as follows:

-right wheel motor into motor #1
-left wheel motor into motor #2
-mop servo into motor #3
-front roller into motor #8 (you will probably need to use an extension cord to reach the controller)

-right line sensor into input #1
-middle line sensor into input #2
-left line sensor into input #3

Step 9: Progam the Controller and Test It Out

For the code to control the robot, see the attached file. I used Vex's programming language EasyC, which is visual block programming.

To make the robot go where you want, just lay down some dark electrical tape or other tape that is dark and is about a half an inch wide. Then just fill up the tank and turn it over so it starts to drip, put the robot next to the line so the sensors are directly above the tape, and turn the controller on.

I am hoping to possibly add something to control the water flow, and also use an ultrasonic sensor to navigate throughout the house without needing a line.

Feel free to leave suggestions in the comments.

National Robotics Week Robot Contest

Second Prize in the
National Robotics Week Robot Contest

MakerBot Challenge

Participated in the
MakerBot Challenge