(57)【要約】【課題】部品同士の衝突による音を低減させることができ、かつ、部品が互いに接する状態になった場合に、より速やかに目的の動作をさせられるようにする。【解決手段】制御システムが、動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得部と、前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部と、を備える。【選択図】図１
2017207177.tif 000002
【特許請求の範囲】
【請求項１】
動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得部と、
前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部と、
を備える制御システム。
【請求項２】
前記第一部品の位置を検出する第一部品位置検出部と、
前記第一部品の動作、及び、前記第二部品の動作を模擬するモデルを用いて前記第一部品、前記第二部品それぞれの位置を推定する位置推定部と、
前記位置推定部が推定する前記第二部品の位置を、前記第一部品位置検出部が検出した前記第一部品の位置と、前記位置推定部が推定した前記第一部品の位置との差に応じて調整する推定位置調整部と、
を備え、
前記間隔取得部は、前記位置推定部が推定した前記第二部品の位置に基づいて、前記第一部品と前記第二部品との間隔の大きさを求める
請求項１に記載の制御システム。
【請求項３】
前記第一部品の位置を検出する第一部品位置検出部と、
前記第二部品の位置を検出する第二部品位置検出部と、
を備え、
前記間隔取得部は、前記第一部品位置検出部が検出した前記第一部品の位置と、前記第二部品位置検出部が検出した前記第二部品の位置とに基づいて、前記第一部品と前記第二部品との間隔の大きさを求める
請求項１に記載の制御システム。
【請求項４】
前記動作制御部は、前記第一部品と前記第二部品との間隔の大きさに基づいて、前記第一部品の動作速度を制限する制御を行う、請求項１から３のいずれか一項に記載の制御システム。
【請求項５】
前記動作制御部は、さらに前記第一部品と前記第二部品との間隔の変化速度、及び、前記第一部品と前記第二部品との間隔の変化の加速度のうち少なくともいずれか一方に基づいて、前記第一部品の動作速度を制限する制御を行う、請求項４に記載の制御システム。
【請求項６】
前記間隔取得部は、前記第一部品と前記第二部品との間隔の大きさに基づいて、前記第一部品の動作の制御目標値を調整する、請求項１から３のいずれか一項に記載の制御システム。
【請求項７】
動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得ステップと、
前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部ステップと、
を含む制御方法。
【請求項８】
コンピュータに、
動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得ステップと、
前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、制御方法およびプログラムに関する。
【背景技術】
【０００２】
歯車、リンク機構、及び、ボールねじなど、複数の部品が可動に組み合わされた機械機構では、部品を滑らかに動作させるためにバックラッシュ（Backlash）と呼ばれる隙間が設けられることが一般的である。このバックラッシュが設けられることで、機械機構の動作開始時、及び、動作方向の転換時等に、部品同士が衝突して衝突音が発生する場合がある。
【０００３】
これに対し、特許文献１には、モータ側の歯車（第２の歯車）と負荷側の歯車（第１の歯車）とが組み合された機械機構にてバックラッシュによる衝突の衝撃を低減させるための技術が示されている。具体的には、特許文献１に記載のサーボ制御システムでは、第２の歯車がバックラッシュ幅を移動するのに要する時間に相当する所定時間が経過するまでの間、モータの出力トルクを制限する。特許文献１では、第２の歯車と第１の歯車との間隔がバックラッシュ幅を超えることはないので、第２の歯車の歯が第１の歯車の歯に対してどのような位置にあったとしても、バックラッシュによる衝突の衝撃を低減できるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１５３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、第２の歯車の歯と第１の歯車の歯との位置関係にかかわらず所定時間が経過するまでの間、モータの出力トルクを制限する。このため、第２の歯車の歯と第２の歯車の歯との間の隙間が狭い状態から動作を開始して、早々に両者の歯が接する状態になった場合でも、所定時間が経過するまではモータの出力トルクが制限される。より早い応答を得るためには、第２の歯車の歯と第１の歯車の歯とが接する状態になった後速やかにモータの出力トルクの制限を解除できることが望まれる。
【０００６】
本発明は、２つの歯車など部品同士の衝突による音を低減させることができ、かつ、部品が互いに接する状態になった場合に、より速やかに目的の動作をさせることができる制御システム、制御方法およびプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、制御システムは、動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得部と、前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部と、を備える。
【０００８】
前記第一部品の位置を検出する第一部品位置検出部と、前記第一部品の動作、及び、前記第二部品の動作を模擬するモデルを用いて前記第一部品、前記第二部品それぞれの位置を推定する位置推定部と、前記位置推定部が推定する前記第二部品の位置を、前記第一部品位置検出部が検出した前記第一部品の位置と、前記位置推定部が推定した前記第一部品の位置との差に応じて調整する推定位置調整部と、を備え、前記間隔取得部は、前記位置推定部が推定した前記第二部品の位置に基づいて、前記第一部品と前記第二部品との間隔の大きさを求めるようにしてもよい。
【０００９】
前記第一部品の位置を検出する第一部品位置検出部と、前記第二部品の位置を検出する第二部品位置検出部と、を備え、前記間隔取得部は、前記第一部品位置検出部が検出した前記第一部品の位置と、前記第二部品位置検出部が検出した前記第二部品の位置とに基づいて、前記第一部品と前記第二部品との間隔の大きさを求めるようにしてもよい。
【００１０】
前記動作制御部は、前記第一部品と前記第二部品との間隔の大きさに基づいて、前記第一部品の動作速度を制限する制御を行うようにしてもよい。
【００１１】
前記動作制御部は、さらに前記第一部品と前記第二部品との間隔の変化速度、及び、前記第一部品と前記第二部品との間隔の変化の加速度のうち少なくともいずれか一方に基づいて、前記第一部品の動作速度を制限する制御を行うようにしてもよい。
【００１２】
前記間隔取得部は、前記第一部品と前記第二部品との間隔の大きさに基づいて、前記第一部品の動作の制御目標値を調整するようにしてもよい。
【００１３】
本発明の第２の態様によれば、制御方法は、動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得ステップと、前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部ステップと、を含む。
【００１４】
本発明の第３の態様によれば、プログラムは、コンピュータに、動力源からの動力を受けて動作する第一部品と、前記第一部品からの力を受けて動作する第二部品との間隔の大きさを求める間隔取得ステップと、前記間隔の大きさに応じて前記第一部品の動作を制御する動作制御部ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１５】
上記した制御システム、制御方法およびプログラムによれば、部品同士の衝突による音を低減させることができ、かつ、部品が互いに接する状態になった場合に、より速やかに目的の動作をさせることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る駆動システムの機能構成を示す概略ブロック図である。
【図２】同実施形態に係るモータ側歯車と負荷側歯車との間隔の第１の例を示す説明図である。
【図３】同実施形態に係るモータ側歯車と負荷側歯車との間隔の第２の例を示す説明図である。
【図４】同実施形態に係るモータ側歯車に対する制限速度の例を示すグラフである。
【図５】同実施形態に係るモータ側歯車と負荷側歯車との間隔の第３の例を示す説明図である。
【図６】同実施形態に係るモータ側歯車と負荷側歯車との間隔の第４の例を示す説明図である。
【図７】同実施形態に係るモータ側歯車と負荷側歯車との間隔の第５の例を示す説明図である。
【図８】同実施形態に係るモデル記憶部が記憶している駆動機構モデルの例を示す説明図である。
【図９】同実施形態に係る制御システムが行うモータ側歯車の制御の例を示すブロック線図である。
【図１０】本発明の第２の実施形態に係る制御システムが行うモータ側歯車の制御の例を示すブロック線図である。
【図１１】本発明の第３の実施形態に係る駆動システムの機能構成を示す概略ブロック図である。
【図１２】同実施形態に係る制御システムが行うモータ側歯車の制御の例を示すブロック線図である。
【図１３】本発明の第４の実施形態に係る制御システムが行うモータ側歯車の制御の例を示すブロック線図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る駆動システムの機能構成を示す概略ブロック図である。同図に示すように、駆動システム１は、駆動機構１００と、制御システム２００とを備える。駆動機構１００は、モータ１１０と、ギヤ機構１２０と、負荷１５０とを備える。ギヤ機構１２０は、モータ側歯車１３０と、負荷側歯車１４０とを備える。制御システム２００は、レゾルバ２１１と、制御装置２２０とを備える。制御装置２２０は、通信部２３０と、記憶部２８０と、制御部２９０とを備える。記憶部２８０は、モデル記憶部２８１を備える。制御部２９０は、間隔取得部２９１と、動作制御部２９２と、位置推定部２９３と、推定位置調整部２９４とを備える。
【００１９】
駆動システム１は、モータ１１０で生成した動力を負荷１５０に伝達することにより、駆動対象の機器を駆動する（動作させる）。駆動システム１は、乗物の駆動部であってもよいがこれに限らす、いろいろな機械を駆動するシステムとすることができる。
駆動機構１００は、制御システム２００の制御に従って、駆動対象の機器の駆動を実行する。
モータ１１０は、動力源の例に該当し、電力の供給を受けて動力を出力する。但し、駆動機構１００が備える動力源はモータに限らない。駆動機構１００が、例えばエンジンなどモータ以外の動力源を備えるようにしてもよい。
【００２０】
ギヤ機構１２０は、モータ１１０からの動力を負荷１５０に伝達する。具体的には、モータ１１０からの動力をモータ側歯車１３０が受けることによりモータ側歯車１３０が回転する。モータ側歯車１３０の歯と負荷側歯車１４０の歯とが噛み合っており、モータ側歯車１３０の歯が負荷側歯車１４０の歯を押すことによってモータ側歯車１３０から負荷側歯車１４０へ動力が伝達され、負荷側歯車１４０が回転する。そして、負荷側歯車１４０は、モータ側歯車１３０から受けた動力を負荷１５０へ伝達する。
【００２１】
ギヤ機構１２０は機械機構の例に該当し、モータ側歯車１３０と負荷側歯車１４０とは、機械機構を構成する部品の例に該当する。モータ側歯車１３０が第一部品の例に該当し、負荷側歯車１４０が第二部品の例に該当する。
但し、駆動機構１００が備える機械機構はギヤ機構に限らない。駆動機構１００が備える機械機構として、動力を伝達し、かつ、部品と部品との間に隙間が設けられているいろいろな機械機構を用いることができる。例えば、駆動機構１００が、ボールねじを備えるようにしてもよいし、リンク機構を備えるようにしてもよい。
【００２２】
駆動機構１００がボールねじを備える場合、ネジ軸、ナット、及び、ネジ軸とナットとの間に設けられたボールが部品の例に該当する。制御装置２２０が、ネジ軸とナットとの間隔に基づいてボールねじの制御を行う場合、ネジ軸、ナットそれぞれの動力を伝達する面の間隔が、ボールの直径の間隔に等しくなったときに、これらネジ軸とナットとボールとが接した状態となる。
【００２３】
また、駆動機構１００がリンク機構を備える場合、２つのリンク、及び、これら２つのリンクを可動に接続するジョイント部材が部品の例に該当する。制御装置２２０が、２つのリンクの間隔に基づいてリンク機構の制御を行う場合、２つのリンクそれぞれの動力を伝達する面の間隔が、ジョイント部材の幅の大きさ（例えば直径）に等しくなった時に、これら２つのリンクとジョイント部材とが接した状態となる。
【００２４】
負荷１５０は、負荷側歯車１４０からの動力を受けて動作する。負荷側歯車１４０は、例えば、自動車のドライブシャフト及び車輪、又は、船舶のドライブシャフト及びスクリューなど、乗物を走行させる機構であってもよいがこれに限らず、負荷側歯車１４０からの動力を受けるものであればよい。
【００２５】
制御システム２００は、駆動機構１００の動作を制御する。特に、制御システム２００は、駆動機構１００を動作させる際、モータ側歯車１３０の歯と負荷側歯車１４０の歯との衝突音を低減させる制御を行う。
レゾルバ２１１は、第一部品位置検出部の例に該当し、モータ側歯車１３０の位置（回転角度）を検出する。具体的には、レゾルバ２１１は、モータ１１０の回転角度を検出することにより、モータ側歯車１３０の回転角度を検出する。モータ１１０の回転軸とモータ側歯車１３０とが直結されている場合、レゾルバ２１１が検出するモータ１１０の回転角度をモータ側歯車１３０の回転角度と見做すことができる。なお、モータ１１０の回転数とモータ側歯車１３０の回転数が異なる場合は、例えば、制御部２９０が、レゾルバ２１１が検出するモータ１１０の位置を、後述するモータ側歯車１３０の位置θＭに換算するようにしてもよい。モータ側歯車１３０の位置は、第一部品の位置の例に該当する。
但し、制御システム２００が備える第一部品位置検出部は、レゾルバに限らない。例えば、制御システム２００が、モータ側歯車１３０の回転角度を直接検出するセンサを備えるなど、第一部品位置検出部としてレゾルバ以外のセンサを備えるようにしてもよい。
【００２６】
制御装置２２０は、レゾルバ２１１が検出するモータ１１０の回転角度に基づいて、モータ１１０の動作を制御する。制御装置２２０は、例えば汎用コンピュータ又はプログラマブルロジックコントローラ（Programmable Logic Controller；ＰＬＣ）などのコンピュータを用いて構成される。あるいは、制御装置２２０が専用のハードウェアを用いて構成されるなど、コンピュータ以外の装置を用いて構成されていてもよい。
通信部２３０は、他機器との間で信号の入出力を行う。特に、通信部２３０は、レゾルバ２１１からモータ１１０の回転角度を示す信号を取得する。また、通信部２３０は、モータ１１０へ制御信号を出力する。
【００２７】
記憶部２８０は、制御装置２２０が備える記憶デバイスを用いて構成され、各種データを記憶する。
モデル記憶部２８１は、駆動機構１００の動作を模擬する駆動機構モデルを記憶する。特に、この駆動機構モデルは、モータ側歯車１３０の動作、及び、負荷側歯車１４０の動作を模擬してモータ側歯車１３０、負荷側歯車１４０それぞれの位置を推定する。
制御部２９０は、制御装置２２０の各部を制御して各種処理を実行する。制御部２９０は、例えば制御装置２２０が備えるＣＰＵ（Central Processing Unit、中央処理装置）が、記憶部２８０からプログラムを読み出して実行することで構成される。
【００２８】
間隔取得部２９１は、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める。具体的には、間隔取得部２９１は、モータ側歯車１３０の歯と負荷側歯車１４０の歯との間隔の大きさを求める。
間隔取得部２９１は、位置推定部２９３が駆動機構モデルを用いて推定した負荷側歯車１４０の位置に基づいて、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める。
【００２９】
動作制御部２９２は、間隔取得部２９１が取得したモータ側歯車１３０と負荷側歯車１４０との間隔の大きさに応じてモータ側歯車１３０の動作を制御する。特に、動作制御部２９２は、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに基づいて、モータ側歯車１３０の動作速度（モータ側歯車１３０の回転速度）を制限する制御を行う。動作制御部２９２は、モータ１１０の回転速度を制御することで、モータ側歯車１３０の動作速度を制御する。
ここで、図２〜図６を参照して、動作制御部２９２が行うモータ側歯車１３０の動作速度の制限について説明する。
【００３０】
図２は、モータ側歯車１３０と負荷側歯車１４０との間隔の第１の例を示す説明図である。図２では、モータ側歯車１３０の歯１３１と、負荷側歯車１４０の歯１４１及び１４２とが示されている。また、矢印Ｂ１１は、モータ側歯車１３０を動作させる方向（すなわち、モータ側歯車１３０の回転方向）を示している。モータ側歯車１３０を矢印Ｂ１１の方向に動作させる場合、モータ側歯車１３０の歯１３１の面Ｆ１１と、負荷側歯車１４０の歯１４１の面Ｆ１２とが、モータ側歯車１３０から負荷側歯車１４０へ動力を伝達する面になる。間隔取得部２９１は、この面Ｆ１１と面Ｆ１２との間隔のように、動力を伝達する面同士の間隔を部品の間隔として取得する。
【００３１】
以下では、動力を伝達する面同士の間隔をδで示す。図２では、面Ｆ１１と面Ｆ１２との間隔がδで示される。図２の例では、モータ側歯車１３０の歯１３１が、負荷側歯車１４０の歯１４２と接した状態になっており、間隔δが最大になっている。以下では、間隔δの最大値をΔで示す。
【００３２】
間隔δが大きい場合、モータ側歯車１３０を高速に動作させるとモータ側歯車１３０の歯１３１と負荷側歯車１４０の歯１４１とが衝突して衝突音が発生する。この衝突音を抑制または低減させるため、動作制御部２９２は、間隔δが大きいときは、モータ側歯車１３０を比較的低速に動作させる。間隔δが小さくなった後、あるいはモータ側歯車１３０の歯と負荷側歯車１４０の歯とが接した後、動作制御部２９２は、モータ側歯車１３０を比較的高速に動作させる。ここで、モータ側歯車１３０を動作させるとは、モータ側歯車１３０を回転させることである。
【００３３】
図３は、モータ側歯車１３０と負荷側歯車１４０との間隔の第２の例を示す説明図である。図３では、図２の状態からモータ側歯車１３０が矢印Ｂ１１の方向へ動作して、モータ側歯車１３０の歯１３１の面Ｆ１１と、負荷側歯車１４０の歯１４１の面Ｆ１２とが接した状態を示している。面Ｆ１１と面Ｆ１２とが接しているので、間隔δは０になっている。この状態で、モータ側歯車１３０がモータ１１０の動力に駆動されて矢印Ｂ１１の方向へ動作することにより、面Ｆ１１が面Ｆ１２を押してモータ側歯車１３０から負荷側歯車１４０へ動力が伝達される。
【００３４】
図４は、モータ側歯車１３０に対する制限速度の例を示すグラフである。図４のグラフの横軸は、モータ側歯車１３０の歯１３１の面Ｆ１１と、負荷側歯車１４０の歯１４１の面Ｆ１２との間隔δを示す。縦軸は、モータ側歯車１３０の制限速度を示す。すなわち、縦軸は、モータ側歯車１３０に許容される回転速度の上限値を示す。以下では、モータ側歯車１３０の制限速度をＶｍａｘと表記する。
図４では、間隔δが近ければ、モータ側歯車１３０の速度をある程度大きくしても衝突音が許容範囲内となる場合の例を示しており、間隔δが小さいほど制限速度Ｖｍａｘを大きくしている。特に、閾値δ１で制限速度Ｖｍａｘの変化率を切り替えて、間隔δが閾値δ１以下の場合はモータ側歯車１３０の速度制限を大幅に緩和している。
【００３５】
但し、モータ側歯車１３０の制限速度Ｖｍａｘは、図４に示すものに限らない。例えば、実機で試験を行う等により、モータ側歯車１３０と負荷側歯車１４０とが接するときの音が許容範囲内となるようにモータ側歯車１３０の制限速度Ｖｍａｘを決定する。
例えば、モータ側歯車１３０の慣性力が小さく瞬間的にモータ側歯車１３０の速度を変化させることができる場合、間隔δが所定の閾値δ２よりも大きいときは、比較的大きい第１速度を制限速度としてモータ側歯車１３０を動作させるようにしてもよい。この場合、間隔δが閾値δ２以下のときは、モータ側歯車１３０の制限速度を第１速度よりも小さい第２速度とすることで、モータ側歯車１３０と負荷側歯車１４０とが接触する際の音を低減させることができる。
【００３６】
図５は、モータ側歯車１３０と負荷側歯車１４０との間隔の第３の例を示す説明図である。図５でも、図２の場合と同様、モータ側歯車１３０の歯１３１と、負荷側歯車１４０の歯１４１及び１４２とが示されている。但し、図５の例では、モータ側歯車１３０を動作させる方向が図２の場合と逆になる。すなわち、図５の例では、図２の矢印Ｂ１１とは逆の矢印Ｂ２１の方向へモータ側歯車１３０を動作させる。
【００３７】
モータ側歯車１３０を矢印Ｂ２１の方向に動作させる場合、モータ側歯車１３０の歯１３１の面Ｆ２１と、負荷側歯車１４０の歯１４２の面Ｆ２２とが、モータ側歯車１３０から負荷側歯車１４０へ動力を伝達する面になる。従って、モータ側歯車１３０が矢印Ｂ２１の方向へ動作する場合、間隔取得部２９１は、面Ｆ２１と面Ｆ２２との間隔を間隔δとして取得する。
図５の例では、モータ側歯車１３０の歯１３１が、負荷側歯車１４０の歯１４１と接した状態になっており、間隔δの大きさは最大値Δになっている。
【００３８】
図６は、モータ側歯車１３０と負荷側歯車１４０との間隔の第４の例を示す説明図である。図６では、図５の状態からモータ側歯車１３０が矢印Ｂ２１の方向へ動作して、モータ側歯車１３０の歯１３１の面Ｆ２１と、負荷側歯車１４０の歯１４２の面Ｆ２２とが接した状態を示している。面Ｆ２１と面Ｆ２２とが接しているので、間隔δは０になっている。この状態で、モータ側歯車１３０がモータ１１０の動力に駆動されて矢印Ｂ２１の方向へ動作することにより、面Ｆ２１が面Ｆ２２を押してモータ側歯車１３０から負荷側歯車１４０へ動力が伝達される。
【００３９】
図７は、モータ側歯車１３０と負荷側歯車１４０との間隔の第５の例を示す説明図である。同図では、モータ側歯車１３０の歯１４１が、負荷側歯車１４０の歯１４１と歯１４２との中間に位置している状態を示している。従って、面Ｆ１１と面Ｆ１２との間隔、面Ｆ２１と面Ｆ２２との間隔のいずれもΔ／２となっている。
上述したように、モータ側歯車１３０が動作する向きが異なると、動力を伝達する面も異なる。モータ側歯車１３０が矢印Ｂ１１の方向へ動作する場合と矢印Ｂ２１の方向へ動作する場合とを統一的に処理するために、図７のようにモータ側歯車１３０の歯１４１が負荷側歯車１４０の歯１４１と歯１４２との中間に位置している場合に、モータ側歯車１３０の位置と負荷側歯車１４０の位置との差が０であると定義する。
【００４０】
具体的には、レゾルバ２１１が検出するモータ側歯車１３０の位置（モータ１１０の位置）をθＭと表記し、位置推定部２９３が推定する負荷側歯車１４０の位置をθＬＥと表記すると、モータ側歯車１３０の位置と負荷側歯車１４０の位置との差はθＭ−θＬＥ、または、θＬＥ−θＭと表される。なお、添え字「Ｍ」はモータ側を示し、「Ｌ」は負荷側を示す。また、添え字「Ｅ」は推定値であることを示す。
【００４１】
間隔取得部２９１は、図７のようにモータ側歯車１３０の歯１４１が負荷側歯車１４０の歯１４１と歯１４２との中間に位置している場合に、θＭ−θＬＥ＝０（従って、θＬＥ−θＭ＝０）と検出する。
そして、図２及び図３の例のようにモータ側歯車１３０が矢印Ｂ１１の方向へ動作する場合、間隔取得部２９１は、式（１）を用いて間隔δを算出する。
【００４２】
【数１】
2017207177.tif 000003
【００４３】
ここで、ＶＤは、矢印Ｂ１１の方向を正としてモータ側歯車１３０の速度を示す。従って、ＶＤ≧０は、モータ側歯車１３０が矢印Ｂ１１の方向へ動作しているか、あるいは静止している場合を示す。また、モータ側歯車１３０の位置θＭ、負荷側歯車１４０の位置θＬＥ共に、矢印Ｂ１１の方向に正の値を取る。
従って、図７の状態よりもモータ側歯車１３０の歯１３１が負荷側歯車１４０の歯１４１に近い場合は、θＭ−θＬＥ＞０となり、δ＜Δ／２となる。特に、図３の例のように歯１３１と歯１４１とが接した状態では、θＭ−θＬＥ＝Δ／２となり、δ＝０となる。
【００４４】
一方、図７の状態よりもモータ側歯車１３０の歯１３１が負荷側歯車１４０の歯１４１から遠い場合は、θＭ−θＬＥ＜０となり、δ＞Δ／２となる。特に、図２の例のように歯１３１と歯１４１との間隔が最大値Δとなっている状態では、θＭ−θＬＥ＝−Δ／２となり、δ＝Δとなる。
また、図４及び図５の例のようにモータ側歯車１３０が矢印Ｂ２１の方向へ動作する場合、間隔取得部２９１は、式（２）を用いて間隔δを算出する。
【００４５】
【数２】
2017207177.tif 000004
【００４６】
式（２）ＶＤ＜０は、モータ側歯車１３０が矢印Ｂ２１の方向へ動作している場合を示す。また、上記のように、モータ側歯車１３０の位置θＭ、負荷側歯車１４０の位置θＬＥ共に、矢印Ｂ１１の方向に正の値を取る。
従って、図７の状態よりもモータ側歯車１３０の歯１３１が負荷側歯車１４０の歯１４２に近い場合は、θＬＥ−θＭ＞０となり、δ＜Δ／２となる。特に、図７の例のように歯１３１と歯１４２とが接した状態では、θＬＥ−θＭ＝Δ／２となり、δ＝０となる。
【００４７】
一方、図７の状態よりもモータ側歯車１３０の歯１３１が負荷側歯車１４０の歯１４２から遠い場合は、θＬＥ−θＭ＜０となり、δ＞Δ／２となる。特に、図６の例のように歯１３１と歯１４２との間隔が最大値Δとなっている状態では、θＬＥ−θＭ＝−Δ／２となり、δ＝Δとなる。
このように、間隔取得部２９１は、モータ側歯車１３０が矢印Ｂ１１の方向へ動作する場合と矢印Ｂ１２の方向へ動作する場合とでモータ側歯車１３０の位置の検出方法及び負荷側歯車１４０の位置の検出方法を切り替える必要無しに間隔δを算出することができる。これにより、動作制御部２９２は、モータ側歯車１３０が矢印Ｂ１１の方向へ動作する場合、矢印Ｂ２１の方向へ動作する場合のいずれにも、図４を参照して説明した制限速度を適用することができる。
【００４８】
位置推定部２９３は、モデル記憶部２８１が記憶している駆動機構モデルを用いてモータ側歯車１３０の動作、及び、負荷側歯車１４０の動作のシミュレーションを行い、モータ側歯車１３０、負荷側歯車１４０それぞれの位置を推定する。
図８は、モデル記憶部２８１が記憶している駆動機構モデルの例を示す説明図である。図８は、駆動機構モデルが行う演算をブロック線図の形式で示している。
【００４９】
図８のブロック線図では、モータ１１０からの入力トルクτが第１演算子４０１及び第２演算子４０２を経由して第１ブロック４０３に入力される。
第１ブロック４０３は、モータ側歯車１３０に入力されるトルクに応じてモータ側歯車１３０の速度を算出する。
【００５０】
第１ブロック４０３が出力するモータ側歯車１３０の速度は、第２ブロック４０４と第３ブロック４０５とに入力される。第２ブロック４０４は、モータ側歯車１３０の速度に応じた動摩擦τｆＭをＧＭＳモデル（Generalized Maxwell Slip Model）に基づいて算出する。
第２ブロック４０４が出力する動摩擦τｆＭは、第２演算子４０２に入力される。第２演算子４０２は、第１演算子４０１が入力トルクτから負荷側歯車１４０による応力を減算したトルクからさらに動摩擦τｆＭを減算する。これにより、第１ブロック４０３は、摩擦によって減速されたモータ側歯車１３０の速度を算出する。
【００５１】
第３ブロック４０５は、モータ側歯車１３０の速度を積分してモータ側歯車１３０の位置θＭＥを算出する。第３ブロック４０５が出力するモータ側歯車１３０の位置θＭＥは、第３演算子４１１に入力される。また、モータ側歯車１３０の位置θＭＥは、推定位置調整部２９４にも入力される。
第３演算子４１１は、第３ブロック４０５が算出したモータ側歯車１３０の位置θＭＥから負荷側歯車１４０の位置θＬＥを減算してモータ側歯車１３０と負荷側歯車１４０との間隔θＭＥ−θＬＥを算出する。第３演算子４１１が算出した間隔θＭＥ−θＬＥは、第４ブロック４１２に入力される。
【００５２】
第４ブロック４１２は、モータ側歯車１３０から負荷側歯車１４０への動力の伝達に対して、モータ側歯車１３０と負荷側歯車１４０とのバックラッシュに相当する不感帯を設ける。具体的には、第４ブロック４１２は、−Δ／２＜θＭＥ−θＬＥ＜Δ／２を不感帯として０を出力する。それ以外の場合、第４ブロック４１２は、間隔θＭＥ−θＬＥの大きさに比例する値を算出する。第４ブロック４１２が出力する値は、第５ブロック４１３に入力される。
【００５３】
第５ブロック４１３は、第４ブロック４１２から入力された値を、モータ側歯車１３０から負荷側歯車１４０へ伝達されるトルクに換算する。第５ブロック４１３が出力するトルクは、負荷側歯車１４０によるモータ側歯車１３０への応力として第１演算子４０１に入力される。上記のように、第１演算子４０１は、モータ１１０からの入力トルクτから、負荷側歯車１４０による応力を減算する。
また、第５ブロック４１３が出力するトルクは、第４演算子４２１を経由して第６ブロック４２２に入力される。
【００５４】
第６ブロック４２２は、負荷側歯車１４０に入力されるトルクに応じて負荷側歯車１４０の速度を算出する。
第６ブロック４２２が出力する負荷側歯車１４０の速度は、第７ブロック４２３と第８ブロック４２４とに入力される。第７ブロック４２３は、負荷側歯車１４０の速度に応じた動摩擦τｆＬをＧＭＳモデルに基づいて算出する。
第７ブロック４２３が出力する動摩擦τｆＬは、第４演算子４２１に入力される。第４演算子４２１は、モータ側歯車１３０から負荷側歯車１４０へ伝達される動力から動摩擦τｆＬを減算する。これにより、第６ブロック４２２は、摩擦によって減速された負荷側歯車１４０の速度を算出する。
【００５５】
第８ブロック４２４は、負荷側歯車１４０の速度を積分して負荷側歯車１４０の位置θＬＥを算出する。第８ブロック４２４が出力する負荷側歯車１４０の位置θＬＥは、第３演算子４１１に入力される。また、負荷側歯車１４０の位置θＬＥは、間隔取得部２９１にも入力される。
このように、位置推定部２９３は駆動機構モデルを用いてモータ側歯車１３０の位置θＭＥと負荷側歯車１４０の位置θＬＥとを推定する。
【００５６】
推定位置調整部２９４は、位置推定部２９３が推定する負荷側歯車１４０の位置を、レゾルバ２１１が検出したモータ側歯車１３０の位置と、位置推定部２９３が推定したモータ側歯車１３０の位置との差に応じて調整する。推定位置調整部２９４が行う処理を、図９を参照して説明する。
図９は、第１の実施形態の制御システム２００が行うモータ側歯車１３０の制御の例を示すブロック線図である。
【００５７】
図９のブロック線図では、上位装置が出力した制御目標値が第５演算子３０１に入力される。第５演算子３０１は、制御目標値からレゾルバ２１１が検出したモータ側歯車１３０の位置θＭを減算して偏差を算出する。第５演算子３０１が出力する偏差は、動作制御部２９２に入力される。
なお、第５演算子３０１による処理を動作制御部２９２が実行するようにしてもよいし、動作制御部２９２とは別に制御部２９０が実行するようにしてもよい。
【００５８】
動作制御部２９２は、指令値算出ブロック２９２ａで、偏差に基づいて制御指令値を算出する。動作制御部２９２が制御指令値を算出する制御方式として、制御対象の特性に応じていろいろなフィードバック制御方式を採用することができる。例えば、動作制御部２９２が、ＰＩＤ（Proportional-Integral-Differential）制御による制御指令値を算出するようにしてもよい。あるいは、動作制御部２９２が、積分制御、比例制御、又は微分制御による制御指令値を算出するようにしてもよい。動作制御部２９２は、モータ側歯車１３０の速度にて制御指令値を算出する。
【００５９】
また、動作制御部２９２は、速度制限ブロック２９２ｂで、モータ側歯車１３０の速度に対して速度制限を行う。具体的には、動作制御部２９２は、指令値算出ブロック２９２ａで制御指令値として算出したモータ側歯車１３０の速度指令値に対して、図４を参照して説明した制限速度を適用する。すなわち、速度指令値が制限速度を超過している場合、モータ側歯車１３０は、速度指令値を制限速度に低減させる。
【００６０】
動作制御部２９２は、算出した速度指令値に基づいて駆動機構１００を制御する。具体的には、動作制御部２９２は、モータ側歯車１３０の速度にて算出した速度指令値をモータ１１０に対する制御信号に変換してモータ１１０を制御する。
また、動作制御部２９２が出力する速度指令値は、第７演算子３０３を経由して位置推定部２９３に入力される。
【００６１】
位置推定部２９３は、上記のようにモデルを用いてモータ側歯車１３０の動作及び負荷側歯車１４０の動作を模擬することで、モータ側歯車１３０の位置及び負荷側歯車１４０の位置を推定する。例えば、位置推定部２９３は、動作制御部２９２から第７演算子３０３を経由して入力される速度指令値に基づいてモータ１１０の出力トルクτを算出し、得られたトルクτを図８の駆動機構モデル４００に適用する。
【００６２】
位置推定部２９３が出力する負荷側歯車１４０の位置θＬＥは、間隔取得部２９１へ入力される。間隔取得部２９１は、位置推定部２９３からの負荷側歯車１４０の位置θＬＥと、レゾルバ２１１が検出するモータ側歯車１３０の位置θＭとに基づいて、上述したようにモータ側歯車１３０と負荷側歯車１４０との間隔δを算出する。間隔取得部２９１が出力する間隔δは、動作制御部２９２に入力される。動作制御部２９２は、上記のように速度制限ブロック２９２ｂにて、モータ側歯車１３０と負荷側歯車１４０との間隔δに基づいてモータ側歯車１３０に対する速度制限を行う。
【００６３】
また、位置推定部２９３が出力するモータ側歯車１３０の位置θＭＥは、第６演算子３０２へ入力される。第６演算子３０２は、レゾルバ２１１が検出したモータ側歯車１３０の位置θＭから、位置推定部２９３が推定したモータ側歯車１３０の位置θＭを減算して、モータ側歯車１３０の位置の実測値と推定値との差分（誤差）θＭ−θＭＥを算出する。
【００６４】
推定位置調整部２９４は、第６演算子３０２が算出した差分θＭ−θＭＥに定数のゲインＫを乗算する。推定位置調整部２９４が出力する値は、第７演算子３０３へ入力される。
第７演算子３０３は、動作制御部２９２からの速度指令値に推定位置調整部２９４が算出した値を加算する。
【００６５】
このように、推定位置調整部２９４は、第６演算子３０２及び第７演算子３０３を用いて、位置推定部２９３の出力に含まれる誤差の大きさに応じた補正を速度指令値に対して行う。これにより、推定位置調整部２９４は、駆動機構モデル自体を調整する必要無しに、駆動機構モデルの出力を変化させることができる。その結果、位置推定部２９３が推定するモータ側歯車１３０の位置θＭＥ及び負荷側歯車１４０の位置θＬＥが、実際のモータ側歯車１３０の位置θＭ及び負荷側歯車１４０の位置θＬに近づく。
なお、第６演算子３０２の処理及び第７演算子３０３の処理を位置推定部２９３が実行するようにしてもよいし、位置推定部２９３とは別に制御部２９０が実行するようにしてもよい。
【００６６】
以上のように、間隔取得部２９１は、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさδを求める。そして、動作制御部２９２は、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに応じてモータ側歯車１３０の動作を制御する。
このように、動作制御部２９２が、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに応じてモータ側歯車１３０の動作を制御することで、モータ側歯車１３０と負荷側歯車１４０とが接するまではモータ側歯車１３０を比較的低速で動作させて、モータ側歯車１３０と負荷側歯車１４０との衝突音を低減させることができる。かつ、動作制御部２９２が、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに応じてモータ側歯車１３０の動作を制御することで、モータ側歯車１３０と負荷側歯車１４０とが接する状態になった場合に、より速やかに目的の動作をさせることができる。例えば、動作制御部２９２は、モータ側歯車１３０と負荷側歯車１４０とが接する状態になった後速やかに、モータ側歯車１３０の速度を上昇させることができる。
【００６７】
また、レゾルバ２１１は、モータ側歯車１３０の位置を検出する。位置推定部２９３は、モータ側歯車１３０の動作、及び、負荷側歯車１４０の動作を模擬するモデルを用いてモータ側歯車１３０、負荷側歯車１４０それぞれの位置を推定する。推定位置調整部２９４は、位置推定部２９３が推定する負荷側歯車１４０の位置を、レゾルバ２１１が検出したモータ側歯車１３０の位置と、位置推定部２９３が推定した負荷側歯車１４０の位置との差に応じて調整する。そして、間隔取得部２９１は、位置推定部２９３が推定した負荷側歯車１４０の位置に基づいて、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める。
このように、間隔取得部２９１が、位置推定部２９３が推定した負荷側歯車１４０の位置に基づいてモータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める。これにより、負荷側歯車１４０の位置を測定することが不可能な場合、あるいは、困難な場合でも、駆動機構モデルからモータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める（推定する）ことができる。かつ、推定位置調整部２９４がモータ側歯車１３０の位置の推定値に基づいて負荷側歯車１４０の位置の推定値を調整することで、位置推定部２９３による負荷側歯車１４０の位置の推定精度を高めることができ、動作制御部２９２が行う制御の精度を高めることができる。
【００６８】
また、動作制御部２９２は、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに基づいて、モータ側歯車１３０の動作速度を制限する制御を行う。
これにより、動作制御部２９２は、モータ側歯車１３０と負荷側歯車１４０とが接するまでモータ側歯車１３０の速度を低減させてモータ側歯車１３０と負荷側歯車１４０との接触音を低減させることができる。
【００６９】
動作制御部２９２が、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさに加えて、さらに当該間隔の変化速度、及び、当該間隔の変化の加速度のうち少なくともいずれか一方に基づいて、モータ側歯車１３０の動作速度を制限するようにしてもよい。
例えば、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が大きい場合、動作制御部２９２が、当該間隔が比較的大きい段階から早めにモータ側歯車１３０の速度を低減させるようにしてもよい。
【００７０】
さらに例えば、記憶部２８０は、モータ側歯車１３０と負荷側歯車１４０との間隔の第一閾値と、第一閾値よりも間隔の大きい第二閾値とを記憶しておく。また、記憶部２８０は、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度の閾値を記憶しておく。モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が閾値以下の場合、動作制御部２９２は第一閾値を用いて、当該間隔の大きさが第一閾値以下のときにモータ側歯車１３０の速度を制限する。一方、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が閾値よりも大きい場合、動作制御部２９２は第二閾値を用いて、当該間隔の大きさが第二閾値以下のときにモータ側歯車１３０の速度を制限する。
このように、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が大きい場合に、動作制御部２９２が早めにモータ側歯車１３０の速度を低減させることで、モータ側歯車１３０の速度低減が間に合わずに衝突音が生じてしまうことを防止できる。
【００７１】
また、モータ側歯車１３０と負荷側歯車１４０との間隔の変化の加速度が大きい場合、当該間隔の変化速度がすぐに大きくなることが考えられる。当該間隔の速度変化が大きくなった場合、動作制御部２９２によるモータ側歯車１３０の速度低減が間に合わずに衝突音が生じてしまう可能性がある。そこで、モータ側歯車１３０と負荷側歯車１４０との間隔の変化の加速度が大きい場合、動作制御部２９２が、当該間隔が比較的大きい段階から早めにモータ側歯車１３０の速度を低減させるようにしてもよい。
【００７２】
例えば、上記の速度の場合と同様、記憶部２８０が、モータ側歯車１３０と負荷側歯車１４０との間隔の第一閾値と、第一閾値よりも間隔の大きい第二閾値とを記憶しておく。また、記憶部２８０は、モータ側歯車１３０と負荷側歯車１４０との間隔の変化の加速度の閾値を記憶しておく。モータ側歯車１３０と負荷側歯車１４０との間隔の変化の加速度が閾値以下の場合、動作制御部２９２は第一閾値を用いて、当該間隔の大きさが第一閾値以下のときにモータ側歯車１３０の速度を制限する。一方、モータ側歯車１３０と負荷側歯車１４０との間隔の変化の加速度が閾値よりも大きい場合、動作制御部２９２は第二閾値を用いて、当該間隔の大きさが第二閾値以下のときにモータ側歯車１３０の速度を制限する。
【００７３】
あるいは、動作制御部２９２が、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度、及び、当該間隔の変化の加速度の両方に基づいて、モータ側歯車１３０の動作速度を制限するようにしてもよい。
例えば、記憶部２８０は、モータ側歯車１３０と負荷側歯車１４０との間隔の第一閾値と、第一閾値よりも間隔の大きい第二閾値とを記憶しておく。また、記憶部２８０は、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度の閾値と、当該間隔の変化の加速度の閾値とを記憶しておく。モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が閾値以下、かつ、当該間隔の変化の加速度が閾値以下の場合、動作制御部２９２は第一閾値を用いて、当該間隔の大きさが第一閾値以下のときにモータ側歯車１３０の速度を制限する。一方、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が閾値よりも大きい場合、及び、当該間隔の変化の加速度が閾値よりも大きい場合のいずれも、動作制御部２９２は第二閾値を用いて、当該間隔の大きさが第二閾値以下のときにモータ側歯車１３０の速度を制限する。
このように、モータ側歯車１３０と負荷側歯車１４０との間隔の変化速度が大きい場合、当該間隔の変化の加速度が大きい場合のいずれも、動作制御部２９２が早めにモータ側歯車１３０の速度を低減させることで、モータ側歯車１３０の速度低減が間に合わずに衝突音が生じてしまうことを、より確実に防止できる。
【００７４】
＜第２の実施形態＞
動作制御部２９２が行う静音制御は、モータ側歯車１３０の速度制限値を設ける制御に限らない。例えば、制御部２９０が、モータ側歯車１３０と負荷側歯車１４０との位置に応じてモータ側歯車１３０の動作の制御指令値を算出することでモータ側歯車１３０と負荷側歯車１４０との接触音を低減させるようにしてもよい。第２実施例では、この場合について説明する。
第２の実施形態に係る駆動システムの構成は、図１に示す駆動システム１と同一であり、ここでは図示及び説明を省略する。第２の実施形態では、間隔取得部２９１が行う処理及び動作制御部２９２が行う処理が第１の実施形態の場合と異なる。
【００７５】
図１０は、第２の実施形態の制御システム２００が行うモータ側歯車１３０の制御の例を示すブロック線図である。
図１０の例で駆動機構１００、レゾルバ２１１、位置推定部２９３、推定位置調整部２９４、第５演算子３０１、第６演算子３０２及び第７演算子３０３が行う処理は、図９の場合と同様である。一方、図１０の例では、第８演算子３１１が設けられている点、動作制御部２９２が、図９の速度制限ブロック２９２ｂの処理を行わない点、及び、間隔取得部２９１が制御目標値δｒを算出して第８演算子３１１へ出力する点で、図９の場合と異なる。
【００７６】
間隔取得部２９１が取得する間隔δの分だけモータ側歯車１３０を動作させれば、モータ側歯車１３０と負荷側歯車１４０とが接する状態になる。すなわち、動作制御部２９２が間隔δを制御目標値としてモータ側歯車１３０を動作させることで、モータ側歯車１３０と負荷側歯車１４０とが接する状態に速やかに到達することができる。
そこで、モータ側歯車１３０が図２及び図３の矢印Ｂ１１の方向に動作する場合、間隔取得部２９１は、式（３）に基づいて制御目標値δｒを算出する。
【００７７】
【数３】
2017207177.tif 000005
【００７８】
すなわち、間隔取得部２９１は、モータ側歯車１３０を間隔δの分だけ矢印Ｂ１１の方向に動作させる制御目標値δｒを算出する。モータ側歯車１３０を間隔δの分だけ矢印Ｂ１１の方向に動作させることで、モータ側歯車１３０と負荷側歯車１４０とが接している状態になる。
また、モータ側歯車１３０が図５及び図６の矢印Ｂ２１の方向に動作する場合、間隔取得部２９１は、式（４）に基づいて制御目標値δｒを算出する。
【００７９】
【数４】
2017207177.tif 000006
【００８０】
すなわち、間隔取得部２９１は、モータ側歯車１３０を間隔δの分だけ矢印Ｂ１２の方向に動作させる制御目標値δｒを算出する。モータ側歯車１３０を間隔δの分だけ矢印Ｂ１２の方向に動作させることで、モータ側歯車１３０と負荷側歯車１４０とが接している状態になる。
第８演算子３１１は、間隔取得部２９１が算出した制御目標値δｒを上位装置からの制御目標値ｒに加算する。そして、動作制御部２９２は、第８演算子３１１が出力する制御目標値から第５演算子がモータ側歯車１３０の位置の検出値を減算した偏差に基づいて、モータ側歯車１３０の動作を制御する。
【００８１】
なお、モータ側歯車１３０がオーバーシュートして負荷側歯車１４０に衝突することを回避するために、間隔取得部２９１が、モータ側歯車１３０の動作幅を間隔δより小さくする制御目標値を設定するようにしてもよい。例えば、間隔取得部２９１が式（３）に代えて式（５）に基づいて制御目標値δｒを算出するようにしてもよい。
【００８２】
【数５】
2017207177.tif 000007
【００８３】
ここで、Ａは、Δに対して十分に小さい正定数として予め定められている定数である。
また、間隔取得部２９１が、式（４）に代えて式（６）に基づいて制御目標値δｒを算出するようにしてもよい。
【００８４】
【数６】
2017207177.tif 000008
【００８５】
なお、動作制御部２９２がδｒに基づいてモータ側歯車１３０を制御しているときに、上位装置から大きい制御目標値ｒが入力されると、モータ側歯車１３０が加速されて衝突音が発生してしまう。そこで、間隔取得部２９１が算出した制御目標値δｒに基づいて動作制御部２９２がモータ側歯車１３０を制御しているときは、上位装置からの制御目標値ｒを遮断するようにしてもよい。
【００８６】
例えば、第８演算子３１１が、間隔取得部２９１からの制御目標値δｒ及び上位装置からの制御目標値ｒのうちいずれか一方を選択的に出力するようにしてもよい。具体的には、第８演算子３１１は、間隔取得部２９１からの制御目標値δｒを検出している場合は、制御目標値δｒを出力する。一方、間隔取得部２９１からの制御目標値δｒを検出していない場合、第８演算子３１１は、上位装置からの制御目標値ｒを出力する。
あるいは、上位装置側で一時的に制御目標値０を出力するようにしてもよい。
【００８７】
以上のように、間隔取得部２９１は、モータ側歯車１３０と負荷側歯車１４０との間隔δの大きさに基づいて、モータ側歯車１３０の動作の制御目標値を調整する。
この制御目標値に基づいて動作制御部２９２がモータ側歯車１３０の位置を制御することで、モータ側歯車１３０を負荷側歯車１４０に速やかに近付けることができ、かつ、モータ側歯車１３０と負荷側歯車１４０とが接触するときのモータ側歯車１３０の速度を低減させて接触音を低減させることができる。
【００８８】
＜第３の実施形態＞
負荷側歯車１４０の位置を検出可能な場合、間隔取得部２９１が負荷側歯車１４０の位置の検出値（測定値）に基づいて間隔δを算出するようにしてもよい。第３の実施形態では、第１の実施形態において負荷側歯車１４０の位置の推定値に代えて検出値を用いる場合について説明する。
【００８９】
図１１は、本発明の第３の実施形態に係る駆動システムの機能構成を示す概略ブロック図である。同図に示すように、駆動システム２は、駆動機構１００と、制御システム２０１とを備える。駆動機構１００は、モータ１１０と、ギヤ機構１２０と、負荷１５０とを備える。ギヤ機構１２０は、モータ側歯車１３０と、負荷側歯車１４０とを備える。制御システム２０１は、レゾルバ２１１と、負荷側位置センサ５１２と、制御装置５２０とを備える。制御装置５２０は、通信部２３０と、記憶部２８０と、制御部５９０とを備える。記憶部２８０は、モデル記憶部２８１を備える。制御部５９０は、間隔取得部２９１と、動作制御部２９２とを備える。
【００９０】
図１１にて図１の各部に対応して同様の機能を有する部分には同一の符号（１００、１１０、１２０、１３０、１４０、１５０、２１１、２３０、２８０、２８１、２９１、２９２）を付して説明を省略する。駆動システム２は、制御システム２０１が負荷側位置センサ５１２を備えている点、及び、制御部５９０が、位置推定部２９３と推定位置調整部２９４とを備えていない点で駆動システム１（図１）と異なる。それ以外は駆動システム１の場合と同様である。
【００９１】
負荷側位置センサ５１２は、第二部品位置検出部の例に該当し、負荷側歯車１４０の位置を検出する。負荷側位置センサ５１２が、負荷の動作量または動作速度から負荷側歯車１４０の位置を算出するようにしてもよい。あるいは、負荷側位置センサ５１２が、負荷側歯車１４０の位置を直接測定するようにしてもよいし、負荷側歯車１４０の速度を測定して負荷側歯車１４０の位置を算出するようにしてもよい。
【００９２】
間隔取得部２９１は、レゾルバ２１１が検出したモータ側歯車１３０の位置と、負荷側位置センサ５１２が検出した負荷側歯車１４０の位置とに基づいてモータ側歯車１３０と負荷側歯車１４０との間隔δを算出する。負荷側位置センサ５１２が行う算出の方法は、図２、図３、図５及び図６を参照して説明したのと同様である。具体的には、モータ側歯車１３０が図２及び図３の矢印Ｂ１１の方向へ動作する場合、負荷側位置センサ５１２は、式（７）に基づいて間隔δを算出する。
【００９３】
【数７】
2017207177.tif 000009
【００９４】
式（７）は、負荷側歯車１４０の位置として負荷側位置センサ５１２による検出値である位置θＬを用いている点で、式（１）の場合と異なる。それ以外は、式（１）の場合と同様である。
また、モータ側歯車１３０が図５及び図６の矢印Ｂ２１の方向へ動作する場合、負荷側位置センサ５１２は、式（８）に基づいて間隔δを算出する。
【００９５】
【数８】
2017207177.tif 000010
【００９６】
式（８）は、負荷側歯車１４０の位置として負荷側位置センサ５１２による検出値である位置θＬを用いている点で、式（２）の場合と異なる。それ以外は、式（２）の場合と同様である。
【００９７】
図１２は、第３の実施形態の制御システム２０１が行うモータ側歯車１３０の制御の例を示すブロック線図である。
図１２の例で駆動機構１００、レゾルバ２１１、間隔取得部２９１、動作制御部２９２及び第５演算子３０１が行う処理は、図９の場合と同様である。一方、図１２の例では、図９の位置推定部２９３に代えて負荷側位置センサ５１２が負荷側歯車１４０の位置を検出している。図１２では、位置推定部２９３が無いことから、推定位置調整部２９４も無くなっている。
【００９８】
以上のように、レゾルバ２１１は、モータ側歯車１３０の位置を検出する。負荷側位置センサ５１２は負荷側歯車１４０の位置を検出する。そして、間隔取得部２９１は、レゾルバ２１１が検出したモータ側歯車１３０の位置と、負荷側位置センサ５１２が検出した負荷側歯車１４０の位置とに基づいて、モータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求める。
これにより、制御システム２０１では、モデルを用いる場合よりも簡単な構成でモータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求めることができる。
【００９９】
＜第４実施形態＞
第３の実施形態では、第２の実施形態において負荷側歯車１４０の位置の推定値に代えて検出値を用いる場合について説明する。
第４の実施形態に係る駆動システムの構成は、図１１に示す駆動システム２と同一であり、ここでは図示及び説明を省略する。第４の実施形態では、間隔取得部２９１が行う処理及び動作制御部２９２が行う処理が第３の実施形態の場合と異なる。
【０１００】
図１３は、第３の実施形態の制御システム２０１が行うモータ側歯車１３０の制御の例を示すブロック線図である。
図１３の例で駆動機構１００、レゾルバ２１１、負荷側位置センサ５１２及び第５演算子３０１が行う処理は、図１２の場合と同様である。一方、図１３の例では、第８演算子３１１が設けられている点、動作制御部２９２が、図１２の速度制限ブロック２９２ｂの処理を行わない点、及び、間隔取得部２９１が制御目標値δｒを算出して第８演算子３１１へ出力する点で、図９の場合と異なる。
図１３の処理で間隔取得部２９１、動作制御部２９２、第８演算子３１１が行う処理は、いずれも図１０の場合と同様である。
【０１０１】
このように、第１の実施形態に限らず第２の実施形態に対しても負荷側位置センサ５１２を適用することができる。
第４の実施形態の場合も、第３の実施形態の場合と同様、制御システム２０１では、モデルを用いる場合よりも簡単な構成でモータ側歯車１３０と負荷側歯車１４０との間隔の大きさを求めることができる。
【０１０２】
なお、制御部２９０又は５９０の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１０３】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【０１０４】
１、２  駆動システム
１００  駆動機構
１１０  モータ
１２０  ギヤ機構
１３０  モータ側歯車
１４０  負荷側歯車
１５０  負荷
２００、２０１  制御システム
２１１  レゾルバ
２２０、５２０  制御装置
２３０  通信部
２８０  記憶部
２８１  モデル記憶部
２９０、５９０  制御部
２９１  間隔取得部
２９２  動作制御部
２９３  位置推定部
２９４  推定位置調整部
５１２  負荷側位置センサ
【図１】
2017207177.tif 000011
【図２】
2017207177.tif 000012
【図３】
2017207177.tif 000013
【図４】
2017207177.tif 000014
【図５】
2017207177.tif 000015
【図６】
2017207177.tif 000016
【図７】
2017207177.tif 000017
【図８】
2017207177.tif 000018
【図９】
2017207177.tif 000019
【図１０】
2017207177.tif 000020
【図１１】
2017207177.tif 000021
【図１２】
2017207177.tif 000022
【図１３】
2017207177.tif 000023