2023年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

カテゴリー

ブログパーツ

無料ブログはココログ

« 2012年7月 | トップページ | 2012年9月 »

2012年8月

2012年8月22日 (水)

餌やりロボットを改良する

管理人のページ

前回から試験運用に入った愛猫用餌やりロボット「村木くん」ですが… ちょっと問題が発生しました。
このロボットは半日分のキャットフードを、アルバイトのボーイさんのように機械的に給仕します。つまり、ちょっとだけ食べるのを我慢すれば、いずれは皿一杯にフードはたまる訳です。

食い意地のなせるわざか、それともうちの猫が相当に賢いのかわかりませんが、この仕組みをすぐに学習してしまい、ある程度たまるのを待って、イッキ食いをするようになってしまいました。これでは元の木阿弥です。

何らかの方法でフードの減り具合を調べて、あまりフードがたまりすぎないようにする必要があります。しかもなるべく簡単な方法で。

今回は猫が餌を食べにきたかどうかを検出して、餌を食べたら一定時間後に次を給仕するようにしました。猫を検出するには、餌を食べるために皿の上に頭を出したのをPSDで検出するようにします。PSDの取り付けはこんな風にして、えさ皿との距離を測定します。

Dscn2284

このように猫がフードを食べる為に頭を入れると反応するようにしました。

Dscn2286

給仕の時間間隔も45分に変更しました。ゆっくり食べてもらうためです。センサー取り付け前ですが、動く様子をうちの奥さんがムービーに撮りました。村木くんが給仕する様子と、猫の不満そうな顔をご覧ください。

2012年8月13日 (月)

猫の餌やりロボットを作る

管理人のページ

うちの猫は病気知らずのわんぱく猫なんですが、一つだけ困ったことがあります。それは定期的な嘔吐です。
もともと猫は毛繕いで嘗めとった毛を、毛玉として吐き出す習性があります。しかし、うちの猫の場合は、食べたばかりのキャットフードをまるまる吐きもどしてしまうのです。人間様が後始末をさせられるのは我慢できるとしても、愛猫が吐瀉物を気管につまらせないか、嘔吐が引き金になって、なにか発作を起こしはしないかという不安が残ります。

これまで、うちの奥さんがいろいろと世話を焼いて、病院に連れて行ったり、餌の種類を変えたりと一生懸命やってみたのですが、なかなかこれといった効果が見られません。そこで、餌を吐いたとき直近の猫の行動を改めて分析したところ、朝に新しい餌をもらって、ガッついて早食いをした日に、もどすことが多いことがわかりました。

そこで、1回分の餌を小分けにして与えてみたところ、そこそこ効果があるようでした。これはいい、これでいこうと思ったのですが、それでなくても忙しい朝に、猫のさらにチビチビ餌を足すというのは大変です。うむ、ここはロボットの出番です。デカくて邪魔、役に立たない上にお金がかかる… と思われているロボット開発の成果を見せるときがきたようです。

奥さんのプランは、ロボットアームが容器の中のフードをすくい、えさ皿に適量入れるというモノ、R2-D2からぴょこんと飛び出すマジックハンドのようなものをイメージしたようです。これを余暇を利用して作るとなると、最低でも半年の時間と数十万の費用がかかりそうですね。

今回は土日2日で作れる程度、手持ちの部品をフル活用して低予算で仕上げることにしました。出来た「ロボット」がこれです。無理やりですがノイスポッターに似てなくもありません。

Dscn2260

写真の下に見えているのが猫のえさ皿、上部のロートの右側にある白い箱が、一食分のキャットフードを入れるタンク、その後ろの黒い箱はタンクを傾けるラジコンサーボです。タンクの上部はこのように口が開いていて、傾けることでフードをこぼすことが出来るようになっています。

Dscn2249

マイコン制御で一定時間ごとにタンクを傾けて中のフードを少しずつロートにこぼし、それがダクトを通って足下のえさ皿に転がり込むという仕掛けです。
ロートとロボットを壁に固定する吸盤をダイソーで買ったぐらいで、その他の部品はジャンク箱出身です。マイコンはおなじみのPIC16F886です。

一番難しかったのは、タンクを傾けてキャットフードを「少しずつ」ロートにこぼす作業です。フードは直径5mmくらいのペレットですが、素直に転がるモノでもなく、思ったようにこぼれてくれません。紙コップに入れたポップコーンを紙皿に小分けにする作業みたいなもので、うっかりするとザーッと大量にこぼれてしまいます。メカニズムが単純な分、高度な制御システムが必要になります。

こぼれ具合を監視するセンサーは制御システムのキモです。本機では写真のように、圧電ブザーをロートにはりつけ、フードがこぼれてロートにあたった衝撃を検出できるようにしました。シンセドラムのパッドのようなものです。ロートのどこに当っても反応するので、フードがどのようなこぼれ方をしても、ロートにさえ落ち込めば検出可能です。

Dscn2256

ロートの脇の黒い部品が圧電ブザーです。これを衝撃センサとして利用し、ロートにキャットフードの粒が当るコツンという衝撃で起るパルスを、トランジスタ1石のアンプで増幅してマイコンに入れています。このセンサのおかげで、フードがこぼれはじめたらすぐタンクを制御できるので、人間が注意深くコップの水をこぼすように、少しずつフードを落とすことが可能になりました。
これはタンクからフードがこぼれ落ちている様子です。茶色のペレットがフードです。

Dscn2261

タンクのフードを10分おきに6回に分けてえさ皿に落とすようにプログラムしました。1回につき何回かタンクを傾けて、同じ分量のフードを落とす工夫をしています。これは衝撃センサのパルス数から落ちたフードの量を推測し制御していますが、ときに雪崩をうってかなりの分量が落ちることもあり、まあ、だいたいです。

また、慎重なタンクの傾け方や、最後の一粒まで落とすためのアクションは、かなり試行錯誤が必要でしたが、ロボコンに参加している学生さんの気持ちで楽しむことが出来ました。

こんな機械を愛用のえさ皿に取り付けては猫がビビるのでは?とも思いましたが、さすが生まれたときからロボットと共存しているうちの猫、食事中にメカが動いてもしらんふりです。これで餌の吐きもどしが少なくなれば万々歳ですが、果たして?

Dscn2266


« 2012年7月 | トップページ | 2012年9月 »