以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
図1は、本実施形態にかかるバランス訓練装置の一例としての訓練装置100の概略斜視図である。訓練装置100は、片麻痺などの障害を持つ障害者が歩行に必要な重心移動を習得するためや、足関節に障害を抱える患者が足関節機能を回復させるための装置である。例えば、足関節機能を回復させたい訓練者900がバランスを取りつつ訓練装置100に搭乗を続けようとすると、訓練装置100は、訓練者900の足関節にリハビリ効果を期待できる程度の負荷を与えることができる。
訓練装置100は、リハビリ施設の床面等を移動面として、その移動面上を前後方向に移動可能な移動台車110と、移動台車110に立設され、移動台車110に搭乗する訓練者900の脱落を防止するフレーム160を備える。移動台車110は、主に、駆動輪121、キャスタ122、搭乗プレート130、荷重センサ140、コントロールボックス150を備える。
駆動輪121は、走行方向に対して2つの前輪として配置されている。駆動輪121は、駆動部としての不図示のモータによって回転駆動され、移動台車110を前進させたり後退させたりする。キャスタ122は、従動輪であり、走行方向に対して2つの後輪として配置されている。搭乗プレート130は、訓練者900が搭乗して両足を載置する搭乗部である。搭乗プレート130は、訓練者900の搭乗に耐える比較的剛性の高い、例えばポリカーボネート樹脂製の平板が用いられる。搭乗プレート130は、四隅に配置された荷重センサ140を介して移動台車110の上面に支持されている。
荷重センサ140は、例えばロードセルであり、移動台車110に立つ訓練者900の足から受ける荷重を検出する検出部としての機能を担う。コントロールボックス150は、後述する演算処理部やメモリを収容する。
フレーム160は、開閉扉161と手摺り162を含む。開閉扉161は、訓練者900が搭乗プレート130に搭乗する場合に開いて、訓練者900の通路を形成する。訓練試行を行う場合には閉じられてロックされる。手摺り162は、訓練者900がバランスを崩しそうになった時や不安に感じた時に掴むことができるように、訓練者900を取り囲むように設けられている。なお、訓練者900は、訓練試行を行う間は、手摺り162を掴むことなく、自らバランスを取って直立姿勢を保つよう試みる。フレーム160は、表示パネル170を支持している。表示パネル170は、例えば液晶パネルである表示部であり、訓練者900が訓練試行中に視認しやすい位置に配置されている。
図2は、訓練装置100のシステム構成を示す図である。演算処理部200は、例えばMPUであり、メモリ240から読み込んだ制御プログラムを実行することにより、装置全体の制御を実行する。駆動輪ユニット210は、駆動輪121を駆動するための駆動回路やモータを含む。また、駆動輪ユニット210は、駆動輪121の回転量を検出するロータリエンコーダを含む。
操作受付部220は、訓練者900やオペレータからの入力操作を受け付けて、操作信号を演算処理部200へ送信する。訓練者900やオペレータは、操作受付部220を構成する、装置に設けられた操作ボタンや表示パネル170に重畳されたタッチパネル、付属するリモコン等を操作して、電源のオン/オフや訓練試行の開始の指示を与えたり、設定に関する数値の入力やメニュー項目の選択を行ったりする。
表示制御部230は、演算処理部200からの表示信号に従って、後述する課題ゲームのグラフィック映像等を生成し、表示パネル170に表示する。メモリ240は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ240は、訓練装置100を制御するための制御プログラム等を記憶している。また、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。メモリ240は、特に、訓練者900が楽しく訓練試行を行えるようにゲーム形式で課題を与えるプログラムである課題ゲーム241を記憶している。荷重センサ140は、搭乗プレート130を介して訓練者900の足から加えられる荷重を検出して、その検出信号を演算処理部200へ送信する。
演算処理部200は、制御プログラムの要請に従って様々な演算や個別要素の制御を実行する機能実行部としての役割も担う。荷重算出部201は、4つの荷重センサ140の検出信号を取得して、訓練者900の搭乗面における両足の荷重重心を算出する。具体的には、4つの荷重センサ140のそれぞれの位置は既知であるので、それぞれの荷重センサ140が検出する鉛直方向の荷重の分布から重心位置を算出して、その位置を荷重重心とする。
位置取得部202は、駆動輪ユニット210が備えるロータリエンコーダの出力信号や他のセンサ信号を利用して移動台車110の現在位置を取得する。例えば、訓練試行の開始時点における位置を原点とし、取得したロータリエンコーダの出力信号を積分することにより、原点からの移動量を現在位置として算出する。移動制御部203は、駆動輪ユニット210へ送信する駆動信号を生成し、駆動輪ユニット210を介して移動台車110の移動を制御する。具体的な制御手法については後述する。
図3は、荷重重心CPの変位量ΔCと移動台車110の移動の関係を説明する図である。訓練試行の開始時に、訓練者900は、搭乗プレート130の搭乗面に対して定められた基準位置RPが両足の中心となるように、できる限り自然な立脚姿勢で搭乗面に立つ。その後、訓練者900は、訓練試行の進捗に応じて自らの重心を移動させ、バランスを調整することにより荷重重心CPを基準位置RPから変位させる。本実施形態においては、移動台車110の移動方向は前後方向であるので、二次元的に変位する荷重重心CPのうち、移動方向に沿う成分を変位量ΔCとする。
本実施形態においては、課題ゲーム241を実行することにより、訓練者900にトレーニングを促す。演算処理部200によって処理される課題ゲーム241は、刻々と変化するグラフィック映像を生成して表示パネル170に映しだし、訓練者900は、その映像に促されて訓練装置100の移動操作を行う。
図4(a)は、訓練試行開始時のゲーム画面を示す図であり、図4(b)は、訓練者900のその時点の荷重重心を示す図である。ゲーム画面は表示パネル170に表示される映像であり、複数の課題ゲーム241の中からテニスをモチーフにしたものが選択され、実行されている様子を示している。
中央に表示されたテニスコートの右側には、テニスボールBを投擲するキャラクタMが背景画像に重畳して配され、同じく左側には、投擲されたテニスボールBを打ち返すキャラクタPが背景画像に重畳して配されている。キャラクタMは、課題ゲーム241が与える課題に合わせて上下に移動したり投擲したりする動作を表現する。キャラクタPは、訓練者900を示すキャラクタであり、訓練装置100の移動に合わせて上下に移動したり、テニスボールBの到達に合わせてラケットを振ったりする動作を表現する。テニスボールBは、キャラクタM、Pの動作に合わせて、テニスコート上を左右に往復する。また、ゲーム画面は、ゲームの状況に応じて変化するスコアや経過時間等の情報も含む。
図4(a)に示すように、訓練試行開始時においてキャラクタPは、上下方向の真ん中である初期位置Tsに位置している。キャラクタMも、初期位置Tsに対してコートを挟んで反対側に位置している。この時、訓練者900の荷重重心CPは、図4(b)に示すように、基準位置RPと重なっていることが望ましい。すなわち、訓練者900は、訓練試行を開始する準備として、搭乗プレート130の搭乗面に対して定められた基準位置RPを中心が両足の中心となるように、できる限り自然な立脚姿勢で搭乗面に立つ。
図5(a)は、訓練試行中のゲーム画面を示す図であり、図5(b)は、訓練者900のその時点の荷重重心を示す図である。キャラクタMは、この課題に設定された目標位置BhへテニスボールBを到達させるべく、コートの上方へ移動してテニスボールBを投擲する。すると、テニスボールBは、図示する軌跡に沿って移動する。テニスボールBが移動する速さは、レベルに応じて予め定められており、レベルが高いほど速い。
訓練者900は、テニスボールBがBhに到達する前に、Bhで打ち返すことができる打撃位置ThまでキャラクタPを移動させる。すなわち、図5(b)に示すように、訓練者900は、自らの重心を前方へ寄せてバランスを調整することにより荷重重心CPを基準位置RPよりも前方へ移動させる。移動制御部203は、この時の荷重重心の変位量ΔCに応じて算出される制御量によって駆動輪121を駆動し、移動台車110を前方へ移動させる。
ゲーム画面上のキャラクタPは、移動台車110のその時の速度vに連動する速度Vcで画面上方へ移動する。テニスボールBがBhに到達する前にキャラクタPをThまで移動させることができれば、テニスボールBが到達したときにラケットが振られ、テニスボールBは打ち返される。テニスボールBを打ち返すことができれば、スコアが加算される。
図6(a)は、さらにその後の訓練試行中のゲーム画面を示す図であり、図6(b)は、訓練者900のその時点の荷重重心を示す図である。キャラクタPがテニスボールBを打ち返したら、訓練者900は、自らの重心を後方へ寄せてバランスを調整することにより荷重重心CPを基準位置RPよりも後方へ移動させる。移動制御部203は、この時の荷重重心の変位量ΔCに応じて算出される制御量によって駆動輪121を駆動し、移動台車110を後方へ移動させる。
ゲーム画面上のキャラクタPは、移動台車110のその時の速度vに連動する速度Vcで画面下方へ移動する。所定時間内にキャラクタPを初期位置Tsまで戻すことができれば、スコアが加算される。
キャラクタPが打撃位置Thへ到達するまで、あるいは初期位置Tsへ戻るまでには、キャラクタPの速度Vcにも寄るが、ある程度の時間を要する。訓練者900は、その間重心を傾けるバランス調整を行い続けることになる。このバランス調整が、バランス機能に疾患を有する訓練者900にとって有効なリハビリ訓練となる。また、荷重重心CPは、訓練者900のバランス調整に応じて刻々と変化し得るので、移動台車110の速度vもキャラクタPの速度Vcも変化し得る。訓練者900は、自身のバランス調整に応じてキャラクタPが移動するのみならず訓練装置100自体も前後するので、視覚情報に留まらず、平衡感覚や体勢感覚へ作用する体感も得られ、試行訓練を楽しく行うことができる。試行訓練を楽しく行えれば、訓練者がトレーニングを積極的かつ継続的に行うことが期待できる。すなわち、より短期間でのバランス機能回復を望むことができる。
図7は、訓練装置100の移動領域を説明する図である。訓練装置100は、多くの場合、屋内のリハビリ施設に設置されて利用に供される。したがって、訓練装置100を利用できる環境は、その広さに制限がある。図7は、訓練装置100の移動が許される、制限された移動領域を表わしている。移動領域は、訓練装置100が初期状態として設置される基準位置を原点(x=0)とし、前進方向の移動限界位置がx=xflim、後退方向の移動限界位置がx=xblimと定められている。
なお、本実施形態においては、移動領域は、基準位置x=0を含む内側の範囲xbc〜xfc(xblim<xbc<0<xfc<xflim)と、外側の範囲xblim〜xbcおよびxfc〜xflimに区分される。例えば、xbc=0.9×xblim、xfc=0.9×xflimと定義する。また、内側の範囲に対して、xbs=0.8×xblim、xfs=0.8×xflimと定義する。
訓練者900のバランス調整により、あるいは課題ゲーム241の指示により制御される訓練装置100の移動範囲は、x=xblimからx=xflimの範囲に制御されるべきである。一方で、上述のように、リハビリ効果を高めたり、訓練者の爽快感を高めたりするためにも、訓練装置100に適度な加速度を与えたいという要請もある。以下に、これらの要請を両立させる移動制御について説明する。
まず、移動制御部203が、速度制御を採用して移動台車110を制御する場合と、位置制御を採用して移動台車110を制御する場合のそれぞれについて説明する。図8(a)は、速度制御を行う場合の重心荷重の変位量ΔCと移動台車110の目標速度VTの関係を示す図であり、図8(b)は、位置制御を行う場合の重心荷重の変位量ΔCと移動台車110の目標位置XTの関係を示す図である。共に横軸は重心荷重の変位量ΔCを表わし、図8(a)の縦軸は目標速度VTを、図8(b)の縦軸は目標位置XTを表わす。
変位量ΔCflimは、訓練者900が足を踏み換えることなく重心を前方に傾けた場合の限界変位量であり、変位量ΔCblimは、訓練者900が足を踏み換えることなく重心を後方に傾けた場合の限界変位量である。例えば、変位量ΔCflimは、訓練者900にかかとが浮く直前まで重心を前方に傾けてもらった測定結果によって得られ、変位量ΔCblimは、訓練者900につま先が浮く直前まで重心を後方に傾けてもらった測定結果によって得られる。あるいは、訓練者900の身長、体重、足のサイズ、リハビリ訓練の進捗度合等に対応するものを予め設定されたルックアップテーブルから選択して設定するようにしても良い。
図8(a)に示すように、速度制御における目標速度VTは、変位量ΔCに比例する。目標速度VTの最大値は、vflim(ΔCflimのとき)であり、最小値は、vblim(ΔCblimのとき)である。図示するように、前進する場合と後退する場合で比例係数を変えても良い。
図8(b)に示すように、位置制御における目標位置XTは、変位量ΔCに比例する。目標位置XTの最大値は、xflim(ΔCflimのとき)であり、最小値は、xblim(ΔCblimのとき)である。図示するように、前進する場合と後退する場合で比例係数を変えても良い。なお、上述のように、移動台車110の移動領域はxblim〜xflimであるので、目標位置XTの最大値、最小値は、それぞれこの両端となるように設定される。
図9は、移動制御部203が実行する、移動台車110の移動制御を表わす制御ブロック図である。移動制御部203は、荷重重心の変位量ΔCから駆動輪121の駆動トルクτを制御量として演算し、これを発生させる駆動信号を駆動輪ユニット210へ送信することにより移動台車110の移動を制御する。制御量であるτは、変位量ΔCから算出される移動台車110の目標速度VTに到達させるための第1制御量τ1と、変位量ΔCから算出される移動台車110の目標位置XTに到達させるための第2制御量τ2との加重平均によって演算される。
具体的には、変位量ΔCが算出されると、移動制御部203は、図8(a)の関係式F(ΔC)に従って、目標速度VTを得る。並行して、図8(b)の関係式G(ΔC)に従って、目標位置XTを得る。そして、目標速度VTと現在の速度vとの偏差(=VT−v)をPID制御ブロックに入力し、移動台車110の目標速度VTに到達させるための第1制御量τ1を得る。同様に、目標位置XTと現在の位置xとの偏差(=XT−x)をPID制御ブロックに入力し、移動台車110の目標位置XTに到達させるための第2制御量τ2を得る。
そして、移動制御部203は、移動台車110現在の位置xに連動する重み係数αを第1制御量τ1に乗じ、同じく位置xに連動する重み係数β(=1−α)を第2制御量τ2に乗じて、これらを足し合わせたもの(=τ1+τ2)を制御量τとする。移動制御部203は、制御量τを駆動信号に変換して駆動輪ユニット210へ送信する。
すなわち、移動制御部203は、速度制御として算出した第1制御量τ1と位置制御として算出した第2制御量τ2とを加重平均して制御量τを算出する。図10は、加重平均の重み付けを説明する図である。図10(a)は、速度制御において、移動台車110の現在位置xに対する重み係数αの関係を示す図であり、図10(b)は、位置制御において、移動台車110の現在位置xに対する重み係数βの関係を示す図である。共に横軸は移動台車110の現在位置xを表わし、図10(a)の縦軸は重み係数αを、図10(b)の縦軸は重み係数βを表わす。
加重平均は、現在位置xが、基準位置を含む内側の範囲(xbc〜xfc)にある場合には重み係数βよりも重み係数αが大きく設定され、外側の範囲(xblim〜xbcおよびxfc〜xflim)にある場合には重み係数αよりも重み係数βが大きく設定される。図10(a)、(b)はその一例を表わす。
具体的には、現在位置xがxbs<0<xfsにある場合は、α=1、β=0と設定されている。すなわち、移動台車110がxbs<0<xfsの範囲にある場合には、移動制御部203は、速度制御を実行する。そして、内側の範囲と外側の範囲の境界(=xfc)を含むxfs<xflimの範囲では、xが増加するにつれてαが徐々に減少しβが徐々に増加するように設定されている。なお、x=xfcのときには、α=β=0.5であり、x=xflimのときには、α=0、β=1である。同様に、内側の範囲と外側の範囲の境界(=xbc)を含むxblim<xbsの範囲では、xが減少するにつれてαが徐々に減少しβが徐々に増加するように設定されている。なお、x=xbcのときは、α=β=0.5であり、x=xblimのときには、α=0、β=1である。すなわち、移動台車110がxfs<xflimおよびxblim<xbsの範囲にある場合には、移動制御部203は、速度制御と位置制御を加重平均によりミックスした制御を実行する。このような移動制御を行えば、設定された移動領域から訓練装置100が逸脱することがなく、同時に、訓練者に適度な加速度感を感じさせることもできる。
図11は、訓練試行の処理の流れを示す図である。フローは、例えば、訓練者900が搭乗プレート130に搭乗した状態で開始される。演算処理部200は、ステップS101で、メモリ240から指定された課題ゲーム241を読み出し、課題ゲーム241を通じた訓練試行を開始する。演算処理部200は、表示制御部213を介して、課題ゲーム241の進捗に合わせた映像を表示パネル170へ表示する。
ステップS102へ進むと、荷重センサ140は、課題ゲーム241の進捗に合わせて、訓練者900の足から受ける荷重を検出し、検出した検出信号を荷重算出部201へ引き渡す。荷重算出部201は、ステップS103で、受け取った検出信号から荷重重心を算出して移動制御部203へ引き渡す。
そして、位置取得部202は、ステップS104で、移動台車110の現在位置を取得し、移動制御部203へ引き渡す。移動制御部203は、ステップS105で、上述のように、移動台車110の現在位置に応じて制御量としての駆動トルクを算出する。そして、ステップS106へ進み、当該駆動トルクを出力させる駆動信号を駆動輪ユニット210へ送信して駆動輪121を駆動する。また、演算処理部200は、これに合わせて表示パネル170上のキャラクタPを移動させ、課題ゲーム241を進行させる。
演算処理部200は、ステップS107で、訓練試行が終了したか否かを判断する。訓練試行は、例えば、課題ゲーム241の終了や設定された時間の経過、目標項目の達成などによって終了する。演算処理部200は、終了していないと判断したらステップS102へ戻り、訓練試行を継続する。終了したと判断したらステップS108へ進む。演算処理部200は、ステップS108へ進むと、終了処理を実行して一連のフローを終了する。終了処理は、確定したスコアを表示パネル170に表示したり、これまで実行してきたトレーニングの履歴情報を更新したりする処理である。
以上説明した本実施形態においては、移動台車110は、前後に移動する構造を有していたので、これに対応する移動制御、課題ゲームを採用した。しかし、移動台車110が左右方向にも移動する構造を有するのであれば、相応の移動制御、課題ゲームを採用することができる。上記の実施形態においては、移動台車110の移動方向である前後方向の変位量ΔCを算出して移動制御を行ったが、移動台車110が左右方向にも移動できるのであれば、基準位置RPから荷重重心へのベクトルに応じて移動方向を定め、同様の移動制御を実行することができる。この場合、移動領域は二次元的に定義されるので、第1制御量の重み付けと第2制御量の重み付けも、二次元的に定義しても良い。この場合であっても、移動台車110が内側の範囲に位置する場合は速度制御の重み付けを大きくし、外側の範囲に位置する場合は位置制御の重み付けを大きくすると良い。
また、以上説明した本実施形態においては、駆動輪121により移動面に対して訓練装置100の全体が移動する移動機構を説明した。しかし、移動機構はこれに限らず、例えば、移動面にガイドレールや鋼索が設けられており、ガイドレールに沿って移動する移動機構や、鋼索を巻き上げる移動機構であっても良い。この場合においてリハビリ訓練装置は、環境に固定された固定部分と、訓練者が搭乗する移動部分とを含むことになる。