(57)【要約】【課題】ユーザのバランスや体重を支えながら、足の振り出しを補助する。【解決手段】歩行アシストシステムは全方向移動杖１と歩行補助装置２００からなり、全方向移動杖１は、ユーザの操作により傾斜する基体と、基体に接続され、基体を床面の全方向に移動可能とする移動動作部と、移動動作部を駆動する移動駆動部と、ユーザ操作による基体の動き、及び、目標移動速度に応じて移動駆動部を駆動制御する移動体制御部とを備える。歩行補助装置２００は、ユーザの上体に装着される第１装着部と、ユーザの脚体に装着される第２装着部と、第２装着部を駆動する駆動部と、第１装着部および第２装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、ユーザの脚体の動き、及び、全方向移動杖１の目標移動速度と所定の速度関係にある目標移動速度に応じて駆動部の動作を制御する歩行補助制御部とを備える。【選択図】図１
2011062463.tif 000002
【特許請求の範囲】
【請求項１】
倒立振子型移動体と歩行補助装置とを備えた歩行アシストシステムであって、
前記倒立振子型移動体は、
ユーザの操作により傾斜する基体と、
前記基体に接続され、前記基体を床面上の全方向に移動可能とする移動動作部と、
前記移動動作部を駆動する移動駆動部と、
前記ユーザの操作による前記基体の傾斜の動きと目標移動速度とに応じて前記移動駆動部を駆動制御する移動体制御部とを備え、
前記歩行補助装置は、
前記ユーザの上体に装着される第１装着部と、
前記ユーザの脚体に装着される第２装着部と、
前記第２装着部を駆動する駆動部と、
前記ユーザの脚体の動きと目標移動速度とに応じて前記駆動部の動作を制御する歩行補助制御部とを備え、
前記移動体制御部が前記移動駆動部を駆動制御するために使用する前記目標移動速度と、前記歩行補助制御部が前記駆動部の動作を制御するために使用する前記目標移動速度とが所定の速度関係になるように制御される、
ことを特徴とする歩行アシストシステム。
【請求項２】
所定の速度関係になるように制御される前記目標移動速度は、前記基体の傾斜の動きと前記倒立振子型移動体の移動速度とに基づき決定されることを特徴とする請求項１に記載の歩行アシストシステム。
【請求項３】
所定の速度関係になるように制御される前記目標移動速度は、歩行補助装置が備えるセンサにより検出された前記ユーザの脚体の動きに基づき決定されることを特徴とする請求項１に記載の歩行アシストシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの歩行を補助する歩行アシストシステムに関する。
【背景技術】
【０００２】
ユーザの身体に対して股関節等の脚体関節周りのトルクを付与することにより、このユーザの歩行運動を補助する歩行補助装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９３０３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
歩行補助装置を用いてリハビリを行なう場合、患者（ユーザ）自身が杖をついたり、タイヤ付きの歩行器を押したりすることが多い。しかし、杖をつくタイミングが難しかったり、歩行器を押したりすることが患者の負担になっている。
また、脊椎損傷等の重度のリハビリの場合、トレッドミル上に吊り上げて歩行リハビリを行なうことがあるが、大きな設備が必要なためリハビリを行なうことができる施設が限られており、同時に使用できる人数も限られてしまう。加えて、リハビリを行なう場所が固定されてしまうため、患者のモチベーションも上がりにくい。
【０００５】
本発明は、このような事情を考慮してなされたもので、その目的は、大きな設備を用いることなく、ユーザのバランスや体重を支えながら、脚の振り出しを補助することができる歩行アシストシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、請求項１に記載した発明は、倒立振子型移動体（例えば、実施形態による全方向移動杖１）と歩行補助装置（例えば、実施形態による歩行補助装置２００）とを備えた歩行アシストシステムであって、前記倒立振子型移動体は、ユーザの操作により傾斜する基体（例えば、実施形態による基体９）と、前記基体に接続され、前記基体を床面上の全方向に移動可能とする移動動作部（例えば、実施形態による車輪体５）と、前記移動動作部を駆動する移動駆動部（例えば、実施形態によるアクチュエータ装置７）と、前記ユーザの操作による前記基体の傾斜の動きと目標移動速度とに応じて前記移動駆動部を駆動制御する移動体制御部（例えば、実施形態による要求重心速度生成部７４、７４ａ、姿勢制御演算部８０、モータ指令演算部８２）とを備え、前記歩行補助装置は、前記ユーザの上体に装着される第１装着部（例えば、実施形態による腰部装具２０２）と、前記ユーザの脚体に装着される第２装着部（例えば、実施形態による大腿部装具２０４）と、前記第２装着部を駆動する駆動部（例えば、実施形態による力伝達部材２０６、アクチュエータ２１０）と、前記ユーザの脚体の動きと目標移動速度とに応じて前記駆動部の動作を制御する歩行補助制御部（例えば、実施形態による制御システム３００）とを備え、前記移動体制御部が前記移動駆動部を駆動制御するために使用する前記目標移動速度と、前記歩行補助制御部が前記駆動部の動作を制御するために使用する前記目標移動速度とが所定の速度関係になるように制御される、ことを特徴とする歩行アシストシステムである。
これにより、ユーザが把持する倒立振子型移動体と、ユーザの脚の運動を補助する歩行補助装置との間で目標移動速度が所定の速度関係となるようにし、倒立振子型移動体の移動体制御部は、ユーザが把持もしくはユーザの体重を作用させた際の基体の動き及び目標移動速度に基づいて移動駆動部による移動動作部の駆動を制御するとともに、歩行補助装置の歩行補助制御部は、ユーザの脚体の動き及び目標移動速度に基づいて、ユーザの脚体に装着された第１装着部及び上体に装着された第２装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第２装着部の駆動を制御することができる。
【０００７】
請求項２に記載した発明は、所定の速度関係になるように制御される前記目標移動速度は、前記基体の傾斜の動きと前記倒立振子型移動体の移動速度とに基づき決定されることを特徴とする。
これにより、ユーザ操作による倒立振子型移動体の基体の動きと、該倒立振子型移動体の移動速度とから得られる目標移動速度に基づいて、歩行補助装置の歩行補助制御部は、ユーザの脚体に装着された第１装着部及び上体に装着された第２装着部を介して駆動部の動作により生じる力をユーザに伝達させるよう、駆動部による第２装着部の駆動を制御することができる。
【０００８】
請求項３に記載した発明は、所定の速度関係になるように制御される前記目標移動速度は、前記歩行補助装置が備えるセンサにより検出された前記ユーザの脚体の動きに基づき決定されることを特徴とする。
これにより、歩行補助装置において検出したユーザの歩行速度に基づいて、倒立振子型移動体を移動させることができる。
【発明の効果】
【０００９】
請求項１に記載した発明によれば、全方向移動車両の移動と、歩行補助装置によるユーザの脚の振り出しの補助とを、所定の速度関係にある目標速度により制御することができるため、ユーザのバランスや体重を支え、転倒などを防ぎながら、安定した状態での歩行を補助することができる。これによって、歩行補助装置による脚の振り出しの補助を受けているユーザが、杖を持ち上げたり、歩行器を押したりしながら歩行する負担を軽減することができ、長距離、長時間にわたって、リスクの低い歩行リハビリを提供することが可能となり、ひいては、重度の患者も歩行リハビリを行なうことができる。また、大きな設備が必要ないため、歩行リハビリが実施可能な施設を増やすことができる。また、目標歩行スピードに従って患者を牽引することも可能となる。
【００１０】
また、請求項２の発明によれば、全方向移動車両において得られた目標移動速度に基づいて、歩行補助装置によるユーザの脚の振り出しの補助を制御するため、全方向移動車両の操作に従ったユーザの所望速度での歩行を補助することができる。
また、請求項３の発明によれば、歩行補助装置において検出した移動速度に基づいて、全方向移動車両の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動車両が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態による歩行アシストシステムの構成図。
【図２】同実施形態の全方向移動杖の正面図。
【図３】同実施形態の全方向移動杖の側面図。
【図４】同実施形態の全方向移動杖の下部を拡大して示す図。
【図５】同実施形態の全方向移動杖の下部の斜視図。
【図６】同実施形態の全方向移動杖の移動動作部（車輪体）の斜視図。
【図７】同実施形態の全方向移動杖の移動動作部（車輪体）とフリーローラとの配置関係を示す図。
【図８】同実施形態の全方向移動杖の制御ユニットの処理を示すフローチャート。
【図９】同実施形態の全方向移動杖の動力学的挙動を表現する倒立振子モデルを示す図。
【図１０】図８のステップＳ９の処理に係わる処理機能を示すブロック図。
【図１１】図１０に示すゲイン調整部の処理機能を示すブロック図。
【図１２】図１１に示すリミット処理部（又は図１３に示すリミット処理部）の処理機能を示すブロック図。
【図１３】図１０に示す重心速度制限部７６の処理機能を示すブロック図。
【図１４】図１０に示す姿勢制御演算部８０の処理機能を示すブロック図。
【図１５】同実施形態による歩行補助装置及びその制御システムの構成図
【図１６】同実施形態による歩行補助装置及びその制御システムの機能図。
【図１７】同実施形態による運動振動子と第１振動子との関係図。
【図１８】同実施形態による誘導振動子生成に関する仮想的なバネ及びダンパの説明図。
【図１９】同実施形態による歩行補助装置の作用効果に関する概念説明図。
【図２０】同実施形態による歩行誘導装置の作用効果に関する概念説明図。
【図２１】第２の同実施形態による図８のステップＳ９の処理に係わる処理機能を示すブロック図。
【図２２】同実施形態による歩行補助装置の制御システムの構成図。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の一実施の形態を説明する。
【００１３】
[第１の実施形態]
図１は、発明の一実施形態による歩行アシストシステムを示す図である。同図に示すように、本実施形態による歩行アシストシステムは、ユーザのバランスの補助及び体重の支持を行なう全方向移動杖１と、このユーザに装着され、脚の振り出しを補助する歩行補助装置２００とからなる。本実施の形態による歩行アシストシステムは、全方向移動杖１において測定したユーザの歩行速度に基づいて歩行補助装置２００を制御する。
【００１４】
最初に、本実施形態による歩行アシストシステムを構成する全方向移動杖１について説明する。まず、図２〜図７を参照して、本実施形態における全方向移動杖１の構造を説明する。
【００１５】
図２及び図３に示すように、本実施形態における全方向移動杖１は、床面に接地しながら該床面上を全方向（前後方向及び左右方向を含む２次元的な全方向）に移動可能な移動動作部５と、この移動動作部５を駆動する動力を該移動動作部５に付与するアクチュエータ装置７と、これらの移動動作部５及びアクチュエータ装置７が組付けられた基体９とを備える。
【００１６】
ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、ユーザが前方に直進する場合の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。この場合、図２においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図３においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「Ｒ」，「Ｌ」は、それぞれ全方向移動杖１の右側、左側に対応するものという意味で使用する。
【００１７】
基体９は、移動動作部５及びアクチュエータ装置７が組付けられた下部フレーム１１と、この下部フレーム１１の上端から上方に延設された支柱フレーム１３とを備える。ユーザは、支柱フレーム１３の上部を把持して歩行する。従って、本実施形態における全方向移動杖１は、ユーザが支柱フレーム１３の上部を把持した状態で、床面上を移動するものである。
【００１８】
下部フレーム１１は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材２１Ｒ，２１Ｌを備える。これらのカバー部材２１Ｒ，２１Ｌの上端部（二股の分岐部分）は、前後方向の軸心を有するヒンジ軸２３を介して連結され、カバー部材２１Ｒ，２１Ｌの一方が他方に対して相対的にヒンジ軸２３の周りに揺動可能となっている。この場合、カバー部材２１Ｒ，２１Ｌは、図示を省略するバネによって、カバー部材２１Ｒ，２１Ｌの下端部側（二股の先端側）が狭まる方向に付勢されている。
【００１９】
移動動作部５及びアクチュエータ装置７は、下部フレーム１１のカバー部材２１Ｒ，２１Ｌの間に配置されている。これらの移動動作部５及びアクチュエータ装置７の構造を図４〜図７を参照して説明する。
なお、本実施形態で例示する移動動作部５及びアクチュエータ装置７は、例えばＰＣＴ国際公開公報ＷＯ／２００８／１３２７７９（以下、「文献１」と記載する。）の図１に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部５及びアクチュエータ装置７の構成に関して、前記文献１に記載された事項については、簡略的な説明に留める。
【００２０】
本実施形態では、移動動作部５は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部５（以降、車輪体５という）は、その弾性変形によって、図６及び図７の矢印Ｙ１で示す如く、円形の横断面の中心Ｃ１（より詳しくは、円形の横断面中心Ｃ１を通って、車輪体５の軸心と同心となる円周線）の周りに回転可能となっている。
【００２１】
この車輪体５は、その軸心Ｃ２（車輪体５全体の直径方向に直交する軸心Ｃ２）を左右方向に向けた状態で、カバー部材２１Ｒ，２１Ｌの間に配置され、該車輪体５の外周面の下端部にて床面に接地する。
【００２２】
そして、車輪体５は、アクチュエータ装置７による駆動（詳細は後述する）によって、図６の矢印Ｙ２で示す如く車輪体５の軸心Ｃ２の周りに回転する動作（床面上を輪転する動作）と、車輪体５の横断面中心Ｃ１の周りに回転する動作とを行なうことが可能である。その結果、車輪体５は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
【００２３】
アクチュエータ装置７は、車輪体５と右側のカバー部材２１Ｒとの間に介装される回転部材２７Ｒ及びフリーローラ２９Ｒと、車輪体５と左側のカバー部材２１Ｌとの間に介装される回転部材２７Ｌ及びフリーローラ２９Ｌと、回転部材２７Ｒ及びフリーローラ２９Ｒの上方に配置されたアクチュエータとしての電動モータ３１Ｒと、回転部材２７Ｌ及びフリーローラ２９Ｌの上方に配置されたアクチュエータとしての電動モータ３１Ｌとを備える。
【００２４】
電動モータ３１Ｒ，３１Ｌは、それぞれのハウジングがカバー部材２１Ｒ，２１Ｌに各々取付けられている。なお、図示は省略するが、電動モータ３１Ｒ，３１Ｌの電源（蓄電器）は、支柱フレーム１３等、基体９の適所に搭載されている。
【００２５】
回転部材２７Ｒは、左右方向の軸心を有する支軸３３Ｒを介してカバー部材２１Ｒに回転可能に支持されている。同様に、回転部材２７Ｌは、左右方向の軸心を有する支軸３３Ｌを介してカバー部材２１Ｌに回転可能に支持されている。この場合、回転部材２７Ｒの回転軸心（支軸３３Ｒの軸心）と、回転部材２７Ｌの回転軸心（支軸３３Ｌの軸心）とは同軸心である。
【００２６】
回転部材２７Ｒ，２７Ｌは、それぞれ電動モータ３１Ｒ，３１Ｌの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ３１Ｒ，３１Ｌからそれぞれ伝達される動力（トルク）によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図４に示す如く、回転部材２７Ｒは、プーリ３５Ｒとベルト３７Ｒとを介して電動モータ３１Ｒの出力軸に接続されている。同様に、回転部材２７Ｌは、プーリ３５Ｌとベルト３７Ｌとを介して電動モータ３１Ｌの出力軸に接続されている。
【００２７】
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ３１Ｒ，３１Ｌを、それぞれの出力軸が各回転部材２７Ｒ，２７Ｌと同軸心になるように各回転部材２７Ｒ，２７Ｌに対向させて配置し、電動モータ３１Ｒ，３１Ｌのそれぞれの出力軸を回転部材２７Ｒ，２７Ｌに各々、減速機（遊星歯車装置等）を介して連結するようにしてもよい。
【００２８】
各回転部材２７Ｒ，２７Ｌは、車輪体５側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面３９Ｒ，３９Ｌとなっている。
【００２９】
回転部材２７Ｒのテーパ外周面３９Ｒの周囲には、回転部材２７Ｒと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ２９Ｒが配列されている。そして、これらのフリーローラ２９Ｒは、それぞれ、ブラケット４１Ｒを介してにテーパ外周面３９Ｒに取付けられ、該ブラケット４１Ｒに回転自在に支承されている。
【００３０】
同様に、回転部材２７Ｌのテーパ外周面３９Ｌの周囲には、回転部材２７Ｌと同心の円周上に等間隔で並ぶようにして、複数（フリーローラ２９Ｒと同数）のフリーローラ２９Ｌが配列されている。そして、これらのフリーローラ２９Ｌは、それぞれ、ブラケット４１Ｌを介してテーパ外周面３９Ｌに取付けられ、該ブラケット４１Ｌに回転自在に支承されている。
【００３１】
前記車輪体５は、回転部材２７Ｒ側のフリーローラ２９Ｒと、回転部材２７Ｌ側のフリーローラ２９Ｌとの間に挟まれるようにして、回転部材２７Ｒ，２７Ｌと同軸心に配置されている。
【００３２】
この場合、図２及び図７に示すように、各フリーローラ２９Ｒ，２９Ｌは、その軸心Ｃ３が車輪体５の軸心Ｃ２に対して傾斜すると共に、車輪体５の直径方向（車輪体５をその軸心Ｃ２の方向で見たときに、該軸心Ｃ２と各フリーローラ２９Ｒ，２９Ｌとを結ぶ径方向）に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ２９Ｒ，２９Ｌのそれぞれの外周面が車輪体５の内周面に斜め方向に圧接されている。
【００３３】
より一般的に言えば、右側のフリーローラ２９Ｒは、回転部材２７Ｒが軸心Ｃ２の周りに回転駆動されたときに、車輪体５との接触面で、軸心Ｃ２周りの方向の摩擦力成分（車輪体５の内周の接線方向の摩擦力成分）と、車輪体５の前記横断面中心Ｃ１の周り方向の摩擦力成分（円形の横断面の接線方向の摩擦力成分）とを車輪体５に作用させ得るような姿勢で、車輪体５の内周面に圧接されている。左側のフリーローラ２９Ｌについても同様である。
【００３４】
この場合、前記したように、カバー部材２１Ｒ，２１Ｌは、図示しないバネによって、カバー部材２１Ｒ，２１Ｌの下端部側（二股の先端側）が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ２９Ｒと左側のフリーローラ２９Ｌとの間に車輪体５が挟持されると共に、車輪体５に対する各フリーローラ２９Ｒ，２９Ｌの圧接状態（より詳しくはフリーローラ２９Ｒ，２９Ｌと車輪体５との間で摩擦力が作用し得る圧接状態）が維持される。
【００３５】
以上説明した構造を有する全方向移動杖１においては、電動モータ３１Ｒ，３１Ｌによりそれぞれ、回転部材２７Ｒ，２７Ｌを同方向に等速度で回転駆動した場合には、車輪体５が回転部材２７Ｒ，２７Ｌと同方向に軸心Ｃ２の周りに回転することとなる。これにより、車輪体５が床面上を前後方向に輪転して、全方向移動杖１の全体が前後方向に移動することとなる。なお、この場合は、車輪体５は、その横断面中心Ｃ１の周りには回転しない。
【００３６】
また、例えば、回転部材２７Ｒ，２７Ｌを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体５は、その横断面中心Ｃ１の周りに回転することとなる。これにより、車輪体５がその軸心Ｃ２の方向（すなわち左右方向）に移動し、ひいては、全方向移動杖１の全体が左右方向に移動することとなる。なお、この場合は、車輪体５は、その軸心Ｃ２の周りには回転しない。
【００３７】
さらに、回転部材２７Ｒ，２７Ｌを、互いに異なる速度（方向を含めた速度）で、同方向又は逆方向に回転駆動した場合には、車輪体５は、その軸心Ｃ２の周りに回転すると同時に、その横断面中心Ｃ１の周りに回転することとなる。
【００３８】
この時、これらの回転動作の複合動作（合成動作）によって、前後方向及び左右方向に対して傾斜した方向に車輪体５が移動し、ひいては、全方向移動杖１の全体が車輪体５と同方向に移動することとなる。この場合の車輪体５の移動方向は、回転部材２７Ｒ，２７Ｌの回転方向を含めた回転速度（回転方向に応じて極性が定義された回転速度ベクトル）の差に依存して変化するものとなる。
【００３９】
以上のように車輪体５の移動動作が行なわれるので、電動モータ３１Ｒ，３１Ｌのそれぞれの回転速度（回転方向を含む）を制御し、ひいては回転部材２７Ｒ，２７Ｌの回転速度を制御することによって、全方向移動杖１の移動速度及び移動方向を制御できることとなる。
【００４０】
次に、本実施形態の全方向移動杖１の動作制御のための構成を説明する。なお、以降の説明では、図２及び図３に示すように、前後方向の水平軸をＸ軸、左右方向の水平軸をＹ軸、鉛直方向をＺ軸とするＸＹＺ座標系を想定し、前後方向、左右方向をそれぞれＸ軸方向、Ｙ軸方向と言うことがある。
【００４１】
まず、全方向移動杖１の概略的な動作制御を説明すると、本実施形態では、基本的には、ユーザが支柱フレーム１３を把持し、ユーザの体重を作用させるなどして傾けた場合（詳しくは、歩行に伴う荷重がかった全方向移動杖１の重心点の位置（水平面に投影した位置）を動かすように支柱フレーム１３を傾けた場合）に、支柱フレーム１３を傾けた側に基体９が傾動する。そして、この時、基体９が傾いた側に全方向移動杖１が移動するように、車輪体５の移動動作が制御される。例えば、ユーザが支柱フレーム１３を前傾させ、ひいては、基体９を支柱フレーム１３と共に前傾させると、全方向移動杖１が前方に移動するように、車輪体５の移動動作が制御される。
【００４２】
すなわち、本実施形態では、ユーザが支柱フレーム１３を動かし、ひいては、支柱フレーム１３と共に基体９を傾動させるという動作が、全方向移動杖１に対する１つの基本的な操縦操作（全方向移動杖１の動作要求）とされ、その操縦操作に応じて車輪体５の移動動作がアクチュエータ装置７を介して制御される。
【００４３】
ここで、本実施形態の全方向移動杖１は、その全体の接地面としての車輪体５の接地面が、全方向移動杖１を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体９が傾倒しないようにするためには、ユーザによる荷重がかった全方向移動杖１の重心点（以降、「歩行時重心点」と記載）が車輪体５の接地面のほぼ真上に位置するように、車輪体５を動かす必要がある。
【００４４】
そこで、本実施形態では、歩行時重心点が、車輪体５の中心点（軸心Ｃ２上の中心点）のほぼ真上に位置する状態（より正確には当該重心点が車輪体５の接地面のほぼ真上に位置する状態）での基体９の姿勢を目標姿勢とし、基本的には、基体９の実際の姿勢を目標姿勢に収束させるように、車輪体５の移動動作が制御される。
【００４５】
さらに、ユーザが全方向移動杖１を把持していない状態では、全方向移動杖１の単体の重心点が、車輪体５の中心点（軸心Ｃ２上の中心点）のほぼ真上に位置する状態（より正確には当該重心点が車輪体５の接地面のほぼ真上に位置する状態）での基体９の姿勢を目標姿勢とし、該基体９の実際の姿勢を目標姿勢に収束させ、ひいては、基体９が傾倒することなく全方向移動杖１が自立するように、車輪体５の移動動作が制御される。
【００４６】
本実施形態では、以上の如き全方向移動杖１の動作制御を行なうために、図２及び図３に示すように、マイクロコンピュータや電動モータ３１Ｒ，３１Ｌのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット５０と、基体９の所定の部位の鉛直方向（重力方向）に対する傾斜角θb及びその変化速度（＝dθb/dt）を計測するための傾斜センサ５２と、ユーザが全方向移動杖１を把持しているか否かを検知するための荷重センサ５４と、電動モータ３１Ｒ，３１Ｌのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリーエンコーダ５６Ｒ，５６Ｌがそれぞれ、全方向移動杖１の適所に搭載されている。
【００４７】
この場合、制御ユニット５０及び傾斜センサ５２は、例えば、基体９の支柱フレーム１３の内部に収容された状態で該支柱フレーム１３に取付けられている。また、荷重センサ５４は、支柱フレーム１３の下部に内蔵されている。また、ロータリーエンコーダ５６Ｒ，５６Ｌは、それぞれ、電動モータ３１Ｒ，３１Ｌと一体に設けられている。なお、ロータリーエンコーダ５６Ｒ，５６Ｌは、それぞれ、回転部材２７Ｒ，２７Ｌに装着してもよい。
【００４８】
上記傾斜センサ５２は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ（角速度センサ）とから構成され、これらのセンサの検出信号を制御ユニット５０に出力する。そして、制御ユニット５０が、傾斜センサ５２の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理（これは公知の演算処理でよい）を実行することによって、傾斜センサ５２を搭載した部位（本実施形態では支柱フレーム１３）の、鉛直方向に対する傾斜角度θbの計測値とその変化速度（微分値）である傾斜角速度θbdotの計測値とを算出する。
【００４９】
この場合、計測する傾斜角度θb（以降、基体傾斜角度θbということがある）は、より詳しくは、それぞれ、Ｙ軸周り方向（ピッチ方向）の成分θb_xと、Ｘ軸周り方向（ロール方向）の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot（以降、基体傾斜角速度θbdotということがある）も、Ｙ軸周り方向（ピッチ方向）の成分θbdot_x（＝dθb_x/dt）と、Ｘ軸周り方向（ロール方向）の成分θbdot_y（＝dθb_y/dt）とから成る。
【００５０】
なお、本実施形態の説明では、上記基体傾斜角度θbなど、Ｘ軸及びＹ軸の各方向（又は各軸周り方向）の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字“_x”又は“_y”を付加する。
【００５１】
この場合において、並進速度等の並進運動に係わる変数については、そのＸ軸方向の成分に添え字“_x”を付加し、Ｙ軸方向の成分に添え字“_y”を付加する。
【００５２】
一方、角度、回転速度（角速度）、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Ｙ軸周り方向の成分に添え字“_x”を付加し、Ｘ軸周り方向の成分に添え字“_y”を付加する。
【００５３】
さらに、Ｘ軸方向の成分（又はＹ軸周り方向の成分）と、Ｙ軸方向の成分（又はＸ軸周り方向の成分）との組として変数を表記する場合には、該変数の参照符号に添え字“_xy”を付加する。例えば、上記基体傾斜角度θbを、Ｙ軸周り方向の成分θb_xとＸ軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
【００５４】
前記荷重センサ５４は、ユーザが支柱フレーム１３を把持しながら歩行したときにユーザによる荷重を受けるように支柱フレーム１３の下部に内蔵され、その荷重に応じた検出信号を制御ユニット５０に出力する。そして、制御ユニット５０が、この荷重センサ５４の出力により示される荷重の計測値に基づいて、ユーザが全方向移動杖１を把持して歩行しているか否かを判断する。
【００５５】
なお、荷重センサ５４の代わりに、例えば、ユーザが支柱フレーム１３を把持したときにＯＮとなるようなスイッチ式のセンサを用いてもよい。このセンサは、ＯＮ及びＯＦＦの検出信号を制御ユニット５０に出力し、制御ユニット５０は、このセンサからの出力により、ユーザが全方向移動杖１を把持しているか否かを判断する。
【００５６】
ロータリーエンコーダ５６Ｒは、電動モータ３１Ｒの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット５０に出力する。そして、制御ユニット５０が、そのパルス信号を基に、電動モータ５３Ｒの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率（微分値）を電動モータ５３Ｒの回転角速度として計測する。電動モータ３１Ｌ側のロータリーエンコーダ５６Ｌについても同様である。
【００５７】
制御ユニット５０は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度をフィードバック制御する。
【００５８】
なお、電動モータ３１Ｒの出力軸の回転角速度と、回転部材２７Ｒの回転角速度との間の関係は、該出力軸と回転部材２７Ｒとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ３１Ｒの回転角速度は、回転部材２７Ｒの回転角速度を意味するものとする。同様に、電動モータ３１Ｌの回転角速度は、回転部材２７Ｌの回転角速度を意味するものとする。
【００５９】
以下に、制御ユニット５０の制御処理をさらに詳細に説明する。
制御ユニット５０は、所定の制御処理周期で図８のフローチャートに示す処理（メインルーチン処理）を実行する。
【００６０】
まず、ステップＳ１において、制御ユニット５０は、傾斜センサ５２の出力を取得する。
次いで、ステップＳ２に進んで、制御ユニット５０は、取得した傾斜センサ５２の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
【００６１】
なお、以降の説明では、上記計測値θb_xy_sなど、変数（状態量）の実際の値の観測値（計測値又は推定値）を参照符号により表記する場合に、該変数の参照符号に、添え字“_s”を付加する。
【００６２】
次いで、制御ユニット５０は、ステップＳ３において、荷重センサ５４の出力を取得した後、ステップＳ４の判断処理を実行する。この判断処理においては、制御ユニット５０は、取得した荷重センサ５４の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、ユーザが全方向移動杖１を把持しているか否かを判断する。
【００６３】
そして、制御ユニット５０は、ステップＳ４の判断結果が肯定的である場合には、基体傾斜角度θbの目標値θb_xy_objを設定する処理と、全方向移動杖１の動作制御用の定数パラメータ（各種ゲインの基本値など）の値を設定する処理とを、それぞれステップＳ５、Ｓ６で実行する。
【００６４】
ステップＳ５においては、制御ユニット５０は、基体傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた歩行モード用の目標値を設定する。
【００６５】
ここで、「歩行モード」は、ユーザが歩行のため全方向移動杖１を把持している場合での全方向移動杖１の動作モードを意味する。この歩行モード用の目標値θb_xy_objは、ユーザが全方向移動杖１に与える荷重によって変化した全方向移動杖１の重心点、つまり、歩行時重心点が車輪体５の接地面のほぼ真上に位置する状態となる基体９の姿勢において、傾斜センサ５２の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。
【００６６】
また、ステップＳ６においては、制御ユニット５０は、全方向移動杖１の動作制御用の定数パラメータの値として、あらかじめ定められた歩行モード用の値を設定する。なお、定数パラメータは、後述するｈx，ｈy，Ｋi_a_x，Ｋi_b_x，Ｋi_a_y，Ｋi_b_y（ｉ＝１，２，３）等である。
【００６７】
一方、ステップＳ４の判断結果が否定的である場合には、制御ユニット５０は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、全方向移動杖１の動作制御用の定数パラメータの値を設定する処理とを、ステップＳ７、Ｓ８で実行する。
【００６８】
ステップＳ７においては、制御ユニット５０は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
【００６９】
ここで、「自立モード」は、ユーザが全方向移動杖１を把持していない場合での全方向移動杖１の動作モードを意味する。この自立モード用の目標値θb_xy_objは、全方向移動杖１単体の重心点（以降、「車両単体重心点」という）が車輪体５の接地面のほぼ真上に位置する状態となる基体９の姿勢において、傾斜センサ５２の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、歩行モード用の目標値θb_xy_objと一般的には異なる。
【００７０】
また、ステップＳ８においては、制御ユニット５０は、全方向移動杖１の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、歩行モード用の定数パラメータの値と異なる。
【００７１】
歩行モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する全方向移動杖１の動作の応答特性が互いに異なるからである。
【００７２】
以上のステップＳ４〜Ｓ８の処理によって、歩行モード及び自立モードの動作モード毎に個別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
【００７３】
なお、ステップＳ５，Ｓ６の処理、又はステップＳ７，Ｓ８の処理は、制御処理周期毎に実行することは必須ではなく、ステップＳ４の判断結果が変化した場合にだけ実行するようにしてもよい。
【００７４】
補足すると、歩行モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのＹ軸周り方向の成分θbdot_xの目標値とＸ軸周り方向の成分θbdot_yの目標値とは、いずれも“０”である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
【００７５】
以上の如くステップＳ５，Ｓ６の処理、又はステップＳ７，Ｓ８の処理を実行した後、制御ユニット５０は、次にステップＳ９において、車両制御演算処理を実行することによって、電動モータ３１Ｒ，３１Ｌのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
【００７６】
次いで、ステップＳ１０に進んで、制御ユニット５０は、ステップＳ９で決定した速度指令に応じて電動モータ３１Ｒ，３１Ｌの動作制御処理を実行する。この動作制御処理では、制御ユニット５０は、ステップＳ９で決定した電動モータ３１Ｒの速度指令と、ロータリーエンコーダ５６Ｒの出力に基づき計測した電動モータ３１Ｒの回転速度の計測値との偏差に応じて、該偏差を“０”に収束させるように電動モータ３１Ｒの出力トルクの目標値（目標トルク）を決定する。そして、制御ユニット５０は、その目標トルクの出力トルクを電動モータ３１Ｒに出力させるように該電動モータ３１Ｒの通電電流を制御する。左側の電動モータ３１Ｌの動作制御についても同様である。
以上が、制御ユニット５０が実行する全体的な制御処理である。
【００７７】
次に、上記ステップＳ９の車両制御演算処理の詳細を説明する。
なお、以降の説明においては、前記歩行モードにおける歩行時重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、全方向移動杖１の動作モードが歩行モードである場合には、歩行時重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
【００７８】
また、以降の説明では、制御ユニット５０が各制御処理周期で決定する値（更新する値）に関し、現在の（最新の）制御処理周期で決定する値を今回値、その１つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
【００７９】
また、Ｘ軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Ｙ軸方向の速度及び加速度に関しては、左向きを正の向きとする。
【００８０】
本実施形態では、前記車両系重心点の動力学的な挙動（詳しくは、Ｙ軸方向からこれに直交する面（ＸＺ平面）に投影して見た挙動と、Ｘ軸方向からこれに直交する面（ＹＺ平面）に投影して見た挙動）が、近似的に、図９に示すような、倒立振子モデルの挙動（倒立振子の動力学的挙動）によって表現されるものとして、ステップＳ９の車両制御演算処理が行なわれる。
【００８１】
なお、図９において、括弧を付していない参照符号は、Ｙ軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、Ｘ軸方向から見た倒立振子モデルに対応する参照符号である。
【００８２】
この場合、Ｙ軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点６０_xと、Ｙ軸方向に平行な回転軸６２a_xを有して床面上を輪転自在な仮想的な車輪６２_x（以降、仮想車輪６２_xという）とを備える。そして、質点６０_xが、仮想車輪６２_xの回転軸６２a_xに直線状のロッド６４_xを介して支持され、該回転軸６２a_xを支点として該回転軸６２a_xの周りに揺動自在とされている。
【００８３】
この倒立振子モデルでは、質点６０_xの運動が、Ｙ軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド６４_xの傾斜角度θbe_xがＹ軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s（＝θb_x_s−θb_x_obj）に一致するものとされる。また、ロッド６４_xの傾斜角度θbe_xの変化速度（＝dθbe_x/dt）がＹ軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪６２_xの移動速度Ｖw_x（Ｘ軸方向の並進移動速度）は、全方向移動杖１の車輪体５のＸ軸方向の移動速度に一致するものとされる。
【００８４】
同様に、Ｘ軸方向から見た挙動を表現する倒立振子モデル（図９の括弧付きの符号を参照）は、車両系重心点に位置する質点６０_yと、Ｘ軸方向に平行な回転軸６２a_yを有して床面上を輪転自在な仮想的な車輪６２_y（以降、仮想車輪６２_yという）とを備える。そして、質点６０_yが、仮想車輪６２_yの回転軸６２a_yに直線状のロッド６４_yを介して支持され、該回転軸６２a_yを支点として該回転軸６２a_yの周りに揺動自在とされている。
【００８５】
この倒立振子モデルでは、質点６０_yの運動が、Ｘ軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド６４_yの傾斜角度θbe_yがＸ軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s（＝θb_y_s−θb_y_obj）に一致するものとされる。また、ロッド６４_yの傾斜角度θbe_yの変化速度（＝dθbe_y/dt）がＸ軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪６２_yの移動速度Ｖw_y（Ｙ軸方向の並進移動速度）は、全方向移動杖１の車輪体５のＹ軸方向の移動速度に一致するものとされる。
【００８６】
なお、仮想車輪６２_x，６２_yは、それぞれ、あらかじめ定められた所定値Ｒw_x，Ｒw_yの半径を有するものとされる。
【００８７】
また、仮想車輪６２_x，６２_yのそれぞれの回転角速度ωw_x，ωw_yと、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度ω_R，ω_L（より正確には、回転部材２７Ｒ，２７Ｌのそれぞれの回転角速度ω_R，ω_L）との間には、次式（０１ａ），（０１ｂ）の関係が成立するものとされる。
【００８８】
ωw_x＝（ω_Ｒ＋ω_L）／２    …式（０１ａ）
ωw_y＝Ｃ・（ω_Ｒ−ω_L）／２    …式（０１ｂ）
【００８９】
なお、式（０１ｂ）における“Ｃ”は、前記フリーローラ２９Ｒ，２９Ｌと車輪体５との間の機構的な関係や滑りに依存する所定値の係数である。
【００９０】
ここで、図９に示す倒立振子モデルの動力学は、次式（０３ｘ），（０３ｙ）により表現される。なお、式（０３ｘ）は、Ｙ軸方向から見た倒立振子モデルの動力学を表現する式、式（０３ｙ）は、Ｘ軸方向から見た倒立振子モデルの動力学を表現する式である。
【００９１】
ｄ2θbe_x／dt2＝α_x・θbe_x＋β_x・ωwdot_x    …式（０３ｘ）
ｄ2θbe_y／dt2＝α_y・θbe_y＋β_y・ωwdot_y    …式（０３ｙ）
【００９２】
式（０３ｘ）におけるωwdot_xは仮想車輪６２_xの回転角加速度（回転角速度ωw_xの１階微分値）、α_xは、質点６０_xの質量や高さｈ_xに依存する係数、β_xは、仮想車輪６２_xのイナーシャ（慣性モーメント）や半径Ｒw_xに依存する係数である。式（０３ｙ）におけるωwdot_y、α_y、β_yについても上記と同様である。
【００９３】
これらの式（０３ｘ），（０３ｙ）から判るように、倒立振子の質点６０_x，６０_yの運動（ひいては車両系重心点の運動）は、それぞれ、仮想車輪６２_xの回転角加速度ωwdot_x、仮想車輪６２_yの回転角加速度ωwdot_yに依存して規定される。
【００９４】
そこで、本実施形態では、Ｙ軸方向から見た車両系重心点の運動を制御するための操作量（制御入力）として、仮想車輪６２_xの回転角加速度ωwdot_xを用いると共に、Ｘ軸方向から見た車両系重心点の運動を制御するための操作量（制御入力）として、仮想車輪６２_yの回転角加速度ωwdot_yを用いる。
【００９５】
そして、ステップＳ９の車両制御演算処理を概略的に説明すると、制御ユニット５０は、Ｘ軸方向で見た質点６０_xの運動と、Ｙ軸方向で見た質点６０_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x，ωwdot_yの指令値（目標値）である仮想車輪回転角加速度指令ωwdot_x_cmd，ωwdot_y_cmdを決定する。さらに、制御ユニット５０は、仮想車輪回転角加速度指令ωwdot_x_cmd，ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪６２_x，６２_yのそれぞれの回転角速度ωw_x，ωw_yの指令値（目標値）である仮想車輪回転角速度指令ωw_x_cmd，ωw_y_cmdとして決定する。
【００９６】
そして、制御ユニット５０は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪６２_xの移動速度（＝Ｒw_x・ωw_x_cmd）と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪６２_yの移動速度（＝Ｒw_y・ωw_y_cmd）とを、それぞれ、全方向移動杖１の車輪体５のＸ軸方向の目標移動速度、Ｙ軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ３１Ｒ，３１Ｌのそれぞれの速度指令ω_R_cmd，ω_L_cmdを決定する。
【００９７】
なお、本実施形態では、操作量（制御入力）としての上記仮想車輪回転角加速度指令ωwdot_x_cmd，ωwdot_y_cmdは、それぞれ、後述する式（０７ｘ），（０７ｙ）に示す如く、３個の操作量成分を加え合わせることによって決定される。
【００９８】
制御ユニット５０は、上記の如き、ステップＳ９の車両制御演算処理を実行するための機能として、図１０のブロック図で示す機能を備えている。
【００９９】
すなわち、制御ユニット５０は、基体傾斜角度計測値θb_xy_sと基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する偏差演算部７０と、前記車両系重心点の移動速度である重心速度Ｖb_xyの観測値としての重心速度推定値Ｖb_xy_sを算出する重心速度算出部７２と、ユーザによる全方向移動杖１の操作によって要求されていると推定される上記重心速度Ｖb_xyの要求値としての要求重心速度Ｖb_xy_aimを生成する要求重心速度生成部７４と、これらの重心速度推定値Ｖb_xy_s及び要求重心速度Ｖb_xy_aimから、電動モータ３１Ｒ，３１Ｌの回転角速度の許容範囲に応じた制限を加味して、重心速度Ｖb_xyの目標値としての制御用目標重心速度Ｖb_xy_mdfdを決定する重心速度制限部７６と、後述する式（０７ｘ），（０７ｙ）のゲイン係数の値を調整するためのゲイン調整パラメータＫr_xyを決定するゲイン調整部７８と、重心速度算出部７２により算出された重心速度推定値Ｖb_xy_sを同期移動速度として歩行補助装置２００へ無線または有線により送信する通信部８９を備える。
【０１００】
制御ユニット５０は、さらに、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する姿勢制御演算部８０と、この仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ３１Ｒの速度指令ω_R_cmd（回転角速度の指令値）と左側の電動モータ３１Ｌの速度指令ω_L_cmd（回転角速度の指令値）との組に変換するモータ指令演算部８２とを備える。
【０１０１】
なお、図１０中の参照符号８４を付したものは、姿勢制御演算部８０が制御処理周期毎に算出する仮想車輪回転角速度指令ωw_xy_cmdを入力する遅延要素を示している。該遅延要素８４は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
【０１０２】
前記ステップＳ９の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
【０１０３】
すなわち、制御ユニット５０は、まず、偏差演算部７０の処理と重心速度算出部７２の処理とを実行する。
【０１０４】
偏差演算部７０には、前記ステップＳ２で算出された基体傾斜角度計測値θb_xy_s（θb_x_s及びθb_y_s）と、前記ステップＳ５又はステップＳ７で設定された目標値θb_xy_obj（θb_x_obj及びθb_y_obj）とが入力される。そして、偏差演算部７０は、θb_x_sからθb_x_objを減算することによって、Ｙ軸周り方向の基体傾斜角度偏差計測値θbe_x_s（＝θb_x_s−θb_x_obj）を算出すると共に、θb_y_sからθb_y_objを減算することによって、Ｘ軸周り方向の基体傾斜角度偏差計測値θbe_y_s（＝θb_y_s−θb_y_obj）を算出する。
【０１０５】
なお、偏差演算部７０の処理は、ステップＳ９の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップＳ５又は７の処理の中で、偏差演算部７０の処理を実行してもよい。
【０１０６】
前記重心速度算出部７２には、前記ステップＳ２で算出された基体傾斜角速度計測値θbdot_xy_s（θbdot_x_s及びθbdot_y_s）の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p（ωw_x_cmd_p及びωw_y_cmd_p）が遅延要素８４から入力される。そして、重心速度算出部７２は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）を算出する。
【０１０７】
具体的には、重心速度算出部７２は、次式（０５ｘ），（０５ｙ）により、Ｖb_x_s及びＶb_y_sをそれぞれ算出する。
【０１０８】
Ｖb_x_s＝Ｒw_x・ωw_x_cmd_p＋ｈ_x・θbdot_x_s    …（０５ｘ）
Ｖb_y_s＝Ｒw_y・ωw_y_cmd_p＋ｈ_y・θbdot_y_s    …（０５ｙ）
【０１０９】
これらの式（０５ｘ），（０５ｙ）において、Ｒw_x，Ｒw_yは、前記したように、仮想車輪６２_x，６２_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、ｈ_x，ｈ_yは、それぞれ倒立振子モデルの質点６０_x，６０_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、ｈ_x，ｈ_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さｈ_x，ｈ_yは、前記ステップＳ６又はＳ８において値を設定する定数パラメータに含まれるものである。
【０１１０】
上記式（０５ｘ）の右辺の第１項は、仮想車輪６２_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪６２_xのＸ軸方向の移動速度であり、この移動速度は、車輪体５のＸ軸方向の実際の移動速度の現在値に相当するものである。また、式（０５ｘ）の右辺の第２項は、基体９がＹ軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のＸ軸方向の移動速度（車輪体５に対する相対的な移動速度）の現在値に相当するものである。これらのことは、式（０５ｙ）についても同様である。
【０１１１】
なお、前記ロータリーエンコーダ５６Ｒ，５６Ｌの出力を基に計測される電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度の計測値（今回値）の組を、仮想車輪６２_x，６２_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式（０５ｘ）、（０５ｙ）のωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
【０１１２】
重心速度算出部７２により算出されたＶb_xy_sは、歩行補助装置２００と同期した目標移動速度として通信部８９を介して歩行補助装置２００へ送信される。
【０１１３】
次に、制御ユニット５０は、要求重心速度生成部７４の処理とゲイン調整部７８の処理とを実行する。この場合、要求重心速度生成部７４及びゲイン調整部７８には、それぞれ、重心速度算出部７２で上記の如く算出された重心速度推定値Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）が入力される。
【０１１４】
そして、要求重心速度生成部７４は、全方向移動杖１の動作モードが歩行モードである場合に、入力された重心速度推定値Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）を基に、要求重心速度Ｖb_xy_aim（Ｖb_x_aim，Ｖb_y_aim）を決定する。
【０１１５】
具体的には、本実施形態では、全方向移動杖１の動作モードが自立モードである場合、要求重心速度生成部７４は、要求重心速度Ｖb_x_aim及びＶb_y_aimをいずれも“０”とする。一方、歩行モードである場合は、Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）を要求重心速度Ｖb_xy_aim（Ｖb_x_aim，Ｖb_y_aim）として決定する。
【０１１６】
また、ゲイン調整部７８は、入力された重心速度推定値Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）を基に、前記ゲイン調整パラメータＫr_xy（Ｋr_x及びＫr_y）を決定する。
このゲイン調整部７８の処理を図１１及び図１２を参照して以下に説明する。
【０１１７】
図１１に示すように、ゲイン調整部７８は、入力された重心速度推定値Ｖb_x_s，Ｖb_y_sをリミット処理部８６に入力する。このリミット処理部８６では、重心速度推定値Ｖb_x_s，Ｖb_y_sに、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度の許容範囲に応じた制限を適宜、加えることによって、出力値Ｖw_x_lim1，Ｖw_y_lim1を生成する。出力値Ｖw_x_lim1は、前記仮想車輪６２_xのＸ軸方向の移動速度Ｖw_xの制限後の値、出力値Ｖw_y_lim1は、前記仮想車輪６２_yのＹ軸方向の移動速度Ｖw_yの制限後の値としての意味を持つ。
【０１１８】
このリミット処理部８６の処理を、図１２を参照してさらに詳細に説明する。なお、図１２中の括弧付きの参照符号は、後述する重心速度制限部７６のリミット処理部１０４の処理を示すものであり、リミット処理部８６の処理に関する説明では無視してよい。
リミット処理部８６は、まず、重心速度推定値Ｖb_x_s，Ｖb_y_sをそれぞれ処理部８６a_x，８６a_yに入力する。処理部８６a_xは、Ｖb_x_sを仮想車輪６２_xの半径Ｒw_xで除算することによって、仮想車輪６２_xのＸ軸方向の移動速度をＶb_x_sに一致させたと仮定した場合の該仮想車輪６２_xの回転角速度ωw_x_sを算出する。同様に、処理部８６a_yは、仮想車輪６２_yのＹ軸方向の移動速度をＶb_y_sに一致させたと仮定した場合の該仮想車輪６２_yの回転角速度ωw_y_s（＝Ｖb_y_s／Ｒw_y）を算出する。
【０１１９】
次いで、リミット処理部８６は、ωw_x_s，ωw_y_sの組を、ＸＹ−ＲＬ変換部８６ｂにより、電動モータ３１Ｒの回転角速度ω_R_sと電動モータ３１Ｌの回転角速度ω_L_sとの組に変換する。
【０１２０】
この変換は、本実施形態では、前記式（０１ａ），（０１ｂ）のωw_x，ωw_y，ω_R，ω_Lをそれぞれ、ωw_x_s，ωw_y_s，ω_R_s，ω_L_sに置き換えて得られる連立方程式を、ω_R_s，ω_L_sを未知数として解くことにより行なわれる。
【０１２１】
次いで、リミット処理部８６は、ＸＹ−ＲＬ変換部８６ｂの出力値ω_R_s，ω_L_sをそれぞれ、リミッタ８６c_R，８６c_Lに入力する。このとき、リミッタ８６c_Rは、ω_R_sが、あらかじめ設定された所定値の上限値（＞０）と下限値（＜０）とを有する右モータ用許容範囲内に収まっている場合には、ω_R_sをそのまま出力値ω_R_lim1として出力する。また、リミッタ８６c_Rは、ω_R_sが、右モータ用許容範囲から逸脱している場合には、該右モータ用許容範囲の上限値と下限値とのうちのω_R_sに近い方の境界値を出力値ω_R_lim1として出力する。これにより、リミッタ８６c_Rの出力値ω_R_lim1は、右モータ用許容範囲内の値に制限される。
【０１２２】
同様に、リミッタ８６c_Lは、ω_L_sが、あらかじめ設定された所定値の上限値（＞０）と下限値（＜０）とを有する左モータ用許容範囲内に収まっている場合には、ω_L_sをそのまま出力値ω_L_lim1として出力する。また、リミッタ８６c_Lは、ω_L_sが、左モータ用許容範囲から逸脱している場合には、該左モータ用許容範囲の上限値と下限値とのうちのω_L_sに近い方の境界値を出力値ω_L_lim1として出力する。これにより、リミッタ８６c_Lの出力値ω_L_lim1は、左モータ用許容範囲内の値に制限される。
【０１２３】
上記右モータ用許容範囲は右側の電動モータ３１Ｒの回転角速度（絶対値）が高くなり過ぎないようにし、ひいては、電動モータ３１Ｒが出力可能なトルクの最大値が低下するのを防止するために設定された許容範囲である。このことは、左モータ用許容範囲についても同様である。
【０１２４】
次いで、リミット処理部８６は、リミッタ８６c_R，８６c_Lのそれぞれの出力値ω_R_lim1，ω_L_lim1の組を、ＲＬ−ＸＹ変換部８６ｄにより、仮想車輪６２_x，６２_yのそれぞれの回転角速度ωw_x_lim1，ωw_y_lim1の組に変換する。
【０１２５】
この変換は、前記ＸＹ−ＲＬ変換部８６ｂの変換処理の逆変換の処理である。この処理は、前記式（０１ａ），（０１ｂ）のωw_x，ωw_y，ω_R，ω_Lをそれぞれ、ωw_x_lim1，ωw_y_lim1，ω_R_lim1，ω_L_lim1に置き換えて得られる連立方程式を、ωw_x_lim1，ωw_y_lim1を未知数として解くことにより行なわれる。
【０１２６】
次いで、リミット処理部８６は、ＲＬ−ＸＹ変換部８６ｄの出力値ωw_x_lim1，ωw_y_lim1をそれぞれ処理部８６e_x，８６e_yに入力する。処理部８６e_xは、ωw_x_lim1に仮想車輪６２_xの半径Ｒw_xを乗じることによって、ωw_x_lim1を仮想車輪６２_xの移動速度Ｖw_x_lim1に変換する。同様に、処理部８６e_yは、ωw_y_lim1を仮想車輪６２_yの移動速度Ｖw_y_lim1（＝ωw_y_lim1・Ｒw_y）に変換する。
【０１２７】
以上のリミット処理部８６の処理によって、仮想車輪６２_xのＸ軸方向の移動速度Ｖw_xと、仮想車輪６２_yのＹ軸方向の移動速度Ｖw_yとをそれぞれ重心速度推定値Ｖb_x_s，Ｖb_y_sに一致させたと仮定した場合（換言すれば、車輪体５のＸ軸方向の移動速度とＹ軸方向の移動速度とをそれぞれ、Ｖb_x_s，Ｖb_y_sに一致させたと仮定した場合）に、それらの移動速度を実現するために必要な電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度ω_R_s，ω_L_sが、両方とも、許容範囲内に収まっている場合には、Ｖb_x_s，Ｖb_y_sにそれぞれ一致する出力値Ｖw_x_lim1，Ｖw_y_lim1の組がリミット処理部８６から出力される。
【０１２８】
一方、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度ω_R_s，ω_L_sの両方又は一方が許容範囲から逸脱している場合には、その両方又は一方の回転角速度が強制的に許容範囲内に制限された上で、その制限後の電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度ω_R_lim1，ω_L_lim1の組に対応する、Ｘ軸方向及びＹ軸方向の移動速度Ｖw_x_lim1，Ｖw_y_lim1の組がリミット処理部８６から出力される。
【０１２９】
従って、リミット処理部８６は、その出力値Ｖw_x_lim1，Ｖw_y_lim1の組に対応する電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Ｖw_x_lim1，Ｖw_y_lim1をそれぞれＶb_x_s，Ｖb_y_sに一致させるように、出力値Ｖw_x_lim1，Ｖw_y_lim1の組を生成する。
【０１３０】
図１１の説明に戻って、ゲイン調整部７８は、次に、演算部８８_x，８８_yの処理を実行する。演算部８８_xには、Ｘ軸方向の重心速度推定値Ｖb_x_sと、リミット処理部８６の出力値Ｖw_x_lim1とが入力される。そして、演算部８８_xは、Ｖw_x_lim1からＶb_x_sを減算してなる値Ｖover_xを算出して出力する。また、演算部８８_yには、Ｙ軸方向の重心速度推定値Ｖb_y_sと、リミット処理部８６の出力値Ｖw_y_lim1とが入力される。そして、演算部８８_yは、Ｖw_y_lim1からＶb_y_sを減算してなる値Ｖover_yを算出して出力する。
【０１３１】
この場合、リミット処理部８６での出力値Ｖw_x_lim1，Ｖw_y_lim1の強制的な制限が行なわれなかった場合には、Ｖw_x_lim1＝Ｖb_x_s、Ｖw_y_lim1＝Ｖb_y_sとなるので、演算部８８_x，８８_yのそれぞれの出力値Ｖover_x，Ｖover_yはいずれも“０”となる。
【０１３２】
一方、リミット処理部８６の出力値Ｖw_x_lim1，Ｖw_y_lim1が、入力値Ｖb_x_s，Ｖb_y_sに対して強制的な制限を施して生成された場合には、Ｖw_x_lim1のＶb_x_sからの修正量（＝Ｖw_x_lim1−Ｖb_x_s）と、Ｖw_y_lim1のＶb_y_sからの修正量（＝Ｖw_y_lim1−Ｖb_y_s）とがそれぞれ、演算部８８_x，８８_yから出力される。
【０１３３】
次いで、ゲイン調整部７８は、演算部８８_xの出力値Ｖover_xを処理部９０_x，９２_xに順番に通すことによって、ゲイン調整パラメータＫr_xを決定する。また、ゲイン調整部７８は、演算部８８_yの出力値Ｖover_yを処理部９０_y，９２_yに順番に通すことによって、ゲイン調整パラメータＫr_yを決定する。なお、ゲイン調整パラメータＫr_x，Ｋr_yは、いずれも“０”から“１”までの範囲内の値である。
【０１３４】
上記処理部９０_xは、入力されるＶover_xの絶対値を算出して出力する。また、処理部９２_xは、その出力値Ｋr_xが入力値｜Ｖover_x｜に対して単調に増加し、且つ、飽和特性を有するようにＫr_xを生成する。該飽和特性は、入力値がある程度大きくなると、入力値の増加に対する出力値の変化量が“０”になるか、もしくは、“０”に近づく特性である。
【０１３５】
この場合、本実施形態では、処理部９２_xは、入力値｜Ｖover_x｜があらかじめ設定された所定値以下である場合には、該入力値｜Ｖover_x｜に所定値の比例係数を乗じてなる値をＫr_xとして出力する。また、処理部９２_xは、入力値｜Ｖover_x｜が所定値よりも大きい場合には、“１”をＫr_xとして出力する。なお、上記比例係数は、｜Ｖover_x｜が所定値に一致するときに、｜Ｖover_x｜と比例係数との積が“１”になるように設定されている。
【０１３６】
また、処理部９０_y，９２_yの処理は、それぞれ上記した処理部９０_x，９２_xの処理と同様である。
【０１３７】
以上説明したゲイン調整部７８の処理によって、リミット処理部８６での出力値Ｖw_x_lim1，Ｖw_y_lim1の強制的な制限が行なわれなかった場合、すなわち、車輪体５のＸ軸方向及びＹ軸方向のそれぞれの移動速度Ｖw_x，Ｖw_yを、それぞれ、重心速度推定値Ｖb_x_s，Ｖb_y_sに一致させるように電動モータ３１Ｒ，３１Ｌを動作させても、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度が許容範囲内に収まるような場合には、ゲイン調整パラメータＫr_x，Ｋr_yはいずれも“０”に決定される。
【０１３８】
一方、リミット処理部８６の出力値Ｖw_x_lim1，Ｖw_y_lim1が、入力値Ｖb_x_s，Ｖb_y_sに対して強制的な制限を施して生成された場合、すなわち、車輪体５のＸ軸方向及びＹ軸方向のそれぞれの移動速度Ｖw_x，Ｖw_yを、それぞれ、重心速度推定値Ｖb_x_s，Ｖb_y_sに一致させるように電動モータ３１Ｒ，３１Ｌを動作させると、電動モータ３１Ｒ，３１Ｌのいずれかの回転角速度が許容範囲を逸脱してしまう場合（いずれかの回転角速度の絶対値が高くなり過ぎる場合）には、前記修正量Ｖover_x，Ｖover_yのそれぞれの絶対値に応じて、ゲイン調整パラメータＫr_x，Ｋr_yの値がそれぞれ決定される。この場合、Ｋr_xは、“１”を上限値して、修正量Ｖx_overの絶対値が大きいほど、大きな値になるように決定される。このことは、Ｋr_yについても同様である。
【０１３９】
図１０の説明に戻って、制御ユニット５０は、重心速度算出部７２及び要求重心速度生成部７４の処理を前記した如く実行した後、次に、重心速度制限部７６の処理を実行する。
この重心速度制限部７６には、重心速度算出部７２で算出された重心速度推定値Ｖb_xy_s（Ｖb_x_s及びＶb_y_s）と、要求重心速度生成部７４で決定された要求重心速度Ｖb_xy_aim（Ｖb_x_aim及びＶb_y_aim）とが入力される。そして、重心速度制限部７６は、これらの入力値を使用して、図１３のブロック図で示す処理を実行することによって、制御用目標重心速度Ｖ_xy_mdfd（Ｖ_x_mdfd及びＶ_y_mdfd）を決定する。
【０１４０】
具体的には、重心速度制限部７６は、まず、定常偏差算出部９４_x，９４_yの処理を実行する。
この場合、定常偏差算出部９４_xには、Ｘ軸方向の重心速度推定値Ｖb_x_sが入力されると共に、Ｘ軸方向の制御用目標重心速度Ｖb_x_mdfdの前回値Ｖb_x_mdfd_pが遅延要素９６_xを介して入力される。そして、定常偏差算出部９４_xは、まず、入力されるＶb_x_sが比例・微分補償要素（ＰＤ補償要素）９４a_xに入力する。この比例・微分補償要素９４_xは、その伝達関数が１＋Ｋd・Ｓにより表される補償要素であり、入力されるＶb_x_sと、その微分値（時間的変化率）に所定値の係数Ｋdを乗じてなる値とを加算し、その加算結果の値を出力する。
【０１４１】
次いで、定常偏差算出部９４_xは、入力されるＶb_x_mdfd_pを、比例・微分補償要素９４_xの出力値から減算してなる値を演算部９４b_xにより算出した後、この演算部９４b_xの出力値を、位相補償機能を有するローパスフィルタ９４c_xに入力する。このローパスフィルタ９４c_xは、伝達関数が（１＋Ｔ2・Ｓ）／（１＋Ｔ1・Ｓ）により表されるフィルタである。そして、定常偏差算出部９４_xは、このローパスフィルタ９４c_xの出力値Ｖb_x_prdを出力する。
【０１４２】
また、定常偏差算出部９４_yには、Ｙ軸方向の重心速度推定値Ｖb_y_sが入力されると共に、Ｙ軸方向の制御用目標重心速度Ｖb_y_mdfdの前回値Ｖb_y_mdfd_pが遅延要素９６_yを介して入力される。
【０１４３】
そして、定常偏差算出部９４_yは、上記した定常偏差算出部９４_xと同様に、比例・微分補償要素９４a_y、演算部９４b_y及びローパスフィルタ９４c_yの処理を順次実行し、ローパスフィルタ９４c_yの出力値Ｖb_y_prdを出力する。
【０１４４】
ここで、定常偏差算出部９４_xの出力値Ｖb_x_prdは、Ｙ軸方向から見た車両系重心点の現在の運動状態（換言すればＹ軸方向から見た倒立振子モデルの質点６０_xの運動状態）から推測される、将来のＸ軸方向の重心速度推定値の収束予測値の制御用目標重心速度Ｖb_x_mdfdに対する定常偏差としての意味を持つものである。同様に、定常偏差算出部９４_y出力値Ｖb_y_prdは、Ｘ軸方向から見た車両系重心点の現在の運動状態（換言すればＸ軸方向から見た倒立振子モデルの質点６０_yの運動状態）から推測される、将来のＹ軸方向の重心速度推定値の収束予測値の制御用目標重心速度Ｖb_y_mdfdに対する定常偏差としての意味を持つものである。以降、定常偏差算出部９４_x，９４_yのそれぞれの出力値Ｖb_x_prd，Ｖb_y_prdを重心速度定常偏差予測値という。
【０１４５】
重心速度制限部７６は、上記の如く定常偏差算出部９４_x，９４_yの処理を実行した後、定常偏差算出部９４_xの出力値Ｖb_x_prdに要求重心速度Ｖb_x_aimを加算する処理と、定常偏差算出部９４_yの出力値Ｖb_y_prdに要求重心速度Ｖb_y_aimを加算する処理とをそれぞれ、演算部９８_x，９８_yにより実行する。
【０１４６】
従って、演算部９８_xの出力値Ｖb_x_tは、Ｘ軸方向の重心速度定常偏差予測値Ｖb_x_prdに、Ｘ軸方向の要求重心速度Ｖb_x_aimを付加した速度となる。同様に、演算部９８_yの出力値Ｖb_y_tは、Ｙ軸方向の重心速度定常偏差予測値Ｖb_y_prdに、Ｙ軸方向の要求重心速度Ｖb_y_aimを付加した速度となる。
【０１４７】
なお、全方向移動杖１の動作モードが自立モードである場合等、Ｘ軸方向の要求重心速度Ｖb_x_aimが“０”である場合には、Ｘ軸方向の重心速度定常偏差予測値Ｖb_x_prdがそのまま、演算部９８_xの出力値Ｖb_x_tとなる。同様に、Ｙ軸方向の要求重心速度Ｖb_y_aimが“０”である場合には、Ｙ軸方向の重心速度定常偏差予測値Ｖb_y_prdがそのまま、演算部９８_yの出力値Ｖb_y_tとなる。
【０１４８】
次いで、重心速度制限部７６は、演算部９８_x，９８_yのそれぞれの出力値Ｖb_x_t，Ｖb_y_tを、リミット処理部１００に入力する。このリミット処理部１００の処理は、前記したゲイン調整部７８のリミット処理部８６の処理と同じである。この場合、図１２に括弧付きに参照符号で示す如く、リミット処理部１００の各処理部の入力値及び出力値だけがリミット処理部８６と相違する。
【０１４９】
具体的には、リミット処理部１００では、前記仮想車輪６２_x，６２_yのそれぞれの移動速度Ｖw_x，Ｖw_yを、Ｖb_x_t，Ｖb_y_tにそれぞれ一致させたと仮定した場合の各仮想車輪６２_x，６２_yの回転角速度ωw_x_t，ωw_y_tがそれぞれ処理部８６a_x，８６a_yにより算出される。そして、この回転角速度ωw_x_t，ωw_y_tの組が、ＸＹ−ＲＬ変換部８６ｂにより、電動モータ３１Ｒ，３１Ｌの回転角速度ω_R_t，ω_L_tの組に変換される。
【０１５０】
さらに、これらの回転角速度ω_R_t，ω_L_tが、リミッタ８６c_R，８６c_Lによって、それぞれ、右モータ用許容範囲内の値と左モータ用許容範囲内の値とに制限される。そして、この制限処理後の値ω_R_lim2，ω_L_lim2が、ＲＬ−ＸＹ変換部８６ｄによって、仮想車輪６２_x，６２_yの回転角速度ωw_x_lim2，ωw_y_lim2に変換される。
【０１５１】
次いで、この各回転角速度ωw_x_lim2，ωw_y_lim2に対応する各仮想車輪６２_x，６２_yの移動速度Ｖw_x_lim2，Ｖw_y_lim2がそれぞれ処理部８６e_x，８６e_yによって算出され、これらの移動速度Ｖw_x_lim2，Ｖw_y_lim2がリミット処理部１００から出力される。
【０１５２】
以上のリミット処理部１００の処理によって、リミット処理部１００は、リミット処理部８６と同様に、その出力値Ｖw_x_lim2，Ｖw_y_lim2の組に対応する電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Ｖw_x_lim2，Ｖw_y_lim2をそれぞれＶb_x_t，Ｖb_y_tに一致させるように、出力値Ｖw_x_lim2，Ｖw_y_lim2の組を生成する。
【０１５３】
なお、リミット処理部１００における右モータ用及び左モータ用の各許容範囲は、リミット処理部８６における各許容範囲と同一である必要はなく、互いに異なる許容範囲に設定されていてもよい。
【０１５４】
図１３の説明に戻って、重心速度制限部７６は、次に、演算部１０２_x，１０２_yの処理を実行することによって、それぞれ制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdを算出する。この場合、演算部１０２_xは、リミット処理部１００の出力値Ｖw_x_lim2から、Ｘ軸方向の重心速度定常偏差予測値Ｖb_x_prdを減算してなる値をＸ軸方向の制御用目標重心速度Ｖb_x_mdfdとして算出する。同様に、演算部１０２_yは、リミット処理部１００の出力値Ｖw_y_lim2から、Ｙ軸方向の重心速度定常偏差予測値Ｖb_y_prdを減算してなる値をＹ軸方向の制御用目標重心速度Ｖb_y_mdfdとして算出する。
【０１５５】
以上のようにして決定される制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdは、リミット処理部１００での出力値Ｖ_x_lim2，Ｖ_y_lim2の強制的な制限が行なわれなかった場合、すなわち、車輪体５のＸ軸方向及びＹ軸方向のそれぞれの移動速度を、それぞれ、演算部９８_xの出力値Ｖb_x_tと演算部９８_yの出力値Ｖb_y_tとに一致させるように電動モータ３１Ｒ，３１Ｌを動作させても、電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度が許容範囲内に収まるような場合には、要求重心速度Ｖb_x_aim，Ｖb_y_aimがそれぞれ、そのまま、制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。
【０１５６】
なお、この場合、Ｘ軸方向の要求重心速度Ｖb_x_aimが“０”であれば、Ｘ軸方向の制御用目標重心速度Ｖb_x_mdfdも“０”となり、Ｙ軸方向の要求重心速度Ｖb_y_aimが“０”であれば、Ｙ軸方向の制御用目標重心速度Ｖb_y_mdfdも“０”となる。
【０１５７】
一方、リミット処理部１００の出力値Ｖw_x_lim2，Ｖw_y_lim2が、入力値Ｖb_x_t，Ｖb_y_tに対して強制的な制限を施して生成された場合、すなわち、車輪体５のＸ軸方向及びＹ軸方向のそれぞれの移動速度を、それぞれ、演算部９８_xの出力値Ｖb_x_tと演算部９８_yの出力値Ｖb_y_tとに一致させるように電動モータ３１Ｒ，３１Ｌを動作させると、電動モータ３１Ｒ，３１Ｌのいずれかの回転角速度が許容範囲を逸脱してしまう場合（いずれかの回転角速度の絶対値が高くなり過ぎる場合）には、Ｘ軸方向については、リミット処理部１００の出力値Ｖw_x_lim2の入力値Ｖb_x_tからの修正量（＝Ｖw_x_lim2−Ｖb_x_t）だけ、要求重心速度Ｖb_x_aimを補正してなる値（当該修正量をＶb_x_aimに加算した値）が、Ｘ軸方向の制御用目標重心速度Ｖb_x_mdfdとして決定される。
【０１５８】
また、Ｙ軸方向については、リミット処理部１００の出力値Ｖw_y_lim2の入力値Ｖb_y_tからの修正量（＝Ｖw_y_lim2−Ｖb_y_t）だけ、要求重心速度Ｖb_y_aimを補正してなる値（当該修正量をＶb_y_aimに加算した値）が、Ｙ軸方向の制御用目標重心速度Ｖb_y_mdfdとして決定される。
【０１５９】
この場合において、例えばＸ軸方向の速度に関し、要求重心速度Ｖb_x_aimが“０”でない場合には、制御用目標重心速度Ｖb_x_mdfdは、要求重心速度Ｖb_x_aimよりも“０”に近づくか、もしくは、要求重心速度Ｖb_x_aimと逆向きの速度となる。また、要求重心速度Ｖb_x_aimが“０”である場合には、制御用目標重心速度Ｖb_x_mdfdは、定常偏差算出部９４_xが出力するＸ軸方向の重心速度定常偏差予測値Ｖb_x_prdと逆向きの速度となる。これらのことは、Ｙ軸方向の速度に関しても同様である。
以上が、重心速度制限部７６の処理である。
【０１６０】
図１０の説明に戻って、制御ユニット５０は、以上の如く重心速度算出部７２、重心速度制限部７６、ゲイン調整部７８、及び偏差演算部７０の処理を実行した後、次に、姿勢制御演算部８０の処理を実行する。
【０１６１】
この姿勢制御演算部８０の処理を、以下に図１４を参照して説明する。なお、図１４において、括弧を付していない参照符号は、Ｘ軸方向に輪転する仮想車輪６２_xの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_x_comを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Ｙ軸方向に輪転する仮想車輪６２_yの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_y_comを決定する処理に係わる参照符号である。
【０１６２】
姿勢制御演算部８０には、偏差演算部７０で算出された基体傾斜角度偏差計測値θbe_xy_sと、前記ステップＳ２で算出された基体傾斜角速度計測値θbdot_xy_sと、重心速度算出部７２で算出された重心速度推定値Ｖb_xy_sと、重心速度制限部７６で算出された目標重心速度Ｖb_xy_cmdと、ゲイン調整部７８で算出されたゲイン調整パラメータＫr_xyとが入力される。
そして、姿勢制御演算部８０は、まず、これらの入力値を用いて、次式（０７ｘ），（０７ｙ）により、仮想車輪回転角加速度指令ωdotw_xy_comを算出する。
【０１６３】
ωwdot_x_cmd＝K1_x・θbe_x_s＋K2_x・θbdot_x_s
＋K3_x・(Ｖb_x_s−Ｖb_x_mdfd)    …式（０７ｘ）
ωwdot_y_cmd＝K1_y・θbe_y_s＋K2_y・θbdot_y_s
＋K3_y・(Ｖb_y_s−Ｖb_y_mdfd)    …式（０７ｙ）
【０１６４】
従って、本実施形態では、Ｙ軸方向から見た倒立振子モデルの質点６０_xの運動（ひいては、Ｙ軸方向から見た車両系重心点の運動）を制御するための操作量（制御入力）としての仮想車輪回転角加速度指令ωdotw_x_comと、Ｘ軸方向から見た倒立振子モデルの質点６０_yの運動（ひいては、Ｘ軸方向から見た車両系重心点の運動）を制御するための操作量（制御入力）としての仮想車輪回転角加速度指令ωdotw_y_comとは、それぞれ、３つの操作量成分（式（０７ｘ），（０７ｙ）の右辺の３つの項）を加え合わせることによって決定される。
【０１６５】
この場合、式（０７ｘ）における各操作量成分に係わるゲイン係数Ｋ1_x，Ｋ2_x，Ｋ3_xは、ゲイン調整パラメータＫr_xに応じて可変的に設定され、式（０７ｙ）における各操作量成分に係わるゲイン係数Ｋ1_y，Ｋ2_y，Ｋ3_yは、ゲイン調整パラメータＫr_yに応じて可変的に設定される。以降、式（０７ｘ）におけるゲイン係数Ｋ1_x，Ｋ2_x，Ｋ3_xのそれぞれを第１ゲイン係数Ｋ1_x、第２ゲイン係数Ｋ2_x、第３ゲイン係数Ｋ3_xということがある。このことは、式（０７ｙ）におけるゲイン係数Ｋ1_y，Ｋ2_y，Ｋ3_yについても同様とする。
【０１６６】
式（０７ｘ）における第ｉゲイン係数Ｋi_x（ｉ＝１，２，３）と、式（０７ｙ）における第ｉゲイン係数Ｋi_y（ｉ＝１，２，３）とは、図１４中にただし書きで示した如く、次式（０９ｘ）、０９ｙにより、ゲイン調整パラメータＫr_x，Ｋr_yに応じて決定される。
【０１６７】
Ｋi_x＝（１−Ｋr_x）・Ｋi_a_x＋Ｋr_x・Ｋi_b_x    …式（０９ｘ）
Ｋi_y＝（１−Ｋr_y）・Ｋi_a_y＋Ｋr_y・Ｋi_b_y    …式（０９ｙ）
（ｉ＝１，２，３）
【０１６８】
ここで、式（０９ｘ）におけるＫi_a_x、Ｋi_b_xは、それぞれ、第ｉゲイン係数Ｋi_xの最小側（“０”に近い側）のゲイン係数値、最大側（“０”から離れる側）のゲイン係数値としてあらかじめ設定された定数値である。このことは、式（０９ｙ）におけるＫi_a_y、Ｋi_b_yについても同様である。
【０１６９】
従って、式（０７ｘ）の演算に用いる各第ｉゲイン係数Ｋi_x（ｉ＝１，２，３）は、それぞれに対応する定数値Ｋi_a_x、Ｋi_b_xの重み付き平均値として決定される。そして、この場合、Ｋi_a_x、Ｋi_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータＫr_xに応じて変化させられる。このため、Ｋr_x＝０である場合には、Ｋi_x＝Ｋi_a_xとなり、Ｋr_x＝１である場合には、Ｋi_x＝Ｋi_b_xとなる。そして、Ｋr_xが“０”から“１”に近づくに伴い、第ｉゲイン係数Ｋi_xはＫi_a_xからＫi_b_x近づいていく。
【０１７０】
同様に、式（０７ｙ）の演算に用いる各第ｉゲイン係数Ｋi_y（ｉ＝１，２，３）は、それぞれに対応する定数値Ｋi_a_y、Ｋi_b_yの重み付き平均値として決定される。そして、この場合、Ｋi_a_y、Ｋi_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータＫr_yに応じて変化させられる。このため、Ｋi_xの場合と同様に、Ｋr_yの値が“０”から“１”の間で変化するに伴い、第ｉゲイン係数Ｋi_yの値が、Ｋi_a_yとＫi_b_yとの間で変化する。
【０１７１】
補足すると、上記定数値Ｋi_a_x、Ｋi_b_x及びＫi_a_y，Ｋi_b_y（ｉ＝１，２，３）は、前記ステップＳ６又はＳ８において値が設定される定数パラメータに含まれるものである。
【０１７２】
姿勢制御演算部８０は、上記の如く決定した第１〜第３ゲイン係数Ｋ1_x，Ｋ2_x，Ｋ3_xを用いて前記式（０７ｘ）の演算を行なうことで、Ｘ軸方向に輪転する仮想車輪６２_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
【０１７３】
さらに詳細には、図１４を参照して、姿勢制御演算部８０は、基体傾斜角度偏差計測値θbe_x_sに第１ゲイン係数Ｋ1_xを乗じてなる操作量成分ｕ1_xと、基体傾斜角速度計測値θbdot_x_sに第２ゲイン係数Ｋ2_xを乗じてなる操作量成分ｕ2_xとをそれぞれ、処理部８０ａ，８０ｂで算出する。さらに、姿勢制御演算部８０は、重心速度推定値Ｖb_x_sと制御用目標重心速度Ｖb_x_mdfdとの偏差（＝Ｖb_x_s−Ｖb_x_mdfd）を演算部８０ｄで算出し、この偏差に第３ゲイン係数Ｋ3_xを乗じてなる操作量成分ｕ3_xを処理部８０ｃで算出する。そして、姿勢制御演算部８０は、これらの操作量成分ｕ1_x，ｕ2_x，ｕ3_xを演算部８０ｅにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_comを算出する。
【０１７４】
同様に、姿勢制御演算部８０は、上記の如く決定した第１〜第３ゲイン係数Ｋ1_y，Ｋ2_y，Ｋ3_yを用いて前記式（０７ｙ）の演算を行なうことで、Ｙ軸方向に輪転する仮想車輪６２_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
【０１７５】
この場合には、姿勢制御演算部８０は、基体傾斜角度偏差計測値θbe_y_sに第１ゲイン係数Ｋ1_yを乗じてなる操作量成分ｕ1_yと、基体傾斜角速度計測値θbdot_y_sに第２ゲイン係数Ｋ2_yを乗じてなる操作量成分ｕ2_yとをそれぞれ、処理部８０ａ，８０ｂで算出する。さらに、姿勢制御演算部８０は、重心速度推定値Ｖb_y_sと制御用目標重心速度Ｖb_y_mdfdとの偏差（＝Ｖb_y_s−Ｖb_y_mdfd）を演算部８０ｄで算出し、この偏差に第３ゲイン係数Ｋ3_yを乗じてなる操作量成分ｕ3_yを処理部８０ｃで算出する。そして、姿勢制御演算部８０は、これらの操作量成分ｕ1_y，ｕ2_y，ｕ3_yを演算部８０ｅにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_y_comを算出する。
ここで、式（０７ｘ）の右辺の第１項（＝第１操作量成分ｕ1_x）及び第２項（＝第２操作量成分ｕ2_x）は、Ｙ軸周り方向での基体傾斜角度偏差計測値θbe_x_sを、フィードバック制御則としてのＰＤ則（比例・微分則）により“０”に収束させる（基体傾斜角度計測値θb_x_sを目標値θb_x_objに収束させる）ためのフィードバック操作量成分としての意味を持つ。
【０１７６】
また、式（０７ｘ）の右辺の第３項（＝第３操作量成分ｕ3_x）は、重心速度推定値Ｖb_x_sと目標重心速度Ｖb_x_mdfdとの偏差をフィードバック制御則としての比例則により“０”に収束させる（Ｖb_x_sをＶb_x_mdfdに収束させる）ためのフィードバック操作量成分としての意味を持つ。
【０１７７】
これらのことは、式（０７ｙ）の右辺の第１〜第３項（第１〜第３操作量成分ｕ1_y，ｕ2_y，ｕ3_y）についても同様である。
【０１７８】
姿勢制御演算部８０は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_com，ωwdot_y_comを算出した後、次に、これらのωwdot_x_com，ωwdot_y_comをそれぞれ積分器８０ｆにより積分することによって、前記仮想車輪回転速度指令ωw_x_com，ωw_y_comを決定する。
【０１７９】
以上が姿勢制御演算部８０の処理の詳細である。
補足すると、式（０７ｘ）の右辺の第３項を、Ｖb_x_sに応じた操作量成分（＝K3_x・Ｖb_x_s）と、Ｖb_x_mdfdに応じた操作量成分（＝−K3_x・Ｖb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_x_comを算出するようにしてよい。同様に、式（０７ｙ）の右辺の第３項を、Ｖb_y_sに応じた操作量成分（＝K3_y・Ｖb_y_s）と、Ｖb_y_mdfdに応じた操作量成分（＝−K3_y・Ｖb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_y_comを算出するようにしてよい。
【０１８０】
また、本実施形態では、車両系重心点の挙動を制御するための操作量（制御入力）として、仮想車輪６２_x，６２_yの回転角加速度指令ωw_x_cmd，ωw_y_cmdを用いるようにしたが、例えば、仮想車輪６２_x，６２_yの駆動トルク、あるいは、この駆動トルクに各仮想車輪６２_x，６２_yの半径Ｒw_x，Ｒw_yを乗じてなる並進力（すなわち仮想車輪６２_x，６２_yと床面との間の摩擦力）を操作量として用いるようにしてもよい。
【０１８１】
図１０の説明に戻って、制御ユニット５０は、次に、姿勢制御演算部８０で上記の如く決定した仮想車輪回転速度指令ωw_x_com，ωw_y_comをモータ指令演算部８２に入力し、該モータ指令演算部８２の処理を実行することによって、電動モータ３１Ｒの速度指令ω_R_comと電動モータ３１Ｌの速度指令ω_L_comとを決定する。このモータ指令演算部８２の処理は、前記リミット処理部８６（図１２参照）のＸＹ−ＲＬ変換部８６ｂの処理と同じである。
【０１８２】
具体的には、モータ指令演算部８２は、前記式（０１ａ），（０１ｂ）のωw_x，ωw_y，ω_R，ω_Lをそれぞれ、ωw_x_com，ωw_y_com，ω_R_cmd，ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd，ω_L_cmdを未知数として解くことによって、電動モータ３１Ｒ，３１Ｌのそれぞれの速度指令ω_R_com，ω_L_comを決定する。
以上により前記ステップＳ９の車両制御演算処理が完了する。
【０１８３】
以上説明した如く制御ユニット５０が制御演算処理を実行することによって、前記歩行モード及び自立モードのいずれの動作モードにおいても、基本的には、基体９の姿勢が、前記基体傾斜角度偏差計測値θbe_x_s，θbe_y_sの両方が“０”となる姿勢（以下、この姿勢を基本姿勢という）に保たれるように、換言すれば、車両系重心点（歩行時重心点又は車両単体重心点）の位置が、車輪体５の接地面のほぼ真上に位置する状態に保たれるように、操作量（制御入力）としての仮想車輪回転角加速度指令ωdotw_xy_comが決定される。より詳しく言えば、基体９の姿勢を前記基本姿勢に保ちつつ、車両系重心点の移動速度の推定値としての重心速度推定値Ｖb_xy_sを制御用目標重心速度Ｖb_xy_mdfdに収束させるように、仮想車輪回転角加速度指令ωdotw_xy_comが決定される。なお、制御用目標重心速度Ｖb_xy_mdfdは、通常は“０”である。この場合には、基体９の姿勢を前記基本姿勢に保ちつつ、車両系重心点がほぼ静止するように、仮想車輪回転角加速度指令ωdotw_xy_comが決定されることとなる。
【０１８４】
そして、ωdotw_xy_comの各成分を積分してなる仮想車輪回転角速度指令ωw_xy_comを変換してなる電動モータ３１Ｒ，３１Ｌのそれぞれの回転角速度が、電動モータ３１Ｒ，３１Ｌの速度指令ω_R_cmd，ω_L_cmdとして決定される。さらに、その速度指令ω_R_cmd，ω_L_cmdに従って、各電動モータ３１Ｒ，３１Ｌの回転速度が制御される。ひいては車輪体５のＸ軸方向及びＹ軸方向のそれぞれの移動速度が、ωw_x_comに対応する仮想車輪６２_xの移動速度と、ωw_y_comに対応する仮想車輪６２_yの移動速度とに各々一致するように制御される。
【０１８５】
このため、例えば、Ｙ軸周り方向で、実際の基体傾斜角度θb_xが目標値θb_x_objから前傾側にずれると、そのずれを解消すべく（θbe_x_sを“０”に収束させるべく）、車輪体５が前方に向かって移動する。同様に、実際のθb_xが目標値θb_x_objから後傾側にずれると、そのずれを解消すべく（θbe_x_sを“０”に収束させるべく）、車輪体５が後方に向かって移動する。
【０１８６】
また、例えば、Ｘ軸周り方向で、実際の基体傾斜角度θb_yが目標値θb_y_objから右傾側にずれると、そのずれを解消すべく（θbe_y_sを“０”に収束させるべく）、車輪体５が右向きに移動する。同様に、実際のθb_yが目標値θb_y_objから左傾側にずれると、そのずれを解消すべく（θbe_y_sを“０”に収束させるべく）、車輪体５が左向きに移動する。
【０１８７】
さらに、実際の基体傾斜角度θb_x，θb_yの両方が、それぞれ目標値θb_x_obj，θb_y_objからずれると、θb_xのずれを解消するための車輪体５の前後方向の移動動作と、θb_yのずれを解消するための車輪体５の左右方向の移動動作とが合成され、車輪体５がＸ軸方向及びＹ軸方向の合成方向（Ｘ軸方向及びＹ軸方向の両方向に対して傾斜した方向）に移動することとなる。
【０１８８】
このようにして、基体９が前記基本姿勢から傾くと、その傾いた側に向かって、車輪体５が移動することとなる。従って、例えば前記歩行モードにおいて、ユーザが意図的にその把持している支柱フレーム１３に体重を預けて傾けると、その傾けた側に、車輪体５が移動することとなる。
【０１８９】
なお、制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdが“０”である場合には、基体９の姿勢が基本姿勢に収束すると、車輪体５の移動もほぼ停止する。また、例えば、基体９のＹ軸周り方向の傾斜角度θb_xを基本姿勢から傾いた一定の角度に維持すると、車輪体５のＸ軸方向の移動速度は、その角度に対応する一定の移動速度（制御用目標重心速度Ｖb_x_mdfdと一定の定常偏差を有する移動速度）に収束する。このことは、基体９のＸ軸周り方向の傾斜角度θb_yを基本姿勢から傾いた一定の角度に維持した場合も同様である。
【０１９０】
また、例えば、前記要求重心速度生成部７４で生成される要求重心速度Ｖb_x_aim，Ｖb_y_aimの両方が“０”となっている状況において、基体９の前記基本姿勢からの傾き量（基体傾斜角度偏差計測値θbe_x_s，θbe_y_s）が比較的大きくなり、それを解消し、もしくはその傾き量を維持するために必要な車輪体５のＸ軸方向及びＹ軸方向の一方又は両方の移動速度（これらの移動速度は、それぞれ、図１３に示した前記重心速度定常偏差予測値Ｖb_x_prd、Ｖb_y_prdに相当する）が、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるような状況では、該車輪体５の移動速度に対して逆向きとなる速度（詳しくは、Ｖw_x_lim2−Ｖb_x_prd及びＶw_y_lim2−Ｖb_y_prd）が制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。そして、制御入力を構成する操作量成分のうちの操作量成分ｕ3_x，ｕ3_yが、この制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdに重心速度推定値Ｖb_x_s，Ｖb_y_sをそれぞれ収束させるように決定される。このため、基体９の前記基本姿勢からの傾き量が過大になるのを予防し、ひいては、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度が高速になり過ぎるのが防止される。
【０１９１】
さらに、前記ゲイン調整部７８では、重心速度推定値Ｖb_x_s，Ｖb_y_sの一方又は両方が大きくなり、ひいては、基体９の前記基本姿勢からの傾きを解消し、もしくはその傾き量を維持するために必要な車輪体５のＸ軸方向及びＹ軸方向の一方又は両方の移動速度が、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になる恐れがある状況では、その逸脱が顕著になるほど（詳しくは、図１１に示すＶover_x，Ｖover_yの絶対値が大きくなるほど）、前記ゲイン調整パラメータＫr_x，Ｋr_yの一方又は両方が“０”から“１”に近づけられる。
【０１９２】
この場合、前記式（０９ｘ）により算出される各第ｉゲイン係数Ｋi_x（ｉ＝１，２，３）は、Ｋr_xが“１”に近づくほど、最小側の定数値Ｋi_a_xから最大側の定数値Ｋi_b_xに近づく。このことは、前記式（０９ｙ）により算出される各第ｉゲイン係数Ｋi_y（ｉ＝１，２，３）についても同様である。
【０１９３】
そして、上記ゲイン係数の絶対値が大きくなることによって、基体９の傾きの変化に対する操作量（仮想車輪回転角加速度指令ωdotw_x_cmd，ωdotw_y_cmd）の感度が高まる。従って、基体９の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、車輪体５の移動速度が制御されることとなる。従って、基体９が基本姿勢から大きく傾くことが強めに抑制され、ひいては、車輪体５のＸ軸方向及びＹ軸方向の一方又は両方の移動速度が、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
【０１９４】
次に、本実施形態による歩行アシストシステムを構成する歩行補助装置２００について説明する。図１５は本施形態による歩行補助装置２００及びその制御システム３００の構成例示図であり、図１６は本実施形態による歩行補助装置２００の機能例示図であり、図１７は運動振動子と第１振動子との関係例示図であり、図１８は誘導振動子生成に関する仮想的なバネ及びダンパの説明図であり、図１９及び図２０は本実施形態による歩行補助装置２００の作用効果に関する概念説明図である。
【０１９５】
以下、ユーザの脚体等について左右を区別するために基本的にパラメータに添字Ｌ、Ｒを付するが、表記の簡単のため添字Ｌ、Ｒを省略する場合もある。
【０１９６】
図１５に示されている歩行補助装置２００は、腰部装具２０２と、大腿部装具２０４と、力伝達部材２０６と、バッテリ２０８と、アクチュエータ（電動モータ）２１０と、股関節角度センサ２１２とを備えている。
【０１９７】
腰部装具２０２は剛性のある素材と柔軟性のある素材とが組み合わせられて作られており、ユーザの腰部に装着される。大腿部装具２０４も剛性のある素材と柔軟性のある素材とが組み合わせられて作られており、ユーザの大腿部の前後それぞれに装着される。力伝達部材は、軽量の硬質プラスチック等の定形性のある素材より作られており、ユーザの大腿部に沿って、ユーザの腰部の横から下方に延びた後で大腿部の前後に向けて二股に分かれた形状であり、アクチュエータ２１０および前後の大腿部装具２０４のそれぞれに連結されている。バッテリ２０８は腰部装具２０２に収納されており（たとえば、腰部装具２０２を構成する複数枚の素材の間に固定されており）、アクチュエータ２１０等に対して電力を供給する。アクチュエータ２１０は腰部装具２０２に収納されており、力伝達部材２０６および大腿部装具２０４を介してユーザの大腿部に力を作用させる。これにより、腰部装具２０２および大腿部装具２０４を介してアクチュエータ２１０の動作により生じる力をユーザに伝達させる。股関節角度センサ２１２はユーザの腰部の横に設けられたロータリーエンコーダ等により構成され、股関節角度に応じた信号を出力する。
【０１９８】
図１５に示されている制御システム３００は、腰部装具２０２に収納されたハードウェアとしてのコンピュータと、このコンピュータに対して歩行補助装置２００の制御機能を付与するソフトウェアとしての「制御プログラム」とにより構成されている。
【０１９９】
制御システム３００は、全方向移動杖１から送信された情報を受信する通信部３９０と接続され、運動振動子測定ユニット３０２と、状態測定ユニット３１０と、目標運動設定ユニット３１１と、目標位相差設定ユニット３１２と、第１振動子生成ユニット３２０と、固有角速度設定ユニット３３０と、第２振動子生成ユニット３４０と、誘導振動子生成ユニット３５０とを備えている。各ユニットは、ハードウェアとしてのＣＰＵ、ＲＯＭ、ＲＡＭ、信号入力回路、信号出力回路等と、ＣＰＵ等に対して諸機能を付与するソフトウェアとしての「制御プログラム」とにより構成されている（以下同様）。なお、各ユニットは、それぞれ別個のＣＰＵ等により構成されていてもよく、共通のＣＰＵ等により構成されていてもよい。
【０２００】
運動振動子測定ユニット３０２は、股関節角度センサ２１２の出力に基づき、ユーザの運動スケールに応じた運動振動子として股関節角度φHを測定する。また、運動振動子測定ユニット３０２は、股関節角度センサ２１２の出力に基づき、ユーザの運動スケールに応じた運動振動子の時間微分値として股関節角速度ｄφH／ｄｔを測定する。
【０２０１】
状態測定ユニット３１０は、ユーザの歩行状態と、ｎ個の運動振動子によってｎ次元空間に描かれる軌道パターンとの対応関係をメモリから読み取る。この上で、状態測定ユニット３１０は、この対応関係と、運動振動子測定ユニット３０２により測定された股関節角速度ｄφH／ｄｔを含むｎ個の運動振動子によってｎ次元空間に描かれる軌道パターンとに基づき、ユーザの「歩行状態」を判定する。
【０２０２】
目標運動設定ユニット３１１は状態測定ユニット３１０によって判定された「歩行状態」に応じ、ユーザの目標運動とするリズムおよびスケール、具体的には当該目標リズムおよびスケールに関する係数等を設定する。
【０２０３】
目標位相差設定ユニット３１２は状態測定ユニット３１０によって判定された「歩行状態」に応じ、ユーザの運動振動子と、歩行補助装置２００による誘導振動子（トルク）Ｔとの目標位相差θｄを設定する。
【０２０４】
第１振動子生成ユニット３２０は運動振動子測定ユニット３０２により測定された股関節角速度ｄφH／ｄｔと固有角速度ωMとに基づき、「第１モデル」にしたがって第１振動子ｘを生成する。
【０２０５】
固有角速度設定ユニット３３０は、第１位相差設定ユニット３３１と、第２位相差設定ユニット３３２と、相関係数設定ユニット３３３と、第１角速度設定ユニット３３４と、第２角速度設定ユニット３３５とを備えている。
【０２０６】
第１位相差設定ユニット３３１は股関節角速度ｄφH／ｄｔの角速度ωHと、ファン・デル・ポル方程式に含まれる固有角速度ωMに基づいて定まる角速度で振動する振動子ｘとの位相差を第１位相差θHMとして設定する。
【０２０７】
第２位相差設定ユニット３３２は２つの振動子、すなわち、仮想運動振動子θhと仮想誘導振動子θmとの関係を表す「仮想モデル」にしたがって仮想運動振動子θhと仮想誘導振動子θmとの位相差を第２位相差θhm（＝θh−θm）として設定する。
【０２０８】
相関係数設定ユニット３３３は、第２位相差設定ユニット３３２により設定された第２位相差θhmが、第１位相差設定ユニット３３１により設定された第１位相差θHMに近づくように仮想運動振動子θhと仮想誘導振動子θmとの相関係数εを設定する。
【０２０９】
第１角速度設定ユニット３３４は、相関係数設定ユニット３３３により設定された相関係数εに基づき、仮想運動振動子θhの角速度ωhを設定する。
【０２１０】
第２角速度設定ユニット３３５は、第１角速度設定ユニット３３４により設定された仮想運動振動子θhの角速度ωhに基づき、第２位相差設定ユニット３３２により設定された第２位相差θhmが、目標位相差設定ユニット３１２により設定された目標位相差θdに近づくように仮想誘導振動子θmの角速度ωmを新たな固有角速度ωMとして設定する。
【０２１１】
第２振動子生成ユニット３４０は、運動振動子測定ユニット３０２により測定された股関節角度φHと、固有角速度設定ユニット３３０により設定された新たな固有角速度ωMとに基づき「第２モデル」にしたがって第２振動子ｙを生成する。
【０２１２】
誘導振動子生成ユニット３５０は、全方向移動杖１から受信した重心速度推定値Ｖb_xy_sと、固有角速度設定ユニット３３０により設定された固有角速度ωMと、第２振動子生成ユニット３４０により生成された第２振動子ｙとに基づき、歩行補助装置２００による誘導振動子ｚを生成する。
【０２１３】
前記構成の歩行補助装置およびその制御システム３００の機能について図１６〜図１８を用いて説明する。
【０２１４】
運動振動子測定ユニット３０２が、股関節角度センサ２１２の出力に基づき、ユーザの左右の股関節角度φH＝（φHL，φHR）を測定する（図１６／ステップＳ１０１）。また、運動振動子測定ユニット３０２が、股関節角度センサ２１２の出力に基づき、ユーザの左右の股関節角速度ｄφH／ｄｔ＝（ｄφHL／ｄｔ，ｄφHR／ｄｔ）を測定する（図１６／ステップＳ１０２）。
【０２１５】
さらに、状態測定ユニット３１０が、運動振動子測定ユニット３０２により測定された股関節角速度（ｄφH／ｄｔ）を含むｎ（ｎ＝１、２、…）個の運動振動子に基づいてユーザの歩行状態を判定する（図１６／ステップＳ１１０）。具体的には、状態測定ユニット３１０は、メモリ（図示略）から歩行状態と、ｎ個の運動振動子によってｎ次元空間に描かれる軌道パターンとの対応関係を読み取る。そして、状態測定ユニット３１０は、この対応関係と、ｎ個の運動振動子によってｎ次元空間に描かれるパターンとに基づき「歩行状態」を判定する。ユーザの歩行状態には、ユーザがほぼ平坦な床面を歩行する「平地歩行状態」、ユーザが坂または階段を昇る「上昇歩行状態」およびユーザがある坂または階段を下る「下降歩行状態」並びにユーザがゆっくりと歩行する「スロー歩行状態」およびユーザが速く歩行する「クイック歩行状態」等が含まれ得る。
【０２１６】
なお、歩行状態測定用の運動振動子として、ユーザの股関節角度φHや、膝関節、足関節、肩関節、肘関節の角度や角速度、角加速度、脚体の一部の位置、さらにはユーザの着地音、呼吸音、意図的な発声音等、歩行運動リズムと連関したリズムで変動する種々のパラメータが測定されてもよい。
【０２１７】
また、目標運動設定ユニット３１１が、状態測定ユニット３１０によって判定された「歩行状態」に応じ、ユーザの目標運動とするリズムおよびスケール、具体的には当該目標リズムおよびスケールに関する後述の係数等を設定する（図１６／ステップＳ１１１）。
【０２１８】
さらに、目標位相差設定ユニット３１２が、状態測定ユニット３１０により判定された「歩行状態」に基づき、目標位相差θd＝（θdL，θdR）を設定する（図１６／ステップＳ１１２）。たとえば、ユーザが「平地歩行状態」にあるとの判定結果に応じて目標位相差θdが「０」に設定される。また、ユーザが「上昇歩行状態」にあるとの判定結果に応じて目標位相差θdが負の値（たとえば０．５［ｒａｄ］以下）に設定される。さらに、ユーザが「下降歩行状態」にあるとの判定結果に応じて目標位相差θdが正の値（たとえば＋０．３［ｒａｄ］以上）に設定される。また、ユーザが「クイック歩行状態」にあるとの判定結果に応じて目標位相差θdが負の値（たとえば０．２［ｒａｄ］以下）に設定される。さらに、ユーザが「スロー歩行状態」にあるとの判定結果に応じて目標位相差θdが正の値（たとえば＋０．５［ｒａｄ］以上）に設定される。なお、目標位相差θdの左右各成分θdLおよびθdRは同一であっても異なっていてもよい。
【０２１９】
さらに、第１振動子生成ユニット３２０が、運動振動子測定ユニット３０２により測定された股関節角速度ｄφH／ｄｔおよび固有角速度ωM＝（ωML，ωMR）に基づき第１モデルにしたがって第１振動子ｘ＝（ｘL，ｘR）を生成する（図１６／ステップＳ１２０）。「第１モデル」は左右の脚体等、複数の第１要素の相関関係を表現するモデルである。具体的には「第１モデル」は入力振動信号と相互に引き込み合うことで固有角速度に基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。第１モデルは、だとえば式（１１）のファン・デル・ポル（ｖａｎ ｄｅｒ Ｐｏｌ）方程式によって表現される。第１振動子生成ユニット３２０によって股関節角速度ｄφH／ｄｔ＝（ｄφHL／ｄｔ，ｄφHR／ｄｔ）が当該入力振動信号として第１モデルに入力されることにより、当該出力振動信号として第１振動子ｘ＝（ｘL，ｘR）が生成される。
【０２２０】
（ｄ2ｘL／ｄｔ2）＝ξ（１−ｘL2）（ｄｘL／ｄｔ）
−ωML2ｘL＋ｇ（ｘL−ｘR）＋Ｋ（ｄφHL／ｄｔ），
（ｄ2ｘR／ｄｔ2）＝ξ（１−ｘR2）（ｄｘR／ｄｔ）
−ωMR2ｘR＋ｇ（ｘR−ｘL）＋Ｋ（ｄφHR／ｄｔ）  …式（１１）
【０２２１】
ここで「ξ」は第１振動子ｘおよびその１回時間微分（ｄｘ／ｄｔ）がｘ−（ｄｘ／ｄｔ）平面で安定なリミットサイクルを描くように設定される係数（＞０）である。ｇは左右の脚体の相関関係を第１モデルにしたがって生成される複数の出力振動信号の関係に反映させるための第１相関係数である。Ｋはフィードバック係数である。なお、固有角速度ωMは、歩行補助装置２００による実際の歩行補助リズム（歩行誘導リズム）から大きく外れない範囲で任意に設定されてよい。
【０２２２】
第１振動子ｘ＝（ｘL，ｘR）はルンゲ・クッタ法により設定生成される。第１振動子ｘの成分ｘLおよびｘRはそれぞれ左右の脚体に関する仮想的な歩行補助リズムを表す。また、第１振動子ｘはファン・デル・ポル方程式の１つの性質である「相互引き込み」により、実際の歩行運動リズムとほぼ同じのリズム（角速度）で時間変化する股関節角速度ｄφH／ｄｔのリズムと調和しながらも「固有角速度」ωMに基づいて定まる自律的なリズムをもって時間変化または振動するという性質がある。
【０２２３】
なお、股関節角速度ｄφH／ｄｔに代えてまたは加えて、股関節角度φHや、膝関節、足関節、肩関節、肘関節の角度や角速度、さらにはユーザの着地音、呼吸音、断続的な発声音等、ユーザの歩行運動リズム（運動リズム）が反映されたリズムで変動する種々の運動振動子に基づき、第１振動子ｘが生成されてもよい。
【０２２４】
また、式（１１）で表現されるファン・デル・ポル方程式とは異なる形のファン・デル・ポル方程式によって第１モデルが表現されてもよく、股関節角速度ｄφH／ｄｔ等の入力振動信号と相互引き込み効果をもって出力振動信号が生成されうるあらゆる方程式によって第１モデルが表現されてもよい。
【０２２５】
続いて、固有角速度設定ユニット３３０が、目標位相差設定ユニット３１２により設定された目標位相差θdと、第１振動子設定ユニット３１０により生成された第１振動子ｘとに基づき、仮想的な２つの振動子が含まれている仮想モデルにしたがって固有角速度ωMを新たに設定する（図１６／ステップＳ１３０）。
【０２２６】
具体的には、まず、第１位相差設定ユニット３３１が、左右各成分について、運動振動子測定ユニット３０２により測定された股関節角速度ｄφH／ｄｔの位相θHと、第１振動子設定ユニット３１０により生成された第１振動子ｘの位相θMとの位相差θH−θMを、第１位相差θHMとして設定する（図１６／ステップＳ１３１）。たとえば、図１７に示されているように、（ｄφH／ｄｔ）＝０かつ（ｄ2φH／ｄｔ2）＞０となる時点（・・，ｔid，ｔid+1，…）と、ｘ＝０かつ（ｄｘ／ｄｔ）＞０となる時点との時間差に応じ、股関節角速度（ｄφH／ｄｔ）の位相θHと第１振動子ｘの位相θMとの位相差（第１位相差）θHM（＝θH−θM）が設定される。
【０２２７】
次に、第２位相差設定ユニット３３２が、過去３歩行周期にわたって第１位相差設定ユニット３３１により設定された第１位相差θHMが一定であったことを要件として、左右各成分について、次式（１３．１）および（１３．２）によって表される「仮想モデル」にしたがって、次式（１３．３）によって表される仮想運動振動子θhと仮想誘導振動子θmとの位相差θh−θmを第２位相差θhmとして設定する（図１６／ステップＳ１３２）。
【０２２８】
ｄθh／ｄｔ＝ωh＋ε・ｓｉｎ（θm−θh）  …式（１３．１）
ｄθm／ｄｔ＝ωm＋ε・ｓｉｎ（θh−θm）  …式（１３．２）
θhm＝ａｒｃｓｉｎ［（ωh−ωm）／２ε］  …式（１３．３）
【０２２９】
ここで、ε＝（εL，εR）は仮想モデルにおける仮想運動振動子θh＝（θhL，θhR）および仮想誘導振動子θm＝（θmL，θmR）の左右成分ごとの相関係数である。また、ωhは仮想運動振動子θhの角速度であり、ωmは仮想誘導振動子θmの角速度である。
【０２３０】
続いて、相関係数設定ユニット３３３が、第１位相差設定ユニット３３１により設定された第１位相差θHMと、第２位相差設定ユニット３３２により設定された第２位相差θhmとの差θHM−θhmが最小になるように相関係数εを設定する（図１６／ステップＳ１３３）。
【０２３１】
具体的には次式（１３．４）にしたがって、左右各成分について、股関節角速度（運動振動子）ｄφH／ｄｔが０となる離散的な時間（・・，ｔid-1，ｔid，ｔid+1，・・）（図１７参照）における相関係数εが逐次設定される。
【０２３２】
ε（ｔid+1）＝ε（ｔid）−η｛Ｖ1（ｔid+1）−Ｖ1（ｔid）｝／｛ε（ｔid）−ε（ｔid-1）｝，
Ｖ（ｔid+1）≡（１／２）｛θHM（ｔid+1）−θhm（ｔid）｝2  …式（１３．４）
【０２３３】
ここで、η＝（ηL，ηR）の各成分は、第１位相差θHMの左右各成分と、第２位相差θhmの左右各成分とを近づけるポテンシャルＶ＝（ＶL，ＶR）の安定性を表す係数である。
【０２３４】
次に、第１角速度設定ユニット３３４が、相関係数設定ユニット３３３により設定された相関係数εに基づき、仮想誘導振動子θmの固有角速度ωmが一定であるという条件下で、左右各成分について、第１および第２位相差の差θHM−θhmの各成分が最小となるように仮想運動振動子θhの角速度ωhを次式（１３．５）にしたがって設定する（図１６／ステップＳ１３４）。
【０２３５】
ωh（ｔid）
＝−α∫ｄｔ・（［４ε（ｔid）2−｛ωh（ｔ）−ωm（ｔid）｝2］1/2
×ｓｉｎ［ａｒｃ-1｛（ωh（ｔ）−ωm（ｔid-1））／２ε（ｔid）｝−θHM（ｔid）］）  …式（１３．５）
【０２３６】
ここで、α＝（αL，αR）の各成分は系の安定性を表す係数である。
【０２３７】
続いて、第２角速度設定ユニット３３５が、左右各成分について、第１角速度設定ユニット３３４により設定された仮想運動振動子θhの角速度ωhに基づき、仮想誘導振動子θmの角速度ωmを新たな固有角速度ωMとして設定する（図１６／ステップＳ１３５）。具体的には、第２角速度設定ユニット３３５が、左右各成分について、第２位相差θhmが目標位相差θdに近づくように、次式（１３．６）にしたがって仮想誘導振動子θmの角速度ωm＝（ωmL，ωmR）を設定する。
【０２３８】
ωm（ｔid）
＝β∫ｄｔ・（［４ε（ｔid）2−｛ωh（ｔid）−ωm（ｔ）｝2）
×ｓｉｎ［ｓｉｎ-1｛（ωh（ｔid）−ωm（ｔ））／２ε（ｔid）｝−θd］）  …式（１３．６）
【０２３９】
ここで、β＝（βL，βR）の各成分は系の安定性を表す係数である。
【０２４０】
続いて、第２振動子生成ユニット３４０が、運動振動子測定ユニット３０２により測定された股関節角度φHと、固有角速度設定ユニット３３０により設定された新たな固有角速度ωMとに基づき、第２モデルにしたがって第２振動子ｙ＝（ｙL+，ｙL-，ｙR+，ｙR-）を生成する（図１６／ステップＳ１４０）。「第２モデル」は複数の神経要素等、複数の第２要素の相関関係を表現するモデルである。具体的には「第２モデル」は入力振動信号に応じて当該新たな固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。第２モデルはたとえば次式（１５）の連立微分方程式により表現される。当該連立微分方程式には左大腿部の屈曲方向（前方）および伸展方向（後方）のそれぞれへの運動を支配する神経要素Ｌ＋およびＬ−、並びに右大腿部の屈曲方向および伸展方向のそれぞれへの運動を支配する神経要素Ｒ＋およびＲ−の膜電位の変動に対応する状態変数ｕi（ｉ＝Ｌ＋，Ｌ−，Ｒ＋，Ｒ−）と、神経要素ｉの順応効果が反映される自己抑制因子ｖiとが含まれている。第２振動子生成ユニット３４０により、股関節角度φHが当該入力振動信号として第２モデルに入力されることにより、当該出力振動信号として第２振動子ｙが生成される。
【０２４１】
τ1L+・ｄｕL+／ｄｔ
＝−ｕL+＋ｗL+/L-ｙL-＋ｗL+/R+ｙR+−λLｖL+＋ｆ1（ωML）＋ｆ2（ωML）Ｋ（φL），
τ1L-・ｄｕL-／ｄｔ
＝−ｕL-＋ｗL-/L+ｙL+＋ｗL-/R-ｙR-−λLｖL-＋ｆ1（ωML）＋ｆ2（ωML）Ｋ（φL），
τ1R+・ｄｕR+／ｄｔ
＝−ｕR+＋ｗR+/L+ｙL+＋ｗR+/R-ｙR-−λRｖR+＋ｆ1（ωMR）＋ｆ2（ωMR）Ｋ（φR），
τ1R-・ｄｕR-／ｄｔ
＝−ｕR-＋ｗR-/L-ｙL-＋ｗR-/R+ｙR+−λRｖR-＋ｆ1（ωMR）＋ｆ2（ωMR）Ｋ（φR），
τ2i・ｄｖi／ｄｔ＝−ｖi＋ｙi，
ｙi＝Ｈ（ｕi−ｕth），Ｈ≡０（ｕi＜ｕth），１（ｕi≧ｕth）または
＝ｆｓ（ｕi）≡１／｛１＋ｅｘｐ（−ｕi／ξ）｝  …式（１５）
【０２４２】
ここで、τ1iは状態変数ｕiの変化特性を規定する時定数であり、左右各成分について、次式（１５．１）によって表されているように、新たな固有角速度ωMへの依存性を有する。
【０２４３】
τ1i≡ｔ（ωML）／ωML−γL  （ｉ＝Ｌ＋，Ｌ−），
≡ｔ（ωMR）／ωMR−γR  （ｉ＝Ｒ＋，Ｒ−）  …式（１５．１）
【０２４４】
ｔ（ω）はω依存性を有する係数である。γ＝（γL，γR）は定数である。
【０２４５】
また、τ2iは自己抑制因子ｖiの変化特性を規定する時定数である。さらに、ｗi/j（＜０）は複数の第２要素（神経要素）ｉおよびｊの相関関係を第２モデルにしたがって生成される複数の出力振動信号の相関関係に反映させるための第２相関係数（定数）である。「λL」および「λR」は慣れ係数である。Ｋは股関節角度φHに応じたフィードバック係数である。
【０２４６】
「ｆ1」および「ｆ2」はそれぞれ次式（１５．２）および（１５．３）により定義される関数である。
【０２４７】
ｆ1（ω）≡ｃ・ω（ｃ＞０）  …式（１５．２）
ｆ2（ω）≡ｃ0＋ｃ1ω＋ｃ2ω2  …式（１５．３）
【０２４８】
新たな固有角速度ωMの関数であるｆ1（ωM）およびｆ2（ωM）の係数ｃ，ｃ0，ｃ1，ｃ2は、目標運動設定ユニット３１１によって設定された目標となる運動リズムに応じた係数として設定されうる。
【０２４９】
なお、股関節角度φHに代えてまたは加えて、股関節角速度ｄφH／ｄｔや、膝関節、足関節、肩関節、肘関節の角度や角速度、さらにはユーザの着地音、呼吸音、意図的な発声音等、歩行運動リズムと連関したリズムで変動する種々の振動子に基づき、第２振動子ｙiが生成されてもよい。
【０２５０】
第２振動子ｙiは、状態変数ｕiの値が閾値ｕth未満である場合は０、状態変数ｕiの値が閾値ｕth以上である場合はこのｕiの値をとる。或いは、第２振動子ｙiは、シグモイド関数ｆｓによって定義されている（式（１５）参照）。これにより、大腿部の屈曲方向（前方）への動きについてはこの動きを支配する第２要素（神経要素）Ｌ＋、Ｒ＋の出力である第２振動子ｙL+およびｙR+が、他の第２要素の出力よりも大きくなる。また、大腿部の伸展方向（後方）への動きについてはこの動きを支配する第２素子Ｌ−、Ｒ−の出力である第２振動子ｙL-およびｙR-が、他の第２要素の出力よりも大きくなる。脚体（大腿部）の前方または後方への動きは、たとえば、股関節角速度ｄφH／ｄｔの極性によって識別される。
【０２５１】
次に、誘導振動子生成ユニット３５０が、通信部３９０により全方向移動杖１から受信した重心速度推定値Ｖb_xy_sと、運動振動子測定ユニット３０２によって測定された股関節角度φHと、運動振動子測定ユニット３０２によって測定された股関節角速度ｄφH／ｄｔと、第２振動子生成ユニット３４０により生成された第２振動子ｙiと、固有角速度設定ユニット３３０によって設定された新たな固有角速度ωMとに基づき、誘導振動子ｚを設定する（図１６／ステップＳ１５０）。
【０２５２】
具体的には、次式（１７）にしたがって第１誘導振動子ｚ1が生成される（図１６／ステップＳ１５１）。
【０２５３】
ｚ1L＝ｇ1+（ｐ0，ωML）ｇ+（ｑ0，φHL）ｙL+−ｇ1-（ｐ0，ωML）ｇ-（ｑ0，φHL）ｙL-，
ｚ1R＝ｇ1+（ｐ0，ωMR）ｇ+（ｑ0，φHR）ｙR+−ｇ1-（ｐ0，ωMR）ｇ-（ｑ0，φHR）ｙR-，
ｐ0≡（ｖ／ｋ0）1/2，ｑ0≡（ｖｋ0）1/2  …式（１７）
【０２５４】
ここで「ｇ1+」「ｇ1-」「ｇ+」および「ｇ-」は次式（１７．１）〜（１７．４）のそれぞれによって定義される関数である。
【０２５５】
ｇ1+（ｐ0，ω）≡Σkａk+（ｐ0）ωk 
（ａk+（ｐ0）：係数，ｋ＝０〜３）  …式（１７．１）
ｇ1-（ｐ0，ω）≡Σkａk-（ｐ0）ωk 
（ａk-（ｐ0）：係数，ｋ＝０〜３）  …式（１７．２）
ｇ+（ｑ0，φ）≡ｃ1+（φ−φ0+（ｑ0））＋ｃ2+（φ−φ0+（ｑ0））3
（ｃ1+，ｃ2+：係数，φ0+：屈曲方向の股関節角度φHの目標値）  …式（１７．３）
ｇ-（ｑ0，φ）≡ｃ1-（φ−φ0-（ｑ0））＋ｃ2-（φ−φ0-（ｑ0））3
（ｃ1-，ｃ2-：係数，φ0-：伸展方向の股関節角度φHの目標値）  …式（１７．４）
【０２５６】
股関節角度φHの目標角度φ0+（ｑ0），φ0-（ｑ0）は目標歩行比ｋ0および歩行速度ｖに応じた推奨歩幅ｑ0（＝（ｖｋ0）1/2）の関数であり、ユーザの歩幅ｑ（＝ｖ／ｐ）と推奨歩幅ｑ0との偏差δｑに基づいて補正されうる。この歩行速度ｖには、全方向移動杖１から受信したＶb_xy_sを用いる。また、第１係数ｇ1+（ｐ0，ωM），ｇ1-（ｐ0，ωM）に含まれる係数ａk+（ｐ0），ａk-（ｐ0）は目標歩行比ｋ0および歩行速度ｖ（＝Ｖb_xy_s）に応じた推奨歩行率ｐ0（＝（ｖ／ｋ0）1/2）の関数であり、ユーザの歩行率ｐ（＝ｖ／ｑ）と推奨歩行率ｐ0との偏差δｐに基づいて補正されうる。
【０２５７】
第１誘導振動子ｚ1は、第１係数ｇ1+およびｇ1-をそれぞれバネ係数（弾性係数）とす
る、図１８に示されている２つの仮想的なバネＧ1+およびＧ1-の弾性力として表現されている。第１係数ｇ1+およびｇ1-は、歩行速度ｖおよび固有角速度ωMに応じて、股関節角度φHを目標運動スケールに応じた目標角度φ0+（＞０）およびφ0-（＜０）に近付ける第１ポテンシャル（仮想的なバネ（弾性要素）のポテンシャル）のグラディエントを表現している（式（１７．１）（１７．２）参照）。すなわち、第１誘導振動子ｚ1は、第１ポテンシャルに応じた第１係数ｇ1+，ｇ1-を弾性係数（バネ係数）とし、かつ、股関節角度φHの値を目標角度φ0+およびφ0-に復元させる仮想的なバネ等の弾性要素による弾性力として表現される。これにより、第１誘導振動子ｚ1により、股関節角度φHが目標歩行比ｋ0および歩行速度ｖに応じた目標角度φ0+，φ0-に一致するように、かつ、筋肉の収縮状態から伸展状態への移行時の弾性力等、ユーザの身体の弾性要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
【０２５８】
仮想的なバネＧ1+による弾性力は、そのバネ係数ｇ1+に応じて股関節角度φHをその目標値φ0+に近付けるようにユーザの大腿部に作用する（式（１７）参照）。すなわち、股関節角度φHが目標値φ0+未満である場合、バネＧ1+による弾性力が股関節角度φHを増加させる方向（前方）に大腿部を動かすようにこの大腿部に作用する。また、股関節角度φHが目標値φ0+を超えた場合、バネＧ1+による弾性力が、股関節角度φHを減少させる方向（後方）に大腿部を動かすようにこの大腿部に作用する。
【０２５９】
また、他方の仮想的なバネＧ1-による弾性力は、そのバネ係数ｇ1-に応じて、股関節角度φHをこの目標値φ0-に近付けるようにユーザの大腿部に作用する（式（１７）参照）。すなわち、股関節角度φHが目標値φ0-を超えている場合、バネＧ1-による弾性力が、股関節角度φHを減少させる方向（後方）に大腿部を動かすようにこの大腿部に作用する。また、股関節角度φHが目標値φ0-を下回った場合、バネＧ1-による弾性力が股関節角度φHを増加させる方向（前方）に大腿部を動かすようにこの大腿部に作用する。
【０２６０】
また、前記のように大腿部の前方への動きおよび後方への動きの別に応じて複数の第２要素ｉ（＝Ｌ＋，Ｌ−，Ｒ＋，Ｒ−）のうち一部から偏重的に出力があるので、２つの仮想的なバネＧ1+およびＧ1-のそれぞれの弾性力が相殺される事態が回避される。
【０２６１】
すなわち、左の大腿部が前方に動いているとき、この動きを支配する第２要素Ｌ＋に応じた第２振動子ｙL+の値が他の第２要素Ｌ−に応じた第２振動子ｙL-の値より大きくなって、式（１７）により表されている第１誘導振動子ｚ1Lが次式（１７ａ）のように表される（または近似される）。
【０２６２】
ｚ1L＝ｇ1+（ωmL）ｇ+（φHL）ｙL+  …式（１７ａ）
【０２６３】
このため、左の大腿部が前方に動いているとき、２つの仮想的なバネＧ1+およびＧ1-のそれぞれの弾性力のうち、股関節角度φHを前側の目標値φ0+に近付けるようにユーザの大腿部に作用するバネＧ1+の弾性力が偏重的に反映されることとなる。これにより、２つの仮想的なバネＧ1+およびＧ1-のそれぞれの弾性力が相殺される事態が回避される。
【０２６４】
また、左の大腿部が後方に動いているとき、この動きを支配する第２要素Ｌ−の出力が他の第２要素Ｌ＋の出力より大きくなり、これによって第２要素Ｌ−に応じた第２振動子ｙL-の値が第２要素Ｌ＋に応じた第２振動子ｙL+の値より大きくなって、式（１７）によって表されている第１誘導振動子ｚ1Lは次式（１７ｂ）のように表される（または近似される）。
【０２６５】
ｚ1L＝−ｇ1-（ωmL）ｇ-（φHL）ｙL-  …式（１７ｂ）
【０２６６】
このため、左の大腿部が後方に動いているとき、２つの仮想のバネＧ1+およびＧ1-のそれぞれの弾性力のうち、股関節角度φHを後側の目標値φ0-に近付けるようにユーザの大腿部に作用する仮想のバネＧ1-の弾性力が偏重的に反映されることとなる。これにより、２つの仮想的なバネＧ1+およびＧ1-のそれぞれの弾性力が相殺される事態が回避される。これは、右の脚体（大腿部）の動きについても同様である。
【０２６７】
なお、股関節角速度ｄφH／ｄｔを変数とするシグモイド関数ｆｓ（式（１５）参照）が第１係数ｇ1+，ｇ1-に組み込まれ、これにより股関節角速度ｄφH／ｄｔの極性により特定される大腿部の前後への動きの別に応じて、複数の第２要素ｉの出力としての第２振動子ｙiのうち一部が偏重的に反映された形で第１トルクＴ1が生成されてもよい。これによっても、２つの仮想的なバネＧ1+およびＧ1-のそれぞれの弾性力が相殺される事態が回避されうる。
【０２６８】
なお、股関節角度φHの目標値φ0+およびφ0-は、歩行補助装置２００に設けられている設定ボタン（図示略）の操作を通じて、ユーザによって設定された目標とする「歩幅」に基づき、ユーザの股関節角度φHを含む脚体の姿勢の幾何学的条件にしたがって設定されてもよい。また、第１係数ｇ1+（ｐ0，ωM）およびｇ1-（ｐ0，ωM）のそれぞれに含まれる係数ａk+およびａk-は、歩行補助装置２００に設けられている設定ボタン（図示略）の操作を通じて、ユーザによって設定された目標とする「歩行率」に応じて設定されてもよい。
【０２６９】
さらに、次式（１９）にしたがって第２誘導振動子ｚ2が設定される（図１６／ステップＳ１５２）。
【０２７０】
ｚ2L＝−ｇ2+（ｐ0，ωmL）（ｄφHL／ｄｔ）Ｈ+（φHL）ｙL+
＋ｇ2-（ｐ0，ωmL）（ｄφHL／ｄｔ）Ｈ-（φHL）ｙL-，
ｚ2R＝−ｇ2+（ｐ0，ωmR）（ｄφHR／ｄｔ）Ｈ+（φHR）ｙR+
＋ｇ2-（ｐ0，ωmR）（ｄφHR／ｄｔ）Ｈ-（φHR）ｙR-  …式（１９）
【０２７１】
ここで「ｇ2+」「ｇ2-」「Ｈ+」および「Ｈ-」は次式（１９．１）〜（１９．４）のそれぞれによって定義される関数である。
【０２７２】
ｇ2+（ｐ0，ω）≡Σkｂk+（ｐ0）ωk 
（ｂk+（ｐ0）：係数，ｋ＝０〜３）  …式（１９．１）
ｇ2-（ｐ0，ω）≡Σkｂk-（ｐ0）ωk 
（ｂk-（ｐ0）：係数，ｋ＝０〜３）  …式（１９．２）
Ｈ+（φ）≡０（φ≦０），１（φ＞０）  …式（１９．３）
Ｈ-（φ）≡０（φ＞０），１（φ≦０）  …式（１９．４）
【０２７３】
第２係数ｇ2+（ｐ0，ωM），ｇ2-（ｐ0，ωM）に含まれる係数ｂk+（ｐ0），ｂk-（ｐ0）は目標歩行比ｋ0および歩行速度ｖ（＝Ｖb_xy_s）に応じた推奨歩行率ｐ0（＝（ｖ／ｋ0）1/2）の関数であり、ユーザの歩行率ｐ（＝ｖ／ｑ）と推奨歩行率ｐ0との偏差δｐに基づいて補正されうる。
【０２７４】
第２誘導振動子ｚ2は、第２係数ｇ2+およびｇ2-をそれぞれダンパ係数（減衰係数）とする、図１８に示されている２つの仮想的なダンパＧ2+およびＧ2-の減衰力として把握される。第２係数ｇ2+およびｇ2-は、固有角速度ωMに応じて股関節角度φHの絶対値の増大を抑制する第２ポテンシャル（仮想的なダンパ（減衰要素）のポテンシャル）のグラディエントを特定するものである（式（１９．１）（１９．２）参照）。すなわち、第２誘導振動子ｚ2は、第２ポテンシャルに応じた第２係数ｇ2+，ｇ2-を減数係数（ダンパ係数）とし、かつ、股関節角速度ｄφH／ｄｔに応じて股関節角度φHの絶対値の増大を抑制する仮想的なダンパ等の減衰要素による減衰力として表現される。第２誘導振動子ｚ2により、股関節角速度ｄφH／ｄｔに応じて股関節角度φHの絶対値の増大が抑制されるように、かつ、筋肉の伸展状態から屈曲状態への移行時の粘性力等、ユーザの身体の減衰要素が反映されたリズムおよびスケールをもってユーザの運動が誘導され得る。
【０２７５】
一方の仮想的なダンパＧ2+による減衰力は、そのダンパ係数ｇ2+および股関節角速度ｄφH／ｄｔに応じて、前側（屈曲側）への股関節角度φHの絶対値の増大を抑制するようにユーザの大腿部に作用する（式（１９）参照）。すなわち、仮想的なダンパＧ2+による減衰力は、大腿部の前方への過剰な動きを抑制するようにこの大腿部に作用する。
【０２７６】
また、他方の仮想的なダンパＧ2-による弾性力は、そのダンパ係数ｇ2-および股関節角速度ｄφH／ｄｔに応じて後側（伸展側）への股関節角度φHの絶対値の増大を抑制するようにユーザの大腿部に作用する（式（１９）参照）。すなわち、仮想的なダンパＧ2-による減衰力は、大腿部の後方への過剰な動きを抑制するようにこの大腿部に作用する。
【０２７７】
また、第２誘導振動子ｚ2には、股関節角度φHの関数としての階段関数Ｈ+，Ｈ-が含まれている。したがって、２つの仮想的なダンパＧ2+およびＧ2-のそれぞれの減衰力が相殺される事態が回避される。
【０２７８】
固有角速度ωMの関数である第２係数ｇ2+（ωM）およびｇ2-（ωM）のそれぞれに含まれる係数ｂk+およびｂk-は、目標運動設定ユニット３１１により設定される目標となる運動リズムに応じた係数として設定されうる。なお、当該係数ｂk+およびｂk-は、歩行補助装置２００に設けられている設定ボタン（図示略）の操作を通じて、ユーザによって設定された目標とする「歩行率」に応じて設定されてもよい。
【０２７９】
そして、誘導振動子生成ユニット３５０により生成された第１誘導振動子ｚ1＝（ｚ1L，ｚ1R）と、第２誘導振動子ｚ2＝（ｚ2L，ｚ2R） とを含む誘導振動子ｚ（＝ｚ1＋ｚ2）に応じた電流Ｉ＝（ＩL，ＩR）が電池２０６から左右のアクチュエータ２１０にそれぞれ供給され、ユーザの大腿部に力（股関節回りのトルク）Ｔ＝（ＴL，ＴR）が作用する。
【０２８０】
以後、前記処理（図１６／ステップＳ１０１，ステップＳ１０２，・・，ステップＳ１５０）が繰り返されることで、ユーザは歩行補助装置２００によって股関節回りのトルクＴが作用している状態で歩行する。
【０２８１】
前記機能を発揮する本実施形態の歩行補助装置２００およびその制御システム３００によれば、主に次の理由により、ユーザの運動リズムをその目標とする運動リズムに一致させるようにユーザの運動が誘導されうる。
【０２８２】
すなわち、股関節角速度ｄφH／ｄｔが入力振動信号として第１モデルに入力されることにより、第１モデルの出力振動信号としての第１振動子ｘが生成される。「第１モデル」は入力振動信号と相互に引き込み合うことで固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。これにより、「第１振動子」はファン・デル・ポル方程式（式（１１）参照）の性質である「相互引き込み」の効果によってユーザの股関節角速度ｄφH／ｄｔのリズムと調和しながら、固有角速度ωMに基づいて定まる自律的なリズムまたは角速度をもって振動または時間変化する。
【０２８３】
しかるに、第１振動子ｘは、ユーザの歩行運動リズムと装置によるその運動の誘導リズムとの調和を図りながらユーザの歩行運動リズムを目標運動リズムに一致させる観点から、ユーザの股関節角速度ｄφH／ｄｔと不適当な位相差を有している可能性がある。したがって、第１振動子ｘから直接的に誘導振動子ｚが生成された場合、この誘導振動子ｚに応じた角速度で時間変化する股関節回りのトルクＴによって誘導されたユーザの歩行運動リズムが、目標リズムから乖離してしまうおそれがある。
【０２８４】
そこで、仮想的な仮想モデルにおける２つの振動子θhおよびθmの関係がユーザの股関節角速度ｄφH／ｄｔと第１振動子ｘとの位相差θHMを目標位相差θdに近づけるように設定される。詳細には、第１位相差θHMと当該２つの振動子θhおよびθmの位相差θhmとの差が最小になるように仮想モデルにおける相関係数εが設定される（図１６／ステップＳ１３３）。また、当該２つの振動子θhおよびθmの位相差（第２位相差）θhmを目標位相差θdに近づけるように２つの振動子θhおよびθmの角速度ωhおよびωmが設定され、後者が新たな固有角速度ωMとして設定される（図１６／ステップＳ１３４，ステップＳ１３５）。これにより、新たな固有角速度ωMは、股関節角速度ｄφH／ｄｔにより特定されるユーザの運動リズムとの調和の、目標位相差θdに応じた調和を図りながら、ユーザの運動リズムを目標運動リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当するものとなる。その後、新たな固有角速度ωMが反映された形での第１振動子ｘの生成（図１６／ステップＳ１１０）が繰り返されることにより、第１振動子ｘのリズムと股関節角速度ｄφH／ｄｔ等の第１運動振動子のリズムとの調和を図りながら、第１位相差θHMの目標位相差θdからの偏差を徐々に減少させることができる。これにより、ユーザの運動リズムが急に変化した場合でも、この変化への誘導振動子ｚひいてはトルクＴの追従性を、ユーザに違和感等を与えない観点から適当なものとし、ユーザの運動リズムを目標運動リズムに適度なペースで徐々に一致させることができる。
【０２８５】
続いて、股関節角度φHが入力振動信号として第２モデルに入力され、第２モデルからの出力振動信号として第２振動子ｙが生成される。「第２モデル」は入力振動信号に基づき、新たな固有角速度ωMに基づいて定まる角速度で時間変化する出力振動信号を生成するモデルである。これにより、当該新たに設定された固有角速度ωMひいては出力振動信号の時定数τ1i（ωML）が反映された形でに基づいて定まる角速度で時間変化する第２振動子ｙiが生成される（図１６／ステップＳ１４０）。さらに、第２振動子ｙiに基づいて誘導振動子ｚが生成される（図１６／ステップＳ１５０）。これにより、この誘導振動子ｚに応じて大腿部に作用するトルクＴによって誘導されたユーザの運動リズムと誘導リズムとを調和させながら、ユーザの運動リズムを目標リズムに一致させることができる。これは、歩行補助装置２００による誘導リズムがユーザの運動リズムに調和し、かつ、ユーザの運動リズムも歩行補助装置２００による誘導リズムに調和するという形のユーザ（人間）と装置（機械）との調和（相互の歩み寄り）を意味する。
【０２８６】
また、ユーザの運動振動子と歩行補助装置２００による誘導振動子ｚとの位相差が、正の目標位相差に一致するようにユーザの運動が誘導されることにより、ユーザは歩行補助装置２００を先導する形で歩行（運動）することができる。さらに、ユーザの運動振動子と歩行補助装置２００による誘導振動子ｚとの位相差が、負の目標位相差に一致するようにユーザの運動が誘導されることにより、ユーザは歩行補助装置２００によって先導される形で歩行（運動）することができる。
【０２８７】
前記機能を発揮する歩行補助装置２００およびその制御システム３００によれば、主に次の理由により、ユーザの運動スケールをその目標とするスケールに一致させるようにユーザの運動が誘導されうる。
【０２８８】
すなわち、第１誘導振動子ｚ1に含まれている第１係数ｇ1+，ｇ1-は、ユーザの股関節角度φHをその目標値φ0+，φ0-に近付けるための仮想的なバネの弾性係数を表す。また、第１係数ｇ1+，ｇ1-は固有角速度ωM（＝仮想誘導振動子θmの角速度ωm）に応じたものである（式（１７．１）（１７．２）参照）。固有角速度ωMは前記のようにユーザの運動リズムとの調和を図りつつ、ユーザの運動リズムを目標リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当する。
【０２８９】
さらに、第２誘導振動子ｚ2に含まれている第２係数ｇ2+，ｇ2-は、股関節角度φHの絶対値の増大を抑制する仮想的なダンパの減衰係数を表す。また、第２係数ｇ2+，ｇ2-は固有角速度ωMに応じたものである（式（１９．１）（１９．２）参照）。固有角速度ωMは前記のようにユーザの運動リズムとの調和を図りつつ、ユーザの運動リズムを目標リズムに一致させるようにユーザの運動を誘導するという観点から適当な振動子の角速度に相当する。
【０２９０】
したがって、新たな固有角速度ωMに応じた第１係数ｇ1+（ωM），ｇ1-（ωM）が反映された形で第１誘導振動子ｚ1が生成され、かつ、固有角速度ωMに応じた第２係数ｇ2+（ωM），ｇ2-（ωM）が反映された形で第２誘導振動子ｚ2が生成されることで、ユーザの運動リズムと誘導振動子ｚのリズムとの調和、およびユーザの運動リズムと目標リズムとの一致を図りながら、ユーザの運動スケールが目標スケールに近付くようにユーザの運動が誘導されうる。
【０２９１】
以上のように、歩行補助装置２００は、ユーザの運動のリズムおよびスケールをその目標とするリズムおよびスケールにそれぞれ一致させるようにユーザの運動（歩行）を誘導しうる。
【０２９２】
また、ユーザの歩行状態に応じて、このユーザの目標運動リズムおよびスケールに応じた係数（φ0+，φ0-，ａk+，ａk-，ｂk+，ｂk-，・・）等が設定される（図１６／ステップＳ１１１）。したがって、ユーザの運動リズムおよびスケールを、このユーザの「歩行状態」に応じた目標リズムおよびスケールのそれぞれに一致させる観点から適当なリズムおよびスケールをもってユーザの運動が誘導されうる。このとき、全方向移動杖１から受信したユーザの歩行速度Ｖb_xy_sに基づいて歩行補助装置２００の動作が制御される。これにより、全方向移動杖１と歩行補助装置２００とが同期した速度により協調して動作する。
【０２９３】
さらに、ユーザの歩行状態に応じて、目標位相差θdが設定される（図１６／ステップＳ１１２）。したがって、ユーザの股関節角速度ｄφH／ｄｔと歩行補助装置２００による誘導振動子ｚ（ひいては股関節回りのトルクＴ）との位相差が、ユーザの「歩行状態」に応じた目標位相差θdに近づくように、このユーザの運動が誘導されうる。これにより、ユーザの歩行状態の変動に応じて、ユーザの運動リズムを目標リズムに近づける観点から適当なリズムでユーザの運動が誘導（補助）される。
【０２９４】
また、複数の第１要素の相関関係を表現する第１モデルにしたがって、第１要素の出力振動信号として第１振動子ｘが生成される（式（１１），図１６／ステップＳ１２０）。これにより、ユーザの実際の運動に関係する複数の第１要素の相関関係を第１モデルにおける複数の出力振動信号の関係を表す第１相関係数ｇに反映させることで、当該複数の第１要素の相関関係に鑑みて適当な第１振動子ｘが生成されうる。たとえば複数の第１要素として左右の脚体や同一脚体の複数の関節が想定された場合、交互に前後に動く等の左右の脚体の定性的関係や股関節回りの脚体運動と膝関節回りの脚体運動との周期や位相差等の同一脚体の関節間の定性的関係等が反映された形で第１振動子ｘが生成される。したがって、ユーザの運動を誘導する誘導振動子のリズムおよびスケールを当該関係に鑑みて適当なものとすることができる。
【０２９５】
さらに、複数の第２要素の相関関係を表現する第２モデルにしたがって、第２要素の出力振動信号として第２振動子ｙiが生成される（式（１５），図１６／ステップＳ１４０）。これにより、ユーザの実際の運動に関係する現実の複数の第２要素の相関関係を第２モデルにしたがって生成される複数の（第２要素の）出力振動信号の相関関係を表す第２相関係数ｗi/jに反映させることで、当該複数の第２要素の相関関係に鑑みて適当な第２振動子が生成されうる。たとえば複数の第２要素としてユーザの複数の神経（ニューロン）が想定された場合、左右の脚体による歩行を支配するニューロン間の定性的関係等が反映された形で第２振動子ｙiが生成される。したがって、ユーザの運動を誘導する誘導振動子のリズムおよびスケールを当該関係に鑑みて適当なものとすることができる。
【０２９６】
ここで、ユーザの運動のリズムおよびスケールをその目標とするリズムおよびスケールにそれぞれ一致させるようにユーザの運動を誘導しうるという本実施形態の歩行補助装置２００の作用効果について、図１９および図２０を用いて説明する。
【０２９７】
この作用効果は、図１９および図２０にそれぞれ示されている「歩行率」−「歩幅」平面において原点を通る直線（たとえば、直線Ｌ1，Ｌ2）の傾きとして表現される「歩行比（＝歩幅／歩行率）」が、目標とする歩行比に一致することを意味する。これは、歩行率および歩幅がそれぞれユーザの歩行（運動）のリズムおよびスケールを表しているため、ユーザの歩行運動リズムおよびスケールが目標リズムおよびスケールにそれぞれ一致した場合、ユーザの歩行運動リズムおよびスケールの相関関係が目標リズムおよびスケールの相関関係に一致することになるからである。
【０２９８】
たとえばユーザが図１９に示されている双曲線ｖにより表される「速度（＝歩行率×歩幅）」、並びに双曲線ｖ上の点ｓにより表される「歩行率」および「歩幅」で歩行している状態を考える。双曲線ｖにより表される速度が目標として設定され、かつ、直線Ｌ1により表される歩行比が目標として設定されている場合、当該双曲線ｖおよび直線Ｌ1の交点ｓ1により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置２００によってユーザの動きが誘導（補助）される（図１９／矢印Ａ１参照）。すなわち、ユーザの歩行状態は、歩行速度が維持されたまま、大股でゆっくりと歩行する状態へと徐々に誘導される。また、この状態で双曲線ｖにより表される速度が目標として設定され、かつ、直線Ｌ2により表される歩行比が目標として設定されている場合、反比例曲線ｖおよび直線Ｌ2の交点ｓ2により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置２００によってユーザの動きが誘導（補助）される（図１９／矢印Ａ２）。これにより、ユーザの歩行状態は、歩行速度が維持されたまま、ユーザが小股でせわしなく歩行する状態へと徐々に誘導される。
【０２９９】
また、たとえば、ユーザが図２０に示されている点ｓにより表される「歩行率」および「歩幅」で歩行している状態を考える。点ｓを通る縦直線により表される歩行率が目標として設定され、かつ、直線Ｌ1により表される歩行比が目標として設定されている場合、当該縦直線および直線Ｌ1の交点ｓ1により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置２００によってユーザの動きが誘導（補助）される（図２０／矢印Ａ１参照）。すなわち、ユーザの歩行状態は、ユーザが歩行リズムを維持したまま大股で歩行する状態へと徐々に誘導される。また、この状態で点ｓを通る縦直線により表される歩行率が目標として設定され、かつ、直線Ｌ2により表される歩行比が目標として設定されている場合、当該縦直線および直線Ｌ2の交点ｓ2により表される歩行率および歩幅をもってユーザが歩行するように、歩行補助装置２００によってユーザの動きが誘導（補助）される（図２０／矢印Ａ２）。これにより、ユーザの歩行状態は、ユーザが歩行リズムを維持したまま小股で歩行する状態へと徐々に誘導される。
【０３００】
[第２の実施形態]
上述した第１の実施形態の歩行アシストシステムは、全方向移動杖１において得られた移動速度に基づいて歩行補助装置２００を制御しているが、第２の実施形態では、歩行補助装置２００において測定したユーザの歩行速度に基づいて全方向移動杖１を制御する。
以下、第１の実施形態との差分を説明する。
【０３０１】
まず、本実施形態における全方向移動杖１について説明する。
本実施形態における全方向移動杖１の制御ユニット５０は、ステップＳ９の車両制御演算処理を実行するための機能として、図１０に示す機能に代えて、図２１のブロック図で示す機能を備えている。
【０３０２】
同図において、図１０と同じ構成には同じ符号を付し、その説明を省略する。図２１において、図１０に示す第１の実施形態と異なる点は、要求重心速度生成部７４に代えて要求重心速度生成部７４ａを備え、通信部８９に代えて通信部８９ａを備える点である。通信部８９ａは、歩行補助装置２００から歩行速度Ｖb_xy_syncを無線または有線により受信し、要求重心速度生成部７４ａに出力する。また、要求重心速度生成部７４ａは、歩行補助装置２００から受信した同期歩行速度Ｖb_xy_syncに基づいて要求重心速度Ｖb_xy_aimを決定する。
【０３０３】
上記の構成により、本実施形態の全方向移動杖１において、要求重心速度生成部７４ａは、歩行モードの場合、通信部８９ａを介して歩行補助装置２００から受信した同期歩行速度Ｖb_xy_syncを要求重心速度Ｖb_xy_aimに設定する。
【０３０４】
次に、本実施形態における歩行補助装置２００について説明する。
図２２は、本実施形態における歩行補助装置２００の制御システム３００の構成を示すブロック図である。同図において、図１５に示す制御システム３００と同じ構成には同じ符号を付し、その説明を省略する。同図において、本実施形態の制御システム３００が図１０に示す第１の実施形態と異なる点は、通信部３９０に代えて通信部３９０ａと接続される点、誘導振動子生成ユニット３５０に代えて誘導振動子生成ユニット３５０ａを備える点、及び、目標速度生成ユニット３６０をさらに備える点である。
【０３０５】
誘導振動子生成ユニット３５０ａは、固有角速度設定ユニット３３０により設定された固有角速度ωMと、第２振動子生成ユニット３４０により生成された第２振動子ｙとに基づき、歩行補助装置２００による誘導振動子ｚを生成する。目標速度生成ユニット３６０は、股関節角度センサ２１２より出力された股関節角度φHから得られる歩行率及び歩幅に基づき、全方向移動杖１に指示する歩行速度Ｖb_xy_syncを算出する。通信部３９０ａは、目標速度生成ユニット３６０が算出した歩行速度Ｖb_xy_syncを同期移動速度として無線または有線により全方向移動杖１に送信する。
【０３０６】
本実施形態の制御システム３００は、以下に示す処理を除き、第１の実施形態と同様の処理を行なう。
つまり、誘導振動子生成ユニット３５０ａは、運動振動子測定ユニット３０２によって測定された股関節角度φHと、運動振動子測定ユニット３０２によって測定された股関節角速度ｄφH／ｄｔと、第２振動子生成ユニット３４０により生成された第２振動子ｙiと、固有角速度設定ユニット３３０によって設定された新たな固有角速度ωMとに基づき、誘導振動子ｚを設定する（図１６／ステップＳ１５０）。
【０３０７】
具体的には、誘導振動子生成ユニット３５０ａは、第１の実施形態における式（１７）に代えて、次式（１７’）にしたがって第１誘導振動子ｚ1を生成する（図１６／ステップＳ１５１）。
【０３０８】
ｚ1L＝ｇ1+（ωML）ｇ+（φHL）ｙL+−ｇ1-（ωML）ｇ-（φHL）ｙL-，
ｚ1R＝ｇ1+（ωMR）ｇ+（φHR）ｙR+−ｇ1-（ωMR）ｇ-（φHR）ｙR-  …式（１７’）
【０３０９】
ここで「ｇ1+」「ｇ1-」「ｇ+」および「ｇ-」は次式（１７．１’）〜（１７．４’）のそれぞれによって定義される関数である。
【０３１０】
ｇ1+（ω）≡Σkａk+ωk （ａk+：係数，ｋ＝０〜３）  …式（１７．１’）
ｇ1-（ω）≡Σkａk-ωk （ａk-：係数，ｋ＝０〜３）  …式（１７．２’）
ｇ+（φ）≡ｃ1+（φ−φ0+）＋ｃ2+（φ−φ0+）3 
（ｃ1+，ｃ2+：係数，φ0+：屈曲方向の股関節角度φHの目標値）  …式（１７．３’）
ｇ-（φ）≡ｃ1-（φ−φ0-）＋ｃ2-（φ−φ0-）3 
（ｃ1-，ｃ2-：係数，φ0-：伸展方向の股関節角度φHの目標値）  …式（１７．４’）
【０３１１】
第１誘導振動子ｚ1は、第１係数ｇ1+およびｇ1-をそれぞれバネ係数（弾性係数）とする、図１８に示されている２つの仮想的なバネＧ1+およびＧ1-の弾性力として把握される。すなわち、第１誘導振動子ｚ1は、第１係数ｇ1+，ｇ1-を弾性係数（バネ係数）とし、かつ、股関節角度φHの値を目標値φ0+およびφ0-に復元させる仮想的なバネ等の弾性要素による弾性力として表現される。これにより、筋肉の収縮状態から伸展状態への移行時の弾性力等、ユーザの身体の弾性要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
【０３１２】
なお、左の大腿部が前方に動いているとき、この動きを支配する第２要素Ｌ＋に応じた第２振動子ｙL+の値が他の第２要素Ｌ−に応じた第２振動子ｙL-の値より大きくなって、式（１７’）により表されている第１誘導振動ｚ1Lは、第１の実施形態における式（１７ａ）のように表される（または近似される）。
【０３１３】
また、左の大腿部が後方に動いているとき、この動きを支配する第２要素Ｌ−の出力が他の第２要素Ｌ＋の出力より大きくなり、これによって第２要素Ｌ−に応じた第２振動子ｙL-の値が第２要素Ｌ＋に応じた第２振動子ｙL+の値より大きくなって、式（１７’）によって表されている第１誘導振動子ｚ1Lは、第１の実施形態における式（１７ｂ）のように表される（または近似される）。
【０３１４】
続いて、誘導振動子生成ユニット３５０ａは、第１の実施形態における式（１９）に代えて、次式（１９’）にしたがって第２誘導振動子ｚ2を生成する（図１６／ステップＳ１５２）。
【０３１５】
ｚ2L＝−ｇ2+（ωmL）（ｄφHL／ｄｔ）Ｈ+（φHL）ｙL+
＋ｇ2-（ωmL）（ｄφHL／ｄｔ）Ｈ-（φHL）ｙL-，
ｚ2R＝−ｇ2+（ωmR）（ｄφHR／ｄｔ）Ｈ+（φHR）ｙR+
＋ｇ2-（ωmR）（ｄφHR／ｄｔ）Ｈ-（φHR）ｙR-  …式（１９’）
【０３１６】
ここで「ｇ2+」「ｇ2-」「Ｈ+」および「Ｈ-」は次式（１９．１’）〜（１９．４’）のそれぞれによって定義される関数である。
【０３１７】
ｇ2+（ω）≡Σkｂk+ωk  （ｂk+：係数，ｋ＝０〜３）  …式（１９．１’）
ｇ2-（ω）≡Σkｂk-ωk  （ｂk-：係数，ｋ＝０〜３）  …式（１９．２’）
Ｈ+（φ）≡０（φ≦０），１（φ＞０）  …式（１９．３’）
Ｈ-（φ）≡０（φ＞０），１（φ≦０）  …式（１９．４’）
【０３１８】
第２誘導振動子ｚ2は、第２係数ｇ2+およびｇ2-をそれぞれダンパ係数（減衰係数）とする、図１８に示されている２つの仮想的なダンパＧ2+およびＧ2-の減衰力として把握される。すなわち、第２誘導振動子ｚ2は第２係数ｇ2+，ｇ2-を減数係数（ダンパ係数）とし、かつ、股関節角速度ｄφH／ｄｔに応じて股関節角度φHの絶対値の増大を抑制する仮想的なダンパ等の減衰要素による減衰力として表現される。これにより、筋肉の伸展状態から屈曲状態への移行時の粘性力等、ユーザの身体の減衰要素が反映されたリズムおよびスケールをもってユーザの運動が誘導されうる。
【０３１９】
そして、目標速度生成ユニット３６０は、股関節角度センサ２１２より出力された時系列の股関節角度φHから、１分間あたりの歩数である歩行率と歩幅を算出する。歩行による股関節角度φHは周期的に変換するため、目標速度生成ユニット３６０は、その周期により歩行率を得る。さらに、目標速度生成ユニット３６０は、股関節角度φHの変化とユーザの脚体の長さとから歩幅を得る。そして、以下の式（２１）により、全方向移動杖１と同期した目標歩行速度となる同期歩行速度Ｖb_xy_syncを算出する。
【０３２０】
歩行速度[ｍ／ｍｉｎ]＝歩行率[ｓｔｅｐ／ｍｉｎ]×歩幅[ｍ／ｓｔｅｐ]
同期歩行速度Ｖb_xy_sync＝歩行速度[ｍ／ｍｉｎ]＋ｂｉａｓ  …式（２１）
【０３２１】
ｂｉａｓを０より大きな値とすることで、全方向移動杖１が歩行速度よりも速くユーザを前方に誘導することができ、０とすることで、全方向移動杖１がユーザの歩行速度と同じ速度により歩行を誘導することができる。つまり、ｂｉａｓの値を適切に設定することにより、全方向移動杖１と歩行補助装置２００を所定の速度関係で動作させることが可能となる。
通信部３９０ａは、目標速度生成ユニット３６０により算出された同期歩行速度Ｖb_xy_syncを全方向移動杖１に送信する。
【０３２２】
以上、本発明の第１及び第２の実施形態の歩行アシストシステムについて説明してきたが、以下のように歩行アシストシステムを構成してもよい。
すなわち、第１の実施形態に、第２の実施形態を実現する構成を付加し、杖主導モードの場合は、第１の実施形態の動作を行い、歩行補助装置主導モードの場合は、第２の実施形態の動作を行う。杖主導モード、歩行補助装置主導モードの選択は、図示しない入力手段により、全方向移動杖１の制御ユニット５０、及び、歩行補助装置２００の制御システム３００に入力する。
【０３２３】
また、歩行アシストシステムとして、第２の実施形態の全方向移動杖１と、第１の実施形態の歩行補助装置２００を用い、全方向移動杖１の制御ユニット５０及び歩行補助装置２００の制御システム３００に適宜の入力手段により目標速度を設定するようにしてもよい。この場合、全方向移動杖１の制御ユニット５０は歩行補助装置２００から受信したＶb_xy_syncに代えて、設定された目標速度を用いて制御を行い、同様に、歩行補助装置２００の制御システム３００は全方向移動杖１から受信したＶb_xy_sに代えて、設定された目標速度を用いて制御を行なう。この入力手段として、ジョイスティックや、無線によるモートコントローラなどを用いることにより、例えば、リハビリ担当者がリハビリ中のユーザの状態に応じて歩行速度を変えることができる。
【０３２４】
このときさらに、全方向移動杖１の制御ユニット５０及び歩行補助装置２００の制御システム３００に、目標距離や目標時間を設定するようにしてもよい。この場合、全方向移動杖１の制御ユニット５０及び歩行補助装置２００の制御システム３００は、移動速度及び時間から算出される距離が目標距離に達したとき、あるいは、設定された目標時間が経過した場合に、目標速度を用いた制御を終了する。
また、第１の実施形態において、全方向移動杖１の制御ユニット５０に歩行経路を設定するようにしてもよい。この場合、全方向移動杖１の重心速度算出部７２は、予め設定された歩行経路に従って、ｘ方向、ｙ方向を決定する。
【０３２５】
以上説明した本発明の実施形態によれば、ユーザは、歩行補助装置２００による脚の振り出しの補助を受けならがら、全方向移動杖１によって体重を支えて歩行することが可能となる。すなわち、ユーザが支柱フレーム１３を把持し、傾斜させることによって移動する全方向移動杖１と、歩行補助装置２００によるユーザの脚の振り出しの補助とを、同期した目標移動速度により制御することができるため、ユーザのバランスや体重を支え、転倒などを防ぎながら、安定した状態で歩行を補助することができる。
【０３２６】
また、全方向移動杖１において得られた移動速度に基づいて、歩行補助装置２００によるユーザの脚の振り出しの補助を制御することができるため、ユーザによる全方向移動杖１の操作に従って、ユーザの所望速度での歩行を補助することができる。
また、歩行補助装置２００において検出した移動速度に基づいて、全方向移動杖１の移動速度を制御することができるため、ユーザの歩行速度に従って全方向移動杖１が移動し、ユーザはバランスや体重を支えながら歩行することが可能となる。
また、全方向移動杖１及び歩行補助装置２００に、リハビリメニュー等に従った目標速度、目標時間、目標距離、歩行経路を設定することによって、全方向移動杖１及び歩行補助装置２００が協働して、リハビリメニューに沿ったリハビリを補助し、ユーザを牽引することができる。
【符号の説明】
【０３２７】
１…全方向移動杖、５…車輪体（移動動作部）、７…アクチュエータ装置（移動駆動部）、９…基体、１３…支柱フレーム、７４…要求重心速度生成部（移動体制御部）、７４ａ…要求重心速度生成部（移動体制御部）、７６…重心速度制限部、８０…姿勢制御演算部（移動体制御部）、８２…モータ指令演算部（移動体制御部）、８９…通信部、８９ａ…通信部、２００…歩行補助装置、２０２…腰部装具（第１装着部）、２０６…力伝達部材（駆動部）、２０４…大腿部装具（第２装着部）、２１０…アクチュエータ（駆動部）、２１２…股関節角度センサ、３００…制御システム（歩行補助制御部）、３０２…運動振動子測定ユニット、３１０…状態測定ユニット、３１１…目標運動設定ユニット、３１２…目標位相差設定ユニット、３２０…第１振動子生成ユニット、３３０…固有角速度設定ユニット、３３１…第１位相差設定ユニット、３３２…第２位相差設定ユニット、３３３…相関係数設定ユニット、３３４…第１角速度設定ユニット、３３５…第２角速度設定ユニット、３４０…第２振動子生成ユニット、３５０…誘導振動子生成ユニット、３５０ａ…誘導振動子生成ユニット、３６０…目標速度生成ユニット、３９０…通信部、３９０ａ…通信部
【図１】
2011062463.tif 000003
【図２】
2011062463.tif 000004
【図３】
2011062463.tif 000005
【図４】
2011062463.tif 000006
【図５】
2011062463.tif 000007
【図６】
2011062463.tif 000008
【図７】
2011062463.tif 000009
【図８】
2011062463.tif 000010
【図９】
2011062463.tif 000011
【図１０】
2011062463.tif 000012
【図１１】
2011062463.tif 000013
【図１２】
2011062463.tif 000014
【図１３】
2011062463.tif 000015
【図１４】
2011062463.tif 000016
【図１５】
2011062463.tif 000017
【図１６】
2011062463.tif 000018
【図１７】
2011062463.tif 000019
【図１８】
2011062463.tif 000020
【図１９】
2011062463.tif 000021
【図２０】
2011062463.tif 000022
【図２１】
2011062463.tif 000023
【図２２】
2011062463.tif 000024