この記事で書いたとおり、猫用のIoTトイレを自作したわけですが、他にプロダクトとしてCatlogや今回紹介するトレッタというトイレがあります。トレッタのサイトを見てたら特許技術で体重を量ると書いてあったので、特許庁のサイトを見に行ってみた感想を書いたのが本記事であります。
排便排尿の検出について
このトイレはロードセル(重量センサー)へ荷重のかからない場所にトイレシートを置く仕様になっており、猫が静止する→ロードセルへの荷重が排尿とともに減る→数値が安定したときに減った重量分排尿している。というロジックで計測しているようです。この場合、引き算方式と比べるとウンコの重量がわからないのですが、排尿した重量はかなり高精度で計算できると思います。本来高精度で測定しようとすると両方のトレイにセンサーを設置する必要があるけど、1センサーと重量変化から高精度に検出できる、それが特許のキーっぽいです。これ考えた人すごい!
ちなみにトレッタはウンコの場合は今回私が作ったトイレトレイと一緒で引き算方式でウンコ判定をするようです。つまり、猫が乗ってない重さ→猫の重さ→降りたあとの重さから、一定量残っていたらウンコ、残っていなかったらおしっこと判定するんでしょう。さらに、ウンコの方がボトッと落ちる分センサー計測値に振れ幅がでるので、その辺もウンコ判定の材料に使っているようです。そのあたり、特許情報が非常に面白かったので興味のある方はぜひ見てみてください。
これを見るに、排泄中の重量変化を検出するのがキーになるようです。
- ゆっくり重さが減る→おしっこをしている
- 静止したあとに急激な重量変化(ウンコがぼっとんしてる)があり、降りたあとに何かが残っている→ウンコ
- ゆっくり重さが減り→静止ののち急激な重量変化があり、降りたあとに何かが残っている→おしっことウンコ
- 静止がなく重量が常に変化して降りる→なにもしてない
といったように、重量変化を検出することで何が行われているのかが検出できるようです。
私のトイレトレイのように、単純に乗る前と降りたあとの重量を引き算する場合、重量変化を考慮しないので半身を入れてお掃除している場合などの重量も配列に入ってしまい最大値はかなり正確にわかるのですが、最小値(排泄物の重量)の誤差が大きいんですよね。これのソリューションとしておしっこが落ちるシートをロードセルの荷重対象から外すことでこの精度を上げるってすごいなーと思いました。もちろん、トイレの形状が複雑になるデメリットはありますが、ロードセルを倍搭載するよりはコストが安いと判断されたんだと思います。実際Atom Liteを使う場合、マイコンよりもロードセルの値段の方が高いわけですし。
ただ、デメリットもあって、尿を吸い込んで固まるタイプの猫砂が使えない(尿は猫砂を貫通して一番下のトレイまで落ちないといけない)というのが気になるところです。砂をたっぷり使うというよりは、少量の液体透過型猫砂を使う方が精度が良さそうですね。ここのFAQでも撥水性の高い砂の方がよいと書いてありました。
その他
トレッタは、登録時に猫の顔写真を利用するようで、そこから特徴点を導いて顔認識に利用しているそうです(これも特許に書いてある)。サイトにはAIって書いてありますが要は機械学習ですね。画像認識はトイレ出入りも検出できるようになっている模様なので、重量変化以外の情報も使って出入りを記録できているようです。
また、この手の製品って大体スマホアプリのレビューが2.5とか激低いんですが、Google Playでみたらなんと4.2!レビューも高評価が多く使いやすそうです。ウンコ中の動画とかも見れるみたいで、サブスク1,480円は伊達じゃないなーと思いました。どうやらデータ一式をあまり処理しないでサーバへ送って、サーバ側でウンコ判定などを行っているようなので、トイレ側はM5Stackレベルでいけるかな?と思いましたが…
でも動画や画像認識用の画像処理なんかはローカルでしてると思う(ぶれてる画像を選別していい感じのやつで判定しているらしい)のでM5Stack的なESP32マイコンにはどう考えても荷が重そうな気もします。ラズパイぐらいの処理能力が必要な予感。トレッタは電源にACアダプタを使用しているところからも、比較的ローカルデバイスの消費電力が多いのではないかと推測されます。競合のCatlog Boardは単3電池6本運用なのでこっちもしくみが気になりますね。
一応、Catlog BoardもWi-Fiでサーバへデータを送信していると書いてあるのですが、電池は半年持つらしいのでそもそもトレッタとは思想が違ってる気がします。どういう構成なんだろう…ロードセルに常時給電してたら単3電池6本ではそんな持たない気もします。しかも首輪と通信してるみたいなのでBluetoothもやってるとなるとそこそこ電池食いそう、BTで待機しつつWi-Fiは必要なときだけ使いながら、ロードセルへの給電を絞ってるとかやってそうです。とは言え首輪なしでも使えるようなので完全にロードセルの給電も切れなそうで色々夢が膨らみます。2つ買って試してみたいですが、なんだかんだで数万円しそうなのでいまの自作トイレトレイを改善していきたいです。
猫IoTの今後
個人的に欲しいのはプログラマブルな自動給餌器です。画像認識と重量センサーでその猫がどのぐらい食ってるかを可視化したり、1日5回10gずつとかの定期じゃなくてその日の食ってる具合に応じて近づいてきたらご飯を出すとか、リモートでご飯を出すとか。さらに違う猫が来てもカリカリ出さないとか。あとは朝の4時ぐらいに少量のおやつ出すとか。カリカリ調合用にタンクをダブルにして指定配合で出すとかもできたら嬉しいです(要件鬼森)。カリカリのマネージメントは結構煩雑なので需要はあるのではないかなと思いますが、盛りすぎて3万円超えそうな気も…
自分でやるなら、ベーシックなモーターでプロペラ回して給餌するタイプの給餌器のモーターをラズパイあたりで制御する感じでしょうか。センサー関係はロードセルとカメラをつけて、ご飯の重さと画像認識によるモーター制御。画像認識の材料は何万枚もうちの猫の写真があるので、これはこれで機械学習を試してみたかったりします。うちの子は1人が食い過ぎで1人が小食なので、1度に出る量を制御しつつ、他の猫に食わせない機能が非常にほしかったりします(ちなみにいまは猫がご飯置き場で物欲しそうにしてたら皿を置く、もう片方が盗み食いに来たら皿を引き上げるという手動運用)。
これ系だとマイクロチップで制御できるキャットドアを使った事例がRui Ueyamaさんによってツイートされているのですが、いかんせんチップなしで首輪もなしだと詰むんですよね…なので、画像認識でなんとかならないかなという思いです。ただ、うちみたいに明らか色が違うし顔も違う、重さも違うとかならいいけど、兄弟姉妹の見分けはできなそうなので、プロダクトとしてのリリースは結構厳しいだろうなぁと思います。
そういう意味でCatlogの首輪ベースっていうのは理にかなってるんだけど、いかんせん首輪は…(振り出しに戻る)。Catlogの活動量レポートみたいなのも全部屋に画像認識できるカメラ置いて動体検知+画像認識して活動量推定みたいなのはできそうですが、こっちはいかんせんプライバシー問題が。
というわけで、なかなかプロダクトとしてリリースするのは色々難アリな画像認識×猫ですが、個人レベルなら色々遊べそうなのでトライしてみたいと思いました。トイレトレイのアルゴリズムももうちょっと改善してみたいです。