(57)【要約】【課題】パワーアシスト装置が、より少ないセンサで使用者の意図に応じた動作を行えるようにする。【解決手段】制御装置が、歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する識別部と、前記識別部による識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御するトルク制御部と、を備える。【選択図】図４
2020028963.tif 000002
【特許請求の範囲】
【請求項１】
歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する識別部と、
前記識別部による識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御するトルク制御部と、
を備える制御装置。
【請求項２】
前記識別部は、摩擦分が減算された外力推定値に基づいて、前記使用者の動作または停止の意図を識別する、
請求項１に記載の制御装置。
【請求項３】
前記識別部は、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方と、前記使用者の動作または停止の意図との関係を機械学習する、
請求項１または請求項２に記載の制御装置。
【請求項４】
請求項１から３の何れか一項に記載の制御装置を備えるパワーアシスト装置。
【請求項５】
歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する工程と、
前記使用者の動作または停止の意図の識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御する工程と、
を含む制御方法。
【請求項６】
コンピュータに、
歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する工程と、
前記使用者の動作または停止の意図の識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御する工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、パワーアシスト装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
人の動作を補助するパワーアシスト装置の研究開発および実用化が進められている。例えば、特許文献１には、使用者の上腕の屈曲動作を補助するパワーアシスト装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２０９７６５号公報
【特許文献２】国際公開第２０１７／２１３１５１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
パワーアシスト装置が、より少ないセンサで使用者の意図に応じた動作を行うことが、構成の簡単化、着脱の容易性、低価格化および軽量化の観点から好ましい。
例えば、特許文献１に記載のパワーアシスト装置では、使用者の左右の三角筋の中部位置の皮膚表面、および、使用者の左右の二頭筋の位置の皮膚表面のそれぞれに、筋電センサが貼着される。このパワーアシスト装置は、二頭筋の筋電位の変化によって使用者の前腕の屈曲動作を検出し、補助する。また、このパワーアシスト装置は、三角筋の筋電位の変化によって使用者の上腕の屈曲動作を検出し、補助する。この筋電位センサを不要にすることができれば、パワーアシスト装置の装着時に使用者に筋電位センサを貼着する手間がかからず、また、筋電位センサの分の低価格化および軽量化を図ることができる。
【０００５】
特許文献２に開示されているような高バックドライバビリティの減速機をパワーアシスト装置に用いた構成では、モータ等の駆動装置の回転角度に関する情報、あるいは負荷側回転部の回転角度に関する情報を用いて、筋電位センサを不要にすることができる。一方、減速機の高バックドライバビリティのために目標の角度で停止せず、使用者の意図によらない振動が発生してしまうという新たな課題が見出された。
【０００６】
本発明の目的の１つは、パワーアシスト装置に、より少ないセンサで使用者の意図に応じた動作を行わせることができる、制御装置、パワーアシスト装置、制御方法およびプログラムを提供することである。
本発明の目的のもう１つは、使用者の意図によらない振動を抑制することができる、制御装置、パワーアシスト装置、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、制御装置は、歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する識別部と、前記識別部による識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御するトルク制御部と、を備える。
【０００８】
前記識別部は、摩擦分が減算された外力推定値に基づいて、前記使用者の動作または停止の意図を識別するようにしてもよい。
【０００９】
前記識別部は、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方と、前記使用者の動作または停止の意図との関係を機械学習するようにしてもよい。
【００１０】
本発明の第２の態様によれば、パワーアシスト層落ちは、上記した何れかの制御装置を備える。
【００１１】
本発明の第３の態様によれば、制御方法は、歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する工程と、前記使用者の動作または停止の意図の識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御する工程と、を含む。
【００１２】
本発明の第４の態様によれば、プログラムは、コンピュータに、歯車で連結された駆動側回転部および負荷側回転部について、前記駆動側回転部の回転角度に関する情報、および、前記負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する工程と、前記使用者の動作または停止の意図の識別結果に基づいて、前記駆動側回転部を回転させる駆動装置のトルクを制御する工程と、を実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、パワーアシスト装置が、より少ないセンサで使用者の意図に応じた動作を行うことができる。
また、本発明によれば、使用者の意図によらない振動を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るパワーアシスト装置の構成例を示す概略ブロック図である。
【図２】実施形態に係るパワーアシスト装置本体の構成例を示す概略図である。
【図３】実施形態に係る制御装置の機能構成例を示す概略ブロック図である。
【図４】実施形態に係る制御装置によるパワーアシスト装置本体の制御の例を示すブロック線図である。
【図５】クーロン摩擦の例を示すグラフである。
【図６】実施形態に係る識別部による機械学習の結果の例を示すグラフである。
【図７】実施形態で、使用者の意図が「停止」の領域、および、使用者の意図が「動作」の領域の例を示すグラフである。
【図８】実施形態に係るパワーアシスト装置本体が、駆動側角度センサおよび負荷側角度センサのうち駆動側角度センサのみを備える場合の、制御装置によるパワーアシスト装置本体の制御の例を示すブロック線図である。
【図９】実施形態に係るパワーアシスト装置本体、駆動側角度センサおよび負荷側角度センサのうち負荷側角度センサのみを備える場合の、制御装置によるパワーアシスト装置本体の制御の例を示すブロック線図である。
【図１０】実施形態に係る実験に用いられたパワーアシスト装置本体の構成例を示す概略図である。
【図１１】実施形態に係るトルク推定部による外部トルクの推定結果の例を示すグラフである。
【図１２】実施形態に係る識別部による使用者の意図の識別結果の例を示すグラフである。
【図１３】実施形態に係るパワーアシスト装置が、識別部による使用者の意図の識別結果を用いずに使用者の動作に対する補助を行った動作例を示すグラフである。
【図１４】実施形態に係るパワーアシスト装置が、識別部による使用者の意図の識別結果を用いて使用者の動作に対する補助を行った動作例を示すグラフである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、実施形態に係るパワーアシスト装置の構成例を示す概略ブロック図である。図１に示す構成で、パワーアシスト装置１は、パワーアシスト装置本体１００と、制御装置２００とを備える。
【００１６】
パワーアシスト装置１は、人（パワーアシスト装置１の使用者）の動作を補助する。パワーアシスト装置１の使用者を、単に使用者と称する。
使用者は、使用者自らの体のうち補助対象の部分にパワーアシスト装置１（特に、パワーアシスト装置本体１００）を装着して使用する。パワーアシスト装置１が、使用者の動作によってパワーアシスト装置１に加えられる力を検出し、同様の力を出力することで、使用者自らは大きな力を出す必要無しに、所望の動作を行うことができる。
パワーアシスト装置１による補助対象の部分は特定の部分に限定されない。例えば、パワーアシスト装置１が、使用者の腕の動作を補助するようにしてもよいし、脚の動作を補助するようにしてもよい。あるいは、パワーアシスト装置１が使用者の全身の動作を補助するようにしてもよい。
【００１７】
パワーアシスト装置本体１００は、制御装置２００の制御に従って、使用者の動作の補助を実行する。
制御装置２００は、パワーアシスト装置本体１００を制御する。特に、制御装置２００は、パワーアシスト装置本体１００のセンサ測定値に基づいて、パワーアシスト装置本体１００による補助のＯＮ／ＯＦＦ（補助の有無）、および、補助ＯＮの場合に制御装置２００が出力する力（モータ等の駆動装置のトルク）の大きさを制御する。制御装置２００は、例えばマイコン（Microcomputer）、パソコン（Personal Computer）またはＥＷＳ（Engineering Workstation）などのコンピュータを用いて構成される。
パワーアシスト装置本体１００と制御装置２００とが一体的に構成されていてもよいし、別々の装置として構成されていてもよい。
【００１８】
図２は、パワーアシスト装置本体１００の構成例を示す概略図である。図２に示す構成で、パワーアシスト装置本体１００は、駆動装置１１１と、駆動側角度センサ１１２と、駆動側入力軸１１３と、減速機１３０と、負荷側出力軸１２２と、リンク１２３と、負荷側角度センサ１２４とを備える。減速機１３０は、駆動側歯車１１４と、負荷側歯車１２１とを備える。
駆動装置１１１は、制御装置２００の制御に従ってトルク（回転力）を出力する。以下では、駆動装置１１１がモータである場合を例に説明するが、これに限定されない。
【００１９】
駆動側角度センサ１１２は、駆動装置１１１の回転角度を測定する。
駆動側入力軸１１３は、２つの端部のうち、一方の端部を駆動装置１１１に接続され、もう一方の端部を駆動側歯車１１４に接続されている。駆動側入力軸１１３は、駆動装置１１１の回転によって回転駆動され、駆動側歯車１１４を回転させる。これにより、駆動側入力軸１１３は、駆動装置１１１が出力するトルクを駆動側歯車１１４に伝達する。
【００２０】
減速機１３０では、駆動側歯車１１４と負荷側歯車１２１とが噛み合わさっており、駆動側歯車１１４が回転することで負荷側歯車１２１が回転する。これにより、減速機１３０は、駆動側回転部１１０側のトルクを負荷側回転部１２０側へ伝達する。
負荷側出力軸１２２は、２つの端部のうち、一方の端部を負荷側歯車１２１に接続され、もう一方の端部をリンク１２３に接続されている。負荷側出力軸１２２は、負荷側歯車１２１の回転によって回転駆動され、リンク１２３を回転させる。これにより、負荷側出力軸１２２は、負荷側歯車１２１によるトルクをリンク１２３に伝達する。
【００２１】
リンク１２３は、使用者の動作を補助する。例えば、リンク１２３は、膝の部分に装着され、膝の動作を補助する。この場合、使用者が膝を動かす（曲げ伸ばしする）と、膝の動きを検出した制御装置２００が、駆動装置１１１を回転させることで、リンク１２３を使用者の動作と同じ方向に回転させる。これにより、使用者は、より小さい力で膝を動かすことができる。
負荷側角度センサ１２４は、リンク１２３の回転角度を検出する。
【００２２】
駆動装置１１１と、駆動側入力軸１１３と、駆動側歯車１１４との組み合わせを駆動側回転部１１０と称する。負荷側歯車１２１と、負荷側出力軸１２２と、リンク１２３との組み合わせを負荷側回転部１２０と称する。駆動側回転部１１０と負荷側回転部１２０とは、減速機１３０の歯車（駆動側歯車１１４および負荷側歯車１２１）で連結されている。駆動側角度センサ１１２が測定する駆動装置１１１の回転角度は、駆動側回転部１１０の回転角度でもある。負荷側角度センサ１２４が測定するリンク１２３の回転角度は、負荷側回転部１２０の回転角度でもある。
【００２３】
パワーアシスト装置本体１００の構成は、図２に示す構成に限定されない。パワーアシスト装置本体１００の構成として、駆動装置１１１が出力するトルクが減速機１３０を介してリンク１２３へ伝達されるいろいろな構成を用いることができる。例えば、図１０を参照して後述する構成のように、駆動装置１１１と減速機１３０との間に平歯車が設けられていてもよい。また、減速機１３０とリンク１２３との間にカップリングが設けられていてもよい。
後述するように、パワーアシスト装置本体１００が、駆動側角度センサ１１２および負荷側角度センサ１２４のうち何れか一方のみを備えていてもよい。
【００２４】
図３は、制御装置２００の機能構成例を示す概略ブロック図である。図３に示す構成で、制御装置２００は、通信部２１０と、記憶部２８０と、制御部２９０とを備える。制御部２９０は、トルク推定部２９１は、識別部２９２と、トルク制御部２９３とを備える。
通信部２１０は、他の機器と通信を行う。特に、通信部２１０は、パワーアシスト装置本体１００とのインタフェースとして機能して、駆動側角度センサ１１２による駆動側回転部１１０の回転角度測定値、および、負荷側角度センサ１２４による負荷側回転部１２０の回転角度測定値を取得する。また、通信部２１０は、駆動装置１１１の回転を制御するための制御信号をパワーアシスト装置本体１００へ出力する。
記憶部２８０は、各種情報を記憶する。記憶部２８０は、制御装置２００が備える記憶デバイスを用いて構成される。
【００２５】
制御部２９０は、制御装置２００の各部を制御して各種処理を実行する。制御部２９０は、制御装置２００が備えるＣＰＵ（Central Processing Unit,中央処理装置）が、記憶部２８０からプログラムを読み出して実行することで構成される。
トルク推定部２９１は、外部トルクを推定する。ここでいう外部トルクは、パワーアシスト装置１の外部から加えられるトルクであり、使用者によって加えられるトルクとみなされる。
【００２６】
識別部２９２は、駆動側回転部１１０の回転角度に関する情報、および、負荷側回転部１２０の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する。ここでいう回転角度に関する情報は、回転角度、角速度、角加速度の何れであってもよい。何れの場合も、微分または積分によって、回転角度、角速度、角加速度の何れも算出可能である。
【００２７】
トルク推定部２９１が、外力推定値の算出時に摩擦分のトルクを減算して算出し、識別部２９２が、摩擦分のトルクが減算された外力推定値に基づいて、使用者の動作または停止の意図を識別するようにしてもよい。
トルク推定部２９１が推定する外力から摩擦の影響が除去されている点で、トルク推定部２９１は、使用者による外力をより高精度に推定することができる。識別部２９２は、この外力推定値を用いて使用者の意図を識別することで、使用者の意図をより高精度に推定できる。
【００２８】
また、トルク推定部２９１による外力推定値から摩擦分のトルクが減算されていることで、パワーアシスト装置１が使用者の動作を補助する際に摩擦の相殺を行わない。パワーアシスト装置本体１００に摩擦が残ることで、使用者の不随による微小な動作が摩擦によってキャンセルされ、これによって使用者の動作が安定する。
【００２９】
識別部２９２が、駆動側回転部１１０の回転角度に関する情報、および、負荷側回転部１２０の回転角度に関する情報のうち少なくともいずれか一方と、使用者の動作または停止の意図との関係を機械学習し、学習結果に基づいて使用者の動作または停止の意図を識別するようにしてもよい。
これにより、人手（パワーアシスト装置１の調整作業者）は、使用者の意図の識別のための情報を入力する必要がなく、人手による負担を軽減することができる。
【００３０】
トルク制御部２９３は、識別部２９２による識別結果に基づいて、駆動側回転部１１０を回転させる駆動装置１１１のトルクを制御する。例えば、トルク制御部２９３は、識別部２９２が使用者の意図を「動作」と識別した場合、パワーアシスト装置１による補助をＯＮにする。また、トルク制御部２９３は、識別部２９２が使用者の意図を「停止」と識別した場合、パワーアシスト装置１による補助をＯＦＦにする。これにより、パワーアシスト装置１は、後述するように使用者の意図によらない振動を抑制できるなど、使用者の動作をより高精度に補助することができる。
【００３１】
図４は、制御装置２００によるパワーアシスト装置本体１００の制御の例を示すブロック線図である。図４では、パワーアシスト装置本体１００のモデルと、制御装置２００が行う制御のモデルとがブロック図で示されている。パワーアシスト装置本体１００のモデルは、ノード３１１〜３１８を用いて構成される。制御装置が行う制御のモデルは、ノード３２１〜３３２を用いて構成される。
ここで、パワーアシスト装置本体１００を駆動側回転部１１０および負荷側回転部１２０の２慣性系モデルとしてモデル化すると、駆動側回転部１１０の運動方程式は式（１）のように示される。
【００３２】
【数１】
2020028963.tif 000003
【００３３】
ＪＭは、駆動側回転部１１０の慣性モーメントを示す。θＭ’’は、駆動側回転部１１０の角加速度（駆動装置１１１の回転軸の角加速度）を示す。なお、θＭは駆動側回転部１１０の角度（回転角度、回転位置）を示す。また、微分を「’」で示し、二階微分を「’’」で示す。
また、τＭは、駆動側回転部１１０の発生トルクを示す。Ｎは、減速機１３０の減速比を示す。Ｎ≪１、すなわち、Ｎは１よりも十分小さいものとする。
τｆは、駆動装置１１１側の入力軸の外乱トルク（主に摩擦トルク）を示す。
τｓは、減速機１３０の歯車のたわみを線形ばねと見立てたときのばね力（軸トルク）を示す。このばね力τｓは、式（２）のように示される。
【００３４】
【数２】
2020028963.tif 000004
【００３５】
Ｋｓは、ばね定数を示す。
図４では、ノード３１１、３１２および３１３にて式（１）を示している。ノード３１３等の「ｓ」はラプラス演算子（時間微分オペレータ）を示す。また、「１／ｓ」は積分を示す。
また、ノード３１４〜３１６にて式（２）を示している。
ノード３１４〜３１６のうちノード３１４および３１５にて、駆動側入力軸１１３の角度を出力軸換算した角度と、負荷側出力軸１２２の角度との差を示す。ここでいう出力軸換算は、減速機１３０による変換後の角度への換算である。
この差は、式（３）のように示される。
【００３６】
【数３】
2020028963.tif 000005
【００３７】
式（１）の右辺（τＭ−（１／Ｎ）τｓ−τｆ）は、駆動側回転部１１０側の入力軸を駆動するトルクを示す。式（１）の右辺は、ノード３１１〜３１３のうちノード３１１および３１２によって示されている。
また、負荷側回転部１２０の運動方程式は式（４）のように示される。
【００３８】
【数４】
2020028963.tif 000006
【００３９】
ＪＬは、負荷側回転部１２０の慣性モーメントを示す。θＬ’’は、負荷側回転部１２０の回転軸の角加速度を示す。なお、θＬは負荷側回転部１２０の回転軸の角度（回転角度）を示す。
τｄは、負荷側回転部１２０に加わる負荷トルクを示す。
図４では、ノード３１７および３１８にて式（４）を示している。
式（４）の右辺（τｓ−τｄ）は、負荷側回転部１２０側の出力軸を駆動するトルクを示す。式（４）の右辺は、ノード３１７および３１８のうちノード３１７によって示されている。
【００４０】
ノード３２１〜３２３にて摩擦トルクτ＊ｆの計算モデルを示す。この計算モデルは、式（５）のように示される。
【００４１】
【数５】
2020028963.tif 000007
【００４２】
Ｄは、粘性摩擦係数を示す。τｃは、クーロン摩擦を示す。
なお、ノード３２３の出力は、摩擦トルクτ＊ｆにＮを乗算して負荷側のトルクに換算したＮτ＊ｆとなっている。
図５は、クーロン摩擦の例を示すグラフである。図５のグラフの横軸は角速度を示し、縦軸はトルクを示す。グラフの点（ドット）はクーロン摩擦の測定値の例を示し、線は測定値に基づくモデルを示す。
図５に示されるように、クーロン摩擦のモデルは、角速度の入力に対してトルクを出力する関数として構成される。
ノード３２１〜３２３のうちノード３２３にクーロン摩擦のモデルを実装する。
【００４３】
ノード３２１〜３３０にて外力推定の過程を示す。外力推定のために、まず、式（１）および式（４）からばね力τｓ（軸トルク）を消去して式（６）を得らえる。
【００４４】
【数６】
2020028963.tif 000008
【００４５】
式（６）のτｄをローパスフィルタＱ（ｓ）に通したτ＊ｄは、式（７）のように示される。
【００４６】
【数７】
2020028963.tif 000009
【００４７】
ノード３２１〜３３０は、この式（７）の演算を行う。
ノード３２４の「ＪＭｎ」は、駆動側回転部１１０の慣性モーメントＪＭのノミナル値を示す。ノード３２６の「ＪＬｎ」は、負荷側回転部１２０の慣性モーメントＪＬのノミナル値を示す。
τｄをローパスフィルタＱ（ｓ）に通すのは、センサから得られた角度測定値を微分するとノイズが顕著になるので、ノイズを減らすためである。ローパスフィルタＱ（ｓ）として、式（８）で示されるような一次のローパスフィルタを用いるようにしてもよし、より高次のローパスフィルタを用いるようにしてもよい。
【００４８】
【数８】
2020028963.tif 000010
【００４９】
ωｃは、カットオフ周波数ｆＣを換算した角周波数であり、ωＣ＝２πｆｃである。
ノード３２１〜３３０のうちノード３２１、３２２および３２４にて、式（９）に示されるように、駆動側回転部１１０の回転角度（駆動装置１１１の回転角度）を駆動側回転部１１０のトルクに換算し、さらにＮを乗算することで、駆動側回転部１１０側のトルクから負荷側回転部１２０側のトルクに換算する。
【００５０】
【数９】
2020028963.tif 000011
【００５１】
ＪＭｎは、駆動側回転部１１０の慣性モーメントＪＭのノミナル値を示す。
ノード３２５および３２６にて、式（１０）に示されるように、負荷側回転部１２０の回転角度（リンク１２３の回転角度）を負荷側回転部１２０のトルクに換算する。
【００５２】
【数１０】
2020028963.tif 000012
【００５３】
ＪＬｎは、負荷側回転部１２０の慣性モーメントＪＬのノミナル値を示す。
【００５４】
ノード３３１の処理は、識別部２９２の処理の例に該当する。ノード３３１は、ローパスフィルタＱ（ｓ）適用後の負荷トルク推定値τ＊ｄと、駆動装置１１１の角速度θ’Ｍとの入力を受けて、使用者が「停止」、「動作」の何れを意図しているか、使用者の意図の識別結果を出力する。
図４では、サポートベクタマシン（Support Vector Machine；ＳＶＭ）を用いて識別部２９２を構成する場合の例を示している。この場合、識別部２９２は、負荷トルク推定値τ＊ｄ、角速度θ’Ｍ、および、使用者の意図が「停止」か「動作」かの正解データの入力を受けて、負荷トルク推定値τ＊ｄおよび角速度θ’Ｍと、使用者の意図との関係を機械学習する。
【００５５】
図６は、識別部２９２による機械学習の結果の例を示すグラフである。図６のグラフの横軸は角速度を示し、縦軸はトルク推定値を示す。使用者の意図が「停止」である学習用データを三角（△）で示し、使用者の意図が「動作」である学習用データを丸（○）で示している。識別部２９２は、領域Ａ１１では、使用者の意図が「停止」であり、領域Ａ１２では使用者の意図が「動作」であると機械学習している。
【００５６】
ノード３３２および３３３の処理は、トルク制御部２９３の処理の例に該当する。
ノード３３２は、ノード３３１（識別部２９２）による識別結果に基づいて、使用者の動作に対する補助動作のＯＮ／ＯＦＦ（補助動作の有無）を切り替える。ノード３３１で使用者の意図が「動作」であると識別された場合、ノード３３２は、補助動作ＯＮに設定する。ノード３３１で使用者の意図が「停止」であると識別された場合、ノード３３２は、補助動作ＯＦＦに設定する。
ノード３３２の処理は、式（１１）のように示される。
【００５７】
【数１１】
2020028963.tif 000013
【００５８】
ＫＡｓｓｉｓｔは、補助の有無を切り替えるための係数である。ノード３３２がＫＡｓｓｉｓｔの値を１に設定することで補助動作ＯＮになり、ＫＡｓｓｉｓｔの値を０に設定することで補助動作ＯＦＦになる。ＫＡｓｓｉｓｔをアシストゲインと称する。
ｃｌａｓｓは、ノード３３１がユーザの意図を識別するクラスである。ｃｌａｓｓ＝１は、使用者の意図が「動作」であるクラスを示す。ｃｌａｓｓ＝０は、使用者の意図が「停止」であるクラスを示す。図６の例では、領域Ａ１１がｃｌａｓｓ＝０のクラスに該当し、領域Ａ１２がｃｌａｓｓ＝１のクラスに該当する。
ノード３３３は、減速機１３０のギア比（減速比）に応じてトルクを換算するためのノードである。ノード３３３は、アシストゲインＫＡｓｓｉｓｔ乗算後の負荷トルク推定値τ＊ｄに１／Ｎを乗算することで、負荷側回転部１２０側のトルクから駆動側回転部１１０側のトルクに換算する。
ノード３３３の出力は、駆動装置１１１へのトルク指令値のマイナス値を示す。ここでいうマイナス値は、符号のプラスマイナスを逆にした値であり、０からトルク指令値を減算して得られる。このトルク指令値は、駆動装置１１１のトルクτＭとして用いられる。
トルクτＭは、式（１２）のように示される。
【００５９】
【数１２】
2020028963.tif 000014
【００６０】
図４によれば、上述した式（７）の導出は、式（１３）のように示される。
【００６１】
【数１３】
2020028963.tif 000015
【００６２】
式（１３）の１行目の括弧内の「−ＫＡｓｓｉｓｔτ＊ｄ−ｓ２ＮＪＭｎθＭ−ｓ２ＪＬｎθＬ−Ｎτ＊ｆ」は、ノード３２９の出力を示す。これをローパスフィルタに通して、ノード３３０の出力は式（１３）の１行目「Ｑ（ｓ）（−ＫＡｓｓｉｓｔτ＊ｄ−ｓ２ＮＪＭｎθＭ−ｓ２ＪＬｎθＬ−Ｎτ＊ｆ）」のように示される。ノード３３０の出力は、τ＊ｄである。
式（１２）により、式（１３）の１行目は、２行目「Ｑ（ｓ）（ＮτＭ−ｓ２ＮＪＭｎθＭ−ｓ２ＪＬｎθＬ−Ｎτ＊ｆ）」のように書き換えらえる。式（１３）の２行目および３行目により、式（７）が得られる。
【００６３】
識別部２９２に適用する機械学習方式は、サポートベクタマシンに限定されない。負荷トルク推定値τ＊ｄおよび角速度θ’Ｍの入力を受けて、使用者の意図が「停止」か「動作」かを識別可能ないろいろな機械学習方式を識別部２９２に適用可能である。例えば、線形回帰、決定木、ランダムフォレスト、および、ニューラルネットワークのうち何れか、またはこれらの組み合わせを用いて識別部２９２を構成するようにしてもよい。
【００６４】
さらには、識別部２９２を構築する方法は、機械学習を用いる方法に限定されない。例えば、負荷トルク推定値τ＊ｄ、角速度θ’Ｍ、および、使用者の意図が「停止」か「動作」かを示す正解データ（サンプルデータ）に基づいて、人手で、使用者の意図が「停止」の領域と使用者の意図が「動作」の領域との切り分けを行うようにしてもよい。この領域の切り分けの結果を用いて識別部２９２を構成することができる。
【００６５】
図７は、使用者の意図が「停止」の領域、および、使用者の意図が「動作」の領域の例を示すグラフである。図７のグラフの横軸は角速度を示し、縦軸はトルク推定値を示す。使用者の意図が「停止」である学習用データを三角（△）で示し、使用者の意図が「動作」である学習用データを丸（○）で示している。
図７の例では、使用者の意図が「停止」である領域Ａ２１を、使用者の意図が「停止」である学習用データを含み、使用者の意図が「動作」である学習用データを含まない楕円形の領域として設定している。この場合のノード３３１および３３２の処理のテンプレートは、式（１４）のように示される。
【００６６】
【数１４】
2020028963.tif 000016
【００６７】
ａ１、ａ２は、いずれも楕円の軸の長さを示す定数である。図７の例では、ａ１の値を０．０６に設定し、ａ２の値を１．４に設定している。
【００６８】
パワーアシスト装置本体１００が、駆動側角度センサ１１２および負荷側角度センサ１２４のうち何れか一方のみを備えていてもよい。
図８は、パワーアシスト装置本体１００が、駆動側角度センサ１１２および負荷側角度センサ１２４のうち駆動側角度センサ１１２のみを備える場合の、制御装置２００によるパワーアシスト装置本体１００の制御の例を示すブロック線図である。図８では、図４のノード３２４、３２６、３２８および３２９に代えて、ノード３４１〜３４３が設けられている。それ以外の点では図８の構成は、図４の場合と同様である。
【００６９】
ノード３１６のばね定数Ｋｓが十分大きくパワーアシスト装置本体１００を１慣性系とみなせる場合、その等価慣性モーメントはＪＭ＋ＪＬ／Ｎ２と表される。図８では、この等価慣性モーメントがノード３４２にて示される。ノード３４２では、駆動側回転部１１０の慣性モーメントＪＭとしてそのノミナル値ＪＭｎを用い、負荷側回転部１２０の慣性モーメントＪＬとしてそのノミナル値ＪＬｎを用いている。
図８の構成は、この１慣性系に対して駆動側回転部１１０の角度θＭを２階微分して用いる反力推定オブザーバの構成になっている。
図８の例では、負荷トルクの推定値τ＊ｄは、式（１５）のように示される。
【００７０】
【数１５】
2020028963.tif 000017
【００７１】
図８の構成は、式（１５）の３行目（最下行）のように導出される。式（１５）の３行目の「Ｑ（ｓ）」（ローパスフィルタ）は、ノード３３０にて示される。「ＮτＭ」は、ノード３２７およびノード３４３のマイナスにて示される。「ｓ２ＮθＭ」は、ノード３２２および３４１にて示される。「ＪＭｎ＋（１／Ｎ２）ＪＬｎ」は、ノード３４２にて示される。「Ｎτ＊ｆ」は、ノード３２３の出力にて示される。
【００７２】
図９は、パワーアシスト装置本体１００が、駆動側角度センサ１１２および負荷側角度センサ１２４のうち負荷側角度センサ１２４のみを備える場合の、制御装置２００によるパワーアシスト装置本体１００の制御の例を示すブロック線図である。図９では、図４のノード３２４、３２６、３２８および３２９に代えて、ノード３５１〜３５３が設けられている。それ以外の点では図９の構成は、図４の場合と同様である。
【００７３】
図８の例と同様、図９の例でも、ノード３１６のばね定数Ｋｓが十分大きくパワーアシスト装置本体１００を１慣性系とみなせる場合を想定している。図９の構成は、この１慣性系に対して負荷側回転部１２０の角度θＬを２階微分して用いる反力推定オブザーバの構成になっている。
図９の例では、負荷トルクの推定値τ＊ｄは、式（１６）のように示される。
【００７４】
【数１６】
2020028963.tif 000018
【００７５】
図９の構成は、式（１６）の３行目のように導出される。式（１６）の３行目の「Ｑ（ｓ）」（ローパスフィルタ）は、ノード３３０にて示される。「ＮτＭ」は、ノード３２７およびノード３５３のマイナスにて示される。「ｓ２θＬ」は、ノード３２５および３５１にて示される。「Ｎ２ＪＭｎ＋ＪＬｎ」は、ノード３５２にて示される。「Ｎτ＊ｆ」は、ノード３２３の出力にて示される。
【００７６】
パワーアシスト装置本体１００が備えるセンサは、角度センサに限らず、角速度センサ、または、角加速度センサであってもよい。何れのセンサの測定値からも、微分または積分によって角度、角速度、角加速度の何れも得られる。
また、制御装置２００が、角速度に限らず、角度または角加速度に基づいて、使用者の意図を識別することが考えられる。ここで、図４では、制御装置２００が角速度に基づいて使用者の意図が「停止」、「動作」の何れかを判定する場合の例を示している。これに対し、制御装置２００が姿勢制御を行う場合、角度測定値を用いて使用者の意図する姿勢を識別することが考えられる。
従って、パワーアシスト装置本体１００は、駆動側回転部１１０側および負荷側回転部１２０側のうち少なくとも何れか一方に、角度センサ、角速度センサおよび角加速度センサのうち少なくとも何れか１つを備えていればよい。
一方、制御装置２００が、駆動側回転部１１０側のセンサ、および、負荷側回転部１２０側のセンサの両方を用いることで、使用者の動作に対する補助をより高精度に行うことができる。
【００７７】
図４、図８、図９のいずれの構成でも、トルク推定部２９１が外力（負荷トルク推定値τ＊ｄ）を推定する際に、摩擦分のトルク（摩擦トルクτ＊ｆ）を除外して使用者による外力を推定している。図４の場合、ノード３２８にて摩擦トルクτ＊ｆの減算を行い、ノード３２８の出力を用いてノード３２９および３３０にて負荷トルク推定値τ＊ｄを算出している。図８の場合、ノード３４３にて摩擦トルクτ＊ｆの減算を行い、ノード３４３の出力をローパスフィルタのノード３３０に通して負荷トルク推定値τ＊ｄを算出している。図９の場合、ノード３５３にて摩擦トルクτ＊ｆの減算を行い、ノード３５３の出力をローパスフィルタのノード３３０に通して負荷トルク推定値τ＊ｄを算出している。
【００７８】
このように、トルク推定部２９１が外力（外部トルク）を推定する際に、摩擦分のトルクを除外することで、使用者による外力をより高精度に推定することができる。識別部２９２は、この外力推定値を用いて使用者の意図を識別することで、使用者の意図をより高精度に識別することができる。トルク制御部２９３が、この使用者の意図の識別結果を用いて駆動装置１１１のトルクを制御することで、パワーアシスト装置１は、使用者の動作に対する補助をより高精度に行うことができる。
【００７９】
また、パワーアシスト装置１が、摩擦分が除外された使用者による外力に対して動作の補助を行うこと、動作を安定させることができる。
ここで、パワーアシスト装置１が、摩擦分についても使用者の動作を補助することで、使用者がより小さい力で所望の動作を行えるようにすることが考えられる。しかしながら、摩擦を完全に相殺すると、パワーアシスト装置１が、使用者の不随意による微小な動作にも反応して動作が拡大され、この点で使用者の動作が不安定になってしまう（特に、使用者の意図しない動作が行われる）。
【００８０】
これに対し、パワーアシスト装置１が上記のように摩擦を残すことで、使用者の不随意による微小な動作がキャンセルされ、これによって使用者の動作が安定する。
なお、パワーアシスト装置本体１００の摩擦が大きい場合は、パワーアシスト装置１が、摩擦の一部（例えば、摩擦によるトルクの半分）を相殺するようにしてもよい。
【００８１】
次に、パワーアシスト装置１の動作実験について説明する。パワーアシスト装置１の動作を実験にて確認した。
図１０は、実験に用いられたパワーアシスト装置本体１００ｂの構成例を示す概略図である。図１０に示す構成で、パワーアシスト装置本体１００ｂは、駆動装置１１１と、駆動側角度センサ１１２と、駆動側入力軸１１３と、平歯車１４１と、駆動側中継軸１４２と、減速機１３０と、負荷側中継軸１４３と、トルクセンサ１４４と、カップリング１４５と、負荷側出力軸１２２と、リンク１２３と、負荷側角度センサ１２４とを備える。減速機１３０は、駆動側歯車１１４と、負荷側歯車１２１とを備える。
【００８２】
図１０の構成で、駆動装置１１１と、駆動側入力軸１１３と、平歯車１４１と、駆動側中継軸１４２と、駆動側歯車１１４との組み合わせを駆動側回転部１１０ｂと称する。負荷側歯車１２１と、負荷側中継軸１４３と、トルクセンサ１４４と、カップリング１４５と、負荷側出力軸１２２と、リンク１２３との組み合わせを負荷側回転部１２０ｂと称する。駆動側回転部１１０ｂと負荷側回転部１２０ｂとは、減速機１３０の歯車（駆動側歯車１１４および負荷側歯車１２１）で連結されている。
【００８３】
図１０の各部のうち、図２の各部に対応して同様の機能を有する部分には同一の符号（１１１、１１２、１１３、１１４、１２１、１２２、１２３、１２４、１３０）を付して説明を省略する。
図１０の構成では、駆動側入力軸１１３と駆動側歯車１１４とが直接には接続されず、平歯車１４１および駆動側中継軸１４２を介して接続されている点で、図２の場合と異なる。また、図１０の構成では、負荷側歯車１２１と負荷側出力軸１２２とが直接には接続されず、負荷側中継軸１４３およびカップリング１４５を介して接続されている点で、図２の場合と異なる。但し、パワーアシスト装置本体１００ｂのモデル、および、制御装置２００によるパワーアシスト装置本体１００の制御方法として、図２の場合と同様のモデルおよび方法を用いることができる。
また、図１０の構成では、負荷側中継軸１４３にトルクセンサ１４４が設けられている点で図２の場合と異なるが、制御装置２００は、トルクセンサ１４４を用いずにパワーアシスト装置本体１００の制御を行っている。
【００８４】
実験では、減速機１３０として高効率減速機を用いた。この高効率減速機は、本願発明者の研究室で研究開発されたものであり、一般的な波動歯車装置（Strain Wave Gearing）と比較すると順駆動効率および逆駆動効率が高く、逆起動トルクが小さい。この高効率減速機をパワーアシスト装置に用いることで、パワーアシスト装置のバックドライバビリティ（Back Drivability）が向上し、この点で、使用者および周囲の人の安全性を高めることができる。
【００８５】
このように、この高効率減速機をパワーアシスト装置に用いてバックドライバビリティを確保することで、バックドライバビリティの確保のためにアクチュエータおよびセンサを設ける必要がなく、この点で、パワーアシスト装置の構成の簡単化、着脱の容易性、低価格化および軽量化を図ることができる。
また、実験では、駆動側角度センサ１１２としてエンコーダを用い、負荷側角度センサ１２４としてポテンショメータを用いた。
【００８６】
図１１は、トルク推定部２９１による外部トルクの推定結果の例を示すグラフである。図１１は、パワーアシスト装置１の補助動作をＯＦＦにした状態で、トルク推定部２９１が外部トルクを推定した結果を示している。
図１１のグラフの横軸は時間を示し、縦軸はトルクを示す。線Ｌ１１は、外部トルクのセンサ測定値を示す。線Ｌ１２は、トルク推定部２９１が推定した外部トルクを示す。
線Ｌ１２は、おおよそ線Ｌ１１と重なっており、トルク推定部２９１は、外部トルクを高精度に推定できている。
【００８７】
図１２は、識別部２９２による使用者の意図の識別結果の例を示すグラフである。図１２は、パワーアシスト装置１の補助動作をＯＦＦにした状態で、識別部２９２が、使用者の意図を推定した結果を示している。
図１２のグラフの横軸は時間を示し、縦軸は、トルク、角速度、および、推定結果のクラスを示す。線Ｌ２１は、負荷側回転部１２０の角速度を示す。線Ｌ２２は、トルク推定部２９１による外部トルクの推定結果を示す。線Ｌ２３は、識別部２９２によるユーザの意図の識別結果を示す。識別部２９２は、線Ｌ２１に示される角速度、および、線Ｌ２２に示されるトルク推定値を用いてユーザの意図を識別している。線Ｌ２３の値１は、ユーザが「動作」を意図しているとの識別結果を示し、値−１は、ユーザが「停止」を意図しているとの識別結果を示す。
図１２に示されるように、識別部２９２が、負荷側回転部１２０の角速度および外部トルク推定値に基づいて、ユーザの意図を識別可能であることを確認できた。
【００８８】
図１３は、パワーアシスト装置１が、識別部２９２による使用者の意図の識別結果を用いずに使用者の動作に対する補助を行った動作例を示すグラフである。図１３のグラフの横軸は時間を示し、縦軸はトルクを示す。
線Ｌ３１は、外部トルクのセンサ測定値を示す。線Ｌ３２は、トルク推定部２９１による外部トルクの推定値を示す。線Ｌ３１、線Ｌ３２とも、リンク１２３の停止時（使用者の動作終了時）である１０秒以降の時間帯において外部トルクの振動を示している。これは、高効率減速機が小さな逆起動トルクで動作可能であるがゆえに駆動装置１１１によるリンク１２３の駆動がオーバーシュートし、使用者の意図しない振動が生じたものと考えられる。
このように、パワーアシスト装置に高効率減速機を用いたところ、使用者の動作終了時に使用者の意図しない振動が発生するという新たな課題が見いだされた。
【００８９】
図１４は、パワーアシスト装置１が、識別部２９２による使用者の意図の識別結果を用いて使用者の動作に対する補助を行った動作例を示すグラフである。図１４のグラフの横軸は時間を示し、縦軸はトルクを示す。
線Ｌ４１は、外部トルクのセンサ測定値を示す。線Ｌ４２は、トルク推定部２９１による外部トルクの推定値を示す。線Ｌ４１、線Ｌ４２の何れを参照しても、リンク１２３の停止時（使用者の動作終了時）である１１秒以降の時間帯において、図１３の場合のような振動は発生していない。
【００９０】
制御装置２００が、識別部２９２による使用者の意図の識別結果を用いてパワーアシスト装置本体１００ｂを制御することで、外部トルクの振動を抑制できている。このように、制御装置２００が、識別部２９２による使用者の意図の識別結果を用いてパワーアシスト装置本体１００ｂを制御することで、パワーアシスト装置に高効率減速機を用いた場合に、使用者の動作終了時に使用者の意図しない振動が発生するという課題を解決できた。
【００９１】
以上のように、識別部２９２は、歯車で連結された駆動側回転部および負荷側回転部について、駆動側回転部の回転角度に関する情報、および、負荷側回転部の回転角度に関する情報のうち少なくともいずれか一方に基づいて、使用者の動作または停止の意図を識別する。トルク制御部２９３は、識別部２９２による識別結果に基づいて、駆動側回転部１１０を回転させる駆動装置１１１のトルクを制御する。
パワーアシスト装置１は、角度センサ、角速度センサ、角加速度センサの何れかを備えればよく、制御のために筋電センサなど他のセンサを備える必要はない。パワーアシスト装置１によれば、この点で、より少ないセンサで使用者の意図に応じた動作を行うことができる。
また、パワーアシスト装置１によれば、使用者の意図によらない振動を抑制することができる。特に、パワーアシスト装置１によれば、上述したように、減速機１３０として高効率減速機を用いた場合に、使用者の動作終了時に使用者の意図しない振動が発生するという課題を解決できる。
【００９２】
また、識別部２９２は、摩擦分が減算された外力推定値に基づいて、使用者の動作または停止の意図を識別する。
このように、トルク推定部２９１が外力（外部トルク）を推定する際に、摩擦分のトルクを除外することで、使用者による外力をより高精度に推定することができる。識別部２９２は、この外力推定値を用いて使用者の意図を識別することで、使用者の意図をより高精度に識別することができる。トルク制御部２９３が、この使用者の意図の識別結果を用いて駆動装置１１１のトルクを制御することで、パワーアシスト装置１は、使用者の動作に対する補助をより高精度に行うことができる。
【００９３】
また、パワーアシスト装置１が、摩擦分が除外された使用者による外力に対して動作の補助を行うこと、動作を安定させることができる。特に、パワーアシスト装置１が摩擦を残すことで、使用者の不随意による微小な動作がキャンセルされ、これによって使用者の動作が安定する。
【００９４】
また、識別部２９２は、駆動側回転部１１０の回転角度に関する情報、および、負荷側回転部１２０の回転角度に関する情報のうち少なくともいずれか一方と、使用者の動作または停止の意図との関係を機械学習する。
これにより、人手（パワーアシスト装置１の調整作業者）は、使用者の意図の識別のための情報を入力する必要がなく、人手による負担を軽減することができる。
【００９５】
なお、制御装置２００が行う処理の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９６】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００９７】
１  パワーアシスト装置
１００  パワーアシスト装置本体
１１０  駆動側回転部
１１１  駆動装置
１１２  駆動側角度センサ
１１３  駆動側入力軸
１３０  減速機
１１４  駆動側歯車
１２１  負荷側歯車
１２０  負荷側回転部
１２２  負荷側出力軸
１２３  リンク
１２４  負荷側角度センサ
２００  制御装置
２１０  通信部
２８０  記憶部
２９０  制御部
２９１  トルク推定部
２９２  識別部
２９３  トルク制御部
【図１】
2020028963.tif 000019
【図２】
2020028963.tif 000020
【図３】
2020028963.tif 000021
【図４】
2020028963.tif 000022
【図５】
2020028963.tif 000023
【図６】
2020028963.tif 000024
【図７】
2020028963.tif 000025
【図８】
2020028963.tif 000026
【図９】
2020028963.tif 000027
【図１０】
2020028963.tif 000028
【図１１】
2020028963.tif 000029
【図１２】
2020028963.tif 000030
【図１３】
2020028963.tif 000031
【図１４】
2020028963.tif 000032