Close

On Modularity, Part 2

A project log for Open Autonomous Domestic Robots

Open Autonomous Domestic Robots – An open source system for domestic cleaning robots using low-cost hardware

keith-elliottKeith Elliott 08/17/2016 at 02:590 Comments

While I've been working primarily on the vacuum component of OpenADR, my eventual goal is for this to be just one of several, interchangeable modules that the robot can operate with. By making the whole thing modular, I can experiment with a range of functions without having to recreate the base hardware that handles movement and navigation (i.e., the hard stuff!). Today I wanted to share a bit more about how I'm building in this functionality, even though I'm only working on one module for now.

IMG_0482

The OpenADR modules will plug into the opening that I have left in the main chassis. The modules will slide into the missing part of the chassis (shown in the picture above) to make the robot a circle when fully assembled. The slot where the module will be inserted is a 15o x 150 mm square in the center and a quarter of the 300 mm diameter circle of the whole robot. The picture below might give you a better sense of what I'm describing.

ModuleBase.png

While each of the modules will be different, the underlying design will be the same. This way, regardless of which module you need to use (e.g., vacuuming, mopping, dusting), everything should fit nicely in the same main chassis with minimal modifications needed.

To aid in the design of the separate modules, I've created a baseline OpenSCAD model that fits into the main chassis. The model is broken up into four pieces in order to make printing the parts easier, and I've included bolt mounts to attach them together. The model also includes tracks that allow the module to slide into place against the ridges that I have added to the adjacent walls of the main chassis. I'll build off of this model to create each module to be sure that everything is easily interchangeable and fits smoothly (especially with my new filament!).

The great thing about OpenADR being modular is that I can always add new modules based on what would be useful to those using it. So this is where I need your help. What functionality would you like to see? Are there cleaning supplies or techniques you use regularly on your floors that could be automated?

Discussions