(57)【要約】【課題】操作しやすい倒立振子型車両となるとともに、車両の移動操作を行う際の快適性を高めることができる倒立振子型車両を提供する。【解決手段】倒立振子型車両１Ａは、乗員により漕がれて回されるペダル２００Ｌ，２００Ｒを備えている。そして、基体９に設備されたペダル回転速度検知部（ペダル用電動モータ２１０とペダル用モータドライバ）により、ペダル２００Ｌ，２００Ｒの回転速度を検知する。そして、制御ユニット５０Ａは、ペダル用モータドライバから出力される回転速度の信号（ペダルの回転速度を示す信号）に基づいて、移動動作部（車輪体５を含む駆動機構及び電動モータ３１Ｌ，３１Ｒ等）に対して前後方向への移動制御を行う。【選択図】図２２
2011068222.tif 000002
【特許請求の範囲】
【請求項１】
床面上を互いに直交する第１の方向及び第２の方向を含む全方向に車両を移動可能に駆動する移動動作部と、該移動動作部と乗員の荷重を受ける搭乗部とが組付けられる基体と、前記車両と乗員の全体重心点である車両系重心点に対して倒立振子制御を行うようにして前記移動動作部を制御する制御部とを備える倒立振子型車両の制御装置であって、
前記倒立振子型車両は、
前記基体に付設され、乗員が所定の周期運動を入力する周期運動部と、
前記周期運動部の周期を検知する周期検知部と、
を備え、
前記制御部は、
前記周期運動部の周期に基づいて前記移動動作部の制御を行う
ことを特徴とする倒立振子型車両の制御装置。
【請求項２】
床面上を互いに直交する第１の方向及び第２の方向を含む全方向に車両を移動可能に駆動する移動動作部と、該移動動作部と乗員の荷重を受ける搭乗部とが組付けられる基体と、前記車両と乗員の全体重心点である車両系重心点に対して倒立振子制御を行うようにして前記移動動作部を制御する制御部とを備える倒立振子型車両の制御装置であって、
前記倒立振子型車両は、
前記基体に付設され、乗員が足で漕ぐことにより回されるペダルと、
前記ペダルの回転速度を検知するペダル回転速度検知部と、
を備え、
前記制御部は、
前記ペダルの回転速度に基づいて前記移動動作部の制御を行う
ことを特徴とする倒立振子型車両の制御装置。
【請求項３】
前記制御部は、
前記ペダルの回転速度に応じて、前記車両系重心点の第１の方向への移動速度の目標値である目標重心速度を制御する
ことを特徴とする請求項２に記載の倒立振子型車両の制御装置。
【請求項４】
前記ペダルにより回転駆動されるペダル用電動モータが取り付けられるとともに、前記ペダル用電動モータにブレーキトルクを印加するためのペダルトルク制御部が備えられ、
前記ペダルトルク制御部は、
前記移動動作部を駆動する電動モータのトルク電流の信号に基づいて前記ペダル用電動モータのブレーキトルクを制御する
ことを特徴とする請求項２または請求項３に記載の倒立振子型車両の制御装置。
【請求項５】
前記ペダルにより回転駆動されるペダル用電動モータが取り付けられるとともに、前記ペダル用電動モータにブレーキトルクを印加するためのペダルトルク制御部が備えられ、
前記ペダルトルク制御部は、
前記移動動作部を駆動する電動モータに電源を供給するバッテリの電池電圧に基づいて前記ペダル用電動モータのブレーキトルクを制御する
ことを特徴とする請求項２または請求項３に記載の倒立振子型車両の制御装置。
【請求項６】
前記制御部は、
前記ペダルの回転速度に応じて、前記車両系重心点の第１の方向への目標重心速度を設定する際に、前記移動動作部を駆動する電動モータの動作状態に応じて前記目標重心速度を可変に設定する
ことを特徴とする請求項３に記載の倒立振子型車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、床面上を全方向に移動可能な倒立振子型車両の制御装置に関する。
【背景技術】
【０００２】
床面上を全方向（２次元的な全方向）に移動可能な全方向移動車両（倒立振子型車両）の制御装置としては、例えば、特許文献１、２に見られるものが本願出願人により提案されている。これらの特許文献１、２に見られる倒立振子型車両にあっては、床面に接地しながら該床面上を全方向に移動可能な、球体状又は車輪状又はクローラ状の移動動作部と、該移動動作部を駆動する電動モータ等を有するアクチュエータ装置とが車両の基体に組付けられている。そして、この車両は、アクチュエータ装置により移動動作部を駆動することによって、床面上を移動する。
【０００３】
また、この種の倒立振子型車両の移動動作を制御する技術としては、例えば特許文献３に見られる技術が本願出願人により提案されている。この技術では、車両の基体が球体状の移動動作部に対して前後・左右に傾動自在に設けられている。そして、基体の傾き角を計測し、この傾き角を所要の角度に保つように、移動動作部を駆動する電動モータのトルクを制御することによって、基体の傾動動作に応じて車両を移動させるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第０８／１３２７７８号パンフレット
【特許文献２】国際公開第０８／１３２７７９号パンフレット
【特許文献３】特許第３０７００１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１，２、あるいは特許文献３に見られる如き倒立振子型車両の移動制御を行なう場合、従来の全方向移動車両（倒立振子型車両）では利用者の重心移動やジョイスティックでの操作入力により目標速度を決定していた。しかし、車両の操作に慣れるまでに時間がかかるなどの問題点があった。
【０００６】
本発明は、かかる背景に鑑みてなされたものであり、乗員（搭乗者）にとって操作しやすい倒立振子型車両を実現するとともに、車両の移動操作を行う際の快適性を高めることができる倒立振子型車両の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の倒立振子型車両の制御装置は、かかる目的を達成するために、床面上を互いに直交する第１の方向及び第２の方向を含む全方向に車両を移動可能に駆動する移動動作部と、該移動動作部と乗員の荷重を受ける搭乗部とが組付けられる基体と、前記車両と乗員の全体重心点である車両系重心点に対して倒立振子制御を行うようにして前記移動動作部を制御する制御部とを備える倒立振子型車両の制御装置であって、前記倒立振子型車両は、前記基体に付設され、乗員が所定の周期運動を入力する周期運動部と、前記周期運動部の周期を検知する周期検知部と、を備え、前記制御部は、前記周期運動部の周期に基づいて前記移動動作部の制御を行うことを特徴とする（第１発明）。
【０００８】
なお、本発明において、前記移動動作部が、「第１の方向及び第２の方向を含む全方向に移動可能」ということは、該第１の方向及び第２の方向に直交する軸方向で見た場合における各瞬間での該移動動作部の速度ベクトルの向きが、移動動作部の駆動によって、上記軸方向の周りの任意の角度方向の向きを採り得るということを意味する。この場合、上記軸方向は、概ね、上下方向又は床面に垂直な方向である。また、本発明における「直交」は厳密な意味での直交であることは必須ではなく、本発明の本質を逸脱しない範囲で、厳密な意味での直交から若干のずれがあってもよい。
【０００９】
また、本発明において、「床」は、通常的な意味での床（屋内の床など）だけを意味するものではなく、屋外の地面もしくは路面をも含むものとして使用する。前記第１発明によれば、乗員が所定の周期運動を入力する周期運動部（例えば、ペダル）を基体に取り付け、また、周期運動部の回転速度を検知する周期検知部を設ける。そして、移動動作部を駆動する制御部は、周期運動部の周期に基づいて移動動作部の制御を行う。
このため、第１発明によれば、操作しやすい全方向移動車両（倒立振子型車両）を実現することができる。例えば、ペダルの回転により前後方向への移動速度を調整しながら進みつつ、前後及び左右方向に対して姿勢の安定性を保つことができる。
【００１０】
かかる第１発明において前記車両の基体に、乗員の搭乗部が組付けられている場合には、搭乗部に搭乗した乗員の前後方向が、前記第１の方向として設定され、該乗員がばペダルを漕ぐことにより、前後方向への走行速度を調整できることが好ましい（第２発明）。
【００１１】
そこで、第２の発明は、床面上を互いに直交する第１の方向及び第２の方向を含む全方向に車両を移動可能に駆動する移動動作部と、該移動動作部と乗員の荷重を受ける搭乗部とが組付けられる基体と、前記車両と乗員の全体重心点である車両系重心点に対して倒立振子制御を行うようにして前記移動動作部を制御する制御部とを備える倒立振子型車両の制御装置であって、前記倒立振子型車両は、前記基体に付設され、乗員が足で漕ぐことにより回されるペダルと、前記ペダルの回転速度を検知するペダル回転速度検知部と、を備え、前記制御部は、前記ペダルの回転速度に基づいて前記移動動作部の制御を行うことを特徴とする（第２発明）。
【００１２】
この第２発明によれば、乗員が足で漕ぐ（足踏みする）ペダルを基体に取り付け、また、ペダルの回転速度を検知するペダル用回転速度検知部を設ける。そして、移動動作部を駆動する制御部は、ペダルの回転速度に基づいて移動動作部の制御を行う。
このため、第２発明によれば、操作しやすい全方向移動車両（倒立振子型車両）を実現することができる。例えば、ペダルの回転により前後方向への移動速度を調整しながら進みつつ、前後及び左右方向に対して姿勢の安定性を保つことができる。
【００１３】
かかる第２発明において前記車両の基体に、乗員の搭乗部が組付けられている場合には、搭乗部に搭乗した乗員の前後方向が、前記第１の方向として設定され、該乗員がペダルを漕ぐことにより、前後方向への走行速度を調整できることが好ましい（第３発明）。
そこで、第３の発明は、前記制御部は、前記ペダルの回転速度に応じて、前記車両系重心点の第１の方向への移動速度の目標値である目標重心速度を制御することを特徴とする。これにより、ペダルの回転により前後方向への移動速度を調整しながら進みつつ、かつ前後及び左右方向に対して姿勢の安定性を保つことができる。
【００１４】
また、前記第２、第３発明では、乗員がペダルを漕ぐ場合は、例えば、上り坂では、ペダルが重くなり、平地ではペダルが軽くなるなど、乗員の実感（走行路の状態に対する負荷の重さの実感）に応じてペダルの重さが変わることが好ましい（第４の発明）。
そこで、この第４の発明では、移動動作部を駆動する電動モータのトルク電流に基づいて、ペダル用電動モータのブレーキトルク（回生電流）を制御することにより、ペダルの重さ可変にする。
これにより、例えば、上り坂等においては、乗員の実感（走行路の状態に対して乗員が感じる実感）に応じてペダルの重さが変わることにより、車両の移動操作を行う際の快適性を高めることができる。また、ペダルを回すことにより得られる回生エネルギーによりバッテリを充電することができる。
【００１５】
また、前記第２、第３発明では、バッテリの電池電圧に応じて電動モータのブレーキトルクを変えることが望ましい。（第５発明）。
そこで、第５の発明は、前記ペダルにより回転駆動されるペダル用電動モータが取り付けられるとともに、前記ペダル用電動モータにブレーキトルクを印加するためのペダルトルク制御部が備えられ、前記ペダルトルク制御部は、前記移動動作部を駆動する電動モータに電源を供給するバッテリの電池電圧に基づいて前記ペダル用電動モータのブレーキトルクを制御することを特徴とする。
これにより、例えば、バッテリの電池電圧に応じて、ペダルのブレーキトルクを変えることができる。このため、バッテリが過充電になることを防ぐことができる。
【００１６】
また、前記第２、第３発明では、ペダルの回転速度に応じて目標重心速度を設定する際に、同じペダルの回転速度に対して、上り坂等では移動速度を小さく、平地では大きくするなど、移動動作部を駆動する電動モータの負荷トルクに応じて移動速度を変えることにより、電動モータが過負荷になることを避けることが好ましい（第６の発明）。
そこで、この第６の発明では、ペダルの回転速度に応じて、重心点の第１の方向（前後方向）の目標重心速度を設定する際に、移動動作部を駆動する電動モータの動作状態（例えば、電動モータの負荷トルク）に応じて目標重心速度を可変に設定する。
これにより、例えば、上り坂等においては、ペダルの回転速度応じて設定される前後方向（前進方向）への移動速度を小さくし、移動動作部を駆動する電動モータが過負荷になることを避けることができる。また、自動的な変速キヤの切り替え操作を類似でき、ペダルによる走行操作の快適性を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】倒立振子型車両の正面図。
【図２】倒立振子型車両の側面図。
【図３】倒立振子型車両の下部を拡大して示す図。
【図４】倒立振子型車両の下部の斜視図。
【図５】倒立振子型車両の移動動作部（車輪体）の斜視図。
【図６】倒立振子型車両の移動動作部（車輪体）とフリーローラとの配置関係を示す図。
【図７】倒立振子型車両の制御ユニットの処理を示すフローチャート。
【図８】倒立振子型車両の動力学的挙動を表現する倒立振子モデルを示す図。
【図９】図７のステップＳ９の処理に係わる処理機能を示すブロック図。
【図１０】図９に示すゲイン調整部の処理機能を示すブロック図。
【図１１】図１０に示すリミット処理部（又は図１２に示すリミット処理部）の処理機能を示すブロック図。
【図１２】図９に示す重心速度制限部７６の処理機能を示すブロック図。
【図１３】図９に示す姿勢制御演算部８０の処理機能を示すブロック図。
【図１４】図９に示す要求重心速度生成部７４の処理を示すフローチャート。
【図１５】図１４のステップＳ２３のサブルーチン処理を示すフローチャート。
【図１６】図１５のステップＳ２３−５のサブルーチン処理を示すフローチャート。
【図１７】図１５のステップＳ２３−５のサブルーチン処理を示すフローチャート。
【図１８】図１５のステップＳ２３−６のサブルーチン処理を示すフローチャート。
【図１９】図１４のステップＳ２４のサブルーチン処理を示すフローチャート。
【図２０】図１４のステップＳ２５のサブルーチン処理を示すフローチャート。
【図２１】図１４のステップＳ２５のサブルーチン処理を示すフローチャート。
【図２２】ペダルを備える倒立振子型車両の構成図。
【図２３】ペダルのブレーキトルク（反力）の第１の設定方法を示す図。
【図２４】モータドライバの構成を示す図。
【図２５】ペダルのブレーキトルクの第２の設定方法を示す図。
【図２６】ペダルのブレーキトルクの第３の設定方法を示す図。
【図２７】ペダルのブレーキトルクの第４の設定方法を示す図。
【図２８】ペダルの回転速度に対するゲイン係数Ｋpdの設定例を示す図。
【発明を実施するための形態】
【００１８】
［本発明が適用される倒立振子型車両の基本的な構成と動作の説明］
最初に、本発明が適用される全方向移動車両（倒立振子型車両）の基本的な構成と動作について以下に説明する。なお、本発明の倒立振子型車両の制御装置は、図１に示す倒立振子型車両１を基本的な構成として、この倒立振子型車両１に乗員が足踏みするペダルを付加することにより、乗員による操作性を向上させた倒立振子型車両の制御装置に係わるものである。
図１は、倒立振子型車両の基本的な構成を示す図であり、乗員が足踏みするペダルを備えていない倒立振子型車両の構成を示す図である。まず、図１〜図６を参照して、倒立振子型車両１の構成について、その構造を説明する。
【００１９】
図１及び図２に示すように、倒立振子型車両１は、乗員（運転者となる搭乗者）のシート（搭乗部）３と、床面に接地しながら該床面上を全方向（前後方向及び左右方向を含む２次元的な全方向）に移動可能な移動動作部５と、この移動動作部５を駆動する動力を該移動動作部５に付与するアクチュエータ装置７と、これらのシート３、車輪体５及びアクチュエータ装置７が組付けられた基体９とを備える。
【００２０】
ここで、「前後方向」、「左右方向」は、それぞれ、シート（搭乗部）３に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、シート部３に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
【００２１】
この場合、図１においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図２においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、この倒立振子型車両１についての説明では、参照符号に付する添え字「Ｒ」，「Ｌ」は、それぞれ車両１の右側、左側に対応するものという意味で使用する。
【００２２】
基体９は、移動動作部５及びアクチュエータ装置７とが組付けられた下部フレーム１１と、この下部フレーム１１の上端から上方に延設された支柱フレーム１３とを備える。
【００２３】
支柱フレーム１３の上部には、該支柱フレーム１３から前方側に張り出したシートフレーム１５が固定されている。そして、このシートフレーム１５上に、乗員が着座するシート３が装着されている。そして、このシート３が乗員の搭乗部となっている。従って、倒立振子型車両１（以降、単に車両１ともいう）は、乗員がシート３に着座した状態で、床面上を移動するものである。
【００２４】
また、シート３の左右には、シート３に着座した乗員が必要に応じて把持するためのグリップ１７Ｒ，１７Ｌが配置され、これらのグリップ１７Ｒ，１７Ｌがそれぞれ、支柱フレーム１３（又はシートフレーム１５）から延設されたブラケット１９Ｒ，１９Ｌの先端部に固定されている。
【００２５】
下部フレーム１１は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材２１Ｒ，２１Ｌを備える。これらのカバー部材２１Ｒ，２１Ｌの上端部（二股の分岐部分）は、前後方向の軸心を有するヒンジ軸２３を介して連結され、カバー部材２１Ｒ，２１Ｌの一方が他方に対して相対的にヒンジ軸２３の周りに揺動可能となっている。この場合、カバー部材２１Ｒ，２１Ｌは、図示を省略するバネによって、カバー部材２１Ｒ，２１Ｌの下端部側（二股の先端側）が狭まる方向に付勢されている。
【００２６】
また、カバー部材２１Ｒ，２１Ｌのそれぞれの外面部には、前記シート３に着座した乗員の右足を載せるステップ２５Ｒと左足を載せるステップ２５Ｌとが各々、右向き、左向きに張り出すように突設されている。
【００２７】
移動動作部５及びアクチュエータ装置７は、下部フレーム１１のカバー部材２１Ｒ，２１Ｌの間に配置されている。これらの移動動作部５及びアクチュエータ装置７の構造を図３〜図６を参照して説明する。
【００２８】
なお、移動動作部５及びアクチュエータ装置７は、例えば前記特許文献２の図１に開示されているものと同じ構造のものである。従って、移動動作部５及びアクチュエータ装置７の構成に関して、前記特許文献２に記載された事項については、簡略的な説明に留める。
【００２９】
移動動作部５は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部５（以降、車輪体５という）は、その弾性変形によって、図５及び図６の矢印Ｙ１で示す如く、円形の横断面の中心Ｃ１（より詳しくは、円形の横断面中心Ｃ１を通って、車輪体５の軸心と同心となる円周線）の周りに回転可能となっている。
【００３０】
この車輪体５は、その軸心Ｃ２（車輪体５全体の直径方向に直交する軸心Ｃ２）を左右方向に向けた状態で、カバー部材２１Ｒ，２１Ｌの間に配置され、該車輪体５の外周面の下端部にて床面に接地する。
【００３１】
そして、車輪体５は、アクチュエータ装置７による駆動（詳細は後述する）によって、図５の矢印Ｙ２で示す如く車輪体５の軸心Ｃ２の周りに回転する動作（床面上を輪転する動作）と、車輪体５の横断面中心Ｃ１の周りに回転する動作とを行なうことが可能である。その結果、車輪体５は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
【００３２】
アクチュエータ装置７は、車輪体５と右側のカバー部材２１Ｒとの間に介装される回転部材２７Ｒ及びフリーローラ２９Ｒと、車輪体５と左側のカバー部材２１Ｌとの間に介装される回転部材２７Ｌ及びフリーローラ２９Ｌと、回転部材２７Ｒ及びフリーローラ２９Ｒの上方に配置されたアクチュエータとしての電動モータ３１Ｒと、回転部材２７Ｌ及びフリーローラ２９Ｌの上方に配置されたアクチュエータとしての電動モータ３１Ｌとを備える。
【００３３】
電動モータ３１Ｒ，３１Ｌは、それぞれのハウジングがカバー部材２１Ｒ，２１Ｌに各々取付けられている。なお、図示は省略するが、電動モータ３１Ｒ，３１Ｌの電源（蓄電器）は、支柱フレーム１３等、基体９の適所に搭載されている。
【００３４】
回転部材２７Ｒは、左右方向の軸心を有する支軸３３Ｒを介してカバー部材２１Ｒに回転可能に支持されている。同様に、回転部材２７Ｌは、左右方向の軸心を有する支軸３３Ｌを介してカバー部材２１Ｌに回転可能に支持されている。この場合、回転部材２７Ｒの回転軸心（支軸３３Ｒの軸心）と、回転部材２７Ｌの回転軸心（支軸３３Ｌの軸心）とは同軸心である。
【００３５】
回転部材２７Ｒ，２７Ｌは、それぞれ電動モータ３１Ｒ，３１Ｌの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ３１Ｒ，３１Ｌからそれぞれ伝達される動力（トルク）によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図３および図４に示す如く、回転部材２７Ｒは、プーリ３５Ｒとベルト３７Ｒとを介して電動モータ３１Ｒの出力軸に接続されている。同様に、回転部材２７Ｌは、プーリ３５Ｌとベルト３７Ｌとを介して電動モータ３１Ｌの出力軸に接続されている。
【００３６】
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ３１Ｒ，３１Ｌを、それぞれの出力軸が各回転部材２７Ｒ，２７Ｌと同軸心になるように各回転部材２７Ｒ，２７Ｌに対向させて配置し、電動モータ３１Ｒ，３１Ｌのそれぞれの出力軸を回転部材２７Ｒ，２７Ｌに各々、減速機（遊星歯車装置等）を介して連結するようにしてもよい。
【００３７】
各回転部材２７Ｒ，２７Ｌは、車輪体５側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面３９Ｒ，３９Ｌとなっている。
【００３８】
回転部材２７Ｒのテーパ外周面３９Ｒの周囲には、回転部材２７Ｒと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ２９Ｒが配列されている。そして、これらのフリーローラ２９Ｒは、それぞれ、ブラケット４１Ｒを介してテーパ外周面３９Ｒに取付けられ、該ブラケット４１Ｒに回転自在に支承されている。
【００３９】
同様に、回転部材２７Ｌのテーパ外周面３９Ｌの周囲には、回転部材２７Ｌと同心の円周上に等間隔で並ぶようにして、複数（フリーローラ２９Ｒと同数）のフリーローラ２９Ｌが配列されている。そして、これらのフリーローラ２９Ｌは、それぞれ、ブラケット４１Ｌを介してテーパ外周面３９Ｌに取付けられ、該ブラケット４１Ｌに回転自在に支承されている。
【００４０】
前記車輪体５は、回転部材２７Ｒ側のフリーローラ２９Ｒと、回転部材２７Ｌ側のフリーローラ２９Ｌとの間に挟まれるようにして、回転部材２７Ｒ，２７Ｌと同軸心に配置されている。
【００４１】
この場合、図１及び図６に示すように、各フリーローラ２９Ｒ，２９Ｌは、その軸心Ｃ３が車輪体５の軸心Ｃ２に対して傾斜すると共に、車輪体５の直径方向（車輪体５をその軸心Ｃ２の方向で見たときに、該軸心Ｃ２と各フリーローラ２９Ｒ，２９Ｌとを結ぶ径方向）に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ２９Ｒ，２９Ｌのそれぞれの外周面が車輪体５の内周面に斜め方向に圧接されている。
【００４２】
より一般的に言えば、右側のフリーローラ２９Ｒは、回転部材２７Ｒが軸心Ｃ２の周りに回転駆動されたときに、車輪体５との接触面で、軸心Ｃ２周りの方向の摩擦力成分（車輪体５の内周の接線方向の摩擦力成分）と、車輪体５の前記横断面中心Ｃ１の周り方向の摩擦力成分（円形の横断面の接線方向の摩擦力成分）とを車輪体５に作用させ得るような姿勢で、車輪体５の内周面に圧接されている。左側のフリーローラ２９Ｌについても同様である。
【００４３】
この場合、前記したように、カバー部材２１Ｒ，２１Ｌは、図示しないバネによって、カバー部材２１Ｒ，２１Ｌの下端部側（二股の先端側）が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ２９Ｒと左側のフリーローラ２９Ｌとの間に車輪体５が挟持されると共に、車輪体５に対する各フリーローラ２９Ｒ，２９Ｌの圧接状態（より詳しくはフリーローラ２９Ｒ，２９Ｌと車輪体５との間で摩擦力が作用し得る圧接状態）が維持される。
【００４４】
以上説明した構造を有する車両１においては、電動モータ３１Ｒ，３１Ｌによりそれぞれ、回転部材２７Ｒ，２７Ｌを同方向に等速度で回転駆動した場合には、車輪体５が回転部材２７Ｒ，２７Ｌと同方向に軸心Ｃ２の周りに回転することとなる。これにより、車輪体５が床面上を前後方向に輪転して、車両１の全体が前後方向に移動することとなる。なお、この場合は、車輪体５は、その横断面中心Ｃ１の周りには回転しない。
【００４５】
また、例えば、回転部材２７Ｒ，２７Ｌを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体５は、その横断面中心Ｃ１の周りに回転することとなる。これにより、車輪体５がその軸心Ｃ２の方向（すなわち左右方向）に移動し、ひいては、車両１の全体が左右方向に移動することとなる。なお、この場合は、車輪体５は、その軸心Ｃ２の周りには回転しない。
【００４６】
さらに、回転部材２７Ｒ，２７Ｌを、互いに異なる速度（方向を含めた速度）で、同方向又は逆方向に回転駆動した場合には、車輪体５は、その軸心Ｃ２の周りに回転すると同時に、その横断面中心Ｃ１の周りに回転することとなる。
【００４７】
この時、これらの回転動作の複合動作（合成動作）によって、前後方向及び左右方向に対して傾斜した方向に車輪体５が移動し、ひいては、車両１の全体が車輪体５と同方向に移動することとなる。この場合の車輪体５の移動方向は、回転部材２７Ｒ，２７Ｌの回転方向を含めた回転速度（回転方向に応じて極性が定義された回転速度ベクトル）の差に依存して変化するものとなる。
【００４８】
以上のように車輪体５の移動動作が行なわれるので、電動モータ３１Ｒ，３１Ｌのそれぞれの回転速度（回転方向を含む）を制御し、ひいては回転部材２７Ｒ，２７Ｌの回転速度を制御することによって、車両１の移動速度及び移動方向を制御できることとなる。
【００４９】
次に、図１に示す車両１の動作制御のための構成を説明する。なお、以降の説明では、図１及び図２に示すように、前後方向の水平軸をＸ軸、左右方向の水平軸をＹ軸、鉛直方向をＺ軸とするＸＹＺ座標系を想定し、前後方向、左右方向をそれぞれＸ軸方向、Ｙ軸方向と言うことがある。
【００５０】
まず、車両１の概略的な動作制御を説明すると、基本的には、シート３に着座した乗員がその上体を傾けた場合（詳しくは、乗員と車両１とを合わせた全体の重心点の位置（水平面に投影した位置）を動かすように上体を傾けた場合）に、該上体を傾けた側に基体９がシート３と共に傾動する。そして、この時、基体９が傾いた側に車両１が移動するように、車輪体５の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体９をシート３と共に前傾させると、車両１が前方に移動するように、車輪体５の移動動作が制御される。
【００５１】
すなわち、図１に示す倒立振子型車両では、乗員が上体を動かし、ひいては、シート３と共に基体９を傾動させるという動作が、車両１に対する１つの基本的な操縦操作（車両１の動作要求）とされ、その操縦操作に応じて車輪体５の移動動作がアクチュエータ装置７を介して制御される。
【００５２】
ここで、倒立振子型車両１は、その全体の接地面としての車輪体５の接地面が、車両１とこれに搭乗する乗員との全体を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体９が傾倒しないようにするためには、乗員及び車両１の全体の重心点が車輪体５の接地面のほぼ真上に位置するように、車輪体５を動かす必要がある。
【００５３】
そこで、倒立振子型車両１では、乗員及び車両１の全体の重心点が、車輪体５の中心点（軸心Ｃ２上の中心点）のほぼ真上に位置する状態（より正確には当該重心点が車輪体５の接地面のほぼ真上に位置する状態）での基体９の姿勢を目標姿勢とし、基本的には、基体９の実際の姿勢を目標姿勢に収束させるように、車輪体５の移動動作が制御される。
【００５４】
また、車両１を発進させる場合等において、アクチュエータ装置７による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両１の移動速度を増速させる推進力（乗員の足平と床との摩擦力による推進力）を、付加的な外力として車両１に作用させた場合には、それに応じて車両１の移動速度（より正確には、乗員及び車両の全体の重心点の移動速度）が増速するように、車輪体５の移動動作が制御される。なお、当該推進力の付加が停止された状態では、車両１の移動速度が一旦、一定速度に保持された後、減衰して、該車両１が停止するように、車輪体５の移動動作が制御される（車輪体５の制動制御が行なわれる）。
【００５５】
さらに、車両１に乗員が搭乗していない状態では、車両１の単体の重心点が、車輪体５の中心点（軸心Ｃ２上の中心点）のほぼ真上に位置する状態（より正確には当該重心点が車輪体５の接地面のほぼ真上に位置する状態）での基体９の姿勢を目標姿勢とし、該基体９の実際の姿勢を目標姿勢に収束させ、ひいては、基体９が傾倒することなく車両１が自立するように、車輪体５の移動動作が制御される。
【００５６】
倒立振子型車両１では、以上の如き車両１の動作制御を行なうために、図１及び図２に示すように、マイクロコンピュータや電動モータ３１Ｒ，３１Ｌのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット５０と、基体９の所定の部位の鉛直方向（重力方向）に対する傾斜角θ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    ……式０３ｙ
傾斜角度θbe_x：鉛直方向に対するロッド６４_xの傾斜角度
【０１０１】
式０３ｘにおけるω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の要求値としての要求重心速度Ｖ_xy_aimを生成する要求重心速度生成部７４と、これらの重心速度推定値Ｖb_xy_s及び要求重心速度Ｖ_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）を算出する。
【０１１４】
なお、偏差演算部７０の処理は、ステップＳ９の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップＳ５又は７の処理の中で、偏差演算部７０の処理を実行してもよい。
【０１１５】
前記重心速度算出部７２には、前記ステップＳ２で算出された基体傾斜角速度計測値θ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）を基に、要求重心速度Ｖ_xy_aim（Ｖ_x_aim，Ｖ_y_aim）を決定する。なお、車両１の動作モードが自立モードである場合には、要求重心速度生成部７４は、要求重心速度Ｖ_x_aim及びＶ_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＋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を処理部８０ｃで算出する。そして、姿勢制御演算部８０は、これらの操作量成分u1_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を処理部８０ｃで算出する。そして、姿勢制御演算部８０は、これらの操作量成分u1_y，ｕ2_y，ｕ3_yを演算部８０ｅにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_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_coｍと電動モータ３１Ｌの速度指令ω_L_comとを決定する。このモータ指令演算部８２の処理は、前記リミット処理部８６（図１１参照）のＸＹ−ＲＬ変換部８６ｂの処理と同じである。
【０１９３】
具体的には、モータ指令演算部８２は、前記式０１ａ，０１ｂのωw_x，ωw_y，ω_R，ω_Lをそれぞれ、ωw_x_com，ωw_y_com，ω_R_cmd，ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd，ω_L_cmdを未知数として解くことによって、電動モータ３１Ｒ，３１Ｌのそれぞれの速度指令ω_R_coｍ，ω_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）の感度が高まる。従って、基体９の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、車輪体５の移動速度が制御されることとなる。従って、基体９が基本姿勢から大きく傾くことが強めに抑制され、ひいては、車輪体５のＸ軸方向及びＹ軸方向の一方又は両方の移動速度が、電動モータ３１Ｒ，３１Ｌの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
【０２０６】
また、搭乗モードにおいて、要求重心速度生成部７４が、乗員等の操縦操作による要求に応じて要求重心速度Ｖ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の目標値としての要求重心速度ベクトル↑Ｖb_aim（要求重心速度Ｖb_x_aim，Ｖb_y_aimを２つの成分とする速度ベクトル）を逐次決定する。
【０２１１】
その処理を概略的に説明すると、上記加速要求が発生した場合には、該加速要求が解消するまでの間、要求重心速度ベクトル↑Ｖb_aimの大きさを増加させるように、要求重心速度ベクトル↑Ｖb_aimが決定される。そして、上記加速要求が解消すると、要求重心速度ベクトル↑Ｖb_aimの大きさを段階的に減衰させていくように、要求重心速度ベクトル↑Ｖb_aimが決定される。この場合、基本的には、加速要求が解消してから、所定時間の期間、要求重心速度ベクトル↑Ｖb_aimの大きさが一定に保たれる。そして、その後に、要求重心速度ベクトル↑Ｖb_aimの大きさが“０”まで連続的に減衰させられる。なお、この減衰時には、適宜、要求重心速度ベクトル↑Ｖb_aimの向きがＸ軸方向に近づけられる。
【０２１２】
このような処理を実行する要求重心速度生成部７４を、図１４〜図２０のフローチャートを参照して以下に詳細に説明する。
【０２１３】
図１４を参照して、要求重心速度生成部７４は、まず、ステップＳ２１の処理を実行する。この処理では、要求重心速度生成部７４は、入力される重心速度推定値Ｖb_x_s，Ｖb_y_sを２つの成分とする速度ベクトル（実際の重心速度ベクトル↑Ｖbの観測値）である推定重心速度ベクトル↑Ｖb_sの大きさ｜↑Vb_s｜（｜↑Vb_s｜＝sqrt(Ｖb_x_s2＋Ｖb_y_s2)）の時間的変化率（微分値）DVb_sを算出する。このDVb_sは、実際の重心速度ベクトル↑Ｖbの大きさの時間的変化率の観測値（推定値）としての意味を持つ。以降、DVb_sを推定重心速度絶対値変化率DVb_sという。なお、上記sqrt(  )は、平方根関数である。
【０２１４】
さらに、ステップＳ２１では、要求重心速度生成部７４は、入力される重心速度推定値Ｖb_x_s，Ｖb_y_sのそれぞれの時間的変化率（微分値）である重心加速度推定値Ｖbdot_x_s，Ｖvdot_y_sを算出する。なお、Ｖbdot_x_s，Ｖvdot_y_sを２つの成分とするベクトルは、車両系重心点の実際の加速度ベクトルの観測値を意味する。
【０２１５】
次いで、ステップＳ２２に進んで、要求重心速度生成部７４は、要求重心速度Ｖb_x_aimを算出するための現在の演算処理モードが、どのモードであるかを判断する。
【０２１６】
ここで、要求重心速度生成部７４は、要求重心速度ベクトル↑Ｖb_aimの基本値（以降、基本要求重心速度ベクトル↑Ｖb_aim1という）を決定した上で、この基本要求重心速度ベクトル↑Ｖb_aim1に要求重心速度ベクトル↑Ｖb_aimを追従させるように（定常的には一致させるように）、要求重心速度ベクトル↑Ｖb_aimを決定する。
【０２１７】
上記演算処理モードは、上記基本要求重心速度ベクトル↑Ｖb_aim1の決定の仕方の種別を表すものである。そして、該演算処理モードとしては、制動モード、速度追従モード、速度ホールドモードの３種類のモードがある。
【０２１８】
制動モードは、基本要求重心速度ベクトル↑Ｖb_aim1の大きさを“０”に減衰させていくか、又は“０”に保持するように↑Ｖb_aim1を決定するモードである。また、速度追従モードは、基本要求重心速度ベクトル↑Ｖb_aim1を、推定重心速度ベクトル↑Ｖb_sに追従させるように（一致又はほぼ一致させるように）決定するモードである。また、速度ホールドモードは、基本要求重心速度ベクトル↑Ｖb_aim1の大きさを一定に保つように↑Ｖb_aim1を決定するモードである。
【０２１９】
なお、制御ユニット５０の起動時等に該制御ユニット５０が初期化された状態での演算処理モード（初期演算処理モード）は、制動モードである。
【０２２０】
要求重心速度生成部７４は、上記ステップＳ２２において、現在の演算処理モードが制動モードである場合と、速度追従モードである場合と、速度ホールドモードである場合とで、それぞれ、次に、ステップＳ２３の演算処理、ステップＳ２４の演算処理、ステップＳ２５の演算処理を実行し、基本要求重心速度ベクトル↑Ｖb_aim1を決定する。
【０２２１】
これらの各モードに対応する演算処理は、次のように実行される。
ステップＳ２３における制動モードの演算処理は、図１５のフローチャートに示す如く実行される。具体的には、要求重心速度生成部７４は、まず、前記ステップＳ２１で算出した推定重心速度絶対値変化率DVb_sと、重心加速度推定値Ｖbdot_x_s，Ｖbdot_y_sとに関して、「DVb_s＞DV1」、且つ、「｜Ｖbdot_x_s｜＞a1＊｜Ｖbdot_y_s｜」という条件が成立するか否かをステップＳ２３−１で判断する。この判断処理は、車両１の移動速度を車両１の概略前後方向で増速させようとする加速要求が有るか否かを判断する処理である。
【０２２２】
ここで、上記DV1は、あらかじめ設定された正の値の第１閾値DV1（＞０）である。そして、DVb_s＞DV1であるということは、実際の重心速度ベクトル↑Ｖbの大きさ｜↑Ｖb｜が第１閾値DV1よりも大きな時間的変化率で増加している状況を意味する。
【０２２３】
また、上記a1は、あらかじめ設定された正の値の係数値である。そして、｜Ｖbdot_x_s｜＞a1＊｜Ｖbdot_y_s｜であるということは、車両系重心点の実際の加速度ベクトルが“０”でないＸ軸方向の成分を有し、且つ、該加速度ベクトルのＸ軸方向に対する鋭角側の角度（＝tan-1(｜Ｖbdot_y_s｜／｜Ｖbdot_x_s｜)が、所定角度（＝tan-1(１／a1)）よりも“０”に近い状況であることを意味する。この例では、a1は、例えば“１”又はこれに近い値に設定されている。
【０２２４】
従って、ステップＳ２３−１の判断結果が肯定的になる状況は、乗員あるいは外部の補助者等により概略前後方向での重心速度ベクトル↑Ｖbの大きさを増加させようとする操縦操作（車両１に概略前後方向の推進力を付加する操縦操作）が行なわれている状況である。
【０２２５】
ステップＳ２３−１の判断結果が否定的となる場合、すなわち、車両１の加速要求（概略前後方向での車両１の加速要求）が無い場合には、要求重心速度生成部７４は、次に、ステップＳ２３−４の判断処理を実行する。
【０２２６】
ステップＳ２３−４の判断処理では、要求重心速度生成部７４は、ステップＳ２１で算出した推定重心速度絶対値変化率DVb_sが、あらかじめ設定された負の値の第３閾値DV3（＜０）よりも小さいか否かを判断する。この判断処理は、車両１の乗員が重心速度ベクトル↑Ｖbの大きさを積極的に減少させようとする減速要求が発生したか否かを判断するものである。この場合、車両１の乗員が意図的に自身の足を接地させ、自身の足と床との間に車両１の制動方向の摩擦力を発生させたような場合にステップＳ２３−４の判断結果が肯定的になる。
【０２２７】
そして、要求重心速度生成部７４は、ステップＳ２３−４の判断結果が否定的である場合（減速要求が発生していない場合）には、ステップＳ２３−５で第１制動演算処理を実行することによって、基本要求重心速度ベクトル↑Ｖb_aim1の大きさ｜↑Ｖb_aim1｜（以降、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜という）と方位角θvb_aim1（以降、基本要求重心速度ベクトル方位角θvb_aim1という）とを決定し、図１５の処理を終了する。また、ステップＳ２３−４の判断結果が肯定的である場合（減速要求が発生した場合には）、要求重心速度生成部７４は、ステップＳ２３−６で第２制動演算処理を実行することによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定し、図１５の処理を終了する。
【０２２８】
なお、基本要求重心速度ベクトル方位角θvb_aim1は、sin（θvb_aim1）＝Ｖb_x_aim1／｜↑Ｖb_aim1｜，cos（θvb_aim1）＝Ｖb_y_aim1／｜↑Ｖb_aim1｜となる角度（１８０°≦θVb_aim≦１８０°）として定義される。また、｜↑Ｖb_aim｜＝０である場合には、θVb_aim＝０°であるとする。
【０２２９】
上記ステップＳ２３−５の第１制動演算処理は、図１６及び図１７のフローチャートに示す如く実行される。
【０２３０】
この第１制動演算処理（減速要求が発生している場合）では、要求重心速度生成部７４は、まず、ステップＳ２３−５−１において基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜の前回値｜↑Ｖb_aim_p｜からあらかじめ設定された正の所定値ΔVb1だけ減少させてなる値を、｜↑Ｖb_aim1｜の候補値ABS_Vbとして算出する。ΔVb1は、制御処理周期毎の｜↑Ｖb_aim1｜の減少量（ひいては｜↑Ｖb_aim1｜の時間的変化率）を規定する設定値である。
【０２３１】
次いで、要求重心速度生成部７４は、ステップＳ２３−５−２において、この候補値ABS_Vbと、“０”とのうちの大きい方の値max(０，ABS_Vb)を、｜↑Ｖb_aim1｜の今回値として決定する。従って、ABS_Vb≧０である場合には、ABS_Vbがそのまま｜↑Ｖb_aim1｜の今回値として決定され、ABS_Vb＜０である場合には、｜↑Ｖb_aim1｜の今回値は“０”とされる。
【０２３２】
次いで、要求重心速度生成部７４は、上記の如く決定した｜↑Ｖb_aim1｜が“０”であるか否かをステップＳ２３−５−３で判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−５−４において、θvb_aim1の今回値を０°とし、図１６の処理を終了する。
【０２３３】
ステップＳ２３−５−３の判断結果が否定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−５−５からの処理によって、θvb_aim1の前回値θvb_aim1_pの値が、０°≦θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p＜０°、θth2+≦θvb_aim1_p≦１８０°、−１８０°≦θvb_aim1_p≦θth2-、θth1+＜θvb_aim1_p＜θth2+、θth2-＜θvb_aim1_p＜θth1-のいずれの範囲内の値であるかに応じて、θvb_aim1の今回値を決定する。
【０２３４】
ここで、θth1+は、０°と９０°との間の値であらかじめ設定された正の方位角閾値、θth1-は、０°と−９０°との間の値であらかじめ設定された負の方位角閾値、θth2+は、９０°と１８０°との間の値であらかじめ設定された正の方位角閾値、θth2-は、−９０°と−１８０°との間の値であらかじめ設定された負の方位角閾値である。この例では、θth1+とθth1-とは、それらの絶対値が互いに同一の値（例えば４５°もしくはその近辺の角度値）に設定されている。また、θth2+とθth2-とは、それらの絶対値が互いに同一の値（例えば１３５°もしくはその近辺の角度値）に設定されている。なお、θth1+とθth1-との差（＝（θth1+）−（θth1-））と、θth2とθth2-との差（＝（θth2+）−（θth2-））とは、互いに同一である必要はない。
【０２３５】
ステップＳ２３−５−５からの処理は以下に説明する如く実行される。すなわち、要求重心速度生成部７４は、ステップＳ２３−５−５において、０°≦θvb_aim1_p≦θth1+であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、ステップＳ２３−５−６において、θvb_aim1の前回値θvb_aim1_pからあらかじめ設定された正の所定値Δθvb1だけ減少させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。Δθvb1は、制御処理周期毎のθvb_aim1の変化量（ひいてはθvb_aim1の時間的変化率）を規定する設定値である。
【０２３６】
そして、要求重心速度生成部７４は、ステップＳ２３−５−７において、この候補値ANG_Vbと、０°とのうちの大きい方の角度値max(０，ANG_Vb)をθvb_aim1の今回値として決定し、図１６の処理を終了する。従って、ANG_Vb≧０°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb＜０°である場合には、θvb_aim1の今回値は０°とされる。
【０２３７】
ステップＳ２３−５−５の判断結果が否定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−５−８において、θth1-≦θvb_aim1_p＜０°であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、ステップＳ２３−５−９において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ増加させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
【０２３８】
そして、要求重心速度生成部７４は、ステップＳ２３−５−１０において、この候補値ANG_Vbと、０°とのうちの小さい方の角度値min(０，ANG_Vb)をθvb_aim1の今回値として決定し、図１６の処理を終了する。従って、ANG_Vb≦０°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb＞０°である場合には、θvb_aim1の今回値は０°とされる。
【０２３９】
ステップＳ２３−５−８の判断結果が否定的である場合には、要求重心速度生成部７４は、次に、図１７のステップＳ２３−５−１１において、θth2+≦θvb_aim1_p≦１８０°であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、ステップＳ２３−５−１２において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ増加させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
【０２４０】
そして、要求重心速度生成部７４は、ステップＳ２３−５−１３において、この候補値ANG_Vbと、０°とのうちの小さい方の角度値min(１８０，ANG_Vb)をθvb_aim1の今回値として決定し、図１７の処理を終了する。従って、ANG_Vb≦１８０°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb＞１８０°である場合には、θvb_aim1の今回値は１８０°とされる。
【０２４１】
ステップＳ２３−５−１１の判断結果が否定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−５−１４において、−１８０°≦θvb_aim1_p≦θth2-であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、ステップＳ２３−５−１５において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ減少させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
【０２４２】
そして、要求重心速度生成部７４は、ステップＳ２３−５−１６において、この候補値ANG_Vbと、−１８０°とのうちの大きい方の角度値max(１８０，ANG_Vb)をθvb_aim1の今回値として決定し、図１７の処理を終了する。従って、ANG_Vb≧−１８０°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb＜−１８０°である場合には、θvb_aim1の今回値は−１８０°とされる。
【０２４３】
ステップＳ２３−５−１４の判断結果が否定的である場合、すなわち、θth1+＜θvb_aim1_p＜θth2+又はθth2-＜θvb_aim1_p＜θth1-である場合には、要求重心速度生成部７４は、ステップＳ２３−５−１７において、θvb_aim1の今回値を、前回値θvb_aim1_pと同じ値に決定し、図１７の処理を終了する。
【０２４４】
以上が、ステップＳ２３−５の第１制動演算処理の詳細である。
【０２４５】
一方、図１５に示す前記ステップＳ２３−６の第２制動演算処理（減速要求が発生した場合）は、図１８のフローチャートに示す如く実行される。
【０２４６】
この第２制動演算処理では、要求重心速度生成部７４は、まず、ステップＳ２３−６−１において基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜の前回値｜↑Ｖb_aim_p｜からあらかじめ設定された正の所定値ΔVb2だけ減少させてなる値を、｜↑Ｖb_aim1｜の候補値ABS_Vbとして算出する。ΔVb2は、第２制動演算処理での、制御処理周期毎の｜↑Ｖb_aim1｜の減少量（ひいては｜↑Ｖb_aim1｜の時間的変化率）を規定する設定値である。この場合、ΔVb2は、前記第１制動演算処理で使用する所定値ΔVb1よりも大きな値に設定されている。
【０２４７】
次いで、要求重心速度生成部７４は、ステップＳ２３−６−２において、前記ステップＳ２３−５−２と同様の処理を実行し、ステップＳ２３−６−１で算出した候補値ABS_Vbと、“０”とのうちの大きい方の値max(０，ABS_Vb)を、｜↑Ｖb_aim1｜の今回値として決定する。
【０２４８】
次いで、要求重心速度生成部７４は、上記の如く決定した｜↑Ｖb_aim1｜が“０”であるか否かをステップＳ２３−６−３で判断する。この判断結果が肯定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−６−４において、θvb_aim1の今回値を“０”とし、図１８の処理を終了する。
【０２４９】
また、ステップＳ２３−６−３の判断結果が否定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２３−６−５において、θvb_aim1の今回値を、前回値θvb_aim1_pと同じ値に決定し、図１８の処理を終了する。
【０２５０】
以上が、ステップＳ２３−６の第２制動演算処理の詳細である。
【０２５１】
図１５の説明に戻って、前記ステップＳ２３−１の判断結果が肯定的である場合、すなわち、概略前後方向での車両１の加速要求が有る場合には、要求重心速度生成部７４は、ステップＳ２３−２で基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。要求重心速度生成部７４は、ステップＳ２３−３で演算処理モードを制動モードから速度追従モードに変更し、図１５の処理を終了する。
【０２５２】
上記ステップＳ２３−２では、具体的には、前記推定重心速度ベクトル↑Ｖb_s（今回値）の大きさ｜↑Vb_s｜（＝sqrt(Ｖb_x_s2＋Ｖb_y_s2)）に、あらかじめ設定された所定値の比率γを乗じてなる値が、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜として決定される。上記比率γは、“１”よりも若干小さい正の値（例えば０．８）に設定されている。
【０２５３】
さらに、ステップＳ２３−２では、推定重心速度ベクトル↑Ｖb_sの方位角θvb_s（＝sin-1(Ｖb_x_s／｜↑Vb_s｜)）がそのまま、基本要求重心速度ベクトル方位角θvb_aim1として決定される。従って、ステップＳ２３−２では、結果的には、推定重心速度ベクトル↑Ｖb_sに上記比率γを乗じてなるベクトルが、基本要求重心速度ベクトル↑Ｖb_aim1として決定されることとなる。
【０２５４】
このようなステップＳ２３−２の処理は、｜↑Ｖb_x_aim1｜とθvb_aim1との決定の仕方を、次回の制御処理サイクルから開始する速度追従モードに合わせるものである。
【０２５５】
なお、上記比率γの値が“１”よりも若干小さいことは必須ではなく、例えば、該比率γの値を“１”あるいはそれよりも若干大きい値に設定してもよい。この例では、乗員が体感的（感覚的）に認識する車両１の移動速度が、実際の移動速度に比べて高速であるかのように認識されるのを防止するために、比率γの値を“１”よりも若干小さい値に設定している。
【０２５６】
以上が、ステップＳ２３における制動モードの演算処理である。
【０２５７】
なお、ステップＳ２３−１の判断結果が否定的となる場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、制動モードに維持されることとなる。
【０２５８】
次に、図１４に示すステップＳ２４における速度追従モードの演算処理は、図１９のフローチャートに示す如く実行される。具体的には、要求重心速度生成部７４は、まず、ステップＳ２４−１において、前記ステップＳ２３−４と同じ判断処理、すなわち、車両１の減速要求が発生したか否かの判断処理を実行する。
【０２５９】
この判断結果が肯定的である場合には、要求重心速度生成部７４は、次に、ステップＳ２４−６において、前記ステップＳ２３−６と同じ処理（図１８のフローチャートに示す処理）を実行することによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。さらに、要求重心速度生成部７４は、ステップＳ２４−７において、演算処理モードを速度追従モードから制動モードに変更し、図１９の処理を終了する。
【０２６０】
一方、前記ステップＳ２４−１の判断結果が否定的である場合、すなわち、車両１の減速要求が発生していない場合には、要求重心速度生成部７４は、次にステップＳ２４−２の処理を実行する。このステップＳ２４−２では、要求重心速度生成部７４は、前記ステップＳ２３−２と同じ処理を実行し、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。すなわち、｜↑Ｖb_x_s｜＊γが｜↑Ｖb_aim1｜として決定される共に、θvb_sがθvb_aim1として決定される。
【０２６１】
次いで、要求重心速度生成部７４は、ステップＳ２４−３において、前記推定重心速度絶対値変化率DVb_s（ステップＳ２１で算出した値）が、あらかじめ設定された第２閾値DV2よりも小さいか否かを判断する。この第２閾値DV2は、前記第３閾値DV3よりも大きい（DV3よりも“０”に近い）負の所定値に設定されている。なお、第２閾値DV2は、“０”もしくは“０”よりも若干大きい正の値（ただし、前記第１閾値DV1よりも小さい値）に設定されていてもよい。
【０２６２】
このステップＳ２４−３の判断処理は、速度追従モードから、前記速度ホールドモードへの移行タイミングを判断するものである。そして、要求重心速度生成部７４は、ステップＳ２４−３の判断結果が否定的である場合には、そのまま図１９の処理を終了する。この場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度追従モードに維持されることとなる。
【０２６３】
また、ステップＳ２４−３の判断結果が肯定的である場合には、要求重心速度生成部７４は、車両１の加速要求が完了したものとみなして、ステップＳ２４−４において、カウントダウンタイマを初期化する。そして、要求重心速度生成部７４は、ステップＳ２４−５にて演算処理モードを速度追従モードから速度ホールドモードに変更し、図１９の処理を終了する。
【０２６４】
上記カウントダウンタイマは、次回の制御処理周期から開始する速度ホールドモードの開始後の経過時間を計時するタイマである。そして、ステップＳ２４−４では、該タイマの計時値CNTに、あらかじめ設定された初期値Ｔmがセットされる。初期値Ｔm_xは、速度ホールドモードを継続させようとする時間の設定値を意味する。
【０２６５】
以上が、ステップＳ２４における速度追従モードの演算処理である。
【０２６６】
次に、図１４に示すステップＳ２５における速度ホールドモードの演算処理は、図２０のフローチャートに示す如く実行される。具体的には、要求重心速度生成部７４は、まず、ステップＳ２５−１において、前記ステップＳ２３−４と同じ判断処理、すなわち、車両１の減速要求が発生したか否かの判断処理を実行する。
【０２６７】
そして、このステップＳ２５−１の判断結果が肯定的である場合（車両１の減速要求が発生した場合）には、要求重心速度生成部７４は、次に、ステップＳ２５−２において、前記ステップＳ２３−６と同じ処理（図１８のフローチャートに示す処理）を実行することによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。さらに、要求重心速度生成部７４は、ステップＳ２５−３において、演算処理モードを速度ホールドモードから制動モードに変更し、図２０の処理を終了する。
【０２６８】
一方、前記ステップＳ２５−１の判断結果が否定的である場合（車両１の減速要求が発生していない場合）には、要求重心速度生成部７４は、前記ステップＳ２３−１と同じ判断処理、すなわち概略前後方向での車両１の加速要求が有るか否かの判断処理をステップＳ２５−４で実行する。
【０２６９】
そして、ステップＳ２５−４の判断結果が肯定的である場合（概略前後方向での車両１の加速要求が再び発生した場合）には、要求重心速度生成部７４は、ステップＳ２５−５において、前記ステップＳ２３−２と同じ処理を実行することによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。すなわち、｜↑Ｖb_x_s｜＊γが｜↑Ｖb_aim1｜として決定される共に、θvb_sがθvb_aim1として決定される。
【０２７０】
さらに、要求重心速度生成部７４は、ステップＳ２５−６において、演算処理モードを速度ホールドモードから速度追従モードに変更し、図２０の処理を終了する。
【０２７１】
前記ステップＳ２５−４の判断結果が否定的である場合（概略前後方向での加速要求が無い状態が継続している場合）には、要求重心速度生成部７４は、ステップＳ２５−７において、前記カウントダウンタイマの計時値CNTをデクリメントする。すなわち、計時値CNTの現在値から所定値ΔＴ（制御処理周期の時間）を差し引くことによって、計時値CNTを更新する。
【０２７２】
次いで、要求重心速度生成部７４は、カウントダウンタイマの計時値CNTが“０”よりも大きいか否か、すなわち、カウントダウンタイマの計時が終了したか否かをステップＳ２５−８にて判断する。
【０２７３】
このステップＳ２５−８の判断結果が肯定的である場合は、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Ｔmにより表される時間が未だ経過していない場合である。この場合には、要求重心速度生成部７４は、演算処理モードを速度ホールドモードに維持するものとして、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度方位角θvb_aim1とをステップＳ２５−９にて決定し、図２０の処理を終了する。
【０２７４】
この場合、ステップＳ２５−９では、｜↑Ｖb_aim1｜の今回値は、前回値｜↑Ｖb_aim1_p｜と同じ値に決定される。また、θvb_aim1の今回値は、前回値θvb_aim1_pと同じ値に決定される。従って、基本要求重心速度ベクトル↑Ｖb_aim1_pの前回値がそのまま、↑Ｖb_aim1の今回値の速度ベクトルとして決定される。
【０２７５】
なお、ステップＳ２５−８の判断結果が肯定的である場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度ホールドモードに維持されることとなる。
【０２７６】
前記ステップＳ２５−８の判断結果が否定的となった場合、すなわち、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Ｔmにより表される所定時間が経過した場合には、要求重心速度生成部７４は、ステップＳ２５−１０において、前記ステップＳ２３−５と同じ処理（図１６及び図１７のフローチャートの処理）を実行することによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜と基本要求重心速度方位角θvb_aim1とを決定する。
【０２７７】
さらに、要求重心速度生成部７４は、ステップＳ２５−１１にて、演算処理モードを速度ホールドモードから制動モードに変更し、図２０の処理を終了する。
【０２７８】
以上が、ステップＳ２５における速度ホールドモードの演算処理である。
【０２７９】
図１４の説明に戻って、要求重心速度生成部７４は、以上の如くステップＳ２３〜２５のいずれかの演算処理を実行した後、次に、その演算処理により決定した｜↑Ｖb_aim1｜とθvb_aim1とをそれぞれフィルタに入力する処理（フィルタリング処理）をステップＳ２６にて実行する。
【０２８０】
ここで、｜↑Ｖb_aim1｜とθvb_aim1とをそれぞれ入力するフィルタは、特に、演算処理モードが制動モードから速度追従モードに変更された直後に、要求重心速度ベクトル↑Ｖb_aimの大きさ｜↑Ｖb_aim｜と方位角θvb_aimとがステップ状に急変するのを防止するための一次遅れ特性のローパスフィルタである。この場合、｜↑Ｖb_aim｜を入力するフィルタの時定数は比較的短い時定数に設定されており、｜↑Ｖb_aim1｜が急変した直後以外の状況では該フィルタの出力値が｜↑Ｖb_aim1｜に一致又はほぼ一致するようになっている。θvb_aim1を入力するフィルタについても同様である。
【０２８１】
そして、ステップＳ２６では、θvb_aim1を入力したフィルタの出力値が、そのまま、要求重心速度ベクトル↑Ｖb_aimの方位角θvb_aim（以降、要求重心速度ベクトル方位角θvb_aimという）として決定される。
【０２８２】
次いで、ステップＳ２７に進んで、要求重心速度生成部７４は、｜↑Ｖb_aim1｜を入力したフィルタの出力値を、リミッタに通してなる値を、最終的に要求重心速度ベクトル↑Ｖb_aimの大きさ｜↑Ｖb_aim｜（以降、要求重心速度ベクトル絶対値｜↑Ｖb_aim｜という）として決定する。この場合、該リミッタは、｜↑Ｖb_aim｜が過大になるのを防止するためのものであり、｜↑Ｖb_aim1｜を入力したフィルタの出力値があらかじめ設定された所定の上限値以下である場合には、該フィルタの出力値をそのまま｜↑Ｖb_aim｜として出力する。また、該リミッタは、フィルタの出力値が上記上限値を超えている場合には、該上限値を｜↑Ｖb_aim｜として出力する。換言すれば、該リミッタは、フィルタの出力値と上記上限値とのうちの小さい方の値を｜↑Ｖb_aim｜として出力する。
【０２８３】
次いで、ステップＳ２８に進んで、要求重心速度生成部７４は、上記の如く決定した｜↑Ｖb_aim｜とθvb_aimとから、要求重心速度ベクトル↑Ｖb_aimのＸ軸方向成分（Ｘ軸方向の要求重心速度）Ｖb_x_aimと、Ｙ軸方向の成分（Ｙ軸方向の要求重心速度）Ｖb_y_aimとを算出する。より詳しくは、｜↑Ｖb_aim｜＊sin(θvb_aim)がＶb_x_aimとして算出され、｜↑Ｖb_aim｜＊cos(θvb_aim)がＶb_y_aimとして算出される。
【０２８４】
以上が要求重心速度生成部７４の処理の詳細である。
【０２８５】
以上説明した要求重心速度生成部７４の処理によって、要求重心速度ベクトル↑Ｖb_aimは（ひいては要求重心速度Ｖb_x_aim，Ｖb_y_aim）は、以下のような態様で決定されることとなる。
【０２８６】
すなわち、例えば、車両１の移動速度を増速するために、乗員が自身の足平で床を蹴ることによって、あるいは、補助者等が車両１を押すことによって、車両１に対して、概略Ｘ軸方向の推進力（詳しくは、前記ステップＳ２３−１の判断結果が肯定的となるような推進力）を付加した場合を想定する。
【０２８７】
なお、推進力を付加する前の演算処理モードは、前記制動モードであるとする。また、ここでは、理解の便宜上、図１４のステップＳ２６で｜↑Ｖb_aim1｜を入力するフィルタの出力値は、ステップＳ２７でのリミッタによる強制的な制限がかからない程度の範囲内に収まる値（該リミッタの上限値以下の値）であるとする。同様に、重心速度推定値Ｖb_x_s，Ｖb_y_sが、前記リミット処理部１０４での出力値Ｖ_x_lim2，Ｖ_y_lim2の強制的な制限が行なわれない程度の範囲内に収まるものとする。
【０２８８】
この場合、車両１に推進力を付加することによって、前記ステップＳ２３−１の判断結果が肯定的となると、図１５のステップＳ２３−３の処理によって、演算処理モードが制動モードから速度追従モードに変更されることとなる。
【０２８９】
この速度追従モードでは、減速要求が発生しない状況（ステップＳ２４−１の判断結果が否定的となる状況）で、推定重心速度ベクトル↑Ｖb_sの今回値（現在値）に、所定値の比率γを乗じてなるベクトル、すなわち、↑Ｖb_sよりも大きさが若干小さく、且つ、↑Ｖb_sと同じ向きの速度ベクトルが、基本要求重心速度ベクトル↑Ｖb_aim1として逐次決定される。
【０２９０】
このため、要求重心速度生成部７４が逐次決定する要求重心速度ベクトル↑Ｖb_aimは、車両１に付加された推進力によって増速する（大きさが増加する）実際の重心速度ベクトル↑Ｖbにほぼ一致する速度ベクトル↑Ｖb_aim1（＝γ＊↑Ｖb_s）に追従するように、決定されることとなる。
【０２９１】
そして、このように決定される要求重心速度ベクトル↑Ｖb_aimのＸ軸方向成分とＹ軸方向成分とが前記制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd，ωdotw_y_cmdにそれぞれ含まれる操作量成分ｕ3_x，ｕ3_yは、制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdに重心速度推定値Ｖb_x_s，Ｖb_y_sを各々収束させるように決定される。
【０２９２】
この結果、乗員が車両１に付加した推進力による車両系重心点の実際の移動速度の増速（概略前後方向での増速）が該推進力による要求に即して速やかに行なわれるように、車輪体５の移動速度が制御されることとなる。従って、車両１が付加された推進力によって円滑に加速することとなる。
【０２９３】
なお、速度追従モードにおいて、車両１に制動力を付加することによって、図１９のステップＳ２４−１の判断結果が肯定的になると（減速要求が発生すると）、演算処理モードが前記制動モードに変化する。このため、車両１の移動速度が減衰していくこととなる。この場合、減速要求の発生中は、ステップＳ２３−６の第２制動演算処理（図１８の処理）によって、｜↑Ｖb_aim1｜とθvb_aim1とが決定されるので、基本要求重心速度ベクトル↑Ｖb_aim1、あるいはこれに追従する要求重心速度ベクトル↑Ｖb_aimは、その向きを一定に保ったまま、大きさが一定の時間的変化率（前記所定値ΔＶb2により規定される時間的変化率）で減衰していくように決定されることとなる。
【０２９４】
次に、速度追従モードにおいて、車両１への推進力の付加が終了し、推定重心速度絶対値変化率DVb_sが前記第２閾値DV2よりも小さくなると（図１９のステップＳ２４−３の判断結果が肯定的になると）、図１９のステップＳ２４−５の処理によって、演算処理モードが速度追従モードから速度ホールドモードに変更されることとなる。
【０２９５】
この速度ホールドモードでは、加速要求及び減速要求が発生しない状況（図２０のステップＳ２５−１、２５−４の判断結果がいずれも否定的となる状況）で、カウントダウンタイマの計時が終了するまで、基本要求重心速度ベクトル↑Ｖb_aim1は、前回値の速度ベクトル↑Ｖb_aim1_pと同じ速度ベクトルに設定される。
【０２９６】
従って、速度ホールドモードの開始後、カウントダウンタイマの計時が終了するまでの所定時間（カウントダウンタイマの初期値Ｔmの時間）の期間において、基本要求重心速度ベクトル↑Ｖb_aim1は、速度ホールドモードが開始する直前に決定された速度ベクトルと同じ速度ベクトルで一定に保持されることとなる。
【０２９７】
このため、↑Ｖb_aim1に追従するように決定される要求重心速度ベクトル↑Ｖb_aimも、一定の速度ベクトル（速度ホールドモードが開始する直前に決定された↑Ｖb_aimと一致又はほぼ一致する速度ベクトル）に保たれるように決定されることとなる。
【０２９８】
そして、上記の如く決定される要求重心速度ベクトル↑Ｖb_aimのＸ軸方向成分とＹ軸方向成分とが前記制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd，ωdotw_y_cmdにそれぞれ含まれる操作量成分ｕ3_x，ｕ3_yは、制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdに重心速度推定値Ｖb_x_s，Ｖb_y_sを各々収束させるように決定される。
【０２９９】
この結果、車両１の増速後に、カウントダウンタイマの計時が終了するまでの期間（前記初期値Ｔmにより表される時間の期間）において、乗員の上体の姿勢の頻繁な調整を必要とすることなく、車両系重心点の実際の速度ベクトル↑Ｖbの大きさ及び向きが一定に保たれるように該車輪体５の移動速度が制御されることとなる。従って、この状況での車両１の実際の走行状態は、乗員がその上体を積極的に動かすような操縦操作をせずとも、ほぼ一定の速度ベクトルで滑走するような状態となる。
【０３００】
なお、速度ホールドモードにおいて、再び車両１に概略前後方向の推進力を付加することによって、図２０のステップＳ２５−４の判断結果が肯定的になると（加速要求が発生すると）、演算処理モードが前記速度追従モードに戻る。このため、車両１が再び概略前後方向で加速することとなる。
【０３０１】
また、速度ホールドモードにおいて、車両１に制動力を付加することによって、図２０のステップＳ２５−１の判断結果が肯定的になると（減速要求が発生すると）、演算処理モードが前記制動モードに変化する。このため、車両１の移動速度が減衰していくこととなる。この場合、速度追従モードで減速要求が発生した場合と同様に、減速要求の発生中は、ステップＳ２３−６の第２制動演算処理（図１８の処理）によって、｜↑Ｖb_aim1｜とθvb_aim1とが決定される
【０３０２】
次に、速度ホールドモードにおいて、加速要求及び減速要求が発生しない状況（図２０のステップＳ２５−１、２５−４の判断結果がいずれも否定的となる状況）が保たれたまま、前記カウントダウンタイマの計時が終了すると、図２０のステップＳ２５−１１の処理によって、演算処理モードが速度ホールドモードから制動モードに変更されることとなる。
【０３０３】
この制動モードでは、加速要求及び減速要求が発生しない状況（図１５のステップＳ２３−１，２３−４の判断結果がいずれも否定的となる状況）で、図１６のステップＳ２３−５−１，２３−５−２の処理が制御処理周期毎に実行されることによって、基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜が、“０”まで一定の時間的変化率（前記ΔVb1により規定される時間的変化率）で連続的に減衰していくこととなる。そして、｜↑Ｖb_aim1｜が“０”まで減衰した後には、｜↑Ｖb_aim1｜が“０”に保持される。
【０３０４】
さらに、制動モードでは、加速要求及び減速要求が発生しない状況で、図１６のステップＳ２３−５−３以降の処理が制御処理周期毎に実行される。この場合、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1の向き（図２０のステップＳ２５−８の判断結果が否定的となる制御処理周期の１つ前の制御処理周期で決定された↑Ｖb_aim1の向き）が、Ｘ軸方向と異なり、且つ、比較的Ｘ軸方向に近い向きである場合（より正確には、移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1が、０°＜θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p＜０°、θth2+≦θvb_aim1_p＜１８０°、−１８０°＜θvb_aim1_p≦θth2-のいずれかの範囲内の角度値である場合）には、｜↑Ｖb_aim1｜が“０”に減衰するまでの期間内において、θvb_aim1が一定の時間的変化率で収束目標角度値としての０°又は１８０°又は−１８０°に近づいていき、最終的に、該収束目標角度値に保持される。従って、制動モードの開始後、｜↑Ｖb_aim1｜が“０”に減衰するまでの期間内において、基本要求重心速度ベクトル↑Ｖb_aimの向きが、連続的にＸ軸方向に近づいていくこととなる。換言すれば、当該期間内において、基本要求重心速度ベクトル↑Ｖb_aimのＸ軸方向成分Ｖb_x_aim1の絶対値に対するＹ軸方向成分Ｖb_y_aim1の絶対値の比率が、“０”に近づいていくこととなる。そして、｜↑Ｖb_aim1｜が“０”に減衰するまでに、↑Ｖb_aim1の向きがＸ軸方向と同じ向きに到達すると（Ｖb_y_aim1＝０になると）、↑Ｖb_aim1の向きがＸ軸方向と同じ向きに保持される。
【０３０５】
従って、↑Ｖb_aim1は、その大きさが減衰しつつ、その向きがＸ軸方向に近づく（収束する）ように決定される。このように↑Ｖb_aim1が決定される状況では、↑Ｖb_aim1に追従するように決定される要求重心速度ベクトル↑Ｖb_aimも、その大きさが減衰しつつ、その向きがＸ軸方向に近づくように決定されることとなる。
【０３０６】
また、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1の向きが、Ｘ軸方向と異なり、且つ、Ｘ軸方向から比較的乖離した向きである場合（より正確には、上記移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1が、θth1+＜θvb_aim1_p＜θth2+、θth2-＜θvb_aim1_p＜θth1-のいずれかの範囲内の角度値である場合）には、｜↑Ｖb_aim1｜が“０”に減衰するまでの期間内において、θvb_aim1が、上記移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1と同じ角度値で一定に保持される。
【０３０７】
従って、↑Ｖb_aim1は、その大きさが減衰しつつ、その向きが一定に保たれるように決定される。このように↑Ｖb_aim1が決定される状況では、↑Ｖb_aim1に追従するように決定される要求重心速度ベクトル↑Ｖb_aimも、その大きさが減衰しつつ、その向きが一定に保たれるように決定されることとなる。
【０３０８】
なお、速度ホールドモードでは、↑Ｖb_aim1は、その大きさ及び向きが一定に保持されるので、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1は、結果的には、速度追従モードから速度ホールドモードへの移行直前に決定された↑Ｖb_aim1（図１９のステップＳ２４−３の判断結果が肯定的となる制御処理周期で決定された↑Ｖb_aim1）に一致する。
【０３０９】
そして、制動モードで上記の如く決定される要求重心速度ベクトル↑Ｖb_aimのＸ軸方向成分とＹ軸方向成分とが前記制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd，ωdotw_y_cmdにそれぞれ含まれる操作量成分ｕ3_x，ｕ3_yは、制御用目標重心速度Ｖb_x_mdfd，Ｖb_y_mdfdに重心速度推定値Ｖb_x_s，Ｖb_y_sを各々収束させるように決定される。
【０３１０】
この結果、前記制動モードの前の演算処理モードが速度ホールドモードである場合に、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の実際の速度ベクルの大きさが速度ホールドモードでの大きさから連続的に減衰していくように車輪体５の移動速度が制御されることとなる。
【０３１１】
この場合、速度ホールドモードから制動モードへの移行直前に決定された↑Ｖb_aim1（＝速度追従モードから速度ホールドモードへの移行直前に決定された↑Ｖb_aim1）の向きが、Ｘ軸方向と異なり、且つ、比較的Ｘ軸方向に近い向きである場合には、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの大きさが減衰しながら、該速度ベクトルの向きが自動的にＸ軸方向（乗員の前後方向）に近づいていくこととなる。従って、乗員の前後方向に対する車両１の直進性が高まる。
【０３１２】
ここで、車両１を加速しようとする場合、多くの場合、特に乗員の前後方向で車両１を加速することが要求される。この場合、倒立振子型車両１は、上記の如く前後方向に対する直進性が高いので、車両１に付加する推進力の向きが、前後方向から多少ずれていても、その後の速度ホールドモードに続く制動モードにおいて、自動的に車両系重心点の速度ベクトルが、前後方向に向くように車輪体５の移動速度が制御される。
【０３１３】
このため、車両１の移動方向のばらつきが生じにくく、乗員の前後方向に対して高い直進性を有する車両１（乗員の前後方向に進み易い車両１）が実現されている。ひいては、車両１を前後方向に移動させる場合に、車両１に付加する推進力を正確に前後方向に向けずとも、該車両１を前後方向に移動させることができる。その結果、車両１を前後方向に移動させる操縦操作が容易になる。
【０３１４】
また、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1（＝速度追従モードから速度ホールドモードへの移行直前に決定された↑Ｖb_aim1）の向きが、Ｘ軸方向と異なり、且つ、Ｘ軸方向から比較的乖離した向きである場合には、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの大きさが減衰しながら、該速度ベクトルの向きがほぼ一定に保たれる。すなわち、速度ホールドモードから制動モードへの移行直前に決定された↑Ｖb_aim1の向きが、Ｘ軸方向から比較的乖離した向きである場合には、速度追従モードで最終的に乗員が意図した車両系重心の速度ベクトルの向きが、Ｘ軸方向と異なる向きである可能性が高い。従って、速度追従モード以後に、車両系重心点が、乗員が意図する方向と乖離する向きに移動しようとするのを防止できる。
【０３１５】
［倒立振子型車両１の変形例についての説明］
次に、前述した倒立振子型車両１（基本構成例）の変形例について図２１を参照しつつ以下に説明する。なお、この変形例は、前記速度ホールドモードでの一部の処理のみが前記基本構成例と相違するものである。このため、この変形例の説明では、倒立振子型車両１（基本構成例）と同一の構成及び処理については説明を省略する。
【０３１６】
この変形例では、図１４のステップＳ２５の速度ホールドモードの演算処理は、図２１のフローチャートに示す如く実行される。この場合、図２１のステップＳ２５−８の判断結果が肯定的となった場合以外の処理は、前述の倒立振子型車両１で説明した処理（図２０の処理）と同じである。
【０３１７】
そして、本変形例では、図２１のステップＳ２５−８の判断結果が肯定的となった場合、すなわち、速度ホールドモードが開始してから、加速要求及び減速要求が発生しない状態で、カウントダウンタイマの初期値Ｔmにより表される所定時間が未だ経過していない場合には、要求重心速度生成部７４は、ステップＳ２５−９ａにおいて基本要求重心速度ベクトル絶対値｜↑Ｖb_aim1｜を決定し、さらに、ステップＳ２５−９ｂにおいて基本要求重心速度ベクトル方位角θvb_aim1を決定する。
【０３１８】
この場合、ステップＳ２５−９ａでは、｜↑Ｖb_aim1｜の今回値は、前述の基本構成例の場合と同様に、前回値｜↑Ｖb_aim1_p｜と同じ値に決定される。
【０３１９】
また、ステップＳ２５−９ｂでは、θvb_aim1の今回値は、前記基本構成例で説明した図１６、１７のステップＳ２５−５−５〜２５−５−１７と同じ処理によって決定される。従って、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1の向き（図１９のステップＳ２４−３の判断結果が肯定的となる制御処理周期で決定された↑Ｖb_aim1の向き）が、Ｘ軸方向と異なり、且つ、比較的Ｘ軸方向に近い向きである場合（より正確には、移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1が、０°＜θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p＜０°、θth2+≦θvb_aim1_p＜１８０°、−１８０°＜θvb_aim1_p≦θth2-のいずれかの範囲内の角度値である場合）には、速度ホールドモードの継続期間において、θvb_aim1が一定の時間的変化率で収束目標角度としての０°又は１８０°又は−１８０°に近づいていき、最終的に、０°又は１８０°又は−１８０°に保持されるようにθvb_aim1が決定される。
【０３２０】
このため、速度ホールドモードとこれに続く制動モードとを合わせた期間で、θvb_aim1が一定の時間的変化率で収束目標角度（０°又は１８０°又は−１８０°）に近づいていき、最終的に、該収束目標角度に保持されるようにθvb_aim1が決定される。
【０３２１】
また、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1の向き（図１９のステップＳ２４−３の判断結果が肯定的となる制御処理周期で決定された↑Ｖb_aim1の向き）が、Ｘ軸方向と異なり、且つ、Ｘ軸方向から比較的乖離した向きである場合（より正確には、上記移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1が、θth1+＜θvb_aim1_p＜θth2+、θth2-＜θvb_aim1_p＜θth1-のいずれかの範囲内の角度値である場合）には、速度ホールドモードの継続期間において、θvb_aim1が、上記移行直前に決定された↑Ｖb_aim1の方位角θvb_aim1と同じ角度値で一定に保持される。従って、この場合における方位角θvb_aim1の決定処理は、前述の基本構成例と同じである。このため、速度ホールドモードとこれに続く制動モードとを合わせた期間で、θvb_aim1が一定に保持されるように決定される。
【０３２２】
以上説明した以外の処理は、前述の基本構成例と同じである。
【０３２３】
かかる変形例では、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Ｖb_aim1の向きが、Ｘ軸方向と異なり、且つ、比較的Ｘ軸方向に近い向きである場合に、速度ホールドモードに続く制動モードだけでなく、速度ホールドモードにおいても、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの向きが自動的にＸ軸方向（乗員の前後方向）に近づいていくこととなる。従って、乗員の前後方向に対する車両１の直進性がより一層高めることができる。
【０３２４】
［ペダルを備える倒立振子型車両の構成と動作についての説明］
次に、図１に示す倒立振子型車両１に、乗員が足踏みするパダルを備えるペダル付の倒立振子型車両の例を、本発明の実施形態として説明する。
【０３２５】
図２２は、本発明の実施の形態に係わるペダルを備える倒立振子型車両の構成を示す図である。図２２に示す倒立振子型車両１Ａは、図１に示す倒立振子型車両１を基本の構成とし、新たにペダル２００Ｌ，２００Ｒを追加したものである。この倒立振子型車両１Ａにおいては、中心軸Ｃ４を中心にして回転可能な支軸２０２がカバー部材２１Ｒ，２１Ｌを貫通して支持されるようにして追加されており、この支軸２０２をペダル２００Ｌ，２００Ｒにより回転させることにより、後述する回転伝達機構を介してペダル用の電動モータ２１０を回転させる点に特徴がある。
【０３２６】
この倒立振子型車両１Ａにおいては、ペダル２００Ｌ，２００Ｒを乗員が漕ぐ（足踏みする）ことにより支軸２０２が回転する。そして、この支軸２０２の回転速度に応じて電動モータ２１０を回転させ、この電動モータ２１０の回転速度の信号により、倒立振子型車両１Ａの前後方向（Ｘ軸方向）の目標移動速度を決定するように構成されている。また、支柱フレーム１３内の制御ユニット５０Ａには、ペダル２００Ｌ，２００Ｒを漕ぐ（足踏みする）際に反力（ブレーキトルク）を与えるための制御機能が付加され、また、モータドライバ部５１には、後述する車輪体駆動用のモータドライバと、ペダル用電動モータを駆動するペダル用モータドライバとが含まれる。他の構成は図１に示す倒立振子型車両１と同様である。このため、同一の構成部分には同一の符号を付し、重複する説明は省略する。
【０３２７】
図２２において、支軸２０２の左側（Ｌ側）の端部には、アーム２０１Ｌが支軸２０２の軸心Ｃ４と垂直な方向に固着されている。ペダル２００Ｌは、アーム２０１Lの先端部（支軸２０２とは反対側の端部）おいてアーム２０１Ｌの長手方向に対して垂直、かつカバー部材２１Ｌとは反対側の方向に延びるようにして取り付けられている。このペダル２００Ｌは中心軸Ｃ５Ｌを中心にして回転可能に取り付けられる。このように、ペダル２００Ｌは、アーム２０１Ｌを介して支軸２０２に取り付けられている。
【０３２８】
同様にして、支軸２０２の右側（Ｒ側）の端部には、アーム２０１Ｒが支軸２０２の軸心Ｃ４と垂直な方向に固着されている。ペダル２００Ｒは、アーム２０１Ｒの先端部（支軸２０２とは反対側の端部）おいてアーム２０１Ｒの長手方向に対して垂直、かつカバー部材２１Ｒとは反対側の方向に延びるようにして取り付けられている。このペダル２００Ｌは中心軸Ｃ５Ｒを中心にして回転可能に取り付けられる。このように、ペダル２００Ｒは、アーム２０１Ｒを介して支軸２０２に取り付けられている。また、アーム２０１Ｌとアーム２０１Ｒとは、Ｙ軸方向から見た場合（投影図として見た場合）において、一直線上に位置し、かつ支軸２０２の中心軸Ｃ４に対して、互いに逆向きになるように取り付けられている。
【０３２９】
この支軸２０２の軸心Ｃ４と、車輪体５を駆動するための回転部材２７Ｌ，２７Ｒの支軸３３Ｌ，３３Ｒ（図３を参照）の軸心Ｃ２（車輪体５全体の直径方向に直交する軸心Ｃ２）とは同軸心である。また、支軸３３Ｌ，３３Ｒは円筒形状で構成され、支軸２０２は、この支軸３３Ｌ，３３Ｒの内側に内挿されるようにして回転可能に支持され、支軸２０２と支軸３３Ｌ，３３Ｒとは、互いに独立して回転するように構成されている。
【０３３０】
また、支軸２０２は、電動モータ２１０の出力軸（回転軸）２０６に、回転伝達機構（例えば、ペダルの回転数を減速または増速する機構）としての機能を含む動力伝達機構を介して接続されており、電動モータ２１０は支軸２０２側から伝達される回転力（トルク）によって回転駆動される。この動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図２２に示す如く、支軸２０２の回転は、プーリ２０３と、ベルト２０４と、プーリ２０５とを介して電動モータ２１０の出力軸２０６に伝達される。なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。
【０３３１】
上記構成により、乗員がペダル２００Ｌ，２００Ｒを漕ぐと支軸２０２が軸心Ｃ４の回りに回転し、これに連動して電動モータ２１０の出力軸２０６が回転することになる。すなわち、乗員がペダル２００Ｌ，２００Ｒを漕ぐ速度に応じて、電動モータ２１０の出力軸２０６が回転することになる。
【０３３２】
図２３は、ペダルのブレーキトルク（反力）の第１の設定方法を示す図である。より正確には、制御ユニット５０Ａ中の車両制御演算処理（モータの速度指令を決定する処理）に係わる処理機能を示すブロック図である。図２３に示す制御ユニット５０Ａの機能構成が、前述の図９に示す制御ユニット５０の機能構成と比較して構成上異なるのは、図９に示す機能構成に対して、図２３に示すペダルトルク設定部２２１と、ペダル要求速度生成部７９と、演算部７１とを追加した点が異なる。また、制御ユニット５０Ａの周辺回路としてペダル２００Ｌ，２００Ｒで駆動される電動モータ２１０と、ペダル用モータドライバ２２０とを追加した点が異なる。また、車輪体５の駆動用の電動モータ３１Ｌ，３１Rと、モータドライバ８５L，８５Rと、バッテリ２３０とを明示した点が異なる。他の構成は図９に示す機能構成図と同様である。このため、同一の構成部分には同一の符号を付し、重複する説明は省略する。
【０３３３】
図２３において、車輪体５の駆動用のモータドライバ８５Ｒは、モータ指令演算部８２から入力される回転角速度指令ω_R_cmdに応じて右側の電動モータ３１Ｒを回転駆動するドライバである。このモータドライバ８５Ｒは、例えば、電動モータ３１ＲがＡＣサーボモータである場合は、ベクトル制御方式のＰＷＭインバータであり、平地や上り坂等においては、電動モータ３１Ｒを力行モードで回転駆動するように制御する。
【０３３４】
また、車輪用のモータドライバ８５Ｒは、下り坂等において、電動モータ３１Ｒが負荷側（車輪体５側）から回される場合（回転角速度指令ω_R_cmd以上の速度で電動モータ３１Ｒが回転しようとする場合）は、回生モード（ブレーキングモード）で動作し、電動モータ３１Ｒから回生されるエネルギー（回生電流）によりバッテリ２３０を充電するように動作する。
【０３３５】
このモータドライバ８５Ｒでは、電動モータ３１Ｒのモータ電流中のトルク電流成分を抽出し、モータトルク電流信号ＩｔＲとして、制御ユニット５０Ａ内のペダルトルク設定部２２１に向けて出力する。
【０３３６】
同様にして、車輪体用のモータドライバ８５Ｌは、モータ指令演算部８２から入力される回転角速度指令ω_L_cmdに応じて左側の電動モータ３１Ｌを回転駆動するドライバである。このモータドライバ８５Ｌは、例えば、電動モータ３１ＬがＡＣサーボモータである場合は、ベクトル制御方式のＰＷＭインバータであり、平地や上り坂等においては、電動モータ３１Ｌを力行モードで回転駆動するように制御する。
【０３３７】
また、車輪体用のモータドライバ８５Ｌは、下り坂等において、電動モータ３１Ｌが負荷側（車輪体５側）から回される場合（回転角速度指令ω_L_cmd以上の速度で電動モータ３１Ｌが回転しようとする場合）は、回生モード（ブレーキングモード）で動作し、電動モータ３１Lから回生されるエネルギー（回生電流）によりバッテリ２３０を充電するように動作する。
【０３３８】
このモータドライバ８５Ｌでは、電動モータ３１Ｌのモータ電流中のトルク電流成分を抽出し、モータトルク電流信号ＩｔＬとして、制御ユニット５０Ａ内のペダルトルク設定部２２１に向けて出力する。
【０３３９】
例えば、車輪用の電動モータ３１Ｒ，３１ＬがＡＣサーボモータ（３相誘導電動機）である場合の、モータドライバ８５Ｒ，８５Ｌの構成例を図２４に示す。図２４に示すモータドライバは、速度指令信号ωｒ＊を入力して、ＡＣモータＭを所望の速度で回転させるモータドライバである、このモータドライバは、周知の構成のものであるが、その構成について簡単にだけ説明しておく。
【０３４０】
図２４に示すモータドライバにおいて、ＡＣモータＭの回転軸に付設され、この回転軸と連動して回転するロータリーエンコーダ（以下、パルスジェネレータＰＧと呼ぶ）から出力されるパルス信号（回転方向を判別するための２相のパルス信号）は、角度・速度検出部３２０に入力される。角度・速度検出部３２０では、ＡＣモータＭのパルスジェネレータＰＧから入力したパルス信号を基に、ＡＣモータＭの回転軸の回転速度ωｒ、および回転子の位置θを算出して出力する。
【０３４１】
そして、ＡＣモータＭの回転速度指令となる速度指令信号ωｒ＊は、パルスジェネレータＰＧから出力されるパルス信号により生成される速度フィードバック信号ωｒと、演算部３０１により比較される。そして、演算部３０１により速度指令信号ωｒ＊と速度フィードバック信号ωｒとの偏差信号（ωｒ＊−ωｒ）が生成され、この偏差信号が、速度制御用のＰＩ（比例・積分）回路３０２により増幅されトルク指令信号ｉｑ＊が生成される。
【０３４２】
一方、ＡＣモータＭに流れる３相電流ｉｕ，ｉｖ，ｉｗが、３相／２相変換回路３２１により、d−ｑ直交軸（回転子に同期して回転する座標軸）上のトルク電流成分ｉｑｆと、界磁電流成分ｉｄｆとに変換され、電流フィードバック信号として出力される。
【０３４３】
また、速度制御用のＰＩ（比例・積分）回路３０２から出力されるトルク指令信号ｉｑ＊と、３相／２相変換回路３２１から出力されるトルク電流成分ｉｑｆの信号とが、演算部３０３により比較され、このトルク指令信号ｉｑ＊とトルク電流成分ｉｑｆの信号との偏差信号（ｉｑ＊−ｉｑｆ）が、ｑ軸用の電圧制御用ＰＩ（比例・積分）回路３０４により増幅され、ｑ軸の電圧指令信号Ｖｄ＊が生成される。また、界磁指令信号ｉｄ＊と、３相／２相変換回路３２１から出力される界磁電流成分ｉｄｆの信号とが、演算部３０５により比較され、この界磁指令信号ｉｄ＊と界磁電流成分ｉｄｆの信号との偏差信号（ｉｄ＊−ｉｄｆ）が、ｄ軸用の電圧制御用ＰＩ（比例・積分）回路３０６により増幅され、ｄ軸の電圧指令信号Ｖｄ＊が生成される。
【０３４４】
そして、２相／３相変換回路３１０では、ｑ軸の電圧制御用ＰＩ回路３０４から出力される電圧指令信号Ｖｄ＊と、ｄ軸の電圧制御用ＰＩ回路３０６から出力される電圧指令信号Ｖｄ＊とを基に、３相の交流電圧指令Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を生成してＰＷＭ変換部３１１に出力する。ＰＷＭ変換部３１１では、３相の交流電圧指令Ｖｕ＊，Ｖｖ＊，Ｖｗ＊のそれぞれを３角波信号等と比較することによりＰＷＭ信号を生成し、このＰＷＭ信号により、ＰＷＭインバータ３１２内のスイッチング素子（例えば、ＩＧＢＴの３相ブリッジ回路）をＯＮ，ＯＦＦ制御し、３相交流電圧をＵ，Ｖ，Ｗを生成して、ＡＣモータＭに印加する。
【０３４５】
このような構成のモータドライバにおいては、通常の構成として、ＡＣモータＭに流れる界磁電流成分を設定するための界磁電流指令信号ｉｄ＊を外部から入力できるように構成されている。また、速度制御用のＰＩ（比例・積分）回路３０２から出力されるトルク指令信号ｉｑ＊の最大値を制限（設定）するトルク設定信号Ｔｓｅｔを、外部から入力できるように構成されている。すなわち、ＰＩ（比例・積分）回路３０２の出力信号をトルク設定信号Ｔｓｅｔにより制限するトルク設定機能（トルク電流制限機能）を備え、これにより出力トルクを制御する機能を備えている。また、３相／２相変換回路３２１から出力されるトルク電流成分ｉｑｆを、トルク電流信号ｉｔとして外部に出力し、モータ回転速度ωｒの信号を外部に出力するように構成されている。
【０３４６】
図２３に戻り、ペダル２００Ｌ，２００Ｒおよび減速機構２１１により回転駆動される電動モータ２１０には、ペダル用モータドライバ２２０が接続されている。このペダル用モータドライバ２２０は、例えば、電動モータ２１０がＡＣサーボモータである場合は、ベクトル制御方式のＰＷＭインバータであり、前述した図２７に示すモータドライバと同様な構成のものである。
【０３４７】
この場合に、電動モータ２１０は常に回生モードで作動するように設定される。すなわち、電動モータ２１０はペダル２００Ｌ，２００Ｒの回転に対して常に反力（ブレーキトルク）を与えるように制御される。そして、電動モータ２１０がペダル２００Ｌ，２００Ｒにより回転させられる場合は、電動モータ２１０は発電機として作動し、モータドライバ２２０を通して流れ出る回生電流Ｉｐｄによりバッテリ２３０を充電する。
【０３４８】
このブレーキトルクの大きさは、車輪用の電動モータ３１Ｌ，３１Ｒのトルク成分電流に比例するように制御される。すなわち、上り坂においては、勾配が急になるほどペダル２００Ｌ，２００Ｒのブレーキトルクが大きくなり、ペダル２００Ｌ，２００Ｒを回しにくくする（加速を抑える）。また、例えば、ペダル２００Ｌ，２００Ｒの回転速度が増大するつれて、ブレーキトルクを増加させる。なお、下り坂においては、安全のために、勾配が急になるほどペダル２００Ｌ，２００Ｒのブレーキトルクが大きくなるようにし、ペダル２００Ｌ，２００Ｒを回しにくくする（加速を抑える）ようにしてもよい。
【０３４９】
このように、このペダル用モータドライバ２２０によるペダル２００Ｌ，２００Ｒのブレーキトルクの制御は、ペダル用モータドライバ２２０を回生モードで動作させることにより行われる。この場合、ブレーキトルクの大きさを制御するために、ペダル用モータドライバ２２０に備わる前述のトルク設定機能（トルク電流制限機能）を利用することができる。なお、汎用のモータドライバにおいては、通常の機能として、トルク設定信号に従いトルク電流（力行および回生側のトルク電流）の大きさを制限する機能を備えているものである。
【０３５０】
例えば、図２４に示すモータドライバにおいて、速度指令ωｒ＊を０（ゼロ）とし、パルスジェネレータＰＧの出力信号から生成されるモータ回転速度ωｒを速度フィードバック信号とする。これにより、電動モータ２１０がペダル２００Ｌ，２００Ｒにより回される場合は、速度制御用のＰＩ回路３０２の出力値は、回生電流を流す方向のトルク指令信号ｉｑ＊となり、かつ、ＰＩ回路３０２の出力値（トルク指令信号ｉｑ＊）は、積分要素の作用により飽和状態の出力値になる。そこで、この飽和電圧の値を、トルク設定信号Ｔｓｅｔにより制御（制限）する。すなわち、トルク設定信号Ｔsetによりトルク指令信号ｉｑ＊の値を制御することにより、トルク設定信号Ｔsetに応じた回生電流を電動モータ２１０からバッテリ２３０側に流すことができる。
【０３５１】
この場合に、例えば、以下の式１０に示すように、電動モータ３１Ｌのトルク電流ＩｔＬと、電動モータ３１Ｒのトルク電流ＩｔＲとの和に比例するようにトルク設定信号Ｔsetを生成する。
Ｔset＝Ｋt（ItR＋ItL）  式１０
ここで、Ｋｔは、所定のゲイン定数
これにより、車輪体５を駆動する電動モータ３１Ｌ，３１Ｒのトルク電流に比例させて、ペダル２００Ｌ，２００Ｒのブレーキトルクを制御することができる。
【０３５２】
また、ペダル用モータドライバ２２０からは、ペダル用電動モータ２１０のパルスジェネレータＰＧの出力信号から生成されるモータ回転角速度ωpdの信号が出力される。このペダル用電動モータ２１０のモータ回転速度ωpdの信号は、ペダル２００Ｌ，２００Ｒの回転速度を示す信号として、制御ユニット５０Ａ内のペダル要求速度生成部７９に入力される。
【０３５３】
このペダル要求速度生成部７９では、ペダル用電動モータ２１０の回転角速度ωpdの信号を基に、重心移動速度の目標値（重心移動速度目標値Vb_obj）を生成する。例えば、回転角速度ωpdに所定のゲイン係数Ｋpdを乗算した値（Ｋpd・ωpd）をペダル重心移動速度目標値Vb_objとして出力する（Ｖb_obj＝Ｋpd・ωpd）。そして、演算部７１により、このペダル重心移動速度目標値Ｖb_objと、要求重心速度生成部７４から出力される要求重心速度Ｖb_x_aimとを加算して、新たな要求重心速度Ｖb_x_aim´を生成して、重心速度制限部７６に出力する。
Ｖb_x_aim´＝Vb_obj＋Ｖb_x_aim  式１１
【０３５４】
重心速度制限部７６では、この要求重心速度Ｖb_x_aim´を基に目標重心速度Ｖb_x_mdfdを生成する。前述のように、式０７ｘの右辺の第３項は、重心速度推定値Ｖb_x_sと目標重心速度Ｖb_x_mdfdとの偏差をフィードバック制御則としての比例則により“０”に収束させる（Ｖb_x_sをＶb_x_mdfdに収束させる）ためのフィードバック操作量成分としての意味を持つ。このため、ペダル重心移動速度目標値Vb_objが加算された目標重心速度Ｖb_x_mdfdが生成されることにより、重心速度推定値Ｖb_x_sは、Ｖb_x_aim´に一致するように制御される。これにより、ペダル２００Ｌ，２００Ｒの回転により倒立振子型車両１Ａの前後方向の速度を操作することできる。
【０３５５】
なお、前述した倒立振子型車両１における、図１０から図１３に示した各処理部の回路構成と動作は、ペダルを備える倒立振子型車両１Ａにおいても同様な構成と動作になる。また、図７、および図１４から図２１に示すフローチャートにおける処理の過程についても、同様な処理となる。
【０３５６】
例えば、ペダル付の倒立振子型車両１Ａにおいて、基体９を傾斜させて車両系重心点の移動操作により所望の方向への移動操作を行う場合には、倒立振子型車両１と同じ車両制御演算処理が行われる。
【０３５７】
また、倒立振子型車両１Ａにおいてペダルにより前後方向について操縦を行う場合、例えば、ペダルを漕いでｘ方向（前進方向）に加速し、車両系重心点の傾斜角θｂ、および重心速度推定値Ｖb_x_sに変化が生じた場合は、倒立振子型車両としての車両制御演算処理が行われ、姿勢制御が行われる。
【０３５８】
なお、このペダル２００Ｌ，２００Ｒにより前後方向に加速を行う場合は、車輪体５の前後方向への加速が行われることにより、車両系重心点の重心速度推定値Ｖb_x_sが増加し、結果的に図１９のフローチャートに示す速度追従モードおける処理と同様な処理が行われることになる。
【０３５９】
すなわち、乗員が倒立振子型車両１Ａを押して加速（ただし前後方向への加速）する場合と、ペダル操作により倒立振子型車両１Ａを前後に加速する場合は、車両系重心点の重心速度推定値Ｖb_x_sを増加させる点において共通であり、この重心速度推定値Ｖb_x_sの変化に応じて、要求重心速度ベクトル↑Ｖb_aimの算出処理が行われることになる。この場合、図１９のフローチャートに示すように、ペダル操作を停止（加速要求を解消）してから、所定時間の期間、要求重心速度ベクトル↑Ｖb_aimの大きさが一定に保たれ、その後に、要求重心速度ベクトル↑Ｖb_aimの大きさが“０”まで連続的に減衰させられることになる。
【０３６０】
また、上述した説明では、ペダル２００Ｌ，２００Ｒにより電動モータ２１０の回転方向を、倒立振子型車両１ＡをＸ軸方向（前進方向）に加速する方向に回す場合の例について説明したが、もちろん、ペダル２００Ｌ，２００Ｒにより電動モータ２１０を、逆方向（加速する方向とは反対の方向）に回すこともできる。
【０３６１】
このペダル２００Ｌ，２００Ｒにより電動モータ２１０を、逆方向（加速する方向とは反対の方向）に回す場合には、種々の制御方法を用いることができる。例えば、通常の自転車と同じように、ペダル２００Ｌ，２００Ｒを逆方向に回す場合には、ブレーキトルクを０とし、かつ、加速も減速も行わない状態（空転状態）にすることができる。
【０３６２】
また、例えば、ペダル２００Ｌ，２００Ｒを逆方向に回す場合のブレーキトルクの大きさを、車輪用の電動モータ３１Ｌ，３１Ｒのトルク成分電流（力行側のトルク電流）に逆比例するように制御することができる。すなわち、上り坂においては、勾配が急になるほどペダル２００Ｌ，２００Ｒの逆方向のブレーキトルクが小さくなり、ペダル２００Ｌ，２００Ｒを回しやすくする（減速しやすくする）ようにできる。
【０３６３】
また、図２３に示した制御ユニット５０Ａの構成例では、ペダル２００Ｌ，２００Ｒに与える反力を、車輪体５を駆動する電動モータ３１Ｒ，３１Ｌに流れるモータ電流（トルク電流ＩｔＲ，ＩｔＬ）を基に設定する例について説明したが、これに限定されず、種々の方法を用いることができる。
【０３６４】
図２５はペダルのブレーキトルクの第２の設定方法を示す図である。図２５に示すように、ペダル２００Ｌ，２００Ｒに与える反力を、車輪体５を駆動する電動モータ３１Ｒ，３１Ｌの出力パワーを基に設定することができる。この場合に、ペダルトルク設定部２２１Ａでは、電動モータ３１Ｒ，３１Ｌに流れるモータ電流（トルク電流ＩｔＲ，ＩｔＬ）と、モータ電動モータ３１Ｒ，３１Ｌの回転速度（ω_R，ω_L）とにより電動モータ３１Ｒ，３１Ｌの出力パワーを求め、これを基に、以下の式１２により、ペダルのトルク設定信号Ｔsetを算出する。
Ｔset＝Kpd1・（ItR・ω_R＋ItL・ω_L）／（ωpd＋α）  式１２
ここで、Ｋpd1は、所定のゲイン係数であり、ωpdは、ペダル用の電動モータ２１０の回転速度（回転角速度）であり、αは予め定められる任意の定数である。
【０３６５】
このように、車輪用の電動モータ３１Ｒ，３１Ｌの出力パワーを基に、ペダル２００Ｌ，２００Ｒのブレーキトルクを設定することができる。
【０３６６】
また、図２６は、ペダルのブレーキトルク（反力）の第３の設定方法を示す図である。図２６に示すように、モータドライバ８５Ｌ，８５Ｒの消費電力を基に、ペダル２００Ｌ，２００Ｒのブレーキトルクを設定することもできる。
【０３６７】
この場合に、ペダルトルク設定部２２１Ｂでは、バッテリ２３０の電池電圧Ｖbatと、電流センサＣＴ_Rにより検出されるモータドライバ８５Ｒの入力電流であるモータドライバ電流ｉdrRと、電流センサＣＴ_Lにより検出されるモータドライバ８５Ｌの入力電流であるモータドライバ電流ｉdrLとを基に、モータドライバ８５Ｌ，８５Ｒにおける消費電力を求める。そして、以下の式１３により、ペダルのトルク設定信号Ｔsetを算出する。
Ｔset＝Ｋpd2・（idrR・Vbat＋idrL・Vbat）／（ωpd＋α）  式１３
ここで、Ｋpd2は、所定のゲイン係数であり、Ｖbatはバッテリ２３０の電池電圧であり、ωpdは、ペダル用の電動モータ２１０の回転速度（回転角速度）であり、αは予め定められる任意の定数である。
【０３６８】
このように、モータドライバ８５Ｌ，８５Ｒの消費電力を基に、ペダル２００Ｌ，２００Ｒのブレーキトルクを設定することができる。
【０３６９】
なお、バッテリ２３０が回生電流により過充電になりそうな場合は、ペダル２００Ｌ，２００Ｒの回転による発電量（回生電流量）を減らすように、ペダル２００Ｌ，２００Ｒのブレーキトルクを変化させることができる。
【０３７０】
図２７は、ペダルのブレーキトルク（反力）の第４の設定方法を示す図である。図２７に示すように、ペダルトルク設定部２２１Ｃでは、バッテリ２３０の電池電圧Ｖbatを検出し、この電池電圧Ｖbatが所定の閾値を超えた場合に、電池電圧Ｖbatの増加量に応じて、トルク設定信号Ｔsetを減少させて、ペダル２００Ｌ，２００Ｒのブレーキトルクを低下（回生電流量を低下）させることができる。また、バッテリ２３０の電池電圧Ｖbatが所定値を超えた場合に、ペダル用電動モータ２１０を力行させるようにしてもよい。
【０３７１】
または、トルク設定信号Ｔsetを０とし、界磁電流指令信号ｉｄ＊を増加させて界磁電流（無効電流成分）を増大させ、界磁電流回路の抵抗成分により、エネルギー消費させて、バッテリ２３０への過充電を防ぐようにすることもできる。
【０３７２】
なお、上述した例では、ペダル要求速度生成部７９が、図２８（Ａ）に示すように、ペダル２００Ｌ，２００Ｒの回転速度（ペダル用電動モータ２１０の回転角速度ωpd）に対して、一定のゲイン係数Ｋpdを乗じて、重心移動速度目標値Vb_obj（Vb_obj＝Ｋpd・ωpd）を生成する例について説明したが、これに限定されない。
【０３７３】
例えば、図２８（Ｂ）に示すように、車輪用の電動モータ３１Ｒ，３１Ｌの負荷トルクの大小に応じて、ゲイン係数Ｋpdを変化させることもできる。この場合、ペダル要求速度生成部７９に対し、ペダルの回転速度信号ωpdとともに、モータドライバ８５Ｌからのトルク電流信号ＩｔＬと，モータドライバ８５Ｒからのトルク電流信号ＩｔＲとが入力されることになる。
【０３７４】
これにより、例えば、上り坂では、ペダル２００Ｌ，２００Ｒを早く漕いでも（ペダル用電動モータ２１０を早く回しても）、倒立振子型車両の移動速度の上昇を抑制することができる。これにより、自動的な変速キヤの切り替え操作を類似でき、ペダル２００Ｌ，２００Ｒによる走行操作の快適性を向上させることができる。
【０３７５】
以上説明したように、本発明のペダルを備える倒立振子型車両においては、操作しやすい倒立振子型車両を実現することができる。すなわち、前後方向へはペダルの回転により移動速度を調整しながら進みつつ、前後及び左右方向に対して姿勢の安定性を保つことができる。また、ペダルを漕ぐ場合に、車輪体５を駆動する電動モータの負荷トルクに応じたブレーキトルクを返すなど、乗員の実際の走行感覚に合わせた移動操作を行えるようにすることで、車両の移動操作を行う際の快適性を高めることができる。さらには、ペダルの回転により発電を行い、バッテリを充電することが可能になる。
【０３７６】
なお、前述した例では、ペダル用電動モータ２１０、および車輪体５の駆動用の電動モータ３１Ｒ，３１ＬとしてＡＣサーボモータ（３相誘導電動機）を使用する例について説明したが、これに限定されず、同期型のＡＣサーボモータを使用してもよいし、ＤＣサーボモータを使用してもよい。すなわち、前述したペダル２００Ｌ，２００Ｒにブレーキトルクを与えることができるモータであればよい。また、上述した例では、ペダルを用いた例について説明したがこれに限定されない、例えば、足踏み式ステッパなどを用いてもよい。
【０３７７】
以上、本発明のペダルを備える倒立振子型車両１Ａについて説明したが、前述の制御ユニット５０Ａは内部にコンピュータシステムを有している。そして、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【０３７８】
すなわち、重心速度算出部７２、要求重心速度生成部７４、要求重心速度生成部７４、重心速度制限部７６、ゲイン調整部７８、ペダル要求速度生成部７９、姿勢制御演算部８０、モータ指令演算部８２、およびペダルトルク設定部２２１における、各処理は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。
【０３７９】
なお、ここで、図２２乃至図２８において説明したペダルを備える倒立振子型車両の実施形態と、本発明との対応関係を補足しておく。
【０３８０】
本実施形態では、倒立振子型車両１Ａの乗員の前後方向（Ｘ軸方向）、左右方向（Ｙ軸方向）が、それぞれ、本発明における第１の方向、第２の方向に相当する。また、本発明の移動動作部は車輪体５が主に相当し、より正確には、車輪体５と、車輪体５の駆動機構（アクチュエータ装置７）と、電動モータ３１Ｌ，３１Ｒと、モータドライバ８５Ｌ，８５Ｒとで構成される部分が相当する。また、本発明の制御部は制御ユニット５０Ａが相当する。また、本発明の周期運動部およびペダルはペダル２００Ｌ，２００Ｒが相当し、本発明の周期検知部およびペダル用電動モータはペダル用電動モータ２１０が相当する。また、本発明のペダル回転速度検知部は、ペダル用電動モータ２１０の回転軸と連動して回転するパルスジェネレータＰＧ（ロータリーエンコーダ）と、このパルスジェネレータＰＧから出力されるパルス信号を受信してペダル２００Ｌ，２００Ｒの回転速度に相当する信号を生成するペダル用モータドライバ２２０とが相当する。また、本発明のペダルトルク制御部は、制御ユニット５０Ａ内のペダルトルク設定部２２１と、ペダル用モータドライバ２２０とが相当する。
【０３８１】
そして、本実施形態の倒立振子型車両１Ａにおいては、ペダル２００Ｌ，２００Ｒが基体９に設備される。また、基体９に付設されたペダル回転速度検知部（ペダル用電動モータ２１０のパルスジェネレータＰＧとペダル用モータドライバ２２０）によりペダル２００Ｌ，２００Ｒの回転速度を検知する。そして、制御ユニット５０Ａは、ペダル用モータドライバ２２０から出力される回転速度の信号（ペダルの回転速度を示す信号）に基づいて、移動動作部（車輪体５等）の制御を行う。
これにより、移動操作がしやすい全方向移動車両（倒立振子型車両）を実現することができる。例えば、ペダルの回転により前後方向の移動速度を調整しながら進みつつ、かつ前後及び左右方向に対して姿勢の安定性を保つことができる。
【０３８２】
また、上記倒立振子型車両１Ａにおいて、制御ユニット５０Ａ（より正確にはペダル要求速度生成部７９）は、ペダル２００Ｌ，２００Ｒの回転速度に応じて、車両系重心点（車両と乗員の全体重心点）の前後方向への目標重心速度を制御する。
これにより、ペダルの回転により前後方向への移動速度を調整しながら進みつつ、かつ前後及び左右方向に対して姿勢の安定性を保つことができる。
【０３８３】
また、上記倒立振子型車両１Ａにおいて、制御ユニット５０Ａ内のペダルトルク制御部（ペダルトルク設定部２２１およびペダル用モータドライバ２２０）は、ペダル２００Ｌ，２００Ｒにより回転駆動されるペダル用電動モータ２１０のブレーキトルクを、車輪体５を駆動する電動モータ３１，３１Ｌのトルク電流の信号に基づいて制御する。
これにより、例えば、上り坂等においては、移動動作部を駆動する電動モータの負荷トルクに応じて、ペダルのブレーキトルクを制御することができ、車両の移動操作を行う際の快適性を高めるとともに、ペダルを回すことにより得られる回生エネルギーによりバッテリを充電することができる。
【０３８４】
また、上記倒立振子型車両１Ａにおいては、制御ユニット５０Ａ内のペダル要求速度生成部７９は、ペダル２００Ｌ，２００Ｒの回転速度に応じて、車両系重心点の前後方向の目標重心速度を設定する際に、移動動作部の電動モータ３１Ｌ，３１Ｒの動作状態に応じて目標重心速度を可変に設定する。
これにより、例えば、上り坂等においては、ペダルの回転速度に応じて設定される前後方向への移動速度を小さくし、移動動作部を駆動する電動モータが過負荷になることを避けることができる。
【０３８５】
以上、本発明の実施の形態について説明したが、本発明のペダル操作が可能な倒立振子型車両は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０３８６】
１、１Ａ…全方向移動車両（倒立振子型車両）、３…シート（搭乗部）、５…車輪体、９…基体、３１Ｒ，３１Ｌ…車輪体駆動用の電動モータ、５０Ａ…制御ユニット、７４…要求重心速度生成部、７６…重心速度制限部、７９…ペダル要求速度生成部、８０…姿勢制御演算部、８２…モータ指令演算部、８５Ｒ，８５Ｌ…車輪体駆動用のモータドライバ、２１０…ペダル用電動モータ、２２０…ペダル用モータドライバ、２２１，２２１Ａ，２２１Ｂ，２２１Ｃ…ペダルトルク設定部、２３０…バッテリ
【図１】
2011068222.tif 000003
【図２】
2011068222.tif 000004
【図３】
2011068222.tif 000005
【図４】
2011068222.tif 000006
【図５】
2011068222.tif 000007
【図６】
2011068222.tif 000008
【図７】
2011068222.tif 000009
【図８】
2011068222.tif 000010
【図９】
2011068222.tif 000011
【図１０】
2011068222.tif 000012
【図１１】
2011068222.tif 000013
【図１２】
2011068222.tif 000014
【図１３】
2011068222.tif 000015
【図１４】
2011068222.tif 000016
【図１５】
2011068222.tif 000017
【図１６】
2011068222.tif 000018
【図１７】
2011068222.tif 000019
【図１８】
2011068222.tif 000020
【図１９】
2011068222.tif 000021
【図２０】
2011068222.tif 000022
【図２１】
2011068222.tif 000023
【図２２】
2011068222.tif 000024
【図２３】
2011068222.tif 000025
【図２４】
2011068222.tif 000026
【図２５】
2011068222.tif 000027
【図２６】
2011068222.tif 000028
【図２７】
2011068222.tif 000029
【図２８】
2011068222.tif 000030