SKARA- Autonomous Plus Manual Swimming Pool Cleaning Robot

3,741

40

14

About: I am an Engineering student (department of mechatronics) of SRM University (India)
  • Time is money and manual labour is expensive. With the advent and advancement in automation technologies, a hassle free solution needs to be developed for homeowners, societies and clubs to clean pools from the debris and dirt of daily life, to maintain their personal hygiene as well as maintain a certain standard of living.
  • Tackling this dilemma head-on, I developed a manual cum autonomous pool surface cleaning machine. With its simple yet innovative mechanisms, leave it in a dirty pool overnight and wake up to clean and speck free one.
  • The automaton has two modes of functionality, one autonomous which can be turned on with the flip of a button on the phone and left unattended to do its job and another manual mode to get those specific pieces of twigs and leaves when time is of the essence. In manual mode you can use accelerometer on your phone to control the robot’s movement similar to playing racing game on the phone. Custom made app was made by using Blynk app and accelerometer readings are sent to main server and back to mobile then via hotspot switching data is sent to NodeMCU.
  • Even today, domestic cleaning robots are seen as exotic appliances or luxury toys, so to change this mindset I developed it on my own. Hence in the project, the main objective was to design and manufacture an autonomous pool surface cleaner with the use of available and cheap technologies to keep the whole prototype cost efficient and, therefore majority people can build it in their home just like me.

Step 1: Working Mechanism

Movement and Collection:

  • The basic mechanism of our prototype consists of a constantly rotating conveyor belt in front to collect debris and dirt.
  • Two motors which drive the waterwheels needed for locomotion.

Navigation:

  • Manual mode: Using Mobile's accelerometer data one can control the direction of Skara. Hence the person just needs to tilt his phone.
  • Autonomous mode: I have implemented a randomized motion complementing the obstacle avoidance algorithm to aid the automaton when it senses proximity to a wall. Two ultrasonic sensors are used to detect obstacles.

Step 2: CAD Model

  • CAD Model was done on SolidWorks
  • You can find cad file enclosed in this instructables

Step 3: Components

Mechanical :

  1. Laser cut Panels -2nos
  2. Acrylic sheet 4mm thick
  3. Thermocol or Polystyrene sheet
  4. Lathe cut rods
  5. Curved Plastic sheet (Wooden finish)
  6. 3d printed parts
  7. Screws and Nuts
  8. Stencil ( "Skara" print)
  9. Mseal- Epoxy
  10. Net Fabric

Tools:

  • Sandpaper
  • Paints
  • Angle Grinder
  • Drill
  • Cutters
  • Other power tool

Electronics:

  • NodeMCU
  • Screw connectors : 2pin and 3pin
  • Buck Converter mini 360
  • Toggle Switch
  • IRF540n- Mosfet
  • BC547b- Transistor
  • 4.7K resistor
  • Single Core Wire
  • L293d- Motor Driver
  • Ultrasonic Sensor- 2nos
  • 100rpm DC motor - 3nos
  • 12v Lead Acid battery
  • Battery Charger
  • Soldering Board
  • Soldering Wire
  • Soldering rod

Step 4: 3d Printing

  • 3d Printing was done by a home assembled printer by one of my friend
  • You can find 4 files which have to be 3d printed
  • Parts were 3d printed by converting the 3d CAD file into stl format.

  • The waterwheel has an intuitive design with airfoil shaped fins to displace water more efficiently than traditional designs. This helps in drawing less load from the motor as well as increasing the locomotion velocity of the automaton noticeably.

Step 5: Laser Cut Panels and Lathe Rods

