DEV Community

Cover image for I Am Mesmerized By Our New Robotic Vacuum

I Am Mesmerized By Our New Robotic Vacuum

Ben Lovy on July 21, 2019

Disclaimer: this is more a rant than anything else. Maybe more #crazydudewontstoptalkingavoidthewatercooler but that's unwieldy as a hashtag. The...
Collapse
 
cecilelebleu profile image
Cécile Lebleu

Considering you mentioned Processing and HTML Canvas, definitely do check out p5.js. It’s what I would use to model this problem.
Very interesting read too — I’d love to get one as a pet. If it’s a pet, you’re supposed to play with it and feed it and all that, right?

Collapse
 
deciduously profile image
Ben Lovy • Edited

Oh cool, thanks for the tip! P5 looks neat, much easier than what I had in mind doing it manually. I've been focusing more on JS than Python lately, too, so it makes sense to not hop to something brand new.

I hope so. I'll start leaving dust bunnies around for it to find :p

EDIT: I think I'm gonna go with p5.js, it's exactly what I was looking for in a language I already sorta know! Thanks again.

Collapse
 
charlesdlandau profile image
Charles Landau

Two more in Python since you're considering turtle

Mesa github.com/projectmesa/mesa

OpenAi Gym github.com/openai/gym (See github.com/openai/gym/blob/master/...)

Collapse
 
deciduously profile image
Ben Lovy

Awesome, thank you! I think Python is the language I'd prefer, I'm less convinced about about Turtle specifically, definitely going to check these out.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Nice algorithmic puzzle you've got going! I'm definitely curious now.

Shameless self-promotion, but my "Dead Simple Python" series should help you transition from whatever language you're using (C++?) into Python pretty seamlessly. It's written for that purpose, basically.

Thread Thread
 
deciduously profile image
Ben Lovy • Edited

Awesome, definitely will check it out! I have used python a little bit here and there but never for anything larger than a hundred lines or so. I basically just use it like C that doesn't bite, I think. I've got a lot to learn about its idioms.

Collapse
 
camdhall profile image
CamDHall

We got one a few months ago. Bissell had it on sale for 200. I will say our experience has been different, and actually even better. We have 4 dogs. Two of which shed buckets of hair. Yet our vacuum has done a fantastic job at keeping the whole floor clean. With the exception of our half bathroom, but to be honest, the bathroom is super duper small relative to the robot. I will say however, there's more maintenance involved then I expected (naively). Because of the dog hair we end up cleaning it just about every day, and we've had to actually pull the sensors out and clean it a couple times (it's worth mentioning our dogs were not particularly friendly the first two days and did in fact step on it a couple of times...). But it's definitely less work for us then sweeping every other day (when I said "shed buckets" I meant it).

I did the same thing and sat there trying to figure out why it wasn't using a simple path. We have a circular swivel chair, and when I saw how it went around the chair my mind was officially blown. It has brushes that are larger than the robot. But what it did was rotate back and forth around the edge to pull dirt and hair out from under the chair, and then went back and sucked it all up.

And I realized after we bought this one, that iRobot (aka Roomba) actually sells a 200 version that you can program and supposedly do cool stuff with!

Collapse
 
deciduously profile image
Ben Lovy

Great report! Good to know it's handling the dog hair - there's more likely than not a dog in our future, and it'd be great t be able to continue to use this device.

I was also pleasantly surprised by the brushes. I wasn't expecting them to protrude past the body of the machine but you're right, it's very effective at kicking out dust from under cabinets and along hard-to-reach areas, then passing back over to pick it all up. I'm unclear on whether it's doing so intentionally or just happens to then find itself passing back over the dust it kicked up, though - either way, it works well!

Good note about cleaning the sensors, thanks. We'll probably keep dumping the dust trap after each run for now even if it's overkill, it only takes a few seconds.

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W)

I'm SO interested in one of these... but have no clue how it would behave in a home with children, where there are regularly things like toys, tiny Legos, & soft edges like dropped blankets on the floor.

Collapse
 
deciduously profile image
Ben Lovy

It might be tricky, we did have to do a pass an pick up cords and things, and it does treat blankets as walls which can un-optimize it pretty quickly. The magnetic boundary tape it comes with can be useful for cordoning off a part of a room, though, of the legos are relatively localized! This one you can also tell to specifically just do a room, which may be easier one at a time than needing to keep the whole house ready to be crawled over.

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W)

