Cleaning robot prototyping

Join me in my ongoing journey to produce a functional cleaning robot, starting from scratch, using the cheapest of components.

My first attempt at building a useful and functional robot is a cleaning robot. It might seem like a boring start but I conducted a survey and many people selected bathroom cleaning as a task they would prefer to automate. Once I had a mental picture of a robot cleaning my bathroom, I simply couldn’t let it go anymore. Consider that the most boring and endlessly futile tasks are the ones that we should be striving to automate first.

I like to start things in a modular and practical way, so I designed the most obvious and simple robot I could imagine that could perform the functions of bathroom cleaning. I defined a set of features to break the work down into streams:

High level feature groupings include:

  • Main robot body structure
  • Locomotion of main robot body
  • Navigation
  • Vision and feature identification
  • Planning of cleaning action
  • Evaluation of improvement or goal reached, cleaned status
  • Cleaning capabilities
  • Object avoidance

Under each of these I have a set of milestones that builds in an incremental way. For example, when the robot takes some kind of action, we can build it up in steps from 0 autonomy and total reliance on a human being to complete autonomy.

Within these milestones, I run basic experiments which build the robot but also ramp up my knowledge of robotics and AI. Along the way, I am gaining skills in Arduino, Beaglebone, computer vision, prototyping, sensors and actuators, and ROS. I will blog about the learning experience in my personal blog. Having a real goal is really accelerating my learning. But having such a large and varied goal means that I only learn a little in each area before having to move to the next. More to come about the experiments in future posts!

Leave a comment

Blog at WordPress.com.

Up ↑