ユーザの運動によって外力が加えられることにより移動可能に構成された可動部12、42、52と、前記ユーザの外力による移動とは別に前記可動部を移動させるための駆動力を前記可動部に付与する駆動部13、45、53と、前記可動部の現在の位置に対応する前記駆動部の現在の駆動位置を検出する位置検出部17、54と、前記駆動部の駆動を制御する制御部24、24a、24bと、を備え、前記制御部は、前記位置検出部により検出された前記駆動部の現在の駆動位置に基づいて、前記可動部を現在の位置に留まらせるような第1制御方法により前記駆動部を駆動する、運動装置。前記制御部は、前記第1制御方法により前記駆動部を駆動する際に、前記可動部を現在位置に留まらせるように、前記位置検出部により検出された前記駆動部の現在の駆動位置を目標駆動位置として前記駆動部を駆動する、請求項1に記載の運動装置。前記制御部は、前記第1制御方法により前記駆動部を駆動する際に、前記ユーザの外力に応じた大きさの負荷を、前記ユーザの外力の方向とは反対方向に、前記可動部を介して前記ユーザに付与する、請求項2に記載の運動装置。前記制御部は、前記第1制御方法により前記駆動部を駆動する際に、前記駆動部により前記可動部に付与される駆動力が所定の制限値の範囲内に含まれるように補償する、請求項1に記載の運動装置。前記可動部に加えられる外乱の推定を行う外乱オブザーバ32をさらに備え、前記制御部は、前記ユーザの外力により前記可動部が移動される際に、前記外乱オブザーバによる推定結果から、前記ユーザの外力が加えられていない状態において前記可動部に加えられている外乱を減算することにより、前記ユーザの外力を算出するように構成されている、請求項3に記載の運動装置。前記制御部は、前記第1制御方法に加えて、前記ユーザの加えた外力の方向に沿った方向の補助力を前記可動部を介して前記ユーザに付与する第2制御方法により、前記駆動部を駆動することが可能な、請求項1に記載の運動装置。前記制御部は、前記第2制御方法により前記駆動部を駆動する際に、前記駆動部により前記可動部に付与される駆動力が所定の制限値の範囲内に含まれるように補償する、請求項6に記載の運動装置。前記制御部は、前記第1制御方法により前記駆動部を駆動する場合には、前記位置検出部により検出された前記駆動部の現在の駆動位置に基づいて前記駆動部を駆動する一方、前記第2制御方法により前記駆動部を駆動する場合には、予め設定された駆動パターンで前記駆動部を駆動する、請求項6に記載の運動装置。前記制御部は、前記第1制御方法により前記駆動部を駆動する場合には、前記ユーザの外力を負帰還させることにより補償された駆動力で前記駆動部を駆動する一方、前記第2制御方法により前記駆動部を駆動する場合には、前記ユーザの外力を正帰還させることにより補償された駆動力で前記駆動部を駆動する、請求項6に記載の運動装置。前記制御部は、非常状態が発生した場合に、前記駆動部の目標駆動位置を固定する、請求項1に記載の運動装置。前記非常状態が発生した場合は、前記ユーザにより非常停止操作が行われた場合を含む、請求項10に記載の運動装置。前記可動部に加えられる外乱の推定を行う外乱オブザーバをさらに備え、前記非常状態が発生した場合は、前記外乱オブザーバによる推定結果が異常となった場合を含む、請求項10に記載の運動装置。前記非常状態が発生した場合は、前記駆動部の現在の駆動位置と目標駆動位置との差が所定のしきい値以上となった場合を含む、請求項10に記載の運動装置。前記制御部は、前記駆動部の目標駆動位置が固定され、かつ、前記ユーザによりリセット操作が行われた場合に、前記可動部を所定の速度以下で初期位置に戻すように前記駆動部を駆動する、請求項10~13のいずれか1項に記載の運動装置。外力が加えられることにより移動可能に構成された可動部12、42、52に、前記外力による移動とは別に前記可動部を移動させるための駆動力を付与するモータ13、45、53の駆動を制御するモータ制御部24、24a、24bを備え、前記モータ制御部は、前記可動部の現在の位置に対応する前記モータの現在の駆動位置を検出する位置検出部17、54により検出された前記モータの現在の駆動位置に基づいて、前記可動部を現在の位置に留まらせるように前記駆動部を駆動する、モータ制御装置。外力が加えられることにより移動可能に構成された可動部12、42、52を前記外力による移動とは別に移動させるための駆動力を前記可動部に付与するモータ13、45、53の、前記可動部の現在の位置に対応する現在の駆動位置を検出するステップと、検出された前記モータの現在の駆動位置に基づいて、前記可動部を現在の位置に留まらせるように前記モータの駆動を制御するステップとを備える、モータ制御方法。しかしながら、上記特許第4061432号公報に開示された運動療法装置運動装置では、アーム可動部を介して負荷を付与するために、アームを所定の移動パターンで移動させるためのアクチュエータ駆動部の駆動パターンを予め設定しておく必要がある。このため、アーム可動部を介して負荷を付与するために煩雑な設定作業が必要になる。この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、煩雑な設定作業を行うことなく可動部を介して負荷を付与することが可能な運動装置、モータ制御装置およびモータ制御方法を提供することである。上記目的を達成するために、この発明の第1の局面による運動装置は、ユーザの運動によって外力が加えられることにより移動可能に構成された可動部と、ユーザの外力による移動とは別に可動部を移動させるための駆動力を可動部に付与する駆動部と、可動部の現在の位置に対応する駆動部の現在の駆動位置を検出する位置検出部と、駆動部の駆動を制御する制御部と、を備え、制御部は、位置検出部により検出された駆動部の現在の駆動位置に基づいて、可動部を現在の位置に留まらせるような第1制御方法により駆動部を駆動する。この発明の第2の局面によるモータ制御装置は、外力が加えられることにより移動可能に構成された可動部に、外力による移動とは別に可動部を移動させるための駆動力を付与するモータの駆動を制御するモータ制御部を備え、モータ制御部は、可動部の現在の位置に対応するモータの現在の駆動位置を検出する位置検出部により検出されたモータの現在の駆動位置に基づいて、可動部を現在の位置に留まらせるように駆動部を駆動する。この発明の第3の局面によるモータ制御方法は、外力が加えられることにより移動可能に構成された可動部を外力による移動とは別に移動させるための駆動力を可動部に付与するモータの、可動部の現在の位置に対応する現在の駆動位置を検出するステップと、検出されたモータの現在の駆動位置に基づいて、可動部を現在の位置に留まらせるようにモータの駆動を制御するステップとを備える。以上説明したように本発明によれば、煩雑な設定作業を行うことなく可動部を介して負荷を付与することができる。以下、本発明の実施形態を図面に基づいて説明する。第1実施形態まず、図1を参照して、本発明の第1実施形態による運動装置100の構成について説明する。図1に示すように、運動装置100は、可動機構部10と、可動機構部10の後述する回転モータ13の制御を行うモータ制御部24を有する可動機構制御部20とを備えている。なお、回転モータ13は、本発明の駆動部の一例であるとともに、本発明のモータの一例である。また、モータ制御部24は、本発明の制御部の一例である。また、可動機構制御部20は、本発明のモータ制御装置の一例である。可動機構部10と可動機構制御部20とは、可動機構制御部20の後述するモータ制御部24により出力されるモータ制御電流や、回転モータ13の後述するエンコーダ17図2参照により出力される位置フィードバックなどを伝達するためのケーブルを介して互いに接続されている。なお、エンコーダ17は、本発明の位置検出部の一例である。次に、図1を参照して、可動機構部10の具体的な構成について説明する。図1に示すように、可動機構部10は、シート11と、アーム12と、回転モータ13と、減速機14とを含むように構成されている。なお、アーム12は、本発明の可動部の一例である。アーム12は、ユーザの運動によって外力が加えられることにより移動可能に構成されている。なお、運動とは、ユーザがシート11に座った状態でアーム12を把持して動かす運動アーム回動軸15を回動軸としてアーム12を回動させる運動のことである。回転モータ13は、上記ユーザの外力による移動とは別にアーム12を移動させることが可能なように構成されている。具体的には、回転モータ13は、可動機構制御部20から入力されるモータ制御電流に基づいて、モータ回転軸16を回転軸として回転駆動することにより、その回転による駆動力をモータ回転軸16、減速機14およびアーム回動軸15を介してアーム12に付与することが可能なように構成されている。ここで、第1実施形態では、回転モータ13は、シート11に座った状態でアーム12に外力を加えて運動しているユーザに対して、ユーザがアーム12に加えた外力の方向とは反対方向の負荷をアーム12を介して付与することが可能であるとともに、ユーザがアーム12に加えた外力の方向に沿った方向の補助力をアーム12を介して付与することが可能なように構成されている。これにより、ユーザは、シート11に座った状態でアーム12に外力を加えて動かすことにより、トレーニング運動またはリハビリ運動を行うことが可能である。また、第1実施形態では、回転モータ13には、アーム12の現在の位置に対応する回転モータ13の現在の駆動位置回転位置を検出するためのエンコーダ17図2参照が設けられている。このエンコーダ17は、検出した回転モータ13の現在の駆動位置を位置フィードバックとして可動機構制御部20に出力するように構成されている。なお、エンコーダ17は、インクリメンタルエンコーダであってもよいし、アブソリュートエンコーダであってもよい。減速機14は、アーム回動軸15とモータ回転軸16とを連動して回転させるタイミングベルト機構を有している。この減速機14は、アーム回動軸15の回動速度をモータ回転軸16の回転速度に対して減速させることにより、回転モータ13により発生するトルク駆動力を増加させるとともに、増加されたトルクをモータ回転軸16、減速機14およびアーム回動軸15を介してアーム12に伝達するように構成されている。次に、可動機構制御部20の具体的な構成について説明する。可動機構制御部20は、設定入力部21と、状態表示部22と、パターン指令生成部23と、モータ制御部24とを含むように構成されている。設定入力部21は、ユーザが可動機構部10をどのように動作させるかを設定する際に使用される入力装置である。この設定入力部21は、たとえば、タッチパネル操作が可能な表示部や、押下操作が可能なボタンスイッチや、回転操作が可能なロータリスイッチなどにより構成される。これにより、ユーザは、設定入力部21を操作することによって、可動機構部10をトレーニング運動のために使用するかまたはリハビリ運動のために使用するかを選択したり、トレーニング運動またはリハビリ運動の強度を設定したりすることなどが可能である。すなわち、ユーザは、設定入力部21を操作することによって、後述するトレーニング制御方法により回転モータ13を駆動するかまたはアシスト制御方法により回転モータ13を駆動するかを選択したり、アーム12を介してユーザに付与する負荷または補助力の大きさを設定したりすることが可能である。状態表示部22は、回転モータ13の駆動力を含む駆動状態を表示することが可能なように構成されている。具体的には、状態表示部22は、可動機構部10のアーム12を介してユーザに与える負荷の大きさなどをグラフ形式で表示することが可能なように構成されている。また、パターン指令生成部23は、回転モータ13を予め設定された駆動パターンで駆動する場合後述するアシスト制御方法により回転モータ13を駆動する場合などにおいて回転モータ13に与える目標駆動位置の変化のパターン以下、パターン指令と呼ぶを生成するように構成されている。モータ制御部24は、後述する電流生成部30図2参照により生成されたモータ制御電流を回転モータ13に出力することにより、回転モータ13の駆動アーム12の移動を制御するように構成されている。なお、モータ制御電流は、回転モータ13に与えるトルク指令目標駆動トルクに基づいて生成される。ここで、第1実施形態では、モータ制御部24は、ユーザにより設定入力部21が操作されて可動機構部10をトレーニング運動のために使用することが選択された場合に、エンコーダ17からの位置フィードバックに基づいて、回転モータ13を現在の駆動位置に留まらせるようなモータ制御電流を生成するように構成されている。一方、モータ制御部24は、ユーザにより設定入力部21が操作されて可動機構部10をリハビリ運動のために使用することが選択された場合に、パターン指令生成部23からのパターン指令に基づいて、回転モータ13を予め設定された駆動パターンで駆動するようなモータ制御電流を生成するように構成されている。また、第1実施形態では、モータ制御部24は、回転モータ13に与えるトルク指令を、ユーザの運動トレーニング運動またはリハビリ運動によってアーム12に加えられる外力に基づいて補償するように構成されている。すなわち、モータ制御部24は、ユーザの運動による外力の方向および大きさに応じて、トルク指令を補償するための補償トルクを生成するように構成されている。具体的には、モータ制御部24は、ユーザにより設定入力部21が操作されて可動機構部10をトレーニング運動のために使用することが選択された場合には、ユーザのトレーニング運動によってアーム12に加えられた外力を負帰還させることにより、回転モータ13に与えるトルク指令を補償するように構成されている。これにより、モータ制御部24は、ユーザがアーム12を用いてトレーニング運動を行う際に、ユーザがアーム12に加えた外力の方向とは反対方向の負荷をアーム12を介してユーザに付与するように構成されている。なお、この負荷の大きさは、ユーザが設定入力部21を操作して設定したトレーニングの強度と、トレーニング運動時のユーザがアーム12に加えた外力の大きさとに応じて決定される。以下では、このようなトレーニング運動時のユーザに負荷を付与するための回転モータ13の制御方法を、トレーニング制御方法と呼ぶ。なお、トレーニング制御方法は、本発明の第1制御方法の一例である。一方、モータ制御部24は、ユーザにより設定入力部21が操作されて可動機構部10をリハビリ運動のために使用することが選択された場合には、ユーザのリハビリ運動によってアーム12に加えられた外力を正帰還させることにより、回転モータ13に与えるトルク指令を補償するように構成されている。これにより、モータ制御部24は、ユーザがアーム12を用いてリハビリ運動を行う際に、ユーザがアーム12に加えた外力の方向に沿った方向の補助力をアーム12を介してユーザに付与するように構成されている。なお、この補助力の大きさは、ユーザが設定入力部21を操作して設定したリハビリの強度と、リハビリ運動時のユーザがアーム12に加えた外力の大きさとに応じて決定される。以下では、このようなリハビリ運動時のユーザに補助力を付与するための回転モータ13の制御方法を、アシスト制御方法と呼ぶ。なお、アシスト制御方法は、本発明の第2制御方法の一例である。なお、第1実施形態では、モータ制御部24は、非常状態が発生した場合に、回転モータ13の目標位置を固定するように構成されている。具体的には、モータ制御部24は、ユーザにより設定入力部21が操作されてアーム12を非常停止させる操作非常停止操作が行われた場合に、回転モータ13の目標駆動位置を固定することにより、アーム12を現在の位置に停止させて移動不可能な状態にするように構成されている。また、モータ制御部24は、後述する所定の2つの場合回転モータ13の目標駆動位置と現在の駆動位置との差が異常になった場合、および、補償トルク調整部35図2参照に入力されるトルクが異常になった場合にも、回転モータ13の目標駆動位置を固定することにより、アーム12を現在の位置に停止させて移動不可能な状態にするように構成されている。また、第1実施形態では、モータ制御部24は、上記のように回転モータ13の目標駆動位置が固定されてアーム12が移動不可能な状態とされた際において、ユーザにより設定入力部21が操作されて現在停止しているアーム12を初期位置に戻す操作リセット操作が行われた場合に、アーム12を所定の速度ユーザが怪我をしない程度の速度以下で初期位置に戻すように回転モータ13を駆動するように構成されている。以下、図2を参照して、モータ制御部24の詳細な構成について説明する。図2に示すように、モータ制御部24は、速度算出部25と、状態切替部26と、位置指令切替部27と、速度指令生成部28と、トルク指令生成部29と、電流生成部30と、補償トルク生成部31とを含むように構成されている。なお、補償トルク生成部31は、本発明の補償力生成部の一例である。速度算出部25は、微分器などにより構成されている。この速度算出部25は、エンコーダ17からの位置フィードバック回転モータ13の現在の駆動位置を微分することにより、速度フィードバック回転モータ13の現在の駆動速度を生成するように構成されている。そして、速度算出部25は、このように生成した速度フィードバックをトルク指令生成部29と後述する外乱オブザーバ32とに出力するように構成されている。状態切替部26は、ユーザにより設定入力部21が操作されて可動機構部10をトレーニング運動のために使用するかまたはリハビリ運動のために使用するかが選択された場合に、そのユーザの選択に応じて、位置指令切替部27の状態と、補償トルク生成部31の後述する符号切替部34の状態とを切り替えるように構成されている。具体的には、状態切替部26は、トレーニング制御方法により回転モータ13を駆動することがユーザにより選択された場合に、エンコーダ17からの位置フィードバックが位置指令回転モータ13の目標駆動位置として速度指令生成部28に入力されるように、位置指令切替部27を第1の状態図2のr1参照に切り替えるように構成されている。なお、この時、状態切替部26は、ユーザの外力に起因するトルクを負帰還させて補償トルク調整部35に出力するように符号切替部34の状態を切り替える詳細は、後述するように構成されている。一方、状態切替部26は、アシスト制御方法により回転モータ13を駆動することがユーザにより選択された場合に、パターン指令生成部23からのパターン指令が位置指令回転モータ13の目標駆動位置として速度指令生成部28に入力されるように、位置指令切替部27を第2の状態図2のr2参照に切り替えるように構成されている。なお、この時、状態切替部26は、ユーザの外力に起因するトルクを正帰還させて補償トルク調整部35に出力するように符号切替部34の状態を切り替える詳細は、後述するように構成されている。なお、状態切替部26は、ユーザの設定入力部21の操作により可動機構部10を緊急停止させるための緊急停止操作が行われた場合に、回転モータ13の目標駆動位置を固定するような位置指令が速度指令生成部28に入力されるように、位置指令切替部27を第3の状態図2のrφ参照に切り替えるように構成されている。また、状態切替部26は、ユーザにより緊急停止操作が行われた場合に加えて、回転モータ13の目標駆動位置と現在の駆動位置との差が異常になった場合位置指令と位置フィードバックとの差が所定のしきい値以上になった場合、および、補償トルク調整部35に入力されるトルクが異常になった場合詳細は後述するにも、位置指令切替部27を第3の状態に切り替えるように構成されている。速度指令生成部28は、P制御を行う制御系である。この速度指令生成部28は、入力される位置指令回転モータ13の目標駆動位置と位置フィードバックエンコーダ17により検出された回転モータ13の現在の駆動位置との差に、比例要素の位置比例ゲインKpを乗じることにより、速度指令回転モータ13の目標駆動速度を生成するように構成されている。そして、速度指令生成部28は、生成した速度指令をトルク指令生成部29に出力するように構成されている。トルク指令生成部29は、PI制御を行う制御系である。このトルク指令生成部29は、入力される速度指令回転モータ13の目標駆動速度と速度フィードバック回転モータ13の現在の駆動速度との差に、比例要素の速度比例ゲインKvと積分要素の積分時定数Tiとを乗じることにより、トルク指令回転モータ13の目標駆動トルクを生成するように構成されている。そして、トルク指令生成部29は、生成したトルク指令を電流生成部30に出力するように構成されている。電流生成部30は、PI制御を行う制御系である。この電流生成部30は、入力されるトルク指令トルク指令生成部29により生成されたトルク指令に補償トルク生成部31により生成された補償トルクを加えたものに、比例要素の電流比例ゲインKiと積分要素の積分時定数Tiiとを乗じることにより、モータ制御電流回転モータ13の目標駆動トルクに対応する電流指令を生成するように構成されている。そして、電流生成部30は、生成したモータ制御電流を可動機構部10の回転モータ13に出力するように構成されている。補償トルク生成部31は、トルク指令生成部29により出力されるトルク指令を補償するための補償トルクを生成するように構成されている。具体的には、補償トルク生成部31は、外乱オブザーバ32と、無負荷トルク設定部33と、符号切替部34と、補償トルク調整部35とを含むように構成されている。外乱オブザーバ32は、モータ制御部24からのモータ制御電流に起因する駆動トルク以外に回転モータ13に加えられる外乱トルクユーザの運動によってアーム12に加えられる外力などに起因するトルクを推定するために設けられている。具体的には、外乱オブザーバ32は、トルク指令生成部29により生成されたトルク指令回転モータ13の目標駆動トルクと、速度算出部25により生成された速度フィードバック回転モータ13の現在の駆動速度とに基づいて、回転モータ13に加えられる上記外乱トルクを推定するように構成されている。無負荷トルク設定部33は、ユーザの外力以外の外力たとえば、重力などによってアーム12を移動させないために回転モータ13に予め付与しておく必要があるトルク以下、無負荷トルクと呼ぶを設定保存するために設けられている。この無負荷トルクは、ユーザがアーム12を用いて運動トレーニング運動またはリハビリ運動を行う前の初期の段階で測定される。第1実施形態では、外乱オブザーバ32により推定された外乱トルクから無負荷トルク設定部33に設定された無負荷トルクが減算されることより、回転モータ13に加えられる外乱トルクのうちのユーザの外力に起因するトルクが算出される。符号切替部34は、上記のように算出されたユーザの外力に起因するトルクを負帰還させて補償トルク調整部35に出力する状態位置指令切替部27の第1の状態図2のr1参照に対応と、正帰還させて補償トルク調整部35に出力する状態位置指令切替部27の第2の状態図2のr2参照に対応とを、ユーザの選択トレーニング制御方法により回転モータ13を駆動するかまたはアシスト制御方法により回転モータ13を駆動するかの選択に応じて切り替えるために設けられている。具体的には、符号切替部34は、トレーニング制御方法により回転モータ13を駆動することがユーザにより選択された場合には、上記ユーザの外力に起因するトルクを負帰還させて補償トルク調整部35に出力する一方、アシスト制御方法により回転モータ13を駆動することがユーザにより選択された場合には、上記ユーザの外力に起因するトルクを正帰還させて補償トルク調整部35に出力するように、上記ユーザの外力に起因するトルクの符号を切り替えるように構成されている。補償トルク調整部35は、補償トルクの大きさを調整するために設けられている。具体的には、補償トルク調整部35は、符号切替部34を介して入力されるトルクユーザの外力に起因するトルクの大きさを、ユーザが設定入力部21を操作して設定したトレーニング運動またはリハビリ運動の強度に応じて調整するように構成されている。また、補償トルク調整部35は、符号切替部34を介して入力されるトルクが異常である場合に、その異常なトルクを所定の制限値の範囲内に調整するように構成されている。なお、補償トルク調整部35に入力されるトルクが異常である場合として、たとえば、速度指令生成部28から出力される速度フィードバックが過渡応答により大きく変動したり、外乱オブザーバ32の応答ゲインが正しく設定されていなかったりすることに起因して、補償トルク調整部35に入力されるトルクが過度に大きくなった場合が考えられる。この他、補償トルク調整部35に入力されるトルクが異常である場合として、ユーザの負傷などによりアーム12に加えられている外力の大きさが急激に変化することに起因して、補償トルク調整部35に入力されるトルクが急激に変化した場合なども考えられる。そして、補償トルク調整部35は、調整したトルクを補償トルクとして電流生成部30に出力するように構成されている。なお、補償トルク調整部35は、平均化フィルタや平滑化フィルタなどを含むように構成されている。この平滑化フィルタは、ローパスフィルタなどの一次遅れフィルタであってもよいし、他の次数のフィルタであってもよい。これにより、補償トルク調整部35から出力される補償トルクが平均化されるとともに平滑化されるので、補償トルクの出力がばらついたり不連続になったりするのが抑制される。次に、図3を参照して、本発明の第1実施形態による運動装置100を用いてユーザがトレーニング運動を行う際トレーニング制御方法により回転モータ13を駆動する際におけるモータ制御部24の処理フローについて説明する。この処理フローは、ユーザにより設定入力部21が操作されて可動機構部10をトレーニング運動のために使用することが選択された場合に、開始される。まず、図3に示すように、ステップS1において、状態切替部26により位置指令切替部27が第1の状態図2のr1参照に切り替えられる。これにより、エンコーダ17からの位置フィードバックが位置指令として速度指令生成部28に入力される。なお、この時、ユーザによりアーム12に加えられる外力に起因するトルク外乱オブザーバ32の推定結果と無負荷トルク設定部33に設定された無負荷トルクとにより算出されたトルクを負帰還させたものが補償トルク調整部35に入力されるように、位置指令切替部27の状態だけでなく、符号切替部34の状態も状態切替部26により切り替えられる。これらの結果、ユーザの運動方向とは反対方向で、かつ、ユーザの外力に応じた大きさの負荷がアーム12を介してユーザに付与されるので、ユーザは、アーム12を把持して動かすことによりトレーニング運動を行うことが可能になる。そして、ステップS2に進む。ステップS2においては、ユーザにより設定入力部21が操作されてアーム12の非常停止操作が行われたか否かが判断される。このステップS2において、ユーザにより非常停止操作が行われていないと判断された場合には、ステップS3に進む。ステップS3においては、補償トルク調整部35に入力されるトルクが異常か否かが判断される。このステップS3においては、たとえば、速度指令生成部28から出力される速度フィードバックが過渡応答により大きく変動したり、外乱オブザーバ32の応答ゲインが正しく設定されていなかったりすることに起因して、補償トルク調整部35に入力されるトルクが過度に大きくなった場合に、補償トルク調整部35に入力されるトルクが異常であると判断される。また、ステップS3においては、ユーザの負傷などによりアーム12に加えられている外力の大きさが急激に変化することに起因して、補償トルク調整部35に入力されるトルクが急激に変化した場合なども、保障トルク調整部35に入力されるトルクが異常であると判断される。そして、ステップS3において、補償トルク調整部35に入力されるトルクが異常でないと判断された場合には、ステップS4に進む。ステップS4においては、回転モータ13の目標駆動位置と現在の駆動位置との差が異常か否か位置指令と位置フィードバックとの差が所定のしきい値以上になっていないかどうかが判断される。このステップS4において、回転モータ13の目標位置と現在位置との差が異常でないと判断された場合には、上記ステップS2に戻る。また、ステップS4において、回転モータ13の目標位置と現在位置との差が異常であると判断された場合には、ステップS5に進む。なお、上記ステップS2において、ユーザにより非常停止操作が行われたと判断された場合にも、ステップS5に進む。また、上記ステップS3において、補償トルク調整部35に入力されるトルクが異常であると判断された場合にも、ステップS5に進む。ステップS5においては、状態切替部26により位置指令切替部27が第3の状態図2のrφ参照に切り替えられる。これにより、回転モータ13の目標駆動位置が固定され、可動機構部10のアーム12が現在の位置に停止される。そして、ステップS6に進む。ステップS6においては、ユーザにより設定入力部21が操作されてアーム12のリセット操作現在停止しているアーム12を初期位置に戻す操作が行われたか否かが判断される。このステップS6の判断は、ユーザによりリセット操作が行われたと判断されるまで繰り返される。そして、ステップS6において、ユーザによりリセット操作が行われたと判断された場合には、ステップS7に進む。ステップS7においては、アーム12を徐々に初期位置に戻す処理が実行される。すなわち、ユーザが怪我をしない程度の速度でアーム12を初期位置に戻すように回転モータ13を駆動する処理が実行される。そして、処理が終了する。次に、図4を参照して、本発明の第1実施形態による運動装置100を用いてユーザがリハビリ運動を行う際アシスト制御方法により回転モータ13を駆動する際におけるモータ制御部24の処理フローについて説明する。この処理フローは、ユーザにより設定入力部21が操作されて可動機構部10をリハビリ運動のために使用することが選択された場合に、開始される。まず、図4に示すように、ステップS11において、状態切替部26により位置指令切替部27が第2の状態図2のr2参照に切り替えられる。これにより、パターン指令生成部23からのパターン指令が位置指令として速度指令生成部28に入力される。なお、この時、ユーザによりアーム12に加えられる外力に起因するトルク外乱オブザーバ32の推定結果と無負荷トルク設定部33に設定された無負荷トルクとにより算出されたトルクを正帰還させたものが補償トルク調整部35に入力されるように、位置指令切替部27の状態だけでなく、符号切替部34の状態も状態切替部26により切り替えられる。これらの結果、ユーザの運動方向に沿った方向で、かつ、ユーザの外力に応じた大きさの補助力がアーム12を介してユーザに付与されるので、ユーザは、アーム12を把持して動かすことによりリハビリ運動を行うことが可能になる。そして、ステップS12に進む。ステップS12においては、ユーザにより設定入力部21が操作されて可動機構部10の非常停止操作が行われたか否かが判断される。このステップS12において、ユーザにより非常停止操作が行われていないと判断された場合には、ステップS13に進む。ステップS13においては、補償トルク調整部35に入力されるトルクが異常か否かが判断される。このステップS13において、補償トルク調整部35に入力されるトルクが異常であると判断された場合には、ステップS14に進む。ステップS14においては、状態切替部26により位置指令切替部27が第1の状態図2のr1参照に切り替えられる。これにより、所定の移動パターンで移動しているアーム12を現在の位置に留まらせるような制御がモータ制御部24により行われるようになる。そして、ステップS15に進む。なお、上記ステップS13において、補償トルク調整部35に入力されるトルクが異常でないと判断された場合にも、ステップS15に進む。ステップS15においては、回転モータ13の目標駆動位置と現在の駆動位置との差が異常か否かが判断される。このステップS15において、回転モータ13の目標位置と現在位置との差が異常でないと判断された場合には、上記ステップS12に戻る。また、ステップS15において、回転モータ13の目標位置と現在位置との差が異常であると判断された場合には、ステップS16に進む。なお、上記ステップS12において、ユーザにより非常停止操作が行われたと判断された場合にも、ステップS16に進む。また、上記ステップS13において、補償トルク調整部35に入力されるトルクが異常であると判断された場合にも、ステップS16に進む。ステップS16においては、状態切替部26により位置指令切替部27が第3の状態図2のrφ参照に切り替えられる。これにより、回転モータ13の目標駆動位置が固定され、可動機構部10のアーム12が現在の位置に停止される。そして、ステップS17に進む。ステップS17においては、ユーザにより設定入力部21が操作されてアーム12のリセット操作が行われたか否かが判断される。このステップS17の判断は、ユーザによりリセット操作が行われたと判断されるまで繰り返される。そして、ステップS17において、ユーザによりリセット操作が行われたと判断された場合には、ステップS18に進む。ステップS18においては、アーム12を徐々に初期位置に戻す処理が実行される。すなわち、ユーザが怪我をしない程度の速度でアーム12を初期位置に戻すように回転モータ13を駆動する処理が実行される。そして、処理が終了する。第1実施形態では、上記のように、エンコーダ17により検出された回転モータ13の現在の駆動位置位置フィードバックに基づいて、アーム12を現在の位置に留まらせるようなトレーニング制御方法により回転モータ13を駆動するようにモータ制御部24を構成する。これにより、アーム12を所定の移動パターンで移動させるための回転モータ13の駆動パターンを予め設定するなどの煩雑な設定作業を行うことなく、ユーザがアーム12に外力を加えるだけで、そのユーザの外力の方向と反対方向の負荷をアーム12を介してユーザに付与することができる。その結果、ユーザに負荷を付与する運動トレーニング運動を容易に提供することができる。また、第1実施形態では、上記のように、トレーニング制御方法により回転モータ13を駆動する際に、アーム12を現在位置に留まらせるように、エンコーダ17により検出された回転モータ13の現在の駆動位置位置フィードバックを目標駆動位置位置指令として回転モータ13を駆動するようにモータ制御部24を構成する。これにより、エンコーダ17の検出結果位置フィードバックを利用して、容易に、アーム12を現在位置に留まらせる制御を行うことができる。また、第1実施形態では、上記のように、トレーニング制御方法により回転モータ13を駆動する際に、ユーザの外力に応じた大きさの負荷を、ユーザの外力の方向とは反対方向に、アーム12を介してユーザに付与するようにモータ制御部24を構成する。これにより、ユーザの体力に応じた適切な負荷をアーム12を介してユーザに付与することができる。また、第1実施形態では、上記のように、トレーニング制御方法により回転モータ13を駆動する際に、回転モータ13によりアーム12に付与される駆動力が所定の制限値の範囲内に含まれるように補償するようにモータ制御部24を構成する。これにより、アーム12を介してユーザに与える負荷の大きさが必要以上に大きくなるのを抑制することができる。また、第1実施形態では、上記のように、アーム12に加えられる外乱の推定を行う外乱オブザーバ32を設け、外乱オブザーバ32による推定結果から、ユーザの外力が加えられていない状態においてアーム12に加えられている外乱無負荷トルクを減算することにより、ユーザの外力を算出するようにモータ制御部24を構成する。これにより、外乱オブザーバ32の推定結果をそのままユーザの外力とする場合と異なり、ユーザの外力が加えられていない状態においてアーム12に加えられている外乱無負荷トルクを考慮することにより、ユーザの外力を正確に算出することができる。また、第1実施形態では、上記のように、トレーニング制御方法に加えて、ユーザの加えた外力の方向に沿った方向の補助力をアーム12を介してユーザに付与するアシスト制御方法により、回転モータ13を駆動することが可能なようにモータ制御部24を構成する。これにより、ユーザは、トレーニング制御方法により回転モータが駆動されることによってアーム12を介して付与される負荷を利用して、容易に、トレーニング運動を行うことができるとともに、アシスト制御方法により回転モータが駆動されることによってアーム12を介して付与される補助力を利用して、容易に、リハビリ運動を行うこともできる。また、第1実施形態では、上記のように、アシスト制御方法により回転モータ13を駆動する際に、回転モータ13によりアーム12に付与される駆動力が所定の制限値の範囲内に含まれるように補償するようにモータ制御部24を構成する。これにより、アーム12を介してユーザに与える補助力の大きさが必要以上に大きくなるのを抑制することができる。また、第1実施形態では、上記のように、トレーニング制御方法により回転モータ13を駆動する場合には、エンコーダ17により検出された回転モータ13の現在の駆動位置位置フィードバックに基づいて回転モータ13を駆動する一方、アシスト制御方法により回転モータ13を駆動する場合には、予め設定された駆動パターンパターン指令生成部23により生成されたパターン指令で回転モータ13を駆動するようにモータ制御部24を構成する。ここで、一般に、リハビリ運動を行うことが必要なユーザは、アーム12に大きな外力を加えることができないので、アーム12を容易に移動させることができず、十分なリハビリ効果を得にくい場合がある。この場合に、第1実施形態では、アシスト制御時に、予め設定された駆動パターンパターン指令生成部23により生成されたパターン指令で回転モータ13が駆動されるので、ユーザがリハビリ効果を得やすくすることができる。また、第1実施形態では、上記のように、トレーニング制御方法により回転モータ13を駆動する場合には、ユーザの外力を負帰還させることにより補償された駆動力で回転モータ13を駆動する一方、アシスト制御方法により回転モータ13を駆動する場合には、ユーザの外力を正帰還させることにより補償された駆動力で回転モータ13を駆動するようにモータ制御部24を構成する。これにより、トレーニング制御時において、容易に、ユーザの外力と反対方向の負荷をアーム12を介してユーザに付与することができるとともに、アシスト制御時において、容易に、ユーザの外力に沿った方向の補助力をアーム12を介してユーザに付与することができる。また、第1実施形態では、上記のように、非常状態が発生した場合に、回転モータ13の目標駆動位置を固定するようにモータ制御部24を構成する。これにより、非常状態が発生した場合にアーム12を停止させることができるので、非常状態が発生した場合におけるユーザの安全を確保することができる。また、第1実施形態では、上記のように、ユーザにより非常停止操作が行われた場合に、回転モータ13の目標駆動位置を固定するようにモータ制御部24を構成する。これにより、たとえばユーザの疲労などによりアーム12を非常停止させる必要がある場合に、非常停止操作を行うことによって、容易に、アーム12を停止させることができる。また、第1実施形態では、上記のように、外乱オブザーバ32による推定結果が異常となった場合に、回転モータ13の目標駆動位置を固定するようにモータ制御部24を構成する。これにより、たとえば速度指令生成部28から出力される速度フィードバックが過渡応答により大きく変動したり、外乱オブザーバ32の応答ゲインが正しく設定されていなかったりすることに起因して、外乱オブザーバ32の推定結果が異常になった場合に、アーム12を停止させることができる。また、ユーザの負傷などによりアーム12に加えられている外力の大きさが急激に変化することに起因して、外乱オブザーバ32の推定結果が異常になった場合にも、アーム12を停止させることができる。また、第1実施形態では、上記のように、回転モータ13の現在の駆動位置位置フィードバックと目標駆動位置位置指令との差が所定のしきい値以上であると判断した場合に、回転モータ13の目標駆動位置を固定するようにモータ制御部24を構成する。これにより、回転モータ13の現在の駆動位置と目標駆動位置との差が過度に大きい場合に、その過度に大きい差を急激に近づけるような過大な駆動力が回転モータ13に付与されることがないので、アーム12が急激に移動するのを抑制することができる。また、第1実施形態では、上記のように、回転モータ13の目標駆動位置が固定され、かつ、ユーザによりリセット操作が行われた場合に、アーム12を所定の速度ユーザが怪我をしない程度の速度以下で初期位置に戻すように回転モータ13を駆動するようにモータ制御部24を構成する。これにより、ユーザによりリセット操作が行われるまで、停止しているアーム12が移動するのを防止することができる。また、第1実施形態では、上記のように構成した外乱オブザーバ32を含むモータ制御部24を用いてユーザに負荷補助力を付与することによって、たとえば電磁ブレーキを用いてアーム12を制御してユーザに負荷を付与する場合や、外部トルクセンサや力センサなどを用いてユーザの外力を推定してユーザに負荷補助力を付与する場合などと異なり、ユーザの外力に対して正確で、かつ、遅延のない負荷補助力をユーザに付与することができる。第2実施形態次に、図5を参照して、本発明の第2実施形態による運動装置200について説明する。この第2実施形態では、ユーザがアーム12図1参照を回動させることにより運動トレーニング運動またはリハビリ運動を行う上記第1実施形態と異なり、ユーザがアーム42を上下方向に移動させることにより運動を行う例について説明する。図5に示すように、第2実施形態による運動装置200は、可動機構部40と、可動機構部40の後述する回転モータ45の制御を行うモータ制御部24aを有する可動機構制御部20aとを備えている。なお、回転モータ45は、本発明の駆動部の一例であるとともに、本発明のモータの一例である。また、モータ制御部24aは、本発明の制御部の一例である。また、可動機構制御部20aは、本発明のモータ制御装置の一例である。可動機構部40は、シート41と、アーム42と、アーム側プーリ43と、モータ側プーリ44と、回転モータ45と、減速機46と、可動機構支持部47とを含むように構成されている。なお、アーム42は、本発明の可動部の一例である。アーム42は、ユーザの運動トレーニング運動またはリハビリ運動によって外力が加えられることにより上下方向に移動可能に構成されている。また、回転モータ45は、ユーザの外力による移動とは別に、アーム42を上下方向に移動させることが可能なように構成されている。具体的には、回転モータ45は、可動機構制御部20aのモータ制御部24aから入力されるモータ制御電流に基づいて、モータ回転軸48を回転軸として回転駆動することにより、その回転による駆動力をモータ回転軸48、減速機46、モータ側プーリ44およびアーム側プーリ43を介してアーム42に付与することが可能なように構成されている。なお、アーム側プーリ43とモータ側プーリ44とは、互いに連動して回転するタイミングベルト機構を構成している。これにより、回転モータ45の回転による駆動力は、アーム側プーリ43とモータ側プーリ44とからなるタイミングベルト機構を介して上下方向の駆動力に変換され、その上下方向の駆動力がアーム42に付与される。なお、可動機構支持部47は、アーム42、アーム側プーリ43、モータ側プーリ44および回転モータ45を支持するように設けられている。ここで、第2実施形態では、回転モータ45は、可動機構制御部20aのモータ制御部24aからのモータ制御電流に基づいて駆動することにより、シート41に座った状態でアーム42に外力を加えてアーム42を上下方向に移動させる運動を行うユーザに対して、ユーザがアーム42に加えた外力の方向とは反対方向の負荷をアーム42を介して付与することが可能であるとともに、ユーザがアーム42に加えた外力の方向に沿った方向の補助力をアーム42を介して付与することが可能なように構成されている。これにより、ユーザは、シート41に座った状態でアーム42に外力を加えてアーム42を上下方向に移動させることにより、トレーニング運動またはリハビリ運動を行うことが可能である。なお、第2実施形態のその他の構成は、上記第1実施形態と同様である。また、第2実施形態による運動装置200を用いてユーザが運動トレーニング運動またはリハビリ運動を行う際における可動機構制御部20aのモータ制御部24aの処理フローも、上記第1実施形態図3および図4参照と同様である。また、第2実施形態の効果も、上記第1実施形態と同様である。第3実施形態次に、図6を参照して、本発明の第3実施形態による運動装置300について説明する。この第3実施形態では、アーム12図1参照を移動させるために回転モータ13図1参照を用いる上記第1実施形態と異なり、アーム52を移動させるためにリニアモータ53を用いる例について説明する。図6に示すように、第3実施形態による運動装置300は、可動機構部50と、可動機構部50の後述するリニアモータ53の制御を行うモータ制御部24bを有する可動機構制御部20bとを備えている。なお、リニアモータ53は、本発明の駆動部の一例であるとともに、本発明のモータの一例である。また、モータ制御部24bは、本発明の制御部の一例である。また、可動機構制御部20bは、本発明のモータ制御装置の一例である。可動機構部50は、シート51と、アーム52と、リニアモータ53と、リニアスケール54とを含むように構成されている。なお、アーム52は、本発明の可動部の一例である。また、リニアスケール54は、本発明の位置検出部の一例である。アーム52は、ユーザの運動トレーニング運動またはリハビリ運動によって外力が加えられることにより水平方向に移動可能に構成されている。また、リニアモータ53は、ユーザの外力による移動とは別に、アーム52を水平方向に移動させることが可能なように構成されている。具体的には、リニアモータ53は、可動機構制御部20bのモータ制御部24bから入力されるモータ制御電流に基づいて、水平方向の推力を発生させるように駆動することにより、その水平方向の推力をアーム52に付与することが可能なように構成されている。ここで、第3実施形態では、リニアモータ53は、可動機構制御部20bのモータ制御部24bからのモータ制御電流に基づいて駆動することにより、シート51に横たわった状態でアーム52に外力を加えてアーム52を水平方向に動かす運動を行うユーザに対して、ユーザがアーム52に加えた外力の方向とは反対方向の負荷をアーム52を介して付与することが可能であるとともに、ユーザがアーム52に加えた外力の方向に沿った方向の補助力をアーム52を介して付与することが可能なように構成されている。これにより、ユーザは、シート51に横たわった状態でアーム52に外力を加えてアーム52を水平方向に動かすことにより、トレーニング運動またはリハビリ運動を行うことが可能である。なお、第3実施形態では、リニアモータ53の水平方向の駆動位置は、リニアスケール54により検出される。そして、リニアスケール54により検出されたリニアモータ53の水平方向の駆動位置は、位置フィードバックとして可動機構制御部20bに向けて出力される。第3実施形態では、上記第1および第2実施形態と異なり、リニアモータ53とアーム52との間に減速機構を設けない分、減速機構によるバックラッシなどの非線形要素を考慮する必要がないので、リニアモータ53の駆動の制御をより正確に行うことができる。なお、第3実施形態のその他の構成は、上記第1実施形態と同様である。また、第3実施形態による運動装置300を用いてユーザが運動トレーニング運動またはリハビリ運動を行う際における可動機構制御部20bのモータ制御部24bの処理フローも、上記第1実施形態図3および図4参照と同様である。また、第3実施形態の効果も、上記第1実施形態と同様である。なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。たとえば、上記第1~第3実施形態では、本発明のモータ制御装置の一例としての可動機構制御部を、運動装置の可動機構部の駆動の制御を行うために用いる例を示したが、本発明はこれに限らない。本発明では、モータ制御装置を、一般産業に用いられる駆動機構の駆動の制御を行うために用いてもよい。また、上記第1~第3実施形態では、ユーザがアーム可動部に加えた外力を外乱オブザーバを用いて推定する例を示したが、本発明はこれに限らない。本発明では、ユーザが可動部に加えた外力を外部トルクセンサや力センサなどの他の部品により推定してもよい。また、上記第1~第3実施形態では、タッチパネル操作が可能な表示部や、押下操作が可能なボタンスイッチや、回転操作が可能なロータリスイッチなどにより構成される設定入力部を使用して非常停止操作を行う例を示したが、本発明はこれに限らない。本発明では、デッドマンスイッチを使用して非常停止操作を行うようにしてもよい。このようにすれば、ユーザが運動を停止した時点で確実に運動装置を非常停止させることができる。また、上記第1および第2実施形態では、アーム可動部と回転モータ駆動部との間に減速機を設け、その減速機を用いて回転モータの駆動トルクを増幅させる例を示したが、本発明はこれに限らない。本発明では、低速で大きいトルクを出力可能な回転モータを用いるのであれば、アームと回転モータとの間に減速機を設けなくてもよい。なお、上記第1および第2実施形態の減速機は、タイミングベルト機構を有する減速機であるが、平歯車やウォームなどからなるギア減速機や、チェーンおよびスプロケットからなる減速機などを用いてもよい。また、上記第1実施形態では、トレーニング制御方法第1の制御方法により回転モータ駆動部を駆動している状態で、非常状態が発生した場合に、回転モータの目標駆動位置を固定することによって、アーム可動部を移動不可能な状態にする制御を行うようにモータ制御部制御部を構成する例を示したが、本発明はこれに限らない。本発明では、トレーニング制御方法により回転モータが駆動されている状態で、非常状態が発生した場合に、回転モータがアームに付与する駆動力をゼロにすることによって、アームを自由に移動可能な状態にする制御を行うようにモータ制御部制御部を構成してもよい。このように構成すれば、ユーザのトレーニング運動時に非常状態が発生した場合に、アームを介してユーザに付与する負荷をゼロにすることができる。これにより、ユーザは、トレーニング運動時に非常状態が発生した場合に、アームを安全な位置まで容易に移動させることができる。