(57)【要約】【課題】乗員の習熟の程度に応じてバランスをとるための制御を変更することを実現すること。【解決手段】床面上を互いに直交する第１の方向及び第２の方向を含む全方向に駆動可能な１以上の移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体とを備えた全方向移動車両の制御装置であって、車両の所定の代表点の位置が基準位置を保つように移動動作部の移動量及び移動方向を制御する姿勢制御部と、第１の方向へ基体がふらつく程度に応じて、移動動作部の移動量に対する姿勢制御部の制御を変更する制御量変更部とを備えることを特徴とする。【選択図】図９
2011068216.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及び傾斜角速度θbdotのＹ軸周り方向の成分は、コントローラ６の傾斜角度及び傾斜角速度として計測されても良い。
【００３７】
なお、本実施形態の説明では、上記基体傾斜角度θ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を決定するゲイン調整部７８と、座面部１３の揺れを表す値である揺動指数Ｅを算出する揺動指数算出部１１０とを備える。
【００７４】
制御ユニット５０は、さらに、前記仮想車輪回転角速度指令ω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）を算出する。
なお、偏差演算部７０の処理は、ステップＳ９の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップＳ５又は７の処理の中で、偏差演算部７０の処理を実行してもよい。
【００７８】
前記揺動指数算出部１１０には、前記ステップＳ２で算出された基体傾斜角度計測値θb_xy_s（θb_x_s及びθb_y_s）が入力されると共に、同じく前記ステップＳ２で算出された基体傾斜角速度計測値θbdot_xy_s（θbdot_x_s及びθbdot_y_s）の今回値が入力される。そして、揺動指数算出部１１０は、これらの入力値から揺動指数Ｅを算出する。
揺動指数Ｅは、図８に示すような倒立振子モデルにおいて質点６０_x，６０_yの揺動の大きさを表す値であり、揺動指数Ｅの値が大きいほど質点６０_x，６０_yの揺動が大きいことを表す。言い換えれば、揺動指数Ｅの値が大きいほど、車両１の乗員がバランスを的確にとることができておらず、乗車に関する習熟度が小さいことを表す。なお、揺動指数は、本実施例において算出される値に限らず、車体２や着座部５のふらつき（例えば左右方向のふらつき）に関する計測値もしくは推定値から算出される指数であれば他の値であっても良い。
【００７９】
本実施形態における車両１は、前後方向に一列に並んだ二つの車輪（前輪３及び後輪４）を備えているため、原則的には前後方向に質点６０_xが揺動することはない。そのため、本実施形態における車両１では、以下に示すように左右方向への質点６０_yの揺動に基づいて揺動指数Ｅが決定される。したがって、揺動指数算出部１１０には、ステップＳ２で算出された基体傾斜角度計測値θb_xy_sのうち、Ｘ軸周り方向（ロール方向）の成分θb_y_sのみが入力される。また、揺動指数算出部１１０には、ステップＳ２で算出された基体傾斜角速度計測値θbdot_xy_sのうち、Ｘ軸周り方向（ロール方向）の成分θbdot_y_sのみが入力される。
具体的には、揺動指数算出部１１０は、次式１１により、揺動指数Ｅを算出する。
Ｅ＝ｗ１（θb_y_s）２＋ｗ２（θbdot_y_s）２＋ｗ３・θb_y_s・θbdot_y_s……式１１
【００８０】
この式１１において、ｗ１，ｗ２，ｗ３はそれぞれ定数であり、車両１に関するシミュレーションや実験によってあらかじめ設定される値である。
なお、揺動指数算出部１１０は、上記の式１１ではなく次式１３により揺動指数Ｅを算出しても良い。
Ｅ＝｛ｗ１（θb_y_s）２＋ｗ２（θbdot_y_s）２
＋ｗ３・θb_y_s・θbdot_y_s｝τｓ／（１＋τｓ）……式１３
また、式１３において、τはハイパスフィルタの時定数であり、車両１に関するシミュレーションや実験によってあらかじめ設定される値である。また、ｓはラプラス変換の変数である。この場合、揺動指数Ｅの値は、ｗ１，ｗ２，ｗ３それぞれの定数に係る項の和について、時定数τで定義されるハイパスフィルタにより低周波数成分をカットすることによって得られる。揺動指数Ｅの値を算出する際にハイパスフィルタにより低周波数成分をカットすることにより、一定のθb_y_sで定常円の旋回運動をしている場合に、質点６０_yが左右に揺動していないにもかかわらず揺動指数Ｅが不必要に大きくなってしまうことを抑止できる。
【００８１】
また、揺動指数算出部１１０は、次式１５により揺動指数Ｅを算出しても良い。
Ｅ＝ｗ１｛θb_y_s・τｓ／（１＋τｓ）｝２＋ｗ２｛θbdot_y_s・τｓ／（１＋τｓ）｝２＋ｗ３・｛θb_y_s・τｓ／（１＋τｓ）｝・｛θbdot_y_s・τｓ／（１＋τｓ）｝……式１５
この式１５において、ｗ１，ｗ２，ｗ３，τ，ｓはそれぞれ式１３と同じ値である。式１５では、ｗ１，ｗ２，ｗ３それぞれの定数に係る項の値が算出される際に、あらかじめ基体傾斜角度計測値b_y_s及び基体傾斜角速度計測値θbdot_y_sに対して、時定数τで定義されるハイパスフィルタによる低周波数成分のカットが行われる。このような式１５においても、一定のθb_y_sで定常円の旋回運動をしている場合に、質点６０_yが左右に揺動していないにもかかわらず揺動指数Ｅが不必要に大きくなってしまうことを抑止できる。
【００８２】
また、揺動指数算出部１１０は、次式１７により揺動指数Ｅを算出しても良い。
Ｅ＝ｗ２（θbdot_y_s）２＋ｗ３・θb_y_s・θbdot_y_s……式１７
この式１７において、ｗ２，ｗ３はそれぞれ式１１と同じ値である。式１７は、式１１において定数ｗ１の値をゼロ（０）とした場合のものと同じである。式１７では、ハイパスフィルタによる低周波成分のカットを行わない代わりに、（θb_y_s）２の値が揺動指数Ｅに影響しない。そのため、一定のθb_y_sで定常円の旋回運動をしている場合に、質点６０_yが左右に揺動していないにもかかわらず揺動指数Ｅが不必要に大きくなってしまうことを抑止できる。
【００８３】
前記重心速度算出部７２には、前記ステップＳ２で算出された基体傾斜角速度計測値θ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_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）を基に、前記ゲイン調整パラメータＫ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）と、要求重心速度生成部７４で決定された要求重心速度Ｖ_xy_aim（Ｖ_x_aim及びＶ_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・Ｅ1_x＋K2_x・θbdot_x_s・Ｅ2_x
＋K3_x・(Ｖb_x_s−Ｖb_x_mdfd)        ……式０７ｘ
ωwdot_y_cmd＝K1_y・θbe_y_s・Ｅ1_y＋K2_y・θbdot_y_s・Ｅ2_y
＋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との間で変化する。
【０１３８】
また、式０７ｙにおける各操作量成分に係わる揺動係数Ｅ1_y，Ｅ2_yは、揺動指数Ｅに応じて可変的に設定される。以降、式０７ｙにおける揺動係数Ｅ1_y，Ｅ2_yのそれぞれを第１揺動係数Ｅ1_y、第２揺動係数Ｅ2_yということがある。なお、上述したように本実施形態における車両１では左右方向への揺動に基づいて揺動指数Ｅが決定されるため、前後方向の揺動係数Ｅ1_x及びＥ2_xの値は揺動指数Ｅの変化にかかわらず常に“１”に設定される。
【０１３９】
式０７ｙにおける第ｊ揺動係数Ｅj_y（ｊ＝１，２）は、次式１９により、揺動指数Ｅに応じて決定される。
Ｅj_y＝（１−Ｅ）・Ｅj_a_y＋Ｅ・Ｅj_b_y    ……式１９
（ｊ＝１，２）
【０１４０】
ここで、式１９におけるＥj_a_y、Ｅj_b_yは、それぞれ、第ｊ揺動係数Ｅj_yの最小側（“０”に近い側）の揺動係数値、最大側（“０”から離れる側）の揺動係数値としてあらかじめ設定された定数値である。
【０１４１】
従って、式１９の演算に用いる各第ｊ揺動係数Ｅj_y（ｊ＝１，２）は、それぞれに対応する定数値Ｅj_a_y、Ｅj_b_yの重み付き平均値として決定される。そして、この場合、Ｅj_a_y、Ｅj_b_yにそれぞれ掛かる重みが、揺動指数Ｅに応じて変化させられる。このため、揺動指数Ｅ＝０である場合には、Ｅj_y＝Ｅj_a_yとなり、揺動指数Ｅ＝１である場合には、Ｅj_y＝Ｅj_b_yとなる。そして、揺動指数Ｅが“０”から“１”に近づくに伴い、第ｊ揺動係数Ｅj_yはＥj_a_yからＥj_b_y近づいていく。
【０１４２】
補足すると、上記定数値Ｋi_a_x、Ｋi_b_x及びＫi_a_y，Ｋi_b_y（ｉ＝１，２，３）と、Ｅj_a_y，Ｅj_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を処理部８０ｃで算出する。そして、姿勢制御演算部８０は、これらの操作量成分u1_x，ｕ2_x，ｕ3_xを演算部８０ｅにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_comを算出する。
【０１４４】
同様に、姿勢制御演算部８０は、上記の如く決定した第１〜第３ゲイン係数Ｋ1_y，Ｋ2_y，Ｋ3_y及び第１〜第２揺動係数Ｅ1_y，Ｅ2_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に第１揺動係数Ｅ1_yを乗じてなる操作量成分ｕ’1_yと、操作量成分ｕ2_yに第２揺動係数Ｅ2_yを乗じてなる操作量成分ｕ’2_yとをそれぞれ、処理部８０ｇ，８０ｈで算出する。そして、姿勢制御演算部８０は、これらの操作量成分u’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を“０”に収束させるべく）、主輪２０が左向きに移動する。このとき、ずれを解消すべく移動する主輪２０の移動量は、車両１の乗員の習熟の程度に応じて制御される。具体的には、乗員の習熟の程度が低い場合には、車両１の揺動が大きくなるため揺動指数Ｅが大きくなり、これに応じて揺動係数が大きく設定され、結果として姿勢制御演算部８０から出力される仮想車輪回転角速度指令ωw_y_cmdが大きくなる。一方、乗員の習熟の程度が高い場合には、車両１の揺動が小さくなるため揺動指数Ｅが小さくなり、これに応じて揺動係数が小さく設定され、結果として姿勢制御演算部８０から出力される仮想車輪回転角速度指令ωw_y_cmdが小さくなる。
なお、二輪の車両１について説明したが、一輪の車両１について同様の制御を行っても良い。この場合、前後方向にも揺動するため、θb_x_s及びθbdot_x_sについてもθb_y_s及びθbdot_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）の感度が高まる。従って、座面部１３の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、主輪２０の移動速度が制御されることとなる。従って、座面部１３が基本姿勢から大きく傾くことが強めに抑制され、ひいては、主輪２０のＸ軸方向及びＹ軸方向の一方又は両方の移動速度が、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
【０１６２】
また、搭乗モードにおいて、要求重心速度生成部７４が、乗員等の操縦操作による要求に応じて要求重心速度Ｖb_x_aim，Ｖb_y_aim（Ｖb_x_aim，Ｖb_y_aimの一方又は両方が“０”でない要求重心速度）を生成した場合には、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度が許容範囲を逸脱するような高速の回転角速度にならない限り（詳しくは図１２に示すＶw_x_lim2，Ｖw_y_lim2がＶb_x_t，Ｖb_y_tにそれぞれ一致する限り）、要求重心速度Ｖb_x_aim，Ｖb_y_aimがそれぞれ前記制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。このため、要求重心速度Ｖb_x_aim，Ｖb_y_aimを実現するように（実際の重心速度が要求重心速度Ｖb_x_aim，Ｖb_y_aimに近づくように）、主輪２０の移動速度が制御される。
【０１６３】
次に、説明を後回しにした、前記要求重心速度生成部７４の処理の詳細を説明する。
要求重心速度生成部７４は、本実施形態では、車両１の動作モードが自立モードである場合には、前記したように、要求重心速度Ｖb_x_aim，Ｖb_y_aimを“０”とする。
【０１６４】
一方、要求重心速度生成部７４は、車両１の動作モードが搭乗モードである場合には、乗員等による車両１の操縦操作（車両１に推進力を付加する操作）に応じて、該操作により要求されると推定される要求重心速度Ｖb_x_aim，Ｖb_y_aimを決定する。
ここで、例えば、車両１の乗員が、車両１の発進時等において、車両１の移動速度（車両系重心点の移動速度）を積極的に増速させようとする場合には、自身の足により床を蹴り、それにより車両１に移動速度を増速させる推進力（乗員の足平と床との摩擦力による推進力）を車両１に付加する。あるいは、例えば、車両１の乗員の要求に応じて、外部の補助者等が、車両１にその移動速度を増速させる推進力を付加する場合もある。
【０１６５】
ここで、本実施形態と本発明との対応関係を補足しておく。
本実施形態では、車両１に搭乗する乗員の前後方向（Ｘ軸方向）、左右方向（Ｙ軸方向）が、それぞれ、本発明における第１の方向、第２の方向に相当する。
そして、前記要求重心速度生成部７４により、本発明における目標速度決定手段が実現される。この場合、本実施形態では、車両系重心点（より正確には車両・乗員全体重心点）が、本発明における車両の所定の代表点に相当し、この車両系重心点の速度ベクトル↑Ｖbの目標値である要求重心速度ベクトル↑Ｖb_aimが、本発明における目標速度ベクトルに相当する。なお、要求重心速度ベクトル↑Ｖb_aimは、例えばコントローラ６に対する乗員の操作に応じて検出される。また、要求重心速度ベクトル↑Ｖb_aimは、不図示のアクセルペダルやスロットルレバーに対する乗員の操作に応じて検出されても良い。
【０１６６】
［第２実施形態］
次に、本発明の第２実施形態を図１４を参照しつつ以下に説明する。なお、本実施形態は、制御ユニット５０における揺動指数算出部１１０の処理のみが前記第１実施形態と相違するものである。このため、本実施形態の説明では、第１実施形態と同一の構成及び処理については説明を省略する。
本実施形態では、制御ユニット５０は図１４に示す如く構成される。この場合、図１４の揺動指数算出部１１０以外の各構成は、第１実施形態で説明した各構成（図９の構成）と同じである。
【０１６７】
本実施形態の揺動指数算出部１１０には、基体傾斜角度計測値θb_xy_s（θb_x_s及びθb_y_s）、基体傾斜角速度計測値θbdot_xy_s（θbdot_x_s及びθbdot_y_s）の今回値に加えてさらに、ヨーレートγrate、重心速度推定値Ｖb_x_sが入力される。そして、揺動指数算出部１１０は、これらの入力値から揺動指数Ｅを算出する。
具体的には、揺動指数算出部１１０は、次式２１−１及び２１−２により、揺動指数Ｅを算出する。
Ｅ＝ｗ１（θb_y_s−θb_y_aim）２＋ｗ２（θbdot_y_s）２
＋ｗ３（θb_y_s−θb_y_aim）θbdot_y_s……式２１−１
θb_y_aim＝tan-1（γrate・Ｖb_x_s／ｇ）……式２１−２
【０１６８】
式２１−２において、γrate・Ｖb_x_sは、車両１が旋回している場合の遠心力の大きさを表し、算出されるθb_y_aimの値は、上記遠心力に釣り合う内傾角を表す。図１５に、遠心力と重力加速度と内傾角θb_y_aimとの関係を示す。なお、ヨーレートγrateの値は、車両１にヨーレートセンサが取り付けられることによって検出されても良いし、他の既存の装置によって検出されても良い。また、ｇの値は重力加速度である。
式２１−１において、旋回に要する内傾角θb_y_aimと基体傾斜角度計測値θb_y_sとの偏差に基づいて揺動指数Ｅが算出されるため、旋回に要する内傾角θb_y_aimからのぶれの大きさが揺動の大きさとして評価され、このぶれの大きさに応じて揺動指数Ｅが大きく算出される。
【０１６９】
また、式２１−１によって算出された揺動指数Ｅの値に対し、時定数τで定義されるハイパスフィルタにより低周波数成分をカットしても良い。また、式２１−１に用いられるθb_y_s，θbdot_y_sそれぞれの値に対し、予め上記のハイパスフィルタにより低周波成分をカットしてもよい。このように処理することによって、一定のθb_y_sで定常円の旋回運動をしている場合に、質点６０_yが左右に揺動していないにもかかわらず揺動指数Ｅが不必要に大きくなってしまうことを抑止できる。
以上説明した以外の構成は、第１実施形態と同じである。
【０１７０】
［第３実施形態］
次に、本発明の第３実施形態を図１６を参照しつつ以下に説明する。なお、本実施形態は、制御ユニット５０における揺動指数算出部１１０の処理のみが前記第１実施形態と相違するものである。このため、本実施形態の説明では、第１実施形態と同一の構成及び処理については説明を省略する。
本実施形態では、制御ユニット５０は図１６に示す如く構成される。この場合、図１６の揺動指数算出部１１０以外の各構成は、第１実施形態で説明した各構成（図９の構成）と同じである。
【０１７１】
本実施形態の揺動指数算出部１１０には、舵角δが入力される。そして、揺動指数算出部１１０は、これらの入力値から揺動指数Ｅを算出する。
具体的には、揺動指数算出部１１０は、次式２３により、揺動指数Ｅを算出する。
Ｅ＝δ２・τｓ／（１＋τｓ）……式２３
【０１７２】
式２３において、δの値は、舵角であっても良いし、舵角の角速度であっても良い。また、舵角δは、コントローラ６における操舵角センサによって検出されても良いし、車両１に取り付けられたヨーレートセンサの出力に基づいて算出されても良い。また、車両１に公知のハンドル装置が取り付けられ、このハンドル装置に操舵角センサが取り付けられ、この操舵角センサによって舵角δが検出されても良い。図１７は、三輪車である電動車両１を前側から見た斜視図であり、ハンドル装置が取り付けられた具体例を示す図である。図示する例では、電動車両１は、２つの前輪１００３と、１つの後輪１００４を備えている。また、コントローラとして、ハンドル装置１００５と、アクセル１００６と、ブレーキ１００７とを備えている。
式２３において、舵角δの大きさが揺動の大きさとして評価され、舵角δの大きさに応じて揺動指数Ｅが大きく算出される。
以上説明した以外の構成は、第１実施形態と同じである。
【０１７３】
次に、以上説明した実施形態に係わる変形態様に関していくつか説明しておく。
前記各実施形態では、車両系重心点（詳しくは車両・乗員全体重心点）を車両１の所定の代表点としたが、該代表点を例えば、主輪２０の中心点や、ベース部１４の所定の部位の点等に設定してもよい。
【０１７４】
また、前記各実施形態では、前記自立モードにおいては、要求重心速度ベクトル↑Ｖb_aimを常に“０”に設定するようにしたが、乗員が搭乗していない車両１を必要に応じて作業者などが押して移動させるような場合には、搭乗モードの場合と同様の処理を実行することで、要求重心速度ベクトル↑Ｖb_aimを変化させるように↑Ｖb_aimを決定するようにしてもよい。
【０１７５】
また、前記各実施形態では、図１及び図２に示した構造の車両１を例示したが、本発明における全方向移動車両１は、本実施形態で例示した車両に限られるものではない。
具体的には、本実施形態の車両１の移動動作部としての主輪２０は一体構造のものであるが、例えば、前記特許文献２の図１０に記載されているような構造のものであってもよい。すなわち、剛性を有する円環状の軸体に、複数のローラをその軸心が該軸体の接線方向に向くようにして回転自在に外挿し、これらの複数のローラを軸体に沿って円周方向に配列させることによって、主輪を構成してもよい。
【０１７６】
さらに移動動作部は、例えば、特許文献１の図３に記載されているようなクローラ状の構造のものであってもよい。
あるいは、例えば、前記特許文献１の図５、特許文献２の図７、もしくは特許文献３の図１に記載されているように、移動動作部を球体により構成し、この球体を、アクチュエータ装置（例えば前記主輪２０を有するアクチュエータ装置）によりＸ軸周り方向及びＹ軸周り方向に回転駆動するように車両を構成してもよい。
【０１７７】
また、本実施形態では、乗員の搭乗部として座面部１３を備えた車両１を例示したが、本発明における全方向移動車両は、例えば特許文献２の図８に見られるように、乗員が両足を載せるステップと、そのステップ上で起立した乗員が把持する部分とを基体に組付けた構造の車両であってもよい。
このように本発明は、前記特許文献１〜３等に見られる如き、各種の構造の全方向移動車両に適用することが可能である。
【０１７８】
さらには、本発明における全方向移動車両は、床面上を全方向に駆動可能な移動動作部を３つ以上（例えば、前輪として１つ後輪として左右に２つ等）備えていてもよいし、移動動作部を１つだけ備えてもよい。具体的には、自転車、自動二輪車、四輪自動車として構成されても良い。なお、移動動作部を３つ以上備えた場合には、基体が傾動しないようにして、該基体の傾斜角度の制御を省略してもよい。
【符号の説明】
【０１７９】
１…全方向移動車両、２…車体、１３…座面部、１９…アクチュエータ装置、２０…主輪（移動動作部）、７４…要求重心速度生成部（目標速度決定手段）、７６…重心速度制限部、８０…姿勢制御演算部（姿勢制御部）、８０ｇ…処理部（制御量変更部）、８０ｈ…処理部（制御量変更部）、８２…モータ指令演算部、１１０…揺動指数算出部（制御量変更部）
【図１】
2011068216.tif 000003
【図２】
2011068216.tif 000004
【図３】
2011068216.tif 000005
【図４】
2011068216.tif 000006
【図５】
2011068216.tif 000007
【図６】
2011068216.tif 000008
【図７】
2011068216.tif 000009
【図８】
2011068216.tif 000010
【図９】
2011068216.tif 000011
【図１０】
2011068216.tif 000012
【図１１】
2011068216.tif 000013
【図１２】
2011068216.tif 000014
【図１３】
2011068216.tif 000015
【図１４】
2011068216.tif 000016
【図１５】
2011068216.tif 000017
【図１６】
2011068216.tif 000018
【図１７】
2011068216.tif 000019