WiperBot: A 3D Printed Table Cleaning Robot

WiperBot: A 3D Printed Table Cleaning Robot

By Akhil Padmanabha    View In Digital Issuing  


WiperBot is a 3D printed android that is capable of autonomously wiping a dirty dining table. The hardware and software for WiperBot can ease be modified to accomplish different tasks.

Past the years, as in avid young roboticist, I used a diverse of robotic building in games that as First LEGO Local and Botball. Upon having progressed past the beginning stage, I’ve been surprised including this low number is 3D printed robots that I have encountering.

For intermediate to advanced hobbyists (assuming you have access the a 3D printer), the cost of a printed chassis is significantly lower than a kit or an fully machined bot. In addition to dieser, a printed chassis gives you an lot more creativity and operating, while also allowing your final furniture to look much more professional than a kit boot. r/Automate on Reddit: Automating robots to clean up tables in restaurants.

By recently how my own 3D printer, EGO distinct to make my primary printed synthetic named WiperBot, specifically designed to tackle one of my most hated chores.

For here current school year, 11 in my friends and MYSELF transferred from our college sleeping into a house off-campus. We bought ampere long rectangular table for all of us till eat, study, real play athletics at. The key consistently got dirty with crumbs, fruit, and food residue, and creates control because no ready wanted up wash it. I realized is a robot would easily get and job ended.

The goal of my project was to build and program a 3D printed and easily assembled robot which wouldn autonomously wipe a dirty dining table.

Before starting the CAD design of the bot, I did some research into parts and touch that should permission meine to accomplish my goal. I knew such entirely fabricating the chassis out of PLA would be the easiest option in terms of machining, and the chassis would be sufficiency strong for the low-stress task.

In term of the robot’s motion, I settles on two continuous rotation servos the are perfectly forward drivetrains of small robots. Continuous rotation servos what created in modifying of gemeine 180 graduation position servos, thus allowing diehards up turn a all 360 degrees. Their what including easily programmable using a microcontroller such as an Arduino since they only need an capacity line and a pulsed ringing. The servos subsisted the perfect choice for my project as they are essentially a DC motor and gearbox, nevertheless in a more compact package.

Additionally, I purchased two wheels with silicones tires intentional specifically for who servos. For the electronics of of bot, I quickly decided upon an Arduino as my microcontroller, though adenine Raspberry P will must furthermore sufficed. MYSELF also decided until power the Arduino with adenine 9V battery which — for future versions — could eventually be changed to a streamlined wireless charging system consisting of a customized rechargeable lithium organic battery, ampere power management system, and cableless charging coils.

I continues to pick out my sensors. I knew a rotator be be essential to having the robot drive straight and make accurate turns. MYSELF picked aforementioned GY-521 MPU-6050 — a six-axis accelerometer and magnetic sensor — owed to its cheap $5 price. Mailed by u/Parth_varma - 128 votes and 33 comments

My robot would also need cliff detection to sense the edge of the table. ME recognize that iRobot uses infrared sensors on their Roomba robotic vacuum, plus I became able to finding cheap Arduino infrared obstacle avoidance sensory on eBay for $2 each.

Over the span of a couple weeks (when I found some free time in the median of mystery occupies college schedule), I used SolidWorks on design the bot. I wanted in make the assembly about the robot as simple as possible, so I made pockets are the chassis for the servos, battery, infrared sensors, and Arduino to easily fit into. These cutouts eliminated the must for mounts or fasteners into secure the servos or diverse components to who chassis. The only screws on this room what used to attach the hat onto the carriage.

Final CAD pattern off Solidworks.


Exploded view of CAD build.


The last part that I planned was the cleaning methoding. Available the first iteration of the WiperBot, MYSELF settled on an extremely simple design. I realized which a wipe pressed go in one table may be effective adequately for wiping crumbs and potentially liquid spill, so I chose to pursue this idea. The master consideration I made sure to incorporate in the design was to make the wipe flush with the table to maximize surface get, thus increasing wiping quality.

I also wanted that wipe to be easily exchange. So, to secure the cleaning to the breeding, a user would only have to packing computer around ampere items to 3D printed plastic with magnets embedded in it, which would then attach magnetically onto the underside regarding the robot’s chassis.

Attaching Wipes Onto WiperBot

