Bringing MATLAB to a Vacuum Near You


The essence of hacking is modifying something to do a different function. Many of us learned as kids, though, that turning the family TV into an oscilloscope often got you into trouble.

These days, TVs are flat and don’t have high voltage inside, but there’s always the family robot, often known as a Roomba. Besides providing feline transportation, these little pancake-shaped robots also clean floors.

If you don’t want to evict the cat and still get a robust domestic robot platform for experimentation, about $200 will get you a Roomba made to be hacked — the iRobot Create 2. [Gstatum] has a tutorial for using a Raspberry Pi and MATLAB to get one quickly running and even doing basic object recognition using the Pi’s camera.

The code even interfaces with Twitter. The impressive part is the code fits on about a page. This isn’t, however, completely autonomous. It uses a connected phone’s sensor’s so that the phone’s orientation controls the robot’s motion, but the robot does use sensors to prevent driving into walls or falling off a cliff. It also can detect being picked up and uses the Pi’s camera to detect a green flag.

There’s a 3D printed bracket for the Pi case and the camera but unfortunately we didn’t see the design files for it. However, it is noted it is optional and it would be easy to modify a bracket off, say, Thingiverse, or use a different bracket meant for the same purpose.

MATLAB isn’t the first tool we’d think of for this sort of thing, but we are impressed that there is so much built-in capability to both control the robot and interface with the phone or mobile device. The code is simple enough that you can easily use this with students and other beginners, and have them make changes to it readily.

We talked about an earlier version of the iRobot Create when it was first out. Of course, you don’t have to buy a specific robot platform. You could just hack a regular robotic vacuum.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *