(57)【要約】【課題】遊脚が接地する前に精度良く進行方向を判定する。【解決手段】  本実施形態の歩行装置（装着型ロボット）では、進行方向をＹ軸にとり、プラス方向を前進、マイナス方向を後進とする。  そして立脚から所定距離後方に後方閾位置Ｐ１、所定距離前方に前方閾位置Ｐ２のそれぞれを基準位置とし、遊脚の足関節位置が、後方閾位置Ｐ１又は前方閾位置Ｐ２を通過した場合に、Ｙ方向の速度ベクトルの正負から進行方向を判定する。  一方、両脚が立脚状態でない場合には、後方閾位置Ｐ１、前方閾位置Ｐ２の何れか一方又は双方を通過する際、又は、閾値を設けない場合の立脚の通過基準位置を通過する際に進行方向を判定する。【選択図】図１
2014027978.tif 000002
【特許請求の範囲】
【請求項１】
立脚と遊脚を判断する状態判断手段と、
前記判断した立脚の位置に応じて決まる所定の基準位置を、前記判断した遊脚が通過したことを判断する通過判断手段と、
前記通過判断手段により、前記遊脚が前記立脚を通過したと判断した場合に、前記所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する進行方向判定手段と、
を具備したことを特徴とする歩行装置。
【請求項２】
前記立脚の後方所定距離の位置を後方閾位置、前記立脚の前方所定距離の位置を前方閾位置とし、
前記通過判断手段は、前記後方閾位置から前記前方閾位置の間の任意位置を前記所定の基準位置として、前記遊脚の通過を判断し、
前記進行方向判定手段は、前記遊脚の通過を判断した所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する、
ことを特徴とする請求項１に記載の歩行装置。
【請求項３】
前記後方閾位置となる前記立脚の後方所定距離は、両脚が共に立脚状態にある状態から前方に移動する場合に、遊脚が元の立脚位置から後方に移動する距離よりも大きく設定され、
前記前方閾位置となる前記立脚の前方所定距離は、両脚が共に立脚状態にある状態から後方に移動する場合に、遊脚が元の立脚位置から前方に移動する距離よりも大きく設定される
ことを特徴とする請求項２に記載の歩行装置。
【請求項４】
前記立脚から、前記後方閾位置及び前方閾位置までの距離は、歩幅の１／２以下である
ことを特徴とする請求項２に記載の歩行装置。
【請求項５】
前記立脚の前記判定した進行方向の側において、前記立脚の歩行面と前記遊脚の足裏との高低差と、前記遊脚の足裏と当該足裏の下にある歩行面との高低差とを取得する高低差取得手段と、
前記取得した高低差から、歩行面が平面か勾配を持つ面かを判断する歩行面判断手段と、
前記判断した歩行面に応じて、前記立脚と前記遊脚の歩行動作を制御する制御手段と、
を具備したことを特徴とする請求項１から請求項４のうちのいずれか１の請求項に記載の歩行装置。
【請求項６】
前記歩行装置は、当該歩行装置を装着した装着者の歩行を支援する装置であって、
前記制御手段は、前記装着者の前記立脚と前記遊脚の動作をアシストするアクチュエータを制御することを特徴とする請求項１から請求項５のうちのいずれか１の請求項に記載の歩行装置。
【請求項７】
立脚と遊脚を判断する状態判断機能と、
前記判断した立脚の位置に応じて決まる所定の基準位置を、前記判断した遊脚が通過したことを判断する通過判断機能と、
前記通過判断機能により、前記遊脚が前記立脚を通過したと判断した場合に、前記所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する進行方向判定機能と、
をコンピュータに実現させることを特徴とする歩行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩行装置、及び歩行プログラムに関し、例えば、段差を歩行するものに関する。
【背景技術】
【０００２】
近年、歩行者に装着させ、歩行者の歩行動作をアクチュエータなどでアシストする装着型の歩行支援装置（パーソナルモビリティ）が盛んに研究され、特許文献１や特許文献２等の技術が提案されている。
特許文献１記載の「歩行補助装置」では、遊脚か立脚かを接地圧で判断し、段差を登ろうとしているかを膝角度と筋力とから判断し、アシストを開始している。
また特許文献２記載の「歩行状態判定装置及び方法」では、測定した歩行周期と予め測定し記憶しておいた値とを比較することで、平地や坂道等の歩行状態を判断している。
【０００３】
しかし、従来の歩行支援装置では、いずれも前向きに歩行することを前提としているため、前向きの歩行か後ろ向きの歩行かといった、歩行方向については考慮がされていなかった。
また歩行支援装置だけでなく、自律（自立）型二足歩行ロボットにおける歩行制御においても同様に上記問題があった。
【０００４】
しかし、歩行支援を行う場合には、歩行面の状態（平地か階段か等）だけでなく、前進か後進かによってもアシストする状態を変化させる必要がある。
一般に歩行方向を知る方法としては、遊脚が接地した地点が立脚の前方か後方かにより判断することが考えられるが、遊脚が接地した後でなければ判断できないため、アシストが遅れるという問題がある。特に、坂道や階段をアシストする場合には、歩行の状態に応じて遅れることなくアシストすることが重要になる。
【０００５】
一方、歩行方向を知る方法として、図１５（ａ）に示すように、歩行支援装置の腰部に加速度計を設け、加速度から算出した速度の正負により前進、後進を判断することも考えられる。この方法は、判定要素が少ないため簡易に進行方向を判定することができる。
このような加速度計による場合、図１５（ａ）（ｂ）に示すように、加速度計のｚ軸が重力加速度の方向と一致するように、歩行支援装置が装着される場合には進行方向を精度良く判定することができる。
しかし、図１５（ｃ）（ｄ）に示すように歩行支援装置の装着状態によって加速度計が前後の何れかに傾いてしまう場合や、正しく取り付けた場合であっても歩行姿勢により傾いてしまう場合も存在する。
そして、加速度計が前傾状態となる場合には、図１５（ｃ）に示すように、重力加速度の影響により後方（−Ａｙ）への加速度を出力してしまうことになり、後進していると誤判定してしまう可能性がある。
同様に、後傾状態の場合には図１５（ｄ）に示すように、前方（＋Ａｙ）への加速度を出力し、前進との誤判定をしてしまう可能性がある。
このように、加速度計の出力による進行方向の判断は、装置の取付状態や歩行姿勢などに影響をうけてしまい、精度よく進行方向を判定することができないという問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１６３６０７号公報
【特許文献２】特開２００３−１１６８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで本発明は、遊脚が接地する前に精度良く進行方向を判定することを目的とする。
【課題を解決するための手段】
【０００８】
（１）請求項１に記載の発明では、立脚と遊脚を判断する状態判断手段と、前記判断した立脚の位置に応じて決まる所定の基準位置を、前記判断した遊脚が通過したことを判断する通過判断手段と、前記通過判断手段により、前記遊脚が前記立脚を通過したと判断した場合に、前記所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する進行方向判定手段と、を具備したことを特徴とする歩行装置を提供する。
（２）請求項２に記載の発明では、前記立脚の後方所定距離の位置を後方閾位置、前記立脚の前方所定距離の位置を前方閾位置とし、前記通過判断手段は、前記後方閾位置から前記前方閾位置の間の任意位置を前記所定の基準位置として、前記遊脚の通過を判断し、前記進行方向判定手段は、前記遊脚の通過を判断した所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する、ことを特徴とする請求項１に記載の歩行装置を提供する。
（３）請求項３に記載の発明では、前記後方閾位置となる前記立脚の後方所定距離は、両脚が共に立脚状態にある状態から前方に移動する場合に、遊脚が元の立脚位置から後方に移動する距離よりも大きく設定され、前記前方閾位置となる前記立脚の前方所定距離は、両脚が共に立脚状態にある状態から後方に移動する場合に、遊脚が元の立脚位置から前方に移動する距離よりも大きく設定されることを特徴とする請求項２に記載の歩行装置を提供する。
（４）請求項４に記載の発明では、前記立脚から、前記後方閾位置及び前方閾位置までの距離は、歩幅の１／２以下である、ことを特徴とする請求項２に記載の歩行装置を提供する。
（５）請求項５に記載の発明では、前記立脚の前記判定した進行方向の側において、前記立脚の歩行面と前記遊脚の足裏との高低差と、前記遊脚の足裏と当該足裏の下にある歩行面との高低差とを取得する高低差取得手段と、前記取得した高低差から、歩行面が平面か勾配を持つ面かを判断する歩行面判断手段と、前記判断した歩行面に応じて、前記立脚と前記遊脚の歩行動作を制御する制御手段と、を具備したことを特徴とする請求項１から請求項４のうちのいずれか１の請求項に記載の歩行装置を提供する。
（６）請求項６に記載の発明では、前記歩行装置は、当該歩行装置を装着した装着者の歩行を支援する装置であって、前記制御手段は、前記装着者の前記立脚と前記遊脚の動作をアシストするアクチュエータを制御することを特徴とする請求項１から請求項５のうちのいずれか１の請求項に記載の歩行装置を提供する。
（７）請求項７に記載の発明では、立脚と遊脚を判断する状態判断機能と、前記判断した立脚の位置に応じて決まる所定の基準位置を、前記判断した遊脚が通過したことを判断する通過判断機能と、前記通過判断機能により、前記遊脚が前記立脚を通過したと判断した場合に、前記所定の基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する進行方向判定機能と、をコンピュータに実現させることを特徴とする歩行プログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、立脚の位置に応じて決まる所定の基準位置を、遊脚が通過したことを判断した場合に、基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定するので、遊脚が接地する前に精度良く進行方向を判定することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の概要についての説明図である。
【図２】装着型ロボットの装着状態を示した図である。
【図３】装着型ロボットのシステム構成を示した図である。
【図４】進行方向判定処理の手順を説明するためのフローチャートの一部である。
【図５】進行方向判定処理の手順を説明するためのフローチャートの残りの一部である。
【図６】進行方向判定処理における立脚、遊脚、及び基準位置の位置関係についての説明図である。
【図７】段差種類判定を行うための判断要素を説明するための図である。
【図８】段差種類判定を行う手法を説明するための図である。
【図９】アシスト制御の処理手順を説明するためのフローチャートである。
【図１０】段差判定処理を説明するためのフローチャートである。
【図１１】処理Ａを説明するためのフローチャートである。
【図１２】処理Ｂを説明するためのフローチャートである。
【図１３】処理Ｃを説明するためのフローチャートである。
【図１４】処理Ｄを説明するためのフローチャートである。
【図１５】進行方向を加速度計で測定する場合の課題説明図である。
【発明を実施するための形態】
【００１１】
（１）実施形態の概要
本実施形態の歩行装置（装着型ロボット）では、図１（ａ）に示すように、進行方向をＹ軸にとり、プラス方向を前進、マイナス方向を後進とする。
そして、立脚と遊脚を判断し、遊脚の足関節位置（くるぶし位置）が立脚と交差（通過）したタイミングで、進行方向の判定を行う。このように、遊脚が接地する前に進行方向判定を行うので、アシスト制御の遅れを防止し、先行制御を行うことができる。
立脚を通過したか否かの判定基準となる通過基準位置としては、立脚の足関節位置であるが、立脚の膝関節位置や股関節位置とすることも可能である。
進行方向の判定は、立脚に対する遊脚の足関節位置のＹ方向の速度ベクトルが正か負かにより判定する。この場合、遊脚が立脚を通過した際の速度ベクトルが、基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量となる。
【００１２】
なお、直立状態（両脚共に立脚状態である場合）から歩行を開始する場合、最初の１歩となる遊脚が立脚と交差しないため、２歩目以降でないと進行方向が判定できなくなる。
そこで本実施形態では、図１（ｂ）に示すように、基準位置に閾値を設け、遊脚足関節位置が閾値外に出た際に進行方向を判定する。
すなわち、立脚から所定距離後方に後方閾位置Ｐ１、所定距離前方に前方閾位置Ｐ２のそれぞれを基準位置とし、遊脚の足関節位置が、後方閾位置Ｐ１又は前方閾位置Ｐ２を通過した場合に、Ｙ方向の速度ベクトルの正負から進行方向を判定する。
一方、両脚が立脚状態でない場合には、後方閾位置Ｐ１、前方閾位置Ｐ２の何れか一方又は双方を通過する際、又は、閾値を設けない場合の立脚の通過基準位置を通過する際に進行方向を判定する。
【００１３】
本実施形態では、後方閾位置Ｐ１と前方閾位置Ｐ２を立脚から所定距離後方と前方に決めている。
この場合の所定距離後方の基準となる立脚は、立脚の足関節位置（くるぶし位置）、膝関節位置、股関節位置のいずれでもよく、本実施形態では足関節位置が採用されている。
そして、立脚からの所定距離としては、両脚立脚状態から歩き始める際に、遊脚が進行方向と逆向きに移動する場合があるため、係る逆向きに移動する幅（統計値）よりもαだけ大きく設定した距離とする。例えば起立状態から右足を前に出して前進をする場合に、膝を曲げることで右足（遊脚）が僅かに後（即ち進行方向と逆の方向）に移動する場合があるので、この進行方向と逆の方向の幅を予め測定しておき、その最大値よりも僅かに（例えば、１ｃｍ〜数ｃｍ程度）大きな値を所定距離とする。
これにより、歩行開始時を含めて正確な進行方向判定を行うことができる。
【００１４】
なお、立脚からの所定距離としては、前後共に歩幅から決定してもよい。例えば、歩幅の１／２、１／３、１／４の何れかを所定距離とする。歩幅については、予め測定した平均的な歩幅Ｗが使用されるが、歩幅を測定し、最初の１歩又は数歩の間に対しては平均的な歩幅Ｗを使用し、その後については直前の歩幅やｎ歩の平均値を使用するようにしてもよい。
さらに、立脚からの所定距離として、足のサイズを使用するようにしてもよい。足のサイズは、平均的な値として２５ｃｍとしたり、男女別に別の値としたり、使用者（装着者）毎入に力された値を使用したりしてもよい。
【００１５】
進行方向の判定については、基準位置を通過した際のＹ方向の速度ベクトルによらずに、通過前後のＹ座標の位置関係から判定するようにしてもよい。例えば、通過前の座標値Ｙ１、通過後の座標値Ｙ２とした場合に、その差分Δ（＝Ｙ２−Ｙ１）の正負により判定するようにしてもよい。
さらに、起立状態からの歩行開始の場合以外は、後方閾位置Ｐ１と前方閾位置Ｐ２の両者を通過した際に進行方向を判定することとし、通過順から進行方向を判定するようにしてもよい。すなわち、後方閾位置Ｐ１→前方閾位置Ｐ２の順に通過した場合には前進、前方閾位置Ｐ２→後方閾位置Ｐ１の順に通過した場合には後進と判定する。
【００１６】
なお、起立状態からの第１歩目に対する進行方向までは判断しなくてよい場合には、上述した後方閾位置Ｐ１から前方閾位置Ｐ２までの間の任意位置に基準位置を設定し、この基準位置を遊脚が通過した際の、Ｙ方向の速度ベクトルや、通過前後の遊脚の位置関係（例えば、上述した差Δ）から進行方向を判定するようにしてもよい。
【００１７】
本実施形態では、立脚及び遊脚の位置を所定の周期ｔで取得する。
そして、１周期前の（ｔ０）において遊脚位置が後方閾位置Ｐ１よりも後方のｙｔ０にあり、周期ｔ１において前方閾位置Ｐ２よりも前方のｙｔ１にある場合には、基準位置を通過していると判断し、進行方向は前進であると判定する。この場合、両脚位置に対応した物理量は、両脚位置の差Δ（＝ｙｔ１−ｙｔ０）が正か負かであり、この場合差Δ＞０であるので、前進と判定される。
一方、１周期前の（ｔ０）において遊脚位置が前方閾位置Ｐ２よりも前方のｙｔ０にあり、周期ｔ１において後方閾位置Ｐ１よりも後方のｙｔ１にある場合には、基準位置を通過していると判断し、進行方向は後進であると判定する。この場合、両脚位置に対応した物理量は、両脚位置の差Δ（＝ｙｔ１−ｙｔ０）＜０であるので、後進と判定される。
さらに、遊脚位置が、周期前の（ｔ０）において後方閾位置Ｐ１と前方閾位置Ｐ２の間のｙｔ０にあり、周期ｔ１において、後方閾位置Ｐ１よりも後方のｙｔ１にあれば位置の差Δ＜０であるので後進と、また前方閾位置Ｐ２よりも前方のｙｔ１にあれば位置の差Δ＞０であるので前進と判定される。
【００１８】
（２）実施形態の詳細
以下本実施形態の歩行装置について、歩行支援装置として機能する装着型ロボット１を例に説明する。
図２は装着型ロボット１の装着状態を示した図である。
装着型ロボット１は、装着者の腰部及び下肢に装着し、装着者の歩行を支援（アシスト）するものである。
装着型ロボット１は、腰部装着部２１、上腿装着部２２、下腿装着部２３、足装着部２４、上腿連結部材２６、下腿連結部材２７、制御装置２、距離センサ９、つま先反力センサ１０、踵反力センサ１１、つま先姿勢センサ１２、踵姿勢センサ１３、腰姿勢センサ１４、上腿姿勢センサ１５、下腿姿勢センサ１６、股関節アシストアクチュエータ１７、膝関節アシストアクチュエータ１８、足首関節アシストアクチュエータ１９などを備えている。
なお、腰部装着部２１、制御装置２、腰姿勢センサ１４以外は、左右の両足に設けられており、それぞれの検出値が出力されるようになっている。
また、本実施の形態では、立脚の接地を検出すれば足りるので、つま先反力センサ１０、踵反力センサ１１の代わりにつま先接地センサ、踵接地センサを備えるようにしてもよい。
【００１９】
腰部装着部２１は、装着者の腰部の周囲に取り付けられ装着型ロボット１を固定する。
腰姿勢センサ１４は、腰部装着部２１に取り付けられ、ジャイロなどによって腰部の姿勢（ロール角、ヨー角、ピッチ角）を検出する。また、これらの角度を微分することにより、腰部の角速度や角加速度を求めることもできる。
【００２０】
制御装置２は、腰部装着部２１に取り付けられ、装着型ロボット１の動作を制御する。
本実施の形態では、制御装置２は、遊脚が着地する箇所の段差の種類を認識し、これに基づいてアシスト率（装着者の各関節に発生する関節モーメントを補助する割合）を変化させる。後述するように段差の種類は、「前進上り階段」、「前進下り階段」など６種類あり、アシスト率の変化は、例えば、平地では３０％のところを「前進上り階段」では５０％にする。
【００２１】
股関節アシストアクチュエータ１７は、装着者の股関節と同じ高さに設けられており、腰部装着部２１に対して上腿連結部材２６を前後方向に駆動する。なお、股関節アシストアクチュエータ１７を３軸アクチュエータとして横方向にも駆動するように構成することもできる。
【００２２】
上腿連結部材２６は、装着者の上腿部の外側に設けられた剛性を有する柱状部材であり、上腿装着部２２によって装着者の上腿部に固定される。そして、上腿連結部材２６は、股関節アシストアクチュエータ１７によって駆動し、上腿部の運動を支援する。
上腿装着部２２は、外側が上腿連結部材２６の内側に固定されており、内側が装着者の上腿に固定される。
上腿姿勢センサ１５は、上腿部の姿勢（ロール角、ヨー角、ピッチ角）を検出する。また、これらの角度を微分することにより、上腿部の角速度や角加速度を求めることもできる。
【００２３】
膝関節アシストアクチュエータ１８は、装着者の膝関節と同じ高さに設けられており、上腿連結部材２６に対して下腿連結部材２７を前後方向に運動させて装着者の下腿部の運動を支援する。
下腿連結部材２７は、装着者の下腿部の外側に設けられた剛性を有する柱状部材であり、下腿装着部２３によって装着者の下腿部に固定される。そして、下腿連結部材２７は、膝関節アシストアクチュエータ１８によって駆動し、下腿部の運動を支援する。
【００２４】
下腿装着部２３は、外側が下腿連結部材２７の内側に固定されており、内側が装着者の下腿に固定される。
下腿姿勢センサ１６は、下腿部の姿勢（ロール角、ヨー角、ピッチ角）を検出する。また、これらの角度を微分することにより、下腿部の角速度や角加速度を求めることもできる。
【００２５】
足首関節アシストアクチュエータ１９は、装着者の足首関節と同じ高さに設けられており、下腿連結部材２７に対して足装着部２４のつま先を上下する方向に駆動する。
足装着部２４は、装着者の足部（足の甲、及び足裏）に固定される。一般に、足指の付け根の関節は歩行の際に屈曲するが、足装着部２４も足指の付け根の部分が足指に従って屈曲するようになっている。
【００２６】
つま先姿勢センサ１２と踵姿勢センサ１３は、それぞれ、足装着部２４の先端と後端に設置され、それぞれ、つま先と踵の姿勢（ロール角、ヨー角、ピッチ角）を検出する。また、これらの角度を微分することにより、つま先や踵の角速度や角加速度を求めることもできる。
【００２７】
つま先反力センサ１０は、足装着部２４の足裏部前方に設置され、つま先の接地を検出すると共に、歩行面（床面）からの反力を検出する。
踵反力センサ１１は、足装着部２４の足裏部後方に設置され、踵の接地を検出すると共に、歩行面からの反力を検出する。
【００２８】
距離センサ９は、足装着部２４の足裏部に設置され、例えば、光や超音波などにより、足裏部から歩行面までの距離を検出する。
以上のように構成された装着型ロボット１は、股関節アシストアクチュエータ１７、膝関節アシストアクチュエータ１８、足首関節アシストアクチュエータ１９を駆動することにより、装着者の歩行を支援する。
【００２９】
図３は、装着型ロボット１のシステム構成を示した図である。
制御装置２は、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、時間を計測する手段としての時計、記憶部、各種インターフェースなどを備えた電子制御ユニットであり、装着型ロボット１の各部を電子制御する。
【００３０】
制御装置２は、また、ＣＰＵで記憶部に記憶された歩行支援プログラム等の各種プログラムを実行することにより構成される、センサ情報取得部３、各種パラメータ算出部４、進行方向判定部５、段差判定部６、歩行アシスト力決定部７を備えている。
センサ情報取得部３は、距離センサ９〜下腿姿勢センサ１６の各センサから検出値を取得する。センサ情報取得部３で取得した各センサの検出値は、両足の各関節角度の計算や段差有無判定、及び段差種類判定などに使用される。
【００３１】
各種パラメータ算出部４は、センサ情報取得部３で取得した検出値から、各関節の角度や各部の位置を求めることで立脚が接地している歩行面と遊脚の足裏部の高低差を計算したり（図７（ａ）のＨ１）、距離センサ９で検出した遊脚の足裏部からその下の歩行面までの高低差（同Ｈ２）とＨ１との差分から、足裏部の下にある段差（同Ｈ３）を算出したりする。
なお、本実施の形態では、上腿姿勢センサ１５や下腿姿勢センサ１６などの値から各関節の角度を算出するように構成したが、股関節、膝関節、足首関節にエンコーダなどの角度センサを設置し、関節角度を直接計測するようにしてもよい。
【００３２】
距離センサ９は、例えば、光や超音波などを用いて足裏部からその下方に存在する歩行面までの距離を計測する。歩行により足裏が傾いていた場合、各種パラメータ算出部４によって傾きが補正される。
【００３３】
進行方向判定部５は、センサ情報取得部３、各種パラメータ算出部４の値を用いて、所定周期ｔ毎に、進行方向が前進か後進かの進行方向判定を行う。
進行方向判定では、両脚の状態（遊脚か立脚か）及び、立脚を原点とする遊脚の位置（Ｙ座標位置）及び、所定周期の前後（ｔ０とｔ１間）において、遊脚が基準位置（後方閾位置Ｐ１、前方閾位置Ｐ２）を通過したか否かの判定などに基づいて、進行方向が判定される。
【００３４】
段差判定部６は、センサ情報取得部３、各種パラメータ算出部４の値を用いて遊脚の下にある歩行面の段差を判定する。
段差の判定には、段差の有無を判断する段差有無判定と段差の種類を判定する段差種類判定がある。
段差判定部６が目的とする判定は段差種類判定であり、段差判定部６は、段差有無判定を行いながら最終的に段差種類判定を行う。段差種類には、前進平地、後進平地、前進上り階段、後進上り階段、前進下り階段、後進下り階段の６種類がある。
【００３５】
歩行アシスト力決定部７は、左右両足のそれぞれに配置されている股関節アシストアクチュエータ１７、膝関節アシストアクチュエータ１８、足首関節アシストアクチュエータ１９に出力させるアシスト力を決定し、これに従ってこれらアシストアクチュエータを駆動する。なお、アシスト力とは、装着型ロボット１がアシストアクチュエータを駆動して脚部に作用させるモーメント（トルク）である。
また、歩行アシスト力決定部７は、段差判定部６による段差種類判定に従ってアシスト率を変化させる。
【００３６】
以上のように構成された本実施形態における装着型ロボット１の動作について説明する。
図４、５は進行方向判定処理の内容を表したフローチャートであり、図６は進行方向判定処理における立脚、遊脚、及び基準位置（後方閾位置Ｐ１、前方閾位置Ｐ２）の位置関係を表したものである。
図４、５に示した進行方向判定処理は、周期ｔの単位で実行され、現在の周期をｔ１とし、その１周期前をｔ０とし、ｔ０が存在しない場合には仮のｔ０のデータとして両脚立脚とする。
【００３７】
立脚と遊脚の判断については、制御装置２（進行方向判定部５）が床反力に基づいて行う。すなわち、床反力Ｆが所定の閾値以上である場合、その足を立脚と判断し、所定の閾値未満の場合、その足を遊脚と判断する。床反力は、一例としてつま先反力センサ１０、踵反力センサ１１によって計測された反力の垂直成分の合計とする。
また立脚に対する遊脚のＹ方向の位置については、上腿連結部材２６、下腿連結部材２７の長さ及び、股関節アシストアクチュエータ１７、膝関節アシストアクチュエータ１８、足首関節アシストアクチュエータ１９による、各関節の角度から算出される。
但し、図４で説明するフローチャートでは、進行方向判定部５がこれらの判断や算出を行うが、各種パラメータ算出部４が行い、進行方向判定部５に提供するようにしてもよい。
【００３８】
図４に示すように、制御装置２（進行方向判定部５）は、現在の周期ｔ１において、センサ情報をセンサ情報取得部３から取得する（ステップ４００）。
次に進行方向判定部５は、ステップ４０１からステップ４０７により、両脚について立脚か遊脚か否かの判断を行う。
すなわち、進行方向判定部５は、１つ前の制御周期ｔ０における両脚が共に立脚であったか否かを判断する（ステップ４０１）。
両脚が立脚であった場合（ステップ４０１；Ｙ）、進行方向判定部５は、「右床反力が閾値未満」でかつ「左床反力が閾値以上」であれば（ステップ４０２；Ｙ）、右脚を遊脚、左足を立脚と判断する（ステップ４０３）。
【００３９】
一方、「右床反力が閾値未満」でかつ「左床反力が閾値以上」でなく（ステップ４０２；Ｎ）、「左床反力が閾値未満」でかつ「右床反力が閾値以上」であれば（ステップ４０４；Ｙ）、進行方向判定部５は、左脚を遊脚、右足を立脚と判断する（ステップ４０５）。
【００４０】
ステップ４０１において、周期ｔ０での両脚が立脚ではない場合（ステップ４０１；Ｎ）、進行方向判定部５は、ｔ０において遊脚であった側の脚の床反力が、現在の周期ｔ１において、閾値以上であるか否かを判断する（ステップ４０６）。これは遊脚から立脚への移行時点を判断するものである。
遊脚側の床反力が閾値以上である場合（ステップ４０６；Ｙ）、及び、両脚の床反力が閾値未満である場合（ステップ４０４；Ｎ）、進行方向判定部５は、両脚立脚と判断し（ステップ４０７）、現在の周期ｔ１における進行方向判定を終了する。
【００４１】
現在の周期ｔ１において何れか一方が立脚で他方が遊脚と判断された場合（ステップ４０３、４０５、４０６；Ｎ）、次に進行方向判定部５は、１周期前ｔ０における、立脚に対する遊脚の位置関係を判断する（ステップ４０８、４０９）。
すなわち、進行方向判定部５は、立脚に対する遊脚の足関節位置（周期ｔ０）が、立脚を原点としてＹ座標方向の後方閾位置Ｐ１以下であったか否か、すなわち、遊脚が後方閾位置Ｐ１よりも後方であったか否かを判断する（ステップ４０８）。
遊脚が後方閾値Ｐ１よりも後方ではなかった場合（ステップ４０８；Ｎ）、進行方向判定部５は、立脚に対する遊脚の脚関節位置（周期ｔ０）が、立脚を原点としてＹ座標方向の前方閾位置Ｐ２以上であったか否か、すなわち、遊脚が前方閾位置Ｐ２よりも前方であったか否かを判断する（ステップ４０９）。
【００４２】
図６のＡ−１欄に示されるように、周期ｔ０において遊脚が後方閾位置Ｐ１よりも後方であった場合（ステップ４０８；Ｙ）、進行方向判定部５は、制御周期ｔ１における、立脚に対する遊脚の足関節位置のＹ座標がＹ座標正方向の前方閾位置Ｐ２以上であるか否か判断する（ステップ４１０）。
この判断において進行方向判定部５は、図６のＡ−２欄に示されるように、周期ｔ１における遊脚が前方閾位置Ｐ２より前方にあれば（ステップ４１０；Ｙ）、ステップ４１３に移行し、前方に無ければ（ステップ４１０；Ｎ）、現周期ｔ１の進行方向判定を終了する。
【００４３】
一方、図６のＢ−１欄に示されるように、周期ｔ０において遊脚が前方閾位置Ｐ２よりも前方であった場合（ステップ４０９；Ｙ）、進行方向判定部５は、制御周期ｔ１における、立脚に対する遊脚の足関節位置のＹ座標がＹ座標負方向の後方閾位置Ｐ１以下であるか否か判断する（ステップ４１１）。
この判断において進行方向判定部５は、図６のＢ−２欄に示されるように、周期ｔ１における遊脚が後方閾位置Ｐ１より後方にあれば（ステップ４１１；Ｙ）、ステップ４１３に移行し、後方に無ければ（ステップ４１１；Ｎ）、現周期ｔ１の進行方向判定を終了する。
【００４４】
また、図６のＣ−１欄に示されるように、周期ｔ０において遊脚が後方閾位置Ｐ１と前方閾位置Ｐ２の間にあった場合（ステップ４０９；Ｎ）、進行方向判定部５は、制御周期ｔ１における、立脚に対する遊脚の足関節位置のＹ座標が、Ｙ座標正方向の前方閾位置Ｐ２以上であるか、又は、Ｙ座標負方向の後方閾位置Ｐ１以下であるか否か判断する（ステップ４１２）。
なお、図６のＣ−１欄に示すように、周期ｔ０において遊脚が後方閾位置Ｐ１と前方閾位置Ｐ２の間に存在する場合としては、周期ｔ０において両脚が共に立脚であった場合だけでなく、周期ｔ０における進行方向判定処理において遊脚が前方閾位置Ｐ２より前方に無いと判断された場合（ステップ４１０；Ｎ）、及び、遊脚が後方閾位置Ｐ１より後方に無いと判断された場合（ステップ４１１；Ｎ）、が該当する。
この判断において進行方向判定部５は、図６のＣ−２欄に示されるように、周期ｔ１における遊脚が後方閾位置Ｐ１より後方にあるか、又は前方閾位置Ｐ２よりも前方にあれば（ステップ４１２；Ｙ）、ステップ４１３に移行する。一方、いずれにも該当しない場合、すなわち、周期ｔ１において遊脚が後方閾位置Ｐ１と前方閾位置Ｐ２の間にある（図６Ｃ−１の状態）場合（ステップ４１２；Ｎ）、進行方向判定部５は、現周期ｔ１の進行方向判定を終了する。
【００４５】
進行方向判定部５は、ステップ４１３において、周期ｔ１における、立脚に対する遊脚の足関節位置速度ベクトルが正か否かを判定する。この足関節位置速度ベクトルは、周期ｔ１における遊脚の足関節位置座標Ｙ１、周期ｔ０における遊脚の足関節位置座標Ｙ０との位置関係から求める。
そして、進行方向判定部５は、速度ベクトルが正である場合（ステップ４１３；Ｙ）に進行方向が前進であると判定（ステップ４１４）、速度ベクトルが負である場合（ステップ４１３；Ｎ）に進行方向が後進であると判定し（ステップ４１５）、周期ｔ１における進行方向判定処理を終了する。
【００４６】
装着型ロボット１の制御装置は、進行方向判定処理で判定した進行方向を使用して、歩行状態（歩行面の状態や脚の状態）に応じて歩行のアシストを行う。
例えば、各関節に必要な関節モーメントのＮ％（例えば、５０％）を各関節アクチュエータ１７、１８、１９でアシストすることを基準アシスト率とした場合、歩行状態に応じて次のようにアシスト率を変更することができる。
すなわち、進行方向が前進である場合、立脚を原点とするＹ軸に対して、遊脚の座標位置が負であれば基準アシスト率とし、正であればアシスト率をＮ＋αに変更する。
一方、進行方向が後進である場合、遊脚の座標位置が正であれば基準アシスト率とし、負であればアシスト率をＮ＋βに変更する。βはαと同じでも異なるようにしてもよい。
【００４７】
そして、歩行面が平地か、勾配を持つ面か（場合によっては更に上りか下りか）に応じて、上記のα、βの値を更に変更することで、より歩行状況に合ったアシストを行うことが可能になる。
【００４８】
次に、進行方向を考慮した実際の制御について、勾配を持つ面としての段差の有無と段差の種類を判定しながらアシストを行う場合について説明する。
図７の各図は、制御装置２が段差種類判定を行うための判断要素を説明するための図である。
ここでは、図７（ａ）に示したように、一例として装着者が進行方向に前進しながら上り階段を上る場合について説明する。
制御装置２は、段差種類判定を行うために、（１）装着者の前進後退の取得、（２）立脚と遊脚の判断、（３）進行方向に対する立脚と遊脚の相対位置の判断、（４）遊脚の足裏部の下方にある段差の判断、を行う。以下、これらの判断について説明する。
【００４９】
（１）「装着者の前進後退の取得」
制御装置２（段差判定部６）は、進行方向判定処理において判定した進行方向（前進又は後進）を取得する。
（２）「立脚と遊脚の判断」
制御装置２（段差判定部６）は、床反力Ｆが所定の閾値以上である場合、その足を立脚と判断し、所定の閾値未満の場合、その足を遊脚と判断する。床反力は、一例として、図７（ｂ）に示したようにつま先反力センサ１０、踵反力センサ１１によって計測された反力の垂直成分の合計とする。
【００５０】
（３）「進行方向に対する立脚と遊脚の相対位置の判断」
制御装置２（段差判定部６）は、各種パラメータ算出部４によって算出された各関節角度などを用いて、遊脚３２が立脚３１の進行方向３６前方にあるか、あるいは、後方にあるかなどを判断する。
（４）「遊脚の足裏部の下方にある段差の判断」
段差判定部６は、各種パラメータ算出部４から段差の高さＨ３を取得し、次のようにして、段差の有無、上り段差、下り段差の区別を判断する。
段差判定部６は、Ｈ３の絶対値が所定の閾値未満の場合は「段差無し」と判断し、当該所定の閾値以上の場合は「段差あり」と判断する。また、「段差あり」の場合であって、Ｈ３が正の場合は「上り段差」と判断し、負の場合は、「下り段差」と判断する。
【００５１】
一方、各種パラメータ算出部４は、次のようにして段差の高さＨ３を算出する。
各種パラメータ算出部４は、図７（ｃ）に示したように、距離センサ９の検出値により遊脚３２の足裏部３３の直下（垂直下方）にある歩行面から足裏部３３までの高さＨ２を取得する。
また、各種パラメータ算出部４は、立脚３１と遊脚３２の各関節の角度と上腿連結部材２６、下腿連結部材２７（図示せず）の長さなどを用いて、立脚３１の接地面に対する遊脚３２の足裏部３３の高さＨ１を計算する。
そして、各種パラメータ算出部４は、段差（の高さ）Ｈ３をＨ３＝Ｈ１−Ｈ２により計算する。上り階段の場合、Ｈ３は正となり、下り階段の場合、Ｈ３は負となる。このため、段差判定部６は、Ｈ３により段差の高さと上り・下りの区別を取得することができる。
【００５２】
図８の各図は、段差種類判定を行う手法を説明するための図である。
段差種類判定は、主として遊脚足下（遊脚の足裏部の直下）の段差の状態によってなされるが、誤判定を回避するために進行方向に対する立脚と遊脚の位置関係も併せて行われる。
立脚と遊脚の位置関係を用いないと、例えば、図８（ａ）に示したように、遊脚３２が歩行面から離れた直後では、立脚３１の接地面よりも足裏部３３の直下の歩行面が低いため、上り階段であるにもかかわらず下り階段と誤判定されてしまう。
【００５３】
段差判定部６は、進行方向に対する立脚と遊脚の位置関係を認識するために、歩行周期を、遊脚３２が歩行面を離れてからまだ足裏部３３が当該歩行面の上方にある第１の期間（図８（ａ））、遊脚３２の足裏部３３直下が立脚３１の歩行面の上にあり（即ち、遊脚足下に段差の無い状態）、まだ遊脚３２が立脚３１を進行方向３６の側に通過していない第２の期間、遊脚３２の足裏部３３の直下が立脚３１の歩行面の上にあり、遊脚３２が立脚３１を進行方向３６の側に通過してからの第３の期間（図８（ｂ））、に分ける。
【００５４】
第１の期間は、遊脚３２が歩行面を離れてから未だ足裏部３３の直下に段差Ｈ３があることが検出され続けていることにより判断することができ、第２の期間と第３の期間は、遊脚足下に段差Ｈ３が無いこと、及び、各関節の角度から立脚３１と遊脚３２の位置関係を計算することにより判断することができる。
【００５５】
段差判定部６は、このようにして遊脚３２の動きを追跡した後、第３の期間で段差Ｈ３が検出された場合（図８（ｃ））、Ｈ３の符号に従って「上り階段」、又は「下り階段」と判定する。
また、段差判定部６は、第３の期間で段差Ｈ３（＞閾値）が検出される前に両足が接地して両足が共に立脚３１となった場合（図８（ｄ））、「平地」と判定する。
そして、段差判定部６は、装着者の前方と進行方向３６が同じ場合は前進と判定し、逆の場合は後進と判定する。
段差判定部６は、以上を合わせて「前進平地」、「後進平地」、「前進上り階段」、「後進上り階段」、「前進下り階段」、「後進下り階段」を判定する。
【００５６】
このように、装着型ロボット１は、歩行の際には、必ず一旦遊脚足下に段差が無い状態になること、及び、立脚と遊脚の進行方向に沿った相対位置に着目し、遊脚が立脚を進行方向に通過した後に、アシスト率に影響する段差（図８（ｃ））と影響しない段差（図８（ｄ））を区別した。
【００５７】
以上の判断をコンピュータで行う場合、次の（１）〜（５）の各項目の組合せによって行うことができる。
（１）遊脚の有無
（２）進行方向（前進、後進）
（３）１制御周期前又は初期値での遊脚足下の段差の有無
（４）遊脚足下の段差の状態
（５）遊脚足下に段差の無い状態を経たか
（６）遊脚の位置が立脚に対して進行方向か
【００５８】
例えば、図８（ａ）（第１の期間）の場合は、
（１）→片足遊脚、
（２）→前方（前進）、
（４）→下り段差、
（５）→経てない、
（６）→進行方向でない、との５項目により判断できる。
【００５９】
図８（ｂ）（第３の期間）の場合は、
（１）→片足遊脚、
（２）→前方、
（４）→段差無し、
（６）→経た、との４項目により判断できる。
【００６０】
ちなみに、第２の期間は、
（１）→片足遊脚、
（２）→前方、
（４）→段差無し、
（６）→経てない、との４項目となる。
【００６１】
また、第２の期間と第３の期間を区別しない場合は、
（１）→片足遊脚、
（２）→前方、
（４）→段差無し、との４項目により判断できる。
【００６２】
図８（ｃ）の場合は、
（１）→片足遊脚、
（２）→前方、
（４）→上り段差、
（５）→経た、
（６）→進行方向である、との５項目により「前進上り段差」と判定される。
【００６３】
図８（ｄ）の場合は、
（１）→両足接地、
（２）→前方、
（３）→無し、との３項目により「前進平地」と判定される。
【００６４】
このように、平地については、１つ前の制御周期（例えば、１ｍｓｅｃ程度）、又は初期状態（遊脚が歩行面から離れたとき）で遊脚足下に段差が無いと判断され、かつ遊脚が接地した場合に平地と判定を出す。
なお、この段差を判定する場合についての制御周期はＴであるが、進行方向判定を行う場合の周期ｔと異なる周期としても、同じ周期としてもよく、同一周期の場合には、位相を替えても良く、位相も同じにするようにしてもよい。
【００６５】
図９は、制御装置２が行うアシスト制御の処理手順を説明するためのフローチャートである。
この処理は、制御装置２の備えたＣＰＵが所定のプログラムに従って行うものである。
まず、制御装置２（段差判定部６）は、現在の制御周期Ｔにおいて得られた各データを用いて段差判定処理を行う（ステップ５）。
次に、制御装置２（歩行アシスト力決定部７）は、段差判定処理の判定結果に基づいてアシスト率を設定し（ステップ１０）、当該アシスト率にて各アクチュエータにアシスト力を出力させる（ステップ１５）。
【００６６】
次に、制御装置２は、アシストを継続するか否かを判断する（ステップ２０）。これは、例えば、装着者のスイッチ操作によりアシスト機能がオンされているか、オフにされているかを検出することにより行われる。
アシストを継続しない場合（ステップ２０；Ｎ）、制御装置２は、アシスト動作を終了する。
アシストを継続する場合（ステップ２０；Ｙ）、制御装置２は、次の制御周期（Ｔ＝Ｔ＋１）に移行して（ステップ２５）、ステップ５に戻る。
【００６７】
図１０は、ステップ５の段差判定処理を説明するためのフローチャートである。
以下の処理は、制御装置２の段差判定部６が行うものである。
まず、段差判定部６は、現在の制御周期Ｔにおける各種データを取得する（ステップ３０）。これらデータは、センサ情報取得部３が取得した各センサ値や各種パラメータ算出部４が算出した各関節角度や段差（Ｈ３）などである。
【００６８】
次に、段差判定部６は、腰姿勢センサ１４の加速度により装着者の進行方向を判断する（ステップ３５）。
次に、段差判定部６は、１つ前の制御周期（Ｔ−１）において、両足が立脚であったか否か（即ち、両足が接地していたか）を判断する（ステップ４０）。制御装置２は、前回の制御周期における処理内容をＲＡＭなど記憶部に記憶しており、これを用いる。
両足が立脚であった場合（ステップ４０；Ｙ）、段差判定部６は、処理Ａを行い（ステップ４５）、メインルーチン（図９のフローチャート）にリターン（復帰）する。以下、単にリターンすると記す。
【００６９】
処理Ａは、現在の制御周期Ｔにおける「両足立脚判断」、「遊脚判断」、「遊脚足下の段差有無判断」を行うものである。
「両足立脚判断」は両足が依然接地しているかについての判断である。
「遊脚判断」は、歩き始めた場合、どちらの足が遊脚かについての判断である。
「遊脚足下の段差有無判断」は、歩き始めた遊脚の足下が段差であるかについての判断である。
即ち、処理Ａは、歩行開始を検知すると共に第１の期間であることを監視する処理である。
【００７０】
一方、１制御周期前に、両足のうち一方が立脚でなかった場合（ステップ４０；Ｎ）、段差判定部６は、条件１が満たされるか否かを判断する（ステップ５５）。
条件１は、「遊脚開始から制御周期（Ｔ−１）までの間、段差種類判定を行っていない」ことである。
段差判定部６は、段差種類判定が行えるタイミングまで、段差種類判定を保留しながらメインルーチンのループ処理を巡回する。そして、条件１は、遊脚開始から前回の制御周期までの間、段差種類判定が保留されてきたかを問うものである。
【００７１】
条件１が満たされない場合（ステップ５５；Ｎ）、即ち、遊脚開始から前回の制御周期までに段差種類判定を行った場合、段差判定部６は、処理Ｄを行って（ステップ７５）、リターンする。
処理Ｄは、段差種類判定後に遊脚が接地して立脚になるのを監視する処理である。
【００７２】
条件１が満たされている場合（ステップ５５；Ｙ）、即ち、遊脚開始から前回の制御周期までに段差種類判定を行っていない場合、段差判定部６は、更に、条件２が満たされているか否かを判断する（ステップ６０）。
条件２は、遊脚開始から前回の制御周期（Ｔ−１）までの間、「「遊脚足下に段差がある」が継続」、又は、「遊脚足下に段差は無いが遊脚足位置が立脚足位置に対して進行方向の後ろ側にある」ことである。
【００７３】
ここで、「「遊脚足下に段差がある」が継続」とは、第１の期間が満たす条件であり、「遊脚足下に段差は無いが遊脚足位置が立脚足位置に対して進行方向の後ろ側にある」とは、第２の期間が満たす条件である。
即ち、条件２は、前回の制御周期までが第１又は第２の期間であるか、あるいはそうでない（即ち、第３の期間である）かを問うものである。
【００７４】
条件２が満たされる場合（ステップ６０；Ｙ）、即ち、前回の制御周期までが第１の期間、又は第２の期間であった場合、段差判定部６は、処理Ｂを行って（ステップ６５）、リターンする。
処理Ｂは、現在の制御周期Ｔにおいて、「遊脚足下の段差有無の判断」及び、「遊脚足下に段差が無い状態における遊脚足位置が立脚足位置に対して進行方向前側にあるかの判断」を行うものである。
【００７５】
ここで、「遊脚足下の段差有無の判断」は、現在の制御周期Ｔで第１の期間から第２の期間に移行したかを判断する処理であり、「遊脚足下に段差が無い状態における遊脚足位置が立脚足位置に対して進行方向前側にあるかの判断」は、現在の制御周期Ｔで第２の期間から第３の期間に移行したかを判断する処理である。
【００７６】
一方、条件２が満たされていない場合（ステップ６０；Ｎ）、即ち、前回の制御周期で第２の期間から第３の期間に移行したと判断された場合、段差判定部６は、処理Ｃを行って（ステップ７０）、リターンする。
処理Ｃは、現在の制御周期Ｔにおいて、「平地の段差判定」、「階段の段差判定」、「段差種類判定の保留」を行うものである。
【００７７】
ここで、「平地の段差判定」は、段差種類判定のうち、「前進平地」と「後進平地」の各判定を行い、「階段の段差判定」は、段差種類判定のうち、「前進上り段差」、「後進上り段差」、「前進下り段差」、「後進下り段差」の各判定を行うものである。このように、処理Ｃでは、「平地の段差判定」と「階段の段差判定」によって段差種類判定を行うか、又は、これを保留する。
【００７８】
図１１は、ステップ４５の処理Ａを説明するためのフローチャートである。
まず、段差判定部６は、「右足の床反力が閾値未満」であり、かつ、「左足の床反力が閾値以上である」か否かを判断する（ステップ８０）。
右足の床反力が閾値未満であり、かつ、左足の床反力が閾値以上であった場合（ステップ８０；Ｙ）、段差判定部６は、右足を遊脚、左足を立脚と判断する（ステップ８５）。
【００７９】
次に、段差判定部６は、遊脚足下に段差があるか否かを判断する（ステップ９０）。
遊脚足下に段差がある場合（ステップ９０；Ｙ）、段差判定部６は、「遊脚足下に段差がある」と判断し（ステップ９５）、リターンする。これは現在が第１の期間であることを意味する。
一方、遊脚足下に段差が無い場合（ステップ９０；Ｎ）、段差判定部６は、「遊脚足下に段差が無い」と判断し（ステップ１００）、リターンする。これは現在が第２の期間であることを意味する。
【００８０】
一方、「右足の床反力が閾値未満」、「左足の床反力が閾値以上である」との条件のうち、少なくとも一方が満たされない場合（ステップ８０；Ｎ）、段差判定部６は、「左足の床反力が閾値未満」であり、かつ、「右足の床反力が閾値以上である」か否かを判断する（ステップ１０５）。
「左足の床反力が閾値未満」であり、かつ、「右足の床反力が閾値以上である」場合（ステップ１０５；Ｙ）、段差判定部６は、左足を遊脚、右足を立脚と判断し（ステップ１１０）、ステップ９０に移行する。
【００８１】
一方、「左足の床反力が閾値未満」、「右足の床反力が閾値以上である」との条件のうち、少なくとも一方が満たされない場合（ステップ１０５；Ｎ）、段差判定部６は、両足立脚と判断し（ステップ１１５）、リターンする。
【００８２】
図１２は、ステップ６５の処理Ｂを説明するためのフローチャートである。
まず、段差判定部６は、遊脚側の床反力が閾値以上か否かを判断する（ステップ１２０）。
遊脚側の床反力が閾値以上であった場合（ステップ１２０；Ｙ）、段差判定部６は、両足立脚と判断し（ステップ１２５）、リターンする。
一方、遊脚側の床反力が閾値以上でなかった場合（ステップ１２０；Ｎ）、段差判定部６は、遊脚足下に段差があるか否かを判断する（ステップ１３０）。これは、現在が第１の期間であることを判断するものである。
【００８３】
遊脚足下に段差があった場合（ステップ１３０；Ｙ）、段差判定部６は、「遊脚足下に段差がある」（即ち、第１の期間である）と判断し（ステップ１３５）、リターンする。
一方、遊脚足下に段差が無かった場合（ステップ１３０；Ｎ）、段差判定部６は、更に、遊脚足位置が立脚足位置に対して進行方向前側にあるか否かを判断する（ステップ１４０）。これは、現在が第２の期間か第３の期間か判断するものである。
【００８４】
遊脚足位置が立脚足位置に対して進行方向前側にある場合（ステップ１４０；Ｙ）、段差判定部６は、「遊脚足下に段差は無い」かつ、「遊脚足位置が立脚足位置に対して進行方向前側にある」と判断する（ステップ１４５）。これは、現在が第３の期間であると判断したものである。
【００８５】
一方、遊脚足位置が立脚足位置に対して進行方向前側に無い場合（ステップ１４０；Ｎ）、段差判定部６は、「遊脚足下に段差は無い」かつ、「遊脚足位置が立脚足位置に対して進行方向後側にある」と判断する（ステップ１５０）。これは、現在が第２の期間であると判断したものである。
【００８６】
図１３は、ステップ７０の処理Ｃを説明するためのフローチャートである。
まず、段差判定部６は、遊脚側の床反力が閾値以上か否かを判断する（ステップ１５５）。
遊脚側の床反力が閾値以上の場合（ステップ１５５；Ｙ）、段差判定部６は、両足立脚と判断し（ステップ１６０）、更に、進行方向が装着者の前側であるか否かを判断する（ステップ１６５）。
段差判定部６は、進行方向が前方の場合（ステップ１６５；Ｙ）には「前進平地」と判断し（ステップ１７０）、進行方向が前方でない場合（ステップ１６５；Ｎ）には「後進平地」と判断し（ステップ１７５）、リターンする。
【００８７】
一方、遊脚側の床反力が閾値以上でない場合（ステップ１５５；Ｎ）、段差判定部６は、更に、遊脚足下に段差が無いか否かを判断する（ステップ１８０）。
遊脚足下に段差が無い場合（ステップ１８０；Ｙ）、段差判定部６は、「遊脚足下に段差が無い」と判断し、段差種類の判定を保留する（ステップ１８５）。
【００８８】
また、遊脚足下に段差がある場合（ステップ１８０；Ｎ）、段差判定部６は、遊脚足下に上り段差があるか否かを判断する（ステップ１９０）。
遊脚足下に上り階段がある場合（ステップ１９０；Ｙ）、段差判定部６は、更に進行方向が前方か否かを判断する（ステップ１９５）。
【００８９】
進行方向が前方である場合（ステップ１９５；Ｙ）、段差判定部６は、「前進上り階段」と段差種類判定を行い（ステップ２００）、リターンする。
一方、進行方向が後方である場合（ステップ１９５；Ｎ）、段差判定部６は、「後進上り階段」と段差種類判定を行い（ステップ２０５）、リターンする。
【００９０】
また、遊脚足下に上り階段が無い場合（ステップ１９０；Ｎ）、段差判定部６は、更に進行方向が前方か否かを判断する（ステップ２１０）。
進行方向が前方である場合（ステップ２１０；Ｙ）、段差判定部６は、「前進下り階段」と段差種類判定を行い（ステップ２１５）、リターンする。
一方、進行方向が後方である場合（ステップ２１０；Ｎ）、段差判定部６は、「後進下り階段」と段差種類判定を行い（ステップ２２０）、リターンする。
以上のようにして、段差判定部６は、「前進平地」、「後進平地」、「前進上り階段」、「後進上り階段」、「前進下り階段」、「後進下り階段」の６パターンを判定することができる。
【００９１】
図１４は、ステップ７５の処理Ｄを説明するためのフローチャートである。
まず、段差判定部６は、遊脚側の床反力が閾値以上であるか否かを判断する（ステップ２２５）。
遊脚側の床反力が閾値以上である場合（ステップ２２５；Ｙ）、段差判定部６は、「両足立脚」と判断し（ステップ２３０）、リターンする。
遊脚側の床反力が閾値以上でない場合（ステップ２２５；Ｎ）、段差判定部６は、遊脚足下に段差があると判断し（ステップ２３５）、リターンする。
【００９２】
以上に説明した実施の形態により、次のような効果を得ることができる。
（１）装着型ロボット１は、進行方向を判定することで、進行方向に応じた適切なアシストを行うことができる。
（２）遊脚が接地する前に進行方向の判定を行うので、制御遅れを回避することが可能になる。
（３）立脚の位置に応じて決まる所定の基準位置を、遊脚が通過したか否かの判定を行う場合において、立脚に対して後方閾位置Ｐ１から前方閾位置Ｐ２までの閾値を設けたので、直立状態からの１歩目に対しても、遊脚が着地する前に進行方向判定を行うことができる。
（４）立脚に対する後方閾位置Ｐ１と前方閾位置Ｐ２を、遊脚が進行方向と逆方向に移動する場合の最大値よりも僅かに大きく設定するので、歩行開始時などにおいても遊脚の逆移動による進行方向の誤判定を回避することができる。
【００９３】
（５）装着型ロボット１は、遊脚足下の段差を認識するため、早い段階からアシスト制御に当該認識を反映させることができる。そのため、アシストの効率がよくなり快適な歩行アシストが実現できる。
（６）装着型ロボット１は、遊脚足下の段差の検出のほか、立脚に対する遊脚の状態を認識して、これと併せて段差種類判定をするため、誤判定を防ぐことができる。
（７）装着型ロボット１は、進行方向の判断、立脚と遊脚の相対位置、遊脚足下の段差の有無などを総合的に判断することにより、踏み台昇降などの複雑な動作をアシストすることもできる。
【００９４】
以上説明した本実施の形態では、装着者の歩行を支援する装着型ロボット１で進行方向判定や段差種類判定を行ったが、この判定手法は、装着型ロボット１に限定するものではなく、例えば、自律（自立）型の２足歩行ロボット、更に、多足の歩行ロボットに適用することが可能である。
【００９５】
また説明した実施形態では、歩行面が勾配を持つ面か否かの判定として、段差（階段）の有無と種類について段差判定部６で判定するが、勾配を持つ面が斜面か階段かの判断も行うようにしてもよい。
この場合、Ｈ１とＨ２の差が所定の閾値以上である場合に勾配を持つ面と判断する。この判断は、遊脚を接地する前においても判断可能であると共に、遊脚の間は坂道か階段かにかかわらず同一のアシストでよいことから、遊脚が着地する前においては、坂道か階段かに関係無く同一のアシストとすることができる。
一方、遊脚が着地した場合、着地した際の足関節（くるぶし部分の関節）の角度から斜面か、階段かを判断し、着地によって立脚となった脚に対して坂道か階段かにより異なる制御をするようにする。但し、着地後に平地に対するアシストを坂道用又は階段用のアシストに変更するのでは制御遅れが発生するため、勾配を持つ面であると判定した時点で、坂道用のアシストと階段用のアシストの両者を準備しておき、着地と同時に対応するアシストを選択することで制御遅れを防止してもよい。
なお、Ｈ１とＨ２の差の値により、勾配が異なるため、勾配に応じてアシスト力となるように制御することも可能である。
【００９６】
また図４、５で説明した進行方向判定処理では、ステップ４１３において、遊脚の足関節位置速度ベクトルの正負により、進行方向を判定する場合について説明したが、周期ｔ１における遊脚の足関節位置座標Ｙ１、周期ｔ０における遊脚の足関節位置座標Ｙ０との位置関係から求めるようにしてもよい。
すなわち、ステップ４１３において、両座標位置の差分Δ（＝Ｙ１−Ｙ０）が正であれば進行方向が前進であると判定し、差分Δが負であれば進行方向が後進であると判定する。
【００９７】
更に、進行方向判定処理におけるステップ４１３自体の判断を省略するようにしてもよい。
すなわち、ステップ４１０；Ｙの場合には前進と、ステップ４１１；Ｙの場合には後進と判定する。
一方、ステップ４１２；Ｙの場合、周期ｔ０において遊脚が通過した基準位置を判断し、前方閾位置Ｐ２を通過していれば進行方向が前進と判定し、後方閾位置Ｐ１を通過していれば進行方向が後進と判定する。
【００９８】
説明した実施形態では、立脚を基準にした閾値の範囲（後方閾位置Ｐ１から前方閾位置Ｐ２の範囲）を設け、直前の周期ｔ０における遊脚の位置と両閾位置Ｐ（後方閾位置Ｐ１又は前方閾位置Ｐ２）との位置関係、及び、現在の周期ｔ１における遊脚と両閾位置Ｐとの位置関係から、次のように、進行方向を決定する場合について説明した。
（ａ）直前周期ｔ０に後方閾位置Ｐ１より後方に位置した遊脚が、現在の周期ｔ１において前方閾位置Ｐ２より前方に位置している場合に、前進と判定する。
（ｂ）直前周期ｔ０に前方閾位置Ｐ２より前方に位置した遊脚が、現在の周期ｔ１において後方閾位置Ｐ１より後方に位置している場合に、後進と判定する。
（ｃ）直前周期ｔ０に後方閾位置Ｐ１と前方閾位置Ｐ２の間に位置した遊脚が、現在の周期ｔ１において、前方閾位置Ｐ２より前方に位置していれば前進、後方閾位置Ｐ１より後方に位置していれば後進と判定する。
【００９９】
これに対して、進行方向と逆方向に遊脚が移動する最大範囲の外側に両閾位置Ｐを設定する場合には、進行方向と逆方向に閾位置Ｐを通過することはないので、後方閾位置Ｐ１と前方閾位置Ｐ２の何れか一方を通過した時点で進行方向を判断するようにしてもよい。
この場合、閾位置Ｐを通過した際の遊脚のＹ方向の速度ベクトルが正か負かにより進行方向を判定し、または、通過前後の遊脚のＹ方向座標位置の差分Δ（＝Ｙ１−Ｙ０）から進行方向を判定する。
【０１００】
また、装着型ロボット１では、段差種類判定において、各関節の角度を用いて立脚３１の接地面と足裏部３３の高低差を算出したが、例えば、立脚３１の足裏部と遊脚３２の足裏部にＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）装置を取り付け、両者の高度差から当該高低差を検出してもよい。
【０１０１】
以上に説明した本実施の形態により、次の構成を得ることができる。
装着型ロボット１は、床反力Ｆが所定の閾値以上である場合、その足を立脚と判断し、所定の閾値未満の場合、その足を遊脚と判断するので、立脚と遊脚を判断する状態判断手段を備えている。
また、装着型ロボット１は、周期ｔ０における立脚の位置と、周期ｔ１における立脚の位置が、後方閾位置Ｐ１又は前方閾位置Ｐ２の前後にあるか否かを判定しているので、立脚の位置に応じて決まる所定の基準位置（後方閾位置Ｐ１と前方閾位置Ｐ２）を遊脚が通過したことを判断する通過判断手段を備えている。
また、装着型ロボット１は、立脚に対する遊脚の速度ベクトルの正負、又は周期ｔ１の遊脚座標位置Ｙ１と直前周期ｔ０の遊脚座標位置Ｙ０の差分Δ（Ｙ１−Ｙ０）の正負から進行方向を判定しているので、基準位置を通過する前の遊脚位置と、通過後の遊脚位置とに対応した物理量から、進行方向を判定する進行方向判定手段を有している。
【０１０２】
また装着型ロボット１は、立脚３１の接地面に対する遊脚３２の足裏部３３の高低差Ｈ１と足裏部３３の下の歩行面と足裏部３３の高低差Ｈ２との差分から認識対象となる高さＨ３の段差を認識するため、立脚の前記取得した進行方向の側において、前記立脚の歩行面と遊脚の足裏との高低差と、前記足裏と前記足裏の下にある歩行面との高低差と、を用いて前記足裏の下の段差状態を認識する段差状態認識手段を備えている。なお、段差状態は、例えば、６種類ある段差の種類に相当する。
装着型ロボット１は、段差種類判定に応じてアシスト率を変化させるため、前記認識した段差状態に応じて前記立脚と前記遊脚の歩行動作を制御する制御手段を備えている。
このように、装着型ロボット１は、以上の構成を備えた歩行装置として機能している。
【０１０３】
装着型ロボット１は、装着者が装着して使用され、段差種類判定に基づいて股関節アシストアクチュエータ１７、膝関節アシストアクチュエータ１８、足首関節アシストアクチュエータ１９を制御してアシスト率を変化させるため、前記歩行装置は、当該歩行装置を装着した装着者の歩行を支援する装置であって、前記制御手段は、前記装着者の前記立脚と前記遊脚の動作をアシストするアクチュエータを制御している。
【０１０４】
装着型ロボット１は、第３の期間で立脚３１が接地している歩行面と足裏部３３の下方の歩行面が同一高さとなった後に段差種類判定の対象となる段差を検出するため、前記段差状態認識手段は、前記立脚の歩行面と前記足裏の下の歩行面が同一高さとなった後に段差状態の認識対象となる段差を認識している。
【０１０５】
装着型ロボット１は、第３の期間で立脚３１の接地している歩行面と足裏部３３の下の歩行面が同一の高さとなった後で、かつ、段差が検出される前に遊脚３２の接地が確認された場合は、段差種類判定を平地とすることから前記立脚の歩行面と前記足裏の下にある歩行面が同一高さとなった後で、段差状態の認識対象となる段差を認識する前に、前記遊脚の接地を検出した場合に、前記段差状態認識手段は、前記段差状態を平地と認識している。
【０１０６】
装着型ロボット１は、進行方向が装着者の前側である場合は前進と判断し、逆の場合は後進と判断する。そして、段差種類判定に前進・後進の区別を含めることから、装着型ロボット１は、前記取得した進行方向が予め設定された方向に対して前進方向か後進方向かの区別を判断する方向区別判断手段を具備し、前記段差状態認識手段は、前記判断した区別と共に前記段差状態を認識している。
【符号の説明】
【０１０７】
１  装着型ロボット
２  制御装置
３  センサ情報取得部
４  各種パラメータ算出部
５  進行方向判定部
６  段差判定部
７  歩行アシスト力決定部
９  距離センサ
１０  つま先反力センサ
１１  踵反力センサ
１２  つま先姿勢センサ
１３  踵姿勢センサ
１４  腰姿勢センサ
１５  上腿姿勢センサ
１６  下腿姿勢センサ
１７  股関節アシストアクチュエータ
１８  膝関節アシストアクチュエータ
１９  足首関節アシストアクチュエータ
２１  腰部装着部
２２  上腿装着部
２３  下腿装着部
２４  足装着部
２６  上腿連結部材
２７  下腿連結部材
３１  立脚
３２  遊脚
３３  足裏部
３６  進行方向
【図１】
2014027978.tif 000003
【図２】
2014027978.tif 000004
【図３】
2014027978.tif 000005
【図４】
2014027978.tif 000006
【図５】
2014027978.tif 000007
【図６】
2014027978.tif 000008
【図７】
2014027978.tif 000009
【図８】
2014027978.tif 000010
【図９】
2014027978.tif 000011
【図１０】
2014027978.tif 000012
【図１１】
2014027978.tif 000013
【図１２】
2014027978.tif 000014
【図１３】
2014027978.tif 000015
【図１４】
2014027978.tif 000016
【図１５】
2014027978.tif 000017