Roomba Cleaning Status via SCI

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

Roomba Cleaning Status via SCI

Postby ps0001 » December 5th, 2017, 5:00 pm

Hi everyone,

I'm doing some experimenting with a Roomba 530 and I'm wondering if there's a way to determine the cleaning status via the SCI (i.e. "cleaning" vs. "done cleaning" or "seeking dock")? I don't see anything about it in the OI documentation, but I suspect some internal state variable changes because other models have to communicate their status with VW/LH's.

If not, I think it may be possible to infer the status based on the sensor and actuator states. Has anyone done this? I'm curious what approach you used.

Thanks for indulging me! I appreciate your collective expertise.

-PS
ps0001
 
Posts: 4
Joined: December 5th, 2017, 4:25 pm

Re: Roomba Cleaning Status via SCI

Postby mfortuna » December 5th, 2017, 9:22 pm

The only ones I know of are the charging indication (packet ID 21) Which at least lets you know if you are docked and the distance and angle packets (19 and 21). If those keep returning 0 it means the roomba has stopped. If it has stopped you would need to see if some condition like a cliff or wheel drop stopped it. If no condtions exist is has probably stopped cleaning. But I don't think there is a direct indication.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5780
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Roomba Cleaning Status via SCI

Postby ps0001 » December 5th, 2017, 9:39 pm

Darn... I'm trying to avoid going back to the dock. I'm curious what logic the thing uses, if there's a lighthouse, to determine when to proceed to the next room.
ps0001
 
Posts: 4
Joined: December 5th, 2017, 4:25 pm

Re: Roomba Cleaning Status via SCI

Postby a1robotrepair » December 5th, 2017, 10:30 pm

Monitor clean, dock LEDs and battery current. Clean while it's cleaning. Dock when it's commanded to return to base. Send new clean command. Current to about 250, (about 10 min. run time remaining), to send Dock command.
Roses are red Violets are blue Poems are hard Flowers and Chocolate
http://www.daycounter.com/Calculators/
a1robotrepair
Robot Master
 
Posts: 848
Joined: October 14th, 2013, 8:40 am

Re: Roomba Cleaning Status via SCI

Postby ps0001 » December 5th, 2017, 10:49 pm

a1robotrepair wrote:Monitor clean, dock LEDs and battery current. Clean while it's cleaning. Dock when it's commanded to return to base. Send new clean command. Current to about 250, (about 10 min. run time remaining), to send Dock command.

Thanks! Is it possible to read the LED's via the ROI? Or do you mean to read them by other means? I'm only seeing how to set them in the documentation.
ps0001
 
Posts: 4
Joined: December 5th, 2017, 4:25 pm

Re: Roomba Cleaning Status via SCI

Postby a1robotrepair » December 5th, 2017, 11:15 pm

Oops, that was an added hard wire interrupt I did on the leds some time ago.
Another way is to monitor current and the left and right IR optcode, i think I changed the state, Safe, then Clean and monitored current. You don't have to send Dock command as the program will take over. I think anything below 256 on current sent the bot into dock subroutine. It has been awhile, you could confirm it. Sending Max is another way to make it run to nearly battery empty. Edit current to battery charge.
Roses are red Violets are blue Poems are hard Flowers and Chocolate
http://www.daycounter.com/Calculators/
a1robotrepair
Robot Master
 
Posts: 848
Joined: October 14th, 2013, 8:40 am

Re: Roomba Cleaning Status via SCI

Postby ps0001 » December 9th, 2017, 7:45 pm

a1robotrepair wrote:Oops, that was an added hard wire interrupt I did on the leds some time ago.
Another way is to monitor current and the left and right IR optcode, i think I changed the state, Safe, then Clean and monitored current. You don't have to send Dock command as the program will take over. I think anything below 256 on current sent the bot into dock subroutine. It has been awhile, you could confirm it. Sending Max is another way to make it run to nearly battery empty. Edit current to battery charge.

Thanks very much for your insight. I was researching the some of the early iRobot patents and it seems like their algorithm uses a combination of battery level, distance driven, and dirt detection to determine when regular cleaning is "complete". I imagine it uses an average of the distance between objects it hits to roughly estimate the size of a room.

It'd be an interesting algorithm to try to reproduce, but I think I'll probably just tie into the LED directly like you did.
I want to be able to confine the robot without interrupting its cleaning routine, so I'll probably tie into its bump sensors too.
ps0001
 
Posts: 4
Joined: December 5th, 2017, 4:25 pm

Re: Roomba Cleaning Status via SCI

Postby a1robotrepair » December 10th, 2017, 2:09 pm

On later 600 series, those with the lithuum battery charging algorithm, 2014 and later I believe, return Mode and State, charging.txt.

Could be interesting if you can get those to display. Charging state, hopefully Mode is typical automation modes.
Roses are red Violets are blue Poems are hard Flowers and Chocolate
http://www.daycounter.com/Calculators/
a1robotrepair
Robot Master
 
Posts: 848
Joined: October 14th, 2013, 8:40 am


Return to Robotic Hacking

Who is online

Users browsing this forum: Jani, lanchez, robojoho, Skyeclad, vic7767 and 394 guests