(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
本発明は、追従状態を的確に評価する訓練装置であって、前記訓練装置は、追従状態に応じて肢の訓練を続行可能なように操作ロッドと、固定フレームと、前記操作ロッドと、モータと、回転情報出力センサと、傾動角度算出部1131と、位置偏差算出部1132と、判断部1134と、モータ駆動部1135と、位置偏差補正部1133と、を備えている。
前記操作ロッドは、固定フレームに少なくともX軸又はY軸回りにモータにより傾動可能に支持され肢を保持し、前記傾動角度算出部1131は前記操作ロッドの傾動角度を算出し、前記位置偏差算出部1132は位置偏差を算出し、前記判断部1134は、前記位置偏差を第2の時間T2が経過する毎に取得し、第2の時間T2の間に生じた位置偏差が第1の閾値φ1以下の場合、前記モータ駆動部1135は位置偏差を累積保持するようモータを駆動し、前記位置偏差補正部1133は、所定のタイミングにおいて位置偏差をリセットする。
前記情報提供部は、前記使用者が、前記訓練プログラムにおいて設定された訓練ルートにおいて予め設定した通過点に前記操作ロッドを到達させたときに、前記使用者に視覚的情報又は聴覚的情報を提供する請求項4に記載の訓練装置。
前記訓練プログラムに従って、前記モータを加速させる指令である加速指令と、前記モータを減速させる減速指令と、を少なくとも含む速度指令を作製する指令作製部をさらに備え、
前記モータ駆動部は、前記加速指令の実行時において、前記速度指令のみに追従するよう前記モータを制御する、請求項1〜8のいずれかに記載の訓練装置。
前記速度指令には、前記加速指令と前記減速指令との間に前記モータを一定速度で回転させる定速指令をさらに配置し、前記モータ駆動部は、さらに前記定速指令の実行時において、前記速度指令のみに追従するよう前記モータを制御する、請求項9に記載の訓練装置。
【発明を実施するための形態】
【0024】
1.第1実施形態
(1)訓練装置の全体構成
第1実施形態に係る訓練装置100の全体構成を、
図1を用いて説明する。
図1は、訓練装置100を模式的に示した図である。訓練装置100は、所定の訓練プログラムに従って、使用者(患者)の上肢及び/又は下肢の四肢のうちのいずれかの肢の運動機能回復を目的とした訓練を行うための訓練装置である。
訓練装置100は、固定フレーム1と、操作ロッド3と、訓練指示部5、とを主に備える。固定フレーム1は、訓練装置100を設置する床面上又は床面に近接して載置される。また、固定フレーム1は、訓練装置100の本体筐体を形成している。操作ロッド3は、固定フレーム1内部に備えられた操作ロッド傾動機構13(
図2)を介して、固定フレーム1に取り付けられている。この結果、操作ロッド3は、操作ロッド傾動機構により、固定フレーム1の長さ方向に平行なX軸、及び、固定フレーム1の幅方向に平行なY軸(
図1及び
図2)方向に傾動可能となる。
なお、操作ロッド3は、必要に応じて、上記のX軸方向又は上記のY軸方向のみに傾動可能となっていてもよい。この場合、操作ロッド3は、1自由度にて傾動可能となる。
また、操作ロッド3は、内部に操作ロッド3の長手軸方向の伸縮機構(
図3)を備えてもよい。このとき、操作ロッド3は、操作ロッド3の長さ方向に伸縮可能となるので、操作ロッド傾動機構13と合わせて少なくとも2自由度又は3自由度の動作を形成することができる。
【0025】
また、操作ロッド3は、その上端部に肢支持部材31(後述)を有している。患者の肢を肢支持部材31に支持することにより、操作ロッド3によって患者の肢を動かすことを可能とする。または、患者自らの意思で操作ロッド3を動かすことを可能とする。
【0026】
訓練指示部5は、固定部材7を介して、固定フレーム1に固定されている。訓練指示部5は、予め設定した訓練プログラムを実行し、必要に応じて、制御部11(
図2)に操作ロッド3を動作させるための操作ロッド動作指令を送信する。また、訓練指示部5は、予め設定された訓練プログラムによって、訓練ルートと実際の患者の肢の訓練動作を視覚的情報又は聴覚的情報によって提供する。これにより、患者は、訓練プログラムにより設定された訓練動作と実際の動作とをフィードバックしながら、肢の訓練を行える。
さらに、訓練指示部5は、患者の肢が訓練プログラムに示された目標点(目標傾動角度)まで操作ロッド3を傾動できたときにも、使用者に対して、視覚的情報又は聴覚的情報により、目標傾動角度に到達したことを知らせてもよい。これにより、患者が訓練を続けるためのモチベーションを維持できる。
【0027】
また、訓練指示部5は、後述する判断部1134(
図7)において、エラーが発生したと判断したときに、使用者に対して視覚的情報又は聴覚的情報を提供する。これにより、使用者に訓練装置100の状態、及び/又は、訓練の続行に影響を及ぼす可能性があることを知らせることができる。
【0028】
訓練指示部5としては、液晶ディスプレーなどの表示装置と、CPU(Central
Processing Unit)と、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、SSD(Solid State Disk)などの記憶装置と、必要に応じてタッチパネルなどの入力装置と、を備えた、一体型コンピュータシステムを用いることができる。また、訓練指示部5は、表示装置と、その他のコンピュータシステムとが分離して構成されていてもよい。この場合、固定フレーム1に固定部材7を介して固定されるのは、表示装置である。
【0029】
訓練指示部5において実行される訓練プログラムは、例えば、(i)ガイデッドモード(Guided Mode)、(ii)イニシエーティッドモード(Initiated
Mode)、(iii)ステップイニシエーティッドモード(Step Initiated Mode)、(iv)フォローアシストモード(Follow Assist Mode)、(v)フリーモード(Free Mode)という、5つの訓練モード等を有している。ガイデッドモードは、操作ロッド3が患者の肢の動きに関係なく、肢を予め決められた方向に一定速度で動かす訓練モードである。イニシエーティッドモードは、訓練プログラムで予め設定された訓練ルートに対して、患者が肢により操作ロッド3を初動位置にて正しい方向に動かそうとした力(力覚トリガーと呼ぶこともある)を検出し、操作ロッド3が患者の肢を予め決められた訓練ルートの方向に一定速度で動かす訓練モードである。ステップイニシエーティッドモードは、操作ロッド3の訓練ルート中の所定の箇所において、力覚トリガーを検出したとき、訓練ルートにおける一定距離だけ、操作ロッド3が患者の肢を動かす訓練モードである。フォローアシストモードは、所定周期毎に力覚トリガーを検出して、検出した力覚トリガーの大きさに応じて、操作ロッド3の速度を変化させる訓練モードである。フリーモードは、患者自らの肢の動きに追従するように操作ロッド3を動かす訓練モードである。
【0030】
また、訓練装置100は、患者が訓練中に腰掛けるための椅子9をさらに備えていてもよい。椅子9は、椅子接続部材91を介して、固定フレーム1に接続されていることで、訓練装置100の安定性を確保でき、また椅子接続部材91を再現良く固定することで患者が毎回訓練を同じ位置で実施することができる。
【0031】
(2)制御部及び操作ロッド傾動機構の構成
I.全体構成
次に、制御部11と、操作ロッド傾動機構13の全体構成について
図2を用いて説明する。
図2は、固定フレーム1内の制御部11と、操作ロッド傾動機構13の全体構成を示す図である。
制御部11と、操作ロッド傾動機構13は、固定フレーム1内に配置されている。制御部11は、訓練指示部5と信号送受信可能に接続されている。制御部11は、訓練指示部5から送信される操作ロッド動作指令を受信する。また、制御部11は、X軸方向傾動モータ135b(後述)、Y軸方向傾動モータ135a(後述)、及び伸縮モータ359(
図3)に電気的に接続されている。したがって、制御部11は、操作ロッド動作指令に基づいて、上記3つのモータを駆動する。なお、制御部11の構成及び動作については、後ほど詳しく説明する。
操作ロッド傾動機構13は、固定フレーム1に固定された操作ロッド傾動機構固定部材15a、15bを介して、固定フレーム1に傾動可能に取り付けられている。そのため、操作ロッド傾動機構13は、操作ロッド3をX軸方向及びY軸方向(2自由度)に傾動可能とする。以下に、操作ロッド傾動機構13の構成について、詳細に説明する。
なお、操作ロッド傾動機構13は、操作ロッド3をX軸方向又はY軸方向のみ(1自由度)に傾動可能となるよう構成されていてもよい。又は、操作ロッド傾動機構13は、設定により、操作ロッド3を1自由度にて傾動させるか、2自由度にて傾動させるかを選択可能になっていてもよい。
【0032】
II.操作ロッド傾動機構の構成
本実施形態の操作ロッド傾動機構13の構成について、
図2を用いて説明する。操作ロッド傾動機構13は、2軸を可動させうる「ジンバル」機構により、操作ロッド3をX軸方向及びY軸方向に傾動可能とする機構である。ここで、X軸方向とは、
図2において、固定フレーム1の長さ方向に平行な水平方向である。Y軸方向とは、
図2において、固定フレーム1の幅方向に平行な水平方向である。
操作ロッド傾動機構13は、X軸方向傾動部材131と、Y軸方向傾動部材133(後述)と、それぞれに対応するX軸方向傾動モータ135bと、Y軸方向傾動モータ135aと、を有している。
なお、操作ロッド傾動機構13が操作ロッド3を1自由度にて傾動させる場合、操作ロッド傾動機構13は、X軸方向傾動部材131とX軸方向傾動モータ135bとのみを備えるか、又は、Y軸方向傾動部材133とY軸方向傾動モータ135aとのみを備えていれば十分である。あるいは、操作ロッド傾動機構13が上記4つの部材及びモータを備えている場合であっても、いずれかの部材とモータとの組み合わせを無効にすることにより、操作ロッド傾動機構13は、操作ロッド3を1自由度にて傾動可能となる。
【0033】
X軸方向傾動部材131は、Y軸方向傾動部材133の空間の内側に配置されている。また、X軸方向傾動部材131は、Y軸に平行な法線を有する2つの側面から外側に伸びる2つの軸131a、131bを有している。この2つの軸131a、131bのそれぞれが、Y軸方向傾動部材133のY軸に平行な法線を有する2つの側面のそれぞれに、X軸方向傾動部材131をY軸回りに回動可能なように支持されている。これにより、X軸方向傾動部材131は、X軸方向傾動部材131に固定された操作ロッド3とX軸とがなす角度を変化させることができる。ここで、操作ロッド3とX軸とがなす角度を変化させることを、「X軸方向に傾動する」と呼ぶこともある。
なお、操作ロッド3は、X軸方向傾動部材131の空間Sに一部が挿入された状態で、X軸方向傾動部材131に固定される。
【0034】
同様に、Y軸方向傾動部材133は、X軸に平行な法線を有する2つの側面から外側へ伸びる2つの軸133a、133bを有している。この2つの軸133a、133bのそれぞれが、操作ロッド傾動機構固定部材15a、15bに、Y軸方向傾動部材133をX軸回りに回動可能なように支持されている。これにより、Y軸方向傾動部材133は、操作ロッド傾動機構固定部材15a、15bに対して、X軸回りに回動可能となる。その結果、Y軸方向傾動部材133は、X軸方向傾動部材131に固定された操作ロッド3とY軸とがなす角度を変化させることができる。ここで、操作ロッド3とY軸とがなす角度を変化させることを、「Y軸方向に傾動する」と呼ぶこともある。
【0035】
このように、Y軸方向傾動部材133は、操作ロッド3をY軸方向に傾動させ、X軸方向傾動部材131は、操作ロッド3をX軸方向に傾動させる。このため、操作ロッド傾動機構13は、操作ロッド3を2次元の自由度にて傾動できる。なお、
図2ではX軸方向傾動部材131は、Y軸方向傾動部材133の空間の内側に配置されているが、X軸方向傾動部材131を、Y軸方向傾動部材133の空間の外側に配置し、それに対応する部材を傾動できるように設計変更してもよい。
【0036】
Y軸方向傾動モータ135aは、操作ロッド傾動機構固定部材15aに固定されている。また、Y軸方向傾動モータ135aの出力回転軸は、図示されない減速機構を介して、Y軸方向傾動部材133から伸びる軸133aと、軸133aを回動可能なように接続されている。このため、Y軸方向傾動モータ135aは、Y軸方向傾動部材133をX軸回りに回動させる。さらに、Y軸方向傾動モータ135aは、制御部11と電気的に接続されている。したがって、Y軸方向傾動モータ135aは、制御部11による制御により、操作ロッド3をY軸方向に傾動できる。
【0037】
X軸方向傾動モータ135bは、Y軸方向傾動部材133の4つの側面のうち、X軸方向傾動部材131から伸びる軸131aを軸支している側面に固定されている。また、X軸方向傾動モータ135bの出力回転軸は、図示されない減速機構を介して、X軸方向傾動部材131から伸びる軸131aと、軸131aを回動可能なように接続されている。このため、X軸方向傾動モータ135bは、X軸方向傾動部材131をY軸回りに回動可能となっている。さらに、X軸方向傾動モータ135bは、制御部11と電気的に接続されている。したがって、X軸方向傾動モータ135bは、制御部11による制御により、操作ロッド3をX軸方向に傾動できる。
【0038】
このように、Y軸方向傾動モータ135a及びX軸方向傾動モータ135bは、制御部11による制御により、操作ロッド3を、それぞれY軸方向及びX軸方向に1自由度で傾動させる。すなわち、X軸方向傾動モータ135b及びY軸方向傾動モータ135aを具備することにより、操作ロッド3を2次元にて制御できる。
【0039】
Y軸方向傾動モータ135a及びX軸方向傾動モータ135bとしては、例えば、サーボモータ又はブラシレスモータなどの、電動モータを用いることができる。
【0040】
(3)操作ロッドの構成
I.全体構成
次に、操作ロッド3の構成について、
図3を用いて説明する。まず、操作ロッド3の全体構成について説明する。
図3は、操作ロッド3の構成を示す図である。操作ロッド3は、肢支持部材31と、固定ステイ33と、伸縮機構35と、を備えている。肢支持部材31は、伸縮機構35のカバー353(後述)の上端部に固定されている。肢支持部材31は、患者の肢を支持する部材である。固定ステイ33は、操作ロッド3の本体を形成している。また、固定ステイ33は、伸縮機構35の可動ステイ351(後述)を収納する空間S’を有している。さらに、固定ステイ33は、操作ロッド3を操作ロッド傾動機構13のX軸方向傾動部材131に固定するための固定部材(図示せず)を有している。固定ステイ33の当該固定部材により固定ステイ33をX軸方向傾動部材131に固定することにより、操作ロッド3は、操作ロッド傾動機構13に固定される。
【0041】
伸縮機構35は、固定ステイ33の長さ方向に沿って移動可能なように、固定ステイ33に設けられる。これにより、操作ロッド3は、操作ロッド3の長さ方向に伸縮可能となる。以下、伸縮機構35の構成について詳しく説明する。
【0042】
II.伸縮機構の構成
図3に示すように、伸縮機構35は、可動ステイ351と、カバー353と、ナット355と、ねじ軸357と、伸縮モータ359と、を有している。
可動ステイ351は、固定ステイ33に設けられた空間S’に挿入されている。また、可動ステイ351は、図示しないスライドユニットを有している。このスライドユニットは、固定ステイ33の内壁に設けられた案内レール37に摺動可能に係合している。その結果、可動ステイ351は、固定ステイ33に設けられた空間S’内を案内レール37に沿って移動可能となる。カバー353は、可動ステイ351の上端部に固定されている。これにより、カバー353は、可動ステイ351の移動に応じて移動できる。また、カバー353は、上端部に肢支持部材31を備えている。そのため、カバー353は、固定ステイ33の伸びる方向に肢支持部材31を移動できる。
【0043】
ナット355は、可動ステイ351の底部に取り付けられている。ナット355は、ねじ軸357(後述)を螺合する。ねじ軸357は、固定ステイ33の長さ方向と平行な方向に伸びる、ねじ山が設けられた部材である。また、ねじ軸357は、ナット355に螺合されている。よって、ねじ軸357は、回転することにより、ナット355をねじ軸357の長さ方向(すなわち、固定ステイ33の長さ方向(長手軸線方向))に沿って移動させる。
上述したように、ナット355は可動ステイ351の底部に固定されているため、ナット355がねじ軸357の伸びる方向に沿って移動することにより、可動ステイ351は固定ステイ33の長さ方向に沿って移動可能となる。
【0044】
伸縮モータ359は、固定ステイ33の底部に固定されている。また、伸縮モータ359の出力回転軸は、ねじ軸357の長さ方向の端部に、ねじ軸357を軸回りに回転可能なように接続されている。さらに、伸縮モータ359は、制御部11と電気的に接続されている。このため、伸縮モータ359は、制御部11からの制御により、ねじ軸357を、ねじ軸357の軸回りに回転できる。
上述したように、ナット355はねじ軸357に螺合されているため、ナット355は、ねじ軸357の回転に応じて、ねじ軸357の長さ方向に沿って移動可能となっている。そのため、可動ステイ351は、伸縮モータ359の回転に応じて、固定ステイ33の長さ方向(長手軸線方向)に沿って移動可能となる。
【0045】
(4)制御部の構成
I.全体構成
次に、制御部11の全体構成について、
図4を用いて説明する。
図4は、制御部11の全体構成を示す図である。制御部11としては、例えば、CPUと、RAM、ROM、ハードディスク装置、SSDなどの記憶装置と、電気信号を変換するインターフェースなどを備えたマイコンシステムなどを用いることができる。また、以下に説明する制御部11の機能の一部又は全部は、マイコンシステムにおいて実行可能なプログラムとして実現されていてもよい。また、当該プログラムは、マイコンシステムの記憶装置に記憶されていてもよい。さらに、制御部11の機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
制御部11は、指令作製部111と、モータ制御部113a、113b、113cと、を有する。
【0046】
指令作製部111は、訓練指示部5と、モータ制御部113a、113b、113cとに信号送受信可能に接続されている。指令作製部111は、訓練指示部5から送信される操作ロッド動作指令に基づいて、モータ制御部113a、113b、113cのそれぞれが、Y軸方向傾動モータ135a、X軸方向傾動モータ135b、及び伸縮モータ359を駆動するための指令を作製する。
【0047】
指令作製部111において作製される指令には、速度指令と位置指令とがある。速度指令とは、モータの回転速度(操作ロッド3の単位時間あたりの傾動角度又は伸縮する長さの変化量)を制御するための指令のことである。また、位置指令とは、操作ロッド3の傾動角度又は伸縮長さを制御するための指令のことである。
後述するように、モータ制御部113a、113b、113cが速度指令に基づいて上記モータを制御するとき、上記モータは速度指令に指示された速度に追従するように制御される。すなわち、速度指令に指示された速度と実際のモータの回転速度との間に差(速度偏差)が存在するときに、モータ制御部113a、113b、113cは、速度偏差を解消するように上記モータを制御する。
【0048】
一方、モータ制御部113a、113b、113cが位置指令に基づいて上記モータを制御するとき、上記モータは、操作ロッド3の傾動角度又は伸縮長さを位置指令に指示された傾動角度(指示傾動角度)又は伸縮長さ(指示伸縮長さ)に追従させるように制御される。すなわち、位置指令に指示された傾動角度と操作ロッド3の実際の傾動角度、又は位置指令に指示された伸縮長さと操作ロッド3の実際の伸縮長さとの間に差(位置偏差)が存在するときに、モータ制御部113a、113b、113cは、位置偏差を解消するように上記モータを制御する。
【0049】
なお、指令作製部111において作製される速度指令及び位置指令は、時間の関数である。一方、訓練指示部5から送信される操作ロッド動作指令は、少なくとも操作ロッド3をどの傾動角度まで移動させるかに関する情報(目標位置情報)と、操作ロッド3の単位時間あたりの傾動角度又は伸縮長さの変化量(傾動角度速度又は伸縮長さ速度)に関する情報(目標速度情報)とを含み、さらには操作ロッド3の傾動角度速度又は伸縮長さ速度を所望の傾動角度速度まで到達させるための加速度に関する情報(加速度情報)と、操作ロッド3を動作状態から停止状態にするための減速度に関する情報(減速度情報)と、を含む。
【0050】
すなわち、速度指令及び位置指令を作製する元となる操作ロッド動作指令には、時間に関する情報が含まれていない。しかし、操作ロッド動作指令には、距離に関する情報(目標位置情報に対応)、速度に関する情報(目標速度情報に対応)が含まれており、さらには加速度に関する情報(加速度情報及び減速度情報に対応)が含まれている。したがって、これらの情報から、時間に関する情報は算出できる。
よって、指令作製部111は、操作ロッド動作指令に含まれる目標位置情報、目標速度情報、さらには加速度情報、及び減速度情報を適切に組み合わせて計算することにより、時間の関数である速度指令及び位置指令を作製できる。
【0051】
また、指令作製部111において作製される速度指令には、
図5A及び
図5Bに示すような、2種類の速度指令がある。1つは、
図5Aに示されるように、モータを一定の加速度にて加速させる加速指令と、モータを一定の減速度にて減速させる減速指令とのみを含んだ速度指令である。このような速度指令を、時間を横軸に速度を縦軸にした座標上に表すと、三角形状のグラフになる。したがって、このような速度指令を、三角速度軌道型の速度指令と呼ぶこともある。速度指令が三角速度軌道となる場合は、例えば、現在の操作ロッド3の傾動角度から、訓練指示部5において指示された操作ロッド3の目標傾動角度までの間に移動する操作ロッド3の移動距離が短い場合、又は操作ロッド動作指令に指示されたモータの加速度又は減速度が小さい場合などである。
このように、速度指令に加速指令と減速指令とが含まれることにより、モータ制御部113a、113b、113cは、モータをスムーズに制御できる。
【0052】
もう1つは、
図5Bに示されるように、加速指令と、減速指令とに加えて、モータを一定速度で回転させる定速指令をさらに含む速度指令である。このような速度指令を、時間を横軸に速度を縦軸にした座標上に表すと、台形状のグラフになる。したがって、このような速度指令を、台形速度軌道型の速度指令と呼ぶこともある。速度指令が台形速度軌道となる場合は、例えば、現在の操作ロッド3の傾動角度から、訓練指示部5において指示された操作ロッド3の目標傾動角度までの間に移動する操作ロッド3の移動距離が大きい場合、又はモータの加速度又は減速度が大きい場合などである。
このように、速度指令が定速指令をさらに含むことにより、操作ロッド3が大きな傾動角度にて動作する場合にも、モータ制御部113a、113b、113cは、モータをスムーズに動作できる。
【0053】
一方、指令作製部111において作製される位置指令は、時間を横軸に位置(傾動角度)を縦軸にした座標上に表すと、
図6に示すような形状となる。位置指令は、速度指令の時間の積分値に対応する。
図6に示す位置指令は、
図5Bに示した台形速度軌道型の速度指令に対応する位置指令である。したがって、台形速度軌道型の速度指令において、正の傾きで速度が増加する時間が0からt
1まで(加速指令区間)の間、位置指令は、時間が0のときに頂点となる下に凸の放物線形状となる。速度指令において速度が水平軸と平行な直線となる、時間がt
1からt
2まで(定速指令区間)の間、位置指令は正の傾きで直線的に増加する。そして、速度指令において速度が負の傾きで減少する、時間t
2からt
3まで(減速指令区間)の間、位置指令は、時間がt
3のときに頂点となる上に凸の放物線形状となる。
【0054】
モータ制御部113a、113b、113cは、指令作製部111と信号送受信可能に接続されている。このため、モータ制御部113a、113b、113cは、指令作製部111から速度指令及び位置指令を受信できる。また、モータ制御部113a、113b、113cは、それぞれ、Y軸方向傾動モータ135a、X軸方向傾動モータ135b、伸縮モータ359と、電気的に接続されている。したがって、モータ制御部113a、113b、113cは、速度指令及び/又は位置指令に基づき、上記のモータを制御できる。
さらに、モータ制御部113a、113b、113cは、それぞれ、Y軸方向傾動モータ135a用の第1回転情報出力センサ135a−1、X軸方向傾動モータ135b用の第2回転情報出力センサ135b−1、伸縮モータ359用の第3回転情報出力センサ359−1に、信号送受信可能に接続されている。
【0055】
第1回転情報出力センサ135a−1、第2回転情報出力センサ135b−1、第3回転情報出力センサ359−1は、それぞれ、Y軸方向傾動モータ135aの出力回転軸、X軸方向傾動モータ135bの出力回転軸、伸縮モータ359の出力回転軸に、固定されている。これにより、第1回転情報出力センサ135a−1、第2回転情報出力センサ135b−1、第3回転情報出力センサ359−1は、それぞれ、Y軸方向傾動モータ135aの回転量、X軸方向傾動モータ135bの回転量、伸縮モータ359の回転量を出力できる。
第1回転情報出力センサ135a−1、第2回転情報出力センサ135b−1、第3回転情報出力センサ359−1としては、モータの出力回転軸の回転量が測定可能なセンサを用いることができる。このようなセンサとして、例えば、インクリメンタル型のエンコーダや、アブソリュート型のエンコーダなどのエンコーダを好適に用いることができる。センサにエンコーダを使用した場合、第1回転情報出力センサ135a−1、第2回転情報出力センサ135b−1、及び、第3回転情報出力センサ359−1は、それぞれ、Y軸方向傾動モータ135aの回転量、X軸方向傾動モータ135bの回転量、伸縮モータ359の回転量に応じたパルス信号を出力する。
【0056】
このように、モータ制御部113a、113b、113cが、モータの出力回転軸の回転量を測定する第1回転情報出力センサ135a−1、第2回転情報出力センサ135b−1、第3回転情報出力センサ359−1と接続されることにより、モータ制御部113a、113b、113cは、実際のモータの回転量などを考慮して、上記のモータを制御できる。
【0057】
次に、モータ制御部113a、113b、113cについて詳しく説明する。以下の説明においては、モータ制御部113aを例として用いて説明する。なぜなら、他のモータ制御部113b、113cも、モータ制御部113aと同じ構成を有し、同じ動作を行うからである。
【0058】
II.モータ制御部の構成
モータ制御部113aの構成について、
図7を用いて説明する。
図7は、モータ制御部113aの構成を示した図である。
モータ制御部113aは、傾動角度算出部1131と、位置偏差算出部1132と、位置偏差補正部1133と、判断部1134と、モータ駆動部1135と、を有する。
傾動角度算出部1131は、第1回転情報出力センサ135a−1と信号送受信可能に接続されている。これにより、傾動角度算出部1131は、第1回転情報出力センサ135a−1にて測定されたY軸方向傾動モータ135aの出力回転軸の回転量に応じて出力されたパルス信号を入力できる。そして、傾動角度算出部1131は、第1回転情報出力センサ135a−1から出力されたパルス信号に含まれたパルス数から、操作ロッド3の(Y軸方向の)傾動角度を算出する。
【0059】
位置偏差算出部1132は、傾動角度算出部1131と信号送受信可能に接続されている。これにより、位置偏差算出部1132には、傾動角度算出部1131において算出された操作ロッド3の傾動角度が入力される。また、位置偏差算出部1132は、指令作製部111と信号送受信可能に接続されている。これにより、位置偏差算出部1132には、指令作製部111にて作製された位置指令が入力される。
位置偏差算出部1132は、傾動角度算出部1131において算出された実際の操作ロッド3の傾動角度と、位置指令において指示された操作ロッド3の傾動角度(指示傾動角度)との差を、位置偏差として第1の時間T
1間隔にて算出する。位置偏差を算出する間隔である第1の時間T
1は、Y軸方向傾動モータ135aをモータ駆動部1135が制御する制御間隔に対応する。
【0060】
位置偏差補正部1133は、位置偏差算出部1132と信号送受信可能に接続されている。このため、位置偏差補正部1133には、位置偏差算出部1132から位置偏差が入力される。また、位置偏差補正部1133は、判断部1134と信号送受信可能に接続されている。このため、判断部1134の信号に基づき、位置偏差補正部1133は、位置偏差の補正を行うかどうかを切替可能である。さらに、位置偏差補正部1133は、指令作製部111と信号送受信可能に接続されている。そのため、位置偏差補正部1133には、指令作製部111から位置指令が入力可能である。
また、位置偏差補正部1133は、後述するように、モータ駆動部1135における位置制御部1135−2(
図8)と信号送受信可能に接続されている。そのため、位置偏差補正部1133は、補正された位置偏差(リセットされた位置偏差)を位置制御部1135−2に出力可能となっている。
【0061】
位置偏差補正部1133は、予め設定されたタイミングにおいて、位置偏差算出部1132から出力され、累積保持された位置偏差をリセットする。本実施形態において、位置偏差をリセットするタイミングは、(i)判断部1134において、第3の時間T
3(後述)の間に生じた位置偏差の変化量が第2の閾値φ
2(後述)以下であると判断されたとき、(ii)操作ロッド3(Y軸方向傾動モータ135a)の動作が停止したとき、及び/又は、(iii)操作ロッド3の傾動角度が減速開始位置(後述)に到達したとき、に設定されている。位置偏差補正部1133において、これら3つのタイミング全てで累積保持された位置偏差をリセットするよう設定されていてもよいし、3つの中の1つあるいは2つのタイミングで累積保持された位置偏差をリセットするよう設定されていてもよい。
なお、上記タイミング(i)〜(iii)のいずれにも該当しない場合には、位置偏差補正部1133は、累積保持された位置偏差をリセットすることなく、位置偏差算出部1132から出力される位置偏差をそのまま出力する。
【0062】
上記の3つのタイミングのうち、タイミング(i)については、判断部1134からの信号に基づいて検出可能である。一方、タイミング(ii)及び(iii)については、位置偏差補正部1133において、操作ロッド3の実際の傾動角度を検出して行う。位置偏差補正部1133において、操作ロッド3の実際の傾動角度は、位置指令に指示されている指示傾動角度から位置偏差を減算することにより得られる。しかし、これに限られず、位置偏差補正部1133は、傾動角度算出部1131から直接、操作ロッド3の実際の傾動角度を取得してもよい。
【0063】
また、位置偏差補正部1133は、次の2つの方法により累積保持された位置偏差をリセットする。
1つ目は、上記のタイミングにおいて、モータ駆動部1135の位置制御部1135−2(
図8)と合成部(後述)とを一時的に接続し、操作ロッド3の傾動角度を指示傾動角度に追従させるような制御(位置制御)をY軸方向傾動モータ135aに対して一時的に行わせる方法である。これにより、操作ロッド3の実際の傾動角度と指示傾動角度とが一致する。その結果、位置偏差が過剰に累積保持されることを抑制できる。
なお、操作ロッド3の傾動角度を指示傾動角度に追従させるような制御(位置制御)を行った結果、操作ロッド3の実際の傾動角度と指示傾動角度とが一致するようになることを、「操作ロッド3の実際の傾動角度と指示傾動角度が物理的に一致する」、又は、「位置偏差を物理的にリセットする」と呼ぶこともある。
2つ目は、上記のタイミングにおいて、制御部11において扱うパラメータとしての位置偏差の値を0とする方法である。この位置偏差のリセット方法においては、位置偏差をリセットしても、操作ロッド3の実際の傾動角度と指示傾動角度との位置偏差は保持される。このように、パラメータとしての位置偏差の値を0とすることにより、累積保持された位置偏差(後述)の大きさが大きくなることを抑制し、エラーと判断されることを回避できる。また、後述するように、位置制御部1135−2は、位置偏差補正部1133から出力される補正された位置偏差に基づき、制御される。そのため、パラメータとしての位置偏差を0とすることにより、位置制御部1135−2から出力される第2制御量(後述)を小さくできる。その結果、位置偏差の増大に基づいてY軸方向傾動モータ135aの回転速度が過剰に大きくなることを抑制できる。したがって、安全に訓練を継続できる。
【0064】
判断部1134は、位置偏差算出部1132と、信号送受信可能に接続されている。したがって、判断部1134には、位置偏差算出部1132から位置偏差が入力可能となっている。また、判断部1134は、位置偏差補正部1133及びモータ駆動部1135(後述)と、信号送受信可能に接続されている。よって、判断部1134は、以下に示す第1条件及び/又は第2条件が「真」であるか「偽」であるかに基づいて、位置偏差補正部1133及びモータ駆動部1135の動作を決定できる。
判断部1134は、位置偏差算出部1132から出力された位置偏差を、第2の時間T
2が経過する毎に取得する。後述するように、予め設定された第2の時間T
2の経過毎に位置偏差を取得することにより、単位時間あたりの位置偏差の変化量を算出できる。その結果、判断部1134は、位置偏差が0ではないが不変である追従状態が発生している場合、又は位置偏差がゆっくり変化する追従状態が発生している場合を的確に判断できる。
【0065】
そして、判断部1134は、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1以下であるかどうか(第1条件)を判断する。そして、第1条件が「真」であれば、判断部1134は、モータ駆動部1135に対して、位置偏差を累積保持するようにY軸方向傾動モータ135aを駆動するよう指令する。
一方、判断部1134において、第1条件が「偽」であると判断された場合は、エラーと判断する。第1条件が「偽」であると判断された場合、判断部1134は、エラー処理を行うようモータ制御部113aに指令する。第1条件が「偽」であることは、位置偏差が急激に変化したことを意味しており、さらに、患者の肢が設定された訓練プログラムに追従できなくなっていることを示しており、訓練の続行に影響を与える可能性がある。
そのため、第1条件が「偽」の場合にエラー処理を行うことにより、訓練装置100を安全に運転又は停止できる。その結果、安全に訓練を継続又は終了できる。
【0066】
また、判断部1134は、位置偏差算出部1132から出力された位置偏差を、第3の時間T
3が経過する毎に取得する。そして、判断部1134は、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であるかどうか(第2条件)を判断する。そして、第2条件が「真」のときに、判断部1134は、位置偏差補正部1133に対して位置偏差をリセットするよう指令する。
これにより、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であるときに、位置偏差補正部1133は、位置偏差をリセットできる。
【0067】
モータ駆動部1135は、指令作製部111と信号送受信可能に接続されている。このため、モータ駆動部1135には、指令作製部111から位置指令及び速度指令が入力される。また、モータ駆動部1135は、Y軸方向傾動モータ135aと電気的に接続されている。さらに、モータ駆動部1135は、第1回転情報出力センサ135a−1と、信号送受信可能に接続されている。
このため、モータ駆動部1135は、速度指令及び/又は位置指令と、Y軸方向傾動モータ135aの回転量に基づいて、Y軸方向傾動モータ135aを制御できる。なお、モータ駆動部1135の詳細については、後ほど説明する。
【0068】
III.モータ駆動部の構成
次に、モータ駆動部1135の構成について、
図8を用いて説明する。
図8は、モータ駆動部の構成を示す図である。モータ駆動部1135は、速度制御部1135−1と、位置制御部1135−2と、速度算出部1135−3と、電力供給部1135−4(後述)と、偏差算出部1135−5(後述)と、合成部1135−6(後述)と、切替部1135−7(後述)と、を有する。
速度制御部1135−1は、偏差算出部1135−5に信号送受信可能に接続されている。よって、速度制御部1135−1には、偏差算出部1135−5において算出される、速度指令にて指示された速度(指示速度)とY軸方向傾動モータ135aの実際の速度との差(速度偏差)を入力する。
【0069】
そして、速度制御部1135−1は、入力された速度偏差に基づいて、電力供給部1135−4を制御するための第1制御量を算出する。このとき、速度制御部1135−1は、入力された速度偏差を無くするように、第1制御量を算出する。すなわち、速度制御部1135−1は、実際のモータの速度を指示速度に追従させるような第1制御量を算出する。
速度制御部1135−1としては、例えば、制御理論に基づいて速度偏差を無くするような制御量を算出する制御装置を用いることができる。このような制御装置としては、例えば、PID(Proportional Integral Differential)制御理論などの制御理論を用いた制御装置がある。本実施形態においては、速度制御部1135−1として、PI(Proportional Integral)制御理論を用いた制御装置を用いる。
速度制御部1135−1がPI制御理論を用いた制御装置である場合、第1制御量は、速度偏差をΔvとすると、K
pv×Δv+K
iv×Int(Δv)と表現される。ここで、Int(Δv)は、速度偏差Δvの時間積分値である。K
pv、K
ivは、制御ゲインと呼ばれる定数である。
【0070】
位置制御部1135−2は、位置偏差補正部1133に信号送受信可能に接続されている。よって、位置制御部1135−2には、位置偏差補正部1133から出力される補正された位置偏差が入力される。そして、位置制御部1135−2は、位置偏差補正部1133から出力される補正された位置偏差を無くするように、電力供給部1135−4を制御するための第2制御量を算出する。
位置制御部1135−2としては、速度制御部1135−1と同様、制御理論に基づいた制御を行う制御装置を用いることができる。本実施形態においては、位置制御部1135−2として、PI制御理論を用いた制御装置を用いる。
この場合、第2制御量は、位置偏差をΔθとすると、K
pp×Δθ+K
ip×Int(Δθ)と表現される。ここで、Int(Δθ)は、位置偏差Δθの時間積分値である。K
pp、K
ipは、制御ゲインと呼ばれる定数である。
【0071】
速度算出部1135−3は、第1回転情報出力センサ135a−1と信号送受信可能に接続されている。これにより、速度算出部1135−3は、第1回転情報出力センサ135a−1から出力されるパルス信号から、Y軸方向傾動モータ135aの回転速度を算出する。Y軸方向傾動モータ135aの回転速度は、例えば、パルス信号中の単位時間あたりのパルス数から算出できる。
【0072】
電力供給部1135−4は、合成部1135−6を介して、速度制御部1135−1と接続されている。また、電力供給部1135−4は、合成部1135−6及び切替部1135−7を介して、位置制御部1135−2に接続されている。
これにより、電力供給部1135−4には、速度制御部1135−1から出力される第1制御量のみが入力されるか、又は、第1制御量と位置制御部1135−2から出力される第2制御量とが、合成部1135−6において合成されて入力される。
【0073】
電力供給部1135−4に第1制御量のみが入力される場合、電力供給部1135−4は、Y軸方向傾動モータ135aの速度(回転速度)を指示速度に追従させる第1制御量のみに基づいて、フィードバック電流を出力する。これにより、モータ駆動部1135は、モータの回転速度を指示速度に追従させるよう、Y軸方向傾動モータ135aを駆動できる。
【0074】
一方、第1制御量と第2制御量の両方が合成部1135−6において合成されて電力供給部1135−4に入力される場合、電力供給部1135−4は、モータの回転速度を指示速度に追従させ、かつ、操作ロッド3の傾動角度を指示傾動角度に追従させるようなフィードバック電流を出力する。これにより、モータ駆動部1135は、モータの回転速度を指示速度に追従させるだけでなく、操作ロッド3の傾動角度を指示傾動角度に追従させるようにY軸方向傾動モータ135aを駆動できる。
【0075】
なお、本実施形態において、電力供給部1135−4からは、第1制御量及び/又は第2制御量に基づいて制御された電流(フィードバック電流)が出力される。しかし、電力供給部1135−4から出力されるのは、フィードバック電流に限らない。例えば、電力供給部1135−4からは、第1制御量及び/又は第2制御量に基づいて、電圧値及び/又はデューティ比が制御された電圧が出力されてもよい。
【0076】
また、電力供給部1135−4は判断部1134と接続されていてもよい。そして、電力供給部1135−4は、上記の第1条件の真偽に基づいて、電力供給部1135−4から出力されるフィードバック電流又は電圧を制御してもよい。
例えば、第1条件が「真」であった場合には、電力供給部1135−4から出力される電流値又は電圧値に制限を設けず、第1条件が「偽」であった場合には、電力供給部1135−4から出力可能な電流値又は電圧値に上限を設けてもよい。
これにより、第2の時間T
2の間に生じる位置偏差の変化量が第1の閾値φ
1以下の場合(第1条件が「真」の場合)には、位置偏差を累積保持するようにY軸方向傾動モータ135aを制御できる。
一方、第2の時間T
2の間に生じる位置偏差の変化量が第1の閾値φ
1よりも大きい場合(第1条件が「偽」の場合)には、Y軸方向傾動モータ135aに入力するフィードバック電流値又は電圧値を制限できる。その結果、判断部1134がエラーと判断したときに、Y軸方向傾動モータ135aから出力されるトルクを制限できる。
【0077】
偏差算出部1135−5は、2つの入力(「+」が付された入力と「−」が付された入力)を有する。偏差算出部1135−5の「+」が付された入力は、指令作製部111に信号送受信可能なように接続されている。そのため、偏差算出部1135−5の「+」が付された入力には、速度指令が入力される。
また、偏差算出部1135−5の「−」が付された入力には、速度算出部1135−3の出力と信号送受信可能に接続されている。これにより、偏差算出部1135−5の「−」が付された入力には、Y軸方向傾動モータ135aの回転速度が入力される。これにより、偏差算出部1135−5は、速度指令に指示された指示速度とY軸方向傾動モータ135aの回転速度との差、すなわち、速度偏差を算出する。
【0078】
合成部1135−6は、速度制御部1135−1から出力された第1制御量及び位置制御部1135−2から出力された第2制御量を合成(合成制御量)し、電力供給部1135−4へ出力する。ここで、合成制御量とは、第1制御量及び第2制御量に適切な重み付けをして加算した制御量のことを言う。第1制御量に付する重み付けと、第2制御量に付する重み付けの大きさを適切に調節することにより、Y軸方向傾動モータ135aの回転速度を指示速度に追従させるような制御(速度制御)をより重視するか、又は操作ロッド3の傾動角度を指示傾動角度に追従させるような制御(位置制御)をより重視するかを選択できる。
【0079】
切替部1135−7は、位置制御部1135−2の出力と、合成部1135−6の入力の1つに接続されている。また、切替部1135−7は、位置指令を作製する指令作製部111及び第1回転情報出力センサ135a−1に信号送受信可能に接続されている。これにより、切替部1135−7は、第1回転情報出力センサ135a−1から出力されるパルス数(すなわち、操作ロッド3の傾動角度)が、速度指令及び/又は位置指令に指示された減速開始位置に対応する値となったかどうかを判断できる。そして、切替部1135−7は、操作ロッド3の傾動角度が速度指令に指示された減速開始位置に対応する値となったときに、位置制御部1135−2の出力と合成部1135−6とを信号送受信可能に接続できる。すなわち、切替部1135−7は、Y軸方向傾動モータ135aの回転量が、速度指令に指示された減速開始位置に対応する値となったときに、位置制御部1135−2からの出力である第2制御量を合成部1135−6に入力可能にする。
これにより、切替部1135−7は、速度指令が減速指令のときにのみ、位置制御部1135−2から出力される第2制御量をY軸方向傾動モータ135aの制御に反映できる。その結果、操作ロッド3は目標傾動角度まで極力偏差を少なく到達できる。
【0080】
また、切替部1135−7は、位置偏差補正部1133に信号送受信可能に接続されている。そのため、切替部1135−7は、位置偏差補正部1133が累積保持された位置偏差をリセットする際に、位置制御部1135−2の出力と合成部1135−6とを信号送受信可能に接続できる。これにより、位置偏差補正部1133において累積保持された位置偏差を物理的にリセットするとした場合に、位置制御部1135−2から出力される第2制御量を、フィードバック電流の電流値を算出する際に反映できる。その結果、操作ロッド3の傾動角度が指示傾動角度に追従するようにY軸方向傾動モータ135aを制御できる。そして、操作ロッド3の実際の傾動角度と指示角度の偏差(位置偏差)を物理的にリセットできる。
【0081】
(5)訓練装置の動作
I.訓練装置の基本動作
次に、訓練装置100の動作について説明する。まず、訓練装置100の基本動作について
図9を用いて説明する。
図9は、訓練装置100の基本動作を示すフローチャートである。なお、以下においては、訓練モードをガイデッドモードに設定したときの訓練装置100の動作を例にとって、訓練装置100の動作を説明する。また、ここでは、Y軸方向傾動モータ135aをモータ制御部113aにより制御する際の動作を例にとり、訓練装置100の動作を説明する。なぜなら、X軸方向傾動モータ135b、伸縮モータ359をそれぞれ、モータ制御部113b、113cにより制御する際も、同様の制御が行われるからである。
まず、使用者が、訓練装置100の各種初期設定を、訓練指示部5などを用いて行う(ステップS1)。この時、訓練装置100の使用者は、訓練指示部5を用いて、上記の訓練モードをガイデッドモードに設定する。そして、訓練装置100の使用者は、訓練指示部5を用いて、ガイデッドモードにおける患者の肢の訓練プログラムを設定する。
【0082】
次に、訓練指示部5は、設定された訓練プログラムに基づいて、操作ロッド動作指令を作製する。その後、訓練指示部5は、操作ロッド動作指令(上位指令)を制御部11の指令作製部111に送信する(ステップS2)。
操作ロッド動作指令を受け取った指令作製部111は、操作ロッド動作指令に含まれる目標位置情報、目標速度情報、及び加速度情報に基づいて、速度指令及び位置指令を作製する(ステップS3)。
【0083】
指令作製部111にて速度指令及び/又は位置指令が作製された後、モータ制御部113aが、速度指令及び/又は位置指令に基づき、Y軸方向傾動モータ135aを制御する(ステップS4)。なお、本実施形態における、モータ制御部113aによるY軸方向傾動モータ135aの駆動の詳細は後述する。
【0084】
モータ制御部113aが、Y軸方向傾動モータ135aの駆動を開始後、まず、判断部1134が、第2の時間T
2の間に生じた位置偏差の変化量が、第1の閾値φ
1以下であるかどうかを判定する(ステップS5)。
第2の時間T
2の間に生じた位置偏差の変化量が、第1の閾値φ
1以下である場合(ステップS5において「Yes」の場合)、ステップS7に進む。一方、第2の時間T
2の間に生じた位置偏差の変化量が、第1の閾値φ
1より大きい場合(ステップS5において「No」の場合)、ステップS6に進む。
なお、ステップS5における位置偏差の変化量の判定方法については、後ほど詳しく説明する。
【0085】
第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1より大きい場合(ステップS5において「No」の場合)、判断部1134はエラーが発生したと判断する(ステップS6)。このとき、必要に応じて、判断部1134は、訓練指示部5に対して、視覚的情報又は聴覚的情報などを使用者(患者など)に提供するよう指令する。また、判断部1134は、安全性など考慮して、モータ制御部113aに対して適切なエラー処理を行うよう指令する。例えば、判断部1134は、モータ駆動部1135に対して、Y軸方向傾動モータ135aの回転を停止させるよう指令する。
または、判断部1134は、モータ駆動部1135に対して、Y軸方向傾動モータ135aから出力可能なトルクの上限を制限する制御を行うよう指令してもよい。このとき、モータ駆動部1135は、Y軸方向傾動モータ135aに入力されるフィードバック電流値、又は、電圧値を制限する。これにより、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1より大きくなった、すなわち、単位時間あたりの位置偏差の変化量が過剰である場合に、Y軸方向傾動モータ135aのトルクが制限される。その結果、操作ロッド3が患者の肢に対して無理な負荷をかけることを抑制できる。
エラー処理を行ったあと、ステップS9に進む。
【0086】
第2の時間T
2の間に生じた位置偏差の変化量が、第1の閾値φ
1以下である場合(ステップS5において「Yes」の場合)、位置偏差補正部1133は、位置偏差補正を行うタイミングであるかどうかをモニターする(ステップS7)。本実施形態においては、位置偏差補正部1133は、(i)判断部1134において、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であると判断されたかどうか、(ii)操作ロッド3(Y軸方向傾動モータ135a)の動作が停止したかどうか、(iii)操作ロッド3の実際の傾動角度が減速開始位置(後述)に到達したかどうか、をモニターする。位置偏差補正部1133における、これら3つのタイミングの具体的なモニター方法については後述する。
位置偏差補正部1133が位置偏差補正を行うタイミングでないと判断した場合(ステップS7において「No」の場合)、ステップS9に進む。
一方、位置偏差補正部1133が位置偏差補正を行うタイミングであると判断した場合(ステップS7において「Yes」の場合)、ステップS8に進む。
【0087】
位置偏差補正部1133が位置偏差補正を行うタイミングであると判断した場合(ステップS7において「Yes」の場合)、位置偏差補正部1133は、累積保持された位置偏差をリセットする(ステップS8)。位置偏差補正部1133は、(i)位置偏差を物理的にリセットする、又は/及び、(ii)制御部11において扱うパラメータとしての位置偏差の値を0とする、などの方法により位置偏差をリセットする。なお、前述の方法(i)及び(ii)による位置偏差のリセット方法のそれぞれについては、後ほど詳しく説明する。
【0088】
ステップS6におけるエラー処理の後、ステップS8における位置偏差のリセット後、又は、ステップS7において位置偏差補正部1133が位置偏差補正を行うタイミングでないと判断した場合(ステップS7において「No」の場合)、モータ制御部113aにおいて、操作ロッド3が最終的に到達すべき傾動角度である目標傾動角度に、操作ロッド3が到達したかどうかが判定される(ステップS9)。操作ロッド3の傾動角度が目標傾動角度である場合(ステップS9において「Yes」の場合)、モータ制御部113aによるY軸方向傾動モータ135aの制御は終了する。
なお、ステップS9において操作ロッド3の傾動角度が目標傾動角度であると判断された場合、モータ制御部113aは、訓練指示部5に対して、操作ロッド3の傾動角度が目標傾動角度に到達したことを、視覚的情報又は聴覚的情報により、患者などの使用者に対して提供するように指令する。これにより、患者が訓練を続けるためのモチベーションを維持できる。
【0089】
一方、操作ロッド3の傾動角度が目標傾動角度に到達していない場合(ステップS9において「No」の場合)には、ステップS5に戻る。
【0090】
なお、操作ロッド3が目標傾動角度に到達したかどうかは、第1回転情報出力センサ135a−1から出力されるパルス数に基づいて判定してもよく、速度指令及び/又は位置指令が全て実行されたかどうかに基づいて判定してもよい。
【0091】
II.モータ制御方法
次に、本実施形態における、
図9のステップS4におけるモータの制御方法について、
図10を用いて説明する。
図10は、モータの制御方法を示したフローチャートである。
【0092】
Y軸方向傾動モータ135aの駆動を開始すると、まず、切替部1135−7が、第1回転情報出力センサ135a−1から出力されるパルス数から、操作ロッド3の実際の傾動角度を算出する。そして、算出された操作ロッド3の傾動角度が、速度指令において減速指令を実行すべき傾動角度であるかをチェックする(ステップS41)。このように、速度指令において減速指令を実行すべきかどうかを、操作ロッド3の実際の傾動角度に基づいて決定することにより、適切なタイミングにおいて減速を開始できる。その結果、操作ロッド3を目標傾動角度に極力偏差を小さくでき、精度良く移動できる。
【0093】
操作ロッド3の実際の傾動角度が、減速指令を実行すべき傾動角度まで到達していない場合(ステップS41において「No」の場合)、ステップS42に進む。一方、操作ロッド3の実際の傾動角度が、減速指令を実行すべき傾動角度まで到達している場合(ステップS41において「Yes」の場合)、ステップS43に進む。
【0094】
ステップS41において、操作ロッド3の実際の傾動角度が、減速指令を実行すべき傾動角度に到達していないと判定されたとき(ステップS41において「No」の場合)、切替部1135−7は、位置制御部1135−2から出力される第2制御量が合成部1135−6に入力されないよう、位置制御部1135−2と合成部1135−6とを信号送受信不可能なように切断する(ステップS42)。これにより、速度制御部1135−1から出力される第1制御量のみが、電力供給部1135−4においてフィードバック電流を出力する際に反映される。その結果、モータ駆動部1135は、Y軸方向傾動モータ135aの回転速度が指示速度のみに追従するように、Y軸方向傾動モータ135aを制御する(速度制御)。
【0095】
操作ロッド3の実際の傾動角度が減速指令を実行すべき傾動角度に到達していないとき、
図5A、
図5B及び
図6に示すように、速度指令においては、加速指令又は定速指令が実行されている。よって、速度指令において加速指令又は定速指令が実行されているときに、モータ駆動部1135は、Y軸方向傾動モータ135aの回転速度が指示速度のみに追従するように、Y軸方向傾動モータ135aを制御していることになる。
【0096】
また、Y軸方向傾動モータ135aの回転速度が指示速度のみに追従するように、Y軸方向傾動モータ135aが制御されたとき、Y軸方向傾動モータ135aの回転速度は指示速度に追従する(すなわち、速度偏差は解消される)一方、位置偏差は解消されず累積保持される。なぜなら、速度制御では、電力供給部1135−4においてフィードバック電流を算出する際に、第2制御量が反映されないからである。
【0097】
速度偏差が解消される一方、位置偏差は累積保持される様子を
図11に示す。
図11に示すように、
図11中の速度偏差(i)は、速度制御により時間t
aにおいて解消する。速度偏差(i)が解消した時間t
aにおいて、速度偏差(i)の時間積分(図中にて斜線にて示した領域の面積)に対応する位置偏差Δθ
Aが生じる。このとき、位置制御部1135−2と合成部1135−6は切断されているため、第2制御量はフィードバック電流を算出する際に反映されない。その結果、位置偏差Δθ
Aは解消されず保持される。また、2番目に生じた速度偏差(ii)は、速度制御により時間t
bにおいて解消する。そして、速度偏差(ii)が解消した時間t
bにおいて、速度偏差(ii)の時間積分(図中にて網掛け線にて示した領域の面積)に対応する位置偏差が生じる。ここで、位置偏差Δθ
Aは解消されず保持されているので、速度偏差(ii)が解消した時間t
bにおいては、速度偏差(ii)により生じた位置偏差と、速度偏差(i)により生じた位置偏差Δθ
Aとが累積されて、位置偏差Δθ
Bが生じる。そして、時間t
b以降、速度偏差が生じなければ、位置偏差Δθ
Bは不変のまま保持される。一方、時間t
b以降に、速度偏差が生じれば、速度偏差の発生に起因して生じる位置偏差はΔθ
Bに累積されていく。
【0098】
訓練装置100においては、患者の肢の動作が、操作ロッド動作指令に示された操作ロッド3の動作にある程度追従できるなら、位置偏差が多少生じたとしても訓練を継続することが患者にとって好ましい。よって、本実施形態においては、速度指令の加速指令及び/又は定速指令実行時に、速度制御のみによりY軸方向傾動モータ135aを制御する。これにより、Y軸方向傾動モータ135aを、位置偏差を解消することなく速度指令に追従するように制御できる。その結果、多少の位置偏差があったとしても、操作ロッド3の動作速度を操作ロッド動作指令に示された動作速度に追従させつつ、患者は肢の訓練を継続できる。
【0099】
一方、操作ロッド3の実際の傾動角度が、減速指令を実行すべき傾動角度であると判定された場合(ステップS41において「Yes」の場合)、切替部1135−8が、位置制御部1135−2と合成部1135−6とを信号送受信可能なように接続する(ステップS43)。すなわち、位置制御部1135−2から出力される第2制御量が、合成部1135−6へ入力可能となる。これにより、減速指令の実行時に、第1制御量だけでなく第2制御量も、電力供給部1135−4においてフィードバック電流を出力する際に反映されるようになる。これにより、減速指令の実行時には、操作ロッド3の実際の傾動角度が、指示傾動角度にも追従するようになる。したがって、操作ロッド3は目標傾動角度に精度良く到達できる。
【0100】
モータ制御部113aが上記のステップS41〜S43を実行することにより、モータ制御部113aは、速度指令の加速指令及び/又は定速指令実行時において、速度指令のみに追従するようにY軸方向傾動モータ135aを制御できる。そして、減速指令実行時において、速度指令及び位置指令に追従するように、Y軸方向傾動モータ135aを制御できる。
【0101】
なお、上記のステップS4におけるモータの制御は、操作ロッド3が目標傾動角度に到達するまで、又は、エラーの発生若しくは使用者による指示などにより操作ロッド3の動作を停止させるまで実行される。
【0102】
III.位置偏差の変化量が許容範囲内であるかどうかの判定方法
次に、
図9に示したフローチャート中のステップS5における、位置偏差の変化量が許容範囲内であるかどうかの判定方法について、
図12を用いて説明する。
図12は、位置偏差の変化量が許容範囲内であるかどうかの判定方法を示すフローチャートである。
位置偏差の変化量が許容範囲内であるかどうかの判定を開始すると、まず、判断部1134が、Y軸方向傾動モータ135aが駆動を開始してからの経過時間tが、第2の時間T
2の整数(n)倍であるかどうかを判断する(ステップS51)。経過時間tが第2の時間T
2の整数倍でない場合(ステップS51において「No」の場合)、判断部1134は、位置偏差の変化量が許容範囲であるかどうかの判断をすることなく、位置偏差の変化量が許容範囲内であるかどうかの判定を終了する。そして、次のステップS7へ進む。
【0103】
一方、経過時間tが第2の時間T
2の整数倍である場合(ステップS51において「Yes」の場合)、判断部1134は、位置偏差算出部1132から累積保持されている位置偏差を取得する(ステップS52)。そして、判断部1134は、取得した位置偏差を経過時間t=nT
2において累積保持された位置偏差Δθ
nとして、モータ制御部113aの記憶装置などに記憶する。
【0104】
なお、位置偏差算出部1132においては、第1の時間T
1間隔で位置偏差を算出している。なぜなら、位置偏差算出部1132は、位置偏差補正部1133を介してモータ駆動部1135に接続されており、モータ駆動部1135は、位置偏差算出部1132において算出された(あるいは、位置偏差補正部1133において補正された)位置偏差に基づいてY軸方向傾動モータ135aの制御を行うからである。
一方、判断部1134が位置偏差を取得する間隔である第2の時間T
2は、単位時間あたりの位置偏差の変化量を決定するための時間間隔である。従って、第2の時間T
2は、第1の時間T
1よりも十分に大きな時間間隔であってもよい。第2の時間T
2を第1の時間T
1よりも十分に大きな時間間隔とすることにより、モータ制御部113aにおける計算負荷を低減できる。
【0105】
次に、判断部1134が、第2の時間T
2あたりに生じた位置偏差が第1の閾値φ
1以下であるかどうかを判定する(ステップS53)。具体的には、以下のようにして判定する。
まず、判断部1134は、モータ制御部113aの記憶装置などから、前回算出された位置偏差Δθ
n−1、すなわち、経過時間t=(n−1)T
2時間において累積保持された位置偏差を読み出す。そして、経過時間t=nT
2における位置偏差Δθ
nと、経過時間t=(n−1)T
2における位置偏差Δθ
n−1との差Δθ
n−Δθ
n−1を算出する。これにより、経過時間t=nT
2において、第2の時間T
2(すなわち単位時間)あたりに生じた位置偏差の変化量が算出される。その後、判断部1134は、Δθ
n−Δθ
n−1が第1の閾値φ
1以下であるかどうかを判断する。
Δθ
n−Δθ
n−1が第1の閾値φ
1以下の場合(ステップS53において「Yes」の場合)、位置偏差の変化量が許容範囲内であると判断し(ステップS54)、位置偏差変化量が許容範囲内であるかどうかの判定を終了する。一方、Δθ
n−Δθ
n−1が第1の閾値φ
1よりも大きい場合(ステップS53において「No」の場合)、位置偏差の変化量が許容範囲内でないと判断して(ステップS55)、位置偏差変化量が許容範囲内であるかどうかの判定を終了する。
【0106】
このように、ある経過時間の位置偏差と、当該経過時間より第2の時間T
2前の位置偏差との差を算出することにより、第2の時間T
2あたりに生じた位置偏差の変化量を算出できる。そして、第2の時間T
2あたりの位置偏差の変化量が第1の閾値φ
1以下であるかどうかを判定することにより、判断部1134は、単位時間あたりに生じた位置偏差(単位時間あたりの位置偏差の変化量)が、ゆっくりとした位置偏差の変化であるか、急激な位置偏差の変化であるかを判断できる。
【0107】
IV.位置偏差の補正(リセット)を行うタイミングの判定方法
次に、ステップS7における位置偏差の補正(リセット)を行うタイミングの判定方法について、
図13A〜
図13Cを用いて説明する。ステップS7における位置偏差の補正(リセット)のタイミングは、(i)判断部1134において、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であると判断されたかどうか、(ii)操作ロッド3(Y軸方向傾動モータ135a)の動作が停止したかどうか、(iii)操作ロッド3の実際の傾動角度が減速開始位置に到達したかどうか、の3つである。以下に、それぞれのタイミングの判定方法を説明する。
図13Aは、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であるかどうかの判定方法を示すフローチャートである。
図13Bは、操作ロッド3(もしくはY軸方向傾動モータ135a)の動作が停止したかどうかの判定方法を示すフローチャートである。
図13Cは、操作ロッド3の傾動角度が減速開始位置に到達したかどうかの判定方法を示すフローチャートである。
【0108】
(i)第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であるかどうかの判定方法
以下、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であるかどうかの判定方法について、
図13Aを用いて説明する。
まず、判断部1134が、Y軸方向傾動モータ135aが駆動を開始してからの経過時間tが、第3の時間T
3の整数(n)倍であるかどうかを判断する(ステップS51)。経過時間tが第3の時間T
3の整数倍でない場合(ステップS711において「No」の場合)、判断部1134は判定を終了する。そして、ステップS9へ進む。
【0109】
一方、経過時間tが第3の時間T
3の整数倍である場合(ステップS711において「Yes」の場合)、判断部1134は、位置偏差算出部1132から累積保持されている位置偏差を取得する(ステップS712)。そして、判断部1134は、取得した位置偏差を経過時間t=nT
3において累積保持された位置偏差ΔΘ
nとして、モータ制御部113aの記憶装置などに記憶する。
【0110】
次に、判断部1134が、第3の時間T
3あたりに生じた位置偏差の変化量が第2の閾値φ
2以下であるかどうかを判定する(ステップS713)。具体的には、以下のようにして判定する。まず、判断部1134は、モータ制御部113aの記憶装置などから、前回算出された位置偏差ΔΘ
n−1、すなわち、経過時間t=(n−1)T
3時間において累積保持された位置偏差を読み出す。そして、経過時間t=nT
3における位置偏差ΔΘ
nと、経過時間t=(n−1)T
3における位置偏差ΔΘ
n−1との差ΔΘ
n−ΔΘ
n−1を算出する。これにより、経過時間t=nT
3において、第3の時間T
3(すなわち単位時間)あたりに生じた位置偏差の変化量が算出される。その後、判断部1134は、ΔΘ
n−ΔΘ
n−1が第2の閾値φ
2以下であるかどうかを判断する。
ΔΘ
n−ΔΘ
n−1が第2の閾値φ
2以下の場合(ステップS713において「Yes」の場合)、第3の時間T
3あたりの位置偏差の変化量が第2の閾値φ
2以下であると判断、すなわち、位置偏差の補正(リセット)を行うタイミングと判断し(ステップS714)、第3の時間T
3あたりの位置偏差の変化量が第2の閾値φ
2以下であるかどうかの判定を終了する。一方、ΔΘ
n−ΔΘ
n−1が第2の閾値φ
2よりも大きい場合(ステップS53において「No」の場合)、第3の時間T
3あたりの位置偏差の変化量が第2の閾値φ
2以下でないと判断、すなわち、位置偏差の補正(リセット)を行うタイミングでないと判断して(ステップS715)、第3の時間T
3あたりの位置偏差の変化量が第2の閾値φ
2以下であるかどうかの判定を終了する。
【0111】
(ii)操作ロッド(もしくはモータ)の動作が停止したかどうかの判定方法
次に、操作ロッド3(もしくはY軸方向傾動モータ135a)の動作が停止したかどうかの判定方法について、
図13Bを用いて説明する。
まず、位置偏差補正部1133は、操作ロッド3の動作が停止したかどうか判断する(ステップS721)。操作ロッド3の動作が停止したかどうかは、(i)操作ロッド3の傾動角度が実質的に変化しなくなったかどうか(患者により停止指示がされた場合)、(ii)操作ロッド3が位置指令に指令された目標傾動角度に到達したか、及び/又は、(iii)速度指令が全て実行されたかどうか、に基づいて判断される。
【0112】
上記(i)及び(ii)のように、操作ロッド3の傾動角度に基づいて判定する場合、位置偏差補正部1133は、位置指令に指示された指示傾動角度から、位置偏差算出部1132にて算出された位置偏差を差し引いて、操作ロッド3の実際の傾動角度を算出する。その他、位置偏差補正部1133は、傾動角度算出部1131から直接に操作ロッド3の傾動角度を取得してもよい。
上記(i)の操作ロッド3の傾動角度が変化しなくなったかどうかは、位置偏差補正部1133において算出された操作ロッド3の実際の傾動角度が、ある所定の時間内で変化したかどうかにより判断できる。
上記(ii)の操作ロッド3が位置指令に指令された目標傾動角度に到達したかどうかは、位置偏差補正部1133において算出された操作ロッド3の実際の傾動角度が、目標傾動角度と一致するかどうかにより判断できる。
【0113】
上記(iii)の速度指令が全て実行されたかどうかは、例えば、Y軸方向傾動モータ135aの駆動を開始してからの経過時間tが、
図5A及び
図5Bに示した速度指令において示された経過時間t
5(
図5Aの速度指令の場合)、又はt
3(
図5Bの速度指令の場合)になったかどうかにより判断できる。
【0114】
位置偏差補正部1133が、操作ロッド3の動作が停止したと判断した場合(ステップS721において「Yes」の場合)、累積保持された位置偏差を補正(リセット)するタイミングであると判断して(ステップS722)、判定を終了する。一方、位置偏差補正部1133が、操作ロッド3の動作が停止していないと判断した場合(ステップS721において「No」の場合)、累積保持された位置偏差を補正(リセット)するタイミングでないと判断して(ステップS723)、判定を終了する。
【0115】
その他、位置偏差補正部1133が直接、速度算出部1135−3において算出されたY軸方向傾動モータ135aの回転速度を参照して、当該回転速度が0(あるいは0近辺の所定の値)となったときに、操作ロッド3の動作が停止したと判断してもよい。
【0116】
(iii)操作ロッドの傾動角度が減速開始位置に到達したかどうかの判定方法
次に、操作ロッド3の傾動角度が減速開始位置に到達したかどうかの判定方法について、
図13Cを用いて説明する。
まず、位置偏差補正部1133は、操作ロッド3の傾動角度がY軸方向傾動モータ135aの減速開始位置に到達したかどうかを判定する(ステップS731)。操作ロッド3の傾動角度が減速開始位置に到達したかどうかは、操作ロッド3の傾動角度が、
図6に示された位置指令において、経過時間t
2のときの指示傾動角度θ
dと一致するかどうかにより判断する。ここでは、Y軸方向傾動モータ135aの減速開始位置であるかどうかは、Y軸方向傾動モータ135aの駆動を開始してからの経過時間tに基づいて(すなわち、経過時間tがt
2と一致しているかどうかに基づいて)判断されていない。
【0117】
もし、Y軸方向傾動モータ135aの減速開始位置であるかどうかが、Y軸方向傾動モータ135aの駆動を開始してからの経過時間tがt
2と一致することにより判断されたとすると、速度指令の加速指令又は定速指令の実行時に、意図しない位置偏差のリセットが行われることがある。
例えば、加速指令又は定速指令の実行時に位置偏差が発生した場合、経過時間tがt
2の時点においては、操作ロッド3の実際の傾動角度は、速度指令(位置指令)に指示された減速開始位置θ
dに到達していない。この場合、経過時間tがt
2であっても、加速指令又は定速指令が実行されている。このように、単に経過時間t
2において位置偏差をリセットしてしまうと、操作ロッド3の実際の傾動角度が減速開始位置に到達する前に位置偏差がリセットされてしまうといった、意図しない位置偏差のリセットがなされてしまう。
【0118】
そこで、操作ロッド3の実際の傾動角度が、速度指令(位置指令)に指示された減速開始位置θ
dに到達してから減速指令が実行されることにより、操作ロッド3が見かけ上停止してしまうことを抑制できる。
また、位置偏差のリセットを行うタイミングを、操作ロッド3の実際の傾動角度が減速開始位置θ
dと一致するかどうかにより判断することにより、加速指令又は定速指令の実行時に、意図しない位置偏差のリセットが実行されることを回避できる。
【0119】
位置偏差補正部1133が、操作ロッド3の実際の傾動角度が減速開始位置θ
dと一致すると判断した場合(ステップS731において「Yes」の場合)、累積保持された位置偏差を補正(リセット)するタイミングであると判断して(ステップS732)、判定を終了する。一方、位置偏差補正部1133が、操作ロッド3の傾動角度が減速開始位置θ
dと一致しないと判断した場合(ステップS731において「No」の場合)、位置偏差を補正(リセット)するタイミングでないと判断して(ステップS733)、判定を終了する。
【0120】
V.位置偏差補正方法
次に、
図9に示したフローチャートのステップS8における位置偏差の補正(リセット)方法について、
図14A〜
図15Bを用いて説明する。
図14Aは、位置偏差を物理的にリセットする方法を示すフローチャートである。
図14Bは、パラメータとしての位置偏差の値を0に設定して位置偏差をリセットする方法の一例を示すフローチャートである。
図15Aは、位置偏差を物理的にリセットする方法による位置偏差のリセット方法を模式的に示した図である。
図15Bは、パラメータとしての位置偏差の値を0に設定して位置偏差をリセットする方法を模式的に示した図である。
ステップS8において、位置偏差補正部1133は、(i)位置偏差を物理的にリセットする、又は/及び、(ii)制御部11において扱うパラメータとしての位置偏差の値を0とする、などの方法により位置偏差をリセットする。以下、それぞれの位置偏差のリセット方法について説明する。
【0121】
(i)位置偏差を物理的にリセットする方法
まず、位置偏差を物理的にリセットする方法について、
図14A及び
図15Aを用いて説明する。ここで、位置偏差を「物理的に」リセットするとは、操作ロッド3の実際の傾動角度を、位置指令の指示傾動角度に一致させることをいう。
まず、位置偏差の補正(リセット)を行うタイミングとなったときに、位置偏差補正部1133は、モータ駆動部1135の切替部1135−7に対して、位置制御部1135−2と合成部1135−6とを信号送受信可能に接続するよう指令する(ステップS811)。そして、切替部1135−7は、位置制御部1135−2と合成部1135−6とを、信号送受信可能に接続する。これにより、位置制御部1135−2から出力される第2制御量が、合成部1135−6に入力可能となる。したがって、電力供給部1135−4は、Y軸方向傾動モータ135aへ入力するフィードバック電流値、又は、電圧値を算出する際に、第2制御量を反映できる。その結果、モータ駆動部1135は、操作ロッド3の傾動角度が位置指令に指示された指示傾動角度と一致するよう、Y軸方向傾動モータ135aを制御できる。
【0122】
次に、位置偏差補正部1133が、補正条件を満たすかどうかを判断する(ステップS812)。ここで、補正条件とは、Y軸方向傾動モータ135aの制御に、第2制御量を反映させるかどうかを決定するための条件である。補正条件は、例えば、操作ロッド3の実際の傾動角度が指示傾動角度に一致(あるいは、位置偏差が所定の範囲内)するかどうか、であってもよい。操作ロッド3の実際の傾動角度が指示傾動角度に一致(あるいは、位置偏差が所定の範囲内)するかどうかを、補正条件とすることにより、操作ロッド3の実際の傾動角度を指示傾動角度に一致できる(あるいは、所定の範囲内に収めることができる)。
その他、補正条件として、ステップS811において位置制御部1135−2と合成部1135−6とが接続されている時間が、所定の時間以上であるかどうかであってもよい。位置制御部1135−2と合成部1135−6との接続時間が所定の時間以上であるかどうかを補正条件とすることにより、操作ロッド3の実際の傾動角度を指示傾動角度に近づけることが可能であると同時に、第2制御量がY軸方向傾動モータ135aの制御に長時間反映されて、Y軸方向傾動モータ135aの回転速度が過剰に上昇することを抑制できる。
【0123】
補正条件を満たすと判断した場合(ステップS812において「Yes」の場合)、位置偏差補正部1133は、切替部1135−7に対して、位置制御部1135−2と合成部1135−6とを切断するよう指令する(ステップS813)。その結果、合成部1135−6に第2制御量が入力されなくなる。そして、位置偏差のリセットを終了する。
一方、補正条件を満たさないと判断した場合(ステップS812において「No」の場合)、位置偏差補正部1133は、位置制御部1135−2と合成部1135−6との接続を維持するよう、切替部1135−7に指令する。これにより、補正条件が満たされるまで、累積保持された位置偏差のリセット判断が継続される。
【0124】
位置偏差を物理的にリセットする方法における動作について、
図15Aを用いてさらに説明する。
図15Aにおいて、2つの速度変化(i)及び(ii)が発生したとする。この時、これら2つの速度変化に起因して、経過時間t=3T
3のときに、位置偏差Δθ
3が発生しており、経過時間t=5T
3のときに、位置偏差Δθ
5が発生している。
【0125】
前述のステップS7において、位置偏差のリセットを行うタイミングが第3の時間T
3経過毎の位置偏差の変化量が第2の閾値φ
2以下であるタイミングである場合を例にとると、経過時間3T
3のときの位置偏差の変化量Δθ
3−Δθ
2が第2の閾値φ
2以下である場合、前述のステップS811により、位置制御部1135−2からの第2制御量が、Y軸方向傾動モータ135aに入力されるフィードバック電流又は電圧に反映される。その結果、経過時間3T
3後、位置偏差Δθ
3を無くするように、すなわち、操作ロッド3の実際の傾動角度を指示傾動角度に一致させるよう、Y軸方向傾動モータ135aが制御される。このとき、Y軸方向傾動モータ135aの回転速度は、一時的に速度指令に指示された指示速度よりも大きくなる(速度変化(1))。速度変化(1)のような一時的な速度の上昇により、位置偏差Δθ
3は、経過時間4T
3までに解消する。
【0126】
一方、経過時間5T
3のときの位置偏差の変化量Δθ
5−Δθ
4が第2の閾値φ
2以下であり、補正条件が操作ロッド3の実際の傾動角度が指示傾動角度に一致(位置偏差が0)する場合のとき、経過時間5T
3のときに生じた位置偏差Δθ
5は、第2制御量をY軸方向傾動モータ135aへの入力に反映させることにより発生する速度変化(2)により、経過時間7T
3までには解消する。なお、経過時間6T
3において、位置偏差Δθ
6は0ではないため、位置偏差のリセット動作は継続している(すなわち、位置制御部1135−2と合成部1135−6とが接続のまま保持される)。
【0127】
このように、補正条件を満たすまで位置偏差のリセット判断を継続することにより、操作ロッド3の実際の傾動角度を指示傾動角度に一致(あるいは、近づけることが)できる。そのため、
図15Aに示すように、累積保持される位置偏差が過剰に大きくなることがなくなる。その結果、ゆっくりと変化する位置偏差が長時間生じているときにエラーと判断されることなく、患者は訓練装置100による肢の訓練を継続できる。
【0128】
なお、速度変化(1)及び(2)における、Y軸方向傾動モータ135aの回転速度の最大値は、過剰に大きくならないようにすることが好ましい。例えば、合成部1135−6において第1制御量と第2制御量とを合成する際に用いる重み付けの値を最適化したり(例えば、第2制御量の重み付けを小さくする)、位置制御用の制御ゲインK
pp、K
pvを小さな値に設定したりすることにより、位置制御を実行中にY軸方向傾動モータ135aの回転速度が過剰に大きくなることを抑制できる。
また、速度変化(1)及び(2)において、Y軸方向傾動モータ135aの回転速度の最大値を抑制することにより、操作ロッド3が肢に対して加える負荷が過剰に大きくなることを抑制できる。
【0129】
(ii)パラメータとしての位置偏差の値を0に設定して位置偏差をリセットする方法
次に、パラメータとしての位置偏差の値を0に設定して位置偏差をリセットする方法について、
図14Bと
図15Bを用いて説明する。ここでは、
図15A中の、経過時間3T
3における位置偏差をリセットする方法を例にとって説明する。
まず、位置偏差補正部1133が、累積保持された位置偏差をリセットするタイミングにおける、操作ロッド3の実際の傾動角度を算出する(ステップS821)。今、位置偏差補正部1133において、経過時間3T
3における操作ロッド3の実際の傾動角度はθ
3である。
【0130】
次に、位置偏差補正部1133が、位置指令に示された指示傾動角度がθ
3となる時間を、位置指令から取得する(ステップS822)。今、位置指令が関数P(t)にて示されているとして、指示傾動角度がθ
3となる位置指令における時間tは、3T
3−Δt(すなわち、P(3T
3−Δt)=θ
3)である。そして、位置偏差補正部1133が、位置指令において指示傾動角度がθ
3となった時間と、操作ロッド3の傾動角度が実際にθ
3になった時間との差Δtを算出する。
【0131】
次に、位置偏差補正部1133が、位置指令の関数P(t)を更新する(ステップS823)。ステップS823において、位置指令の関数P(t)は、経過時間3T
3において、関数P(t)から関数P(t−Δt)に変換されることにより更新される。これは、
図15Bにおいては、経過時間3T
3において、位置指令の関数P(t)(
図15Bにおいて、一点鎖線にて示した位置指令)が時間軸に対してΔtだけ後ろ(
図15Bの右方向)に平行移動(
図15Bにおいて、二点鎖線にて示した位置指令)されたことを意味している。そして、経過時間3T
3においては、位置指令に示される指示傾動角度がP(3T
3−Δt)、すなわち、θ
3となる。その結果、操作ロッド3の実際の傾動角度と指示傾動角度との差(位置偏差)が0となる。
なお、
図15Bに示すように、パラメータとしての位置偏差を0として位置偏差をリセットする場合、操作ロッド3の実際の傾動角度と元々の位置指令P(t)に示された指示傾動角度との間の位置偏差はそのまま累積保持される。
【0132】
また、位置指令の関数P(t)をP(t−Δt)に更新することに伴い、速度指令の関数V(t)もV(t−Δt)に更新される。例えば、
図15Cに示すように、経過時間mT
3(m:整数)において位置指令の関数P(t)が関数P(t−Δt
c)(
図15Cにおいて二点鎖線にて示した位置指令)に更新された場合、更新された速度指令V(t−Δt
c)(
図15Cにおいて二点鎖線にて示した速度指令)は、更新前の速度指令V(t)を時間軸に対してΔt
cだけ後ろに平行移動した関数に対応するようになる。これにより、到達するまでの時間はΔt
cだけ遅くなるものの、位置指令と速度指令が時間的に適切に対応するようになる。その結果、モータ制御部113aは、操作ロッド3が目標傾動角度に極力誤差を小さくして、精度良く到達可能なように、Y軸方向傾動モータ135aを制御できる。
また、パラメータとしての位置偏差を0にリセットする方法の場合、モータ制御部113aは、位置偏差を物理的に解消するための位置制御を実行しない。そのため、操作ロッド3の単位時間あたりの傾動角度が、速度指令に指示された指示速度よりも大きくなることが少ない。その結果、安全に訓練を継続することができる。
【0133】
(6)本実施形態の効果
以下に、本実施形態の訓練装置100の効果について述べる。
訓練装置100(訓練装置の一例)は、訓練プログラム(訓練プログラムの一例)に従って、患者(患者の一例)の上肢及び/又は下肢の四肢を訓練する訓練装置である。訓練装置100は、固定フレーム1(固定フレームの一例)と、操作ロッド3(操作ロッドの一例)と、X軸方向傾動モータ135b(モータの一例)と、Y軸方向傾動モータ135a(モータの一例)と、第2回転情報出力センサ135b−1(回転情報出力センサの一例)と、第1回転情報出力センサ135a−1(回転情報出力センサの一例)と、傾動角度算出部1131(傾動角度算出部の一例)と、位置偏差算出部1132(位置偏差算出部の一例)と、判断部1134(判断部の一例)と、モータ駆動部1135(モータ駆動部の一例)と、位置偏差補正部1133(位置偏差補正部の一例)と、を備える。固定フレーム1は、床面上又は床面上に近接して載置される。操作ロッド3は、固定フレーム1に少なくともX軸又はY軸(所定の傾動軸の一例)周りに傾動可能に支持される。また、操作ロッド3は、肢(肢の一例)を保持する。X軸方向傾動モータ135b及びY軸方向傾動モータ135aは、それぞれ、操作ロッド3をそれぞれX軸回り又はY軸回りに傾動させる。第1回転情報出力センサ135a−1及び第2回転情報出力センサ135b−1は、それぞれ、Y軸方向傾動モータ135a及びX軸方向傾動モータ135bの回転量を出力する。傾動角度算出部1131は、X軸方向傾動モータ135b及び/又はY軸方向傾動モータ135aの回転量に基づいて、操作ロッド3の実際の傾動角度(傾動角度の一例)を算出する。位置偏差算出部1132は、位置偏差(位置偏差の一例)を第1の時間T
1(第1の時間の一例)の間隔にて算出する。判断部1134は、位置偏差算出部1132において算出された位置偏差を第2の時間T
2(第2の時間の一例)が経過する毎に取得する。そして、判断部1134は、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1(第1の閾値の一例)以下であるかどうかを判断する。モータ駆動部1135は、判断部1134において、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1以下であると判断された場合に、位置偏差を累積保持するよう、X軸方向傾動モータ135b及びY軸方向傾動モータ135aを駆動する。位置偏差補正部1133は、予め設定されたタイミングにおいて、累積保持された位置偏差をリセットする。
【0134】
訓練装置100では、まず、判断部1134が、単位時間(第2の時間T
2)の経過毎の位置偏差を取得する。次に、判断部1134は、第2の時間T
2の間に生じた位置偏差の変化量を算出する。そして、判断部1134は、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1以下であるかどうかを判断する。
判断部1134において、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1以下であると判断された場合、モータ駆動部1135は、位置偏差を累積保持するように、X軸方向傾動モータ135b、Y軸方向傾動モータ135aのいずれかを駆動する。そして、位置偏差補正部1133が、X軸方向傾動モータ135b及びY軸方向傾動モータ135aが駆動されているうちに累積保持された位置偏差を、予め設定されたタイミングにおいてリセットする。
【0135】
このように、判断部1134は、単位時間(第2の時間T
2)の経過毎の位置偏差を取得している。これにより、単位時間(第2の時間T
2)の間に生じた位置偏差の変化量を算出できる。また、判断部1134は、単位時間(第2の時間T
2)の間に生じた位置偏差の変化量が第1の閾値φ
1以下であるかどうかを判定している。これにより、判断部1134は、位置偏差が0ではないが不変である追従状態が発生している場合、又は位置偏差がゆっくり変化する追従状態が発生している場合を的確に判別できる。
さらに、位置偏差補正部1133が、累積保持された位置偏差を、所定のタイミングにおいてリセットしている。これにより、位置偏差が0ではないが不変である状態において生じた位置偏差、又は位置偏差がゆっくり変化する状態において生じた位置偏差が大きくなった際に、判断部1134がエラーと判断することがなくなる。その結果、患者は、訓練装置100において肢の訓練を続行できる。
【0136】
操作ロッド3は、長さ方向(長手軸線方向の一例)に伸縮可能にしてもよい。操作ロッド3が長手軸線方向に伸縮可能であることにより、上肢又は下肢(肢)の、操作ロッド3の長さ方向に対する訓練も可能となる。
【0137】
判断部1134は、第2の時間T
2の間に生じた位置偏差の変化量が第1の閾値φ
1より大きい場合は、エラーと判断している。これにより、訓練装置100に何等かの異常がある可能性、及び/又は、訓練の続行に影響がある可能性を予測して、肢が訓練プログラムに追従できなくなったことを的確に判断できる。
【0138】
訓練装置100は、訓練指示部5(情報提供部の一例)をさらに備えている。訓練指示部5は、判断部1134によってエラーが発生したと判断したときに、使用者に対して視覚的情報又は聴覚的情報を提供する。
これにより、使用者にこの訓練装置の状態、及び/又は、訓練の続行に影響を及ぼす可能性があることなどを知らせることができる。
【0139】
訓練指示部5は、患者が、目標傾動角度(訓練プログラムにおいて設定された訓練ルートにおいて予め設定した通過点の一例)に操作ロッド3を到達させたときに、使用者に情報提供している。これにより、使用者は、操作ロッド3を訓練プログラム通りに操作できたことを知ることができる。また、患者が目標傾動角度に操作ロッド3を到達させたときに、使用者に視覚的情報又は聴覚的情報を提供することにより、患者が訓練を続けるためのモチベーションを維持できる。
【0140】
判断部1134によってエラーが発生したと判断したときに、X軸方向傾動モータ135b、Y軸方向傾動モータ135a、及び伸縮モータ359(モータの一例)の回転を停止してもよい。これにより、エラーが発生したとき、すなわち、訓練の続行に影響を及ぼす可能性があると判断される場合に、訓練装置100を安全に停止できる。
【0141】
判断部1134は、さらに、第3の時間T
3(第3の時間の一例)が経過する毎に位置偏差を取得している。そして、判断部1134は、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2(第2の閾値の一例)以下であるかどうかを判断している。さらに、判断部1134において、第3の時間T
3の間に生じた位置偏差の変化量が第2の閾値φ
2以下であると判断されたとき、位置偏差補正部1133は累積保持された位置偏差をリセットしている。
これにより、操作ロッド3の実際の傾動角度を、訓練プログラムに指示された傾動すべき角度(指示傾動角度)に追従させるような、X軸方向傾動モータ135b、Y軸方向傾動モータ135a、及び/又は伸縮モータ359の制御(位置制御)を常に行うことなく、累積保持された位置偏差をリセットでき、患者は訓練を続行できる。
【0142】
位置偏差補正部1133は、操作ロッド3の動作が停止したときに累積保持された位置偏差をリセットしている。これにより、次回以降の訓練において、今回の訓練において生じた位置偏差を持ち越すことがなくなるので、患者は訓練を続行できる。
【0143】
訓練装置100は、指令作製部111(指令作製部の一例)をさらに備えている。指令作製部111は、予め設定された訓練プログラムに従って、X軸方向傾動モータ135b、Y軸方向傾動モータ135a、及び/又は伸縮モータ359を加速させる指令である加速指令(加速指令の一例)と、当該モータを減速させる減速指令(減速指令の一例)とを少なくとも含む速度指令(速度指令の一例)を作製する。この時、モータ駆動部1135は、加速指令の実行時において、速度指令のみに追従するよう上記のモータを制御している。
加速指令と減速指令を少なくとも含む速度指令を用いて上記モータを駆動することにより、上記モータはスムーズに動作できる。その結果、患者は、意図したように操作ロッド3を操作することができる。
また、モータ駆動部1135が、加速指令の実行時において速度指令のみに追従するように上記モータを駆動することにより、位置偏差を累積保持するような上記モータの制御を行える。その結果、相対的に大きなモータトルクを必要とし位置偏差が生じやすい、例えば操作ロッド3が大きな傾動角度にて動作する場合においても、患者は訓練装置100を用いて、肢の訓練を継続できる。さらに、位置偏差を累積保持することにより、位置偏差の累積保持量に基づいて、訓練中における肢の状況を把握できる。
【0144】
速度指令は、加速指令と減速指令とを少なくとも含み、上記モータを一定速度で回転させる定速指令をさらに含むことができる。この時、モータ駆動部1135は、定速指令の実行時において、さらに速度指令のみに追従するよう上記モータを制御している。
速度指令が定速指令をさらに含むことにより、操作ロッド3が大きな傾動角度にて動作する場合にも、上記モータからのフィードバック電流などに基づいて、モータを一定速度でスムーズに動作できる。また、定速指令実行時において、モータ駆動部1135が、速度指令のみに追従するよう上記モータを制御することにより、位置偏差を累積保持するような上記モータの制御を行える。その結果、相対的に大きなモータトルクを必要とし位置偏差が生じやすい、例えば操作ロッド3が大きな傾動角度にて動作する場合においても、患者は訓練装置100を用いて、肢の訓練を継続できる。また、上記モータを一定速度で回転させれば、等速運動による肢の訓練を継続できる。さらに、位置偏差を累積保持することにより、位置偏差の累積保持量に基づいて、訓練中における、患者の肢の状況を把握できる。
【0145】
指令作製部111は、訓練プログラムに従って、操作ロッド3の傾動角度を制御するための指令である位置指令(位置指令の一例)をさらに作製している。また、モータ駆動部1135は、減速指令の実行時において、速度指令及び位置指令に追従するように、上記モータを制御している。
これにより、モータ駆動部1135は、操作ロッド3が訓練プログラムに指示された目標傾動角度まで極力偏差を少なく到達するよう、上記モータを制御できる。その結果、例えば患者に対して、操作ロッド3の位置情報を視覚的情報としてフィードバックする場合においても、この位置情報を好適に利用することができる。
【0146】
位置偏差補正部1133は、減速指令の開始時に、累積保持された位置偏差をリセットしている。これにより、減速指令の実行時に、上記モータの回転速度が位置指令によって過剰に上昇することを抑制できる。
【0147】
2.他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(A)モータの制御に関する他の実施形態
前述の第1実施形態においては、速度指令の減速指令実行時にのみ、操作ロッド3の傾動角度が位置指令に指示された指示傾動角度に追従するよう(位置制御)、Y軸方向傾動モータ135a(X軸方向傾動モータ135b、伸縮モータ359)が制御されていた。しかし、これに限られない。速度指令の加速指令実行時及び/又は定速指令実行時においても、位置制御および速度制御により、Y軸方向傾動モータ135a(X軸方向傾動モータ135b、伸縮モータ359)が制御されてもよい。この場合、モータ駆動部1135の切替部1135−8は、特に必要ない。
【0148】
速度指令の加速指令実行時及び/又は定速指令実行時において、位置制御により、Y軸方向傾動モータ135a(X軸方向傾動モータ135b、伸縮モータ359)を制御する場合には、操作ロッド3の傾動角度速度が過剰に大きくならないように、制御ゲインK
pp及びK
ipを調整したり、合成部1135−6における第2制御量の重み付けの値を調整したりすることが好ましい。
これにより、操作ロッド3の傾動角度速度を過剰に大きくすることなく、操作ロッド3の傾動角度が指示傾動角度に追従できる。
が、位置制御部1135−2と合成部1135−6とを信号送受信可能なように接続する(ステップS43)。すなわち、位置制御部1135−2から出力される第2制御量が、合成部1135−6へ入力可能となる。これにより、減速指令の実行時に、第1制御量だけでなく第2制御量も、電力供給部1135−4においてフィードバック電流を出力する際に反映されるようになる。これにより、減速指令の実行時には、操作ロッド3の実際の傾動角度が、指示傾動角度にも追従するようになる。したがって、操作ロッド3は目標傾動角度に精度良く到達できる。
あたりに生じた位置偏差の変化量が第2の閾値φ2以下であるかどうかを判定する(ステップS713)。具体的には、以下のようにして判定する。まず、判断部1134は、モータ制御部113aの記憶装置などから、前回算出された位置偏差ΔΘ
なお、速度変化(1)及び(2)における、Y軸方向傾動モータ135aの回転速度の最大値は、過剰に大きくならないようにすることが好ましい。例えば、合成部1135−6において第1制御量と第2制御量とを合成する際に用いる重み付けの値を最適化したり(例えば、第2制御量の重み付けを小さくする)、位置制御用の制御ゲインK
また、速度変化(1)及び(2)において、Y軸方向傾動モータ135aの回転速度の最大値を抑制することにより、操作ロッド3が肢に対して加える負荷が過剰に大きくなることを抑制できる。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
前述の第1実施形態においては、速度指令の減速指令実行時にのみ、操作ロッド3の傾動角度が位置指令に指示された指示傾動角度に追従するよう(位置制御)、Y軸方向傾動モータ135a(X軸方向傾動モータ135b、伸縮モータ359)が制御されていた。しかし、これに限られない。速度指令の加速指令実行時及び/又は定速指令実行時においても、位置制御および速度制御により、Y軸方向傾動モータ135a(X軸方向傾動モータ135b、伸縮モータ359)が制御されてもよい。この場合、モータ駆動部1135の切替部