(57)【特許請求の範囲】
【請求項１】
モータ制御玩具を駆動するモータと、
前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、
前記エンコーダが検出した回転方向／回転数を読み取って前記モータを制御する制御処理部とを含んで構成され、
前記制御処理部による制御において、前記エンコーダの回転方向／回転数から前記モータの回転速度および回転速度の変化回数を検出して、
前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以上ならば、撫でる状態であると判断し、
前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以下ならば、つつく状態であると判断し、
前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以上ならば、ぐりぐり状態であると判断し、
前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以下ならば、叩く状態であると判断することを特徴とするエンコーダ付きモータ制御玩具。
【請求項２】
モータ制御玩具を駆動するモータと、
前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、
前記モータの軸の動作可能範囲を形成する押下型リミットスイッチと、
前記エンコーダが検出した回転方向／回転数及び前記押下型リミットスイッチの状態を読み取って前記モータを制御する制御処理部と、
前記制御処理部から指示された内容を表示するディスプレイとを含んで構成され、
前記制御処理部による制御において、前記エンコーダの回転方向／回転数から前記モータの回転速度および回転速度の変化回数を検出して、
前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以上ならば、撫でる状態であると判断し、
前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以下ならば、つつく状態であると判断し、
前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以上ならば、ぐりぐり状態であると判断し、
前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以下ならば、叩く状態であると判断することを特徴とするエンコーダ付きモータ制御玩具。
【請求項３】
前記制御処理部による制御において、
前記モータの動作を制御するモータ制御機能と、
前記エンコーダからの回転方向／回転数を読みとるエンコーダ情報リード機能と、
前記押下型リミットスイッチの状態を監視する押下型リミットスイッチ情報取得機能と、
前記モータ制御機能と前記エンコーダ情報リード機能と前記押下型リミットスイッチ情報取得機能とを統括制御する統括制御機能と、
前記統括制御機能からの指示で前記ディスプレイに表示を行う表示機能を行うことを特徴とする請求項２記載のエンコーダ付きモータ制御玩具。
【請求項４】
モータ制御玩具を駆動するモータと、
前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、
前記モータの軸の動作可能範囲を形成する押下型リミットスイッチと、
前記エンコーダが検出した前記回転方向／回転数及び前記押下型リミットスイッチの状態を読み取って前記モータを制御する制御処理部とを含むエンコーダ付きモータ制御玩具の制御方法であって、
前記制御処理部による制御において、
前記エンコーダを用いて前記モータの回転位置を取得する回転位置取得ステップと、
現在の前記回転位置と前回の前記回転位置とから前記モータの回転速度を計算する回転速度計算ステップと、
前記モータを回転させているかを確認する回転確認ステップと、
前記モータを回転させている場合に実行する、前記モータの回転速度が一定以上であるかを検出する過負荷検出ステップと、
前記押下型リミットスイッチの状態を検出するリミット検出ステップと、
前記モータの回転を停止している場合に実行する前記モータの回転速度の有無を判断する回転速度有無判断ステップと、
前記モータに回転速度がない場合に実行する、回転速度がない状態が一定時間以上経過しているか判断する時間経過判断ステップと、
前記回転速度有無判断ステップにおいて前記モータに回転速度がある場合、または前記時間経過判断ステップにおいて止まっている状態が一定時間経過していない場合に実行する撫で検出ステップを行い、
前記撫で検出ステップが、
現在の前記回転速度について一定範囲以内の回転速度であるか比較する回転速度範囲比較ステップと、
前記回転速度範囲比較ステップにおいて一定範囲以内の回転速度である場合に実行する、一定回数以上連続で回転速度の変化が検出されたか調べる回転速度変化回数検出ステップと、
前記回転速度変化回数検出ステップにおいて一定回数以上連続である場合に実行する、”撫でる”状態であると判断する撫でる状態判断ステップと、
前記回転速度変化回数検出ステップにおいて回転速度変化が一定回数以下である場合に実行する、”つつく”状態であると判断するつつく状態判断ステップと、
前記回転速度範囲比較ステップにおいて一定範囲以上の回転速度である場合には、前記回転速度変化回数検出ステップを実行し、
前記回転速度変化回数検出ステップにおいて一定回数以上連続であるとなった場合に実行する、”ぐりぐり”状態であると判断するぐりぐり状態判断ステップと、
前記回転速度変化回数検出ステップにおいて一定回数以下である場合に実行する”叩く”状態であると判断する叩く状態判断ステップと、を備えることを特徴とするエンコーダ付きモータ制御玩具の制御方法。
【請求項５】
前記過負荷検出ステップが、前記モータの現在の前記回転速度と前記モータの目標の回転速度について一定以上離れているか比較する回転速度離れ比較ステップと、前記回転速度離れ比較ステップにおいて一定以上離れている場合に実行する、一定時間以上連続しているか判断する連続時間判断ステップと、前記連続時間判断ステップにおいて一定時間以上連続して続いている場合に実行する前記モータの制御をフリーにするモータ制御フリーステップと、現在の前記回転位置を基に現在の回転速度を計算する回転速度計算ステップと、前記回転速度計算ステップにおいて計算した回転速度が有るか判断する回転速度有無判断ステップと、前記回転速度有無判断ステップにおいて回転速度がない場合に実行する、前記モータの制御を開始するモータ制御開始ステップと、を備えることを特徴とする請求項４記載のエンコーダ付きモータ制御玩具の制御方法。
【請求項６】
前記リミット検出ステップが、
前記押下型リミットスイッチの状態を取得する押下型リミットスイッチ状態取得ステップと、取得した前記押下型リミットスイッチの状態が前記動作可能範囲の状態であるか判断する動作可能範囲判断ステップと、前記動作可能範囲判断ステップにおいて前記動作可能範囲でない状態である場合に実行する、現在の前記回転位置を前記動作可能範囲内に戻して補正する回転位置補正ステップと、を備えることを特徴とする請求項４記載のエンコーダ付きモータ制御玩具の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、モータ制御により駆動される玩具に関し、特に人間の手によって玩具を撫でる等の操作によりモータの回転状態をエンコーダにより検出するエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法に関する。
【０００２】
【従来の技術】
従来、この種の検出行為では、タッチセンサ等の検出用部品を別に取り付けて人間の操作を検出していたため、余分なコストがかかっていた。
【０００３】
【発明が解決しようとする課題】
タッチセンサ等の検出用部品を別に取り付けることなく、撫でるなどの人間の操作を検出することを課題とする。
【０００４】
【課題を解決するための手段】
この発明の請求項１に係わる発明は、モータ制御玩具を駆動するモータと、前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、前記エンコーダが検出した回転方向／回転数を読み取って前記モータを制御する制御処理部とを含んで構成され、前記制御処理部による制御において、前記エンコーダの回転方向／回転数から前記モータの回転速度および回転速度の変化回数を検出して、前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以上ならば、撫でる状態であると判断し、前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以下ならば、つつく状態であると判断し、前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以上ならば、ぐりぐり状態であると判断し、前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以下ならば、叩く状態であると判断することを特徴とする。
【０００５】
また、この発明の請求項２に係わる発明は、モータ制御玩具を駆動するモータと、前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、前記モータの軸の動作可能範囲を形成する押下型リミットスイッチと、前記エンコーダが検出した回転方向／回転数及び前記押下型リミットスイッチの状態を読み取って前記モータを制御する制御処理部と、前記制御処理部から指示された内容を表示するディスプレイとを含んで構成され、前記制御処理部による制御において、前記エンコーダの回転方向／回転数から前記モータの回転速度および回転速度の変化回数を検出して、前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以上ならば、撫でる状態であると判断し、前記回転速度が一定範囲以内で、かつ前記変化回数が一定回数以下ならば、つつく状態であると判断し、前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以上ならば、ぐりぐり状態であると判断し、前記回転速度が一定範囲以外で、かつ前記変化回数が一定回数以下ならば、叩く状態であると判断することを特徴とする。
【０００６】
さらに、この発明の請求項３に係わる発明は、前記制御処理部による制御において、前記モータの動作を制御するモータ制御機能と、前記エンコーダからの回転方向／回転数を読みとるエンコーダ情報リード機能と、前記押下型リミットスイッチの状態を監視する押下型リミットスイッチ情報取得機能と、前記モータ制御機能と前記エンコーダ情報リード機能と前記押下型リミットスイッチ情報取得機能とを統括制御する統括制御機能と、前記統括制御機能からの指示で前記ディスプレイに表示を行う表示機能を行うことを特徴とする。
【０００８】
さらに、この発明の請求項４に係わる発明は、モータ制御玩具を駆動するモータと、前記モータ制御玩具を操作することによって起こる前記モータの回転方向／回転数を検出するエンコーダと、前記モータの軸の動作可能範囲を形成する押下型リミットスイッチと、前記エンコーダが検出した前記回転方向／回転数及び前記押下型リミットスイッチの状態を読み取って前記モータを制御する制御処理部とを含むエンコーダ付きモータ制御玩具の制御方法であって、前記制御処理部による制御において、前記エンコーダを用いて前記モータの回転位置を取得する回転位置取得ステップと、現在の前記回転位置と前回の前記回転位置とから前記モータの回転速度を計算する回転速度計算ステップと、前記モータを回転させているかを確認する回転確認ステップと、前記モータを回転させている場合に実行する、前記モータの回転速度が一定以上であるかを検出する過負荷検出ステップと、前記押下型リミットスイッチの状態を検出するリミット検出ステップと、前記モータの回転を停止している場合に実行する前記モータの回転速度の有無を判断する回転速度有無判断ステップと、前記モータに回転速度がない場合に実行する、回転速度がない状態が一定時間以上経過しているか判断する時間経過判断ステップと、前記回転速度有無判断ステップにおいて前記モータに回転速度がある場合、または前記時間経過判断ステップにおいて止まっている状態が一定時間経過していない場合に実行する撫で検出ステップを行い、前記撫で検出ステップが、現在の前記回転速度について一定範囲以内の回転速度であるか比較する回転速度範囲比較ステップと、前記回転速度範囲比較ステップにおいて一定範囲以内の回転速度である場合に実行する、一定回数以上連続で回転速度の変化が検出されたか調べる回転速度変化回数検出ステップと、前記回転速度変化回数検出ステップにおいて一定回数以上連続である場合に実行する、”撫でる”状態であると判断する撫でる状態判断ステップと、前記回転速度変化回数検出ステップにおいて回転速度変化が一定回数以下である場合に実行する、”つつく”状態であると判断するつつく状態判断ステップと、前記回転速度範囲比較ステップにおいて一定範囲以上の回転速度である場合には、前記回転速度変化回数検出ステップを実行し、前記回転速度変化回数検出ステップにおいて一定回数以上連続であるとなった場合に実行する、”ぐりぐり”状態であると判断するぐりぐり状態判断ステップと、前記回転速度変化回数検出ステップにおいて一定回数以下である場合に実行する”叩く”状態であると判断する叩く状態判断ステップと、を備えることを特徴とする。
【００１０】
さらに、この発明の請求項５に係わる発明は、前記過負荷検出ステップが、前記モータの現在の前記回転速度と前記モータの目標の回転速度について一定以上離れているか比較する回転速度離れ比較ステップと、前記回転速度離れ比較ステップにおいて一定以上離れている場合に実行する、一定時間以上連続しているか判断する連続時間判断ステップと、前記連続時間判断ステップにおいて一定時間以上連続して続いている場合に実行する前記モータの制御をフリーにするモータ制御フリーステップと、現在の前記回転位置を基に現在の回転速度を計算する回転速度計算ステップと、前記回転速度計算ステップにおいて計算した回転速度が有るか判断する回転速度有無判断ステップと、前記回転速度有無判断ステップにおいて回転速度がない場合に実行する、前記モータの制御を開始するモータ制御開始ステップと、を備えることを特徴とする。
【００１１】
さらに、この発明の請求項６に係わる発明は、前記リミット検出ステップが、前記押下型リミットスイッチの状態を取得する押下型リミットスイッチ状態取得ステップと、取得た前記押下型リミットスイッチの状態が前記動作可能範囲の状態であるか判断する動作可能範囲判断ステップと、前記動作可能範囲判断ステップにおいて前記動作可能範囲でない状態である場合に実行する、現在の前記回転位置を前記動作可能範囲内に戻して補正する回転位置補正ステップと、を備えることを特徴とする。
【００１２】
【発明の実施の形態】
図１は、この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法のブロック図である。図１において、モータ制御玩具１を動かす為のモータ４と、モータ４の回転方向、回転数を検出するためのエンコーダ３と、モータ４の軸に繋がる可動部分において、この可動部分の前方と後方にそれぞれ１個設けて動作可能範囲を形成する２個のリミットスイッチ５（押下型スイッチ）と、エンコーダ３及び２個のリミットスイッチ５の情報を読み取り、モータ４を制御する制御ＲＯＭ２と、制御ＲＯＭ２から指示された内容を表示するディスプレイ６とを含んで構成される。
【００１３】
制御ＲＯＭ２は、モータ４の動作を制御するモータ制御処理２２と、エンコーダ３からの情報を読みとるエンコーダ情報リード処理２３と、リミットスイッチ５の状態を監視するリミットスイッチ情報取得処理２４と、モータ制御処理２２とエンコーダ情報リード処理２３とリミットスイッチ情報取得処理２４を統括制御しているメイン処理２１と、メイン処理２１からの指示でディスプレイ６に表示を行う表示処理２５とを含んで構成される。
【００１４】
次に、この発明の実施の形態について説明する。モータ制御により駆動するモータ制御玩具１においては、人間の手によって玩具を撫でる等の操作によりモータ４が回転していることをエンコーダ３によって検出することで、タッチセンサ等の別の部品を必要とすることなく人間の操作を検出することができる。
【００１５】
人間の手がモータ制御玩具１を操作することによって起こるモータ４の回転状態をエンコーダ３で検出して記録する。そして、記録した内容を解析して人間が行った動作の各パターンと照合することにより、”撫でる”や”叩く”といった人間の操作を判断することができる。その判断した結果を、ディスプレイ６に表示することにより、操作した人間に結果を知らせることができる。
【００１６】
通常のモータ制御では、メイン処理２１が所定の動作を行うためにモータ４に対して目標の回転速度や位置情報を与えて、その目標速度や位置に向かってモータ４を制御していく。モータ４を制御していくにあたっては、エンコーダ３から実際に現在回っている回転速度や位置情報を取得して目標の回転速度や位置とのずれを補正していく。そこで、目標回転速度とエンコーダから得られる現在のモータ４の回転速度を常にもしくは短い周期で監視することにより、人間の操作などでモータ４の動作に負荷がかかったことを検出できる。このときには、すぐにモータを制御しないフリーな状態にしてモータ４を構成する部品が破損しないようにする。また、モータ４の軸から繋がる可動部分の前後にリミットスイッチ５を設けておき、人間の操作などの要因でモータ４が回転して可動部分がリミットスイッチ５まで移動してしまった場合には、モータ４の現在の位置情報を修正し、モータ４の動作の基準となる中心点を補正する。これらの機能を提供することにより、タッチセンサ等の別の部品を必要としないで人間の操作を検出することができ、コストを下げることができる。
【００１７】
次に、本発明の実施の形態について図面を参照して、さらに詳細に説明する。制御ＲＯＭ２は、エンコーダ３からモータ４の現在位置情報を読み取り、前回までに保存しておいたモータ４の位置情報と比較してモータ４がどの様に動作しているか調べる。調べた結果により人間が操作した内容を検出することができ、過負荷状態になっている場合にはモータ４の制御をやめてモータ４に負荷のかからないフリーな状態にする。また、制御ＲＯＭ２はリミットスイッチ５の情報を常に監視し、リミット状態になっている場合には、モータ４の現在位置情報を修正し、中心点がずれないように補正する。
【００１８】
次に、この発明の実施の形態の動作について図１、図２を参照して説明する。図２は、この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の動作を示すフローチャートである。
【００１９】
動作中のモータ制御玩具１にて、制御ＲＯＭ２では全体を統括するメイン処理２１が所定の動きを行うためにモータ制御処理２２に対して目標速度や目標位置を与えてモータ４を制御している。人間の操作やその操作によるモータ４への過負荷やリミット位置までの移動を検出するために以下のような処理を実行している。
【００２０】
まず、メイン処理２１が定期的にエンコーダ情報リード処理２３を通してエンコーダ３からモータ４の位置情報（モータ４の回転位置）を取得する（Ｓ１０１）。この取得した現在の位置情報と保存しておいた前回の位置情報からモータ４の回転速度（速度または動作速度）を計算する（Ｓ１０２）。モータ制御玩具１に電源が投入された一番最初は、中心点（動作可能範囲の中心点）の値が前回位置情報に保存されている。その後、メイン処理２１はモータ制御処理２２を通してモータ４を回転制御させているかを確認する（Ｓ１０３）。
【００２１】
確認した結果、モータ４を制御して回転動作させている場合（Ｓ１０３のＹｅｓ）には、エンコーダ３を利用した撫で検出処理（Ｓ１０６）は行わずに次の過負荷検出処理（Ｓ１０７）及びリミット検出処理（Ｓ１０８）を実行する。過負荷検出処理（Ｓ１０７）の詳細については、図４を用いて後述する。また、リミット検出処理（Ｓ１０８）の詳細については、図５を用いて後述する。
【００２２】
ステップＳ１０３で、確認した結果、モータ４の制御を停止している場合（Ｓ１０３のＮｏ）には、先ほど計算した速度が有るか（動いているか）を調べる（Ｓ１０４）。調べた結果、動いていないことを示している場合（Ｓ１０４のＮｏ）には、一定時間以上経過しているか確認する（Ｓ１０５）。確認した結果、一定時間以上連続して止まっている場合（Ｓ１０５のＹｅｓ）には、撫で検出処理（Ｓ１０６）は実行せずに次の過負荷検出処理（Ｓ１０７）及びリミット検出処理（Ｓ１０８）を実行する。
【００２３】
ステップＳ１０４で、調べた結果、動いていることを示している場合（Ｓ１０４のＹｅｓ）または、止まっている状態が一定時間経過していない場合（Ｓ１０５のＮｏ）には、撫で検出処理（Ｓ１０６）を実行する。撫で検出処理（Ｓ１０６）の詳細については、図３を用いて後述する。撫で検出処理（Ｓ１０６）を終了した次には過負荷検出処理（Ｓ１０７）及びリミット検出処理（Ｓ１０８）を実行する。
【００２４】
次に、撫で検出処理（Ｓ１０６）について図３を用いて説明する。図３は、この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の撫で検出処理のフローチャートである。
【００２５】
一般に、人間の”撫でる”や”叩く”といった操作を分析すると以下のようなパターンが成り立つ。”撫でる”という行為は、ある程度ゆっくりした動作で、前後もしくは左右に交互に動かす行為であるため、速度はゆっくりで速度の変化回数は多くなる。逆に”叩く”という行為は、かなりのスピードで１回動かす行為である。従って、速度と速度の変化回数という２つのパラメータにより４種類の操作を判別することができる。
【００２６】
撫で検出処理（Ｓ１０６）では、先ず、保存しておいた現在速度について一定範囲以内の速度であるか比較する（Ｓ２０１）。比較した結果が一定範囲以内の速度である場合（Ｓ２０１のＹｅｓ）には、一定回数以上連続で速度の変化が検出されたか調べる（Ｓ２０２）。調べた結果、速度の変化が一定回数以上連続である場合（Ｓ２０２のＹｅｓ）には、”撫でる”状態であると判断する（Ｓ２０３）。一方、調べた結果、速度の変化が一定回数以下である場合（Ｓ２０２のＮｏ）には、”つつく”状態であると判断する（Ｓ２０４）。
【００２７】
ステップＳ２０１において、比較した結果が一定範囲以上の速度である場合（Ｓ２０１のＮｏ）には、一定回数以上連続で速度の変化が検出されたか調べる（Ｓ２０５）。調べた結果、一定回数以上連続であるとなった場合（Ｓ２０５のＹｅｓ）には、”ぐりぐり”状態であると判断する（Ｓ２０６）。調べた結果、一定回数以下である場合（Ｓ２０５のＮｏ）には、”叩く”状態であると判断する（Ｓ２０７）。
【００２８】
そして、各判断した状態の情報を基にメイン処理２１は、表示処理２５に対してディスプレイ６に各々の状態に対応した内容の表示（Ｓ２０８）をするように指示を行う。
【００２９】
次に、過負荷検出処理（Ｓ１０７）について図４を用いて説明する。図４は、この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の過負荷検出処理のフローチャートである。
【００３０】
過負荷検出処理（Ｓ１０７）では、先ず、保存しておいた現在の動作速度と動作上の目標速度について一定以上離れているか比較する（Ｓ３０１）。比較した結果が、一定以上離れていない場合（Ｓ３０１のＮｏ）には、過負荷状態ではないため、そのまま終了する。
【００３１】
比較した結果が、一定以上離れている場合（Ｓ３０１のＹｅｓ）には、一定時間以上連続して負荷状態であるか調べる（Ｓ３０２）。これは、モータ４を制御して動かし始めたときには、すぐに目標速度に追従できない場合があるためである。調べた結果、負荷状態が一定時間以内の場合（Ｓ３０２のＮｏ）には、過負荷状態ではないため、そのまま終了する。
【００３２】
ステップＳ３０２において、調べた結果、負荷状態が一定時間以上連続して続いている場合（Ｓ３０２のＹｅｓ）には、過負荷状態であるため、モータ４の制御をフリーにしてモータ４を構成する部品が破損しないようにする（Ｓ３０３）。モータ４の制御がフリーになった後は、現在の位置情報を基に現在の動作速度を計算する（Ｓ３０４）。
【００３３】
計算した速度が有るか（動いているか）を調べる（Ｓ３０５）。調べた結果、動いている場合（Ｓ３０５のＮｏ）には、まだ過負荷状態であると判断して再度、現在の位置情報を取得して速度を計算する（Ｓ３０４）。一方、調べた結果、動いていない場合（３０５のＹｅｓ）には、過負荷状態から復帰したと判断してモータ４の制御を開始する（Ｓ３０６）。
【００３４】
次に、リミット検出処理（Ｓ１０８）について図５を用いて説明する。図５は、この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法のリミット検出処理のフローチャートである。リミット検出というのは、モータ４に接続されている可動部分が前方又は後方の動作可能範囲を超えて動いてしまい、モータ制御玩具１を壊してしまわないようにするためのものである。
【００３５】
リミット検出処理（Ｓ１０８）では、先ず、メイン処理２１からリミットスイッチ情報取得処理２４を通してリミットスイッチ５の状態（情報）を取得する（Ｓ４０１）。取得したリミットスイッチ５の状態が動作可能範囲外のリミット状態であるか調べる（Ｓ４０２）。調べた結果、リミット状態でない場合（Ｓ４０２のＮｏ）には、何も行わずに終了する。一方、調べた結果、リミット状態である場合（Ｓ４０２のＹｅｓ）には、現在位置情報をリミット状態になる前の動作可能範囲の値に戻して中心点がずれない様に補正する（Ｓ４０３）。
【００３６】
次に、実際の動作を基にこの実施の形態ではどの様に動作するかについて、「モータ４の制御動作が停止している場合」、「モータ４の制御動作が停止しているが、人間の操作により、モータ４が回転している場合」、「モータ４の制御動作中の場合」、「モータ４の制御動作中に人間の操作がある場合」の動作に分けて説明する。
【００３７】
「モータ４の制御動作が停止している場合」先ず、モータ４の制御動作が停止している場合の動作について説明する。
【００３８】
メイン処理２１が定期的にエンコーダ情報リード処理２３を通してエンコーダ３からモータ４の現在位置情報を取得する（Ｓ１０１）。その現在位置情報と保存しておいた前回位置情報から速度を計算する（Ｓ１０２）。モータ制御玩具１に電源が投入された一番最初は、中心点の値が前回位置情報に保存されている。モータ４を制御して動作させていないのでエンコーダ３から読みとれる現在の位置情報は中心点の値から変更がないため、速度は発生しない。
【００３９】
メイン処理２１はモータ制御処理２２を通してモータ４を回転制御させているかを確認する（Ｓ１０３）。モータ４の動作が停止中のため、制御していないと判断される（Ｓ１０３のＮｏ）。次に、先ほど計算した速度が有るか（動いているか）を調べる（Ｓ１０４）。モータ４の動作が停止中のため、動いていないと判断される（Ｓ１０４のＮｏ）。次に、一定時間以上経過しているか確認する（Ｓ１０５）。モータ４の動作が停止中のため、一定時間以上連続して止まっていると判断される（Ｓ１０５のＹｅｓ）。
【００４０】
次に、過負荷検出処理（Ｓ１０７）が実行される。過負荷検出処理（Ｓ１０７）の中では、まず、現在の動作速度と目標速度が一定以上離れているか比較する（Ｓ３０１）。モータ４の動作が停止中のため、現在の動作速度も目標速度も停止している。従って、一定以上離れていない（Ｓ３０１のＮｏ）為、何も行わずに終了する。
【００４１】
次に、リミット検出処理（Ｓ１０８）が実行される。リミット検出処理（Ｓ１０８）の中では、まず、リミットスイッチ５の情報を取得する（Ｓ４０１）。そして、取得したリミットスイッチ５の状態が動作可能範囲外のリミット状態であるか調べる（Ｓ４０２）。モータ４の制御動作が動作可能範囲内で停止中の為、リミット状態ではないので、何も行わずに終了する。以上がモータ４の制御動作が停止している場合の動作である。
【００４２】
「モータ４の制御動作が停止しているが、人間の操作により、モータ４が回転している場合」次に、モータ４の制御動作が停止しているが、人間の操作により、モータ４が回転している場合の動作について説明する。
【００４３】
メイン処理２１が定期的にエンコーダ情報リード処理２３を通してエンコーダ３からモータ４の現在位置情報を取得する（Ｓ１０１）。その現在位置情報と保存しておいた前回位置情報から速度を計算する（Ｓ１０２）。モータ制御玩具１に電源が投入された一番最初は、中心点の値が前回位置情報に保存されている。モータ４を制御して動作させていないが人間の操作によりモータ４は動いているのでエンコーダ３から読みとれる現在の位置情報は変化しているため、速度が発生する。
【００４４】
メイン処理２１はモータ制御処理２２を通してモータ４を回転制御させているかを確認する（Ｓ１０３）。モータ４の動作が停止中のため、制御していないと判断される（Ｓ１０３のＮｏ）。次に、先ほど計算した速度が有るか（動いているか）を調べる（Ｓ１０４）。人間の操作によりモータ４が回転しているため、動いている判断される（Ｓ１０４のＹｅｓ）。但し、人間の操作でも常にモータ４が回転しているのではなく、時々は停止している場合もある。その時は、停止した状態が一定時間以上経過しているか確認する（Ｓ１０５）。人間の操作中のため、一定時間以上連続して止まっていることはない（１０５のＮｏ）。どちらの場合においても、撫で検出処理（Ｓ１０６）が実行される。撫で検出処理（Ｓ１０６）の中では、モータ４の回転速度が一定値以上か（Ｓ２０１）と速度の変化の回数が一定回数以上か（Ｓ２０２及びＳ２０５）を比較する。
【００４５】
人間の操作の状況により、”撫でる”、”つつく”、”叩く”、”ぐりぐり”の４種類のパターンに分類され、各判断した状態の情報を基にメイン処理２１は、表示処理２５に対してディスプレイ６に各々の状態に対応した操作内容の表示をするように指示を行う。
【００４６】
次に、過負荷検出処理（Ｓ１０７）が実行される。過負荷検出処理（Ｓ１０７）の中では、まず、現在の動作速度と目標速度が一定以上離れているか比較する（Ｓ３０１）。人間の操作の状況によりモータ４にかかる負荷の状態が変わる。人間の操作の負荷が軽い場合（Ｓ３０１のＮｏ）には、何も行わずに終了する。また、人間の操作の負荷が重たい場合であっても、一定時間以上負荷が連続していない場合（Ｓ３０２のＮｏ）であれば、何も行わずに終了する。
【００４７】
人間の操作の負荷が重くて一定時間以上連続した場合（Ｓ３０２のＹｅｓ）には、モータ４の制御をフリーにしてモータ４を構成する部品が破損しないようにする（Ｓ３０３）。
【００４８】
次に、リミット検出処理（Ｓ１０８）が実行される。リミット検出処理（Ｓ１０８）の中では、まず、リミットスイッチ５の情報を取得する。そして、取得したリミットスイッチ５の状態が動作可能範囲外のリミット状態であるか調べる（Ｓ４０２）。人間の操作により、リミット状態になった場合（Ｓ４０２のＹｅｓ）には、現在位置情報をリミット状態になる前の値に戻して中心点がずれない様に補正する（Ｓ４０３）。それ以外の場合（Ｓ４０２のＮｏ）には、何も行わずに終了する。以上がモータ４の制御動作が停止しているが、人間の操作により、モータ４が回転している場合の動作である。
【００４９】
「モータ４の制御動作中の場合」次に、モータ４の制御動作中の場合の動作について説明する。
【００５０】
モータ４を制御する場合には、まず、メイン処理２１からモータ制御処理２２に対してどの様な動作をしたいかを指示する。メイン処理２１が定期的にエンコーダ情報リード処理２３を通してエンコーダ３からモータ４の現在位置情報を取得する（Ｓ１０１）。取得した現在位置情報と保存しておいた前回位置情報から速度を計算する（Ｓ１０２）。モータ４を制御して動作させているのでエンコーダ３から読みとれる現在の位置情報は変化しているため、速度が発生する。
【００５１】
メイン処理２１はモータ制御処理２２を通してモータ４を回転制御させているかを確認する（Ｓ１０３）。モータ４の制御中のため（Ｓ１０３のＹｅｓ）、撫で検出処理（Ｓ１０６）を行わずに次の過負荷検出処理（Ｓ１０７）が実行される。過負荷検出処理（Ｓ１０７）の中では、まず、現在の動作速度と目標速度が一定以上離れているか比較する（Ｓ３０１）。
【００５２】
モータ４の制御中のため、モータ４の現在速度と目標速度は、刻一刻と変化している。従って、状況により負荷は変化していく。負荷が軽い場合（Ｓ３０１のＮｏ）には、何も行わずに終了する。また、負荷が重たい場合であっても、一定時間以上負荷が連続していない場合（Ｓ３０２のＮｏ）であれば、何も行わずに終了する。
【００５３】
負荷が重くて一定時間以上連続した場合（Ｓ３０２のＹｅｓ）には、モータ４の制御をフリーにしてモータ４を構成する部品が破損しないようにする（Ｓ３０３）。
【００５４】
モータ４の制御がフリーになった後は、現在の位置情報を基に現在の動作速度を計算する（Ｓ３０４）。計算した速度が有るか（動いているか）を調べる（Ｓ３０５）。調べた結果、動いている場合（Ｓ３０５のＮｏ）には、まだ過負荷状態であると判断して再度、現在の位置情報を取得して速度を計算する（Ｓ３０４）。一方、調べた結果、動いていない場合（Ｓ３０５のＹｅｓ）には、過負荷状態から復帰したと判断してモータ４の制御を開始する（Ｓ３０６）。
【００５５】
次に、リミット検出処理（Ｓ１０８）が実行される。リミット検出処理（Ｓ１０８）の中では、まず、リミットスイッチ５の情報を取得する。そして、リミットスイッチ５の状態が動作可能範囲外のリミット状態であるか調べる（Ｓ４０２）。
【００５６】
モータ４の制御中のため、リミット状態になることはない。しかし、過負荷検出処理（Ｓ１０７）にて過負荷が検出され、モータ４の制御がフリーの状態になったときは、リミット状態になる可能性がある。リミット状態になった場合（Ｓ４０２のＹｅｓ）には、現在位置情報をリミット状態になる前の値に戻して中心点がずれない様に補正する（Ｓ４０３）。リミット状態以外の場合（Ｓ４０２のＮｏ）には、何も行わずに終了する。以上がモータ４の制御動作中の場合の動作である。
【００５７】
「モータ４の制御動作中に人間の操作がある場合」次に、モータ４の制御動作中に人間の操作がある場合の動作について説明する。
【００５８】
モータ４を制御する場合には、まず、メイン処理２１からモータ制御処理２２に対してどの様な動作をしたいかを指示する。メイン処理２１が定期的にエンコーダ情報リード処理２３を通してエンコーダ３からモータ４の現在位置情報を取得する（Ｓ１０１）。取得した現在位置情報と保存しておいた前回位置情報から速度を計算する（Ｓ１０２）。モータ４を制御して動作させていて、かつ、人間が操作しているのでエンコーダ３から読みとれる現在の位置情報は変化しているため、速度が発生する。
【００５９】
メイン処理２１はモータ制御処理２２を通してモータ４を回転制御させているかを確認する（Ｓ１０３）。モータ４の制御中のため（Ｓ１０３のＹｅｓ）、撫で検出処理（Ｓ１０６）を行わずに、次の過負荷検出処理（Ｓ１０７）が実行される。
【００６０】
過負荷検出処理（Ｓ１０７）の中では、まず、現在の動作速度と目標速度が一定以上離れているか比較する（Ｓ３０１）。モータ４の制御中のため、モータ４の現在速度と目標速度は、刻一刻と変化している。更に、人間の操作により、負荷の状態が変化する。従って、状況により負荷は変化していく。負荷が軽い場合（Ｓ３０１のＮｏ）には、何も行わずに終了する。また、負荷が重たい場合であっても、一定時間以上負荷が連続していない場合（Ｓ３０２のＮｏ）であれば、何も行わずに終了する。
【００６１】
負荷が重くて一定時間以上連続した場合（Ｓ３０２のＹｅｓ）には、モータ４の制御をフリーにしてモータ４を構成する部品が破損しないようにする（Ｓ３０３）。モータ４の制御がフリーになった後は、現在の位置情報を基に現在の動作速度を計算する（Ｓ３０４）。
【００６２】
計算した速度が有るか（動いているか）を調べる（Ｓ３０５）。調べた結果、動いている場合（Ｓ３０５のＮｏ）には、まだ過負荷状態であると判断して再度、現在の位置情報を取得して速度を計算する（Ｓ３０４）。調べた結果、動いていない場合（Ｓ３０５のＹｅｓ）には、過負荷状態から復帰したと判断してモータ４の制御を開始する（Ｓ３０６）。
【００６３】
次に、リミット検出処理（Ｓ１０８）が実行される。リミット検出処理（Ｓ１０８）の中では、まず、リミットスイッチ５の情報を取得する。そして、リミットスイッチ５の状態が動作可能範囲外のリミット状態であるか調べる（Ｓ４０２）。モータ４の制御中であり、なおかつ、人間の操作があるため、状況によってはリミット状態になる。リミット状態になった場合（Ｓ４０２のＹｅｓ）には、現在位置情報をリミット状態になる前の値に戻して中心点がずれない様に補正する（Ｓ４０３）。リミット状態以外の場合（Ｓ４０２のＮｏ）には、何も行わずに終了する。以上がモータ４の制御動作中に人間の操作がある場合の動作である。
【００６４】
尚、この発明は、上記し、且つ、図面に示す実施の形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施し得るものである。例えば、この発明は人の操作が、棒や手袋を用いた間接的操作であっても適用することができる。
【００６５】
【発明の効果】
第１の効果は、タッチセンサ等の特別な部品無しで人間の操作を検出することである。このため、タッチセンサ等の部品にかかるコストを削減することができる。その理由は、人間の操作によるモータの回転動作の状態をエンコーダにより検出しているためである。
【００６６】
第２の効果は、撫でる、つつく、ぐりぐり、叩く等の操作を検出できることである。その理由は、モータが一定範囲以内の速度で動作しているか、モータの速度が一定回数以上変化しているかを検出しているためである。
【００６７】
第３の効果は、モータを構成している部品を破損しないようにできることである。その理由は、過負荷状態を検出し、モータの制御をフリーにするためである。
【００６８】
第４の効果は、モータに接続されている可動部分が前方又は後方の動作可能範囲を超えて動いてしまい、モータ制御玩具を壊してしまわないようにできることである。その理由は、リミットスイッチを設け、リミット状態を検出して現在位置情報をリミット状態になる前の動作可能範囲の値に戻して中心点がずれない様に補正するからである。
【図面の簡単な説明】
【図１】この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法のブロック図である。
【図２】この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の動作を示すフローチャートである。
【図３】この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の撫で検出処理のフローチャートである。
【図４】この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法の過負荷検出処理のフローチャートである。
【図５】この発明のエンコーダ付きモータ制御玩具およびエンコーダ付きモータ制御玩具の制御方法のリミット検出処理のフローチャートである。
【符号の説明】
１    モータ制御玩具
２    制御ＲＯＭ
２１    メイン処理
２２    モータ制御処理
２３    エンコーダ情報リード処理
２４    リミットスイッチ情報取得処理
２５    表示処理
３    エンコーダ
４    モータ
５    リミットスイッチ
６    ディスプレイ
【図１】
0003776723.tif 000002
【図２】
0003776723.tif 000003
【図３】
0003776723.tif 000004
【図４】
0003776723.tif 000005
【図５】
0003776723.tif 000006