Introduction: Garbage Collecting Robot Prototyping
As university students living in residential housing we have found that our dormitories are often home to messy students who are living on their own for the first time. These students are generally too lazy or irresponsible to pick up or clean their own messes. This problem of general uncleanliness was specifically prevalent in the bathrooms of our dorms. With this in mind we proposed a solution to this problem in the form of a handy helper trash cleaning robot capable of scanning a room for miscellaneous garbage and disposing of said waste. The main objectives we set for our project included creating an automated robot which would collect trash, allowing users to set specific parameters for this robot, as well as making it both cost efficient and simple to build.
Step 1: Some Specific Goals of Our Project:
- Create an automated rechargeable robot that can efficiently sweep a set area of a room and pickup any trash of that floor.
- Make disposal of the trash from within the robot accessible and user friendly
- Create the robot using low cost materials
- Make the robot small enough so it is not a large disturbance within its space
Step 2: A Video of Our Project in Action
Please download to see a brief video of our project.
Step 3: Purchase the Materials for the Build
In order to replicate our build we have included a bill of materials. If you would like to know our ideas about improving our process and some portions of our build we would in retrospect change please refer to the last section Some Ideas for Improvement where you will find some possible changes to for the bill of materials.
Step 4: Cutting the Robots Chassis
- Before assembling the components for the robot, a chassis is needed. To print our chassis we used ¼” acrylic, and drew a two “10 by 5” rectangles in Adobe Illustrator. These rectangles will need several cut outs for your electrical components, wheels and motors. See the images above to see how we modeled are chassis.
- The illustrator drawings are then laser cut on acrylic and the two chassis plates are connected using 4 1 inch 2.5mm screws, and 12 2.5mm bolts. The two plates of the chassis are connected with the screws and bolts to each of the four corners of the chassis plates.
Step 5: Assembling the Robot
- Once you have your robot frame you can begin adding components. Attach the 2 motors to the back end of your chassis. The holes in the chassis frame and several of the size screws and nuts from above are used to secure the motors.
- The nodemcu(micro-controller) is than connected into to your motor driver. This component is attached in the middle of your chassis. Next to this your battery pack is attached. Voltage and ground are then attached between your driver and your power source with the m/m jumper wires.
- To attach your motor driver to your two motors, solder two m/m wires to each motor, feed the wires through the lower chassis, and attach each wire to a output pin on the nodemcu.
- Next simply slide the two wheels onto each dc motor, and attach the third, smaller swivel wheel onto towards the front of the lower chassis, using four 2.5M screws, and attaching them through the four holes.
- The robot assembly should now be complete, to test the functionality upload a simple forward command(crimsonbot.forward(100)) to your nodemcu.
Step 6: Altering the Vacuum System
- Disassemble your purchased portable vacuum cleaner and remove fan and motor component
- Examine vacuum shell casing, you will see that a vacuum essentially works using to components, a fan and motor, and shell casing that allows air to be vented out and gives the vacuum suction
- Our goal with are altered vacuum assembly was to reduce the size and weight of our vacuuming component, rather than using the entire large portable vacuum shell
- Begin to model the vacuum shell with a 3D modeling software. For our model we used Fusion 360
- The 3D model of our vacuum shell consisted of a simple open top cylinder in two parts, one side which would vent air and the other which was solid. Make sure to leave a hole on the bottom of your cylinder in order to fit it around your motor and fan. Finding the right measurements for your casing can be difficult and if you own a pair of calipers we recommend using them.
- You want to keep the fitting of the shell tight around the motor and fan in order to achieve better suction
Step 7: Assembling the Vacuum System
- The assembly of your vacuum system is quite simple. All that is necessary is to attach the two sides of your printed vacuum component around the fan and motor you removed from the portable vacuum. For assembly we used hot glue, however a stronger adhesive such as epoxy may provide more suction
- Next you should add a filtering component on the front end of your component, this will protect the fan from large pieces of trash while still having vacuuming power. Attach this bag(we used the filter bag from the portable vacuum) on the front of your vacuum component with same type of adhesive used in the previous step
- For the container which holds the collected trash we used the arm of the portable vacuum. This fit well with the filter and the pieces we had 3d printed. This piece is not glued or connected by any means other than friction. This allows for the nozzle to be removed and the trash to be thrown away.
Step 8: Adding the Vacuum System to the Robot
- To add the vacuum component to the robot, the upper level of the chassis must be removed first. After, the vacuum component is attached to the top of the lower chassis level. It is important to make sure the end of the vacuum nozzle is level with the floor(this is mainly due to the low power of the vacuum). The vacuum component is attached to the lower chassis level again using hot glue, and the angle which it rests at allows the nozzle to touch the ground.
Step 9: Running the Robot With Its Code
- Now it’s time to test the garbage disposing robot. Find a room with dimensions you know or measure the dimensions of a room you don't. Next, edit the python code with the correct distances for your room. Upload the code to your nodemcu, and watch your device run. Because the vacuum extends past the chassis, movements are not always exact, and some edits may need to occur to get the robot running consistently.
- Provided in this step is the code we used for our nodemcu and robot. All coding was created using python through VisialStudioCode.
Step 10: Reflection on Our Project - Some Idea for Improvement:
What we learned from our build:
- As a group we did most of our testing with our code on a different sized robot and chassis, however when we switched to our actual chassis with the vacuum component we found the turning radius and way the robot moved were very different and the code needed to be altered.
- The motor and fan we recovered from the portable vacuum were relatively low power. This led to us mounting the vacuum nozzle very close to the ground. It might have been more effective to have found a powerful vacuuming method.
- There were sometimes during the assembly of our robot, where measurements or connections between components were not exact. This led to some problems when testing our code.
Some ideas for improvement:
- Rather than using the fan and motor from a purchased vacuum, it may be more effective to design and 3d print your own larger fan, and purchase a motor on it’s own. This would likely be cheaper than the portable vacuum, and would have more power.
- While we had some difficulties utilizing sensors with our robot, using motion sensor to create an obstacle avoiding robot with a vacuum component would the project more usable.
- We also used the vacuum nozzle from the portable vacuum, in order to get a wider opening, and therefore pick up more trash, you might want to look at designing your own nozzle and collection area.