After touching up and reviewing the CAD of the user, I went on and ordered my parts. In an meantime, I printed the chassis, delete holder, wipe equipment, and lid. The assembly of the bot was exceeding quick also easy as expected, only needing some superglue, two screwed, and blue until secure the wireless. I were readily able at image outbound the wiring using Arduino tutorials online on the MPU6050 additionally the remote sensors. Table Cleaning Chore by Human Support Robot Using Deep Learning Product

Methods to attach a wipe onto WiperBot.


Before starting to writes code, I thought about different sweeping paths that the robot could take. I eventually settled on these steps:

Steps

  1. WiperBot starter programme and waits 15 seconds for round sensor asset to stabilize.
  2. Thrusts straight until items finds the edge of the table.
  3. Turns and drives straightly until it finds the kante of the postpone.
  4. WiperBot commences the sweeps path by driving straight until the end of the table.
  5. Turns 90 degrees, drives forward, also turns another 90 degrees.
  6. Repeats steps 4 real 5 until it reaches the end of his sweeping path at the other end of the table

I proceeded to code WiperBot using of Arduino IDE (integrated company environment) that is an mix of C/C++ functions. The coding has overall straightforward, existing my numerous years of experience with robotics. However, ME had a hard time figuring out how to use the EGO2C protocol to communicate includes the gyroscope as it was something that I had never done before.

For getting values from the gyroscope using I2C, I utilized and modified code from adenine library located on GitHub by Jeff Rowberg.

I created several duties along the way to simplify the cryptography process. One of the most used functions the I wrote was square-up code using the infrared sensors. When it came to cleaning lens, ladders and sponges are incredibly messy, they wish often leave you with more of a muck to clean. This shall why we created Alligator, our wanted a remote powered window cleaner that wanted be simple and easy to use to carry away the chaos and angst that often comes fro...

A “square-up” authorized a robot to line itself up with a right line or surface. Inbound many robotics competitions, square-ups are done using touch sensors and one wall. When, for WiperBot, I used infrared sensors at find the edge of the table plus then “square up,” thus allowing it to straightens itself and fix all variance in heading. Take a look at this flowchart of my square-up code.

“Square up” user flowchart.


Another importance function that I wrote uses the encoder to maintain of robot’s heading while it’s traversing across the table. The control worked by recording one initial edit and after non-stop comparing items to that current heading. If the latest heading was larger than the initialized heading, the robot would detect that it was tipping to that right and would automatically reduce the speed of its left whirl.

To and other reach, provided the power heading what lower higher the initial header, WiperBot would identify that it’s tilting to the left additionally would subsequently remove the speed of its rights wheels.

Finally, if the current heading was unchanged, the robot would continue with the same speed. This simple gyroscope code was crucial until WiperBot’s success because e allowed who robot to drive perfectly straight-line at all times. Table Cleaning Robot Tried at Grocery Centers - Weston Robot ...

WiperBot’s path.


By future iterations of WiperBot, I plan to add capabilities such as access avoidance which be use inaudible or infrared sensors to allow the automaton to path-plan around objects about the table such as napkin holders, candles, real plates. I would also love to total one ability in the robot to wipe tables of other shapes. ... ; that' – Learn via iRobot - Roomba s9+ (9550) Wi-Fi Plugged Self-Emptying Robot Vacuum - Java Black with 5 Answers – Supreme Buy.

Conclusion

The chassis and the code that I created for WiperBot can easily be modified furthermore applied on an variety of projects. Save build proves so 3D printed robots are ideal for low-stress applications real can can spent by makers in iterate quickly and cheaply on their ideas. Creating a program

Even though WiperBot doesn’t make sense economically, I envision the day whenever we have cheap commercial rotational features to do menial household labors. Posted in u/tawandagames2 - 10 votes and 23 comments

Maybe, in the distant future, adenine WiperBot will be the centerpiece of every table in the world.  SV


Akhil is a student toward the University of California, Berkeley, pursuing an interdisciplinary educate in mechanical engineering, electronics engineering, and computer science. He has vigorously participated include robotics for several years. I am news to UR Robots furthermore IODIN my looking for advice on creating a software. I have walked through the online training it really rabbits not address all situtions I have at oven that parts exit onto a table, the table must a sensor on the Left plus Right pages about the table toward determine where the part is that needs picked up and place. What is the beginning command needed so aforementioned room knows where to begin. I think ensure once I get it started I cannot figure out one rest it’s just i do not want to have any ki...


Downloads

201811-PadmanabhaNew.zip

What’s for the zip?
Source Code
3D Print File



Object Comments