(57)【要約】【課題】  ダブルモータ制御により出力軸に加えられたトルクを、低コストかつ高精度に推定できるトルク推定装置、方法、及びプログラムを提供する。【解決手段】  一実施形態に係るトルク推定装置は、第１伝達系の剛性及び第２伝達系の剛性の少なくとも一方を含む剛性情報を記憶する剛性情報記憶部と、前記第１伝達系を介して出力軸を駆動する第１モータの角度と、第２伝達系を介して前記出力軸を駆動する第２モータの角度と、前記剛性情報と、に基づいて、前記出力軸に加わっているトルクを算出するトルク算出部を備える。【選択図】  図５
2019090725.tif 000002
【特許請求の範囲】
【請求項１】
第１伝達系の剛性及び第２伝達系の剛性の少なくとも一方を含む剛性情報を記憶する剛性情報記憶部と、
前記第１伝達系を介して出力軸を駆動する第１モータの角度と、第２伝達系を介して前記出力軸を駆動する第２モータの角度と、前記剛性情報と、に基づいて、前記出力軸に加わっているトルクを算出するトルク算出部を備える
トルク推定装置。
【請求項２】
前記剛性は、前記角度の変化量と前記トルクの変化量との比である
請求項１に記載のトルク推定装置。
【請求項３】
前記剛性情報は、前記第１伝達系の剛性と前記第２伝達系の剛性との比である剛性比を含む
請求項１又は請求項２に記載のトルク推定装置。
【請求項４】
前記トルク算出部は、前記出力軸が停止した際の前記第１モータの角度及び前記第２モータの角度に基づいて、前記剛性比を算出する
請求項３に記載のトルク推定装置。
【請求項５】
前記第１モータの角度と前記第２モータの角度との差に基づいて、異常を検知する異常検知部を更に備える
請求項１から請求項４までのいずれか１項に記載のトルク推定装置。
【請求項６】
第１伝達系の剛性及び第２伝達系の剛性の少なくとも一方を含む剛性情報と、前記第１伝達系を介して出力軸を駆動する第１モータの角度と、第２伝達系を介して前記出力軸を駆動する第２モータの角度と、に基づいて、前記出力軸に加わっているトルクを算出する工程を含む
トルク推定方法。
【請求項７】
第１伝達系の剛性及び第２伝達系の剛性の少なくとも一方を含む剛性情報と、前記第１伝達系を介して出力軸を駆動する第１モータの角度と、第２伝達系を介して前記出力軸を駆動する第２モータの角度と、に基づいて、前記出力軸に加わっているトルクを算出する工程を含むトルク推定方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トルク推定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、モータの回転により出力軸に加わったトルクを推定するトルク推定方法として、トルクセンサを利用する方法と、モータの指令値から算出する方法と、が知られている。トルクセンサを利用する方法では、出力軸の両端にトルクセンサを設置する必要があるため、コストが増大するという問題があった。また、この方法で推定精度を向上させるためには、出力軸のねじれ剛性を低下させる必要があるため、伝達特性が低下するという問題もあった。一方、モータの指令値から算出する方法では、指令値とトルクとの関係が、電源電圧やモータのコイル抵抗値、回転数、及びトルク定数などの、複数のパラメータに影響されるため、トルクを精度よく推定できないという問題があった。
【０００３】
また、他のトルク推定方法として、モータ（モータ軸）と出力軸との角度差に基づいて、トルクを推定する方法が提案されている。この方法では、モータから出力軸までの伝達系の剛性が一定であることを前提として、トルクが推定される。しかしながら、実際には、伝達系の剛性は、モータと出力軸との角度差に応じて変化するため、この方法ではトルクを精度よく推定することができなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、２つのモータにより１つの出力軸を駆動するダブルモータ制御が研究されている。ダブルモータ制御によれば、２つのモータが同一方向に回転するように電圧を印加することにより、出力軸に加えるトルクを大きくしたり、２つのモータが反対方向に回転するように電圧を印加することにより、バックラッシュを低減したりすることができる。
【０００５】
ダブルモータ制御により出力軸に加えられたトルクは、上記従来のトルク推定方法により推定することができる。しかしながら、上述の通り、上記従来のトルク推定方法には、コストの増大、伝達系の剛性の低下、低い推定精度などの問題があった。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、ダブルモータ制御により出力軸に加えられたトルクを、低コストかつ高精度に推定できるトルク推定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態に係るトルク推定装置は、第１伝達系の剛性及び第２伝達系の剛性の少なくとも一方を含む剛性情報を記憶する剛性情報記憶部と、前記第１伝達系を介して出力軸を駆動する第１モータの角度と、第２伝達系を介して前記出力軸を駆動する第２モータの角度と、前記剛性情報と、に基づいて、前記出力軸に加わっているトルクを算出するトルク算出部を備える。
【発明の効果】
【０００８】
本発明の各実施形態によれば、ダブルモータ制御により出力軸に加えられたトルクを、低コストかつ高精度に推定できるトルク推定装置、方法、及びプログラムを実現できる。
【図面の簡単な説明】
【０００９】
【図１】ダブルモータ制御により駆動される駆動系Ｄの一例を示す斜視図。
【図２】図１の駆動系Ｄの平面図。
【図３】モータＭ１，Ｍ２に印加される電圧の一例を示すグラフ。
【図４】角度θとトルクＴとの関係を示すグラフ。
【図５】モータ駆動システム１００の機能構成の一例を示す図。
【図６】駆動系Ｄの模式図。
【図７】モータ駆動システム１００の動作の一例を示すフローチャート。
【図８】トルクＴｏｕｔの推定方法を説明する図。
【図９】角度θ１，θ２，θｏｕｔの関係を模式的に示す図。
【図１０】駆動系Ｄの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
【００１１】
＜第１実施形態＞
第１実施形態に係るトルク推定装置１０について、図１〜図９を参照して説明する。本実施形態に係るトルク推定装置１０は、ダブルモータ制御により出力軸Ｓに加えられたトルクＴｏｕｔを推定する装置である。本実施形態では、出力軸Ｓに、出力軸Ｓの角度θｏｕｔを計測するエンコーダＥＳが設けられている場合について説明する。
【００１２】
まず、ダブルモータ制御について説明する。図１は、ダブルモータ制御により駆動される駆動系Ｄの一例を示す斜視図である。図２は、図１の駆動系Ｄの平面図である。図１及び図２の駆動系Ｄは、モータＭ１，Ｍ２と、出力軸Ｓと、伝達系Ｇ１，Ｇ２と、を備える。なお、図１及び図２の例では省略されているが、駆動系Ｄには、モータＭ１，Ｍ２及び出力軸Ｓの角度θ１，θ２，θｏｕｔを計測するエンコーダＥ１，Ｅ２，ＥＳが含まれる。エンコーダＥ１，Ｅ２は、モータＭ１，Ｍ２に外付けされてもよいし、モータＭ１，Ｍ２に内蔵されてもよい。また、エンコーダＥＳは、出力軸Ｓに外付けされてもよいし、出力軸Ｓに内蔵されてもよい。
【００１３】
モータＭ１（第１モータ）は、ダブルモータ制御により制御される一方のモータである。モータＭ１は、伝達系Ｇ１を介して、出力軸ＳにトルクＴ１を加え、出力軸Ｓを駆動する。モータＭ２（第２モータ）は、ダブルモータ制御により制御される他方のモータである。モータＭ２は、伝達系Ｇ２を介して、出力軸ＳにトルクＴ２を加え、出力軸Ｓを駆動する。出力軸Ｓは、ダブルモータ制御により駆動される出力軸である。伝達系Ｇ１（第１伝達系）は、モータＭ１の回転を出力軸Ｓに伝達する複数のギアの組（減速機）である。伝達系Ｇ２（第２伝達系）は、モータＭ２の回転を出力軸Ｓに伝達する複数のギアの組（減速機）である。
【００１４】
ダブルモータ制御では、モータＭ１，Ｍ２をそれぞれ制御することにより、出力軸Ｓが駆動される。図３は、モータＭ１，Ｍ２に印加される電圧の一例を示すグラフである。図３の縦軸はモータＭ１，Ｍ２の印加電圧、横軸は電圧指令値、実線はモータＭ１の印加電圧、点線はモータＭ２の印加電圧、破線はモータＭ１，Ｍ２の平均印加電圧、一点鎖線はモータＭ１，Ｍ２の合計印加電圧である。図３の例では、モータＭ１，Ｍ２が、正電圧を印加されると出力軸Ｓに第１方向のトルクＴ１，Ｔ２を加え、負電圧を印加されると出力軸Ｓに第２方向（第１方向と反対方向）のトルクＴ１，Ｔ２を加える場合を想定している。
【００１５】
図３の領域Ｒ１では、モータＭ１にリミット電圧ｌｉｍ２からオフセット電圧ｏｆｆｓｅｔ１までの電圧が印加され、モータＭ２にリミット電圧ｌｉｍ２が印加される。モータＭ１に印加される電圧が小さくなるほど、モータＭ１により出力軸Ｓに加えられる第２方向のトルクＴ１が大きくなる。領域Ｒ１では、モータＭ１，Ｍ２により出力軸Ｓに同一方向（第２方向）のトルクＴ１，Ｔ２を加えられるため、出力軸Ｓに加えられるトルクＴｏｕｔを大きくすることができる。
【００１６】
領域Ｒ２では、モータＭ１にオフセット電圧ｏｆｆｓｅｔ１が印加され、モータＭ２にリミット電圧ｌｉｍ２からオフセット電圧ｏｆｆｓｅｔ２までの電圧が印加される。モータＭ２に印加される電圧が小さくなるほど、モータＭ２により出力軸Ｓに加えられる第２方向のトルクＴ２が大きくなる。モータＭ２は、出力軸Ｓを第２方向に駆動する駆動用モータとして機能する。
【００１７】
領域Ｒ２では、モータＭ１，Ｍ２が出力軸Ｓに反対方向のトルクＴ１，Ｔ２を加えているため、出力軸Ｓに加えられるトルクＴｏｕｔは、モータＭ１，Ｍ２が加えるトルクＴ１，Ｔ２の差となり、領域Ｒ１より小さくなる。そのかわり、モータＭ１が、伝達系Ｇ１，Ｇ２の各ギアをオフセット電圧ｏｆｆｓｅｔ１に応じた所定のトルクで互いに押し付け合わせるバックラッシュ低減用モータとして機能するため、伝達系Ｇ１，Ｇ２のバックラッシュが低減する。
【００１８】
領域Ｒ３では、モータＭ１にリミット電圧ｌｉｍ１が印加され、モータＭ２にオフセット電圧ｏｆｆｓｅｔ２からリミット電圧ｌｉｍ１までの電圧が印加される。モータＭ２に印加される電圧が大きくなるほど、モータＭ２により出力軸Ｓに加えられる第１方向のトルクＴ２が大きくなる。領域Ｒ３では、モータＭ１，Ｍ２により出力軸Ｓに同一方向（第１方向）のトルクＴ１，Ｔ２を加えられるため、出力軸Ｓに加えられるトルクＴｏｕｔを大きくすることができる。
【００１９】
領域Ｒ４では、モータＭ１にオフセット電圧ｏｆｆｓｅｔ１からリミット電圧ｌｉｍ１までの電圧が印加され、モータＭ２にオフセット電圧ｏｆｆｓｅｔ２が印加される。モータＭ１に印加される電圧が大きくなるほど、モータＭ１により出力軸Ｓに加えられる第１方向のトルクＴ１が大きくなる。モータＭ１は、出力軸Ｓを第１方向に駆動する駆動用モータとして機能する。
【００２０】
領域Ｒ４では、モータＭ１，Ｍ２が出力軸Ｓに反対方向のトルクＴ１，Ｔ２を加えているため、出力軸Ｓに加えられるトルクＴｏｕｔは、モータＭ１，Ｍ２が加えるトルクＴ１，Ｔ２の差となり、領域Ｒ３より小さくなる。そのかわり、モータＭ２が、伝達系Ｇ１，Ｇ２の各ギアをオフセット電圧ｏｆｆｓｅｔ１に応じた所定のトルクで互いに押し付け合わせるバックラッシュ低減用モータとして機能するため、伝達系Ｇ１，Ｇ２のバックラッシュが低減する。
【００２１】
このように、ダブルモータ制御では、２つのモータＭ１，Ｍ２に印加する電圧を制御することにより、出力軸Ｓに加えるトルクＴｏｕｔを大きくしたり、バックラッシュを低減したりすることができる。以下、領域Ｒ２，Ｒ４における制御のように、バックラッシュを低減させる制御を、バックラッシュ制御と称する。
【００２２】
以上のようなダブルモータ制御を実現するためには、モータＭ１，Ｍ２により出力軸ＳにバランスよくトルクＴ１，Ｔ２を加えることが重要となる。モータＭ１，Ｍ２のトルクバランスが崩れた場合、速度変動や駆動系Ｄの変形が生じたり、伝達系Ｇ１，Ｇ２の摩耗が早まったりするおそれがある。
【００２３】
そこで、モータＭ１，Ｍ２の角度θ１，θ２と、モータＭ１，Ｍ２が出力軸Ｓに加えるトルクＴ１，Ｔ２と、の関係について説明する。以下、モータＭ１，Ｍ２、角度θ１，θ２、及びトルクＴ１，Ｔ２を区別しない場合、それぞれモータＭ、角度θ、及びトルクＴと称する。
【００２４】
モータＭが出力軸Ｓに加えるトルクＴは、出力軸Ｓに対するモータＭの相対的な角度θに応じて変化する。図４は、角度θとトルクＴとの関係を示すグラフである。図４の角度θは、基準角度θ０からのモータＭの移動量に相当する。図４の例では、基準角度θ０（＝０°）は、モータＭの伝達系Ｇが噛み合っていない角度である。図４の実線はモータＭが出力軸Ｓに加えるトルクＴを示す。図４に示すように、角度θは、バックラッシュ領域と、低剛性領域と、高剛性領域と、異常領域と、に分類できる。
【００２５】
バックラッシュ領域は、伝達系Ｇが噛み合っていない、すなわち、伝達系Ｇの各ギアの間にバックラッシュが存在する領域である。バックラッシュ領域では、モータＭが回転しても、その回転が出力軸Ｓに伝達されないため、トルクＴは０である。
【００２６】
低剛性領域は、バックラッシュ領域に続く領域である。低剛性領域では、角度θに応じてトルクＴが徐々に大きくなる。
【００２７】
高剛性領域は、低剛性領域に続く領域である。高剛性領域では、角度θに応じてトルクＴが線形に大きくなる。
【００２８】
異常領域は、高剛性領域に続く領域であり、想定される角度θの上限より、角度θが大きい領域である。角度θが異常領域に存在する場合、駆動系Ｄに変形などの異常が発生したと考えられる。
【００２９】
ここで、角度θの変化量とトルクＴの変化量との比を剛性ｋと称する。剛性ｋは、図４の実線の傾きに相当するため、バックラッシュ領域では０となり、低剛性領域では角度θに応じて徐々に大きくなり、高剛性領域では一定となる。剛性ｋは、角度θの変化に対するトルクＴの伝わりやすさを示す値に相当し、モータＭ及び伝達系Ｇの軸や出力軸Ｓのねじれ剛性、伝達系Ｇのギアの変形、モータＭ及び伝達系Ｇの軸や出力軸Ｓの位置などに依存する。
【００３０】
図１の例のように、伝達系Ｇに複数の軸やギアが含まれる場合、上記の影響を複数個所で受けるため、図４に示すように剛性ｋは角度θに応じて過渡的に変化する。具体的には、図４に示すように、モータＭの角度θを基準角度θ０から徐々に大きくしていくと、伝達系Ｇが噛み合うまで剛性ｋは０となる（バックラッシュ領域）。伝達系Ｇが噛み合った後、角度θを大きくすると、モータＭ及び伝達系Ｇの軸や出力軸Ｓが軸受部に順次押し付けられていき、各軸の位置が安定する。また、伝達系Ｇの各ギアが、噛み合わされたギアに押し付けられることにより変形する。この結果、剛性ｋは、徐々に大きくなる（低剛性領域）。各軸の位置が安定し、各ギアの変形が終了すると、剛性ｋは一定になる（高剛性領域）。高剛性領域では、ΔＴ＝ｋΔθが成立する。
【００３１】
次に、駆動系Ｄを駆動するモータ駆動システム１００について説明する。図５は、モータ駆動システム１００の機能構成の一例を示す図である。図５のモータ駆動システム１００は、モータ制御部１と、ＰＩＤ（Proportional Integral Differential）制御部２と、印加電圧算出部３Ａ，３Ｂと、ＰＷＭ（Pulse Width Modulation）生成部４Ａ，４Ｂと、駆動部５Ａ，５Ｂと、剛性情報記憶部６と、トルク算出部７と、異常検知部８と、を備える。
【００３２】
モータ駆動システム１００の各機能構成は、それぞれ異なるＩＣ（Integrated Circuit）により実現されてもよいし、２つ以上の機能構成が１つのＩＣにより実現されてもよい。剛性情報記憶部６、トルク算出部７、及び異常検知部８は、本実施形態におけるトルク推定装置１０に相当する。トルク推定装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、を備えたコンピュータにより実現される。ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭ上で実行することにより、トルク推定装置１０の機能が実現される。トルク推定装置１０は、例えば、マイコンであるが、これに限られない。トルク推定装置１０には、モータ制御部１が含まれてもよい。また、以下では、ＰＩＤ制御部２から駆動部５Ａ，５Ｂまでの機能構成は、１つのＩＣ（ダブルモータコントローラ９）として実現されるものとする。
【００３３】
モータ制御部１は、モータ駆動システム１００の全体の動作を制御する。モータ制御部１は、例えば、ＣＰＵと、ＲＯＭと、ＲＡＭと、を備えたマイコンにより実現される。ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭ上で実行することにより、モータ制御部１の機能が実現される。
【００３４】
ＰＩＤ制御部２は、出力軸Ｓの速度及び角度の目標値と、出力軸Ｓの速度及び角度の検出値と、を入力される。出力軸Ｓの速度及び角度の目標値は、例えば、モータ制御部１から入力される。また、出力軸Ｓの速度及び角度の検出値は、出力軸Ｓに設けられたセンサから直接入力されてもよいし、モータ制御部１から入力されてもよい。ＰＩＤ制御部２は、ＰＩＤ制御により、検出値が目標値に近づくように、電圧指令値（drv_in）を算出する。
【００３５】
印加電圧算出部３Ａ，３Ｂは、ＰＩＤ制御部２から電圧指令値をそれぞれ入力される。印加電圧算出部３Ａは、入力された電圧指令値に基づいて、モータＭ１の印加電圧（drv_out1）を算出する。また、印加電圧算出部３Ｂは、入力された電圧指令値に基づいて、モータＭ２の印加電圧（drv_out2）を算出する。電圧指令値と印加電圧との関係は、図３の例のように、予め設定されている。
【００３６】
ＰＷＭ生成部４Ａは、印加電圧算出部３Ａから印加電圧を入力され、入力された印加電圧に応じたＰＷＭ信号を生成する。また、ＰＷＭ生成部４Ｂは、印加電圧算出部３Ｂから印加電圧を入力され、入力された印加電圧に応じたＰＷＭ信号を生成する。
【００３７】
駆動部５Ａは、ＰＷＭ生成部４ＡからＰＷＭ信号を入力され、入力されたＰＷＭ信号に応じた印加電圧をモータＭ１に印加する。また、駆動部５Ｂは、ＰＷＭ生成部４ＢからＰＷＭ信号を入力され、入力されたＰＷＭ信号に応じた印加電圧をモータＭ２に印加する。これにより、モータＭ１，Ｍ２が駆動され、伝達系Ｇ１，Ｇ２を介して、出力軸Ｓが駆動される。
【００３８】
剛性情報記憶部６は、予め計測された、伝達系Ｇ１及び伝達系Ｇ２の少なくとも一方の剛性情報を記憶する。剛性情報には、剛性ｋや剛性比Ｋが含まれる。剛性情報については後述する。
【００３９】
トルク算出部７は、エンコーダＥ１からモータＭ１の角度θ１を入力され、エンコーダＥ２からモータＭ２の角度θ２を入力される。トルク算出部７は、角度θ１，θ２と、剛性情報記憶部６に記憶された剛性情報と、に基づいて、出力軸ＳのトルクＴｏｕｔを算出する。トルク算出部７が算出したトルクＴｏｕｔは、実際のトルクＴｏｕｔの推定値に相当する。トルクＴｏｕｔの算出方法については後述する。
【００４０】
異常検知部８は、エンコーダＥ１からモータＭ１の角度θ１を入力され、エンコーダＥ２からモータＭ２の角度θ２を入力される。異常検知部８は、角度θ１，θ２に基づいて、駆動系Ｄに異常が発生したか判定する。
【００４１】
次に、モータ駆動システム１００の動作について説明する。以下、説明を簡単にするために、駆動系Ｄの模式図を用いて説明する。図６は、駆動系Ｄの模式図である。図６の例では、伝達系Ｇ１，Ｇ２は、いずれも２つのギアからなる、減速比Ｎを有する１段の減速機である。角度θ１及びトルクＴ１は、図６の出力軸Ｓの反時計回りが正方向であり、角度θ２，θｏｕｔ及びトルクＴ２，Ｔｏｕｔは、図６の出力軸Ｓの時計回りが正方向であるものとする。また、伝達系Ｇ１，Ｇ２の剛性ｋ１，ｋ２に対する影響は、モータＭ１，Ｍ２の角度θ１，θ２に全て反映されるものとする。出力軸Ｓが停止している場合、以下の式が成り立つ。
【００４２】
Ｔ１＝Ｔｏｕｔ＋Ｔ２・・・（１）
【００４３】
図７は、モータ駆動システム１００の動作の一例を示すフローチャートである。
【００４４】
まず、モータ制御部１は、ダブルモータコントローラ９を制御し、モータＭ１，Ｍ２に初期化電圧Ｖ１１，Ｖ２１を印加する（ステップＳ１０１）。初期化電圧Ｖ１１，Ｖ２１は、モータＭ１，Ｍ２に反対方向かつ大きさが等しいトルクＴ１，Ｔ２を発生させる電圧である。初期化電圧Ｖ１１，Ｖ２１は、モータＭ１，Ｍ２の剛性ｋ１，ｋ２が高剛性領域に含まれるように予め設定される。初期化電圧Ｖ１１，Ｖ２１の印加は、バックラッシュ制御に相当する。このとき、Ｔ１＝Ｔ２であるため、Ｔｏｕｔは０である。すなわち、出力軸Ｓは停止している。
【００４５】
より詳細には、モータ制御部１は、モータＭ１に予め設定された初期化電圧Ｖ１１を印加し、モータＭ２に反対方向の小さい電圧を印加し、当該電圧を徐々に大きくしていく。モータ制御部１は、エンコーダＥＳの値を監視することにより、出力軸Ｓが基準角度（θｏｕｔ＝０）で停止する（Ｔ１＝Ｔ２となる）までモータＭ２に印加する電圧を大きくする。出力軸Ｓが基準角度で停止した際のモータＭ２の電圧が初期化電圧Ｖ２１に相当する。これにより、モータ制御部１は、モータＭ１，Ｍ２に初期化電圧Ｖ１１，Ｖ２１を印加できる。
【００４６】
次に、トルク算出部７は、初期化電圧Ｖ１１，Ｖ２１を印加中のモータＭ１，Ｍ２の角度を、基準角度θ１１，θ２１としてエンコーダＥ１，Ｅ２から取得する（ステップＳ１０２）。ここで取得される基準角度θ１１，θ２１は、図４の高剛性領域に含まれる角度となる。
【００４７】
その後、モータ制御部１は、ダブルモータコントローラ９を制御し、出力軸Ｓの駆動を開始する（ステップＳ１０３）。
【００４８】
出力軸Ｓの駆動が開始されると、トルク推定装置１０は、エンコーダＥ１，Ｅ２から定期的に角度θ１，θ２を取得する（ステップＳ１０４）。ここで取得される角度θ１，θ２は、ステップＳ１０２で取得した基準角度θ１１，θ２１に対する移動量に相当する。
【００４９】
そして、トルク算出部７は、取得した角度θ１，θ２と、剛性情報記憶部６に記憶された剛性情報と、に基づいて、トルクＴｏｕｔを算出する（ステップＳ１０５）。
【００５０】
また、異常検知部８は、取得した角度θ１，θ２に基づいて、駆動系Ｄに異常が発生したか判定する。具体的には、異常検知部８は、角度θ１と角度θ２との差｜θ１−θ２｜が、予め設定された閾値θｔｈ以上であるか判定する（ステップＳ１０６）。
【００５１】
差｜θ１−θ２｜が閾値θｔｈ以上である場合（ステップＳ１０６のＹＥＳ）、異常検知部８は、駆動系Ｄに異常が発生したと判定する（ステップＳ１０７）。これは、モータＭ１，Ｍ２は、伝達系Ｇ１，Ｇ２及び出力軸Ｓを介して連動しているため、駆動系Ｄが正常の場合、差｜θ１−θ２｜は閾値θｔｈ未満になると考えられるためである。異常検知部８は、異常が発生したと判定した場合、モータ制御部１にその旨を通知する。モータ制御部１は、異常の発生を通知されると、モータＭ１，Ｍ２を停止させる（ステップＳ１０８）。
【００５２】
一方、差｜θ１−θ２｜が閾値θｔｈ未満である場合（ステップＳ１０６のＮＯ）、異常検知部８は、駆動系Ｄは正常と判定する（ステップＳ１０９）。異常検知部８は、正常と判定した場合、モータ制御部１にその旨を通知する。モータ制御部１は、正常である旨を通知されると、モータＭ１，Ｍ２の制御を継続する。
【００５３】
トルク推定装置１０は、出力軸Ｓの駆動が終了するまで、ステップＳ１０４〜Ｓ１０７，Ｓ１０９の動作を繰り返す。
【００５４】
ここで、トルクＴｏｕｔの推定方法について説明する。以下の推定方法は、図７のステップＳ１０５の内部処理に相当する。図８は、トルクＴｏｕｔの推定方法を説明する図である。図８の左側はモータＭ１のトルクＴ１を示し、図８の右側はモータＭ２のトルクＴ２を示す。図８のＴ０は、初期化電圧Ｖ１１，Ｖ２１の印加時のトルクＴ１，Ｔ２であり（Ｔ１＝Ｔ２＝Ｔ０）、θ１２，θ２２は、高剛性領域の始点である。また、高剛性領域における剛性ｋ１，ｋ２を、それぞれ剛性ｋ１１，ｋ２１と称する。
【００５５】
（第１の推定方法）
第１の推定方法は、剛性ｋ１１，ｋ２１が剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。上述の通り、ステップＳ１０４で取得される角度θ１，θ２は、高剛性領域に含まれる基準角度θ１１，θ２１に対する移動量であるため、図８からわかるように、トルクＴ１，Ｔ２について以下の式が成り立つ。
【００５６】
Ｔ１＝Ｔ０＋ｋ１１×θ１・・・（２）
Ｔ２＝Ｔ０＋ｋ２１×θ２・・・（３）
【００５７】
式（１）を変形し、式（２），（３）を代入すると、以下のようになる。
【００５８】
Ｔｏｕｔ＝Ｔ１−Ｔ２＝Ｔ０＋ｋ１１×θ１−（Ｔ０＋ｋ２１×θ２）
＝ｋ１１×θ１−ｋ２１×θ２・・・（４）
【００５９】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１）と、角度θ１，θ２と、に基づいて、式（４）により、トルクＴｏｕｔを算出できる。
【００６０】
（第２の推定方法）
第２の推定方法は、剛性ｋ１１又は剛性ｋ２１が剛性情報として剛性情報記憶部６に予め記憶されており、剛性ｋ１１，ｋ２１が等しいことがわかっている場合に利用できる。
【００６１】
剛性ｋ１１，ｋ２１が等しい場合、式（４）は、以下のように変形できる。
【００６２】
Ｔｏｕｔ＝ｋ１１（θ１−θ２）＝ｋ２１（θ１−θ２）・・・（５）
【００６３】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１又は剛性ｋ２１）と、角度θ１，θ２と、に基づいて、式（５）により、トルクＴｏｕｔを算出できる。
【００６４】
（第３の推定方法）
第３の推定方法は、剛性ｋ１１又は剛性ｋ２１と、剛性比Ｋと、が剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。剛性比Ｋは、剛性ｋ１と剛性ｋ２との比である（Ｋ＝ｋ２／ｋ１）。
【００６５】
第３の推定方法では、トルク算出部７は、剛性比Ｋと、剛性ｋ１１，ｋ２１の一方と、に基づいて、剛性ｋ１１，ｋ２１の他方を算出する。例えば、剛性情報に剛性比Ｋ及び剛性ｋ１１が含まれる場合、剛性ｋ２１は、ｋ１１×Ｋにより求められる。また、剛性情報に剛性比Ｋ及び剛性ｋ２１が含まれる場合、剛性ｋ１１は、ｋ２１／Ｋにより求められる。したがって、トルク算出部７は、剛性情報（剛性ｋ１１又は剛性ｋ２１と剛性比Ｋ）と、角度θ１，θ２と、に基づいて、式（４）により、トルクＴｏｕｔを算出できる。
【００６６】
（第４の推定方法）
第１から第３までの推定方法では、角度θ１，θ２が高剛性領域に含まれる場合、トルクＴｏｕｔを精度よく推定できる。しかしながら、角度θ１，θ２が高剛性領域に含まれない場合、トルクＴｏｕｔの推定精度が低下する。そこで、第４の推定方法では、バックラッシュ領域及び低剛性領域におけるトルクＴｏｕｔを近似した関数を利用して、トルクＴｏｕｔを推定する。なお、第４の方法では、角度θ１，θ２は、それぞれトルクＴ１，Ｔ２が０になる角度θ１３，θ２３（モータＭ１，Ｍ２に電圧を印加していない時の角度）を、基準角度として計測される。
【００６７】
第４の推定方法は、剛性ｋ１１，ｋ２１と、高剛性領域の始点θ１２，θ２２と、関数Ｔ１（θ１），Ｔ２（θ２）と、が剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。
【００６８】
例えば、バックラッシュ領域及び低剛性領域におけるトルクＴ１を二次関数で近似する場合、トルクＴ１は以下の式で表される。
【００６９】
［θ１≦θ１２］Ｔ１（θ１）＝ａ×θ１２・・・（６）
［θ１＞θ１２］Ｔ１（θ１）＝ｋ１１×（θ１−θ１２）＋ａ×θ１２２・・・（７）
【００７０】
式（６），（７）の接合部の傾きを連続させると、式（６），（７）より以下の式が成り立つ。
【００７１】
ｋ１１＝２ａ×θ１２・・・（８）
【００７２】
したがって、式（６）〜（８）より、関数Ｔ１（θ１）は、以下のようになる。
【００７３】
［θ１≦θ１２］Ｔ１（θ１）＝ｋ１１×θ１２／２θ１２・・・（９）
［θ１＞θ１２］Ｔ１（θ１）＝ｋ１１×（θ１−θ１２／２）・・・（１０）
【００７４】
同様に、トルクＴ２について以下の式が成り立つ。
【００７５】
［θ２≦θ２２］Ｔ２（θ２）＝ｋ２１×θ２２／２θ１２・・・（１１）
［θ２＞θ２２］Ｔ２（θ２）＝ｋ２１×（θ２−θ２２／２）・・・（１２）
【００７６】
このとき、トルクＴｏｕｔは以下のように表される。
【００７７】
Ｔｏｕｔ＝Ｔ１（θ１）−Ｔ２（θ２）・・・（１３）
【００７８】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１、高剛性領域の始点θ１２，θ２２、及び関数Ｔ１（θ１），Ｔ２（θ２））と、角度θ１，θ２と、に基づいて、式（９）〜（１３）により、トルクＴｏｕｔを算出できる。第４の推定方法では、角度θ１，θ２が高剛性領域に含まれない場合であっても、トルクＴｏｕｔを精度よく推定できる。
【００７９】
（第５の推定方法）
第５の推定方法は、剛性ｋ１１，ｋ２１が剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。
【００８０】
出力軸Ｓに外部からトルクが加わると、このトルクにより、出力軸Ｓの角度がずれる（角度θｏｕｔが０ではなくなる）。そして、出力軸Ｓのずれにより、モータＭ１，Ｍ２が出力軸Ｓに加えるトルクＴ１，Ｔ２が変化する。
【００８１】
ここで、図９は、角度θ１，θ２，θｏｕｔの関係を模式的に示す図である。図９の例では、モータＭ１，Ｍ２及び出力軸Ｓが弾性系として表されている。この場合、剛性ｋ１は、モータＭ１と出力軸Ｓとを接続するバネの弾性係数に相当し、剛性ｋ２は、モータＭ２と出力軸Ｓとを接続するバネの弾性係数に相当する。また、角度θ１，θ２及びＮ×θｏｕｔは、それぞれモータＭ１，Ｍ２及び出力軸Ｓの基準位置からの移動量に相当する。出力軸Ｓが角度θｏｕｔだけ移動すると、モータＭ１，Ｍ２がＮ×θｏｕｔだけ移動するためである。角度θ１及びトルクＴ１は、図９の右方向が正方向であり、角度θ２，θｏｕｔ及びトルクＴ２，Ｔｏｕｔは、図９の左方向が正方向であるものとする。このとき、式（２），（３）は以下のように書き換えられる。
【００８２】
Ｔ１＝Ｔ０＋ｋ１１×（θ１＋Ｎ×θｏｕｔ）・・・（１４）
Ｔ２＝Ｔ０＋ｋ２１×（θ２−Ｎ×θｏｕｔ）・・・（１５）
【００８３】
式（１）を変形し、式（１４），（１５）を代入すると、以下のようになる。
【００８４】
Ｔｏｕｔ＝Ｔ１−Ｔ２＝Ｔ０＋ｋ１１×（θ１＋Ｎ×θｏｕｔ）−｛Ｔ０＋ｋ２１×（θ２−Ｎ×θｏｕｔ）｝
＝ｋ１１×（θ１＋Ｎ×θｏｕｔ）−ｋ２１×（θ２−Ｎ×θｏｕｔ）・・・（１６）
【００８５】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１）と、角度θ１，θ２，θｏｕｔと、に基づいて、式（１６）により、トルクＴｏｕｔを算出できる。トルク算出部７は、角度θｏｕｔをエンコーダＥＳから取得すればよい。
【００８６】
以上説明した通り、本実施形態によれば、ダブルモータ制御により出力軸Ｓに加えられたトルクＴｏｕｔを、角度θ１，θ２及び剛性情報に基づいて、高精度に推定することができる。また、トルクＴｏｕｔを推定するために、トルクセンサが不要であるため、トルクＴｏｕｔの推定に要するコストを低減すると共に、推定精度を向上させるための伝達系Ｇ１，Ｇ２の剛性の低下を抑制することができる。
【００８７】
＜第２実施形態＞
第２実施形態に係るトルク推定装置１０について説明する。本実施形態では、出力軸ＳにエンコーダＥＳが設けられていない場合について説明する。なお、モータ駆動システム１００の構成及び動作は、第１実施形態と同様である。また、駆動系Ｄの構成は、エンコーダＥＳを備えない点を除き、第１実施形態と同様である。
【００８８】
まず、本実施形態におけるステップＳ１０１〜Ｓ１０３について説明する。本実施形態において、まず、モータ制御部１は、ダブルモータコントローラ９を制御し、モータＭ１，Ｍ２に初期化電圧Ｖ１２，Ｖ２２を印加する（ステップＳ１０１）。初期化電圧Ｖ１２，Ｖ２２は、モータＭ１，Ｍ２に反対方向かつ大きさが等しいトルクＴ１，Ｔ２を発生させる電圧である。初期化電圧Ｖ１２，Ｖ２２は、モータＭ１，Ｍ２の剛性ｋ１，ｋ２が高剛性領域に含まれるように予め設定される。初期化電圧Ｖ１２，Ｖ２２の印加は、バックラッシュ制御に相当する。このとき、Ｔ１＝Ｔ２であるため、Ｔｏｕｔは０である。すなわち、出力軸Ｓは停止している。
【００８９】
より詳細には、モータＭ１に予め設定された初期化電圧Ｖ１２を印加し、モータＭ２に反対方向の小さい電圧を印加し、当該電圧を徐々に大きくしていく。モータ制御部１は、エンコーダＥ１，Ｅ２の値を監視することにより、出力軸Ｓが停止する（Ｔ１＝Ｔ２となる）までモータＭ２に印加する電圧を大きくする。出力軸Ｓが停止した際のモータＭ２の電圧が初期化電圧Ｖ２２に相当する。これにより、モータ制御部１は、モータＭ１，Ｍ２に初期化電圧Ｖ１２，Ｖ２２を印加できる。
【００９０】
次に、トルク算出部７は、初期化電圧Ｖ１２，Ｖ２２を印加中のモータＭ１，Ｍ２の角度を、基準角度θ１４，θ２４としてエンコーダＥ１，Ｅ２から取得する（ステップＳ１０２）。ここで取得される基準角度θ１４，θ２４は、図４の高剛性領域に含まれる角度となる。
【００９１】
その後、モータ制御部１は、ダブルモータコントローラ９を制御し、出力軸Ｓの駆動を開始する（ステップＳ１０３）。
【００９２】
ここで、第１実施形態との相違点について説明する。第１実施形態では、モータ制御部１は、エンコーダＥＳの値を監視し、出力軸Ｓを基準角度（θｏｕｔ＝０）で停止させた。このため、θｏｕｔ＝０のときの角度θ１，θ２が基準角度θ１１，θ２１として取得され、式（２），（３）が成り立った。
【００９３】
これに対して、本実施形態では、エンコーダＥＳが利用できないため、初期化電圧Ｖ１２，Ｖ２２の印加時に、出力軸Ｓがどこで停止するかわからない。すなわち、図９の例のように、出力軸Ｓがずれた角度で停止する可能性がある。このため、θｏｕｔ≠０のときの角度θ１，θ２が基準角度θ１４，θ２４として取得される。結果として、図９の例と同様に、トルクＴ１，Ｔ２について、式（１４），（１５）が成立する。以上のことを前提として、以下、本実施形態における推定方法について説明する。
【００９４】
（第６の推定方法）
第６の推定方法は、剛性ｋ１１，ｋ２１が剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。
【００９５】
第１実施形態と同様に、初期化電圧Ｖ１２，Ｖ２２の印加時には、Ｔ１＝Ｔ２となっている。したがって、式（１４），（１５）より、以下の式が成り立つ。
【００９６】
ｋ１１×（θ１＋Ｎ×θｏｕｔ）＝ｋ２１×（θ２−Ｎ×θｏｕｔ）・・・（１７）
【００９７】
式（１７）をθｏｕｔについて整理すると、以下のようになる。
【００９８】
θｏｕｔ＝（ｋ２１×θ２−ｋ１１×θ１）／｛Ｎ（ｋ１１＋ｋ２１）｝・・・（１８）
【００９９】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１）と、角度θ１，θ２と、に基づいて、式（１８）より、出力軸Ｓの角度θｏｕｔを算出することができる。
【０１００】
また、式（１８）を式（１４），（１５）に代入すると、以下のようになる。
【０１０１】
Ｔ１＝Ｔ０＋ｋ１１×｛θ１＋（ｋ２１×θ２−ｋ１１×θ１）／（ｋ１１＋ｋ２１）｝・・・（１９）
Ｔ２＝Ｔ０＋ｋ２１×｛θ２−（ｋ２１×θ２−ｋ１１×θ１）／（ｋ１１＋ｋ２１）｝・・・（２０）
【０１０２】
式（１）を変形し、式（１９），（２０）を代入すると、以下のようになる。
【０１０３】
Ｔｏｕｔ＝Ｔ１−Ｔ２＝Ｔ０＋ｋ１１×｛θ１＋（ｋ２１×θ２−ｋ１１×θ１）／（ｋ１１＋ｋ２１）｝−［Ｔ０＋ｋ２１×｛θ２−（ｋ２１×θ２−ｋ１１×θ１）／（ｋ１１＋ｋ２１）｝］
＝ｋ１１×θ１−ｋ２１×θ２＋（ｋ１１−ｋ２１）×（ｋ２１×θ２−ｋ１１×θ１）／（ｋ１１＋ｋ２１）・・・（２１）
【０１０４】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１）と、角度θ１，θ２と、に基づいて、式（２１）により、トルクＴｏｕｔを算出できる。
【０１０５】
（第７の推定方法）
第７の推定方法は、剛性ｋ１１，ｋ２１及び係数βが剛性情報として剛性情報記憶部６に予め記憶されている場合に利用できる。
【０１０６】
出力軸Ｓに外力が加えられた場合、第５の推定方法と同様に、式（１６）が成り立つ。式（１６）をθｏｕｔについて整理すると、以下のようになる。
【０１０７】
θｏｕｔ＝（ｋ２１×θ２−ｋ１１×θ１＋Ｔｏｕｔ）／｛Ｎ（ｋ１１＋ｋ２１）｝・・・（２２）
【０１０８】
一方、モータＭ１，Ｍ２の停止時には、以下の式が成り立つ。
【０１０９】
Ｔ１＝Ｋｔ１×Ｖ１／Ｒ１・・・（２３）
Ｔ２＝Ｋｔ２×Ｖ２／Ｒ２・・・（２４）
【０１１０】
式（２３）におけるＫｔ１、Ｖ１、及びＲ１は、それぞれモータＭ１のトルク係数、電圧、コイル抵抗である。また、式（２４）におけるＫｔ２、Ｖ２、及びＲ２は、それぞれモータＭ２のトルク係数、電圧、コイル抵抗である。式（１）を変形し、式（２３），（２４）を代入すると、以下のようになる。
【０１１１】
Ｔｏｕｔ＝Ｔ１−Ｔ２＝Ｋｔ１×Ｖ１／Ｒ１−Ｋｔ２×Ｖ２／Ｒ２＝（Ｖ１−α×Ｖ２）×β・・・（２５）
【０１１２】
式（２４）の係数αは、Ｔｏｕｔ＝０となる電圧Ｖ１，Ｖ２の比であるため、初期化電圧Ｖ１２，Ｖ２２の比に相当する（α＝Ｖ２２／Ｖ１２）。また、式（２４）の係数βは、Ｋｔ１／Ｒ１に相当する。ベータは、実験により予め求められる。
【０１１３】
したがって、トルク算出部７は、剛性情報（剛性ｋ１１，ｋ２１及び係数β）と、係数αと、角度θ１，θ２と、電圧Ｖ１，Ｖ２と、に基づいて、式（２５）により、トルクＴｏｕｔを算出できる。また、トルク算出部２４は、式（２２），（２５）より、出力軸Ｓの角度θｏｕｔを算出できる。
【０１１４】
以上説明した通り、本実施形態によれば、ダブルモータ制御により出力軸Ｓに加えられたトルクＴｏｕｔを、角度θ１，θ２及び剛性情報に基づいて、高精度に推定することができる。また、トルクＴｏｕｔを推定するために、トルクセンサ及びエンコーダＥＳが不要であるため、トルクＴｏｕｔの推定に要するコストを低減すると共に、推定精度を向上させるための伝達系Ｇ１，Ｇ２の剛性の低下を抑制することができる。
【０１１５】
＜第３実施形態＞
第３実施形態に係るトルク推定装置１０について説明する。本実施形態では、剛性比Ｋの算出方法について説明する。なお、モータ駆動システム１００の構成及び動作は、第１実施形態と同様である。
【０１１６】
（第１の算出方法）
第１の算出方法は、出力軸ＳにエンコーダＥＳが設けられている場合に利用できる。第１の算出方法では、モータ制御部１は、モータＭ１，Ｍ２に初期化電圧Ｖ１１，Ｖ２１を印加し、基準角度θ１１，θ２１を取得した後、出力軸Ｓが基準角度（θｏｕｔ＝０）で停止するように、モータＭ１，Ｍ２に初期化電圧Ｖ１１，Ｖ２１とは異なる電圧をそれぞれ印加する。そして、トルク算出部７は、出力軸Ｓの停止時のモータＭ１，Ｍ２の角度θ１５，θ２５を取得する。このとき、Ｔｏｕｔ＝０であるため、式（４）より、以下の式が成り立つ。
【０１１７】
０＝ｋ１１×θ１５−ｋ２１×θ２５・・・（２６）
【０１１８】
式（２６）を変形すると、以下のようになる。
【０１１９】
ｋ２１／ｋ１１＝θ１５／θ２５・・・（２７）
【０１２０】
式（２７）より、Ｋ＝θ１５／θ２５であることがわかる。このように、トルク算出部７は、出力軸Ｓが基準角度で停止した際の角度θ１５，θ２５に基づいて、剛性比Ｋを算出することができる。
【０１２１】
（第２の算出方法）
第２の算出方法は、出力軸ＳにエンコーダＥＳが設けられていない場合に利用できる。第２の算出方法では、モータ制御部１は、モータＭ１，Ｍ２に初期化電圧Ｖ１２，Ｖ２２を印加し、基準角度θ１４，θ２４を取得した後、電磁ブレーキなどにより、出力軸Ｓを固定する。出力軸Ｓの固定は、作業者が手作業で行ってもよい。
【０１２２】
出力軸Ｓの固定後、モータ制御部１は、初期化電圧Ｖ１２，Ｖ２２をモータＭ１，Ｍ２に再度印加する。トルク算出部７は、初期化電圧Ｖ１２，Ｖ２２の再度の印加時におけるモータＭ１，Ｍ２の角度θ１６，θ２６を取得する。第１の算出方法と同様に、初期化電圧Ｖ１２，Ｖ２２の再度の印加時には、式（２７）が成り立つため、トルク算出部７は、角度θ１６，θ２６に基づいて、エンコーダＥＳを利用することなく、剛性比Ｋを算出することができる（Ｋ＝θ１６／θ２６）。
【０１２３】
以上説明した通り、本実施形態によれば、トルク算出部７は、モータＭ１，Ｍ２に所定の電圧を印加した際の角度θ１，θ２に基づいて、剛性比Ｋを算出することができる。剛性比Ｋは、予め算出され、剛性情報記憶部６に保存されていてもよいし、モータＭ１，Ｍ２を駆動する毎に算出されてもよい。後者の場合、初期化電圧の印加後の任意のタイミングで、トルク算出部７は剛性比Ｋを算出することができる。
【０１２４】
＜第４実施形態＞
第４実施形態に係るトルク推定装置１０について、図１０を参照して説明する。本実施形態では、４つのモータＭにより、１つの出力軸Ｓを駆動する場合について説明する。なお、モータ駆動システム１００の構成及び動作は、第１実施形態と同様である。
【０１２５】
図１０は、本実施形態における駆動系Ｄの一例を示す図である。図１０の駆動系Ｄは、モータＭ１ａ，Ｍ１ｂ，Ｍ２ａ，Ｍ２ｂと、ギアｇ１，ｇ２と、出力軸Ｓと、を備える。モータＭ１ａ，Ｍ１ｂは、ギアｇ１を駆動する。モータＭ２ａ，Ｍ２ｂは、ギアｇ２を駆動する。ギアｇ１，ｇ２は、出力軸Ｓを駆動する。すなわち、各モータＭ１ａ，Ｍ１ｂ，Ｍ２ａ，Ｍ２ｂは、２段階の伝達系を介して、出力軸Ｓを駆動する。
【０１２６】
本実施形態では、トルク推定装置１０は、モータＭ１ａ，Ｍ１ｂの角度θ１ａ，θ１ｂに基づいて、ギアｇ１に加えられたトルクＴｇ１を推定できる。また、トルク推定装置１０は、モータＭ２ａ，Ｍ２ｂの角度θ２ａ，θ２ｂに基づいて、ギアｇ２に加えられたトルクＴｇ２を推定できる。ギアｇ１から出力軸Ｓへの減速比をＮ１、ギアｇ２から出力軸Ｓへの減速比をＮ２とすると、出力軸Ｓに加えられるトルクＴｏｕｔは以下の式で表される。
【０１２７】
Ｔｏｕｔ＝Ｔｇ１×Ｎ１＋Ｔｇ２×Ｎ２・・・（２８）
【０１２８】
したがって、トルク推定装置１０は、角度θ１ａ，θ１ｂ，θ２ａ，θ２ｂに基づいて、式（２８）より、トルクＴｏｕｔを推定することができる。
【０１２９】
なお、図１０の例では、駆動系Ｄは２段階の伝達系を備えるが、３段階以上の伝達系を備えてもよい。例えば、駆動系Ｄが３段階の伝達系を備える場合、出力軸Ｓは、８つのモータＭにより駆動される。この場合、トルク推定装置１０は、８つのモータＭの角度θに基づいて、出力軸Ｓに加えられたトルクを推定することができる。
【０１３０】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３１】
１：モータ制御部
２：ＰＩＤ制御部
３Ａ，３Ｂ：印加電圧算出部
４Ａ，４Ｂ：ＰＷＭ生成部
５Ａ，５Ｂ：駆動部
６：剛性情報記憶部
７：トルク算出部
８：異常検知部
９：ダブルモータコントローラ
１０：トルク推定装置
【先行技術文献】
【特許文献】
【０１３２】
【特許文献１】国際公開第２０１４／０９８００８号
【図１】
2019090725.tif 000003
【図２】
2019090725.tif 000004
【図３】
2019090725.tif 000005
【図４】
2019090725.tif 000006
【図５】
2019090725.tif 000007
【図６】
2019090725.tif 000008
【図７】
2019090725.tif 000009
【図８】
2019090725.tif 000010
【図９】
2019090725.tif 000011
【図１０】
2019090725.tif 000012