Interesting. Thank you.

Collapse
 
moopet profile image
Ben Sinclair

I too am interested, but I have approximately enough open floor space to fit a pair of shoes so it's not entirely practical.

I shall educate myself vicariously through you lot.

Collapse
 
jeikabu profile image
jeikabu

Not sure how I missed this when it was fresh...

Robot vacuums and their kin were languishing in a corner of my mind reserved for things that seem cool but aren't ready yet. Mostly as a result of a co-worker that was an early adopter and unimpressed.... 10+ years ago.

Having just moved to a new apartment and with my pets are en-route, it's time to re-evaluate.

Collapse
 
deciduously profile image
Ben Lovy

That's how it went for me too - my opinion was formed somewhere around generation one and never revisited.

Now that the novelty has worn off it's definitely not a life changing device, but it's quite nice to have.

Collapse
 
erwincoumans profile image
erwincoumans • Edited

The power of random with simple heuristics indeed.
You could check out our PyBullet, it is a Python module suitable for this task. It has optional OpenAiGym environments, and install is one line: pip3 install pybullet --upgrade --user
Check out pybullet.org for a quickstart.

Collapse
 
deciduously profile image
Ben Lovy

This is awesome! Thanks a lot.

Collapse
 
jspillers profile image
Jarrod Spillers

Unity3D all the way. For simulation it just does so many things right out of the box and in one integrated package its just a no brainer for me. C# is also not terrible and is easy to get started with if you have any exposure to other C family languages.

Collapse
 
jbodah profile image
Josh Bodah

I have some general space-filling/path-finding algorithms in my toolkit to start from

What you want is to study search algorithms. Norvig et al's "Artificial Intelligence" is really good here (though it is a dense, weedy subject). A lot of AI work is about cleverly pruning search space. You can do surprisingly well at a lot of things with very basic ideas (just generally speaking) and it's not until the scale gets large that it makes sense to focus on anything more efficient

Collapse
 
ericxw profile image
ericxw

That's interesting because most Roomba vacs have similar algorithms I think but are more expensive. Only higher end roomba will actually remember a map and as I was told, the top end model coming over 1k take a couple of hours mapping.

Check out xiaomi's roborock. We got one recently and did the same thing of following it around. A bit more expensive but uses laser distance sensor to map out a room and continuously map out a room during the cleaning session and can store one map currently. For about an 800sqft space, it cleaned in about 60min time using a third of the battery. Difference for us is I'm working on some major renovations and it's a pretty good test of what it can do. We're pretty impressed so far. One major flaw is when it ends up inside drapes and decides for a while that it has nowhere to go based on laser distance.

Collapse
 
deciduously profile image
Ben Lovy

That's interesting, but I guess it makes sense that most would end up on similar solutions. I'm just still surprised it isn't doing a space-filling zig-zag, but maybe it just can't even bother with absolutely no state stored. It's crazy how steep those get.

That's the second shout-out to that brand, and that sounds pretty clever. Definitely more efficient than whatever this is or isn't doing. I don't think there's another in our future any time soon, but this brand will be my first go-to if/when it does happen.

Collapse
 
iamschulz profile image
Daniel Schulz

I got one, too.
Three key take aways after a few days of robotic cleaning:

  • It will not replace manual vacuuming. It's great for general cleanup, but I'd I wouldn't trust it to have gotten every spot before the in-laws come visit.
  • I have a year-old son, who is always exploring the flat and testing out when his parents tell him to leave something be because it's dangerous or fragile. The robovac told me a lot about cables and wires we had still lying around.
  • Miss-scheduled cleaning cycles at night are scary as hell.
Collapse
 
paulheimiller profile image
paul heimiller

I was also mesmerised by my Roomba a few years ago. But recently got a neato, and i have to say using a map to specify no go zones is much more effective and less hassle than other methods. Also, if a room needs attention I can do just that one. After getting mapping, I wouldn't want to go back to not having it.

Collapse
 
deciduously profile image
Ben Lovy • Edited

That makes sense - my rose colored glasses may be wearing off, but the second run I noticed a lot more repeated work. It's definitely not well optimized, I think our apartment is just small enough to get covered well anyway. We'll eventually move and likely revisit then!

Collapse
 
dalmo profile image
Dalmo Mendonça

What a fun article to read, thanks!

