To the credit of the folks at hackingroomba , they did a great job of writing an interface. It was relatively easy to use the RoombaComm interface. They tried to make it generalized for serial devices, but I had to replace that part with a more generalized "SerialDevice" to prepare it for Android. The Roomba Swing panel was relatively painless to get into MRL. I still have to do some work in order to completely seperate the GUI from the driver - but it looks like it will be very straight forward. End result - RoombaComm fully implemented in MRL - Yay !
This old project was abondoned after I discovered the reason the Roomba did not work for the previous owner was not a "bad battery", but fried rechargin circuitry. So the batteries would not recharge. This was after I bought a new battery and saw it slowly die.
The batteries contain a bunch of NiMH cells. These cells can be charge by applying the charger's voltage to the battery. You have to be careful not to overcharge them... like I just did now :P
Anyway, the Roomba has a fairly narrow operating voltage, I know the upper end is 16.9 Volts, anything higher and I can't turn the little guy on. I think anyting lower than 14.2-ish it will die too..
I over charged the batteries and had to bleed them using a dc fan as a sink.
It now has a charge and I can search for a serial cable I can hack tomorrow..
A good friend dropped off a very used IRobot Discovery Roomba recently. I was very excited about the possiblities of getting MRL to run on a Roomba. The batteries were dead, so I'll be ordering new ones. The next thing of interest would be to find the possible interfaces which it supports. I Google'd it and found this manual -
This meant I possibly just need a bluetooth module & a command set. This might be very easy ! To do some video processing I am thinking about wireless cameras. There is also the MAAHR project. This project has been delayed becaise of some problematic H-bridges. But now with a complete mobile platform I might be able to get it going again. If the roomba is capable of hauling around the extra power and wieght of the computer.
Woohoo ... so many possiblities !
Ordered battery today. In the interim it would be good to :
- build a serial cable to fit the SCI port - 7 or 8 pin mini-DIN connector
- put a 5V regulator on the unregulated VCC coming out of the SCI port for the bluetooth slave module
- hardwire a test connector to the power leads instead of a battery for teathered experiments
- connect a bluetooth slave module directly to the SCI port
The new battery has arrived.
I'll tear down the broken one and see what combo of cells they used - get more so that I'll have more Ah for the computer that will be piggy back.
2011.12.01 - Needed a power port off my Roomba to support multiple batteries and the Maar brain. Used the disassembly guide here - http://mysite.verizon.net/gsplews/Dis-asm_Re-asm_files/accssng_interior_0604xx.htm
Another disassembly guide exists here - http://www.protechrobotics.com/roombatd.php?phpMyAdmin=e1f516711781cc703a965aa02240dd6b
Needs a little cleaning up. The target I'm looking for is the back side of the positive and negative battery connectors. Turns out they were very hard to get to, and it will be a tricky soldering job.
Here is a closer view of the batter connector.