Side Panels:

  • To make the CAD rendering a reality, the materials to be chosen for the prototype's construct had to be considered carefully, bearing in mind that the whole structure would be required to have a net positive buoyancy.
  • The main structure can be seen in the figure. The initial choice for the frame was to go with Aluminum 7 series due to its lighter weight, better resistance to corrosion and better structural rigidity. However, due to unavailability of the material in the local market, I had to make it with Mild Steel.
  • Side Frame Cad was converted to .DXF format and given to the vendor. You can find the file enclosed in this instructable.
  • Laser cut was done on LCG3015
  • You can also give laser cutting in this website ( https://www.ponoko.com/laser-cutting/metal )

Lathe Rods:

  • Rods which connects two panels and support the bin was made by lathe machining from local fabrication store.
  • Total of 4 rods were needed

Step 6: Construction of Bin

  • Bin is made by using acrylic sheets which were cut using power tools with dimensions taking reference from the CAD drawing.
  • The individual cut sections of the bin are assembled and stuck together using industry grade water resistant epoxy resin.
  • The whole chassis and its components are assembled together with the help of 4mm stainless steel bolts and 3 stainless steel studs. The nuts used are self-positive locking so as to avoid compliance of any nature.
  • Circular hole in 2 sides of acrylic sheets were done to put motors
  • The battery and electronics enclosure is then cut from 1mm plastic sheet and packaged into the chassis. Openings for the wires properly sealed and insulated.

Step 7: ​Floatation

  • The last component related to purely the structure are the flotation devices which are used to give the whole prototype a positive buoyancy as well as maintain its center of gravity to approximately the whole prototype's geometric center.
  • The flotation devices were fabricated out of polystyrene (thermocol). Sand paper was used to properly shape them
  • These were then attached to the frame at locations by using mSeal by calculated considering the above constraints.

Step 8: Ultrasonic Sensor Support

  • It was 3d printed and back plates were made by using tin plates
  • It was attached by using mseal (a kind of epoxy)

Step 9: Electronics

  • 12V lead acid battery is used to power the entire system
  • It connected in parallel with buck converter and L293d motor controller
  • Buck converter converts 12v to 5v for the system
  • IRF540n mosfet is used as digital switch to control conveyor belt’s motor
  • NodeMCU is used as main microcontroller, it connects to mobile by using WiFi (hotspot)

Step 10: Conveyor Belt

  • It was made by using net fabric purchased from local store
  • The fabric was cut an attached in a circular way to make is continuous

Step 11: Painting

  • Skara was painted by using synthetic paints

Step 12: Skara Symbol Laser Cut

  • The Stencil was cut by using homemade laser made by my friend.
  • The material on which laser cutting was done is sticker sheet

Step 13: Coding

Pre-Coding Stuffs:

  • For this project I used Arduino IDE for programming my NodeMCU. It's the easier way if you've already used an Arduino before, and you won't need to learn a new programming language, like Python or Lua for instance.

  • If you've never done this before, first you'll have to add ESP8266 board support to the Arduino software.

  • You can find the latest version for Windows, Linux or MAC OSX on Arduino's website: https://www.arduino.cc/en/main/software
    Download it for free, install it on your computer and launch it.

  • Arduino IDE already comes with support to a lot of different boards: Arduino Nano, Mine, Uno, Mega, Yún, etc. Unfortunatly ESP8266 isn't by default among those suported development boards. So in order to upload your codes to a ESP8266 base board, you'll have to add its properties to Arduino's software first.
    Navigate to File > Preferences (Ctrl + , on Windows OS); Add the following URL to Additional Boards Manager textbox (the one on the bottom of the Preferences window): http://arduino.esp8266.com/stable/package_esp8266...

  • If the text box wasn't blank, it means had already add other boards before on Arduino IDE before. Add a comma at the end of the previous URL and the one above.

  • Hit "Ok" button and close the Preferences Window.

  • Navigate for Tools > Board > Boards Manager for adding your ESP8266 board.

  • Type "ESP8266" on the search text box, select "esp8266 by ESP8266 Community" and install it.

  • Now your Arduino IDE will be ready to work with a lot of ESP8266 based development boards, like the generic ESP8266, NodeMcu (which I used in this tutorial), Adafruit Huzzah, Sparkfun Thing, WeMos, etc.

  • In this project, I used Blynk library. Blynk library should be installed manually. Download Blynk library at https://github.com/blynkkk/blynk-library/releases... Unzip the file, and copy the folders to Arduino IDE libraries/tools folders.

  • Main Coding:

  • You'll have to update Blynk auth key and your WiFi credentials (ssid and password) before uploading the code.

  • Download code and libraries provided below.
  • Open the provided code ("final code") in Arduino IDE and upload it to the NodeMCU.
  • Some sensors of the smartphone can also be used with Blynk. This time I wanted to use its accelerometer to control my robot. Tilt the phone and the robot will turn left/right or move forward/backward.

Step 14: Explanation of Code

  • In this project I only had to use ESP8266 and Blynk libraries. They are added in the beginning of the code.

  • You'll have to configure your Blynk authorization key and you Wi-Fi credentials. This way your ESP8266 will be able to reach your Wi-Fi router and wait for commands from Blynk server. Replace "type your own authorisation code", XXXX and YYYY with your auth key (you'll receive it on your e-mail), SSID and password of your Wi-Fi network.

  • Define the pins of the NodeMCU connected to the h-bridge. You might use the literal value (D1, D2, etc.) of the GPIO number of each pin.

