Imagine this: you come home after a day at work. As you open the door, your nose is the first alert that something is very, very wrong. Instead of the usual house smell, your nose is assaulted with the distinctive aroma that means your dog had an accident. The smell is stronger though — as if Fido brought over a few friends and they all had a party. Flipping the lights on, the true horror is revealed to you. This was a team effort, but only one dog was involved.
At some point after the dog’s deed, Roomba, your robot vacuum, took off on its scheduled daily run around the house. The plucky little robot performed its assigned duties until it found the mess. The cleaning robot then became an agent of destruction, smearing a foul smelling mess throughout the space it was assigned to clean. Technology sometimes has unintended consequences. This time, your technology has turned against you.
This scene isn’t a work of fiction. For a select few families, it has become an all too odoriferous reality just begging for a clever fix.
iRobot’s Roomba has been around for 14 years now. Over the years Roomba has evolved into a complex robotic vacuum. Current models have the iconic front bump sensor, as well as cliff sensors for stairs. A forward IR sensor allows the robot to slow down before striking furniture. Dirt detectors determine if an area is clean, or needs more attention. The flagship 900 series even includes a camera and computer running the Visual Simultaneous Localization and Mapping (vSLAM) algorithm.
All these sensors are great for 99% of the cleaning a Roomba will perform. However, the 1% edge cases are where the demons hide. The demon in this case is a steaming surprise left behind by a pet. [Jesse Newton] found himself in just such a situation last week. His Facebook post on the subject quickly went viral. An iRobot spokesperson was quoted in The Guardian as saying “Quite honestly, we see this a lot. We generally tell people to try not to schedule your vacuum if you know you have dogs that may create such a mess. With animals anything can happen.” The spokesperson went on to say that their engineers are working on the issue. If the spokesperson (and The Guardian) are to be believed, Somewhere inside iRobot, there is an engineer contemplating all the life choices that brought them to this assignment: designing a system to allow the robot to detect pet droppings.
iRobot, the company behind the little circular robot, was quick to embrace the hacker community. Many models of the Roomba include a serial connection. There is even a special Create model for hackers, schools, and makers. Here at Hackaday we believe in giving back. iRobot has given quite a bit to the hacker community over the years. Helping the beleaguered iRobot engineers in their quest to detect the disgusting is the least we can do.
It turns out that sensing animal or human waste is no easy task. Here are a few ideas we came up with:
- Methane – The most familiar method for hackers would be methane detection. We have low cost sensors such as the MQ-4 that are specifically designed for this. In fact, that’s exactly what [IntStarFoo] is testing out in this YouTube video. The problem is that the methane isn’t produced by the fecal matter itself, but the bacteria which are along for the ride. The anaerobic bacterial process takes time, so a fresh sample may not have a detectable amount of methane around it.
- Methanethiol – one of the chief contributors to aroma of human or animal waste is methanethiol, or methyl mercaptan. Detectable by humans down to 1 part per billion (ppb), this is the same chemical added to natural gas to give it that distinctive smell. When a nose is not present, methanethiol is often detected using field sampling followed by gas chromatography in the lab. Sensors do exist, but they are up around $500 USD.
- Other gasses – waste emits a potpourri of gasses, including hydrogen (H2), methane (CH4), carbon dioxide (CO2), hydrogen sulfide (H2S), methanethiol (CH3SH), and dimethyl sulfide (CH3SCH3). Perhaps combinations of these gases could be used as indicators that man’s best friend is having a bad day.
- Cameras – High end Roombas already have a camera. However, it is facing up at too steep an angle to detect anything directly in front of the robot. Adding a front facing camera similar to the hazcams used in Mars rovers might be helpful here. This would also help keep Roomba from knocking over trash cans. The downside is that not all droppings are created equal. The medical industry has provided us with The Bristol Scale, which ranges from Type 1: Separate hard lumps, like nuts, to Type 7: Watery, no solid pieces, entirely liquid. It would take some creative vision programming to detect all types.
- Conductivity – waste will have a water content. An array of conductivity sensors along the front of the robot could detect if it is pushing on something wet.
These are just a few seed ideas to get you started. For the real answers we turn it over to you, our readers. How would you help iRobot through this dilemma? To put it more bluntly, how would you teach a robot to detect poo?