Not long a ago, I started to search Instructables to find how to build a obstacle avoiding robot, then I had this idea to build a mini version Irobot vacuum cleaner.
Materials that you need for this project.
1) 3D printer and a software thatt you can build 3D with
2) Step motors x 2, and step motors controller x2 <==for travelling
3) 5v motor (normal) x2 <== for vacuuming
4) Ultrasonic Range Finder x1
5) 5v relay.
6) For the electrical, suggests to use Arduino board instead (somehow I found breadboard+electronics that I used are not so stable.)
7) Screws and stand offs.
8) Oring x2
9) Fan blade x2 (to attach to the motor)
10) Mesh (tiny holes) for air filtering purpose.
Step 1: Sketching
Beginning from sketching out the design for your robot, at this stage, you should already gather all the components and material listed previously. This way, you will get a rough idea about the dimension and size of your components while sketching you design, I put annotation to the sketch just to indicate where components should be located. And some other sketches to brainstorm ideas about the internal/ external infrastructure. It doesn't matter whether you are going to do it or not, the sketching helps you to quickly construct the design in your mind before you move in to the realization stage. (As you can see from the pic, I was going to use gears/cogs, but turned out it is difficult to obtain the right size gears for the robot, and quit the idea to use it for the design.)
Step 2: 3D Modelling and Printing Out the First Prototype
This is the most complicated and time consuming process you will be involved. The first thing you have to do is, 3D modelling all your components into 3D data, this involves measuring precisely and making sure your 3D model's dimensions are exact as your real objects are.
The next step is to construct the casings. For my design, it includes a top casing, a chassis, and a rear cabinet. What I did to fix the top casing and chassis together is by having standoff and screw, So take that into account when you design the 3D. While screwing tight the top casing with bottom casing, I designed a structure that can help to clamp the two fan motors into position at the rear side, this way, you don't need to consider how to screw tight the motors, turn the top casing up-side-down, and place the two motors, assemble the chassis with screws and it is done.re
When printing out the casings, be sure which way is the cosmetic which side is for mechanical, for me, I choose to have my cosmetic facing upward, this way all the supports goes to the mechanical side (nobody is going to look into the mechanical as long as it is assembly capable.) So having the cosmetic facing upward, you will get a perfect appearance without any supports.
Step 3: More 3D Printouts
First time is not always perfect, so I printed out a few version with little modification by modification to ensure casing can be assembled perfectly as well as fit in with all components. The pics show, red top+red chassis ==> this is my first print-out, I marked it with pen just to remind my self where to modify before producing the next printout, this is a good technique especially when dealing with any mockups, this also gives other people an idea when you want to pass the work to others. White top+red chassis is my second printout, and grey top+blue chassis is my last printout before the final assembly.
Step 4: Electical+programming
At this step, I used a breadboard and lots of electrical components to simulate Arduino Uno, because I came across a few problems while making the robot to work, and it is kind of not so stable, suggest people to use Arduino Uno board instead and wire it as the picture schematic shows.
For the programming part, not intend to go further with it since everyone has their own style of coding, the concept for the coding => to detect any obstacle with the ultrasonic sensor and data back to IC to make decision to make the two step motors to move in the direction you coded.
Step 5: Assembly
Since I have 5v to make the robot to move, then I realized 5v will not be able to power the 2 fan motors together with the 2 step motors, so I designed a battery bay to power the fan motors individually.I had a 5V relay, so when the robot starts to move, it triggers the relay and start the fan motors. There are other ways to solve this problem, such as increase the spacing and have enough room for enough voltage battery to power the robot at once, so you don't have to have a cable dangling while the robot moves. I also made a bumper so it aborts the force when it suddenly hit the wall. The pics shows its final assembly..