5 ms·
Catcierge: Image recognition and RFID chip reader for automated cat door
- _yy 11y agoWow... awesome project. That guy is living the dream... https://github.com/JoakimSoderberg/catcierge https://github.com/JoakimSoderberg/catcierge That cat house has better documentation, unit tests and code coverage than many commercial projects I've worked on.
- dr34mer 11y agoDocumentation, unit tests and code coverage. Dream come true ;-)
- joakimsoderberg 11y agoYes I'm living the dream of 90% test coverage! ... Well I used this project as an excuse to write testable C code, so that's why.
- phkahler 11y agoNice, I bought a pi to make a "cat on the kitchen table" alarm to handle a common problem. Have not had time to complete it, but the concept is: find the pixels that compose the kitchen table-top and get the convex hull of those. Next identify pixels that are "cat color" and are inside that hull. In the case of my cat, "cat color" is several colors and stray matches can be rejected if they are not near different colors in the collection - false positives are bad, as we don't want to turn it off during dinner and people have different clothes all the time. Another challenge is scaring the cat out of the christmas tree. This will be coming up soon so I may have to finish this thing after all. Training the cat to stay off the table has gone well, since we keep interesting stuff off it when we're not there. The tree however is full of interesting stuff. EDIT: to clarify, I never completed the table project, in part because it's not a problem any more.
- linkydinkandyou 11y agoWhat's wrong with a cat on the kitchen table?
- drdaeman 11y agoIf cats think it's generally okay to be on the table, they may jump when the table's used for cooking. And fur doesn't make a good condiment. If the cats are told table's off-limits, they'll still be there when you don't see them, but will have somewhat better discipline in your presence. That is, purring around the cooking person legs, expressing the desire to get some treat. At least mine behave this way (in one apartment we've lived in, kitchen table was prohibited for cats, in another it wasn't).
- ck2 11y agoI swear I've seen a similar project like a decade ago, somewhere. I have an easier solution - weigh the cat on a pressure pad just before the flap - allow for variances of a few ounces but not much more. But the cat door is also a safety thing for my cats when they are feeling unsafe or being chased - I wouldn't want them to have to wait to get inside. ps. cats bring you dead things as food because they think you are too feable to hunt and triggering a nursing instinct
- sorenjan 11y ago> I have an easier solution - weigh the cat on a pressure pad just before the flap - allow for variances of a few ounces but not much more. A mouse weighs around 20 grams, or 0.7 ounces. That's about 0.5% of the weight of a cat.
- ryan-c 11y ago> I swear I've seen a similar project like a decade ago, somewhere. Probably "Flo Control"[0]. There was a system to get a silhouette of the cat's head to identify whether it was carrying anything. 0. https://web.archive.org/web/20081014091109/http://www.quantumpicture.com/Flo_Control/flo_control.htm https://web.archive.org/web/20081014091109/http://www.quantu...
- allencoin 11y agoThe author of the original article references Flo Control and uses it in his implementation.
- joakimsoderberg 11y agoTo be specific. I only took the general idea from that project. That is, to match the cat head against a lit background to make it easy to get a good profile image. None of the implementation has anything to do with that project however.
- joakimsoderberg 11y agoThere is no wait, it only locks if it finds some prey. Of course there are occasional false positives. But those are very rare (haven't compiled the exact statistics for that though). The chase thing has happened, but since the door to get in is very small other cats don't tend to follow. Since it's really cold here in the winter I also chose to design it so that the default mode is for the door to be open. So if there's a power outage it will always be open. Regarding the weight thing. I don't think it's feasible unless your cat always brings in rabbits or something, the weight difference is so tiny. Too many variables come into play as well, temperature differences being one, a wet cat compared to a dry one and so on. Might work, might not :)
- AUmrysh 11y agoAwesome. I've been wanting to use the RFID pet id tags for a feeder that would block out other pets and only allow a certain amount of food (by mass) to be eaten by a specific animal. I'll be going over how they implemented it and see if I can use any of it. Thanks for this post :)
- joakimsoderberg 11y agoAs I mention in the project I bought one of these: http://www.priority1design.com.au/shopfront/index.php?main_page=product_info&cPath=1&products_id=23 http://www.priority1design.com.au/shopfront/index.php?main_p... Turns out the antenna that comes with it is way too small for anything other than manually brushing it against the cats neck knowing exactly where the chip is. However I got some mails from another guy that built a cat feeder thingie. He ended up doing his own, much bigger antenna so that the cats head fit through it (he made a structure in cardboard wrapping the coil around that). Anyway, he had some contact with the company, and they recommend using the RS232 version instead of the USB one for such applications... They had some better spec in some way. EDIT: I looked up the mail, and to summarize he used 0.6mm enamled copper wire and a 120mm computer fan (minus the fan in the middle, that he wrapped the coil around. The reader then outputs the MOF value so you can know what frequency you're getting. I've bought some copper wire myself and I'm planning to make a better antenna myself, but haven't yet.
- deleted 11y ago[deleted]
- comrh 11y agoI wonder if that corridor is going to fill up with dead birds soon.
- joakimsoderberg 11y agoAuthor of the project. Yes this happened, not with birds but with dead mice... And I did not realise it until like a week or so, not a pleasant cleaning operation.
- pm24601 11y agoI am waiting for Higgs to get smart: 1. Drop the prey in front of door. 2. Door detects no prey. 3. Door opens. 4. Higgs props door open. 5. Higgs retrieve prey FTW!
- joakimsoderberg 11y agoYup she's done exactly that at times, not the "prop door open", but she dropped the prey right in front of the door, went away for a while, came back, picked up the prey and went inside... But I wouldn't say it was because of detailed scheming on her part, but luck rather :) Another thing she has done is to learn to back out of the corridor as the door locks, and then wait a while, and try going back in all while having the prey in her mouth. EDIT: So all small things like that has led me to tweak the algorithms, and add some extra settings to be tweaked. I mean the backing out move she did several times like 6 times in a row... Some of those times she managed to get in. So to remedy that I added some settings for extra timeouts so she cannot try again as quickly and so on :)
- drdaeman 11y agoAwesome project. Wonder if author would eventually replace mock prey images with real camera shots with positive detections :) But I wonder... is it common to let a cat walk freely outside, unsupervised? In my perception, author's either putting his pet to danger, has a good fencing or must be living in awesomely nice neighborhood.
- Ueland 11y agoYes, it is very common, at least in Scandinavia. And the author lives in Sweden.
- sorenjan 11y agoIt's very common to let cats walk freely outside. It's actually a bit of a problem: http://www.nytimes.com/2013/01/30/science/that-cuddly-kitty-of-yours-is-a-killer.html http://www.nytimes.com/2013/01/30/science/that-cuddly-kitty-...
- joakimsoderberg 11y agoIt's common I'd say. And I live in a small village with lots of room. Here are some real images (including hard cases): https://github.com/JoakimSoderberg/catcierge-examples/tree/master/example https://github.com/JoakimSoderberg/catcierge-examples/tree/m... I got lots more, just haven't uploaded them