Stop my cats bringing home takeout dinners
July 31, 2009 11:23 AM   Subscribe

My cats have started bringing wildlife in again and it's, frankly, a health hazard. I'd love to try and implement something like Flo Control to bar the little sods if they've brought takeaway but otherwise let them wander in and out freely. I want suggestions on off the shelf products I could buy and/or hints on how to do it myself...

By the way, if anyone fancies calling me out, there's already a meta you can use. See how considerate I am? :)

If the answer is "build it yourself", what kinds of things do I need to learn to do, and how do-able is it?

Woodworking/box construction is a piece of cake.

Electronics I can build happily but my brain tends to fry when I try and design stuff (I have to really think about the effects of serial/parallel, for example).

Software wise, I was taught C++ a decade ago and I use PHP daily. Neither are desperately useful for this, I know, but gives you an idea of my programming knowledge. And I'm supposed to be learning Java...

The big stumbling blocks (which is something of an understatement) are image recognition and using a PC to trigger an external circuit. I assume that there are off the shelf systems to handle these things, but what should I be looking for?

I'm pretty sure this is more complex than I am anticipating, but it would be good to stretch myself at the same time as defeating a pair of mass murderers...
posted by twine42 to Computers & Internet (9 answers total)
Why not just put bells around their necks to warn their prey?
posted by ohyouknow at 11:45 AM on July 31, 2009

Because bells don't work?

With bells on they've caught mice, shrews, voles, baby rats (which is worse although I couldn't rationally explain why), and juvenile birds (including an endangered species).

Our old cat defeated bells by sitting on a low wall and falling on her prey so the bell didn't give significant warning. Buffy is, I think, doing it by sitting very very patiently near a rodenty route and waiting until they no longer suspect her. It's then no more than a paw swipe to capture something. It's certainly how she 'helps' me catch them indoors.
posted by twine42 at 1:08 PM on July 31, 2009 [1 favorite]

Have you tried contacting the people who made Flo Control? Given that they mention (at least some of) their hardware, they might be willing to release their code, or at least an executable.
posted by JMOZ at 1:18 PM on July 31, 2009

Good lord, Flo Control is awesome.
posted by kestrel251 at 2:05 PM on July 31, 2009

Seconding contacting the Flo Control designers. If I built something that cool, I'd go out of my way to help someone else who was interested in doing the same.

Thanks for sharing that link!
posted by siclik at 4:02 PM on July 31, 2009

if i were cat,
i think i would find this and this annoying
but perhaps they might actually help
posted by compound eye at 5:30 PM on July 31, 2009

You could bypass the image recognition stuff by using a scale: store outgoing cat weight; compare to incoming cat weight; if more, block access. Would need an exception for soggy cats..
posted by unmake at 10:40 PM on July 31, 2009

unmake- good thought, but there are 2 problems:
1. It's hard to get an accurate reading when cats (or anything being weighed) is moving, and
2. The weight of much of the prey is really quite minimal, so it would be hard to distinguish.
posted by JMOZ at 6:17 AM on August 1, 2009

The Flo Control webpage says they're working on a self-contained (embedded) version, but who knows how long that will take.

The only thing I know about computer vision processing is that it's hard and so I avoided learning anything else about it. That said, I hear good things about OpenCV. You might also see if anything in this presentation of Stationary Features and Cat Detection leads to any insights. You'll probably want a large set of images to test or train the system with.

Interfacing a PC with other parts is simpler. You'll need both a sensor and an actuator (a camera and door), along with some cable connecting these. This is the door Flo Watch uses; presumably the thing's opened up and rewired. You may need to reverse engineer the cat door to determine how it operates. My guess would be there's an obvious wire connected from the magnetic cat sensor to the latch; you'd just cut that wire and attach it to a parallel port. There are better interfaces for this stuff, but PCs generally don't have or expose them.

The camera part is a much wider selection. The Flo project used some goofy light + screen silhouette. It may be possible to use a simple webcam for image capture. I have no idea what works and doesn't here.

What you need to do is imagine the system as a set of running processes:

* One just monitors the camera, saves images and maybe alerts the image recognition system when the cat is present and a good picture is ready.
* The image recognition process waits for a good picture to offer cat vs cat+critter analysis. It could start out simple just for integration purposes, like an average color of the image or pixel count, etc. When it detects cat without critter, it sends a signal to the door open process.
* The door open process waits for commands from the image processing, and opens on request. It should keep some state around for how long the door has been unlocked, and a timeout. Obviously you need to allow the cat some time to use the unlocked door, but lock within a reasonable time.

If you manage to get this working on a PC running Linux, it's possible to put it into an ARM embedded thing like GumStix. But I'm assuming that you don't have much embedded experience. If you do want to look into embedded stuff, Ardunio has a fairly large novice following. But I doubt it'll have the processing power you need to do rapid image analysis.
posted by pwnguin at 1:21 PM on August 1, 2009

« Older Is there such a thing as a urine-resistant sofa?   |   Chicago to New York for cheap with a week of... Newer »
This thread is closed to new comments.