Society of Robots - Robot Forum

General Misc => Robot Videos => Topic started by: MakerDino on April 07, 2010, 07:12:08 AM

Title: Roomba 4000 series teardown
Post by: MakerDino on April 07, 2010, 07:12:08 AM
I've been using parts from Roomba vacuums to build robots. I find them on Ebay pretty cheap. I recently bought three for $60 and last weekend I made a two part video of a teardown. I thought I'd share it here in case anyone was curious what's inside theses wonderful, hackable devices. :)

Roomba 4000 series teardown part one (http://www.youtube.com/watch?v=TVp6QWcoilk#)

Roomba 4000 teardown part two (http://www.youtube.com/watch?v=64nSHQk45eo#)




Title: Re: Roomba 4000 series teardown
Post by: Xyver on April 07, 2010, 11:44:16 PM
These videos have inspired me enough to go search craigslist for a roomba.  I cant wait to open my goodie bag!... Box.... Roomba.
Title: Re: Roomba 4000 series teardown
Post by: Penth on April 09, 2010, 10:12:41 AM
I actually have a broken down Discovery I want to break down and use. Just not sure what type of controller I want to slap on the remade monster. Any chance you have some doc/images on your control circuitry/interface?
Title: Re: Roomba 4000 series teardown
Post by: MakerDino on April 09, 2010, 07:56:32 PM
Yeah after this weekend there will be another video up of what all the connections do and how I hooked up an Arduino to the main board. Look for it here and on dinofab.com/  :)

UPDATE

I was at my bench with The Roomba and my voltmeter this weekend. There are 18 connectors and 85 pin outs to poke into! The tricky part is keeping the wheels spinning and the circuit active so I can test the ins and outs of the circuitry. I found out that the front wheel has a rotation sensor and this particular one had a seized wheel which was causing the motors to behave strangely. I really want to find out how the cliff sensors up front work.

Re-engineering takes lots of time so the vidoe will be a bit later.

... time to go to the day jos as a robot. :)
Title: Re: Roomba 4000 series teardown
Post by: Penth on April 27, 2010, 07:13:38 AM
I'd guess the cliff sensors are just ir sensors that trigger an interrupt when the range is greater than some small value.
Title: Re: Roomba 4000 series teardown
Post by: madsci1016 on April 27, 2010, 11:08:43 AM
Lol, glad to see someone hacking a Roomba.

I tore one done to the guts for my senior design robot 2 years ago. (Go to www.billporter.info (http://www.billporter.info) and click videos. Its the garbage collecting robot) they are very well built. I even re-purposed the cliff sensors to detect what object my robot collected. They are very open on the interface to the robot. I wrote a webbotlib header file to control a roomba via its serial port if anyone is interested. 

Edit:

Here's my robot that started as an IRobot Create, which a Roomba without the Vac.

Florida State University IEEE SouthEastCon 2009 Robot Design Test Runs (http://www.youtube.com/watch?v=QpEDXo-Rw_c#)
Title: Re: Roomba 4000 series teardown
Post by: Penth on April 28, 2010, 06:44:13 AM
I'd be interested in the webbotlib header if you don't mind sharing.
Title: Re: Roomba 4000 series teardown
Post by: madsci1016 on April 28, 2010, 03:01:32 PM
I can give you what I have, but it still requires debugging depending on what Roomba you have.

Right now it works great with my Create, which has the same instruction set as the 3000's I believe. The newer 4000's have a newer instruction set, that behaves differently. I haven't been able to fix all the bugs with interfacing a 4000, and I'm on travel for 7 weeks, so it will be some time before I can get back to it.

Still interested?
Title: Re: Roomba 4000 series teardown
Post by: Penth on April 30, 2010, 07:03:12 AM
Sure, I'm still trying to decide if I want to take dino's method of control right to switching transistors or use the serial interface so I can easily access all the sensors and what not.
Title: Re: Roomba 4000 series teardown
Post by: Admin on May 02, 2010, 10:11:17 AM
In the 2nd video, at about 3:00, you talk about the belt attached to the encoder (wheel sensor). Is the encoder attached to the wheel or gears in the wheel, or is it floating and just attached to the belt?

How is the motor attached to the wheel?
Title: Re: Roomba 4000 series teardown
Post by: Connor on May 17, 2010, 06:33:41 PM
The encoder is part of the drive belt hub and is directly connected to the wheels via 2 level planetary gear reducing system. The motor connects via the belt. There is 0 slip between the encoder and the wheel (however, you can have slippage on the wheel and the floor).  You get 800 ticks per wheel revolution.  Then wheels are ~ 2.5" diameter, and 200mm circumference, you get around 40 counts per CM. To problem with the Roomba's and the inaccurate encoders are the fact they get dirty, wheel slippage, and the way the Roomba Micro returns the information back to the user via it's interface... You don't get direct PID control of the motors.

Thanks, Connor