I once owned one of these, some Chinese model rebranded and sold in Brazil as 'Ropo'. It was dumb and annoying as. Sometimes it would go about 1/3 of the apartment and come back to base thinking 'job done' (battery still full). Often got stuck in the kitchen and started beeping for help. It was also one of cheapest options on the market, double the price of yours but 5 years ago, so it's good to know they evolved.

Collapse
 
deciduously profile image
Ben Lovy

Oof, that sounds frustrating. Looking around it seems like there's definitely still a lot of variance between these knockoff brands, I think we just got pretty lucky.

Collapse
 
andypiper profile image
Andy Piper

We've got one of these vacs as well - super cool, isn't it! I'd love it to be a bit more intelligent in terms of mapping the space, but it definitely gets the job done.

Now, if only if it could hover up the stairs... ;-)

Collapse
 
deciduously profile image
Ben Lovy

I have a feeling as I watch it over time the "dumb"ness of it will become more and more apparent...I have a feeling its only a matter of time until they crack that problem too!

Collapse
 
chrisdpa profile image
Chris

A guy I worked with previously worked on guidance systems, he informed me that they use SLAM algorithms - Simultaneous Localization and Mapping. en.wikipedia.org/wiki/Simultaneous...

Collapse
 
deciduously profile image
Ben Lovy

Aha! This is exactly what I was looking for, thanks very much for the link.

Collapse
 
jannotti profile image
John Jannotti

I suspect, but don't know, that one thing that makes it work much better than expected is sensing if it's picking up any dirt/dust. You can avoid following the same edge if you notice you're not picking up any dirt. You can also go off into a random direction when you're not picking up any dirt. If you're methodical when detecting dirt, and random when you're not, I bet you do ok.

Collapse
 
tommely profile image
Tommely

Robotic vacuums changed my take on cleaning the house. Frankly speaking, I thought they are useless, low-power, and such. But I was recommended to read an article here cleanup.expert/robot-vacuums/#rating and buy one of these models. I didn't expect this to be that useful because I almost forgot about dust (well, its quantity reduced significantly) and pet fur on the floor.

Collapse
 
dilipjala profile image
Officerider

Your information is very important especially for those who want to looking for vacuum cleaner to clean carpet & rugs. Carpet and rug cleaning is one of the most popular and common cleaning services any commercial and residential homeowners should consider. But sometimes, we all get busy, and finding a reliable carpet cleaning company has become a difficult task so please have a glimpse at complete guide how to choose a rug cleaning company for commercial and residential.

Collapse
 
volatile_mem profile image
*masoud++; 💻 • Edited

Please do a collab with computerfile on youtube if you find anything interesting.

Collapse
 
trostcodes profile image
Alex Trost

Dude, I got a Roomba knockoff and watched it for days. I'm with you. It's so fascinating.

Collapse
 
deciduously profile image
Ben Lovy

Does your also seem to take totally random directions each turn, or is there a clearer pattern?

Collapse
 
areahints profile image
Areahints

God of war PS4! Yup defo a keeper!

Collapse
 
coreyja profile image
Corey Alexander

This sounds awesome! Such a fun project!

I don't have much domain experience in anything like this either, but Python definitely feels like a good choice for this kind of thing!

Collapse
 
deciduously profile image
Ben Lovy

I agree, seems like the right style for this task! A good opportunity to learn more about that ecosystem too.

Collapse
 
that__anna profile image
Anna

Wow, I thought these robot vacuum cleaners can't clean carpets. Now I feel like a caveman (and like I have to get one ASAP).

Collapse
 
deciduously profile image
Ben Lovy

I know! All my assumptions about these things were created in like 2005.

Collapse
 
angelarae63 profile image
Angela Whisnant

😂😂😂😂 I could see myself doing this! We are such nerds!!🤓🤓🤓

Collapse
 
smartcleanguide profile image
Smart Clean Guide • Edited

I love the Robotic Vacuum. I have more time and never have to think about cleaning up. It completely dynamically removes dirt, even when I'm not at home. How to clean the most effectively from robot vacuum? smartcleanguide.com has a lot of home cleaning tips, along with instructions on how to use the robot most effectively.

Collapse
 
qm3ster profile image
Mihail Malo

Do you have Telegram messenger?
There's a group I should probably add you to, it's people jailbreaking their Xiaomi vacuums.
They are OBSESSED with maps.

Collapse
 
deciduously profile image
Ben Lovy

I do not, I'll check it out after work today! Sounds like a fun group, hadn't thought to try anything like that on this device but its the next inevitable step!