(57)【要約】【課題】使用者による平面運動を安全に支援可能な運動訓練装置を提供する。【解決手段】運動訓練装置は、ＸＹ平面で移動可能な操作部と、Ｘ軸およびＹ軸方向駆動モータを有し操作部をＸＹ平面で駆動するアクチュエータ機構と、操作部に作用するＸ軸、Ｙ軸およびＺ軸方向の力（Ｆｘ，Ｆｙ，Ｆｚ）を検出する力センサと、力センサで検出されたＦｘ，Ｆｙ，Ｆｚに基づいてＸ軸およびＹ軸方向駆動モータを制御する制御部とを備えている。制御部は、力センサで検出されたＺ軸方向の力Ｆｚの大きさに応じてＸ軸およびＹ軸方向駆動モータの駆動量を制限する（Ｓ４０８、Ｓ４１０）。【選択図】図１７
2020089624.tif 000002
【特許請求の範囲】
【請求項１】
ＸＹ平面で移動可能な操作部と、
Ｘ軸およびＹ軸方向駆動モータを有し前記操作部をＸＹ平面で駆動する駆動部と、
前記操作部に作用するＸ軸、Ｙ軸およびＺ軸方向の力（Ｆｘ，Ｆｙ，Ｆｚ）を検出する力センサと、
前記力センサで検出されたＸ軸、Ｙ軸およびＺ軸方向の力に基づいて前記Ｘ軸およびＹ軸方向駆動モータを制御する制御部と、
を備え、
前記制御部は、前記力センサで検出されたＺ軸方向の力Ｆｚの大きさに応じて前記Ｘ軸およびＹ軸方向駆動モータの駆動量を制限することを特徴とする運動訓練装置。
【請求項２】
前記制御部は、前記力センサで検出されたＺ軸方向の力Ｆｚの大きさが予め設定された第１の閾値を越えるか否かを判断し、前記第１の閾値を越えると判断したときに、前記Ｘ軸およびＹ軸方向駆動モータの駆動量を制限することを特徴とする請求項１に記載の運動訓練装置。
【請求項３】
前記制御部は、前記第１の閾値を越えると判断したときに、前記第１の閾値以下と判断する際に算出される前記操作部に発生させるべき速度に対応する駆動量より小さな駆動量となるように前記Ｘ軸およびＹ軸方向駆動モータを制御することを特徴とする請求項２に記載の運動訓練装置。
【請求項４】
前記制御部は、前記第１の閾値を越えると判断したときに、前回前記第１の閾値を越えるか否かを判断した際に算出した前記操作部に発生させるべき速度に対応する駆動量を維持するように前記Ｘ軸およびＹ軸方向駆動モータを制御することを特徴とする請求項２に記載の運動訓練装置。
【請求項５】
前記制御部は、前記力センサで検出されたＸ軸、Ｙ軸およびＺ軸方向の力と前記操作部に発生させるべき速度との関係を予め定めた関係式により前記操作部に発生させるべき速度を算出し、前記操作部が前記算出した速度となるように前記Ｘ軸およびＹ軸方向駆動モータを制御することを特徴とする請求項２ないし請求項４のいずれか一項に記載の運動訓練装置。
【請求項６】
前記制御部は、前記関係式により算出した速度をＸ軸およびＹ軸方向の速度に分解することで前記操作部に発生させるべきＸ軸およびＹ軸方向の速度を算出することを特徴とする請求項５に記載の運動訓練装置。
【請求項７】
前記操作部の仮想質量をｍ、粘性係数をｃ、前記操作部に発生させるべき速度をｖｖ、前記操作部の速度をｖｖｓｔ、前記力センサで検出されたＺ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数をｋＦとした際に、前記制御部は、前記第１の閾値を越えると判断したときに、下記式（１）上段を用いて前記操作部に発生させるべき速度ｖｖを算出し、前記第１の閾値以下と判断したときに、下記式（１）下段を用いて前記操作部に発生させるべき速度ｖｖを算出することを特徴とする請求項５または請求項６に記載の運動訓練装置。
【数６】
2020089624.tif 000008
【請求項８】
前記操作部の仮想質量をｍ、粘性係数をｃ、前記操作部に発生させるべき速度をｖｖ、前記操作部の速度をｖｖｓｔ、前記力センサで検出されたＺ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数をｋＦ、前記操作部の加速度をα、前記加速度αをどの程度反映させるかを決める重み係数をｋαとした際に、前記制御部は、前記第１の閾値を越えると判断したときに、前記加速度αが正か否かを判定し、正と判定したときに下記式（２）上段を用いて前記操作部に発生させるべき速度ｖｖを算出し、負または０と判定したときに前記加速度αと前記重み係数ｋαとの積を１として下記式（２）上段を用いて前記操作部に発生させるべき速度ｖｖを算出し、前記第１の閾値以下と判断したときに、下記式（２）下段を用いて前記操作部に発生させるべき速度ｖｖを算出することを特徴とする請求項５または請求項６に記載の運動訓練装置。
【数７】
2020089624.tif 000009
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は運動訓練装置に係り、特に、使用者の平面運動を支援可能な運動訓練装置に関する。
【背景技術】
【０００２】
従来、運動機能を向上させるために様々な運動訓練が行われている。例えば、机上を拭くような動作で肩や肘を屈伸させるワイピング訓練や傾斜したボード上で手を上下方向に滑動させるサンディング訓練が広く行われている。そして、これらの運動訓練を支援するために種々の運動訓練装置が提案されている。
【０００３】
例えば、特許文献１には、十字状に架設した２本のガイド部材で構成された２軸並進機構の交叉部に操作（ハンドル）部を設け、ガイド部材に設けられた正逆転可能な駆動モータを有する直線駆動装置により前後左右および上下方向に移動可能に構成した肢体機能回復訓練支援装置が開示されている。この装置では、操作部を操作する使用者の上肢の動作力を力センサで検出し、仮想の力を発生させるためのモータ指令値をコンピュータで演算してモータの駆動力によって操作部に力を発生させる。このため、使用者は、例えば氷の上や砂の上で操作部を動かしているような力覚を得ることができる。
【０００４】
なお、本発明に関連する技術として、非特許文献１には、往復動可能な直動機構において、軸と並行した方向の力を力センサで検出し、モータ制御に参照データを与えることで操作部を操作する使用者の動きと連動させる技術が開示されている（また、一般的にセンサで検出した力の情報をモータ制御にフィードバックすることは知られている）。力センサの検出方向とモータ駆動による操作部の移動方向が平行であることから、入力情報と出力情報を同一ベクトルとして処理することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２７１１８０号公報
【非特許文献】
【０００６】
【非特許文献１】D. Suzuki, Y. Noda, "Operational Assistance System while Considering Operators Ability on Manual Guided Transfer System with Vibrational Elements", Proceedings of 2015 IEEE Multi-Conference on Systems and Control, pp.495-500, 2015
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１の装置では、軸上に平行な力センサからの検出のみでモータによる操作部の移動を制御している。モータの駆動力で操作部に力を与えその力を自由に設定することができることから、設定した力が小さければ小さいほど押し込む方向に力を掛けることで操作部が滑る現象が発生する。この現象は、例えば、氷の上に立つと、体重が真っ直ぐ氷を押し付けている間は止まっていられるのに対し、少しでも傾いた瞬間に足がその方向に勢いよく滑ってしまうことに類似している。このような現象が生じると、運動訓練中の使用者に予想外の負荷が掛かるおそれがある。
【０００８】
本発明は上記事案に鑑み、使用者による平面運動を安全に支援可能な運動訓練装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、運動訓練装置であって、ＸＹ平面で移動可能な操作部と、Ｘ軸およびＹ軸方向駆動モータを有し前記操作部をＸＹ平面で駆動する駆動部と、前記操作部に作用するＸ軸、Ｙ軸およびＺ軸方向の力（Ｆｘ，Ｆｙ，Ｆｚ）を検出する力センサと、前記力センサで検出されたＸ軸、Ｙ軸およびＺ軸方向の力に基づいて前記Ｘ軸およびＹ軸方向駆動モータを制御する制御部と、を備え、前記制御部は、前記力センサで検出されたＺ軸方向の力Ｆｚの大きさに応じて前記Ｘ軸およびＹ軸方向駆動モータの駆動量を制限することを特徴とする。
【００１０】
本発明において、制御部は、力センサで検出されたＺ軸方向の力Ｆｚの大きさが予め設定された第１の閾値を越えるか否かを判断し、第１の閾値を越えると判断したときに、Ｘ軸およびＹ軸方向駆動モータの駆動量を制限するようにしてもよい。
【００１１】
この場合、制御部は、第１の閾値を越えると判断したときに、第１の閾値以下と判断する際に算出される操作部に発生させるべき速度に対応する駆動量より小さな駆動量となるようにＸ軸およびＹ軸方向駆動モータを制御してもよい。また、制御部は、第１の閾値を越えると判断したときに、前回第１の閾値を越えるか否かを判断した際に算出した操作部に発生させるべき速度に対応する駆動量を維持するようにＸ軸およびＹ軸方向駆動モータを制御してもよい。
【００１２】
また、制御部は、力センサで検出されたＸ軸、Ｙ軸およびＺ軸方向の力と操作部に発生させるべき速度との関係を予め定めた関係式により操作部に発生させるべき速度を算出し、操作部が算出した速度となるようにＸ軸およびＹ軸方向駆動モータを制御するようにしてもよい。このとき、制御部は、関係式により算出した速度をＸ軸およびＹ軸方向の速度に分解することで操作部に発生させるべきＸ軸およびＹ軸方向の速度を算出してもよい。
【００１３】
さらに、操作部の仮想質量をｍ、粘性係数をｃ、操作部に発生させるべき速度をｖｖ、操作部の速度をｖｖｓｔ、力センサで検出されたＺ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数をｋＦとした際に、制御部は、第１の閾値を越えると判断したときに、下記式（１）上段を用いて操作部に発生させるべき速度ｖｖを算出し、第１の閾値以下と判断したときに、下記式（１）下段を用いて操作部に発生させるべき速度ｖｖを算出するようにしてもよい。
【数１】
2020089624.tif 000003
【００１４】
また、操作部の仮想質量をｍ、粘性係数をｃ、操作部に発生させるべき速度をｖｖ、操作部の速度をｖｖｓｔ、力センサで検出されたＺ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数をｋＦ、操作部の加速度をα、加速度αをどの程度反映させるかを決める重み係数をｋαとした際に、制御部は、第１の閾値を越えると判断したときに、加速度αが正か否かを判定し、正と判定したときに下記式（２）上段を用いて操作部に発生させるべき速度ｖｖを算出し、負または０と判定したときに加速度αと重み係数ｋαとの積を１として下記式（２）上段を用いて操作部に発生させるべき速度ｖｖを算出し、第１の閾値以下と判断したときに、下記式（２）下段を用いて操作部に発生させるべき速度ｖｖを算出するようにしてもよい。
【数２】
2020089624.tif 000004
【発明の効果】
【００１５】
本発明によれば、制御部が力センサで検出されたＺ軸方向の力Ｆｚの大きさに応じてＸ軸およびＹ軸方向駆動モータの駆動量を制限して運動訓練中の使用者に予想外の負荷が加わることを防止するので、使用者による平面運動を安全に支援することができる、という効果を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用可能な実施形態の運動訓練装置の外観斜視図である。
【図２】実施形態の運動訓練装置の装置本体の斜視図である。
【図３】図２のIII-III線における装置本体の断面図である。
【図４】図２のIV-IV線における装置本体の断面図である。
【図５】運動訓練装置のアクチュエータ機構の分解斜視図である。
【図６】図３におけるＹ軸方向アクチュエータの部分拡大図である。
【図７】図４におけるＸ軸方向アクチュエータの部分拡大図である。
【図８】操作部の可動範囲を示すアクチュエータ機構の平面図である。
【図９】操作部がホームポジションに位置するときのアクチュエータ機構の平面図である。
【図１０】力覚提示エリアおよび安全対策エリアとアクチュエータ機構の駆動モータの制御モードとの関係を示す説明図である。
【図１１】運動訓練装置の制御部のブロック図である。
【図１２】制御部で実行されるアドミタンス制御の説明図である。
【図１３】制御部が行う駆動モータ制御の説明図である。
【図１４】制御部のＭＣＵのＣＰＵが実行する軌跡設定ルーチンのフローチャートである。
【図１５】制御部のＭＣＵのＣＰＵが実行する負荷検出ルーチンのフローチャートである。
【図１６】制御部のＭＣＵのＣＰＵが実行する運動訓練ルーチンのフローチャートである。
【図１７】運動訓練ルーチンのステップ３２２の詳細を示す駆動指令処理サブルーチンのフローチャートである。
【図１８】運動訓練ルーチンのステップ３３６の詳細を示す駆動指令処理サブルーチンのフローチャートである。
【図１９】負荷検出ルーチンで表示装置に表示される軌跡-負荷情報の模式図である。
【図２０】運動訓練ルーチンで表示装置に表示される運動訓練軌跡-負荷情報の模式図である。
【図２１】本発明が適用可能な他の実施形態の運動訓練装置の運動訓練ルーチンで表示装置の画面下部に表示される負荷変動のレーダチャートの模式図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明が適用可能な実施形態の運動訓練装置について説明する。なお、本実施形態の運動訓練装置は略水平な載置面に載置され、例えば、使用者（運動訓練者）の上肢の運動機能向上を目的として行われる運動訓練に使用される（図１参照）。
【００１８】
１．構成
１．１．機構部
１．１．１．機構部概略
運動訓練装置１は、ＸＹ平面で移動可能な操作部３（図１参照）と、Ｘ軸方向駆動モータ３８およびＹ軸方向駆動モータ３０を有し、操作部３をＸＹ平面で駆動するアクチュエータ機構２０（図５参照）と、操作部３に作用するＸ軸およびＹ軸方向の力を検出する力センサ５１（図５参照）とを備えている。Ｘ軸およびＹ軸方向駆動モータ３８，３０は、ＸＹ平面での操作部３の位置を検出するためのエンコーダ３８ａ，３０ａ（図５参照）と一体に構成されている。操作部３を除くこれらの部材は筺体５内に収容されており、操作部３（のハンドル部材４９、図５参照）は筺体５から上方に突出している（図１参照）。
【００１９】
１．１．２．機構部詳細
（１）筺体５
図１および図２に示すように、筺体５は、上部が開口した略箱状のケーシング６と矩形枠状の外側フレーム１１とで構成されている。なお、図１では、使用者（運動訓練者）Ｕが運動訓練装置１の正面に位置し、例えばワイピング訓練を行うために、右腕ＡＲを前方に伸ばして右手ＨＲで操作部３を操作している状態を示している。また、図２は、図１に示す運動訓練装置１からカバー４を取り外した状態の装置本体２を示しており、図中手前側が運動訓練装置１の正面（前面）側、奥側が背面（後面）側である。
【００２０】
Ａ）ケーシング６
ケーシング６は、上下両端部が略コ字状に折り曲げられた正面フレーム６ａ、背面フレーム６ｂ（図１参照）、右面フレーム６ｃ（図２参照）および左面フレーム６ｄ（図１参照）と、これらのフレーム６ａ〜６ｄの底面側に配された底面フレーム６ｅ（図２参照）とで構成されている。
【００２１】
ケーシング６は複数の補強部材により補強されている。すなわち、図２〜図４に示すように、ケーシング６内には、前後方向に延在する３つの前後補強部材１３ａ〜１３ｃが左右方向に離隔して平行に配設されており、それらの両端部はそれぞれケーシング６の内壁（正面フレーム６ａ、背面フレーム６ｂ）下端部に固定されている。また、前後補強部材１３ａ〜１３ｃと直交してケーシング６内に左右方向に延在する２つの左右補強部材１４ａ，１４ｂが前後方向に離隔して平行に配設されており、それらの両端部はそれぞれケーシング６の内壁（右面フレーム６ｃ、左面フレーム６ｄ）下端部に固定されている。
【００２２】
左右補強部材１４ａ，１４ｂは前後補強部材１３ａ〜１３ｃの上に配置されており、ねじ締結で一体化されている。なお、前後補強部材１３ａ〜１３ｃの位置に対応するケーシング６の底面および外側フレーム１１の底面中央部には、運動訓練装置１を載置面に載置するための複数の脚部１５が突設されている。
【００２３】
Ｂ）外側フレーム１１
図２に示すように、外側フレーム１１は対角に配置された補強板で補強されている。外側フレーム１１の上面には、運動訓練装置１の状態を表示する３つの状態表示ランプと、３つのマニュアル操作ボタンとが配設されている。３つの状態表示ランプは、運動訓練装置１の作動中に点灯する緑色ＬＥＤ９ａと、操作部３がホームポジションに移動中に点灯する白色ＬＥＤ９ｂと、電力投入後の運動訓練装置１の作動停止中に点灯する赤色ＬＥＤ９ｃとで構成されている。一方、３つのマニュアル操作ボタンは、操作部３の作動を緊急に停止させるための緊急停止ボタン１０ａと、操作部３の作動を一時的に停止させるための一時停止ボタン１０ｂと、操作部３をホームポジションに位置付けるためのイニシャルボタン１０ｃとで構成されている。
【００２４】
外側フレーム１１はケーシング６を構成する右面フレーム６ｃにねじ締結により複数箇所で固定されており、外側フレーム１１およびケーシング６には配線用の連通窓が形成されている。また、図１〜図２に示すように、ケーシング６を構成する左面フレーム６ｄおよび外側フレーム１１の外側面には、運動訓練装置１を持ち運ぶための略水平な棒状の取っ手１２が取り付けられている。
【００２５】
（２）カバー４
図１に示すように、ケーシング６の上部開口は略全面的にカバー４で覆われており、操作部３はカバー４の上面から突出するように配置されている。カバー４は、左部カバー４ａ、右部カバー４ｂ、前部カバー４ｃおよび後部カバー４ｄで構成されている。カバー４ａ〜４ｄは、それぞれ操作部３の前後および左右方向に配置されており、操作部３の移動に合わせて伸縮可能なベローズ（蛇腹）構造のシート状部材で構成されている。
【００２６】
図２および図４に示すように、ケーシング６の正面および背面側内壁（正面フレーム６ａ、背面フレーム６ｂ）には、その上端から少し下がった高さ位置に、左右方向の略全長に亘って一定幅の段差面１６ａ，１６ｂがそれぞれ内側に向けて形成されている。また、ケーシング６の正面および背面内壁は、それぞれ上端部が内側へ直角に折曲され左右方向の略全長に亘って一定幅の折曲板部１７ａ，１７ｂが形成されており、その下方の段差面１６ａ，１６ｂとの間に隙間が画定されている。この隙間には、左部カバー４ａおよび右部カバー４ｂの左右側辺部が前後方向の略全長に亘って挿入され、操作部３が左右方向（Ｘ軸方向）に移動するときに、その移動に合わせて蛇腹構造の左部カバー４ａおよび右部カバー４ｂを伸縮させるためのガイドとなる。なお、前部カバー４ｃおよび後部カバー４ｄについても同様の構造が採用されているが、その点については後述する。
【００２７】
（３）アクチュエータ機構２０
図５に示すように、アクチュエータ機構２０は、操作部３をＹ軸方向（前後方向）に駆動するＹ軸方向アクチュエータ２１と、Ｘ軸方向（左右方向）に駆動するＸ軸方向アクチュエータ２２とで構成されている。すなわち、アクチュエータ機構２０は２軸直動アクチュエータである。図２に示すように、アクチュエータ機構２０は、前後補強部材１３ａ〜１３ｃおよび左右補強部材１４ａ，１４ｂ上に、Ｘ軸方向アクチュエータ２２、Ｙ軸方向アクチュエータ２１の順で設けられている。
【００２８】
Ａ）Ｙ軸方向アクチュエータ２１
図２および図５に示すように、Ｙ軸方向アクチュエータ２１は、操作部３をＹ軸方向に直線状に案内するためのガイド部２３と、操作部３をガイド部２３に沿って駆動するＹ軸方向駆動部２４とを有している。Ｙ軸方向駆動部２４は、ガイド部２３の一方の端部（図２および図４に示すように背面側の端部）にガイド部２３と一体に設けられている。
【００２９】
図５に示すように、ガイド部２３は、上向きに開放された矩形チャネル状のガイドフレーム２５と、その内部を長手方向に延在するロッド状の送りねじ２６と、スライダブロック２７とで構成されている。ガイドフレーム２５の長手方向に沿う両側部上面は、その長手方向にスライダブロック２７を案内するスライダレールとして機能する。スライダブロック２７は、複数の鋼球からなるボールを介して送りねじ２６のねじ溝と螺合するナット部を有しており、送りねじと組み合わされてボールねじ構造を構成している。
【００３０】
図４および図５に示すように、Ｙ軸方向駆動部２４は、正逆回転可能なＹ軸方向駆動モータ３０と、Ｙ軸方向駆動モータ３０のモータ軸と送りねじ２６との間に介装された減速ギアユニット３１とで構成されている。また、Ｙ軸方向駆動モータ３０のモータ軸には、その回転方向および回転量を検出するロータリエンコーダ３０ａが取り付けられている。本実施形態では、Ｙ軸方向駆動モータ３０にＤＣサーボモータが用いられている。
【００３１】
減速ギアユニット３１は、Ｙ軸方向駆動モータ３０の回転を減速して送りねじ２６に伝達する歯車列からなる。減速ギアユニット３１の減速ギア比は、操作部３を介して使用者Ｕの上肢にＹ軸方向駆動モータ３０の駆動力を伝達するのに十分なトルクを発生し得るように設定されている。なお、減速ギアユニット３１の減速ギア比は、Ｙ軸方向駆動モータ３０の駆動が停止したときに、送りねじ２６側からの逆入力によって容易に回転しないように比較的高く設定することが好ましい。この点は、後述する（Ｘ軸アクチュエータ２２を構成する）減速ギアユニット３９の減速ギア比についても同じである。
【００３２】
図５に示すように、Ｙ軸方向アクチュエータ２１は、連結部材５３を介してＸ軸方向アクチュエータ２２上に取り付けられている。連結部材５３は、矩形の板状部材からなり、ガイドフレーム２５の下面に結合され、ガイド部２３をＸ軸方向アクチュエータ２２のスライダブロック３７上に一体に固定する。Ｙ軸方向アクチュエータ２１は、操作部３をＸ軸方向に移動させたときに、Ｘ軸方向アクチュエータ２２を構成するガイドフレーム３５の直上をその長手方向に沿って走行する。
【００３３】
Ｂ）Ｘ軸方向アクチュエータ２２
図２および図５に示すように、Ｘ軸方向アクチュエータ２２は、原則的に上述したＹ軸方向アクチュエータ２１と同様に構成されている。すなわち、Ｘ軸方向アクチュエータ２２は、Ｙ軸方向アクチュエータ２１をＸ軸方向に直線状に案内するためのガイド部３３と、Ｙ軸方向アクチュエータ２１をガイド部３３に沿って駆動するＸ軸方向駆動部３４とを有している。Ｘ軸方向駆動部３４は、ガイド部３３の一方の端部（図２および図３の右側の端部）にガイド部３３と一体に設けられている。
【００３４】
図５に示すように、ガイド部３３は、上向きに開放された矩形チャネル状のガイドフレーム３５と、その内部を長手方向に延在するロッド状の送りねじ３６と、スライダブロック３７とで構成されている。ガイドフレーム３５の長手方向に沿う両側部上面は、その長手方向にスライダブロック３７を案内するためのスライダレールとして機能する。スライダブロック３７は、複数の鋼球からなるボールを介して送りねじ３６のねじ溝と螺合するナット部を有しており、送りねじ３６と組み合わされてボールねじ構造を構成している。
【００３５】
図３および図５に示すように、Ｘ軸方向駆動部３４は、正逆回転可能なＸ軸方向駆動モータ３８と、Ｘ軸方向駆動モータ３８のモータ軸と送りねじ３６との間に介装された減速ギアユニット３９とで構成されている。また、Ｘ軸方向駆動モータ３８のモータ軸には、その回転方向および回転量を検出するロータリエンコーダ３８ａが取り付けられている。本実施形態では、Ｘ軸方向駆動モータ３８にＤＣサーボモータが用いられている。
【００３６】
減速ギアユニット３９は、Ｘ軸方向駆動モータ３８の回転を減速して送りねじ３６に伝達する歯車列からなる。減速ギアユニット３９の減速ギア比は、Ｙ軸方向アクチュエータ２１および操作部３を介して使用者Ｕの上肢にＸ軸方向駆動モータ３８の駆動力を伝達するのに十分なトルクを発生し得るように設定されている。
【００３７】
（４）可動フレーム４１
図２〜図４に示すように、Ｙ軸方向アクチュエータ２１は、ケーシング６内側のＹ軸方向の略全長に亘って延在する可動フレーム４１と一体化されている。図６に示すように、可動フレーム４１は、ガイド部２３の長手方向に沿って延在する断面略Ｌ字状の一対の可動フレーム部材４１ａ，４１ｂで構成されている。可動フレーム部材４１ａ，４１ｂは、それぞれＬ字状の内側をガイド部２３側に向けてガイドフレーム２５の長手方向に沿う両側部にねじ締結されている。これにより、ガイド部２３と可動フレーム部材４１ａ，４１ｂとの間には、ガイドフレーム２５の側面から側方に延出する一定幅の水平面と、断面矩形の溝状空間Ｓａ，Ｓｂとが画定される。
【００３８】
ガイドフレーム２５に固定された可動フレーム部材４１ａ，４１ｂの上端部は、長手方向の全長に亘って内側すなわちガイドフレーム２５側に直角に折曲され一定狭幅の折曲板部４３ａ，４３ｂを構成している。可動フレーム部材４１ａ，４１ｂのＬ字状の垂直な内面には、その上端から少し下がった高さ位置に、該内面からガイドフレーム２５側に直角に延出する一定狭幅の突板部４４ａ，４４ｂが、長手方向の両端部を除く略全長に亘って一体に形成されている。これにより、可動フレーム部材４１ａ，４１ｂの上端部内側には、折曲板部４３ａ，４３ｂと突板部４４ａ，４４ｂとの間に隙間が、長手方向の両端部を除く略全長に亘って画定される。この隙間には、前部カバー４ｃおよび後部カバー４ｄの前後側辺部が左右方向の略全長に亘って挿入され、操作部３が前後方向（Ｙ軸後方向）に移動するときに、その移動に合わせて蛇腹構造の前部カバー４ｃおよび後部カバー４ｄを伸縮させるためのガイドとなる。
【００３９】
図２および図４に示すように、可動フレーム部材４１ａ，４１ｂの長手方向の両端部は、突板部４４ａ，４４ｂより下側の部分が切り欠かれており、切欠残部が長手方向の突出部４５ａ，４５ｂを構成している。突出部４５ａ，４５ｂは、アクチュエータ機構２０をケーシング６内に収容したときに、それぞれケーシング６の正面および背面側内壁（正面フレーム６ａ、背面フレーム６ｂ）の折曲板部１７ａ，１７ｂと段差面１６ａ，１６ｂとで画定された隙間内に余裕をもって挿入される。
【００４０】
（５）操作部３
図５に示すように、操作部３はアクチュエータ機構２０の上方に取り付けられている。操作部３は、比較的短い垂直な操作ロッド４８と、その上端部に設けられたハンドル部材４９とで構成されている。ハンドル部材４９は、使用者Ｕが片手で掴むことができるように、比較的厚いディスク状に形成されている。なお、ハンドル部材４９は、本実施形態では、使用者Ｕが掴んだ手で回すことができるように、操作ロッド４８を中心に回動可能に取り付けられているが、固定するようにしてもよい。操作ロッド４８は、その下端部側で操作ロッド４８に作用する力（ハンドル部材４９に作用する力）を検出する力センサ５１と一体化されている。
【００４１】
図５および図６に示すように、操作部３は取付プレート５２に取り付けられている。取付プレート５２は、矩形の板状部材からなり、可動フレーム４１の長手方向に直交する幅方向に可動フレーム４１の内幅より若干小さい寸法を有する。取付プレート５２の、可動フレーム４１の長手方向に沿う両側部は、下面側が直角に切除されており、切除残部が折曲板部４３ａ，４３ｂと突板部４４ａ，４４ｂとで画定された隙間の高さ寸法より小さな寸法の側辺部５４ａ，５４ｂを構成している。
【００４２】
取付プレート５２は、側辺部５４ａ，５４ｂが折曲板部４３ａ，４３ｂと突板部４４ａ，４４ｂとで画定された隙間内に余裕をもって挿入され、ガイド部２３と可動フレーム部材４１ａ，４１ｂとの間に画定された溝状空間Ｓａ，Ｓｂを横断するようにスライダブロック２７に取り付けられている。
【００４３】
（６）力センサ５１
力センサ５１には、検出原理の異なる種々のタイプが知られているが、本実施形態では、力センサ５１として歪みゲージを用いた市販の６軸力覚センサが採用されている。歪みゲージは図示を省略した起歪体に貼り付けられている。起歪体は、力とトルクを受けて変形する部材であり、６軸力覚センサの性能を左右する重要な部材である。
【００４４】
一般に、６軸力覚センサは、力とトルク（モーメント）の大きさと方向を３次元空間ベクトルで示すセンサであり、直交するＸ，Ｙ，Ｚ軸方向の力Ｆ０（Ｆｘ，Ｆｙ，Ｆｚ）およびこれら３軸周りに作用するトルクＴ（Ｔｘ，Ｔｙ，Ｔｚ）を検出する。また、演算により接触情報も求め得る有用なセンサである。市販の６軸力覚センサは、通常、固定側の基部と、検出すべき外力を受けるための検知部とを有している。
【００４５】
本実施形態では、６軸力覚センサのＸ軸およびＹ軸が、アクチュエータ機構２０のＸ軸方向およびＹ軸方向とそれぞれ一致するように配置されている。また、図５に示すように、力センサ５１は概ね短円柱状の基部とその上面に設けられた検知部とを有している。力センサ５１の検知部には、その上面中央に操作ロッド４８が垂直に固定されている。力センサ５１の基部は、取付プレート５２を介してＹ軸方向アクチュエータ２１のスライダブロック２７と一体化されている。
【００４６】
力センサ５１は、使用者Ｕの上肢が操作部３を動かしまたは操作部３により動かされるときに、操作ロッド４８が使用者Ｕの上肢から直接受ける力Ｆ０および各軸周りに作用するトルクＴを、（Ｆｘ，Ｆｙ，Ｆｚ，Ｔｘ，Ｔｙ，Ｔｚ）として検出可能に構成されている。なお、本実施形態では、後述するように、力センサ５１を、操作部３に作用するＸ軸方向の力Ｆｘ、Ｙ軸方向の力ＦｙおよびＺ軸方向の力Ｆｚ（厳密には、操作部３に作用する力Ｆ０のＸ軸方向のベクトル成分Ｆｘ、Ｙ軸方向のベクトル成分ＦｙおよびＺ軸方向のベクトル成分Ｆｚ）、すなわち（Ｆｘ，Ｆｙ，Ｆｚ）の検出のみに使用する。
【００４７】
（７）リミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂ
図２に示すように、運動訓練装置１は、Ｙ軸方向アクチュエータ２１による操作部３のＹ軸方向の可動範囲を制限するために、一対のリミットセンサ５５ａ，５５ｂを有している。リミットセンサ５５ａ，５５ｂは、ガイド部２３と一方（図２右側）の可動フレーム部材４１ｂとの間の水平面上に、それぞれケーシング６の正面および背面側内壁の内側に配置されている。
【００４８】
リミットセンサ５５ａ，５５ｂには、アームレバーを水平方向に回動可能にばね付勢した公知の構造が採用されている。図６に示すように、取付プレート５２の下面には、リミットセンサ５５ａ，５５ｂのアームレバーを回動させるための作動ブロック５６が突設されている。操作部３がＹ軸方向に移動して作動ブロック５６がアームレバーを回動させると、リミットセンサ５５ａ，５５ｂはオン状態となる。
【００４９】
また、運動訓練装置１は、図２に示すように、Ｘ軸方向アクチュエータ２２によるＹ軸方向アクチュエータ２１のＸ軸方向の可動範囲を制限するために、一対のリミットセンサ６１ａ，６１ｂを有している。リミットセンサ６１ａ，６１ｂは、背面側の左右補強部材１４ａ上に、それぞれケーシング６の左右側内壁の内側に配置されている。
【００５０】
リミットセンサ６１ａ，６１ｂも、アームレバーを水平方向に回動可能にばね付勢した公知の構造を有している。図７に示すように、一方（図２の左側）の可動フレーム部材４１ａの下面には、リミットセンサ６１ａ，６１ｂのアームレバーを回動させるための作動ブロック６２が取付プレート６３を介して突設されている。操作部３がＹ軸方向アクチュエータ２１とともにＸ軸方向に移動して作動ブロック６２がアームレバーを回動させると、リミットセンサ６１ａ，６１ｂはオン状態となる。
【００５１】
図８は、アクチュエータ機構２０における操作部３のＸ軸およびＹ軸方向の可動範囲を示したものである。また、図１０は、ＸＹ平面での操作部３の可動範囲とリミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂとの関係を示している。
【００５２】
図１０に示すように、作動ブロック５６がリミットセンサ５５ａ，５５ｂのアームレバーに当接する位置、および、作動ブロック６２がリミットセンサ６１ａ，６１ｂに当接する位置をＸＹ平面上で表すと、斜線で表した領域の境界線となる。この斜線で表した操作部３が移動可能なＸＹ平面での中心部を含む領域は、使用者Ｕの運動訓練が可能な領域であり、本実施形態では表示装置８０（図１１参照）が操作者Ｕの運動訓練中または訓練後の操作部３の軌跡や負荷変動を表示（提示）可能な領域でもあることから、以下、この領域を力覚提示エリアＡｆという。
【００５３】
リミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂのアームレバーは、それぞれ作動ブロック５６，６２が当接しリミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂがオン状態に移行した後、なおも回動可能に構成されており、アームレバーの回動限界がＸ軸およびＹ軸方向アクチュエータ２２，２１の機械的動作限界となる。この機械的動作限界の位置をＸＹ平面上で表すと、図１０の外枠となる。以下、力覚提示エリアＡｆの外側かつ図１０の外枠内の領域を安全対策エリアＡｓという。また、図１０では、安全対策エリアＡｓ内に、リミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂがオン状態に移行する位置を破線で示している。
【００５４】
なお、本実施形態では、力覚提示エリアＡｆの寸法が５００［ｍｍ］×５００［ｍｍ］に設定されている。また、力覚提示エリアＡｆの境界線からリミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂがオン状態に移行する位置までの距離Ｄ１がＸ軸およびＹ軸方向ともに６０［ｍｍ］、力覚提示エリアＡｆの境界線からＸ軸およびＹ軸方向アクチュエータ２２，２１の機械的動作限界までの距離Ｄ２がＸ軸およびＹ軸方向ともに１００［ｍｍ］に設定されている。
【００５５】
（８）ホームポジションセンサ５７，６４
図２に示すように、運動訓練装置１は、操作部３のＸ軸方向の初期位置を設定するためのホームポジションセンサ６４を有している。ホームポジションセンサ６４は、ケーシング６の背面側の左右補強部材１４ａ上に、リミットセンサ６１ｂよりも中央寄りに配置されている。図７に示すように、可動フレーム部材４１ａの下面には、垂直下向きに突出する板状のセンサフラグ部材６５が、操作部３をＸ軸方向に移動させたときに、ホームポジションセンサ６４の投光部と受光部の間隙を通過し得るように、取付プレート６３に取り付けられている。
【００５６】
また、運動訓練装置１は、図２に示すように、操作部３をＹ軸方向の初期位置を設定するためのホームポジションセンサ５７を有している。ホームポジションセンサ５７は、可動フレーム部材４１ｂとの間の水平面上に、リミットセンサ５５ａよりも背面寄りに配置されている。取付プレート５２には、Ｘ軸方向のセンサフラグ部材６５と同様に、垂直下向きに突出する板状のセンサフラグ部材（不図示）が、操作部３をＹ軸方向に移動させたときに、ホームポジションセンサ５７の投光部と受光部の間隙を通過し得るように取り付けられている。
【００５７】
ホームポジションセンサ６４，５７は、小さな隙間をもって対向配置した投光部と受光部とを有する透過一体型センサであり、本実施形態では、受光部に入光するとオフ状態、受光部が遮光されるとオン状態となるものが用いられている。
【００５８】
図９は、操作部３がホームポジションに位置した状態を示している。図９に示すように、操作部３のホームポジションは、Ｘ軸およびＹ軸方向アクチュエータ２２，２１の交差中央位置を基準としたときに、Ｙ軸方向で正面寄りかつＸ軸方向で右寄りに設定されている。このため、使用者Ｕは、図１に示すように運動訓練装置１の正面に位置したときに、右手ＨＲを前に伸ばすと直ぐに操作部３のハンドル部材４９に触れることができる。
【００５９】
（９）電気系
さらに、運動訓練装置１は、ケーシング６内に、運動訓練装置１を制御する制御部７０（図１１参照）と、商業交流電力から上述した機構部および制御部７０を駆動／作動させるための直流電力に変換する電源部（不図示）とを備えている。
【００６０】
１．２．制御部
１．２．１．制御部概要
図１１に示すように、制御部７０は、高速演算を行うＣＰＵ、基本制御プログラムおよびプログラムデータを記憶したＲＯＭ、ＣＰＵのワークエリアとして働くとともに種々のデータを一時的に記憶するＲＡＭおよびこれらを接続する内部バスで構成されたＭＣＵ７１を有している。
【００６１】
ＭＣＵ７１の内部バスは外部バスに接続されている。外部バスには、Ｘ軸およびＹ軸方向駆動モータ３８，３０の駆動を制御する駆動制御部７２、上述した各センサからの信号を処理する信号処理部７３、大容量フラッシュメモリやハードディスク等の不揮発性メモリ７４、マウスやキーボード等の入力装置７９から入力された情報を制御する入力制御部７５、ディスプレイ等の表示装置８０への表示（描画）を制御する表示制御部７６、状態表示ランプ９ａ〜９ｃを点灯させるランプ点灯回路７７およびインターフェース（Ｉ／Ｆ）８１を介してノートパソコン等の外部装置との通信を制御する通信制御部７８が接続されている。
【００６２】
１．２．２．制御部詳細
（１）駆動制御部７２
駆動制御部７２は、Ｘ軸方向駆動モータ３８の駆動を制御するＸ軸方向モータドライバと、Ｙ軸方向駆動モータ３０の駆動を制御するＹ軸方向モータドライバとで構成されている。Ｘ軸およびＹ軸方向モータドライバはそれぞれ制御ＩＣ（不図示）を有している。各制御ＩＣは、ＭＣＵ７１から指令された電流値（出力電流Ｉｉ、デューティ）に従って、Ｘ軸またはＹ軸方向駆動モータ３８，３０への電力供給を制御する（図１３（Ｂ）も参照）。
【００６３】
（２）信号処理部７３
信号処理部７３は、信号処理ＩＣ（不図示）で力センサ５１から出力された信号を処理しＭＣＵ７１に出力する。すなわち、６軸力覚センサに設けられた歪みゲージの信号をブリッジ回路で電圧（変化）信号に変換し、ローパスフィルタ（ＬＰＦ）で高周波ノイズを除去した後、オペアンプ等の増幅回路で微弱な信号を増幅する。次に、増幅された信号をＡ／Ｄコンバータでデジタル値に変換し、信号処理ＩＣで歪み−荷重変換行列演算を行って力とトルクの分力（Ｆｘ，Ｆｙ，Ｆｚ，Ｔｘ，Ｔｙ，Ｔｚ）を算出する。
【００６４】
ただし、本実施形態では、ＭＣＵ７１が操作部３に作用するＸ軸方向の力Ｆｘ、Ｙ軸方向の力ＦｙおよびＺ軸方向の力Ｆｚのみを使用するため、信号処理部７３は演算した（Ｆｘ，Ｆｙ，Ｆｚ）の値をＭＣＵ７１に出力する。なお、本実施形態では、上述したＡ／Ｄコンバータのサンプリングレートが１０［ｍｓ］に設定されているため、信号処理部７３は１０［ｍｓ］ごとに（Ｆｘ，Ｆｙ，Ｆｚ）の値をＭＣＵ７１に出力する。
【００６５】
さらに、信号処理部７３は、エンコーダ３０ａ，３８ａから出力されたパルス数をカウントしたカウント値と回転方向のデフォルト値（例えば、Ｘ軸またはＹ軸方向駆動モータ３８，３０が正転とき０、逆転のとき１）とをＭＣＵ７１に出力する。
【００６６】
また、信号処理部７３は、ホームポジションセンサ５７，６４がオン状態となったか（ホームポジションを検出したか）、および、リミットセンサ５５ａ，５５ｂ，６１ａ，６１ｂがオン状態となったか否かを表すデフォルト値（例えば、オフ状態のときのデフォルト値が０、オン状態のときのデフォルト値が１）をＭＣＵ７１に出力する。
【００６７】
さらに、信号処理部７３は、マニュアル操作ボタン１０ａ〜１０ｃが押下された否かを監視して（マニュアル操作ボタン１０ａ〜１０ｃの押下を検出する各スイッチング素子の出力がハイレベルとなったか否かを参照して）、デフォルト値（例えば、オフ状態のときのデフォルト値が０、オン状態のときのデフォルト値が１）をＭＣＵ７１に出力する。なお、各スイッチング素子の出力側と上述した信号処理ＩＣの入力側との間には、信号処理ＩＣの破損を防止するために保護抵抗が挿入されている。
【００６８】
本実施形態では、力センサ５１の（Ｆｘ，Ｆｙ，Ｆｚ）の値が１０［ｍｓ］ごとにＭＣＵ７１に出力されることから、この周期に合わせて以上の信号情報をＭＣＵ７１に出力する。すなわち、信号処理部７３は、例えば、（Ｆｘ，Ｆｙ，Ｆｚ，エンコーダ３８ａのカウント値，Ｘ軸方向駆動モータ３８の回転方向のデフォルト値，エンコーダ３０ａのカウント値，Ｙ軸方向駆動モータ３０の回転方向のデフォルト値，ホームポジションセンサ５７の状態のデフォルト値，ホームポジションセンサ６４の状態のデフォルト値，リミットセンサ５５ａの状態のデフォルト値，リミットセンサ５５ｂの状態のデフォルト値，リミットセンサ６１ａの状態のデフォルト値，リミットセンサ６１ｂの状態のデフォルト値，緊急停止ボタン１０ａの状態のデフォルト値，一時停止ボタン１０ｂの状態のデフォルト値，イニシャルボタン１０ｃの状態のデフォルト値）で表される信号情報を１０［ｍｓ］ごとにＭＣＵ７１に出力する。
【００６９】
なお、ＭＣＵ７１は、緊急停止ボタン１０ａ、一時停止ボタン１０ｂの状態のデフォルト値が緊急停止ボタン１０ａ、一時停止ボタン１０ｂが押下されたことを表すときには、駆動制御部７２を介してＸ軸およびＹ軸方向駆動モータ３８，３０の駆動を停止させるように制御する。また、ＭＣＵ７１は、緊急停止ボタン１０ａが押下されたときは、後述する軌跡設定ルーチン、負荷検出ルーチンおよび運動訓練ルーチンを直ちに終了する。
【００７０】
また、ＭＣＵ７１は、イニシャルボタン１０ｃの状態を表すデフォルト値がイニシャルボタン１０ｃが押下されたことを表すときには、操作部３をホームポジションに位置付けるため、駆動制御部７２を介して予め設定された速度でＸ軸およびＹ軸方向駆動モータ３８，３０を駆動させ、信号処理部７３から出力されたホームポジションセンサ５７のデフォルト値、ホームポジションセンサ６４のデフォルト値がそれぞれホームポジションに位置することを表すデフォルト値となったときに、Ｘ軸およびＹ軸方向駆動モータ３８，３０の駆動を個別に停止させる。
【００７１】
（３）ランプ点灯回路７７
ランプ点灯回路７７は、緑色ＬＥＤ９ａ、白色ＬＥＤ９ｂ、赤色ＬＥＤ９ｃを点灯させる３つの点灯回路で構成されている。各点灯回路はＭＯＳＦＥＴ等のスイッチング素子を有しており、ＭＣＵ７１が運動訓練装置１の状態に応じてデジタル信号（ハイレベル信号）をスイッチング素子のゲートに出力することでオン状態となり、緑色ＬＥＤ９ａ、白色ＬＥＤ９ｂおよび赤色ＬＥＤ９ｃを個別に点灯させる。なお、各スイッチング素子のゲートとＭＣＵ７１との間には、ＭＣＵ７１の破損を防止するために保護抵抗が挿入されている。
【００７２】
（４）その他
不揮発性メモリ７４、入力制御部７５、表示制御部７６および通信制御部７８には公知のものを用いることができる。付言すると、不揮発性メモリ７４は、使用者Ｕの個人データや運動訓練履歴等の運動訓練に関するデータを保存する。また、表示制御部７６は、ＭＣＵ７１の処理周期（１０［ｍｓ］）が表示装置８０の垂直帰線周期と相違することから、垂直帰線周期と一致した１／６０［ｓ］（１６．６［ｍｓ］）に一度の周期で行われる垂直帰線割込（Vsync）がなされたか否かを判断し、否定判断のときはＭＣＵ７１から指令された描画情報を追加し、肯定判断のときは現在の描画情報を表示装置８０に出力する。
【００７３】
２．動作
次に、本実施形態の運動訓練装置１の動作について説明する。
【００７４】
２．１．動作制御概要
図１２に示すように、後述する能動訓練モードにおいて、ＭＣＵ７１は、信号処理部７３から出力された操作部３に作用するＸ軸方向の力Ｆｘ、Ｙ軸方向の力ＦｙおよびＺ軸方向の力Ｆｚ（Ｆｘ，Ｆｙ，Ｆｚ）から、仮想モデルＩＭを介して操作部３に発生させるべきＸ軸方向の速度ｖｖｘおよびＹ軸方向の速度ｖｖｙを算出し、駆動制御部７２に出力する。
【００７５】
仮想モデルＩＭは下記式（１）で表される。
【数３】
2020089624.tif 000005
【００７６】
式（１）上段は粘性抵抗を考慮したときの操作部３に発生させるべき速度ｖｖの算出式を示し、下段は粘性抵抗を考慮しないときの操作部３に発生させるべき速度ｖｖの算出式を示す。ｍは操作部３の仮想質量［ｋｇ］、ｃは粘性係数［ｋｇ／ｓ］、ｖｖはＸ軸およびＹ軸方向駆動モータ３８，３０の駆動力で操作部３に発生させるべき速度［ｍ／ｓ］、ｖｖｓｔはエンコーダ３８ａ，３０ａを介して検出された操作部３の速度［ｍ／ｓ］、ｋＦは力センサ５１で検出されたＺ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数である。
【００７７】
上記式（１）は次のように求められる。操作部３に発生させるべき力は、下式（２）に示すように、運動方程式によって表される。式（２）上段は粘性抵抗を有するＸＹ平面での運動方程式を表し、下段は粘性抵抗を有しないＸＹ平面での運動方程式を表す。式（２）に示す運動方程式から、操作部３に発生させるべき速度ｖｖは下式（３）で算出することができる。なお、式（３）において、ｖｖｓｔは操作部３の現在の速度（エンコーダ３８ａ、３０ａを介して把握した操作部３の速度）であり、上段は粘性抵抗を有するＸＹ平面を模擬したときの操作部３に発生させるべき速度ｖｖ、下段は粘性抵抗を有しないＸＹ平面で操作部３に発生させるべき速度ｖｖである。
【数４】
2020089624.tif 000006
【００７８】
式（３）上段において、力センサ５１で検出されたＺ軸方向の力Ｆｚを仮想質量ｍに掛けることで、Ｚ軸方向の力Ｆｚの大きさに応じて操作部３に発生させるべき速度を可変とする。つまり、Ｚ軸方向の力Ｆｚが大きくなればなるほど、操作部３に発生させるべき速度ｖｖは遅くなり、使用者Ｕは操作部３が重くなったように感じる。さらに、Ｚ軸方向の力Ｆｚをどの程度反映させるかを決める重み係数ｋＦを設ける。重み係数ｋＦは反映度合いに応じて任意の値とすることができる。これにより、上述した式（１）を得ることができる。なお、力センサ５１が検出するＸ軸およびＹ軸方向の力（Ｆｘ，Ｆｙ）は、Ｘ軸およびＹ軸方向駆動モータ３８，３０の駆動力により操作部３に発生させるべき力の分力として検出される。
【００７９】
図１３に示すように、仮想モデルＩＭを用いて算出した操作部３に発生させるべき速度（ｖｖｘ，ｖｖｙ）を指令速度とし、駆動制御部７２によって実際の操作部３の速度（ｖｘ，ｖｙ）を指令速度に追随させることで仮想運動環境を具現する。
【００８０】
ここで、Ｘ軸およびＹ軸方向駆動モータ３８，３０にＤＣサーボモータを用いることから駆動制御部７２（モータドライバ）の制御モードをＰＩＤ制御に設定することで、指令速度に高精度に追随させることができる。しかし、仮想質量ｍを小さくして訓練負荷を小さく設定した場合には、ＰＩＤ制御の積分動作による応答遅れが影響し、操作中に操作部３が振動的になることが確認されている。そこで、力覚提示エリアＡｆにおいて、制御モードを、ＰＩＤ制御から偏差の積分値に比例した出力（電流値）を算出するための積分項を除いたＰＤ制御（またはさらに偏差の微分値に比例した出力を算出するための微分項を除いたＰ制御）とし比例ゲイン（Ｋｐ）を高く設定することで、定常偏差は生じるものの応答性が改善され、操作中に生じる操作部３の振動を抑制する。
【００８１】
一方、指令速度（ｖｖｘ，ｖｖｙ）対する定常偏差が大きいと、操作部３の機械的動作限界（図１０参照）に対する位置精度が低下することから、操作部３が運動訓練装置１の機械的作動限界に衝突して使用者Ｕや運動訓練装置１に衝撃に与えるおそれがある。この場合、操作部３の振動を抑制するためにフィルタ等を設けることも考えられるが、同様に応答遅れが影響し位置精度が低下する。このような衝撃を未然に防止するために、機械的動作限界に対して操作部３の力覚提示エリアＡｆの境界線の設定に大きな余裕をとる必要があるが、その結果、力覚提示エリアＡｆが極端に狭くなってしまう。そこで、位置精度を重視すべき領域（上述した安全対策エリアＡｓ）では、ＰＩＤ（またはＰＩ）制御とする。
【００８２】
２．２．動作詳細
次に、本実施形態の運動訓練装置１の動作についてＭＣＵ７１のＣＰＵ（以下、ＣＰＵという。）を主体として説明する。
【００８３】
運動訓練装置１により使用者Ｕが運動訓練を行う際には、（１）使用者Ｕが操作部３を掴みその上から訓練指導者が使用者Ｕの手をとって使用者Ｕの上肢状況に応じた動作範囲で操作部３を移動させることで、操作部３が辿る軌跡を設定するための軌跡設定モードと、（２）使用者Ｕのみが操作部３を掴み軌跡設定モードで設定された軌跡を辿ることで、使用者Ｕによる操作部３の位置（軌跡）とそのときに操作部３が受ける負荷とを検出するための負荷検出モードと経て、（３）運動訓練モードで行われる。なお、以下では、各モードでのＣＰＵによる制御がなされる前に、イニシャルボタン１０ｃが押下され操作部３はホームポジションに位置しているものとして説明する。
【００８４】
（１）軌跡設定モード
ＣＰＵは、軌跡設定モードにおいて、図１４に示す軌跡設定ルーチンを実行する。軌跡設定ルーチンでは、まずステップ（以下、Ｓと略称する。）１０２において、駆動制御部７２を介してＸ軸およびＹ軸駆動モータ３８，３０を励磁させる。操作部３は減速ギアユニット３９，３１を介してＸ軸およびＹ軸駆動モータ３８，３０に連結されているため、訓練指導者の主導で使用者Ｕが操作部３を移動させる際に使用者Ｕには所定の負荷が掛かる。なお、Ｓ１０２または次に述べるＳ１０４により前に、使用者Ｕが訓練指導者の主導によって辿る予定の全体軌跡（参照軌跡）を予め表示装置８０に表示するようにしてもよい。
【００８５】
次にＳ１０４で上述した信号情報を取り込み、Ｓ１０６において操作部３の位置（Ｐｘ，Ｐｙ）を算出する。すなわち、ＣＰＵは、信号情報に含まれるエンコーダ３８ａのカウント値を一周期（１０［ｍｓ］）前のカウント積算値に積算することで操作部３のＸ軸方向の位置Ｐｘを算出し、同様に、信号情報に含まれるエンコーダ３０ａのカウント値を一周期前のカウント積算値に積算することで操作部３のＹ軸方向の位置Ｐｙを算出する。その際、信号情報に含まれるＸ軸およびＹ軸方向駆動モータ３８，３０の回転方向のデフォルト値を参照してカウント値を加算するか減算するかを判断する。
【００８６】
次いでＳ１０８において、操作部３の移動が終了したか否かを判断する。すなわち、操作部３の位置（Ｐｘ，Ｐｙ）が予め設定された設定時間（例えば、１．５［ｓ］の間）、ほぼ同じ値か否かを判断し、否定判断のときは次の（１０［ｍｓ］後の）操作部３の位置を検出するためにＳ１０４に戻り、肯定判断のときはＳ１１０に進む。従って、ＣＰＵは、１０［ｍｓ］ごとに操作部３の位置（Ｐｘ，Ｐｙ）を算出する。
【００８７】
Ｓ１１０では、１０［ｍｓ］ごとに算出した操作部３の位置（Ｐｘ，Ｐｙ）のデータを時系列順に並べた軌跡情報Ｉ１として不揮発性メモリ７４に保存して軌跡設定ルーチンを終了する。その際、ＣＰＵは、Ｓ１０８で説明した設定時間の操作部３の位置（Ｐｘ，Ｐｙ）のデータを削除して不揮発性メモリ７４に保存する。
【００８８】
（２）負荷検出モード
ＣＰＵは、負荷検出モードにおいて、図１５に示す負荷検出ルーチンを実行する。負荷設定ルーチンでは、Ｓ２０２で不揮発性メモリ７４に保存した軌跡情報Ｉ１を読み出し、次のＳ２０４において操作部３が軌跡情報Ｉ１の位置となるように（操作部３が移動軌跡設定モードで設定された軌跡を再現するように）駆動制御部７２を介してＸ軸およびＹ軸方向駆動モータ３８，３０を駆動させる。すなわち、軌跡情報Ｉ１の処理対象の現在の位置と軌跡情報Ｉ１の次の位置とのそれぞれＸ軸方向およびＹ軸方向の距離をこの間の移動時間１０［ｍｓ］で割ることで求めた指令速度を駆動制御部７２に出力する。
【００８９】
次にＳ２０６で信号情報を取り込み、Ｓ２０８において信号情報に含まれるエンコーダ３８ａ，３０ａのカウント値を積算することで操作部３の位置（Ｐｘ，Ｐｙ）を算出する。次いでＳ２１０で信号情報に含まれる、操作部３に作用するＸ軸およびＹ軸方向の力（Ｆｘ，Ｆｙ）を合成した合成力Ｆ０を算出する。次のＳ２１２では、Ｓ２０８で算出した操作部３の位置（Ｐｘ，Ｐｙ）およびＳ２１０で算出した合成力Ｆ０（負荷）を表示制御部７６に出力して表示装置８０に操作部３の位置および負荷を表示させる。このとき、表示制御部７６は一周期前の画情報に今回（直近）の描画情報を追加した画情報を生成するとともに、予め定められた画像表示上の原点位置を基準に平行移動処理を行う。
【００９０】
次にＳ２１４において、Ｓ２０２で読み出した軌跡情報Ｉ１の最後の位置に操作部３を位置付ける処理を行ったか否かを判定することで操作部３の移動が終了したか否かを判断する。否定判断のときは負荷検出を続行するためにＳ２０４に戻り、肯定判断のときはＳ２１６に進む。Ｓ２１６では、１０［ｍｓ］ごとに算出した操作部３の位置（Ｐｘ，Ｐｙ）のデータおよび操作部３に作用する力（Ｆｘ，Ｆｙ，Ｆ０）のデータを時系列順に並べた軌跡-負荷情報Ｉ２（Ｐｘ，Ｐｙ，Ｆｘ，Ｆｙ，Ｆ０）として不揮発性メモリ７４に保存して負荷設定ルーチンを終了する。
【００９１】
図１９は、Ｓ２１４における肯定判断時点で表示装置８０に描画された画面を模式的に示した（合成力Ｆ０（負荷）を絶対値｜Ｆ０｜で示した）もので、画面上部には使用者Ｕが操作部３を移動させて辿った軌跡、下部には時間軸を横軸にとったときの軌跡の各位置における負荷変動が表示されている。図１９の例では、時刻Ｔ１から時刻Ｔ２の範囲で、使用者Ｕから操作部３に大きな力が加わったことが示されている。表示制御部７６は、ＣＰＵの指示（ＣＰＵから出力される閾値情報）に従って、例えば、Ｓ２１４における肯定判断後にこの範囲の表示の色を変えるように表示装置８０を制御してもよい。或いは、図１９に示すように、鎖線で囲って強調するようにしてもよい。時刻Ｔ１から時刻Ｔ２の範囲での軌跡を参照すると、使用者Ｕが操作部３をうまく操作できないと推測でき、運動訓練者はこのデータを参照して使用者Ｕの運動訓練プログラムを作成することができる。
【００９２】
（３）運動訓練モード
ＣＰＵは、運動訓練モードにおいて、図１６に示す運動訓練ルーチンを実行する。なお、運動訓練モードには、使用者Ｕが自ら軌跡-負荷情報Ｉ２の軌跡をなぞるように操作部３を移動させる能動訓練モードと、自動的に軌跡-負荷情報Ｉ２の軌跡を辿る操作部３に引っ張られて運動する受動訓練モードとがある。受動訓練モードは主としてリハビリ中の人を対象とする運動訓練モード、能動訓練モードはリハビリ最終段階の人や健常者を対象とする運動訓練モードとして想定されている。なお、運動訓練装置１は、健常者の運動訓練にも対応可能なようにＦｘ、Ｆｙの最大値：９０［Ｎ］、最大加速度：８［ｍ／ｓ２］、最大速度：１．２４［ｍ／ｓ］に設定されている。
【００９３】
運動訓練ルーチンでは、まずＳ３０２において、不揮発性メモリ７４に保存した軌跡-負荷情報Ｉ２を読み出す。次いでＳ３０４で能動訓練モードおよび受動訓練モードのいずれを選択するかを問い合わせる画面を表示装置８０に表示させ、Ｓ３０６でいずれかの選択（入力）があるまで待機する（Ｓ３０６で否定判断）。選択があると（Ｓ３０６で肯定判断）、次のＳ３０８において能動訓練モードが選択されたか否かを判断し、肯定判断のときはＳ３１０に進み、否定判断のときはＳ３２８に進む。
【００９４】
Ｓ３１０では、調整値情報を要求する画面を表示装置８０に表示させる。この調整値は、上述した仮想モデルＩＭを表す式（１）のパラメータ（仮想質量ｍ、粘性係数ｃ、重み係数ｋＦ）であるが、本実施形態では、表示装置８０に、例えば運動量や粘性抵抗の大きさに応じて予め定めた幾とおりかの選択子にその説明（例えば、運動量：大、粘性抵抗：中）を加えた画面を表示したり、運動量や粘性抵抗の大きさを調整可能に表したレベルメータを表示したりすることでパラメータの入力を容易にしている。
【００９５】
次にＳ３１２において、調整値情報の入力があるまで待機し（Ｓ３１２で否定判断）、入力があると（Ｓ３１２で肯定判断）、次のＳ３１４において調整値情報を取り込んで上述したパラメータの値を確定させる。このとき、ＣＰＵは、操作部３の振動を抑制するために、操作部３の仮想質量ｍが予め設定された設定値（例えば、４［ｋｇ］）未満のときに、操作部３の仮想質量ｍをこの設定値とする。
【００９６】
次いでＳ３１６において、上述した信号情報を監視して操作部３にＺ軸方向の力Ｆｚが作用したか否か、および、操作部３の位置がホームポジションから移動したか否かを判定することで、能動訓練が開始されたか否かを判断する。なお、能動訓練開始前（Ｓ３１６の判定でいずれかが否定判定のとき）は、Ｘ軸およびＹ軸方向駆動モータ３８，３０は励磁状態にあり、操作部３はホームポジション（０，０）に位置している。
【００９７】
能動訓練が開始されると（Ｓ３１６の判定で双方が肯定）、Ｓ３１８で信号情報を取り込み、Ｓ３２０において信号情報に含まれるエンコーダ３８ａ，３０ａのカウント値を積算することで操作部３の位置（Ｐｘ，Ｐｙ）を算出する。また、Ｓ３２０では、信号情報に含まれるエンコーダ３８ａ，３０ａのカウント値、すなわちＸ軸およびＹ軸方向駆動モータ３８，３０の回転速度（と減速ギアユニット３９，３１の減速ギア比と）から操作部３の実際の速度（ｖｘ，ｖｙ）を算出する。
【００９８】
次のＳ３２２では、駆動制御部７２に指令を与えるための駆動指令処理を実行する。図１７は、Ｓ３２２の駆動指令処理の詳細を示す駆動指令処理サブルーチンのフローチャートを示したものである。駆動指令処理サブルーチンでは、Ｓ４０２において、軌跡-負荷情報Ｉ２の軌跡位置とＳ３２０で算出した位置（Ｐｘ，Ｐｙ）との位置差（距離差）が予め定められた許容範囲内か否かを判断し、否定判断のときは使用者Ｕの上肢の運動範囲が広がり過ぎるとみなし駆動指令処理サブルーチンを終了して図１６のＳ３４２に進み、肯定判断のときはＳ４０４に進む。
【００９９】
Ｓ４０４では、信号情報に含まれる操作部３に作用する力（Ｆｘ，Ｆｙ）を合成した合成力Ｆ０を算出し、次のＳ４０６において、合成力Ｆ０の大きさ（絶対値）｜Ｆ０｜と、Ｓ３２０で算出した操作部３の位置（Ｐｘ，Ｐｙ）に最も近い軌跡-負荷情報Ｉ２の操作部３の位置における合成力Ｆ０の大きさ｜Ｆ０｜との差（負荷差）が予め定められた許容範囲内か否かを判断し、否定判断のときは使用者Ｕに予定以上の負担が掛り過ぎているとみなし駆動指令処理サブルーチンを終了して図１６のＳ３４２に進み、肯定判断のときはＳ４０８に進む。
【０１００】
Ｓ４０８では、Ｚ軸方向の力Ｆｚが予め設定された第１の閾値（例えば、５［Ｎ］）を越えるか否かを判断し、肯定判断のときは、Ｓ４１０で式（１）上段により指令速度（ｖｖｘ，ｖｖｙ）を算出してＳ４１４に進み、否定判断のときは、Ｓ４１２で式（１）下段により指令速度（ｖｖｘ，ｖｖｙ）を算出してＳ４１４に進む。指令速度（ｖｖｘ，ｖｖｙ）を算出する際には、合成力Ｆ０に対応する速度ｖｖを求め、その速度ｖｖをＸ軸およびＹ軸方向の速度ｖｖｘ，ｖｖｙに分解した指令速度（ｖｖｘ，ｖｖｙ）を算出する。なお、第１の閾値は例えば、０［Ｎ］としてもよく、その場合には、力センサ５１で検出したＺ軸方向の力Ｆｚのすべての値に対応して操作部３に発生させるべき速度、すなわち指令速度（ｖｖｘ，ｖｖｙ）が変化する。
【０１０１】
Ｓ４１４では、Ｓ３２０で算出した操作部３の位置（Ｐｘ，Ｐｙ）が力覚提示エリアＡｆ（図１０参照）内か否かを判断し、肯定判断のときは、Ｓ４１６においてＸ軸およびＹ軸方向駆動モータ３８，３０に対する駆動制御部７２（のモータドライバ）の制御モードをＰＤ制御またはＰ制御と決定し、否定判断のとき（安全対策エリアＡｓ内のとき）は、Ｓ４１８においてＸ軸およびＹ軸方向駆動モータ３８，３０に対する駆動制御部７２の制御モードをＰＩＤ制御またはＰＩ制御と決定する。
【０１０２】
次に、ＣＰＵは、Ｓ４２０において、Ｓ３２０で算出した操作部３の実際の速度（ｖｘ，ｖｙ）およびＳ４１０またはＳ４１２で算出した指令速度（ｖｖｘ，ｖｖｙ）、並びに、Ｓ４１６またはＳ４１８で決定した制御モードに従って出力電流Ｉｉすなわち駆動量を算出し、算出した出力電流Ｉｉ（デューティ）を駆動制御部７２に指令して駆動指令処理サブルーチンを終了し、図１６のＳ３２４に進む。
【０１０３】
ここで、図１３を参照してＳ４２０での出力電流Ｉｉの算出処理について簡単に補足する。図１３（Ａ）は駆動モータ制御の概念、図１３（Ｂ）はＣＰＵによる本実施形態での駆動モータ制御を示したものである。図１３（Ａ）に示すように、ＣＰＵは、操作部３の実際の速度が指令速度に追随するように、ａ）ＰＤ制御（Proportional-Differential Control）若しくはＰ制御（Proportional Control）、または、ｂ）ＰＩＤ制御（Proportional-Integral-Differential Control）若しくはＰＩ制御（Proportional-Integral Control）のいずれかの制御モードでＸ軸およびＹ軸方向駆動モータ３８，３０の駆動を制御する。
【０１０４】
このため、ＣＰＵは、図１３（Ｂ）に示すように、決定した制御モードに従って出力電流Ｉｉを算出する。すなわち、制御モードをＰＤ（Ｐ）制御と決定した場合には偏差の積分値に比例した電流分を加えず、ＰＩＤ（ＰＩ）制御と決定した場合には偏差の積分値に比例した電流分を加えて出力電流Ｉｉを算出する。その際、ＣＰＵは、ＭＣＵ７１のＲＯＭに格納されＲＡＭに展開された、指令速度、減速ギアユニット３１または減速ギアユニット３９の減速ギア比、モータの回転速度およびモータへの出力電流（デューティ）の関係を表した関係式を参照する。なお、本実施形態では、ＣＰＵは、一周期前に算出したモータの回転速度と、今回（直近に）検出された実際のモータの回転速度とから偏差を算出する。
【０１０５】
図１６のＳ３２４では、Ｓ３２０で算出した操作部３の位置（Ｐｘ，Ｐｙ）および図１７のＳ４０４で算出した合成力Ｆ０（負荷）、並びに、軌跡-負荷情報Ｉ２の位置（Ｐｘ，Ｐｙ）および軌跡-負荷情報Ｉ２の当該位置での合成力Ｆ０のデータを表示制御部７６に出力して表示装置８０に操作部３の軌跡および負荷変動を表示させる。なお、軌跡-負荷情報Ｉ２の位置および合成力Ｆ０のデータは、時系列順に纏められた軌跡-負荷情報Ｉ２（Ｐｘ，Ｐｙ，Ｆｘ，Ｆｙ，Ｆ０）の中から１０［ｍｓ］ごとに順次選択される。これにより、表示装置８０の画面上部には、負荷検出モードで操作者Ｕが操作部３を操作したときのスピードと能動訓練モードで操作部３を操作したときのスピードとの違いがリアルタイムで表示される。
【０１０６】
次にＳ３２６において、図１４のＳ１０８と同様に、操作部３の位置（Ｐｘ，Ｐｙ）が予め設定された設定時間、ほぼ同じ値か否かを判定することで、操作部３の移動が終了したか否かを判断する。否定判断のときは使用者Ｕの能動訓練を続行するためにＳ３１８に戻り、肯定判断のときはＳ３４２に進む。
【０１０７】
図２０は、Ｓ３２６における肯定判断時点で表示装置８０に描画された画面を模式的に示した（合成力Ｆ０を絶対値｜Ｆ０｜で示した）もので、画面上部には軌跡-負荷情報Ｉ２に従って表示された軌跡（実線）および使用者Ｕが軌跡-負荷情報Ｉ２の軌跡をなぞった際の軌跡（破線）、下部には時間軸を横軸にとったときの、軌跡-負荷情報Ｉ２に従って表示された負荷変動（実線）および使用者Ｕが軌跡-負荷情報Ｉ２の軌跡をなぞった際の負荷変動（破線）が表示されている。表示制御部７６は、ＣＰＵの指示に従って、例えば、Ｓ３２６における肯定判断後に実線と破線との表示の色を変えて表示装置８０に表示させるようにしてもよい。
【０１０８】
一方、図１６のＳ３０８で否定判断のときは、Ｓ３２８〜Ｓ３４０（受動訓練モード）での処理を実行する。Ｓ３２８〜Ｓ３４０での処理は、原則的にＳ３１０〜Ｓ３２６（能動訓練モード）での処理と同じである。以下、異なる点について説明する。なお、受動訓練モードでは、力センサ５１が検出するＸ軸およびＹ軸方向の力（Ｆｘ，Ｆｙ）は、Ｘ軸およびＹ軸方向駆動モータ３８，３０の駆動力と使用者Ｕが操作部３に及ぼす力の差分の分力として検出される。
【０１０９】
まず、能動訓練モードではＳ３１０〜Ｓ３１４で調整値情報を取り込んで所定値（静止摩擦エリア９０の半径の値）を算出するのに対し、受動訓練モードでは使用者Ｕが自動的に動く操作部３の動きに追随して運動することが目的のため、調整値は予め定められており上述した所定値は算出されない。このため、受動訓練モードではＳ３１０〜Ｓ３１４に対応するステップを欠く。
【０１１０】
また、Ｓ３１６に対応するＳ３２８では、信号情報を監視して操作部３にＺ軸方向の力Ｆｚが作用したか否かを判定することで、受動訓練が開始したか否かを判断する。肯定判断のときは、次のＳ３３０で駆動制御部７２を介してＸ軸およびＹ軸方向駆動モータ３８，３０の駆動を開始し、軌跡-負荷情報Ｉ２を構成する最初の位置（Ｐｘ，Ｐｙ）に操作部３を位置付ける。すなわち、軌跡-位置情報Ｉ２を構成する最初の位置（Ｐｘ，Ｐｙ）とホームポジション（０，０）とのそれぞれＸ軸方向およびＹ軸方向の距離をこの間の移動時間１０［ｍｓ］で割ることで求めた指令速度を駆動制御部７２に出力する。
【０１１１】
さらに、Ｓ３２２に対応するＳ３３６の駆動指令処理では、図１８に示すように、図１７のＳ４０２、Ｓ４１４〜Ｓ４１８に対応するステップを欠く。この理由も、受動訓練モードでは使用者Ｕが自動的に動く操作部３の動きに追随して運動することが目的のため、操作部３の移動範囲が図１０に示した力覚提示エリアＡｆ内に限られるからである。従って、Ｘ軸およびＹ軸方向駆動モータ３８，３０の制御モードはＰＤ（Ｐ）制御に定められている。
【０１１２】
また、図１８の駆動指令処理サブルーチンでは、図１７のＳ４０８〜Ｓ４１２に代えて、Ｓ４５６で指令速度を算出する。この指令速度は、図１６のＳ３０２で読み出した軌跡-位置情報Ｉ２の位置となるように１０［ｍｓ］ごとに指令速度を算出する。すなわち、軌跡-位置情報Ｉ２の処理対象の現在の位置と軌跡-位置情報Ｉ２の次の位置とのそれぞれＸ軸方向およびＹ軸方向の距離をこの間の移動時間１０［ｍｓ］で割ることで求めた指令速度を駆動制御部７２に出力する。従って、式（１）は用いられない。
【０１１３】
さらに、Ｓ３４０では、図１５のＳ２１４と同様に、軌跡-負荷情報Ｉ２の最後の位置に操作部３を位置付ける処理を行ったか否かを判定することで、操作部３の移動が終了したか否かを判断する。否定判断のときは受動訓練を続行するためにＳ３３２に戻り、肯定判断のときはＳ３４２に進む。
【０１１４】
Ｓ３４２ではＸ軸およびＹ軸方向駆動モータ３８，３０の駆動を停止させ、次のＳ３４２において運動訓練データを不揮発性メモリ７４に保存して運動訓練ルーチンを終了する。なお、運動訓練データは、使用者Ｕの上肢状況の参考のため、図１７のＳ４０２、Ｓ４０６、図１８のＳ４５４で否定判断されたときにも保存される。
【０１１５】
この運動訓練データには、１０［ｍｓ］ごとに算出した操作部３の位置（Ｐｘ，Ｐｙ）のデータおよび操作部３に作用する力（Ｆｘ，Ｆｙ，Ｆ０）のデータを加えた運動訓練軌跡-負荷情報Ｉ３、能動訓練モードの場合にはさらにＳ３１４で確定した調整値のデータが含まれる。運動訓練軌跡-負荷情報Ｉ３は、例えば、（Ｐｘ，Ｐｙ，Ｆｘ，Ｆｙ，Ｆ０）で表される１０［ｍｓ］ごとのデータを運動訓練開始時から終了時まで時系列順に並べたデータとなる。
【０１１６】
なお、図１５のＳ２０８（および図１６のＳ３３４）では、図１６のＳ３２０と同様に、信号情報に含まれるエンコーダ３８ａ，３０ａのカウント値から操作部３の実際の速度（ｖｘ，ｖｙ）を算出し、図１７のＳ４２０と同様に、操作部３の実際の速度（ｖｘ，ｖｙ）および指令速度（ｖｖｘ，ｖｖｙ）、並びに、制御モード（ＰＩ制御またはＰ制御）の指示を駆動制御部７２に出力するが、上記では本発明と直接関連しないためその説明を省略した。
【０１１７】
３．効果等
次に、本実施形態の運動訓練装置１の効果等について説明する。
【０１１８】
３．１．効果
本実施形態の運動訓練装置１では、図１７のＳ４０８で操作部３に作用するＺ軸方向の力Ｆｚが第１の閾値を越えるか否かを判断し、第１の閾値を越えるときに、Ｓ４１０で式（１）上段により指令速度（ｖｖｘ，ｖｖｙ）を算出する。すなわち、式（１）はＺ軸方向の力Ｆｚの大きさに応じてＸ軸およびＹ軸方向駆動モータ３８，３０の駆動量を制限する式として機能する。換言すれば、第１の閾値を越えるときに、粘性抵抗を有するＸＹ平面を模擬した式（１）上段で算出される指令速度（ｖｖｘ，ｖｖｙ）が粘性を有しないＸＹ平面を表す式（１）下段で算出される指令速度（ｖｖｘ，ｖｖｙ）より小さくなるようにＸ軸およびＹ軸方向駆動モータ３８，３０の駆動量を制限する。このため、急激に操作部３を操作しても、能動訓練中の使用者Ｕに予想外の負荷が加わることを防止するので、使用者Ｕによる平面運動を安全に支援することができる。
【０１１９】
また、本実施形態の運動訓練装置１では、図１７のＳ４１０、Ｓ４１２で式（１）により合成力Ｆ０に対応する速度ｖｖを求め、その速度ｖｖをＸ軸およびＹ軸方向の速度ｖｖｘ，ｖｖｙに分解して指令速度（ｖｖｘ，ｖｖｙ）を算出する。このため、式（１）により操作部３に作用するＸ軸方向の力ＦｘからＸ軸方向の指令速度ｖｖｘと、操作部３に作用するＹ軸方向の力ＦｘからＹ軸方向の指令速度ｖｖｙとをＸ軸、Ｙ軸独立に算出する場合と比較して、操作部３の斜め方向への移動の際の操作性を向上させることができる。
【０１２０】
さらに、本実施形態の運動訓練装置１では、仮想モデルＩＭのパラメータを調整可能に構成したので（Ｓ３１０〜Ｓ３１４）、使用者Ｕの上肢状況に応じて運動訓練を適切に支援することができる。また、パラメータを入力する際に、運動量や粘性抵抗の大きさに応じた入力（調整値）情報からＣＰＵがパラメータを決定するので、入力作業を容易とすることができる。
【０１２１】
また、本実施形態の運動訓練装置１では、操作部３が力覚提示エリアＡｆ内にあるときはＰＤ（Ｐ）制御でＸ軸およびＹ軸方向駆動モータ３８，３０を制御する（図１７のＳ４１４、Ｓ４１６、Ｓ４２０）。ＰＩＤ（ＰＩ）制御により位置精度が高まることから、操作部３の仮想質量ｍを小さくして訓練負荷を小さく設定した場合でも、力覚提示エリアＡｆ内では操作部３の振動を抑制（制振）できるので、運動訓練装置１の操作部３の操作性の向上を図ることができる。
【０１２２】
さらに、本実施形態の運動訓練装置１では、操作部３が安全対策エリアＡｓ内にあるときはＰＩＤ（ＰＩ）制御でＸ軸およびＹ軸方向駆動モータ３８，３０を制御する（図１７のＳ４１４、Ｓ４１８、Ｓ４２０）。このため、操作部３が機械的動作限界に衝突することを予防でき使用者Ｕや運動訓練装置１に掛かる負担をなくすことができるとともに、操作部３の可動領域すなわち使用者Ｕの運動訓練領域の広さを適正に確保することができる。
【０１２３】
３．２．変形例
なお、本実施形態では、図１７のＳ４０８、Ｓ４１０において、Ｚ軸方向の力Ｆｚが第１の閾値を越えるときに、式（１）上段により指令速度（ｖｖｘ，ｖｖｙ）を算出する例を示したが、本発明はこれに制約されるものではない。例えば、一周期前に算出したＸ軸およびＹ軸方向駆動モータ３８，３０の指令速度（駆動量）を維持するようにしてもよく、または、式（１）上段右辺第１項を所定値とするようにしてもよい。このような態様でも、使用者Ｕは操作部３を操作する際に粘性抵抗を体感することができる。
【０１２４】
また、上記実施形態で用いた式（１）において、操作部３の加速度αを加味するようにしてもよい。このような加速度αは、例えば、上述した信号情報を参照して、操作部３の実際の速度（ｖｘ，ｖｙ）と一周期（１０［ｍｓ］）前に把握した操作部３の実際の速度（ｖｘ，ｖｙ）との差をこの間の時間（１０［ｍｓ］）で割ることにより求められる。
【０１２５】
このような加速度αを加味した一態様として、ＣＰＵは、図１７のＳ４０８〜Ｓ４１２において、Ｚ軸方向の力Ｆｚが第１の閾値を越えると判断したときに（Ｓ４０８で肯定判断）、加速度αが正か否かを判定し、正と判定したときに下式（２）上段を用いて操作部３に発生させるべき速度ｖｖを算出し、負または０と判定したときに加速度αと加速度αをどの程度反映させるかを決める重み係数ｋαとの積を１とし下式（２）上段を用いて操作部３に発生させるべき速度ｖｖを算出し（Ｓ４１０）、第１の閾値以下と判断したときに（Ｓ４０８で否定判断）、下式（２）下段を用いて操作部３に発生させるべき速度ｖｖを算出する（Ｓ４１８）ようにしてもよい。なお、重み係数ｋαは反映度合いに応じて任意の値とすることができる。
【数５】
2020089624.tif 000007
【０１２６】
また、加速度αを加味した他の態様として、ＣＰＵは、Ｓ４０８〜Ｓ４１２において、Ｚ軸方向の力Ｆｚが第１の閾値を越えると判断したときに、さらに、加速度αが正かつ予め設定された第２の閾値（例えば、０．１［ｍ／ｓ２］）より大きいか否かを判断し、大きいと判断したときに、上記実施形態で用いた式（１）上段により指令速度（ｖｖｘ，ｖｖｙ）を算出し、小さいか同じと判断したとき、または、Ｚ軸方向の力Ｆｚが第１の閾値以下と判断したときに、式（１）下段により指令速度（ｖｖｘ，ｖｖｙ）を算出するようにしてもよい。
【０１２７】
さらに、本実施形態では、力覚提示エリアＡｆにおける操作部３の振動を抑制するために、駆動制御部７２（のモータドライバ）がＸ軸およびＹ軸方向駆動モータ３８，３０の双方をＰＤ（Ｐ）制御する例を示したが、本発明はこれに限定されず、Ｘ軸およびＹ軸方向駆動モータ３８，３０のいずれか一方（例えば、Ｙ軸方向駆動モータ３８）のみをＰＤ（Ｐ）制御し、いずれか他方をＰＩＤ（ＰＩ）制御するようにしてもよい。同様に、安全対策エリアＡｓにおいて、Ｘ軸およびＹ軸方向駆動モータ３８，３０のいずれか一方（例えば、Ｙ軸方向駆動モータ３８）のみをＰＩＤ（ＰＩ）制御し、いずれか他方をＰＤ（Ｐ）制御するようにしてもよい。
【０１２８】
また、本実施形態では、力センサ５１に市販の歪みゲージを用いた６軸力覚センサを用いる例を示したが、本発明はこれに限らず、３軸力覚センサや、歪みゲージに代えて、例えば、静電容量式や光学式のものを用いるようにしてもよい。またさらに、本実施形態では、Ｆｘ，Ｆｙ，Ｆｚのみを用いることから、それに応じて歪み−荷重変換行列式を簡素化するようにしてもよい。
【０１２９】
さらに、本実施形態では、図１９、図２０に示したように、表示装置８０に時間軸に対する負荷変動を表示する例を示したが、時間軸のない、方向と大きさを同時に示すレーダチャートで表示するようにしてもよい。図２１はそのようなレーダチャートの一例を示したものである。図２１の例では、Ｘ軸およびＹ軸が交差する原点を基準に負荷（合成力Ｆ０）の方向と大きさとを示している。また、点ｐ、ｑは軌跡-負荷情報Ｉ２の負荷から外れたときの負荷を示している。このようなレーダチャートを用いると、訓練時間が長くなっても時間軸をスクロールさせる必要なくなる。また、操作部３に作用する力の方向と大きさを同時に表示できるため、所定の軌跡でどの方向にどれくらいの負荷が掛かっているかを確認することができる。なお、図１９、図２０に示した例でも、合成力Ｆ０の絶対値｜Ｆ０｜ではなく、正負情報を含む合成力Ｆ０で表示するようにしてもよい。
【０１３０】
また、本実施形態では、図１４のＳ１１０、図１５のＳ２１６、図１６のＳ３４４で情報／データを一律に不揮発性メモリ３４２に保存する例を示したが、制御部７０は通信制御部７８を有していることから外部装置に情報／データを送信してもよく、また、例えば、軌跡設定ルーチンに続いて負荷検出ルーチンを続行する場合には軌跡設定ルーチンで取得した軌跡情報Ｉ１がＭＣＵ７１のワークエリア内に一時的に格納されおり負荷検出ルーチンでその軌跡情報Ｉ１を用いるようにしてもよいことから、保存するか否かを問い合わせた上で不揮発性メモリ７４に保存するようにしてもよい。
【０１３１】
また、本実施形態では、図９に示した位置をホームポジションとした例を示したが、本発明はこれに制限されるものではない。例えば、入力された操作者Ｕの利き手の別に応じてＣＰＵがホームポジションの位置を変えるようにしてもよい。
【０１３２】
さらに、運動訓練装置１は、運動訓練モードの内容を再現するための再現モードを有するようにしてもよい。再現モードでは、例えば、図１６のＳ３０２において、不揮発性メモリ７４に保存された運動訓練軌跡-負荷情報Ｉ３、さらに能動訓練モードの場合には既に確定された調整値のデータを読み出し、Ｓ３０４〜Ｓ３１４までの処理を行わないようにすればよい。
【０１３３】
また、再現モードでは、運動訓練の内容の一部を再現するようにしてよい。例えば、表示装置８０に図２０に示した軌跡や負荷変動を表示しその一部を選択させ、その選択した部分だけの運動訓練の内容を再現するようにしてもよい。訓練指導者は、使用者Ｕがどの移動範囲で上肢を動かし難かったり、力が入りにくかったりするかを確認することができ、使用者Ｕに合わせた運動訓練プログラムを作成することができる。
【０１３４】
さらに、本実施形態では、ＭＣＵ７１のＲＡＭをワークエリアとしてすべてのデータを処理する例を示したが、必要に応じて処理データを暫定的に格納するバッファメモリをＭＣＵ７１の外部バスに接続するようにしてもよい。また、本実施形態では、入力装置７９と表示装置８０とを個別に設ける例を示したが、タッチパネル等を用いることによりこれらを一体化するようにしてもよい。この場合には、入力制御部７５と表示制御部７６も一体化される。
【０１３５】
また、本実施形態では、図１３に従って説明するために、駆動制御部７２の制御ＩＣがＣＰＵから出力された指令速度（ｖｖｘ，ｖｖｙ）および操作部３の実際の速度（ｖｘ，ｖｙ）に従ってＸ軸およびＹ軸方向駆動モータ３８，３０の出力電流Ｉｉを算出する例を示したが、これに代えて、ＣＰＵが指令速度（ｖｖｘ，ｖｖｙ）に対応するＸ軸およびＹ軸方向駆動モータ３８，３０の回転速度および操作部３の実際の速度（ｖｘ，ｖｙ）に対応するＸ軸およびＹ軸方向駆動モータ３８，３０の回転速度を算出して駆動制御部７２に出力し、駆動制御部７２（の制御ＩＣ）はこれらの回転速度に応じてＸ軸およびＹ軸方向駆動モータ３８，３０を制御するようにしてもよい。
【０１３６】
さらに、本実施形態では、信号処理部７３の信号処理ＩＣが歪み−荷重変換行列演算を行って（Ｆｘ，Ｆｙ，Ｆｚ，Ｔｘ，Ｔｙ，Ｔｚ）を算出する例を示したが、ＣＰＵが行うようにしてもよい。このような態様では、信号処理部７３はＡ／Ｄコンバータを介して上述した外部バスに接続される。
【０１３７】
またさらに、本実施形態では、円形の軌跡を辿る例を示したが、本発明はこれに制約されず、例えば、三角形等の多角形や、ローマ字等の軌跡を辿るようにしてもよい。さらに、本実施形態では、軌跡設定ルーチンで実際に操作部３を移動させ、各位置の値を軌跡情報Ｉ１とした例を示したが、予めデータ化された全体軌跡を予め入力しておき、使用者Ｕが軌跡設定モードを選択したときに、表示装置８０に参照軌跡として表示するようにしてもよい。この点は、負荷検出ルーチンや運動訓練ルーチンについても同じである。また、予め基本パターンを複数とおり不揮発性メモリ７４に保存しておき、使用者Ｕに応じて一つの基本パターンを選択するようにしてもよい。またさらに、本実施形態では、リハビリ中の人を想定して軌跡設定モード、負荷検出モードを経て運動訓練モードを実施する例を示したが、健常者の場合には、直ちに運動訓練モードを実施するようにしてもよい。その際、表示装置８０に上記の参照軌跡を表示することが望ましい。
【０１３８】
さらに、本実施形態では、緊急停止ボタン１０ａが押下されたときにＸ軸およびＹ軸方向駆動モータ３８，３０を停止させる例を示したが、さらに安全性を高めるために、不図示の電源部と駆動制御部７２の間にスイッチング素子を挿入し、ＣＰＵは緊急停止ボタン１０ａの状態のデフォルト値が緊急停止ボタン１０ａが押下されたことを表すときに、当該スイッチング素子をオフ状態とするようにしてもよい。
【０１３９】
また、本実施形態では、カバー４にベローズ状シートを例示したが、これに代えて、例えば樹脂または布製の比較的柔軟なシートで構成し、装置本体２の前後左右各側縁部の内側に配置されたロール機構に、巻取方向に付勢するばね構造によって巻取・引出自在に収容するようにしてもよい。この種のロール機構は、従来、車両や建物の窓を覆うスクリーン等に広く採用されている。また、カバー４の構造には、蛇腹構造やロール機構に限らず、従来公知の種々のものを用いることができる。
【０１４０】
さらに、本実施形態では、Ｙ軸方向アクチュエータ２１をＸ軸方向アクチュエータ２２の上に配置する例を示したが、本発明はこれに限らず、両者を位置関係を逆にしても、または、構造を異ならせ同一面に配置するようにしてもよい。さらにまた、本実施形態では、ケーシング６の補強構造として左右補強部材１４ａ，１４ｂと前後補強部材１３ａ〜１３ｃとが一体化した例を示したが、左右補強部材１４ａ，１４ｂと前後補強部材１３ａ〜１３ｃとは、一体化しなくてもよく、また上下方向に離隔していてもよい。
【０１４１】
また、本実施形態では、Ｘ軸およびＹ軸方向駆動モータ３８，３０の停止時に減速ギアユニット３９，３１のギア比によりモータ軸の回転を防止し操作部３の移動を防止する構造を示したが、例えば、Ｘ軸およびＹ軸方向駆動モータ３８，３０への電力供給停止時に、その回転を停止させかつ保持するように、電磁ブレーキ等を設けるようにしてもよい。
【０１４２】
さらに、本実施形態では、ハンドル部材４９が操作ロッド４８に取り付けられた例を示したが、本発明はこれに制限されず、ハンドル部材４９が操作ロッド４８に対して着脱自在に装着されるようにしてもよい。このような態様では、ハンドル部材４９は、運動訓練装置１の使用目的、使用者Ｕの状態等に対応して、使用者Ｕの上肢または下肢との係合に適した様々な部材と交換することができる。例えば、使用者の手がハンドル部材４９をうまく掴むことができない場合には、その手（または上肢）を固定するベルト付きの部材を用いるようにしてもよい。これにより、使用者Ｕの手（または上肢）から操作ロッド４８に力を伝達して操作部３を移動させ、または移動する操作部３から操作ロッド４８を介して力を受けて手（または上肢）を動かすことができる。また、使用者Ｕの下肢を訓練する場合には、同様にハンドル部材４９に代えて、使用者の足を載せる台や足を固定するベルト付きの部材を用いるようにしてもよい。
【０１４３】
またさらに、本実施形態では、運動訓練装置１を略水平に載置して使用する例を示したが、例えばサンディング訓練を行うために、装置本体２を前後方向または左右方向に傾斜させた状態で使用するようにしてもよい。その際、運動訓練装置１は、その傾斜状態、すなわち傾斜方向および傾斜角度を検出するための傾斜センサ８７（図２参照）を有していてもよい。このような傾斜センサ８７には、例えばジャイロセンサを用いることができるが、これに限るものではない。このような態様では、運動訓練装置１は、例えば、傾斜角度を調整可能な別個の支持構造上に設置され、傾斜センサ７７の出力信号は制御部７０に入力され、運動訓練装置１の傾斜方向および傾斜角度の大きさに対応して、Ｘ軸およびＹ軸方向駆動モータ３８，３０の少なくとも一方の出力を制御するために使用される。
【０１４４】
そして、本実施形態では、力覚提示エリアＡｆや安全対策エリアＡｓの寸法、処理周期、Ｆｘ，Ｆｙの最大値、最大加速度、最大速度、閾値等を具体的な数値で示したが、本発明はこれらに限定されるものではなく、任意の数値を用いることができることは論を待たない。
【産業上の利用可能性】
【０１４５】
以上述べたとおり、本発明は、使用者による平面運動を安全に支援可能な運動訓練装置を提供するものであるため、運動訓練装置の製造、販売に寄与するので、産業上の利用可能性を有する。
【符号の説明】
【０１４６】
１  運動訓練装置
３  操作部
２０    アクチュエータ機構（駆動部）
３０    Ｙ軸方向駆動モータ
３８    Ｘ軸方向駆動モータ
５１    力センサ
７０    制御部
【図１】
2020089624.tif 000010
【図２】
2020089624.tif 000011
【図３】
2020089624.tif 000012
【図４】
2020089624.tif 000013
【図５】
2020089624.tif 000014
【図６】
2020089624.tif 000015
【図７】
2020089624.tif 000016
【図８】
2020089624.tif 000017
【図９】
2020089624.tif 000018
【図１０】
2020089624.tif 000019
【図１１】
2020089624.tif 000020
【図１２】
2020089624.tif 000021
【図１３】
2020089624.tif 000022
【図１４】
2020089624.tif 000023
【図１５】
2020089624.tif 000024
【図１６】
2020089624.tif 000025
【図１７】
2020089624.tif 000026
【図１８】
2020089624.tif 000027
【図１９】
2020089624.tif 000028
【図２０】
2020089624.tif 000029
【図２１】
2020089624.tif 000030