(57)【要約】【課題】動物に給餌するタイミングを制御すること。【解決手段】給餌制御装置１００は、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。給餌制御装置１００は、所定の条件を満たすと判定した場合に、給餌装置１０２に給餌指示を送信する。給餌装置１０２は、給餌指示を受け付けると動物Ｄに給餌する。これにより、給餌制御装置１００は、動物Ｄにセンサを装着させなくても、動物Ｄの運動量に応じて動物Ｄに給餌するタイミングを制御することができる。【選択図】図１
2018078869.tif 000002
【特許請求の範囲】
【請求項１】
動物に対応する検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、
前記所定の条件を満たすと判定した場合に、前記動物に給餌する給餌装置に給餌指示を送信する、
制御部を有することを特徴とする給餌制御装置。
【請求項２】
前記制御部は、
前記検知装置の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した前記検知情報に基づいて前記検知装置への前記動物のアクションがあるか否かを判定し、
前記動物のアクションがあると判定した場合に、前記動物の管理者に対応する端末装置に前記動物のアクションがあることを示す通知を送信する、ことを特徴とする請求項１に記載の給餌制御装置。
【請求項３】
前記制御部は、
前記検知装置の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した前記検知情報に基づいて前記検知装置への前記動物のアクションがあるか否かを判定し、
前記検知装置への前記動物のアクションがある場合に対応する検知情報に基づいて、前記検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかを算出する、ことを特徴とする請求項１または２に記載の給餌制御装置。
【請求項４】
前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の水平の移動方向が変化するとともに前記検知装置の移動速度が増加した時点に、前記動物のアクションが開始したと判定する、ことを特徴とする請求項２または３に記載の給餌制御装置。
【請求項５】
前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の水平の移動方向が変化するとともに前記検知装置の移動速度が増加した時点に、前記動物のアクションが開始したと判定する、ことを特徴とする請求項２〜４のいずれか一つに記載の給餌制御装置。
【請求項６】
前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の回転の強さ、前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の回転の強さが所定以下であり前記検知装置の垂直の移動方向が上方向になった時点に、前記動物のアクションが開始したと判定する、ことを特徴とする請求項２〜５のいずれか一つに記載の給餌制御装置。
【請求項７】
前記制御部は、
前記検知装置に所定の動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に前記所定の動作とは異なる動作を行わせる、ことを特徴とする請求項１〜６のいずれか一つに記載の給餌制御装置。
【請求項８】
前記制御部は、
前記検知装置に音を発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に振動を発する動作または匂いを発する動作の少なくともいずれかを行わせる、ことを特徴とする請求項７に記載の給餌制御装置。
【請求項９】
前記制御部は、
前記検知装置に振動を発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に音を発する動作または匂いを発する動作の少なくともいずれかを行わせる、ことを特徴とする請求項７または８に記載の給餌制御装置。
【請求項１０】
前記制御部は、
前記検知装置に匂いを発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に音を発する動作または振動を発する動作の少なくともいずれかを行わせる、ことを特徴とする請求項７〜９のいずれか一つに記載の給餌制御装置。
【請求項１１】
動物に対応する検知装置と、
前記動物に給餌する給餌装置と、
前記検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定した場合に、前記給餌装置に給餌指示を送信する、給餌制御装置と、
を含むことを特徴とする給餌システム。
【請求項１２】
コンピュータに、
動物に対応する検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、
前記所定の条件を満たすと判定した場合に、前記動物に給餌する給餌装置に給餌指示を送信する、
処理を実行させることを特徴とする給餌制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、給餌制御装置、給餌システム、および給餌制御プログラムに関する。
【背景技術】
【０００２】
従来、所定の時間に所定の量の餌を動物に与える自動給餌装置がある。
【０００３】
先行技術としては、例えば、動物の活動量を計測する活動量計測送信装置と、受信した活動量データから動物の消費エネルギ量を演算して、この消費エネルギに基づいて給餌手段からの給餌量を制御する給餌装置とを備える給餌システムがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２７１２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、動物の運動量に応じて動物に給餌するタイミングを制御することが難しい。例えば、動物にセンサを装着しないと、または動物がセンサを外してしまうと、動物の運動量に応じて動物に給餌するタイミングを制御することができない。
【０００６】
１つの側面では、本発明は、動物に給餌するタイミングを制御することができる給餌制御装置、給餌システム、および給餌制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、動物に対応する検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定した場合に、前記動物に給餌する給餌装置に給餌指示を送信する給餌制御装置、給餌システム、および給餌制御プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、動物に給餌するタイミングを制御することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる給餌システムの一実施例を示す説明図である。
【図２】図２は、給餌システム２００の一例を示す説明図である。
【図３】図３は、給餌制御装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、状態定義テーブル４００の記憶内容の一例を示す説明図である。
【図５】図５は、給餌判定基準テーブル５００の記憶内容の一例を示す説明図である。
【図６】図６は、ログテーブル６００の記憶内容の一例を示す説明図である。
【図７】図７は、運動量テーブル７００の記憶内容の一例を示す説明図である。
【図８】図８は、出力処理定義テーブル８００の記憶内容の一例を示す説明図である。
【図９】図９は、出力判定基準テーブル９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、検知装置１０１のハードウェア構成例を示すブロック図である。
【図１１】図１１は、給餌装置１０２のハードウェア構成例を示す説明図である。
【図１２】図１２は、端末装置２０２のハードウェア構成例を示すブロック図である。
【図１３】図１３は、給餌制御装置１００の機能的構成例を示すブロック図である。
【図１４】図１４は、給餌指示を送信する一例を示す説明図である。
【図１５】図１５は、通知指示を送信する一例を示す説明図である。
【図１６】図１６は、ボール１０１の状態遷移の一例を示す説明図である。
【図１７】図１７は、ボール１０１の状態を判定する一例を示す説明図（その１）である。
【図１８】図１８は、ボール１０１の状態を判定する一例を示す説明図（その２）である。
【図１９】図１９は、ボール１０１の状態を判定する一例を示す説明図（その３）である。
【図２０】図２０は、ボール１０１の状態を判定する一例を示す説明図（その４）である。
【図２１】図２１は、ボール１０１の状態を判定する一例を示す説明図（その５）である。
【図２２】図２２は、ボール１０１の状態を判定する一例を示す説明図（その６）である。
【図２３】図２３は、ボール１０１の状態を判定する具体例を示す説明図である。
【図２４】図２４は、ボール１０１に出力処理を実行させる一例を示す説明図である。
【図２５】図２５は、出力処理を特定する一例を示す説明図である。
【図２６】図２６は、給餌判定処理手順の一例を示すフローチャートである。
【図２７】図２７は、状態判定処理手順の一例を示すフローチャートである。
【図２８】図２８は、出力判定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる給餌制御装置、給餌システム、および給餌制御プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる給餌システムの一実施例）
図１は、実施の形態にかかる給餌システムの一実施例を示す説明図である。給餌制御装置１００は、動物に対応する検知装置１０１と通信可能であって、動物に給餌する給餌装置１０２を制御するコンピュータである。動物は、例えば、飼育される動物である。動物は、具体的には、犬や猫などのペットである。
【００１２】
検知装置１０１は、動物のアクションに応じて回転または移動する装置である。検知装置１０１は、自装置の回転または移動を検知し、自装置の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得する。検知装置１０１は、例えば、動物が遊ぶ玩具である。検知装置１０１は、具体的には、動物が遊ぶボールである。給餌装置１０２は、給餌制御装置１００の制御にしたがって動物に給餌する装置である。給餌とは、食べ物や飲み物を動物に与えることである。
【００１３】
ところで、近年、ペットに関連する市場は拡大する傾向があり、ペットの玩具や飼育機器などの需要がある。例えば、飼い主が不在でも、自宅のペットを遊ばせて運動不足を解消するための玩具や、自宅のペットに自動で給餌する飼育機器などが望まれている。
【００１４】
これに対し、例えば、所定の時間に所定の量の餌を動物に与える自動給餌装置が考えられる。しかしながら、動物の運動量に応じて動物に給餌するタイミングを制御することはできない。このため、動物の運動量に対して動物への給餌量が多すぎることがあり、動物の肥満を招くことがある。
【００１５】
また、例えば、動物の運動量を計測するセンサを動物に装着させ、動物の運動量に応じて動物に給餌するタイミングを制御する給餌システムが考えられる。しかしながら、動物にセンサを装着しないと、または、動物がセンサを外してしまうと、動物の運動量に応じて動物に給餌するタイミングを制御することができない。また、センサを装着すると、動物に肉体的または精神的な負担がかかることがあるという問題がある。
【００１６】
また、上記自動給餌装置や上記給餌システムは、運動することを動物に習慣付けることを実現するために用いることが難しい。例えば、所定の運動量以上に運動した場合に自動給餌装置から自動で給餌されるように制御することが難しく、運動すると給餌されることを動物に覚えさせ、運動することを動物に習慣付けることが難しい。
【００１７】
そこで、本実施の形態では、動物にセンサを装着しなくても、動物の運動量に応じて動物に給餌するタイミングを制御することができる給餌システムについて説明する。
【００１８】
図１において、給餌制御装置１００は、動物Ｄの運動量の大きさを示す指標値を取得する。給餌制御装置１００は、例えば、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを取得する。回転量は、例えば、回転数で示される。回転量は、例えば、回転時間で示されてもよい。移動量は、例えば、移動距離で示される。移動距離は、例えば、回転数と検知装置１０１の外周の長さとの乗算結果で示される。移動量は、例えば、移動時間で示されてもよい。
【００１９】
給餌制御装置１００は、具体的には、検知装置１０１から検知情報を受信し、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出する。これにより、給餌制御装置１００は、動物Ｄの運動量の大きさを間接的に示す指標値として用いられる、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを取得することができる。
【００２０】
（１−１）給餌制御装置１００は、動物Ｄの運動量の大きさを示す指標値が、所定の条件を満たすか否かを判定する。給餌制御装置１００は、例えば、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。所定の条件は、動物Ｄに給餌する給餌条件である。
【００２１】
給餌制御装置１００は、具体的には、検知装置１０１の回転量が閾値以上になった場合に、給餌条件を満たすと判定する。給餌制御装置１００は、具体的には、検知装置１０１の回転量が閾値以上、かつ、検知装置１０１への動物Ｄのアクション回数が閾値以上になった場合に、給餌条件を満たすと判定してもよい。これにより、給餌制御装置１００は、動物Ｄの運動量の大きさが、給餌条件を満たす大きさになったか否かを、間接的に判定することができる。
【００２２】
（１−２）給餌制御装置１００は、所定の条件を満たすと判定した場合に、給餌装置１０２に給餌指示を送信する。給餌制御装置１００は、例えば、検知装置１０１の回転量が閾値以上になり、給餌条件を満たすと判定した場合に、給餌装置１０２に給餌指示を送信する。これにより、給餌制御装置１００は、動物Ｄにセンサを装着させなくても、動物Ｄの運動量に応じて動物Ｄに給餌するタイミングを制御することができる。このため、給餌制御装置１００は、センサの装着により、動物Ｄに肉体的または精神的な負担がかかることを、抑制することができる。
【００２３】
そして、給餌制御装置１００は、動物Ｄの運動量に対して動物Ｄへの給餌量が過剰になることを抑制するように、動物Ｄの運動量が比較的小さい場合には動物Ｄに給餌されないように給餌装置１０２を制御することができる。また、給餌制御装置１００は、所定の運動量以上に運動した場合に給餌装置１０２から自動で給餌されるように制御し、運動すると給餌されることを動物Ｄに覚えさせ、運動することを動物Ｄに習慣付けるようにすることができる。
【００２４】
このように、給餌制御装置１００は、動物Ｄの肥満を防ぎやすくなるように、動物Ｄに給餌するタイミングを制御することができる。また、給餌制御装置１００は、飼い主が不在であっても、運動することを自宅の動物Ｄに習慣付けることができ、運動不足を解消しやすくすることができる。
【００２５】
ここでは、給餌制御装置１００が、検知情報に基づいて、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出する場合について説明したが、これに限らない。例えば、検知装置１０１が、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出し、給餌制御装置１００に送信する場合があってもよい。この場合、給餌制御装置１００は、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを、検知装置１０１から受信する。
【００２６】
ここでは、給餌制御装置１００が、検知装置１０１が何によって回転したかに関わらない検知装置１０１の回転量を用いる場合について説明したが、これに限らない。例えば、給餌制御装置１００が、動物Ｄのアクションに応じて検知装置１０１が回転した場合についての検知装置１０１の回転量を用いる場合があってもよい。
【００２７】
同様に、ここでは、給餌制御装置１００が、検知装置１０１が何によって移動したかに関わらない検知装置１０１の移動量を用いる場合について説明したが、これに限らない。例えば、給餌制御装置１００が、動物Ｄのアクションに応じて検知装置１０１が移動した場合についての検知装置１０１の移動量を用いる場合があってもよい。
【００２８】
ここでは、給餌制御装置１００が、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数のいずれかを用いて、給餌装置１０２に給餌指示を送信するか否かを判定する場合について説明したが、これに限らない。例えば、給餌制御装置１００が、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数のいくつかを用いて、給餌条件を満たすか否かを判定する場合があってもよい。
【００２９】
ここでは、給餌制御装置１００と検知装置１０１と給餌装置１０２とが、それぞれ異なる装置である場合について説明したが、これに限らない。例えば、給餌制御装置１００と検知装置１０１とが一体である場合があってもよい。例えば、給餌制御装置１００と給餌装置１０２とが一体である場合があってもよい。例えば、検知装置１０１と給餌装置１０２とが一体である場合があってもよい。例えば、給餌制御装置１００と検知装置１０１と給餌装置１０２とが一体である場合があってもよい。
【００３０】
（給餌システム２００の一例）
次に、図２を用いて、図１に示した給餌制御装置１００を適用した、給餌システム２００の一例について説明する。
【００３１】
図２は、給餌システム２００の一例を示す説明図である。図２において、給餌システム２００は、給餌制御装置１００と、検知装置１０１と、充電装置２０１と、給餌装置１０２と、端末装置２０２とを含む。
【００３２】
給餌システム２００において、給餌制御装置１００と検知装置１０１と充電装置２０１と給餌装置１０２とは、有線または無線のネットワーク２１０を介して接続される。また、給餌システム２００において、給餌制御装置１００と端末装置２０２とは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３３】
給餌制御装置１００は、検知装置１０１と通信可能であって、給餌装置１０２を制御するコンピュータである。給餌制御装置１００は、具体的には、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。検知装置１０１は、動物Ｄのアクションに応じて回転または移動する装置である。
【００３４】
検知装置１０１は、具体的には、動物Ｄが遊ぶボールである。検知装置１０１は、ボールに限らず、車輪を有する玩具であってもよい。充電装置２０１は、検知装置１０１に給電する装置である。充電装置２０１は、具体的には、充電ステーションである。充電装置２０１には、検知装置１０１が自動または手動で接続される。充電装置２０１には、例えば、検知装置１０１が自走機能を有していれば、検知装置１０１が自動で接続される。
【００３５】
給餌装置１０２は、給餌制御装置１００の制御にしたがって、動物Ｄに給餌する装置である。給餌装置１０２は、具体的には、餌を貯めておく餌ボックスを有する装置である。端末装置２０２は、給餌制御装置１００の制御にしたがって、自装置の利用者である、動物Ｄの飼い主Ｏに対する通知を出力する装置である。端末装置２０２は、具体的には、ＰＣ、ノートＰＣ、タブレット端末、スマートフォンなどである。また、給餌制御装置１００と端末装置２０２とが一体である場合があってもよい。
【００３６】
（給餌制御装置１００のハードウェア構成例）
次に、図３を用いて、給餌制御装置１００のハードウェア構成例について説明する。
【００３７】
図３は、給餌制御装置１００のハードウェア構成例を示すブロック図である。図３において、給餌制御装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ディスクドライブ３０３と、ディスク３０４と、第１Ｉ／Ｆ３０５、第２Ｉ／Ｆ３０６と、第３Ｉ／Ｆ３０７とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ３０１は、給餌制御装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。メモリ３０２は、図４〜図９に後述する各種テーブルを記憶する。
【００３９】
ディスクドライブ３０３は、ＣＰＵ３０１の制御にしたがってディスク３０４に対するデータのリード／ライトを制御する。ディスクドライブ３０３は、例えば、磁気ディスクドライブである。ディスク３０４は、ディスクドライブ３０３の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク３０４は、例えば、磁気ディスク、光ディスクなどである。ディスク３０４は、給餌制御装置１００から着脱可能であってもよい。ディスク３０４は、メモリ３０２の代わりに、図４〜図９に後述する各種テーブルを記憶してもよい。
【００４０】
第１Ｉ／Ｆ３０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示した検知装置１０１）に接続される。そして、第１Ｉ／Ｆ３０５は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。第１Ｉ／Ｆ３０５は、具体的には、検知情報についての検知装置１０１からの入力、および、検知装置１０１に出力処理を実行させる実行要求についての検知装置１０１への出力を制御する。
【００４１】
第２Ｉ／Ｆ３０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示した給餌装置１０２）に接続される。そして、第２Ｉ／Ｆ３０６は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。第２Ｉ／Ｆ３０６は、具体的には、給餌装置１０２に動物Ｄへ給餌させる給餌指示についての給餌装置１０２への出力を制御する。
【００４２】
第３Ｉ／Ｆ３０７は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示した端末装置２０２）に接続される。そして、第３Ｉ／Ｆ３０７は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。第３Ｉ／Ｆ３０７は、具体的には、端末装置２０２に飼い主Ｏへの通知を出力させる通知指示についての端末装置２０２への出力を制御する。第１Ｉ／Ｆ３０５、第２Ｉ／Ｆ３０６と、第３Ｉ／Ｆ３０７とは、例えば、モデムやＬＡＮアダプタなどによって実現される。
【００４３】
給餌制御装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリ、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、給餌制御装置１００は、ディスクドライブ３０３およびディスク３０４の代わりに、ＳＳＤおよび半導体メモリや、ＵＳＢポートおよびＵＳＢメモリなどを有していてもよい。また、給餌制御装置１００は、ディスクドライブ３０３およびディスク３０４を有していなくてもよい。
【００４４】
（状態定義テーブル４００の記憶内容）
次に、図４を用いて、給餌制御装置１００が記憶する状態定義テーブル４００の記憶内容の一例について説明する。状態定義テーブル４００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００４５】
図４は、状態定義テーブル４００の記憶内容の一例を示す説明図である。図４に示すように、状態定義テーブル４００は、ボールの状態と、回転有無と、移動方向と、移動速度とのフィールドを有する。状態定義テーブル４００は、検知装置１０１となるボールの状態ごとに各フィールドに情報を設定することにより、状態定義情報がレコードとして記憶される。
【００４６】
ボールの状態のフィールドには、検知装置１０１となるボールの状態を示す名称が設定される。ボールの状態を示す名称は、停止中、蹴飛ばされ直後、咥えられ直後、空間移動中、口から落下開始直後、転がり中、跳ね返り直後、落下開始直後などである。
【００４７】
回転有無のフィールドには、検知装置１０１となるボールの状態に対応する、検知装置１０１となるボールの回転有無を示す情報が設定される。移動方向のフィールドには、検知装置１０１となるボールの状態に対応する、検知装置１０１となるボールの移動方向を示す情報が設定される。移動速度のフィールドには、検知装置１０１となるボールの状態に対応する、検知装置１０１となるボールの移動速度を示す情報が設定される。
【００４８】
例えば、ボールの状態の「停止中」は、ボールが回転および移動していない状態である。このため、ボールの状態が「停止中」であれば、回転有無は「なし」であり、移動方向は「‐（なし）」であり、移動速度は「‐（なし）」である。
【００４９】
また、例えば、ボールの状態の「蹴飛ばされ直後」は、動物Ｄがボールに接触したことに応じてボールが回転および移動している状態である。ボールの状態の「蹴飛ばされ直後」では、動物Ｄがボールに接触したことに応じて、ボールの移動速度が比較的大きくなる傾向がある。このため、ボールの状態が「蹴飛ばされ直後」であれば、回転有無は「あり」であり、移動方向は「ａ（水平方向のいずれかの方向）」であり、移動速度は「ｖ（速）」である。「ｖ（速）」は、直前の移動速度から比較的大きく加速した移動速度を示す。「ｖ（速）」は、所定の閾値以上の移動速度を示してもよい。
【００５０】
また、例えば、ボールの状態の「咥えられ直後」は、動物Ｄがボールを咥えたことに応じてボールが移動している状態である。ボールの状態の「咥えられ直後」では、動物Ｄがボールを咥えたことに応じて、ボールの垂直方向の移動方向が上向きになる傾向がある。このため、ボールの状態が「咥えられ直後」であれば、回転有無は「なし」であり、移動方向は「上」であり、移動速度は「ｖ」である。「ｖ」は、単に移動速度が０ではないことを示す。「ｖ」は、所定範囲の移動速度を示してもよい。
【００５１】
また、例えば、ボールの状態の「空間移動中」は、動物Ｄがボールを咥えた後、動物Ｄがボールを咥えたまま移動することに応じて、ボールが移動している状態である。ボールの状態が「空間移動中」であれば、回転有無は「なし」であり、移動方向は「ａ（水平方向のいずれかの方向）」であり、移動速度は「ｖ」である。
【００５２】
また、例えば、ボールの状態の「口から落下開始直後」は、動物Ｄがボールを咥えた後、動物Ｄがボールを口から落としたことに応じて、ボールが回転および移動している状態である。ボールの状態が「口から落下開始直後」であれば、回転有無は「あり（弱い）」であり、移動方向は「下」であり、移動速度は「ｖ」である。「あり（弱い）」は、回転がないか、回転の強さが所定の閾値以下であることを示す。
【００５３】
また、例えば、ボールの状態の「転がり中」は、ボールが転がっており、ボールが回転および移動している状態である。ボールの状態が「転がり中」であれば、回転有無は「あり」であり、移動方向は「ａ（水平方向のいずれかの方向）」であり、移動速度は「ｖ」である。
【００５４】
また、例えば、ボールの状態の「跳ね返り直後」は、ボールが壁などにぶつかって跳ね返っており、ボールが回転および移動している状態である。ボールの状態の「跳ね返り直後」では、ボールが壁などにぶつかったことにより、移動速度が小さくなる傾向がある。ボールの状態が「跳ね返り直後」であれば、回転有無は「あり」であり、移動方向は「ａ（水平方向のいずれかの方向）」であり、移動速度は「ｖ（遅）」である。「ｖ（遅）」は、直前の移動速度から比較的大きく減速した移動速度を示す。「ｖ（遅）」は、所定の閾値以下の移動速度を示してもよい。
【００５５】
また、例えば、ボールの状態の「落下開始直後」は、ボールが段差などを落下しており、ボールが回転および移動している状態である。ボールの状態が「落下開始直後」であれば、回転有無は「あり」であり、移動方向は「下」であり、移動速度は「ｖ」である。
【００５６】
（給餌判定基準テーブル５００の記憶内容）
次に、図５を用いて、給餌制御装置１００が記憶する給餌判定基準テーブル５００の記憶内容の一例について説明する。給餌判定基準テーブル５００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００５７】
図５は、給餌判定基準テーブル５００の記憶内容の一例を示す説明図である。図５に示すように、給餌判定基準テーブル５００は、回転量と、移動量と、アクション回数とのフィールドを有する。給餌判定基準テーブル５００は、各フィールドに情報を設定することにより、給餌判定基準がレコードとして記憶される。
【００５８】
回転量のフィールドには、動物Ｄに給餌すると判定する基準値として、検知装置１０１の回転量に対する閾値が設定される。回転量のフィールドには、例えば、「１０００回転」が設定され、検知装置１０１の回転量が「１０００回転」以上である場合に、動物Ｄに給餌すると判定することを示している。
【００５９】
移動量のフィールドには、動物Ｄに給餌すると判定する基準値として、検知装置１０１の移動量に対する閾値が設定される。移動量のフィールドには、例えば、「２πｒ×１０００回転」が設定され、検知装置１０１の移動量が「２πｒ×１０００回転」以上である場合に、動物Ｄに給餌すると判定することを示している。
【００６０】
アクション回数のフィールドには、動物Ｄに給餌すると判定する基準値として、検知装置１０１への動物Ｄのアクション回数に対する閾値が設定される。アクション回数のフィールドには、例えば、「５回」が設定され、検知装置１０１への動物Ｄのアクション回数が「５回」以上である場合に、動物Ｄに給餌すると判定することを示している。
【００６１】
ここでは、給餌判定基準テーブル５００が、検知装置１０１の回転量に対する閾値と、検知装置１０１の移動量に対する閾値と、検知装置１０１への動物Ｄのアクション回数に対する閾値とを記憶する場合について説明したが、これに限らない。例えば、給餌判定基準テーブル５００が、検知装置１０１の回転量に対する閾値と、検知装置１０１の移動量に対する閾値と、検知装置１０１への動物Ｄのアクション回数に対する閾値との少なくともいずれかを記憶しない場合があってもよい。
【００６２】
（ログテーブル６００の記憶内容）
次に、図６を用いて、給餌制御装置１００が記憶するログテーブル６００の記憶内容の一例について説明する。ログテーブル６００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００６３】
図６は、ログテーブル６００の記憶内容の一例を示す説明図である。図６に示すように、ログテーブル６００は、経過秒数と、回転数と、回転有無と、速度と、水平方向と、垂直方向とのフィールドを有する。ログテーブル６００は、所定の時点からの経過秒数ごとに各フィールドに情報を設定することにより、ログ情報がレコードとして記憶される。
【００６４】
経過秒数のフィールドには、所定の時点からの経過秒数が設定される。回転数のフィールドには、所定の時点から経過秒数の時点までにおける検知装置１０１の回転数が、検知装置１０１から受信した検知情報に基づいて設定される。回転有無のフィールドには、経過秒数の時点における検知装置１０１の回転の有無を示すフラグが、検知装置１０１から受信した検知情報に基づいて設定される。
【００６５】
速度のフィールドには、経過秒数の時点における検知装置１０１の移動速度が、検知装置１０１から受信した検知情報に基づいて設定される。水平方向のフィールドには、経過秒数の時点における検知装置１０１の水平方向の移動方向が、検知装置１０１から受信した検知情報に基づいて設定される。垂直方向のフィールドには、経過秒数の時点における検知装置１０１の垂直方向の移動方向が、検知装置１０１から受信した検知情報に基づいて設定される。
【００６６】
（運動量テーブル７００の記憶内容）
次に、図７を用いて、給餌制御装置１００が記憶する運動量テーブル７００の記憶内容の一例について説明する。運動量テーブル７００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００６７】
図７は、運動量テーブル７００の記憶内容の一例を示す説明図である。図７に示すように、運動量テーブル７００は、回転量と、移動量と、アクション回数とのフィールドを有する。運動量テーブル７００は、動物Ｄのアクションに応じて各フィールドに情報を設定することにより、運動量情報がレコードとして記憶される。
【００６８】
回転量のフィールドには、検知装置１０１の回転量のうち、動物Ｄのアクションに応じて検知装置１０１が回転した場合についての検知装置１０１の回転量が設定される。移動量のフィールドには、検知装置１０１の移動量のうち、動物Ｄのアクションに応じて検知装置１０１が移動した場合についての検知装置１０１の移動量が設定される。アクション回数のフィールドには、検知装置１０１への動物Ｄのアクション回数が設定される。
【００６９】
（出力処理定義テーブル８００の記憶内容）
まず、図８を用いて、給餌制御装置１００が記憶する出力処理定義テーブル８００の記憶内容の一例について説明する。出力処理定義テーブル８００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００７０】
図８は、出力処理定義テーブル８００の記憶内容の一例を示す説明図である。図８に示すように、出力処理定義テーブル８００は、順と、出力処理と、カウンタとのフィールドを有する。出力処理定義テーブル８００は、出力処理ごとに各フィールドに情報を設定することにより、出力処理情報がレコードとして記憶される。
【００７１】
順のフィールドには、検知装置１０１に出力処理を実行させる順番を示す番号が設定される。出力処理のフィールドには、検知装置１０１に実行させる出力処理の名称が設定される。カウンタのフィールドには、検知装置１０１に実行させた出力処理を識別するフラグが設定される。
【００７２】
（出力判定基準テーブル９００の記憶内容）
次に、図９を用いて、給餌制御装置１００が記憶する出力判定基準テーブル９００の記憶内容の一例について説明する。出力判定基準テーブル９００は、例えば、図３に示した給餌制御装置１００のメモリ３０２やディスク３０４などの記憶領域により実現される。
【００７３】
図９は、出力判定基準テーブル９００の記憶内容の一例を示す説明図である。図９に示すように、出力判定基準テーブル９００は、無反応時間のフィールドを有する。出力判定基準テーブル９００は、出力判定基準がレコードとして記憶される。
【００７４】
無反応時間のフィールドには、検知装置１０１に出力処理を実行させると判定する基準値として、検知装置１０１の回転または移動がないまま経過した時間に対する閾値が設定される。無反応時間のフィールドには、例えば、「５分」が設定され、検知装置１０１の回転または移動がないまま経過した時間が「５分」以上である場合に、検知装置１０１に出力処理を実行させることを示している。
【００７５】
（検知装置１０１のハードウェア構成例）
次に、図１０を用いて、図２に示した給餌システム２００に含まれる検知装置１０１のハードウェア構成例について説明する。
【００７６】
図１０は、検知装置１０１のハードウェア構成例を示すブロック図である。図１０において、検知装置１０１は、ＣＰＵ１００１と、メモリ１００２と、Ｉ／Ｆ１００３と、ライト１００４と、スピーカー１００５と、モーター１００６と、匂い出力部１００７と、センサ類１００８とを有する。また、各構成部は、バス１０００によってそれぞれ接続される。
【００７７】
ここで、ＣＰＵ１００１は、検知装置１０１の全体の制御を司る。メモリ１００２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ１００１のワークエリアとして使用される。メモリ１００２に記憶されるプログラムは、ＣＰＵ１００１にロードされることで、コーディングされている処理をＣＰＵ１００１に実行させる。
【００７８】
Ｉ／Ｆ１００３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。Ｉ／Ｆ１００３は、例えば、ネットワーク２１０を介して給餌制御装置１００に接続される。そして、Ｉ／Ｆ１００３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ１００３は、近距離無線用のアンテナを有する通信回路などである。Ｉ／Ｆ１００３は、例えば、Ｗｉ−Ｆｉ（登録商標）用のアンテナを有する通信回路などである。
【００７９】
ライト１００４は、ＣＰＵ１００１の制御にしたがって光を発する。ライト１００４は、例えば、ＬＥＤである。スピーカー１００５は、ＣＰＵ１００１の制御にしたがって音を発する。モーター１００６は、ＣＰＵ１００１の制御にしたがって振動を発する。モーター１００６は、検知装置１０１を不規則に移動させることが可能な大きさの振動を発してもよい。振動は、移動による振動を含む。モーター１００６は、検知装置１０１を自走させ、検知装置１０１を移動させてもよい。匂い出力部１００７は、ＣＰＵ１００１の制御にしたがって匂いを発する。匂い出力部１００７は、例えば、香水が入ったスプレーを操作する装置などである。
【００８０】
センサ類１００８は、検知装置１０１の状態を検出する。センサ類１００８は、例えば、検知装置１０１の回転または移動の少なくともいずれかを検出する。センサ類１００８は、具体的には、ジャイロセンサや加速度センサを有する。また、センサ類１００８は、地磁気センサ、光センサ、振動センサなどの少なくともいずれかを有してもよい。また、センサ類１００８は、ＧＰＳ受信機を有し、検知装置１０１のＧＰＳ座標を検出してもよい。
【００８１】
（給餌装置１０２のハードウェア構成例）
次に、図１１を用いて、図２に示した給餌システム２００に含まれる給餌装置１０２のハードウェア構成例について説明する。
【００８２】
図１１は、給餌装置１０２のハードウェア構成例を示す説明図である。図１１において、給餌装置１０２は、餌ボックス１１１０、受信アンテナ１１２０、モーター１１３０、板バネ１１４０、トレイ１１５０を有する。
【００８３】
餌ボックス１１１０は、餌入り口１１１１から投入された餌を貯めるボックスである。受信アンテナ１１２０は、給餌制御装置１００から給餌指示を示す電波を受信する。受信アンテナ１１２０は、給餌指示を示す電波を受信すると、モーター１１３０を駆動させる。モーター１１３０は、餌ボックス１１１０の扉１１１２に接続された紐１１３１を一時的に巻き取り、餌ボックス１１１０の扉１１１２を開き、餌ボックス１１１０から餌をトレイ１１５０に放出させる。板バネ１１４０は、餌ボックス１１１０の扉１１１２に接続され、モーター１１３０が駆動しないときに餌ボックス１１１０の扉１１１２を閉める。トレイ１１５０は、餌ボックス１１１０から放出された餌を貯め、動物Ｄに供給する。
【００８４】
（端末装置２０２のハードウェア構成例）
次に、図１２を用いて、図２に示した給餌システム２００に含まれる端末装置２０２のハードウェア構成例について説明する。
【００８５】
図１２は、端末装置２０２のハードウェア構成例を示すブロック図である。図１２において、端末装置２０２は、ＣＰＵ１２０１と、メモリ１２０２と、ディスクドライブ１２０３と、ディスク１２０４と、Ｉ／Ｆ１２０５と、ディスプレイ１２０６と、スピーカー１２０７と、モーター１２０８とを有する。また、各構成部はバス１２００によってそれぞれ接続される。
【００８６】
ここで、ＣＰＵ１２０１は、端末装置２０２の全体の制御を司る。メモリ１２０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ１２０１のワークエリアとして使用される。メモリ１２０２に記憶されるプログラムは、ＣＰＵ１２０１にロードされることで、コーディングされている処理をＣＰＵ１２０１に実行させる。
【００８７】
ディスクドライブ１２０３は、ＣＰＵ１２０１の制御にしたがってディスク１２０４に対するデータのリード／ライトを制御する。ディスク１２０４は、ディスクドライブ１２０３の制御で書き込まれたデータを記憶する。ディスク１２０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００８８】
Ｉ／Ｆ１２０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示した給餌制御装置１００）に接続される。そして、Ｉ／Ｆ１２０５は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ１２０５は、例えば、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）用のアンテナを有する通信回路やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）用のアンテナを有する通信回路などである。Ｉ／Ｆ１２０５は、Ｗｉ−Ｆｉ用のアンテナを有する通信回路であってもよい。
【００８９】
ディスプレイ１２０６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ１２０６は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどを採用することができる。スピーカー１２０７は、ＣＰＵ１２０１の制御にしたがって音を発する。モーター１２０８は、ＣＰＵ１２０１の制御にしたがって振動を発する。
【００９０】
端末装置２０２は、上述した構成部のうち、例えば、ディスクドライブ１２０３、ディスク１２０４などを有さないことにしてもよい。また、端末装置２０２は、上述した構成部のほか、例えば、ＳＳＤ、半導体メモリ、スキャナ、プリンタなどを有することにしてもよい。
【００９１】
（給餌制御装置１００の機能的構成例）
次に、図１３を用いて、給餌制御装置１００の機能的構成例について説明する。
【００９２】
図１３は、給餌制御装置１００の機能的構成例を示すブロック図である。給餌制御装置１００は、取得部１３０１と、判定部１３０２と、送信部１３０３とを含む。
【００９３】
取得部１３０１〜送信部１３０３は、制御部となる機能である。取得部１３０１〜送信部１３０３は、具体的には、例えば、図３に示したメモリ３０２やディスク３０４などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、各Ｉ／Ｆ３０５〜３０７により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２やディスク３０４などの記憶領域に記憶される。
【００９４】
取得部１３０１は、検知情報を取得する。検知情報は、検知装置１０１が検知した検知装置１０１の回転または移動の少なくともいずれかに関する情報を含む。検知情報は、例えば、検知装置１０１の回転の強さ、検知装置１０１の移動方向および移動速度に関する情報を含む。検知情報は、例えば、検知装置１０１に取得され、検知装置１０１から給餌制御装置１００に送信される。
【００９５】
検知装置１０１の回転の強さに関する情報は、例えば、検知装置１０１の回転の強さを示す値であって、単位時間あたりの回転量である。回転量は、例えば、回転数で示される。回転量は、例えば、回転時間で示されてもよい。検知装置１０１の回転の強さに関する情報は、例えば、単に、検知装置１０１の回転の有無を示すフラグであってもよい。検知装置１０１の移動方向に関する情報は、例えば、検知装置１０１の水平方向の移動方向および垂直方向の移動方向を示す情報である。検知装置１０１の移動速度に関する情報は、例えば、単位時間における移動速度である。
【００９６】
取得部１３０１は、例えば、複数の時点のそれぞれの時点について検知情報を取得する。取得部１３０１は、具体的には、単位時間ごとの検知情報を検知装置１０１から受信し、ログテーブル６００に記憶する。これにより、取得部１３０１は、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出する際に用いられる、検知情報を蓄積することができる。
【００９７】
判定部１３０２は、取得部１３０１が取得した検知情報に基づいて検知装置１０１への動物Ｄのアクションがあるか否かを判定する。判定部１３０２は、例えば、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が増加した時点に、検知装置１０１への動物Ｄのアクションが開始したと判定する。判定部１３０２は、例えば、検知装置１０１の水平の移動方向があって検知装置１０１の移動速度が増加した時点に、検知装置１０１への動物Ｄのアクションが開始したと判定してもよい。その後、判定部１３０２は、例えば、検知装置１０１の移動速度が閾値以下になった時点に、検知装置１０１への動物Ｄのアクションが終了したと判定する。
【００９８】
これにより、判定部１３０２は、検知装置１０１への動物Ｄのアクションがあるか否かを判定することができる。判定部１３０２は、検知装置１０１の水平の移動方向が変化したか考慮し、動物のアクションによらず、坂道を転がり落ちるなどして検知装置１０１の移動速度が増加した時点には、動物Ｄのアクションが開始したと判定しないことができる。このため、判定部１３０２は、動物Ｄのアクションがあるか否かを精度よく判定しやすくなる。
【００９９】
判定部１３０２は、例えば、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が増加した時点に、検知装置１０１への動物Ｄのアクションが開始したと判定する。その後、判定部１３０２は、例えば、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が減少した時点に、検知装置１０１への動物Ｄのアクションが終了したと判定する。判定部１３０２は、例えば、検知装置１０１の水平の移動方向があり検知装置１０１の移動速度が減少した時点に、検知装置１０１への動物Ｄのアクションが終了したと判定してもよい。
【０１００】
これにより、判定部１３０２は、検知装置１０１への動物Ｄのアクションがあるか否かを判定することができる。判定部１３０２は、検知装置１０１の水平の移動方向が変化したか考慮し、動物のアクションによらず、壁にぶつかるなどして検知装置１０１の移動速度が減少した時点には、動物Ｄのアクションが開始したと判定しないことができる。このため、判定部１３０２は、検知装置１０１が何かにぶつかったか否かに基づき動物Ｄのアクションがあるか否かを判定する場合に比べて、動物Ｄのアクションがあるか否かを精度よく判定しやすくなる。
【０１０１】
判定部１３０２は、例えば、検知装置１０１の回転の強さが所定以下であり検知装置１０１の垂直の移動方向が上方向になった時点に、検知装置１０１への動物Ｄのアクションが開始したと判定する。その後、判定部１３０２は、例えば、検知装置１０１の垂直の移動方向が下方向になった時点に、検知装置１０１への動物Ｄのアクションが終了したと判定する。
【０１０２】
これにより、判定部１３０２は、検知装置１０１への動物Ｄのアクションがあるか否かを判定することができる。判定部１３０２は、検知装置１０１の回転の強さを考慮し、動物のアクションによらず、段差を落ちるなどして検知装置１０１の垂直の移動方向が下向きになったのか否かを判別することができる。このため、判定部１３０２は、動物Ｄのアクションがあるか否かを精度よく判定しやすくなる。
【０１０３】
送信部１３０３は、判定部１３０２が動物Ｄのアクションがあると判定した場合に、検知装置１０１への動物Ｄのアクションがあることを示す通知を端末装置２０２に送信する。送信部１３０３は、例えば、判定部１３０２が検知装置１０１への動物Ｄのアクションが開始したと判定した場合に、検知装置１０１への動物Ｄのアクションがあることを示す通知を端末装置２０２から出力させる通知指示を、端末装置２０２に送信する。
【０１０４】
一方で、端末装置２０２は、通知指示を受信し、飼い主Ｏへの通知を出力する。出力形式は、例えば、ディスプレイ１２０６への表示、スピーカー１２０７からの音声出力、モーター１２０８の振動、または、メモリ１２０２などの記憶領域への記憶である。これにより、送信部１３０３は、端末装置２０２の利用者に、検知装置１０１への動物Ｄのアクションがあったことを把握させることができる。
【０１０５】
また、判定部１３０２は、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。回転量は、例えば、回転数で示される。回転量は、例えば、回転時間で示されてもよい。移動量は、例えば、移動距離で示される。移動距離は、例えば、回転数と検知装置１０１の外周の長さとの乗算結果で示される。移動量は、例えば、移動時間で示されてもよい。
【０１０６】
判定部１３０２は、例えば、取得部１３０１が取得した検知情報に基づいて、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出する。
【０１０７】
検知装置１０１の回転量は、例えば、検知情報が示す単位時間あたりの回転量を累積することにより算出される。検知装置１０１の移動量は、例えば、検知情報が示す単位時間あたりの移動量を累積することにより算出される。検知装置１０１の移動量は、例えば、検知装置１０１の回転量に、検知装置１０１の外周の長さを乗算することにより算出されてもよい。
【０１０８】
そして、判定部１３０２は、算出した検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。これにより、給餌制御装置１００は、動物Ｄの運動量の大きさが、給餌条件を満たす大きさになったか否かを、間接的に判定することができる。
【０１０９】
判定部１３０２は、例えば、取得部１３０１が取得した検知情報のうち、検知装置１０１への動物Ｄのアクションがある場合に対応する検知情報を特定する。判定部１３０２は、特定した検知情報に基づいて、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出する。
【０１１０】
検知装置１０１の回転量は、例えば、動物Ｄのアクションがある場合に対応する検知情報が示す単位時間あたりの回転量を累積することにより算出される。検知装置１０１の移動量は、例えば、動物Ｄのアクションがある場合に対応する検知情報が示す単位時間あたりの移動量を累積することにより算出される。検知装置１０１の移動量は、例えば、検知装置１０１の回転量に、検知装置１０１の外周の長さを乗算することにより算出されてもよい。
【０１１１】
そして、判定部１３０２は、算出した検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。これにより、給餌制御装置１００は、動物Ｄの運動量の大きさが、給餌条件を満たす大きさになったか否かを、間接的に判定することができる。
【０１１２】
判定部１３０２は、例えば、検知装置１０１への動物Ｄのアクションがある場合に対応する検知情報に基づいて、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出してもよい。そして、判定部１３０２は、算出した検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定する。
【０１１３】
これにより、給餌制御装置１００は、動物Ｄの運動量の大きさを示す指標値となる、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを、精度よく算出することができる。給餌制御装置１００は、動物Ｄの運動量の大きさが、給餌条件を満たす大きさになったか否かを、間接的に判定することができる。
【０１１４】
送信部１３０３は、判定部１３０２が所定の条件を満たすと判定した場合に、給餌装置１０２に給餌指示を送信する。送信部１３０３は、例えば、判定部１３０２が検知装置１０１の回転量が閾値以上になり、給餌条件を満たすと判定した場合に、給餌装置１０２に給餌指示を送信する。これにより、送信部１３０３は、動物Ｄにセンサを装着させなくても、動物Ｄの運動量に応じて動物Ｄに給餌するタイミングを制御することができる。このため、給餌制御装置１００は、センサの装着により、動物Ｄに肉体的または精神的な負担がかかることを、抑制することができる。
【０１１５】
送信部１３０３は、検知装置１０１に所定の動作を行わせる。送信部１３０３は、例えば、所定の出力処理を実行させる実行要求を検知装置１０１に送信することにより、所定の出力処理を検知装置１０１に実行させる。送信部１３０３は、具体的には、光や音を発する出力処理を実行させる実行要求を検知装置１０１に送信する。これにより、送信部１３０３は、動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０１１６】
送信部１３０３は、検知装置１０１に所定の動作を行わせた後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、検知装置１０１に所定の動作とは異なる動作を行わせてもよい。送信部１３０３は、例えば、所定の出力処理を実行させる実行要求を検知装置１０１に送信した後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、所定の出力処理とは異なる出力処理を実行させる実行要求を検知装置１０１に送信する。
【０１１７】
送信部１３０３は、具体的には、音を発する出力処理を実行させる実行要求を検知装置１０１に送信した後、検知装置１０１の回転または移動がないまま所定の時間が経過したか否かを判定する。送信部１３０３は、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、振動を発する出力処理または匂いを発する出力処理の少なくともいずれかを実行させる実行要求を検知装置１０１に送信する。振動を発する出力処理は、例えば、自走する出力処理であってもよい。
【０１１８】
送信部１３０３は、具体的には、振動を発する出力処理を実行させる実行要求を検知装置１０１に送信した後、検知装置１０１の回転または移動がないまま所定の時間が経過したか否かを判定する。送信部１３０３は、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、音を発する出力処理または匂いを発する出力処理の少なくともいずれかを実行させる実行要求を検知装置１０１に送信する。
【０１１９】
送信部１３０３は、例えば、検知装置１０１に匂いを発する出力処理を実行させる実行要求を検知装置１０１に送信した後、検知装置１０１の回転または移動がないまま所定の時間が経過したか否かを判定する。送信部１３０３は、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、音を発する出力処理または振動を発する出力処理の少なくともいずれかを実行させる実行要求を検知装置１０１に送信する。
【０１２０】
一方で、検知装置１０１は、実行要求を受信すると、実行要求に応じて、ライト１００４の点灯、スピーカー１００５からの音声出力、モーター１００６の振動、または、匂い出力部１００７から匂いの発生のいずれかを行う。これにより、送信部１３０３は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。また、送信部１３０３は、所定の時間が経過する都度、異なる出力処理によって動物Ｄに検知装置１０１への興味を抱かせ、動物Ｄが検知装置１０１に飽きづらくすることができる。
【０１２１】
（給餌制御装置１００の動作の一例）
次に、図１４〜図２５を用いて、給餌制御装置１００の動作の一例について説明する。以下の説明では、検知装置１０１がボールである場合について説明するため、「検知装置１０１」の代わりに「ボール１０１」と表記する場合がある。
【０１２２】
まず、図１４を用いて、給餌制御装置１００が、動物Ｄのアクションに応じたボール１０１の回転量や移動量、またはボール１０１への動物Ｄのアクション回数に基づいて、給餌装置１０２に給餌指示を送信する一例について説明する。
【０１２３】
図１４は、給餌指示を送信する一例を示す説明図である。図１４において、給餌制御装置１００は、検知情報をボール１０１から受信し、ログテーブル６００に蓄積する。給餌制御装置１００は、ログテーブル６００に基づいて、ボール１０１への動物Ｄのアクションがあるか否かを判定する。ボール１０１への動物Ｄのアクションは、ボール１０１を動物Ｄが咥えるアクションや、ボール１０１に動物Ｄがぶつかるアクションである。給餌制御装置１００が、ボール１０１への動物Ｄのアクションがあったことをどのように判定するかは、図１６〜図２２を用いて後述する。
【０１２４】
（１４−１）給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定した場合に、動物Ｄのアクションに応じたボール１０１の回転量や移動量、またはボール１０１への動物Ｄのアクション回数を算出する。給餌制御装置１００は、例えば、ボール１０１への動物Ｄのアクションがあったと判定した場合に、運動量テーブル７００のアクション回数のフィールドに１加算する。
【０１２５】
また、給餌制御装置１００は、例えば、動物Ｄのアクションがある場合に対応する検知情報が示す単位時間あたりの回転量を、運動量テーブル７００の回転量のフィールドに累積してもよい。また、給餌制御装置１００は、例えば、動物Ｄのアクションがある場合に対応する検知情報が示す単位時間あたりの移動量を、運動量テーブル７００の移動量のフィールドに累積してもよい。
【０１２６】
これにより、給餌制御装置１００は、動物Ｄの運動量の大きさを比較的精度よく示す指標値を取得することができる。給餌制御装置１００は、例えば、動物Ｄの運動量を示す指標値として算出するボール１０１の回転量や移動量から、ボール１０１が自走したときの回転量や移動量、および動物Ｄのアクションによらない回転量や移動量が除外されるようにすることができる。
【０１２７】
（１４−２）給餌制御装置１００は、算出結果に基づいて、給餌条件を満たすか否かを判定する。給餌制御装置１００は、例えば、動物Ｄのアクションに応じたボール１０１の回転量が閾値以上である場合に、給餌条件を満たすと判定する。
【０１２８】
また、給餌制御装置１００は、例えば、動物Ｄのアクションに応じたボール１０１の移動量が閾値以上である場合に、給餌条件を満たすと判定してもよい。また、給餌制御装置１００は、例えば、ボール１０１への動物Ｄのアクション回数が閾値以上である場合に、給餌条件を満たすと判定してもよい。また、給餌制御装置１００は、例えば、ボール１０１の回転量が閾値以上であって、かつ、ボール１０１への動物Ｄのアクション回数が閾値以上である場合に、給餌条件を満たすと判定してもよい。
【０１２９】
そして、給餌制御装置１００は、給餌条件を満たすと判定した場合、給餌装置１０２に給餌指示を送信する。これにより、給餌制御装置１００は、動物Ｄにセンサを装着させなくても、動物Ｄの運動量に応じて動物Ｄに給餌するタイミングを制御することができる。このため、給餌制御装置１００は、センサの装着により、動物Ｄに肉体的または精神的な負担がかかることを、抑制することができる。
【０１３０】
結果として、給餌制御装置１００は、動物Ｄの運動量に対して動物Ｄへの給餌量が過剰になることを抑制するように、動物Ｄの運動量が比較的小さい場合には動物Ｄに給餌されないように給餌装置１０２を制御することができる。また、給餌制御装置１００は、所定の運動量以上に運動した場合に給餌装置１０２から自動で給餌されるように制御し、運動すると給餌されることを動物Ｄに覚えさせ、運動することを動物Ｄに習慣付けるようにすることができる。
【０１３１】
このように、給餌制御装置１００は、動物Ｄの肥満を防ぎやすくなるように、動物Ｄに給餌するタイミングを制御することができる。また、給餌制御装置１００は、飼い主が不在であっても、運動することを自宅の動物Ｄに習慣付けることができ、運動不足を解消しやすくすることができる。
【０１３２】
次に、図１５を用いて、給餌制御装置１００が、ボール１０１への動物Ｄのアクションがあったことを示す通知を、端末装置２０２から飼い主Ｏに対して出力させる通知指示を、端末装置２０２に送信する一例について説明する。
【０１３３】
図１５は、通知指示を送信する一例を示す説明図である。図１５において、給餌制御装置１００は、検知情報をボール１０１から受信し、ログテーブル６００に蓄積する。給餌制御装置１００は、ログテーブル６００に基づいて、ボール１０１への動物Ｄのアクションがあるか否かを判定する。ボール１０１への動物Ｄのアクションは、ボール１０１を動物Ｄが咥えるアクションや、ボール１０１に動物Ｄがぶつかるアクションである。
【０１３４】
給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定した場合に、ボール１０１への動物Ｄのアクションがあったことを示す通知を、端末装置２０２から飼い主Ｏに対して出力させる通知指示を、端末装置２０２に送信する。通知は、例えば、ディスプレイ１２０６への表示、スピーカー１２０７からの音声出力、モーター１２０８の振動、または、メモリ１２０２などの記憶領域への記憶によって実現される。端末装置２０２は、通知指示を受信すると、ボール１０１への動物Ｄのアクションがあったことを示す通知を、飼い主Ｏに対して出力する。
【０１３５】
通知の方法は、動物Ｄのアクションの種類によって異なる方法であってもよい。端末装置２０２は、例えば、動物Ｄがボール１０１を咥えたアクションであれば、スピーカー１２０７を用いて、動物Ｄがボール１０１を咥えたことを示す音声「ガブッ」を出力し、飼い主Ｏに対して通知する。また、端末装置２０２は、スピーカー１２０７を用いて、動物Ｄがボール１０１を咥えている間、音声を出力し続け、飼い主Ｏに対して通知してもよい。また、端末装置２０２は、モーター１２０８を用いて、動物Ｄがボール１０１を咥えている間、振動を発し続け、飼い主Ｏに対して通知してもよい。
【０１３６】
端末装置２０２は、例えば、動物Ｄがボール１０１を蹴飛ばすなど、動物Ｄがボール１０１にぶつかるアクションであれば、スピーカー１２０７を用いて、動物Ｄがボール１０１にぶつかることを示す音声「びょーん」を出力し、飼い主Ｏに対して通知する。また、端末装置２０２は、モーター１２０８を用いて、動物Ｄがボール１０１にぶつかった際に振動を発し、飼い主Ｏに対して通知してもよい。
【０１３７】
これにより、給餌制御装置１００は、飼い主Ｏに、動物Ｄが運動しているか否かを把握させることができる。また、給餌制御装置１００は、飼い主Ｏが動物Ｄとの繋がりを感じやすくすることができる。また、給餌制御装置１００は、動物Ｄが運動していない場合には、飼い主Ｏに通知されないようにして、飼い主Ｏに負担がかかりづらくし、給餌システム２００を利用しやすくすることができる。
【０１３８】
次に、図１６〜図２２を用いて、給餌制御装置１００が、ボール１０１の状態を判定し、ボール１０１への動物Ｄのアクションがあったことをどのように判定するかについて説明する。まず、図１６を用いて、状態定義テーブル４００によって定義された、ボール１０１の状態遷移の一例について説明する。
【０１３９】
図１６は、ボール１０１の状態遷移の一例を示す説明図である。図１６において、ボール１０１の初期状態は「停止中」である。ボール１０１の状態は、「停止中」にボール１０１を動物Ｄが蹴飛ばすなど、ボール１０１に動物Ｄがぶつかるアクションがあると、「停止中」から「蹴飛ばされ直後」に遷移し、「蹴飛ばされ直後」から「転がり中」に遷移する。
【０１４０】
ボール１０１の状態は、「転がり中」から「停止中」に遷移する。ボール１０１の状態は、「転がり中」にさらにボール１０１を動物Ｄが蹴飛ばすなど、ボール１０１に動物Ｄがぶつかるアクションがあると、「転がり中」から「蹴飛ばされ直後」に遷移し、「蹴飛ばされ直後」から「転がり中」に遷移する。
【０１４１】
ボール１０１の状態は、「転がり中」にボール１０１が壁にぶつかると、「転がり中」から「跳ね返り直後」に遷移し、「転がり中」に遷移する。ボール１０１の状態は、「転がり中」にボール１０１が段差を落下すると、「転がり中」から「落下開始直後」に遷移し、「転がり中」に遷移する。
【０１４２】
ボール１０１の状態は、「停止中」にボール１０１を動物Ｄが咥えるアクションがあると、「停止中」から「咥えられ直後」に遷移し、「咥えられ直後」から「空間移動中」に遷移し、「空間移動中」から「口から落下開始直後」に遷移する。ボール１０１の状態は、「口から落下開始直後」から「転がり中」に遷移する。
【０１４３】
次に、図１７〜図２２を用いて、給餌制御装置１００が、ボール１０１の状態を判定し、判定した結果に基づいてボール１０１への動物Ｄのアクションがあったか否かを判定する一例について説明する。
【０１４４】
図１７〜図２２は、ボール１０１の状態を判定する一例を示す説明図である。図１７において、まず、ボール１０１の初期状態は「停止中」である。ボール１０１の状態は、「停止中」にボール１０１を動物Ｄが蹴飛ばすアクションがあると、「停止中」から「蹴飛ばされ直後」に遷移し、「蹴飛ばされ直後」から「転がり中」に遷移する。
【０１４５】
その後、ボール１０１の状態は、「転がり中」から「停止中」や「蹴飛ばされ直後」に遷移する。ボール１０１の状態は、例えば、「転がり中」から「蹴飛ばされ直後」に遷移し、「蹴飛ばされ直後」から「転がり中」に遷移する。
【０１４６】
これに対し、給餌制御装置１００は、状態定義テーブル４００を参照し、ログテーブル６００に基づいて、所定時間ごとに、最新のログ情報に対応するボール１０１の状態を判定することになる。ここで、図１８の説明に移行し、上記状態遷移の場合について給餌制御装置１００がボール１０１の状態を判定する一例について示す。
【０１４７】
図１８において、（１８−１）給餌制御装置１００は、最新のログ情報が、回転有無は「なし」であり、移動方向は「‐」であり、移動速度は「‐」であることを示していることを検出する。ここで、ボール１０１は、回転も移動もしていないため、停止している可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「停止中」であると判定する。
【０１４８】
その後、給餌制御装置１００は、直前のボール１０１の状態が「停止中」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ１」であり、移動速度は「ｖ（速）」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向が変化し、移動速度が直前の移動速度よりも比較的大きく加速した移動速度であるため、傾斜などを同じ方向に転がって加速した可能性が小さく、動物Ｄに蹴飛ばされた可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定する。
【０１４９】
その後、給餌制御装置１００は、直前のボール１０１の状態が「蹴飛ばされ直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ１」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向が変化せず、移動速度が加速してもいないため、動物Ｄに蹴飛ばされた後、そのまま転がり続けている可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。
【０１５０】
（１８−２）給餌制御装置１００は、直前のボール１０１の状態が「転がり中」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ２」であり、移動速度は「ｖ（速）」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向がａ１からａ２に変化し、移動速度が直前の移動速度よりも比較的大きく加速した移動速度であるため、動物Ｄに蹴飛ばされた後に、再び動物Ｄに蹴飛ばされた可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定する。
【０１５１】
その後、給餌制御装置１００は、直前のボール１０１の状態が「蹴飛ばされ直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ２」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。このように、給餌制御装置１００は、動物Ｄによるボール１０１の回転や移動と、動物Ｄによらないボール１０１の回転や移動とを判別することができる。次に、図１９の説明に移行する。
【０１５２】
図１９において、まず、ボール１０１の初期状態は「停止中」である。ボール１０１の状態は、「停止中」にボール１０１を動物Ｄが咥えるアクションがあると、「停止中」から「咥えられ直後」に遷移し、「咥えられ直後」から「空間移動中」に遷移し、「空間移動中」から「口から落下開始直後」に遷移する。ボール１０１の状態は、「口から落下開始直後」から「転がり中」に遷移する。
【０１５３】
その後、ボール１０１の状態は、「転がり中」から「停止中」や「咥えられ直後」に遷移する。ボール１０１の状態は、例えば、「転がり中」から「咥えられ直後」に遷移し、「咥えられ直後」から「空間移動中」に遷移し、「空間移動中」から「口から落下開始直後」に遷移し、「口から落下開始直後」から「転がり中」に遷移する。
【０１５４】
これに対し、給餌制御装置１００は、状態定義テーブル４００を参照し、ログテーブル６００に基づいて、所定時間ごとに、最新のログ情報に対応するボール１０１の状態を判定することになる。ここで、図２０の説明に移行し、上記状態遷移の場合について給餌制御装置１００がボール１０１の状態を判定する一例について示す。
【０１５５】
図２０において、（２０−１）給餌制御装置１００は、最新のログ情報が、回転有無は「なし」であり、移動方向は「‐」であり、移動速度は「‐」であることを示していることを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「停止中」であると判定する。
【０１５６】
その後、給餌制御装置１００は、直前のボール１０１の状態が「停止中」であり、最新のログ情報が、回転有無は「なし」であり、移動方向は「上」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向が上向きであるため、動物Ｄに咥えられた可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「咥えられ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定する。
【０１５７】
その後、給餌制御装置１００は、直前のボール１０１の状態が「咥えられ直後」であり、最新のログ情報が、回転有無は「なし」であり、移動方向は「ａ２」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、直前の状態が「咥えられ直後」であり、その後、移動方向が下向きになっていないため、まだ動物Ｄに咥えられたままである可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「空間移動中」であると判定する。
【０１５８】
その後、給餌制御装置１００は、直前のボール１０１の状態が「空間移動中」であり、最新のログ情報が、回転有無は「あり（弱い）」であり、移動方向は「下」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、直前の状態が「空間移動中」であり、移動方向が下向きになったため、動物Ｄに咥えることをやめられた可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「口から落下開始直後」であると判定する。
【０１５９】
その後、給餌制御装置１００は、直前のボール１０１の状態が「口から落下開始直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ３」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、直前の状態が「口から落下開始直後」であり、移動速度が加速してもいないため、動物Ｄに口から落とされた後、そのまま転がり続けている可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。
【０１６０】
（２０−２）給餌制御装置１００は、直前のボール１０１の状態が「転がり中」であり、最新のログ情報が、回転有無は「なし」であり、移動方向は「上」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「咥えられ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定する。
【０１６１】
その後、給餌制御装置１００は、直前のボール１０１の状態が「咥えられ直後」であり、最新のログ情報が、回転有無は「なし」であり、移動方向は「ａ」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「空間移動中」であると判定する。
【０１６２】
その後、給餌制御装置１００は、直前のボール１０１の状態が「空間移動中」であり、最新のログ情報が、回転有無は「あり（弱い）」であり、移動方向は「下」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「口から落下開始直後」であると判定する。
【０１６３】
その後、給餌制御装置１００は、直前のボール１０１の状態が「口から落下開始直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。このように、給餌制御装置１００は、動物Ｄによるボール１０１の回転や移動と、動物Ｄによらないボール１０１の回転や移動とを判別することができる。次に、図２１の説明に移行する。
【０１６４】
図２１において、ボール１０１の状態は、「転がり中」にボール１０１が壁にぶつかると、「転がり中」から「跳ね返り直後」に遷移し、「転がり中」に遷移する。ボール１０１の状態は、「転がり中」にボール１０１が段差を落下すると、「転がり中」から「落下開始直後」に遷移し、「転がり中」に遷移する。
【０１６５】
これに対し、給餌制御装置１００は、状態定義テーブル４００を参照し、ログテーブル６００に基づいて、所定時間ごとに、最新のログ情報に対応するボール１０１の状態を判定することになる。ここで、図２２の説明に移行し、上記状態遷移の場合について給餌制御装置１００がボール１０１の状態を判定する一例について示す。
【０１６６】
図２２において、（２２−１）給餌制御装置１００は、直前のボール１０１の状態が「転がり中」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ２」であり、移動速度は「ｖ（遅）」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向がａ１からａ２に変化し、移動速度が直前の移動速度よりも比較的大きく減速した移動速度であるため、動物Ｄに蹴飛ばされた可能性が小さく、壁にぶつかるなどして減速した可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「跳ね返り直後」であると判定する。
【０１６７】
その後、給餌制御装置１００は、直前のボール１０１の状態が「跳ね返り直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ２」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、移動方向が変化せず、移動速度が加速してもいないため、壁にぶつかった後、そのまま転がり続けている可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。
【０１６８】
（２２−２）給餌制御装置１００は、直前のボール１０１の状態が「転がり中」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「下」であり、移動速度は「ｖ」であることを示すようになったことを検出する。ここで、ボール１０１は、直前の状態が「空間移動中」ではなく「転がり中」であり、移動方向が下向きになったため、動物Ｄに咥えることをやめられた可能性が小さく、段差を落下した可能性が大きい。このため、給餌制御装置１００は、ボール１０１の状態は「落下開始直後」であると判定する。
【０１６９】
その後、給餌制御装置１００は、直前のボール１０１の状態が「落下開始直後」であり、最新のログ情報が、回転有無は「あり」であり、移動方向は「ａ２」であり、移動速度は「ｖ」であることを示すようになったことを検出する。このため、給餌制御装置１００は、ボール１０１の状態は「転がり中」であると判定する。このように、給餌制御装置１００は、動物Ｄによるボール１０１の回転や移動と、動物Ｄによらないボール１０１の回転や移動とを判別することができる。
【０１７０】
次に、図２３を用いて、給餌制御装置１００が、ログテーブル６００のログ情報ごとに、ボール１０１の状態を判定する具体例について説明する。
【０１７１】
図２３は、ボール１０１の状態を判定する具体例を示す説明図である。図２３において、給餌制御装置１００は、所定のタイミングになると、ボール１０１の状態を判定する動作を開始する。所定のタイミングは、例えば、予め設定された時刻である。所定のタイミングは、具体的には、毎日１５時などである。所定のタイミングは、例えば、所定の時間間隔で離れた複数の時点であってもよい。
【０１７２】
給餌制御装置１００は、所定のタイミングからの経過秒数「１」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「１」では、経過秒数「１」のログ情報が、回転有無は「なし」であり、移動方向は「‐」であり、移動速度は「０．０」であることを示していることを検出する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１」では、ボール１０１の状態は「停止中」であると判定する。
【０１７３】
給餌制御装置１００は、経過秒数「２」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２」では、ボール１０１の状態は「停止中」であると判定する。
【０１７４】
給餌制御装置１００は、経過秒数「３」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「３」では、直前のボール１０１の状態が「停止中」であり、経過秒数「３」のログ情報が、回転有無は「あり」であり、水平の移動方向は「ａ１」であり、移動速度は「５．０」であることを検出する。ここで、移動方向は、変化しており、移動速度は、「０．０」から「５．０」に増加しており、上述した「ｖ（速）」に該当する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３」では、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１７５】
給餌制御装置１００は、経過秒数「４」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「４」では、直前のボール１０１の状態が「蹴飛ばされ直後」であり、経過秒数「４」のログ情報が、回転有無は「あり」であり、水平の移動方向は「ａ１」であり、移動速度は「４．０」であることを検出する。ここで、移動方向は、変化せず、移動速度は、減少しており、上述した「ｖ」に該当する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「４」では、ボール１０１の状態は「転がり中」であると判定する。
【０１７６】
給餌制御装置１００は、経過秒数「５〜７」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「５〜７」では、ボール１０１の状態は「転がり中」であると判定する。
【０１７７】
給餌制御装置１００は、経過秒数「８，９」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「８，９」では、ボール１０１の状態は「停止中」であると判定する。
【０１７８】
給餌制御装置１００は、経過秒数「１０」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１０」では、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１７９】
給餌制御装置１００は、経過秒数「１１，１２」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１１，１２」では、ボール１０１の状態は「転がり中」であると判定する。
【０１８０】
給餌制御装置１００は、経過秒数「１３」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「１３」では、直前のボール１０１の状態が「転がり中」であり、経過秒数「１３」のログ情報が、回転有無は「あり」であり、水平の移動方向は「ａ３」であり、移動速度は「５．０」であることを検出する。ここで、移動方向は、変化しており、移動速度は、「３．０」から「５．０」に増加しており、上述した「ｖ（速）」に該当する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１３」では、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１８１】
給餌制御装置１００は、経過秒数「１４〜１７」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１４〜１７」では、ボール１０１の状態は「転がり中」であると判定する。
【０１８２】
給餌制御装置１００は、経過秒数「１８，１９」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「１８，１９」では、ボール１０１の状態は「停止中」であると判定する。
【０１８３】
給餌制御装置１００は、経過秒数「２０」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２０」では、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１８４】
給餌制御装置１００は、経過秒数「２１」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２１」では、ボール１０１の状態は「転がり中」であると判定する。
【０１８５】
給餌制御装置１００は、経過秒数「２２」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「２２」では、直前のボール１０１の状態が「転がり中」であり、経過秒数「２２」のログ情報が、回転有無は「あり」であり、移動方向は「ａ５」であり、移動速度は「２．０」であることを検出する。ここで、移動方向は、変化しているが、移動速度は、「４．０」から「２．０」に減少しており、上述した「ｖ（遅）」に該当する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２２」では、ボール１０１の状態は「跳ね返り直後」であると判定する。
【０１８６】
給餌制御装置１００は、経過秒数「２３」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２３」では、ボール１０１の状態は「転がり中」であると判定する。
【０１８７】
給餌制御装置１００は、経過秒数「２４，２５」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２４，２５」では、ボール１０１の状態は「停止中」であると判定する。
【０１８８】
給餌制御装置１００は、経過秒数「２６」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２６」では、ボール１０１の状態は「蹴飛ばされ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１８９】
給餌制御装置１００は、経過秒数「２７」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２７」では、ボール１０１の状態は「転がり中」であると判定する。
【０１９０】
給餌制御装置１００は、経過秒数「２８」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「２８」では、直前のボール１０１の状態が「転がり中」であり、経過秒数「２８」のログ情報が、回転有無は「あり」であり、垂直の移動方向は「下」であり、移動速度は「３．０」であることを検出する。ここで、回転有無は「あり」であり、上述した「あり（弱い）」に該当しない。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２８」では、ボール１０１の状態は「落下開始直後」であると判定する。
【０１９１】
給餌制御装置１００は、経過秒数「２９，３０」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「２９，３０」では、ボール１０１の状態は「転がり中」であると判定する。
【０１９２】
給餌制御装置１００は、経過秒数「３１，３２」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３１，３２」では、ボール１０１の状態は「停止中」であると判定する。
【０１９３】
給餌制御装置１００は、経過秒数「３３」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「３３」では、直前のボール１０１の状態が「停止中」であり、経過秒数「３３」のログ情報が、回転有無は「なし」であり、移動方向は「上」であり、移動速度は「ｖ」であることを検出する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３３」では、ボール１０１の状態は「咥えられ直後」であると判定する。さらに、給餌制御装置１００は、ボール１０１への動物Ｄのアクションがあったと判定し、運動量テーブル７００のアクション回数のフィールドの値に１加算する。
【０１９４】
給餌制御装置１００は、経過秒数「３４」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「３４」では、直前のボール１０１の状態が「咥えられ直後」であり、経過秒数「３４」のログ情報が、回転有無は「なし」であり、移動方向は「ａ７」であり、移動速度は「ｖ」であることを検出する。ここで、直前のボール１０１の状態が「咥えられ直後」であるため、「転がり中」より前に、「空間移動中」に遷移する可能性が大きい。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３４」では、ボール１０１の状態は「空間移動中」であると判定する。
【０１９５】
給餌制御装置１００は、経過秒数「３５」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３５」では、ボール１０１の状態は「空間移動中」であると判定する。
【０１９６】
給餌制御装置１００は、経過秒数「３６」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、経過秒数「３６」では、直前のボール１０１の状態が「空間移動中」であり、経過秒数「３６」のログ情報が、回転有無は「なし」であり、移動方向は「下」であり、移動速度は「２．２」であることを検出する。ここで、回転有無は「なし」であり、上述した「あり（弱い）」に該当する。このため、給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３６」では、ボール１０１の状態は「口から落下開始直後」であると判定する。
【０１９７】
給餌制御装置１００は、経過秒数「３７」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３７」では、ボール１０１の状態は「転がり中」であると判定する。
【０１９８】
給餌制御装置１００は、経過秒数「３８」において、受信した検知情報に基づいてログテーブル６００を更新する。給餌制御装置１００は、状態定義テーブル４００を参照して、経過秒数「３８」では、ボール１０１の状態は「停止中」であると判定する。以降、給餌制御装置１００は、同様に、ボール１０１の状態を判定し、ボール１０１への動物Ｄのアクション回数を計数していく。
【０１９９】
上述したようにボール１０１の状態を判定する間に、給餌制御装置１００は、所定時間間隔で、または、検知情報を受信する都度、給餌条件を満たすか否かを判定する。給餌制御装置１００は、例えば、ログテーブル６００に記憶されたボール１０１の回転数、運動量テーブル７００に記憶された動物Ｄのアクションに応じたボール１０１の回転数および動物Ｄのアクション回数に基づいて、給餌条件を満たすか否かを判定する。
【０２００】
ここでは、給餌制御装置１００が、回転有無と移動方向と移動速度とに基づいてボール１０１の状態を判定する場合について説明したが、これに限らない。例えば、給餌制御装置１００が、さらにボール１０１付近の湿度や、ボール１０１への圧力などに基づいて、ボール１０１の状態を判定してもよい。給餌制御装置１００は、具体的には、ボール１０１への圧力が閾値以上の場合、または、ボール１０１付近の湿度が閾値以上の場合、動物Ｄがボール１０１を咥えていると判定してもよい。
【０２０１】
次に、図２４および図２５を用いて、給餌制御装置１００が、ボール１０１に所定の出力処理を実行させ、ボール１０１への動物Ｄのアクションが起こりやすくし、動物Ｄに運動を習慣付けやすくする一例について説明する。
【０２０２】
図２４は、ボール１０１に出力処理を実行させる一例を示す説明図である。図２４において、給餌制御装置１００は、出力条件を満たすか否かを判定する所定のタイミングになると、出力条件を満たすか否かを判定する。所定のタイミングは、例えば、予め設定された時刻である。所定のタイミングは、具体的には、毎日１５時などである。所定のタイミングは、例えば、所定の時間間隔で離れた複数の時点であってもよい。給餌制御装置１００は、出力条件を満たす場合、所定の出力処理をボール１０１に実行させる。なお、給餌制御装置１００は、予め設定された終了時刻になると、所定の出力処理をボール１０１に終了させる。
【０２０３】
給餌制御装置１００は、例えば、所定のタイミングになると、出力判定基準テーブル９００から閾値を取得し、ボール１０１の回転または移動がないまま経過した時間が閾値以上であるか否かを判定する。給餌制御装置１００は、閾値以上である場合、音を発する出力処理をボール１０１に実行させる。検知装置１０１は、スピーカー１００５を用いて音声を発する。
【０２０４】
給餌制御装置１００は、所定の出力処理をボール１０１に実行させた後、再び出力条件を満たすか否かを判定する。給餌制御装置１００は、出力条件を満たす場合、所定の出力処理とは異なる出力処理をボール１０１に実行させる。
【０２０５】
給餌制御装置１００は、例えば、音を発する出力処理をボール１０１に実行させた後、ボール１０１の回転または移動がないまま経過した時間が閾値以上であるか否かを判定する。給餌制御装置１００は、閾値以上である場合、振動を発する出力処理をボール１０１に実行させる。ボール１０１は、モーター１００６を用いて振動を発する。ここで、給餌制御装置１００は、モーター１００６を用いて振動を発した場合、図１４において算出するボール１０１の回転量や移動量から、モーター１００６に起因する回転量や移動量が除外されるようにし、誤差の低減化を図ってもよい。
【０２０６】
さらに、給餌制御装置１００は、振動を発する出力処理をボール１０１に実行させた後、ボール１０１の回転または移動がないまま経過した時間が閾値以上であるか否かを判定してもよい。給餌制御装置１００は、閾値以上である場合、匂いを発する出力処理をボール１０１に実行させる。ボール１０１は、匂い出力部１００７を用いて匂いを発する。
【０２０７】
これにより、給餌制御装置１００は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。また、給餌制御装置１００は、所定の時間が経過する都度、異なる出力処理によって動物Ｄに検知装置１０１への興味を抱かせ、動物Ｄが検知装置１０１に飽きづらくすることができる。
【０２０８】
また、給餌制御装置１００は、所定のタイミングに、動物Ｄに検知装置１０１への興味を抱かせることができ、決まった時点に運動することを習慣付けることができる。このように、給餌制御装置１００は、動物Ｄに運動を習慣付けやすく、動物Ｄが運動する時間の増大化を図ることができる。ここで、図２５の説明に移行し、給餌制御装置１００が、出力処理定義テーブル８００を参照して、ボール１０１に実行させる出力処理を特定する一例について説明する。
【０２０９】
図２５は、出力処理を特定する一例を示す説明図である。まず、給餌制御装置１００は、出力条件を満たす場合、出力処理定義テーブル８００の順のフィールドに「１」が設定されたレコードに基づいて、ボール１０１に実行させる出力処理として光や音を発する出力処理を特定する。給餌制御装置１００は、光や音を発する出力処理に対応するレコードのカウンタのフィールドに、ボール１０１に実行させたことを示すフラグを設定しておく。
【０２１０】
その後、給餌制御装置１００は、再び出力条件を満たす場合、出力処理定義テーブル８００のうち、順のフィールドに「１」が設定されたレコードにはフラグが設定されているため、順のフィールドに「２」が設定されたレコードを取得する。給餌制御装置１００は、出力処理定義テーブル８００の順のフィールドに「２」が設定されたレコードに基づいて、振動を発する出力処理をボール１０１に実行させる出力処理として特定する。給餌制御装置１００は、振動を発する出力処理に対応するレコードのカウンタのフィールドに、ボール１０１に実行させたことを示すフラグを設定しておく。一方で、給餌制御装置１００は、光や音を発する出力処理に対応するレコードのカウンタのフィールドから、ボール１０１に実行させたことを示すフラグを削除しておく。
【０２１１】
その後、給餌制御装置１００は、再び出力条件を満たす場合、出力処理定義テーブル８００のうち、順のフィールドに「２」が設定されたレコードにはフラグが設定されているため、順のフィールドに「３」が設定されたレコードを取得する。給餌制御装置１００は、出力処理定義テーブル８００の順のフィールドに「３」が設定されたレコードに基づいて、匂いを発する出力処理をボール１０１に実行させる出力処理として特定する。給餌制御装置１００は、匂いを発する出力処理に対応するレコードのカウンタのフィールドに、ボール１０１に実行させたことを示すフラグを設定しておく。一方で、給餌制御装置１００は、振動を発する出力処理に対応するレコードのカウンタのフィールドから、ボール１０１に実行させたことを示すフラグを削除しておく。
【０２１２】
その後、給餌制御装置１００は、再び出力条件を満たす場合、出力処理定義テーブル８００のうち、順のフィールドに「３」が設定されたレコードにはフラグが設定されているため、すべての出力処理をボール１０１に実行させたと判定する。そして、給餌制御装置１００は、出力処理をボール１０１に実行させることを停止する。
【０２１３】
また、給餌制御装置１００は、再び、順のフィールドに「１」が設定されたレコードを取得してもよい。給餌制御装置１００は、出力処理定義テーブル８００の順のフィールドに「１」が設定されたレコードに基づいて、光や音を発する出力処理をボール１０１に実行させる出力処理として特定する。給餌制御装置１００は、光や音を発する出力処理に対応するレコードのカウンタのフィールドに、ボール１０１に実行させたことを示すフラグを設定しておく。一方で、給餌制御装置１００は、匂いを発する出力処理に対応するレコードのカウンタのフィールドから、ボール１０１に実行させたことを示すフラグを削除しておく。
【０２１４】
（給餌判定処理手順）
次に、図２６を用いて、給餌制御装置１００が実行する給餌判定処理手順の一例について説明する。
【０２１５】
図２６は、給餌判定処理手順の一例を示すフローチャートである。図２６において、給餌制御装置１００は、検知装置１０１から検知情報を受信する（ステップＳ２６０１）。次に、給餌制御装置１００は、検知情報に基づいて、ログテーブル６００を更新する（ステップＳ２６０２）。そして、給餌制御装置１００は、図２７に後述する状態判定処理を実行し、運動量テーブル７００を更新する（ステップＳ２６０３）。
【０２１６】
次に、給餌制御装置１００は、給餌判定基準テーブル５００や運動量テーブル７００に基づいて、給餌条件を満たしたか否かを判定する（ステップＳ２６０４）。ここで、給餌条件を満たさない場合（ステップＳ２６０４：Ｎｏ）、給餌制御装置１００は、ステップＳ２６０１の処理に戻る。
【０２１７】
一方で、給餌条件を満たす場合（ステップＳ２６０４：Ｙｅｓ）、給餌制御装置１００は、給餌装置１０２に給餌指示を出力する（ステップＳ２６０５）。次に、給餌制御装置１００は、ログテーブル６００や運動量テーブル７００を初期化する（ステップＳ２６０６）。そして、給餌制御装置１００は、給餌判定処理を終了する。これにより、給餌制御装置１００は、動物Ｄの運動量に応じて動物Ｄに給餌するタイミングを制御することができる。
【０２１８】
（状態判定処理手順）
次に、図２７を用いて、給餌制御装置１００が実行する状態判定処理手順の一例について説明する。
【０２１９】
図２７は、状態判定処理手順の一例を示すフローチャートである。図２７において、給餌制御装置１００は、ログテーブル６００、および状態定義テーブル４００に基づいて、最新のボールの状態が、所定の状態であるか否かを判定する（ステップＳ２７０１）。ここで、所定の状態ではない場合（ステップＳ２７０１：Ｎｏ）、給餌制御装置１００は、状態判定処理を終了する。
【０２２０】
一方で、所定の状態である場合（ステップＳ２７０１：Ｙｅｓ）、給餌制御装置１００は、運動量テーブル７００を更新する（ステップＳ２７０２）。次に、給餌制御装置１００は、通知モードであるか否かを判定する（ステップＳ２７０３）。ここで、通知モードでない場合（ステップＳ２７０３：Ｎｏ）、給餌制御装置１００は、状態判定処理を終了する。
【０２２１】
一方で、通知モードである場合（ステップＳ２７０３：Ｙｅｓ）、給餌制御装置１００は、音または振動を用いた端末装置２０２から飼い主Ｏへの通知を端末装置２０２に出力させる通知指示を、端末装置２０２に送信する（ステップＳ２７０４）。そして、給餌制御装置１００は、状態判定処理を終了する。これにより、給餌制御装置１００は、動物Ｄが運動しているか否かを飼い主Ｏに把握させることができる。
【０２２２】
（出力判定処理手順）
次に、図２８を用いて、給餌制御装置１００が実行する出力判定処理手順の一例について説明する。
【０２２３】
図２８は、出力判定処理手順の一例を示すフローチャートである。図２８において、給餌制御装置１００は、検知装置１０１の回転または移動を監視する（ステップＳ２８０１）。次に、給餌制御装置１００は、経過時間を計測する（ステップＳ２８０２）。そして、給餌制御装置１００は、出力判定基準テーブル９００に基づいて、所定時間以上、検知装置１０１の回転または移動がないか否かを判定する（ステップＳ２８０３）。ここで、検知装置１０１の回転または移動があった場合（ステップＳ２８０３：Ｎｏ）、給餌制御装置１００は、ステップＳ２８０１の処理に戻る。
【０２２４】
一方で、検知装置１０１の回転または移動がない場合（ステップＳ２８０３：Ｙｅｓ）、給餌制御装置１００は、出力処理定義テーブル８００に基づいて、今回検知装置１０１に実行させる出力処理を特定する（ステップＳ２８０４）。次に、給餌制御装置１００は、特定した出力処理を検知装置１０１に実行させる（ステップＳ２８０５）。そして、給餌制御装置１００は、出力処理定義テーブル８００を更新する（ステップＳ２８０６）。
【０２２５】
次に、給餌制御装置１００は、給餌判定基準テーブル５００や運動量テーブル７００に基づいて、給餌条件を満たしたか否かを判定する（ステップＳ２８０７）。ここで、給餌条件を満たす場合（ステップＳ２８０７：Ｙｅｓ）、給餌制御装置１００は、出力判定処理を終了する。
【０２２６】
一方で、給餌条件を満たさない場合（ステップＳ２８０７：Ｎｏ）、給餌制御装置１００は、終了時間に達したか否かを判定する（ステップＳ２８０８）。ここで、終了時間に達していない場合（ステップＳ２８０８：Ｎｏ）、給餌制御装置１００は、ステップＳ２８０１の処理に戻る。
【０２２７】
一方で、終了時間に達した場合（ステップＳ２８０８：Ｙｅｓ）、給餌制御装置１００は、出力判定処理を終了する。これにより、給餌制御装置１００は、動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０２２８】
以上説明したように、給餌制御装置１００によれば、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定することができる。また、給餌制御装置１００によれば、所定の条件を満たすと判定した場合に、動物Ｄに給餌する給餌装置１０２に給餌指示を送信することができる。これにより、給餌制御装置１００は、動物の運動量を間接的に評価することができ、動物の運動量に応じて動物に給餌するタイミングを制御することができる。
【０２２９】
また、給餌制御装置１００によれば、検知装置１０１の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した検知情報に基づいて検知装置１０１への動物Ｄのアクションがあるか否かを判定することができる。また、給餌制御装置１００によれば、動物Ｄのアクションがあると判定した場合に、動物Ｄの管理者に対応する端末装置２０２に動物Ｄのアクションがあることを示す通知を送信することができる。これにより、給餌制御装置１００は、端末装置２０２の利用者に、検知装置１０１への動物Ｄのアクションがあったことを把握させることができる。
【０２３０】
また、給餌制御装置１００によれば、検知装置１０１の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した検知情報に基づいて検知装置１０１への動物Ｄのアクションがあるか否かを判定することができる。また、給餌制御装置１００によれば、動物Ｄのアクションがある場合に対応する検知情報に基づいて、検知装置１０１の回転量、検知装置１０１の移動量、または検知装置１０１への動物Ｄのアクション回数の少なくともいずれかを算出することができる。これにより、給餌制御装置１００は、動物Ｄの運動量の大きさを示す指標値を精度よく算出することができる。
【０２３１】
また、給餌制御装置１００によれば、複数の時点のそれぞれの時点について検知装置１０１の移動方向および移動速度に関する情報を含む検知情報を取得することができる。また、給餌制御装置１００によれば、取得した複数の検知情報に基づいて、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が増加した時点に、動物Ｄのアクションが開始したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３２】
また、給餌制御装置１００によれば、検知装置１０１の移動速度が閾値以下になった時点に、動物Ｄのアクションが終了したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３３】
また、給餌制御装置１００によれば、複数の時点のそれぞれの時点について検知装置１０１の移動方向および移動速度に関する情報を含む検知情報を取得することができる。また、給餌制御装置１００によれば、取得した複数の検知情報に基づいて、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が増加した時点に、動物Ｄのアクションが開始したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３４】
また、給餌制御装置１００によれば、検知装置１０１の水平の移動方向が変化するとともに検知装置１０１の移動速度が減少した時点に、動物Ｄのアクションが終了したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３５】
また、給餌制御装置１００によれば、複数の時点のそれぞれの時点について検知装置１０１の回転の強さ、検知装置１０１の移動方向および移動速度に関する情報を含む検知情報を取得することができる。また、給餌制御装置１００によれば、取得した複数の検知情報に基づいて、検知装置１０１の回転の強さが所定以下であり検知装置１０１の垂直の移動方向が上方向になった時点に、動物Ｄのアクションが開始したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３６】
また、給餌制御装置１００によれば、検知装置１０１の垂直の移動方向が下方向になった時点に、動物Ｄのアクションが終了したと判定することができる。これにより、給餌制御装置１００は、動物Ｄのアクションに応じた検知装置１０１の回転または移動と、動物Ｄのアクションによらない検知装置１０１の回転または移動とを判別することができる。
【０２３７】
また、給餌制御装置１００によれば、検知装置１０１に所定の動作を行わせた後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、検知装置１０１に所定の動作とは異なる動作を行わせることができる。これにより、給餌制御装置１００は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０２３８】
また、給餌制御装置１００によれば、検知装置１０１に音を発する動作を行わせた後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、検知装置１０１に振動を発する動作または匂いを発する動作のいずれかを行わせることができる。これにより、給餌制御装置１００は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０２３９】
また、給餌制御装置１００によれば、検知装置１０１に振動を発する動作を行わせた後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、検知装置１０１に音を発する動作または匂いを発する動作のいずれかを行わせることができる。これにより、給餌制御装置１００は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０２４０】
また、給餌制御装置１００によれば、検知装置１０１に匂いを発する動作を行わせた後、検知装置１０１の回転または移動がないまま所定の時間が経過した場合、検知装置１０１に音を発する動作または振動を発する動作のいずれかを行わせることができる。これにより、給餌制御装置１００は、段階的に動物Ｄに検知装置１０１への興味を抱かせ、検知装置１０１への動物Ｄのアクションが発生しやすくすることができる。
【０２４１】
なお、本実施の形態で説明した給餌システムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本給餌制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本給餌制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２４２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２４３】
（付記１）動物に対応する検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、
前記所定の条件を満たすと判定した場合に、前記動物に給餌する給餌装置に給餌指示を送信する、
制御部を有することを特徴とする給餌制御装置。
【０２４４】
（付記２）前記制御部は、
前記検知装置の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した前記検知情報に基づいて前記検知装置への前記動物のアクションがあるか否かを判定し、
前記動物のアクションがあると判定した場合に、前記動物の管理者に対応する端末装置に前記動物のアクションがあることを示す通知を送信する、ことを特徴とする付記１に記載の給餌制御装置。
【０２４５】
（付記３）前記制御部は、
前記検知装置の回転または移動の少なくともいずれかに関する情報を含む検知情報を取得し、取得した前記検知情報に基づいて前記検知装置への前記動物のアクションがあるか否かを判定し、
前記検知装置への前記動物のアクションがある場合に対応する検知情報に基づいて、前記検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかを算出する、ことを特徴とする付記１または２に記載の給餌制御装置。
【０２４６】
（付記４）前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の水平の移動方向が変化するとともに前記検知装置の移動速度が増加した時点に、前記動物のアクションが開始したと判定する、ことを特徴とする付記２または３に記載の給餌制御装置。
【０２４７】
（付記５）前記制御部は、
前記検知装置の移動速度が閾値以下になった時点に、前記動物のアクションが終了したと判定する、ことを特徴とする付記４に記載の給餌制御装置。
【０２４８】
（付記６）前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の水平の移動方向が変化するとともに前記検知装置の移動速度が増加した時点に、前記動物のアクションが開始したと判定する、ことを特徴とする付記２〜５のいずれか一つに記載の給餌制御装置。
【０２４９】
（付記７）前記制御部は、
前記検知装置の水平の移動方向が変化するとともに前記検知装置の移動速度が減少した時点に、前記動物のアクションが終了したと判定する、ことを特徴とする付記６に記載の給餌制御装置。
【０２５０】
（付記８）前記制御部は、
複数の時点のそれぞれの時点について前記検知装置の回転の強さ、前記検知装置の移動方向および移動速度に関する情報を含む検知情報を取得し、
取得した複数の検知情報に基づいて、前記検知装置の回転の強さが所定以下であり前記検知装置の垂直の移動方向が上方向になった時点に、前記動物のアクションが開始したと判定する、ことを特徴とする付記２〜７のいずれか一つに記載の給餌制御装置。
【０２５１】
（付記９）前記制御部は、
前記検知装置の垂直の移動方向が下方向になった時点に、前記動物のアクションが終了したと判定する、ことを特徴とする付記８に記載の給餌制御装置。
【０２５２】
（付記１０）前記制御部は、
前記検知装置に所定の動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に前記所定の動作とは異なる動作を行わせる、ことを特徴とする付記１〜９のいずれか一つに記載の給餌制御装置。
【０２５３】
（付記１１）前記制御部は、
前記検知装置に音を発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に振動を発する動作または匂いを発する動作の少なくともいずれかを行わせる、ことを特徴とする付記１０に記載の給餌制御装置。
【０２５４】
（付記１２）前記制御部は、
前記検知装置に振動を発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に音を発する動作または匂いを発する動作の少なくともいずれかを行わせる、ことを特徴とする付記１０または１１に記載の給餌制御装置。
【０２５５】
（付記１３）前記制御部は、
前記検知装置に匂いを発する動作を行わせた後、前記検知装置の回転または移動がないまま所定の時間が経過した場合、前記検知装置に音を発する動作または振動を発する動作の少なくともいずれかを行わせる、ことを特徴とする付記１０〜１２のいずれか一つに記載の給餌制御装置。
【０２５６】
（付記１４）動物に対応する検知装置と、
前記動物に給餌する給餌装置と、
前記検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、前記所定の条件を満たすと判定した場合に、前記給餌装置に給餌指示を送信する、給餌制御装置と、
を含むことを特徴とする給餌システム。
【０２５７】
（付記１５）コンピュータに、
動物に対応する検知装置の回転量、前記検知装置の移動量、または前記検知装置への前記動物のアクション回数の少なくともいずれかが、所定の条件を満たすか否かを判定し、
前記所定の条件を満たすと判定した場合に、前記動物に給餌する給餌装置に給餌指示を送信する、
処理を実行させることを特徴とする給餌制御プログラム。
【符号の説明】
【０２５８】
１００  給餌制御装置
１０１  検知装置
１０２  給餌装置
２００  給餌システム
２０１  充電装置
２０２  端末装置
２１０  ネットワーク
３００，１０００，１２００  バス
３０１，１００１，１２０１  ＣＰＵ
３０２，１００２，１２０２  メモリ
３０３，１２０３  ディスクドライブ
３０４，１２０４  ディスク
３０５  第１Ｉ／Ｆ
３０６  第２Ｉ／Ｆ
３０７  第３Ｉ／Ｆ
４００  状態定義テーブル
５００  給餌判定基準テーブル
６００  ログテーブル
７００  運動量テーブル
８００  出力処理定義テーブル
９００  出力判定基準テーブル
１００３，１２０５  Ｉ／Ｆ
１００４  ライト
１００５，１２０７  スピーカー
１００６，１１３０，１２０８  モーター
１００７  匂い出力部
１００８  センサ類
１１１０  餌ボックス
１１１１  餌入り口
１１１２  扉
１１２０  受信アンテナ
１１３１  紐
１１４０  板バネ
１１５０  トレイ
１２０６  ディスプレイ
１３０１  取得部
１３０２  判定部
１３０３  送信部
【図１】
2018078869.tif 000003
【図２】
2018078869.tif 000004
【図３】
2018078869.tif 000005
【図４】
2018078869.tif 000006
【図５】
2018078869.tif 000007
【図６】
2018078869.tif 000008
【図７】
2018078869.tif 000009
【図８】
2018078869.tif 000010
【図９】
2018078869.tif 000011
【図１０】
2018078869.tif 000012
【図１１】
2018078869.tif 000013
【図１２】
2018078869.tif 000014
【図１３】
2018078869.tif 000015
【図１４】
2018078869.tif 000016
【図１５】
2018078869.tif 000017
【図１６】
2018078869.tif 000018
【図１７】
2018078869.tif 000019
【図１８】
2018078869.tif 000020
【図１９】
2018078869.tif 000021
【図２０】
2018078869.tif 000022
【図２１】
2018078869.tif 000023
【図２２】
2018078869.tif 000024
【図２３】
2018078869.tif 000025
【図２４】
2018078869.tif 000026
【図２５】
2018078869.tif 000027
【図２６】
2018078869.tif 000028
【図２７】
2018078869.tif 000029
【図２８】
2018078869.tif 000030