Step 15: Setup Blynk

  • Blynk is a service designed for controlling hardware remotely over an internet connection. It makes allows you to create Internet of Things gadgets easilly, and supports several hardwares, such as Arduinos, ESP8266, Raspberry Pi, etc.
  • You can use it to send data from an Android or iOS smartphone (or tablet) to remote device. You can also read, store, and display data obtained by your harware sensors, for instance.
  • Blynk App is used for the creation of the user interface. It has a variaty of widgets: buttons, sliders, joystick, displays, etc. Users an drag and drop the widget to the dashboard and create a custom graphic interface for a multitude of projects.
  • It has a 'energy' concept. Users start with 2000 free energy points. Every widget used (in any project) consumes some energy, thus limiting the maximum number of widgets used on the projects. A button, for instance, consumes 200 energy points. This way, one can create an interface with up to 10 buttons for instance. Users can buy extra energy points, and create more complex interfaces and/or several different projects.
  • The commands from Blynk App are uploaded to Blynk Server over the internet. Another hardware (a NodeMCU, for instance) uses Blynk Libraries to read those commands from the server and perform actions. The hardware can also some data to the server, which might be displayed on the App.
  • Download Blynk app for Android or iOS from the following links: https://play.google.com/store/apps/details?id=cc.... https://itunes.apple.com/us/app/blynk-control-ard...
  • Install the app and Create a new account. After that you'll be ready to create your first project. You'll also need to install Blynk libraries and to get the auth code. The procedure to install the library was described on the previous step.
  • · BLYNK_WRITE(V0) function was used to read accelerometer values. The acceleration on y-axis was used to control if the robot should turn right/left, and z-axis acceleration is used to see if the robot is supposed to move forward/backward.If threshold values aren't exceeded, motors will stop.
  • Download blynk app on mobile Drag accelerometer object from Widget Box and drop it on the dashboard. Under Button Settings assign a virtual pin as output. I used virtual pin V0. You should get Auth Token in the Blynk App.

  • Go to the Project Settings (nut icon).For Manual/Autonomous button I have used V1 in the app For Conveyor belt I have used V2 as output.

  • You can see a screenshoot of the final app on the pictures.

Step 16: Final Assembly

  • I attached all the parts

Hence the project is finished

Step 17: Credits

I would like to thank my friends for:

1. Zeeshan Mallick: Helping me with CAD model, chassis manufacturing

2. Ambarish Pradeep: Content Writing

3. Patrick: 3d Printing and Laser Cutting

IoT Challenge

Second Prize in the
IoT Challenge

