(57)【特許請求の範囲】
【請求項１】
使用者の周期的な歩行動作に補助力を付与する付与部と、
前記付与部の動作を制御する制御部と、
前記使用者の股関節角度および股関節角速度の少なくともいずれかを検出する検出部と、
前記使用者の股関節の周期的な動作に対して規定される位相角を、前記検出部の検出結果に基づいて算出する算出部と、を備える歩行補助装置であって、
前記歩行補助装置は、前記歩行動作が繰り返されるに従って、時間経過に対する前記位相角の位相パターンが直線に漸近するように、入力された位相角を予め定められた位相変化パターンに基づき段階的に修正して第１修正位相角として出力する第１位相角修正部をさらに備え、
前記制御部は、前記第１修正位相角および所定の位相角のいずれか一方に対して予め設定されている連続的な前記補助力の変化パターンに基づいて目標値を取得して、前記目標値に従って前記付与部を制御する
ことを特徴とする歩行補助装置。
【請求項２】
前記歩行補助装置は、前記算出部が算出した前記位相角が、前回の前記位相角に前記歩行動作の周期から定められる単位時間当たりの基準増加量を加えた値よりも大きいか否かにより異なる増分値を定め、前回の前記位相角に前記増分値を加えて修正して第２修正位相角として出力する第２位相角修正部をさらに備え、
前記第２修正位相角が、前記第１位相角修正部に入力される請求項１に記載の歩行補助装置。
【請求項３】
前記第２位相角修正部は、前記算出部が算出した前記位相角が、前回の前記位相角に前記周期から定められる単位時間当たりの基準増加量を加えた値よりも大きい場合には、前記増分値を前記算出部が算出した前記位相角と前回の前記位相角の差に基づいて定め、大きくない場合には、前記増分値を前記基準増加量に基づいて定める請求項２に記載の歩行補助装置。
【請求項４】
過去の前記第２修正位相角の時系列的な変化を逐次記憶する記憶部を備え、
前記第１位相角修正部は、入力された位相角を前記記憶部に記憶された過去の前記第２修正位相角の時系列的な変化に基づき修正して、第１修正位相角として出力する請求項２または３に記載の歩行補助装置。
【請求項５】
前記記憶部は、現在の前記第２修正位相角の時系列的な変化と、前記記憶部に記憶された前記過去の第２修正位相角の時系列的な変化のうち対応する時刻における前記位相角とを重み付け平均処理を行うことにより得られる位相角の時系列的な変化を、新たな過去の第２修正位相角の時系列的な変化として記録する請求項４に記載の歩行補助装置。
【請求項６】
前記第１位相角修正部は、入力された位相角を前記記憶部に記憶された過去の第２修正位相角の時系列的な変化に当てはめて対応する対応時刻を同定し、前記歩行動作の周期に対する前記対応時刻の位相角を前記第１修正位相角として出力する請求項４または５に記載の歩行補助装置。
【請求項７】
前記記憶部は、前記歩行動作における周期のばらつきを正規化により除去して、前記記憶部に記憶される過去の第２修正位相角の時系列的な変化を修正する請求項４から６のいずれか１項に記載の歩行補助装置。
【請求項８】
前記付与部は、前記使用者の左足に前記補助力を付与する左用アクチュエータと、前記使用者の右足に前記補助力を付与する右用アクチュエータとを有し、
前記検出部は、前記使用者の左股関節角度を検出する左用角度センサと、前記使用者の右股関節角度を検出する右用角度センサとを有し、
前記制御部は、前記左用角度センサの出力に基づいて前記左用アクチュエータを制御し、前記右用角度センサの出力に基づいて前記右用アクチュエータを制御する請求項１から７のいずれか１項に記載の歩行補助装置。
【請求項９】
前記修正部は、前記歩行動作における左足の位相角と右足の位相角の差に基づいて、前記位相角を修正する請求項８に記載の歩行補助装置。
【請求項１０】
使用者の股関節角度および股関節角速度の少なくともいずれかを検出する検出ステップと、
前記使用者の股関節の周期的な動作に対して規定される位相角を、前記検出ステップの検出結果に基づいて算出する算出ステップと、
歩行動作が繰り返されるに従って、時間経過に対する前記位相角の位相パターンが直線に漸近するように、入力された位相角を予め定められた位相変化パターンに基づき段階的に修正して第１修正位相角として出力する第１修正ステップと、
前記第１修正位相角および所定の位相角のいずれか一方に対して予め設定されている連続的な補助力の変化パターンに基づいて、前記歩行動作に補助力を付与する付与部の前記補助力の目標値を取得する取得ステップと、
前記目標値に従って前記付与部を制御する制御ステップと
を、歩行補助装置が備えるシステム制御部に実行させる歩行制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩行補助装置および歩行制御プログラムに関する。
【背景技術】
【０００２】
従来、歩行補助装置において、歩行支援対象者の股関節角度の周期に基づく第１位相振動子と、左右の股関節角度の偏差に基づく第２位相振動子を用いてアシストトルクを発生させて、歩行補助装置の動作周期と歩行支援対象者の歩行周期とを調和させている（例えば、特許文献１参照）。
特許文献１  特開２０１３―１１１４０８
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記歩行補助装置は、動作周期と歩行支援対象者の歩行周期とを調和させるものであって、股関節の周期的な動作によって定められる位相角を修正するものではないので、歩行周期に対する位相角の変化が乱れやすい、という課題があった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様における歩行補助装置は、使用者の周期的な歩行動作に補助力を付与する付与部と、付与部の動作を制御する制御部と、使用者の股関節角度および股関節角速度の少なくともいずれかを検出する検出部と、使用者の股関節の周期的な動作に対して規定される位相角を、検出部の検出結果に基づいて算出する算出部とを備える歩行補助装置であって、歩行補助装置は、歩行動作が繰り返されるに従って、時間経過に対する位相角の位相パターンが直線に漸近するように、入力された位相角を予め定められた位相変化パターンに基づき段階的に修正して第１修正位相角として出力する第１位相角修正部をさらに備え、制御部は、第１修正位相角および所定の位相角のいずれか一方に対して予め設定されている連続的な補助力の変化パターンに基づいて目標値を取得して、目標値に従って付与部を制御することを特徴とすることを特徴とする。
【０００５】
本発明の第２の態様における歩行制御プログラムは、使用者の股関節角度および股関節角速度の少なくともいずれかを検出する検出ステップと、使用者の股関節の周期的な動作に対して規定される位相角を、検出ステップの検出結果に基づいて算出する算出ステップと、歩行動作が繰り返されるに従って、時間経過に対する位相角の位相パターンが直線に漸近するように、入力された位相角を予め定められた位相変化パターンに基づき段階的に修正して第１修正位相角として出力する第１修正ステップと、第１修正位相角および所定の位相角のいずれか一方に対して予め設定されている連続的な補助力の変化パターンに基づいて、歩行動作に補助力を付与する付与部の補助力の目標値を取得する取得ステップと、目標値に従って付与部を制御する制御ステップとをコンピュータに実行させる。
【０００６】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】歩行補助装置の使用状況を説明する説明図である。
【図２】歩行補助装置の外観斜視図である。
【図３】使用者の動作と角度の定義を説明する説明図である。
【図４】位相化処理の概念を説明する図である。
【図５】位相化処理における各信号波形を説明する説明図である。
【図６】歩行補助装置を構成する各要素を説明する要素ブロック図である。
【図７】位相補正に係る各処理を説明する機能ブロック図である。
【図８】信号波形の変化を説明する説明図である。
【図９】使用者に補助力を付与する処理の流れを示すフロー図である。
【図１０】アシスト位相角を算出する場合の信号波形を説明する説明図である。
【図１１】アシスト位相角に対応したトルク値を連続的につなげた波形の一例を示す。
【図１２】アシストトルクの一例を示す。
【図１３】単調増加処理の流れを示すサブフロー図である。
【図１４】単調増加処理を行った場合の信号波形を説明する説明図である。
【図１５】位相パターン学習処理の流れを示すサブフロー図である。
【図１６】位相パターン学習処理を説明する説明図である。
【図１７】直線化処理を行った場合の信号波形を説明する説明図である。
【図１８】直線化処理の流れを示すサブフロー図である。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る歩行補助装置１００の使用状況を説明する説明図である。使用者９００は、歩行補助装置１００を腰部と脚部に装着して固定する。人間の歩行動作は、一般的に、軸足の蹴り出し動作と、反対の足の振り出し動作を交互に繰り返す。例えば図示するように、右足を軸足として左足を振り出す場合は、歩行補助装置１００は、右大腿９０２に後方への補助力を作用させて蹴り出し補助を行い、左大腿９０１に前方への補助力を作用させて振り出し補助を行う。逆に、左足を軸足として右足を振り出す場合は、歩行補助装置１００は、左大腿９０１に後方への補助力を作用させて蹴り出し補助を行い、右大腿９０２に前方への補助力を作用させて振り出し補助を行う。歩行補助装置１００がこのような補助動作を繰り返すことにより進行方向への推進力を補助し、使用者９００は、軽快に歩行することができる。
【００１０】
歩行補助装置１００は、健常者に使用される場合に限らない。正常な歩容を取り戻す訓練を行うリハビリ患者にも使用される。例えば、脳卒中後の片麻痺を呈するリハビリ患者の歩行においては、足を振り出す時期である遊脚期の膝屈曲角度が低下してつまずきやすくなるために、骨盤の引き上げなどの歩容異常が発生することが知られている。歩行補助装置１００は、振り出し補助によって膝屈曲角度を増加させることができるので、脳卒中後のリハビリにも適する。したがって、歩行補助装置１００は、リハビリ患者の状態に合わせて適切かつ早期に歩容を矯正することができる。また、一側面としては、歩行補助装置１００は、これまで理学療法士がリハビリ患者の足を支えて行ってきたリハビリ処置において、理学療法士の肉体的作業を軽減することができる。
【００１１】
さらには、歩行補助装置１００は、人間への適用に限らず、動物、機械へ適用することもできる。また、補助力をアシストとして作用させるに限らず、レジストとして作用させることもできる。すなわち、歩行補助装置１００は、使用者９００の振り出し動作に対して後方へ補助力を作用させ、蹴り出し動作に対して前方へ補助力を作用させる抵抗力を発生させる。このように歩行補助装置１００を動作させれば、例えばアスリートが筋力増強のトレーニング器具として利用できる。
【００１２】
本実施形態においては、補助力をアシストとして作用させる場合について説明する。以下に歩行補助装置１００を具体的に説明する。
【００１３】
図２は、歩行補助装置１００の外観斜視図である。歩行補助装置１００は、使用者９００の腰部背面から腰部側面にかけて押し当てられる腰フレーム１０３を備える。腰フレーム１０３は、アルミニウム等の軽量合金、ポリカーボネート等の樹脂、カーボンファイバといった剛性の高い素材によって形成されている。腰フレーム１０３の背面中央付近には起動スイッチ１０１が設けられており、使用者９００は、このスイッチを押圧操作すると、歩行補助装置１００を起動させることができる。また、再度このスイッチを押圧操作すると、歩行補助装置１００を停止させることができる。
【００１４】
また、腰フレーム１０３の背面部には、歩行補助装置１００に電力を供給するバッテリ１０２が、着脱可能に配置されている。バッテリ１０２は、例えば２０Ｖ程度の出力電圧を有するリチウムイオン電池が適用される。
【００１５】
腰フレーム１０３の両端部には腰ベルト１０４が接続されている。腰ベルト１０４は、腰フレーム１０３と共に使用者９００の腰部を取り巻いて、腹面側で繋止される。腰ベルト１０４のベルト部は、繊維素材等の柔軟素材によって形成されている。このように、腰フレーム１０３と腰ベルト１０４により、歩行補助装置１００は、使用者９００に対して安定的に装着される。
【００１６】
腰フレーム１０３の腰部両側面側には、それぞれアクチュエータの一例としての左用モータ１２１と右用モータ１２２が配置されている。左用モータ１２１および右用モータ１２２は、同一仕様のモータであり、例えば最大トルク４Ｎ・ｍ程度の出力能力を有するＤＣモータである。左用モータ１２１は、腰フレーム１０３に対して左用大腿フレーム１４１を回転動作させる。左用大腿フレーム１４１には、左用モータ１２１の出力回転軸の回転角および回転速度を検出する左用角度センサ１３１が設けられている。同様に、右用モータ１２２は、腰フレーム１０３に対して右用大腿フレーム１４２を回転動作させる。右用大腿フレーム１４２には、右用モータ１２２の出力回転軸の回転角および回転速度を検出する右用角度センサ１３２が設けられている。左用角度センサ１３１および右用角度センサ１３２は、例えば、ロータリエンコーダである。
【００１７】
左用大腿フレーム１４１および右用大腿フレーム１４２は、腰フレーム１０３と同様に、アルミニウム等の軽量合金、ポリカーボネート等の樹脂、カーボンファイバといった剛性の高い素材によって形成されている。左用大腿フレーム１４１には、左用モータ１２１と連結される一端側とは反対の他端側に左用大腿ベルト１５１が取り付けられている。使用者９００は、左用大腿ベルト１５１を左足の大腿部のうち膝の近傍に巻き付けて固定する。同様に、右用大腿フレーム１４２には、右用モータ１２２と連結される一端側とは反対の他端側に右用大腿ベルト１５２が取り付けられている。使用者９００は、右用大腿ベルト１５２を右足の大腿部のうち膝の近傍に巻き付けて固定する。左用大腿ベルト１５１および右用大腿フレーム１４２は、繊維素材等の柔軟素材によって形成されている。
【００１８】
このように構成された歩行補助装置１００によれば、左用モータ１２１が通電されていない場合には、左用角度センサ１３１は、使用者９００による自力の歩行動作における左大腿９０１の回転角を検出することができる。左用モータ１２１が通電されて順回転した場合には、左用モータ１２１は、左用大腿フレーム１４１を振り出し方向に回転させ、その結果、左足の大腿部を前側へ持ち上げる補助力を発生させる。左用モータ１２１が通電されて逆回転した場合には、左用モータ１２１は、左用大腿フレーム１４１を蹴り出し方向に回転させ、その結果、左足の大腿部を後側へ押し下げる補助力を発生させる。左用角度センサ１３１は、左用モータ１２１が通電されている場合にも左大腿９０１の回転角を検出する。
【００１９】
同様に、右用モータ１２２が通電されていない場合には、右用角度センサ１３２は、使用者９００による自力の歩行動作における右大腿９０２の回転角を検出することができる。右用モータ１２２が通電されて逆回転した場合には、右用モータ１２２は、右用大腿フレーム１４２を振り出し方向に回転させ、その結果、右足の大腿部を前側へ持ち上げる補助力を発生させる。右用モータ１２２が通電されて順回転した場合には、右用モータ１２２は、右用大腿フレーム１４２を蹴り出し方向に回転させ、その結果、右足の大腿部を後側へ押し下げる補助力を発生させる。右用角度センサ１３２は、右用モータ１２２が通電されている場合にも右大腿９０２の回転角を検出する。
【００２０】
図３は、使用者９００の動作と、回転角の定義を説明する説明図である。以後の説明において、右足に対応する値には、Ｒを右下に付記し、左足に対応する値には、Ｌを右下に付記する。なお、何も付記していない値は、右足および左足のどちらにも対応する値である。
【００２１】
図３に示すように、使用者９００が前進する場合の変位方向を正とする。振り出し動作の場合、大腿部が相対的に上体９１０に接近する関係となり、これを屈曲運動と言う。屈曲運動の場合、変位方向としては正方向である。また、上体９１０の重力方向に沿う中心線を基本線とすると、股関節を一端として大腿部に沿う線分は基本線に対して正の回転角を成す。図においては左足が振り出し動作中であり、基本線に対して左大腿９０１に沿う線分が成す角である左股関節角度θＬは正値である。
【００２２】
蹴り出し動作の場合、大腿部が相対的に上体９１０から離れる関係となり、これを伸展運動と言う。伸展運動の場合、変位方向としては負方向である。また、股関節を一端として大腿部に沿う線分は基本線に対して負の回転角を成す。図においては右足が蹴り出し動作中であり、基本線に対して右大腿９０２に沿う線分が成す角である右股関節角度θＲは負値である。
【００２３】
次に、使用者９００の股関節の周期的な動作に対して規定される位相角について説明する。図４は、位相化処理の概念を説明する図である。図４に示すように、位相角φは、例えば、股関節角度θに対する股関節角速度ωの比率の逆正接関数として定義される。すなわち位相角φは、関係式（１）により算出される。
位相角φ＝Ａｒｃｔａｎ（ω／θ）                              （１）
【００２４】
図５は、位相化処理における各信号波形を説明する説明図である。なお、位相化処理は、左足と右足とで同じなので、図５の説明においては、左足の位相化処理について説明し、右足の位相化処理については説明を省略する。
【００２５】
図５（ａ）は、使用者９００の左足が屈曲運動を行い、その後、伸展運動を行った場合における左股関節角度θＬの例を示す信号波形と、左股関節角速度ωＬの例を示す信号波形を示す図である。図５（ａ）に示す信号波形において、縦軸は、角度［ｄｅｇ］または角速度［ｄｅｇ／ｓｅｃ］であり、横軸は、時間［ｓｅｃ］である。
【００２６】
図５（ｂ）は、ω／θの信号波形を示す図である。図５（ｂ）に示す信号波形において、縦軸は、ω／θ［１／ｓｅｃ］であり、横軸は、時間［ｓｅｃ］である。ω／θの値は、左股関節角速度ωＬの値を左股関節角度θＬの値で除することで算出される。
【００２７】
図５（ｃ）は、Ａｒｃｔａｎ（ω／θ）の信号波形を示す図である。図５（ｃ）に示す信号波形において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。位相角φは、Ａｒｃｔａｎ（ω／θ）の演算により算出される。この場合において、屈曲運動において算出される位相角φは、−０．５πから＋０．５πの範囲の値を示し、同じく、伸展運動において算出される位相角φも、−０．５πから＋０．５πの範囲の値を示す。
【００２８】
図５（ｄ）は、Ａｒｃｔａｎ（ω／θ）の信号波形を補正した信号波形を示す図である。図５（ｄ）に示す信号波形において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。
【００２９】
本実施形態においては、それぞれ１対の屈曲運動および伸展運動を含む一歩の歩行動作における各足の状態を示す位相を、周期が０から２πの位相角で表す。１対の屈曲運動および伸展運動を含む運動のＡｒｃｔａｎ（ω／θ）の値を、０から２πを周期とする位相角となるように補正する補正方法は、位相角を０とする足の状態をどの状態に定めるかによりそれぞれ異なる。本実施形態においては、例えば、屈曲運動を行う前であって、基本線と左足とが重なった状態を位相角０とし、伸展運動を行った後であって、再び基本線と左足とが重なる状態が位相角２πとなるようにＡｒｃｔａｎ（ω／θ）の値を補正している。すなわち、基本線と左足とが重なり、左股関節角速度ωＬが正である時点が、屈曲運動を行う前で基本線と左足とが重なった状態であるとして、当該状態の位相角が０となるように、関係式（１）は、関係式（２）に補正される。
位相角φ＝−Ａｒｃｔａｎ（ω／θ）＋０．５π                  （２）
そして、左股関節角度θＬが正であって、使用者９００が屈曲運動を行っている間は、関係式（２）によって位相角φは算出される。
【００３０】
また、基本線と左足とが重なり、左股関節角速度ωＬが負である時点が、伸展運動を行う前であって、基本線と左足とが重なった状態であるとして、当該状態の位相角がπとなるように、関係式（１）は、関係式（３）に補正される。
位相角φ＝−Ａｒｃｔａｎ（ω／θ）＋１．５π                  （３）
そして、左股関節角度θＬが負であって、使用者９００が伸展運動を行っている間は、関係式（３）によって位相角φＬは算出される。そして、使用者９００が継続して屈曲運動および伸展運動を行うと、再び、関係式（２）および関係式（３）により、次の周期の左位相角φＬが算出される。このようにして、使用者９００の左股関節角度θＬと左股関節角速度ωＬとから、左位相角φＬが算出される。
【００３１】
次に、歩行補助装置１００を構成する各制御要素を説明する。図６は、歩行補助装置１００を構成する各制御要素を説明する要素ブロック図である。図示するように、歩行補助装置１００を構成する各制御要素は、システム制御部２０１に対して直接的あるいは間接的に入出力の少なくともいずれかを行う。すなわち、予め設定されたプログラムを実行するＣＰＵとしてのシステム制御部２０１は、これらの制御要素を統括的に制御する。
【００３２】
システム制御部２０１は、左用制御回路２２１を介して左用モータ１２１を制御する。同様に、右用制御回路２２２を介して右用モータ１２２を制御する。具体的には、システム制御部２０１は、左足を補助するアシストトルク値を算出したら、当該補助力を発生させるタイミングで算出結果を左用制御回路２２１に引き渡し、右足を補助するアシストトルク値を算出したら、当該補助力を発生させるタイミングで算出結果を右用制御回路２２２に引き渡す。左用制御回路２２１および右用制御回路２２２は、引き渡されたアシストトルク値に従ってアナログの駆動電圧を生成し、それぞれ左用モータ１２１および右用モータ１２２に印加する。すなわち、左用制御回路２２１および右用制御回路２２２は、ＤＡ変換器を含む増幅回路を有する。
【００３３】
システム制御部２０１は、左用検出回路２３１を介して左用角度センサ１３１の検出結果を受け取る。同様に、右用検出回路２３２を介して右用角度センサ１３２の検出結果を受け取る。具体的には、左用角度センサ１３１は、左大腿９０１の回転角度に応じて電圧パルスを連続的に発生させる。左用検出回路２３１は、当該電圧パルスをカウントして単位時間当たりの回転角度に変換し、当該回転角度をデジタル値として単位時間ごとにシステム制御部２０１へ引き渡す。また、左用検出回路２３１は、単位時間ごとの回転角度を単位時間で除することにより、左股関節角速度を検出することもできる。左用検出回路２３１は、左股関節角速度もシステム制御部２０１へ引き渡す。
【００３４】
同様に、右用角度センサ１３２は、右大腿９０２の回転角度に応じて電圧パルスを連続的に発生させる。右用検出回路２３２は、当該電圧パルスをカウントして単位時間当たりの回転角度に変換し、当該回転角度をデジタル値として単位時間ごとにシステム制御部２０１へ引き渡す。また、右用検出回路２３２は、単位時間ごとの回転角度を単位時間で除することにより、右股関節角速度ωＲを検出することもできる。右用検出回路２３２は、右股関節角速度もシステム制御部２０１へ引き渡す。
【００３５】
操作部２１１は、起動スイッチ１０１を含む、使用者９００から指示を受けるための操作部材である。図２においては起動スイッチ１０１を表すに留めたが、補助力の調整を受け付ける調整つまみ等の操作部材を備えてもよい。システム制御部２０１は、操作部２１１が検出する操作部材の変化に従って、それぞれ異なる制御を実行してもよい。
【００３６】
メモリ２１２は、例えばＳＳＤなどのフラッシュメモリを用いた記憶装置であり、システム制御部２０１が実行するプログラム、各種パラメータ値等を、電源オフ時にも消失しないように記憶している。また、システム制御部２０１が行う演算で生成される諸値を一時的に記憶させるワークメモリとしての機能も担う。本実施形態において、メモリ２１２は、システム制御部２０１で補正された位相角φ、１周期分の修正された位相角φから構成される位相パターンおよびトルクテーブル等を記憶する。メモリ２１２は、それぞれの用途に合わせて、物理的に分離された複数種類のメモリから構成されてもよい。なお、メモリ２１２は記憶部の一例である。
【００３７】
入出力インタフェース２１３は、外部機器との入出力を実現する通信部を含む。例えば、歩行補助装置１００が外部機器としてのスマートフォンと連携する場合、入出力インタフェース２１３は、スマートフォンで設定された設定内容を受信し、メモリ２１２に格納されている履歴情報をスマートフォンへ送信する。なお、メモリ２１２に記憶されたプログラムは、入出力インタフェース２１３を通じて有線または無線で外部機器と通信することによってメモリ２１２に記憶されてもよく、媒体から読み込まれてメモリ２１２に記憶されてもよい。
【００３８】
次に補助力の目標値であるアシストトルクＰを取得する処理について機能ブロック図および具体的な信号波形を用いて説明する。図７は、位相補正に係る各処理を説明する機能ブロック図である。また、図８は、信号波形の変化を説明する説明図である。
【００３９】
上述のように、左用角度センサ１３１から出力された出力信号は、左用検出回路２３１で単位時間当たりの左大腿９０１の左股関節角度θＬおよび左股関節角速度ωＬに変換されてシステム制御部２０１に送られる。同様に、右用角度センサ１３２から出力された出力信号は、右用検出回路２３２で単位時間当たりの右大腿９０２の右股関節角度θＲおよび右股関節角速度ωＲに変換されてシステム制御部２０１に送られる。すなわち、左用角度センサ１３１、左用検出回路２３１、右用角度センサ１３２および右用検出回路２３２は、使用者９００の股関節角度θおよび股関節角速度ωを検出する検出部２３０として機能する。図８（ａ）は、右股関節角度θＲおよび左股間接角度θＬの信号波形を示す図である。縦軸は、角度［ｄｅｇ］であり、横軸は、時間［ｓｅｃ］である。これらの信号に対するこれ以降の各処理はシステム制御部２０１が実行するが、システム制御部２０１が実行する各処理を機能ブロックとして順次説明する。
【００４０】
図８（ｂ）は、右位相角φＲおよび左位相角φＬの信号波形を示す図である。縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。算出部２０２は、使用者９００の運動が屈曲運動であるか、伸展運動であるかを判断する。そして算出部２０２は、股関節角度θが正の場合に、使用者９００の運動が屈曲運動であると判断し、関係式（２）を用いて補正された位相角φを算出する。一方、算出部２０２は、股関節角度θが負の場合に、使用者９００の運動が伸展運動であると判断し、関係式（３）を用いて補正された位相角φを算出する。算出部２０２は、算出した位相角φを修正部２０３に引き渡す。
【００４１】
修正部２０３は、算出部２０２から取得した位相角φを修正する。図８（ｃ）は、単調増加処理後の左位相角φＬおよび右位相角φＲの信号波形を示す図である。縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。修正部２０３は、位相角φの修正として、位相角の単調増加処理を実行する。修正部２０３は、歩行周期に対して位相角φが徐々に増加するように位相角φを修正する。修正部２０３は、修正した位相角φをメモリ２１２の位相角記憶部２１４に記憶させる。なお、修正部２０３による位相角φの単調増加処理の具体的な内容については後述する。
【００４２】
また、修正部２０３は、位相角φの修正として、位相パターン学習処理を実行する。メモリ２１２の位相パターン記憶部２１５には、前回パターン学習処理された１周期分の位相角φで構成され、位相角の時系列的な変化を示す位相パターンが記憶されている。修正部２０３は、当該位相パターンをメモリ２１２から参照して、新たに取得した１周期分の位相角φで構成される位相パターンを修正する。そして、メモリ２１２は、修正部２０３が修正した位相パターンに基づいて、位相パターン記憶部２１５に記憶されている位相パターンを更新する。なお、修正部２０３による位相パターン学習処理の具体的な内容については後述する。
【００４３】
図８（ｄ）は、直線化処理後の左位相角φＬおよび直線化処理後の右位相角φＲの信号波形を示す図である。縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。修正部２０３は、位相角φの修正として、歩行動作が繰り返されるに従って、歩行周期の時間経過に対する位相角φの位相パターンが直線に漸近するように、予め定められた位相変化パターンに基づき位相角φをそれぞれの歩行周期ごとに段階的に修正する。ここで、予め定められた位相変化パターンの一例は、位相パターン学習処理された位相パターンである。修正部２０３は、単調増加処理後の位相角φと位相パターン学習処理された位相パターンとを用いて直線化処理をそれぞれの歩行周期ごとに実行する。このように、修正部２０３が直線化処理を歩行周期ごとに実行することによって、直線化処理後の位相角φＲおよび直線化処理後の位相角φＬは、時間経過とともに直線的な変化に近づいていくことが図８（ｄ）から見てとれる。なお、修正部２０３による直線化処理の具体的な処理については後述する。
【００４４】
図８（ｅ）は、左アシスト位相角φＡＬおよび右アシスト位相φＡＲの信号波形を示す図である。縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。修正部２０３は、直線化処理した位相角φから固定値を増減することによって、アシスト位相角φＡを算出する。例えば、修正部２０３は、直線化処理した位相角φから固定値を減少させる。これにより、修正部２０３は直線化処理した位相角φを、全体的に位相角が小さくなるように変更できる。また、修正部は、例えば、直線化処理した位相角から固定値分を増加させる。これにより、修正部２０３は、直線化処理した位相角φを全体的に位相角が大きくなるように変更できる。なお、修正部２０３は、固定値を０として、直線化処理した位相角φをそのままアシスト位相角φＡとして用いてもよい。修正部２０３は、変換したアシスト位相角φＡを駆動制御部２０４に引き渡す。
【００４５】
図８（ｆ）は、左アシストトルクＰＬおよび右アシストトルクＰＲの信号波形を示す図である。縦軸は、トルク［Ｎ・ｍ］であり、横軸は、時間［ｓｅｃ］である。駆動制御部２０４は、修正部２０３から左アシスト位相角φＡＬおよび右アシスト位相角φＡＲを取得すると、メモリ２１２のトルクテーブル記憶部２１６に記憶されているトルクテーブルを参照して、左アシスト位相角φＡＬに対応したアシストトルクＰＬおよび右アシスト位相角φＡＲに対応したアシストトルクＰＲを取得する。
【００４６】
トルクテーブルには、左アシスト位相角φＡＬが取りうる各値に対して、それぞれ左アシストトルクＰＬの値が対応付けられている。また、右アシスト位相角φＡＲが取りうる各値に対して、それぞれ右アシストトルクＰＲの値が対応付けられている。すなわち、トルクテーブルは、アシスト位相角φＡとアシストトルクＰとを対応付けたルックアップテーブルである。
【００４７】
駆動制御部２０４は、取得した左アシストトルクＰＬを、アシストトルクを発生させるタイミングで左用制御回路２２１に引き渡し、左用モータ１２１を駆動させて使用者９００に補助力を付与する。また、駆動制御部２０４は、取得した右アシストトルクＰＲを、アシストトルクを発生させるタイミングで右用制御回路２２２に引き渡し、右用モータ１２２を駆動させて使用者９００に補助力を付与する。このように、左用制御回路２２１と左用モータ１２１および右用制御回路２２２と右用モータ１２２は、使用者９００の周期的な歩行動作に補助力を付与する付与部２４０として機能する。
【００４８】
このように、システム制御部２０１は、算出部２０２により位相角φを算出し、修正部２０３により、算出した位相角φを、単調増加処理、パターン学習処理および直線化処理を施して、位相角φが歩行周期に対して直線的に変化するように修正する。そして、駆動制御部２０４は、歩行周期に対して直線的に変化した位相角φに対応したアシストトルクＰを取得する。これにより、本実施形態の歩行補助装置１００は、当該アシストトルクＰに基づいた補助力を使用者９００に付与できる。
【００４９】
また、図７および図８を用いて説明した処理において、システム制御部２０１は、検出部２３０から股関節角度θおよび股関節角速度ωを取得すると、算出部２０２は、股関節角度θおよび股関節角速度ωを用いて逐次位相角φを算出する。修正部２０３は、算出部２０２から位相角φを取得すると、単調増加処理、パターン学習処理および直線化処理を実行して位相角φを逐次修正する。駆動制御部２０４は、修正部２０３からアシスト位相角φＡを取得すると、逐次アシストトルクＰを取得して左用制御回路２２１または右用制御回路２２２に出力する。このように、歩行補助装置１００は、全ての処理を逐次実行することによって、迅速に使用者９００の歩容に合致させた補助力を使用者９００に付与できる。ここで、逐次とは、算出部２０２が検出部２３０から１０ミリ秒ごとに股関節角度θおよび股関節角速度ωを取得した場合に、そのつど算出部２０２は、取得間隔である１０ミリ秒ごとに、リアルタイムで位相角φを算出することをいう。また、同様に、修正部２０３であれば、修正部２０３が算出部２０２から１０ミリ秒ごとに位相角φを取得した場合に、そのつど修正部は、取得間隔である１０ミリ秒ごとにリアルタイムで位相角φを修正することをいう。
【００５０】
次に、使用者９００に補助力を付与する処理を一連の処理手順の観点で説明する。図９は、使用者９００に補助力を付与する処理の流れを示すフロー図である。なお、以後の説明において、図面には左足および右足の信号波形を示すが、左足と右足とで同じ処理を行う場合においては、左用モータ１２１のアシストトルクＰを取得する処理を説明し、右用モータ１２２のアシストトルクＰを取得する処理については説明を省略する。図９に示したフローは、起動スイッチ１０１が使用者９００に押圧操作されて、システム制御部２０１が制御プログラムをメモリ２１２から読み出して初期化作業を完了した時点から開始する。
【００５１】
システム制御部２０１は、左用角度センサ１３１と左用検出回路２３１を機能させて、左股関節角度θＬと、左股関節角速度ωＬとを取得する（ステップＳ１０１）。算出部２０２は、上述した位相化処理を実行して左股関節角度θＬと左股関節角速度ωＬにより定まる左位相角φＬを算出する（ステップＳ１０２）。修正部２０３は、算出した左位相角φＬに単調増加処理を施す（ステップＳ１０３）。なお、単調増加処理については、図１３および図１４を用いて説明する。
【００５２】
修正部２０３は、単調増加処理後の左位相角φＬに位相パターン学習処理を施す（ステップＳ１０４）。位相パターン学習処理については、図１５および図１６を用いて説明する。修正部２０３は、さらに、位相パターン学習処理により作成した学習済の位相パターンを用いて、単調増加処理後の左位相角φＬに直線化処理を施す（ステップＳ１０５）。直線化処理については、図１７および図１８を用いて説明する。
【００５３】
修正部２０３は、直線化処理した左位相角φＬを変換してアシスト位相角φＡＬを取得して（ステップＳ１０６）、駆動制御部２０４に出力する。修正部２０３は、例えば、右用アシスト位相角φＡＲおよび左用アシスト位相角φＡＬが予め定められた右用アシスト位相角φＡＲおよび左用アシスト位相角φＡＬとなるように、直線化処理後の左位相角φＬおよび直線化処理後の右位相角φＲから固定値を加算または減少する。
【００５４】
図１０は、アシスト位相角φＡを算出する場合の信号波形を説明する説明図である。図１０を用いて、直線化処理した位相角φから固定値を減じて、直線化処理した位相角φから全体的に位相角が小さくなるように変換されたアシスト位相角φＡを取得する処理の一例を説明する。
【００５５】
図１０（ａ）は、直線化処理した位相角の信号波形を示す図である。図１０（ａ）において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。修正部２０３は、直線化処理した位相角φから個定値を減ずる。修正部２０３は、固定値を減じた結果、位相角φが０より小さい値となった場合には、２πから当該値を減じた位相角φとして１つ前の位相周期に連結させる。一方、修正部２０３は、位相角φが０より大きい値となった場合には、今回の位相周期における固定値分減じた位相角φとする。図１０（ａ）の破線より下側の信号波形は、固定値を減じた結果、位相角φが０より小さい値となる領域である。したがって、この領域に含まれる信号波形は、１つ前の位相周期の位相角φに連続的につながるように上側に追加される。一方、図１０（ａ）の破線より上側の信号波形は、固定値を減じた結果、位相角φが０より大きい値となる領域である。したがって、この領域に含まれる信号波形は、そのまま下方にシフトされる。このように変換されて作成された左アシスト位相角φＡＬおよび右アシスト位相角φＡＲを図１０（ｂ）に示す。
【００５６】
図１０（ｂ）は、左アシスト位相角φＡＬおよび右アシスト位相角φＡＲの信号波形を示す図である。図１０（ｂ）において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。このように、修正部２０３は、直線化処理した位相角φから固定値を減じて、全体的に位相角φを角度が小さくなる方向にシフトさせることができる。なお、図１０（ｂ）においては、左位相角φＬおよび右位相角φＲから同じ固定値を減じた例を示したが、右位相角φＲと左位相角φＬとの位相周期の差に基づいて、それぞれ異なる固定値を増減させてもよい。これにより、左アシスト位相角φＡＬと右アシスト位相角φＡＲとの位相差を調整できる。
【００５７】
図９のステップＳ１０６に続いて、駆動制御部２０４は、アシスト位相角φＡに対応するアシストトルクを取得する（ステップＳ１０７）。図１１は、アシスト位相角に対応したトルク値を連続的につなげた波形の一例を示す図であり、図１２は、アシストトルクＰの一例を示す図である。本実施形態において、トルクテーブルは、例えば、０から２πのアシスト位相角φＡに対してアシストトルクＰが−２ｓｉｎφＡとなるように、アシスト位相角φＡとアシストトルクＰとを対応付けている。駆動制御部２０４は、トルクテーブル記憶部２１６に記憶されているトルクテーブルを参照して、図１２に示すような左アシスト位相角φＡＬに対応した左アシストトルクＰＬを取得する。そして、駆動制御部２０４は、取得した左アシストトルクＰＬを左用制御回路２２１に引き渡すことによって、左用モータ１２１から左アシストトルクＰＬに対応した補助力を使用者９００に付与できる。なお、トルクテーブル記憶部２１６には、トルクテーブルに代えて、関数として、関係式（４）が格納されていてもよく、その場合、駆動制御部２０４は、関係式（４）とアシスト位相φＡとから、アシストトルクＰを算出する。
アシストトルクＰ＝−２ｓｉｎφＡ                            （４）            
【００５８】
図９のステップＳ１０７に続いて、駆動制御部２０４は、取得した左アシストトルクＰＬを左用制御回路２２１に出力し、取得した右アシストトルクＰＲを右用制御回路２２２に出力する（ステップＳ１０８）。左用制御回路２２１は、左用モータ１２１を駆動させて使用者９００に左アシストトルクＰＬに対応した補助力を付与させる。同様に、右用制御回路２２２は、右用モータ１２２を駆動させて使用者９００に右アシストトルクＰＲに対応した補助力を付与させる（ステップＳ１０９）。
【００５９】
システム制御部２０１は、使用者９００から終了指示を受けたか否かを判断する（ステップＳ１１０）。具体的には、起動スイッチ１０１が再度押圧操作されたか否かを検出する。なお、操作の主体は、使用者９００に限らず、補助者等であってもよい。
【００６０】
システム制御部２０１は、終了指示をまだ受けていないと判断したら（ステップＳ１１０：Ｎｏ）、処理をステップＳ１０１へ戻し、一連の処理を繰り返す。システム制御部２０１は、終了指示を受けたと判断したら（ステップＳ１１０：Ｙｅｓ）、処理をステップＳ１１１へ進める。
【００６１】
システム制御部２０１は、ステップＳ１１１で終了処理を実行する。例えば、システム制御部２０１は、終了処理として、メモリ２１２の位相角記憶部２１４に記憶した単調増加処理後の位相角φおよび位相パターン記憶部２１５に記憶した学習済の位相パターンを消去する。システム制御部２０１は、終了処理が完了したら一連の処理を終了して、バッテリ１０２の電力供給を停止させる。なお、同じ使用者９００が連続して歩行補助装置１００を使用する場合には、メモリ２１２の位相角記憶部２１４に記憶した単調増加処理後の位相角φおよび位相パターン記憶部２１５に記憶した学習済の位相パターンを消去しないと設定できてもよい。これにより、歩行補助装置１００は、迅速に使用者９００の歩容に合致させた補助力を使用者９００に付与できる。
【００６２】
図１３は、図９におけるステップＳ１０３の単調増加処理の詳細を示すサブフロー図である。また、図１４は、単調増加処理後における位相角φの信号波形を説明する説明図である。図１３および図１４を用いて、修正部２０３により実行される単調増加処理の一例を説明する。なお、単調増加処理を実行する修正部２０３は、第２位相角修正部として機能し、単調増加処理後の位相角φは、第２修正位相角と称する場合がある。
【００６３】
修正部２０３は、算出部２０２から位相角φを取得すると、取得した位相角φが閾値以下であるか否かを判断する（Ｓ２０１）。ここで閾値は、前回の位相角φの歩行周期から定められる単位時間の基準増加量を加えた値であり、関係式（５）で表すことができる。
閾値＝単調増加位相角（前回値）＋２π／歩行周期×制御周期      （５）            
ここで、歩行周期は、屈曲運動および伸展運動を含む前回の歩行周期である。また、制御周期は、算出部２０２から新たな位相角φが出力されるまでの単位時間である。修正部２０３は、位相角φが閾値以下であると判断した場合（ステップＳ２０１：Ｙｅｓ）、位相増加刻みを前回の位相角φの歩行周期から定められる単位時間の基準増加量に基づいた関係式（６）に設定する（ステップＳ２０２）。
位相増加刻み＝Ａ×２π／歩行周期×制御周期                    （６）            
ここで、Ａは任意の正の定数である。
【００６４】
一方、修正部２０３は、位相角φが閾値以下でないと判断した場合（ステップＳ２０１：Ｎｏ）、位相増加刻みを、位相角φと前回の単調増加位相角の差に基づいた関係式（７）に設定する（ステップＳ２０３）。
位相増加刻み＝Ｂ×（位相角φ−前回の単調増加位相角）          （７）            
ここで、Ｂも任意の正の定数である。
【００６５】
修正部２０３は、位相角φに、ステップＳ２０２またはステップＳ２０３で設定した位相増加刻みを加算する（ステップＳ２０４）。修正部２０３は、位相増加刻みを加算した位相角φを位相角記憶部２１４に記憶して、処理をメインフローへ戻す。このように、修正部２０３は、算出部２０２が算出した位相角φが、閾値よりも大きいか否かにより異なる増分値を定め、位相角φに当該増分値を加えることによって、位相角φを修正する。なお、位相角記憶部２１４に記憶された単調増加処理した位相角φは、位相パターン学習処理、直線化処置および次回の単調増加処理に使用される。
【００６６】
図１４（ａ）は、単調増加処理の概念を示した図である。図１４（ａ）において、閾値は、関係式（５）により示される値である。すなわち、単調増加処理において、関係式（６）より算出される位相増加刻みを用いるか、または、関係式（７）より求まる位相増加刻みを用いるかは、単調増加処理した前回の位相角φ値を通り、前回の歩行周期に対して位相角が０から２πへ直線的に変化した場合の直線に対し、測定された位相角φが小さいか否かで判断される。そして、測定された位相角φが当該直線に対して小さい場合には、関係式（６）より算出される位相増加刻みが設定され、測定された位相角φが当該直線に対して大きい場合には、関係式（７）より算出される位相増加刻みが設定される。そして、設定した位相増加刻みを位相角φに加算することによって、修正部２０３は、位相角φが歩行周期に対して０から２πへ直線的に変化した場合の直線に近づくように位相角φを修正できる。
【００６７】
さらに、関係式（６）および関係式（７）において、定数Ａおよび定数Ｂを大きく設定することによって、修正部２０３は、位相角φを急激に変化させて、迅速に、歩行周期に対して０から２πへ直線的に変化するように修正する。一方、定数Ａおよび定数Ｂを小さく設定することで、修正部２０３は、位相角φを大きく修正せずに、使用者９００の実際の歩容に忠実に合致させる。
【００６８】
図１４（ｂ）は、単調増加処理前の信号波形と、単調増加処理後の信号波形を示す。図１４において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］であり、実線は、単調増加処理前の右位相角φＲおよび左位相角φＬの信号波形を示し、破線は、単調増加処理後の右位相角φＲおよび単調増加処理後の左位相角φＬの信号波形を示す。図１４（ｂ）に示すように、修正部２０３は、位相角φが急減に増加している場合には、負の位相増加刻みを加算することによって、急減な位相増加を緩和する。また、修正部２０３は、位相角φが停滞している場合には、正の位相増加刻みを加算することによって、位相角φを増加させる。単調増加処理後の位相角φは、単調増加処理前の位相角φよりも歩行周期に対して直線的に変化するように修正される。そして、歩行補助装置１００は、このように歩行周期に対して直線的に変化する位相角φに対応したトルクに基づいて使用者９００の歩行を補助することによって、滑らかな理想的なトルクで使用者９００の歩行を補助できる。
【００６９】
また、他の単調増加処理の方法としては、前回の位相角φと計測した位相角φとの差が、所定の閾値以下である場合に、修正部２０３は、位相角φが停滞していると判断して、予め設定しておいた増分を前回の位相角φに加算して、位相角φを修正してもよい。また、前回の位相角φと計測した位相角φとの差が、所定の閾値以上である場合に、修正部２０３は、位相角φが急激に増加していると判断して、前回の位相角φと計測した位相角φとの差分補正を行い、位相角φを修正してもよい。
【００７０】
図１５は、図９におけるステップＳ１０４の位相パターン学習処理の流れを示すサブフロー図である。また、図１６は、位相パターン学習処理を説明する説明図である。図１５および図１６を用いて、修正部２０３により実行される位相パターン学習処理の一例を説明する。なお、位相パターン学習処理を実行する修正部２０３は、第１位相角修正部として機能し、位相パターン学習処理後の位相角φは、第１修正位相角と称する場合がある。
【００７１】
修正部２０３は、まず、単調増加処理が１周期分完了したか否かを判断する（ステップＳ３０１）。修正部２０３は、算出部２０２から取得した位相角φが２πである場合に、単調増加処理が１周期分完了したと判断し（ステップＳ３０１：Ｙｅｓ）、修正部２０３は、位相パターン学習処理として、１周期分の単調増加処理した位相角φに（１−Ｋｌｅａｒｎｅｄ）を乗じて信号波形を算出する。また、修正部２０３は、前回までの学習済の位相パターンを位相パターン記憶部２１５から読み出し、前回までの学習済の位相パターンの各位相角φにＫｌｅａｒｎｅｄを乗じて信号波形を算出する。修正部２０３は、１−Ｋｌｅａｒｎｅｄを乗じて算出した信号波形と、Ｋｌｅａｒｎｅｄを乗じて算出した信号波形を加算して、今回測定された位相パターンと前回までの学習済の位相パターンとを重み付け平均処理する。なお、Ｋｌｅａｒｎｅｄは、０＜Ｋｌｅａｒｎｅｄ＜１の範囲に含まれる任意の定数である。修正部２０３は、位相パターン記憶部２１５に記憶されている前回までの学習済の位相パターンを、今回算出された学習済の位相パターンに更新して（ステップＳ３０２）、処理をメインフローへ戻す。
【００７２】
一方、修正部２０３は、算出部２０２から取得した位相角φが２πでない場合に、単調増加処理が１周期分完了していないと判断する（ステップＳ３０１：Ｎｏ）。そして、修正部２０３は、単調増加処理した位相角φを位相角記憶部２１４に記憶させて（ステップＳ３０３）、処理をメインフローへ戻す。
【００７３】
図１６において、１周期分の単調増加処理された位相角φの位相パターンをｆｎ（ｔ）とし、前回までの学習済の位相パターンをＦ（ｎ−１）とする。すると、今回の学習済の位相パターンＦ（ｎ）は、関係式（８）で算出される。
Ｆ（ｎ）＝（１−Ｋｌｅａｒｎｅｄ）×ｆｎ（ｔ）＋Ｋｌｅａｒｎｅｄ×Ｆ（ｎ−１）（ｔ）  （８）
関係式（８）により算出された学習済の位相パターンは、位相パターン記憶部２１５に記憶され、直線化処理および次回の位相パターン学習処理に用いられる。
【００７４】
修正部２０３は、歩行動作における周期のばらつきを正規化により除去して、位相パターン記憶部２１５に記憶される位相パターンを修正する。例えば、位相パターン記憶部２１５は、関係式（８）により算出された学習済の位相パターンの歩行周期を０から１の無次元の値として正規化する。なお、修正部２０３に代えて、位相パターン記憶部２１５が歩行動作における周期のばらつきを正規化により除去する機能を有していてもよい。
【００７５】
学習済の位相パターンの歩行周期を０から１の無次元の値として正規化した場合において、修正部２０３は、学習済の位相パターンにおける正規化された値に、単調増加された位相角φの歩行周期を振り分けた学習済の位相パターンを生成して、位相パターン学習処理を実行する。また、これに代えて、修正部２０３は、単調増加された位相角φの歩行周期を０から１の無次元の値として正規化して、位相パターン学習処理を実行してもよい。このように、歩行周期を正規化することによって、単調増加処理された位相パターンの歩行周期が、学習済みの位相パターンの歩行周期と異なる場合であっても、修正部２０３は、位相パターン学習処理を実行できる。
【００７６】
位相パターン学習処理において、任意の定数であるＫｌｅａｒｎｅｄを大きくすると、前回までの学習済の位相パターンに重み付けでき、Ｋｌｅａｒｎｅｄを小さくすると、今回測定された位相パターンに重み付けできる。すなわち、足を患った患者やお年寄りのように、突発的な歩行の乱れが生じやすい使用者９００が歩行補助装置１００を使用した場合には、Ｋｌｅａｒｎｅｄの値を大きく設定することによって、突発的な歩行の乱れが与える、学習済の位相パターンへの影響を少なくできる。また、健常者のような突発的な歩行の乱れが生じない使用者９００においては、Ｋｌｅａｒｎｅｄの値を小さく設定することによって、使用者９００の現在の歩容を、迅速に学習済位相パターンへ反映させることができる。
【００７７】
図１７は、直線化処理を行う場合の信号波形の変化を説明する説明図である。まず、図１７を用いて、直線化処理の具体的な一例を説明する。
【００７８】
図１７（ａ）は、単調増加処理後の位相角φの信号波形を示す。図１７（ａ）において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。図１７（ａ）に示した信号波形における点（Ｔ１、φ１）を例として、直線化処理を説明する。
【００７９】
図１７（ｂ）は、前回の学習済の位相パターンを示す。図１７（ｂ）において、縦軸は、位相角［ｒａｄ］であり、横軸は、正規化処理されている場合には無次元であるが、説明をわかりやすくする目的で、図１７および図１８の説明においては、横軸を時間［ｓｅｃ］として説明する。修正部２０３は、図１７（ｂ）に示した前回の学習済の位相パターンを参照して、位相角φ１に対応する時間Ｔ２を取得する。
【００８０】
図１７（ｃ）は、前回の学習済位相パターンの歩行周期に０から２πの位相角をあてはめた信号波形を示す。図１７（ｃ）において、縦軸は、位相角［ｒａｄ］であり、横軸も位相角［ｒａｄ］である。修正部２０３は、学習済位相パターンの歩行周期に０から２πの位相角の周期をあてはめる。図１７（ｂ）における学習済位相パターンの歩行周期の開始時間をＴＳ、終了時間をＴＥとすると、修正部２０３は、関係式（９）により直線化処理後の位相角φ３を算出する。
直線化処理後の位相角φ３＝２π×Ｔ２−ＴＳ／ＴＥ−ＴＳ              （９）          
修正部２０３は、単調増加処理後の位相角φ１を直線化処理後の位相角φ３に修正する。
【００８１】
図１７（ｄ）は、直線化処理後の位相角φをプロットした信号波形を示す。修正部２０３による直線化処理は、図１７（ｃ）で終了しているが、算出した直線化処理後の位相角φ３を時間軸と位相角との関係にプロットし直した信号波形が図１７（ｄ）である。図１７（ｄ）において、縦軸は、位相角［ｒａｄ］であり、横軸は、時間［ｓｅｃ］である。このように、修正部２０３は、単調増加処理後の位相角φ１に直線化処理を施すことによって、図１７（ｄ）に示したような、歩行周期に対して直線的に変化する位相角φ３に修正できる。
【００８２】
図１８は、図９におけるステップＳ１０５の直線化処理の流れを示すサブフロー図である。図１８を用いて、修正部２０３により実行される直線化処理の流れを説明する。なお、直線化処理を実行する修正部２０３は、第１位相角修正部として機能し、直線化処理後の位相角φについても第１修正位相角と称する場合がある。
【００８３】
修正部２０３は、位相パターン記憶部２１５から前回の学習済の位相パターンを読み出す（ステップＳ４０１）。修正部２０３は、単調増加処理後の位相角φに対応する学習済の位相パターンの歩行周期に対する時間を算出する（ステップＳ４０２）。この処理は、図１７の例では、位相角φ１からＴ２を取得する処理である。
【００８４】
修正部２０３は、学習済の位相パターンの歩行周期へ０から２πの位相角周期をあてはめる（ステップＳ４０３）。この処理は、図１７の例では、ＴＳからＴＥの歩行周期を０から２πの位相周期とする処理である。
【００８５】
修正部２０３は、ステップＳ４０２で算出した位相周期の時間にあてはめられた位相角φを直線化処理後の位相角φとして取得する（ステップＳ４０４）。この処理は、図１７の例では、関係式（９）を用いて、直線化処理後の位相角φ３を算出する処理である。修正部２０３は、単調増加処理後の位相角φを直線化処理後の位相角φに修正して、処理をメインフローへ戻す。
【００８６】
修正部２０３は、上述したような写像変換による直線化処理を施す。上述した直線化処理は、図１７（ａ）および図１７（ｂ）に示すように、直線化処理後の位相角φの信号波形の傾向が、学習済の位相パターンの信号波形の傾向と同じである場合には、位相角φの信号波形が曲線であったとしても、歩行周期に対して位相角φが直線的に変化するように位相角φを修正する。そして、駆動制御部２０４は、このように歩行周期に対して直線的に変化する位相角φに対応したアシストトルクＰをトルクテーブルから取得して、付与部２４０に引き渡す。これにより、付与部２４０は、より滑らかな理想的なトルクで使用者９００の歩行を補助できる。
【００８７】
以上説明したように、本実施形態の歩行補助装置１００は、単調増加処理、位相パターン学習処理、および／または、直線化処理を実行することによって、位相角φは、歩行周期に対して直線的に変化するように修正される。これにより、歩行周期に対する位相角φの変化の乱れを抑制できる。そして、このように歩行周期に対して直線的に変化する位相角φに対応したトルクに基づいて使用者９００の歩行を補助することによって、滑らかな理想的なトルクで使用者９００の歩行を補助できる。
【００８８】
また、本実施形態の歩行補助装置１００は、股関節角度θおよび股関節角速度ωから定められる位相角φを算出し、当該位相角φと予め定められるトルクテーブルによりアシストトルクＰを取得できる。これにより、位相振動子を用いた制御よりも制御パラメータを低減することができ、簡易な演算によりアシストトルクＰを取得できる。
【００８９】
なお、本実施形態において、股関節角速度ωは、左用検出回路２３１および右用検出回路２３２を用いて算出する例を示した。しかしながら、股関節角速度ωは、ヒルベルト変換回路を用いて股関節角速度θから取得してもよい。
【００９０】
なお、本実施形態において、股関節角度θおよび股関節角速度ωにより定められる位相角φを用いた例を説明した。しかしながら、位相角φはこれに限られず、例えば、股間切角度θと股関節角の加速度により定められる位相角φであってもよく、股関節角速度ωと股関節角の加速度により定められる位相角φであってもよい。
【００９１】
また、本実施形態において、位相パターン学習処理は、直線化処理に使用される学習済の位相パターンを作成することを目的として実行される例を示した。しかしながら、位相パターン学習処理を施した位相角φを用いてアシストトルクＰを取得してもよい。また、修正部２０３による単調増加処理、位相パターン学習処理および直線化処理は、それぞれ単独で実行されてもよく、いずれかの処理を組み合わせて実行されてもよい。なお、単調増加処理を単独で実行される場合において、単調増加処理を実行した第２位相角修正部は、第２修正位相角を第１位相角修正部に入力する。そして、第１位相角修正部は、取得した第２修正位相角からアシスト位相角φＡを算出し、駆動制御部２０４に出力するとしてもよい。
【００９２】
また、本実施形態において、前回の学習済位相パターンを用いて直線化処理を実行する例を説明した。しかしながら、直線化処理を単独で実行する場合においては、予め実験的に測定した位相パターンを位相パターン記憶部２１５に記憶させておき、修正部２０３は、当該位相パターンを用いて位相角φの直線化処理を実行してもよい。この場合において、予め定められた位相変化パターンの他の例は、予め実験的に測定した位相パターンである。
【００９３】
単調増加処理は、使用者９００の歩容を維持しつつ、位相角φを徐々に変化するように修正する処理である。位相パターン学習処理は、使用者９００の突発的な歩容の変化の影響を緩和する処理である。直線化処理は、使用者９００の歩容に関わらず位相角φを直線的に変化するように修正する処理である。そして、これらを組み合わせて実行することによって、それぞれの処理が有する効果を相乗させて、位相角φを修正できる。そして、修正された位相角φをトルクテーブルに適用して、アシストトルクＰを取得し、使用者９００に付与する。これにより、使用者９００が希望するアシスト内容に細かく対応できる。さらに、操作部２１１を用いて、これらの処理の何れの処理を実行させるか、また何れの処理を実行させないかを設定できてもよい。
【００９４】
また、左足または右足を患った使用者９００であって、歩行動作における左右の足の対称性が崩れた使用者９００においては、歩行補助装置１００を、歩行動作における左右の足の対称性を向上させるリハビリとして使用できる。一般的に歩行動作が左右対称である場合は、左足と右足の位相角の差はπである。したがって、修正部２０３は、関係式（１０）を用いて右足の歩行動作の左右対称性を改善させることができる。
右アシスト位相角φＡＲ＝右位相角φＲ−固定値−Ｋ×（π−（右位相角φＲ−左位相角φＬ））                                                    （１０）            
ここで、Ｋは、どれくらい左右対称に強制的に改善させるかにより定まる任意の定数である。
【００９５】
使用者９００の歩行動作に対応した右位相角φＲに対して、ずれた右位相角φＲ'に対応するアシストトルクＰ'は、例えば、振り出し動作中に蹴り出し動作を補助する補助力が付与される、といったように、逆に使用者９００の右足に負荷を与える。したがって、歩行補助装置１００は、位相のずれた右位相角φＲ'に対応したアシストトルクＰＲ'を使用者９００に付与することによって、使用者９００の右足の歩行動作を右位相角φＲ'に合致するように使用者９００の右足の歩行動作を修正できる。
【００９６】
関係式（１０）において、左右の足の位相角差がπからずれた分にＫを乗じた位相角をφＫとすると、左右の足の対称性がπでない場合に、修正部２０３は、位相角φＫを右足の位相角φＲから減じる。これにより、修正部２０３は、右位相角φＲから位相角φＫ分ずらした右アシスト位相角φＡＲを定める。一方、使用者９００が仮に理想的な対称性で歩行している場合には、関係式（１０）における（右位相角φＲ−左位相角φＬ）の値がπとなり、Ｋ×（π−（右位相角φＲ−左位相角φＬ））の値が０となり、修正部２０３は、右位相角φＲを修正しない。このように、位相角φＫ分ずらした右アシスト位相角φＡＲに対応したアシストトルクＰＲを使用者９００に付与することで、使用者９００の歩行動作における左右の非対称性が改善される。なお、左足の歩行動作の左右対称性を改善させる関係式は、関係式（１０）と同じなので説明は省略する。
【００９７】
以上説明した実施形態においては、単調増加処理、位相パターン学習処理および直線化処理を順に行う例を中心に説明した。しかし、股関節角度および股関節角速度の少なくともいずれかを含んで規定される位相角に、補助力の目標値を対応付けてトルク制御を行う観点において、従来技術にはない優位な効果を奏する。すなわち、位相振動子によるモデルに比較して、歩幅が小さく左右の股関節角度の偏差が小さい歩行支援対象者に対しても有効にリハビリを行うことができる。この場合の歩行補助装置は、使用者の歩行動作に補助力を付与する付与部と、使用者の股関節角度および股関節角速度を検出する検出部と、歩行動作の周期に対して股関節角度および股関節角速度により定まる位相角を算出する算出部と、位相角に対して予め設定されている補助力の目標値を取得して、目標値に従って付与部を制御する制御部とを備える。
【００９８】
さらに、上記歩行補助装置は、位相角を修正する修正部を備え、制御部は、修正部に修正された位相角に対して目標値を取得する。
【００９９】
また、歩行制御装置を制御する歩行制御プログラムは、使用者の股関節角度および股関節角速度を検出する検出ステップと、使用者の歩行動作の周期に対して股関節角度および股関節角速度により定まる位相角を算出する算出ステップと、位相角に対して予め設定されている、歩行動作に補助力を付与する付与部の補助力の目標値を取得する取得ステップと、目標値に従って付与部を制御する制御ステップとをコンピュータに実行させる。
【０１００】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０２】
１００  歩行補助装置、１０１  起動スイッチ、１０２  バッテリ、１０３  腰フレーム、１０４  腰ベルト、１２１  左用モータ、１２２  右用モータ、１３１  左用角度センサ、１３２  右用角度センサ、１４１  左用大腿フレーム、１４２  右用大腿フレーム、１５１  左用大腿ベルト、１５２  右用大腿ベルト、２０１  システム制御部、２０２  算出部、２０３  修正部、２０４  駆動制御部、２１１  操作部、２１２  メモリ、２１３  入出力インタフェース、２１４  位相角記憶部、２１５  位相パターン記憶部、２１６  トルクテーブル記憶部、２２１  左用制御回路、２２２  右用制御回路、２３０  検出部、２３１  左用検出回路、２３２  右用検出回路、２４０  付与部、９００  使用者、９０１  左大腿、９０２  右大腿、９１０  上体
【図１】
0006272735.tif 000002
【図２】
0006272735.tif 000003
【図３】
0006272735.tif 000004
【図４】
0006272735.tif 000005
【図５】
0006272735.tif 000006
【図６】
0006272735.tif 000007
【図７】
0006272735.tif 000008
【図８】
0006272735.tif 000009
【図９】
0006272735.tif 000010
【図１０】
0006272735.tif 000011
【図１１】
0006272735.tif 000012
【図１２】
0006272735.tif 000013
【図１３】
0006272735.tif 000014
【図１４】
0006272735.tif 000015
【図１５】
0006272735.tif 000016
【図１６】
0006272735.tif 000017
【図１７】
0006272735.tif 000018
【図１８】
0006272735.tif 000019