Share

    Recommendations

    • Beauty Tips Contest

      Beauty Tips Contest
    • Classroom Science Contest

      Classroom Science Contest
    • Pets Challenge

      Pets Challenge

    14 Discussions

    0
    None
    nic.bryan.73

    6 days ago

    This is a very impressive project, but I have some concerns with the design.

    1)The type of foam used for the main tray is NOT waterproof. Unless you coated the entire inside with resin, water will eventually soak through it, both sinking the machine, and getting into the electronics. (Paint isn't waterproof either unless it's THICK latex paint)

    2)The wire passages through the foam are weak spots. If the wire jackets get pierced or scraped by debris (or the side of the pool) water can get in them and follow the wire through the passage.

    3)The wet debris is dumped right over the electronics case, which doesn't appear to have a proper seal on it, as it both needs to be able to open, and to clear the motor housings.

    4)The water-wheels are modeled for single-direction movement with the aero-foil shape. They aren't nearly as effective in reverse, as can be seen in the video when you do hard turns, or full reverse.

    5)The wet debris tray doesn't appear to have a drain of any sort, and is higher than the electronics tray. This could lead to flooding the electronics.

    6)The phone-as-remote appears a bit clunky, requiring far more motion than should be necessary. That part may be adjustable in-software.

    All-in-all, it is a very impressive design, it just needs a little more work to make it completely safe and viable. I would recommend, if nothing else, put the Arduino and the controller board inside a waterproof electronics box with the wires running down to the bottom of the tray, then up and through the top of the electronics box. That will ensure that the thing has to be almost completely waterlogged before there is any risk of water getting in there. And switch to a LiPo battery velcroed to the electronics compartment lid, it will help prevent water-shorts as well as reducing overall weight.

    5 replies
    0
    None
    ryan141298nic.bryan.73

    Reply 5 days ago

    Thanking you for loving my project, and yes as it is the first prototype of the product there would surely be some flaws in it which would be rectified with the subsequent updates.
    Some of the flaws which you have listed are actually there where as some are not.
    With reference to your numbering i will answer:
    1) For the tray I have used acrylic sheets for all the sides sealed by Anabon to make it waterproof. For the flotation i have used Thermocol which is absolutely waterproof.
    2) Wires are not passed through the foam, i have passed all the wires from the top of the vehicle itself. Hence there is no risk of water seeping into it.
    3) Yes this is a problem which i faced, the wet debris is a problem bringing a little bit water, but as the electronics board in suspended on air using pcb separator hence there is no risk of shorting.
    4) Yes they are not as efficient in the other direction but there is not any alternate solution to it and adding to it you would mostly use it in the forward direction.
    5) Refer to point 3
    6) Yes RF would have had a better range but on the downside it would have added to the cost and as you can see nowadays even drones can be flown by using mobile phone. Plus the range would be an issue it we have to clean a lake and not a pool.

    Lastly i would like to Share some actual issues:
    1) In windy weather , Skara trembles a lot and this causes the water to come in it. This issue wouldn't be there in version 2.
    2) This doesn't get charge in sunlight so in next version i would use solar panel.
    3) Volume of storage of Debris is low.

    Again I would like to thank you for giving me some ideas and advising me and im sure you would surely love the second version.

    0
    None
    nic.bryan.73ryan141298

    Reply 5 days ago

    Ah. I've never worked with thermocol. Good points on how you had those issues solved.

    Good way to solve the wind issue, and augment the solar, would be to drop in a deep keel (PVC pipe, isolated from the debris tray entirely) filled with the batteries and most of the electronics. You would have to do submerged wiring to connect it to the surface equipment if you do that. It would also give you a larger debris tray, and better flotation, not relying on the foam to keep it up.

    And since it is primarily meant to travel forward, have you considered an impeller drive instead of paddlewheels?

    0
    None
    ryan141298nic.bryan.73

    Reply 5 days ago

    Thank you for advising and motivating me to make a more stable second version.....I have a doubt about the impeller drive, there might be a problem when it sucks the water ....suppose there is debris in the water , it may get entangled it it and can cause it to break apart from the shaft.....

    0
    None
    nic.bryan.73ryan141298

    Reply 5 days ago

    Look into RC boat impeller drives. It's tucked completely beneath the waterline, the motor sits straight in front of the turbine portion, and it generally has a grate over the intake to keep debris out. They aren't good at reversing, by design, but they have insane torque (And as I saw in another comment here) by being completely beneath the unit, they are protected from the sun.

    It's what I use for RC boats, and I've never had issues with pool debris or lake debris, or anything else.

    0
    None
    dewey302

    6 days ago

    First off, massive kudos for tackling this Instructable. While there may not be large numbers of readers here who have pools, for those of us that do, the need for a reliable and efficient pool skimmer can be paramount. I believe that Instructables, including those I have authored myself, are always meant as a starting point, someone willing to experiment with a new approach in the hopes that others can use those early testing grounds to build an ever better and ever more useful solution. It is in that vein that I offer up the following observations.

    I have a relatively long history using one of the most highly touted pool skimmers on the market, the Solar Breeze. In the past 6 years I have owned three of these units. While they work well when they are working, not one of them has lasted beyond ten months without needing major and or minor repairs. And these units retail between $500 and $600. So building a really good and long lasting pool skimmer in no easy task. Even for those that are in the business. And nearly all of my observations below come with some really frustrating experiences with the Solar Breeze.

    The major enemies to any pool skimmer are sunlight, pool chemicals, tiny debris and friction.
    With those four culprits in minds I would raise the following questions and/or suggestions for possibly improving on the design in this Instructable.

    1) The video shows the skimmer collecting very large leaves. With the exception of a couple weeks out of the year our pool is plagued not with large leaves or large debris, but rather very small debris, seeds, pollen, dust, fluff, dead insects, fine leaves and grass clippings. The two issues I see in the above design are that these very small particles will cling to the cloth “conveyor belt” as it goes over the top roller and simply be redeposited in the pool when the belt goes back under water. It would also appear from the video and still photos (although this could be wrong due to the angle of the shots) that there is a gap between the top of the conveyor and the front panel of the collection bin. Any small item, like seeds and insects that don’t stick to the cloth belt would simply drop into that gap and be deposited back in the pool.

    2) It would appear that the large debris collected by the conveyor will bunch up at the top of the inclined front panel of the collection bin. I could imagine on a windy day, with lots of leaves, that they could start packing up on that inclined panel and eventually simply overflow the sides and back into the water if the unit is left to run unattended.

    3) The descriptions given with the Instructable do not identify many of the specific materials used so product quality can not be determined. But EVERYTHING on a pool skimmer must be resistant to the highly destruction UV rays of the sun and to the corrosive nature of the acid and chlorine that are used daily for pool maintenance. The first generation of $500 Solar Breeze skimmers made this mistake. The entire body panel for the skimmer simply fell apart because the fiberglass material was not adequately UV resistant. The shells for these units simply disintegrated. I have no idea of the composition of the plastics used for 3D printing, but I doubt it has any UV resistance and that within a few weeks or months of usage, the paddle wheels and other printed component may begin the deteriorate. I would hope this is not the case, but it is something to keep a close eye on. The same goes for the cloth material used for the conveyor belt. UV rays combined with pool chemicals will destroy most fabrics in rather short order unless they are specially protected from such hazzards.

    4) Another one of the Solar Breeze’s major weaknesses is the axle supports and axle bearings. And I would think the same will be true of the above design. In early models of the Solar Breeze they simply had plastic axles rotating in plastic sleeves. These began to wear out and go out of line within a few months of use. This put additional pressure on the motors and gears and eventually the units would begin making loud grinding noises before stopping altogether, requiring total replacement. In the second generation the company upgraded to stainless steel axles but they still rotated in plastic sleeves. These units lasted a few months longer but still needed replaced on a constant basis. Perhaps the above design will not encounter this issue. Only a year or so of everyday use will tell the story.

    5) Another potential problem is the area where the motor’s axle leaves the body of the motor. From what I could glean from the photos it appears water and pool chemicals could come in contact with that area and eventually get inside the motor itself. This could create corrosion and interference with the electronics. Again, time will tell on that one.

    6) From what is shown in the photos and the description, the motors are “sealed” with a heavy coat of synthetic paint. Unfortunately, most paints (enamel, urethanes, acrylics, epoxies etc) are typically NOT UV resistant and they will begin to flake, peel and/or “dust” under heavy sunlight encountered in any pool. Add pool chemicals into the mix and most paints will struggle to maintain that protective “seal” around the electrical components.

    Again, let me express my admiration for the work done in designing and building this skimmer. I would put it in the noteworthy category of “proof of concept”. It appears to be mechanically sound and a terrific base upon which others can hopefully tinker their way to a machine that will not only collect all sizes of pool debris but do it over the long haul, while not breaking down due to the destructive nature of UV rays and pool chemicals.

    3 replies
    0
    None
    ryan141298dewey302

    Reply 5 days ago

    Thanking you for loving my project, and yes as it is the first prototype of the product there would surely be some flaws in it which would be rectified with the subsequent updates.
    Some of the flaws which you have listed are actually there where as some are not.
    With reference to your numbering i will answer:
    1) Yes, there was a gap between them, but i have used another thin black sheet which bridges them and hence there wouldn't be any circulation of the waste material. I guess the camera angle is not right and hence you can't see it.
    And as the fabric has extremely small nets, water would seep out but small particles won't and SKARA could collect them. In some situations though the debris may get circulated as it cant be always error free.
    2) Yes this is true that the bin size is small and i would surely rectify this in the next version.
    3) Most of the thing would not be affected by the UV rays like the structure is made by Steel and Thick Acrylic panels though i'm not sure about the 3d print and the fabric.
    I would like to thank you for pointing out this issue of UV rays which i didn't pay much attention.
    4) Yes there would't be any problem of that sort with this design. I have used stainless steel axle with plastic sleeve of the water wheel but as both are attached by a screw passing through both and hence there wouldn't be any wearing. There would only be a problem if some hold the waterwheel with there hand, and in that case the sleeve may break. Though it is made of thick plastic and chance of happening that is also low.
    5) Though the motor are quite a distant from the water level but high winds may cause SKARA to tremble and cause the water to seep in the motor. That i have to see with time cause after using it for 2-3 weeks i didn't find any problem of that sort.
    6) I have used Mseal which is a kind of epoxy to seal motors and other stuff. But im not sure about if it reacts with UV rays or not and can't find any useful evidence on the net and hence time will only say if it causes a problem or not.


    P.S: The next version will have a Solar Panel to charge the battery. Adding to it the problems faced by the first version will be rectified. Again I would like to thank you for liking it and supporting me.....

    1
    None
    dewey302ryan141298

    Reply 5 days ago

    Glad to hear you are already tinkering with improvements and upgrades for your skimmer. The solar collector idea is great...might be able to then reduce your battery size/weight as well. One thing the Solar Breeze does well is their battery and electronics...which in my experience have far outlived the mechanical elements of the machine. I look forward to seeing what you come up with for Ver 1.2 of Skara.

    0
    None
    xivadi

    10 days ago on Step 17

    If I make it I'll call it Zima, after the robot in Alastair Reynolds' story Zima Blue! Neat project!

    1 reply
    0
    None
    ryan141298xivadi

    Reply 9 days ago

    Share the link of your zima ..... Would love to see the second generation of skara...