(57)【要約】【課題】自立制御が継続しづらくなる前に、車両挙動を変化させることで確実に乗員に通知を行うことができる倒立振子型車両の制御装置を提供する。【解決手段】少なくとも状態情報取得手段（７０、７１、７２）により取得された状態情報に基づいて第１の移動動作部３を駆動制御する第１制御処理部２４が、基体２の目標傾斜指令Ｍ_cmd_xyを演算する目標傾斜指令演算部３５と、目標傾斜指令Ｍ_cmd_xyを達成するための第１の移動動作部３の目標並進速度（Ｖw1_cmd_xy）を演算する姿勢制御演算部３４を有し、状態情報が所定の自立制御適応範囲Ｒを外れた場合、目標傾斜指令演算部３５が通知用傾斜指令Ｍ_xy（＝Ｍ1_xy＋Ｍ2_xy）を設定して目標傾斜指令Ｍ_cmd_xyに重畳させる。【選択図】図４
2016088321.tif 000002
【特許請求の範囲】
【請求項１】
床面上を移動可能な移動動作部により基体が支持された倒立振子型車両の制御装置であって、
前記倒立振子型車両の状態情報を取得する状態情報取得手段と、
少なくとも前記状態情報取得手段により取得された前記状態情報に基づいて前記移動動作部を駆動制御する制御部と
を有し、
前記制御部は、前記基体の目標傾斜指令を演算する目標傾斜指令演算部と、前記目標傾斜指令を達成するための目標並進速度を演算する姿勢制御演算部とを有し、
前記状態情報が所定の自立制御適応範囲を外れた場合、前記目標傾斜指令演算部が通知用傾斜指令を設定して当該通知用傾斜指令を前記目標傾斜指令に重畳させることを特徴とする倒立振子型車両の制御装置。
【請求項２】
前記目標傾斜指令演算部は、取得された前記状態情報の前記自立制御適応範囲からの乖離量に応じて前記通知用傾斜指令を設定することを特徴とする請求項１に記載の倒立振子型車両の制御装置。
【請求項３】
前記目標傾斜指令演算部は、取得された前記状態情報の前記自立制御適応範囲からの乖離量に比例した振幅を有する傾斜振動として前記通知用傾斜指令を設定することを特徴とする請求項２に記載の倒立振子型車両の制御装置。
【請求項４】
前記目標傾斜指令演算部は、予め設定された周波数を有する正弦波の傾斜振動として前記通知用傾斜指令を設定することを特徴とする請求項１〜請求項３のいずれか一項に記載の倒立振子型車両の制御装置。
【請求項５】
前記状態情報は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうちの少なくとも１つを含み、
前記目標傾斜指令演算部は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうちの少なくとも１つがそれぞれに定められた前記自立制御適応範囲を外れた場合に、前記通知用傾斜指令の前記目標傾斜指令への重畳を開始することを特徴とする請求項１〜請求項４のいずれか一項に記載の倒立振子型車両の制御装置。
【請求項６】
前記状態情報は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうちの少なくとも２つを含み、
前記目標傾斜指令演算部は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうち、前記状態情報に含まれる少なくとも２つの全てがそれぞれに定められた前記自立制御適応範囲内に戻った場合に、前記通知用傾斜指令の前記目標傾斜指令への重畳を終了することを特徴とする請求項１〜請求項５のいずれか一項に記載の倒立振子型車両の制御装置。
【請求項７】
前記目標傾斜指令演算部は、前記基体を前記倒立振子型車両の進行方向とは逆方向へ所定の角度傾ける通知傾斜角度として前記通知用傾斜指令を設定することを特徴とする請求項１に記載の倒立振子型車両の制御装置。
【請求項８】
前記状態情報は、前記基体の傾斜角加速度を含み、
前記目標傾斜指令演算部は、前記基体の傾斜角加速度が前記自立制御適応範囲を外れた場合に、所定の時定数で前記通知傾斜角度とするように前記通知用傾斜指令を設定し、前記通知用傾斜指令が前記通知傾斜角度になった場合に、所定の時定数で前記基体を元の角度に戻すように前記通知用傾斜指令を設定することを特徴とする請求項７に記載の倒立振子型車両の制御装置。
【請求項９】
前記姿勢制御演算部は、前記制御部により演算される重心目標速度と前記目標傾斜指令とを達成するように前記目標並進速度を演算し、前記基体の傾斜角度が所定のストッパ角度になった場合、前記基体の傾斜角度を０にするように前記重心目標速度を設定することを特徴とする請求項８に記載の倒立振子型車両の制御装置。
【請求項１０】
前記姿勢制御演算部は、前記基体の傾斜角度が所定のストッパ角度になった場合、所定の時定数で前記基体の傾斜角度を０にするように前記重心目標速度を設定し、前記基体を元の角度に戻す前記通知用傾斜指令の設定処理が完了した場合、所定の時定数で前記基体の傾斜角度を元の角度に戻すように前記重心目標速度を設定することを特徴とする請求項９に記載の倒立振子型車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両挙動を変化させることで確実に乗員に通知を行う倒立振子型車両の制御装置に関する。
【背景技術】
【０００２】
床面上を移動する移動動作部とこの移動動作部を駆動する駆動装置とが組み付けられた基体に搭乗部が設けられ、乗員が身体を鉛直方向に対して傾動させることで走行する倒立振子型車両が従前より知られている（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０６８１６５号公報
【特許文献２】特開２０１３−２３７３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような倒立振子型車両では、自立制御適応範囲内においては搭乗者が姿勢を変えて重心移動させること等で移動することができるが、搭乗者が車両を加速させようとして、駆動源の駆動トルク力や駆動速度の限界（自立制御適応範囲）を超えるような過度な体重移動を行うと、バランスを崩して自立できなくなる虞がある。そのため、自立制御適応範囲外においては通知を行い基体姿勢に制限をかける必要がある。その手法として例えば、進行方向に身体を傾斜させる搭乗者の入力動作があった時に、進行方向と逆方向に基体を傾斜させる制御を行うことで大きな入力動作を抑制する手法や、大きな入力動作があった時に警告音を発生することで搭乗者に通知する手法が考えられる。
【０００５】
ところが、車両の傾斜角度を大きくすることや警告音を発生することで入力動作の抑制を促したとしても、搭乗者が更に車両を推進させる入力動作をとった場合には自立制御を維持することは難しい。また、搭乗者が騒音の大きな場所で車両を使用している場合には、警告音による通知が搭乗者に伝わらないこともある。
【０００６】
本発明は、このような背景に鑑み、自立制御が継続しづらくなる前に、車両挙動を変化させることで確実に乗員に通知を行うことができる倒立振子型車両の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
このような課題を解決するために、本発明は、床面上を移動可能な移動動作部（３）により基体（２）が支持された倒立振子型車両（１）の制御装置（２０）であって、前記倒立振子型車両の状態情報を取得する状態情報取得手段（７０、７１、７２）と、少なくとも前記状態情報取得手段により取得された前記状態情報に基づいて前記移動動作部を駆動制御する制御部（２４）とを有し、前記制御部は、前記基体の目標傾斜指令（Ｍ_cmd_xy）を演算する目標傾斜指令演算部（３５）と、前記目標傾斜指令を達成するための前記移動動作部の目標並進速度（Ｖw1_cmd_xy）を演算する姿勢制御演算部（３４）とを有し、前記状態情報が所定の自立制御適応範囲（Ｒ）を外れた場合、前記目標傾斜指令演算部が通知用傾斜指令（Ｍ_xy（＝Ｍ1_xy＋Ｍ2_xy））を設定して当該通知用傾斜指令を前記目標傾斜指令に重畳させる構成とする。
【０００８】
この構成によれば、倒立振子型車両の状態情報が所定の自立制御適応範囲を外れた場合に通知用傾斜指令が目標傾斜指令に重畳され、目標並進速度に反映（重畳）されて基体の傾斜角度変化となって現れることで、自立制御が継続しづらくなる前に確実に乗員に通知を行うことができる。
【０００９】
また、上記の発明において、前記目標傾斜指令演算部は、取得された前記状態情報の前記自立制御適応範囲からの乖離量に応じて前記通知用傾斜量（Ｍ1_xy）を設定する構成とするとよい。
【００１０】
この構成によれば、倒立振子型車両の状態情報の自立制御適応範囲からの乖離量に応じた傾斜角度変化が基体に現れるため、自立制御が継続しづらくなる前により確実に乗員に通知を行うことができる。
【００１１】
また、上記の発明において、前記目標傾斜指令演算部は、取得された前記状態情報の前記自立制御適応範囲からの乖離量に比例した振幅（Ｇ_x）を有する傾斜振動として前記通知用傾斜量（Ｍ1_xy）を設定する構成とするとよい。
【００１２】
この構成によれば、上記乖離量に比例した振幅を有する振動的な傾斜角変化が基体に現れるため、比較的小さな傾斜角度変化で確実に乗員に通知を行うことができる。
【００１３】
また、上記の発明において、前記目標傾斜指令演算部は、予め設定された周波数を有する正弦波（Ｓ）の傾斜振動として前記通知用傾斜指令（Ｍ1_xy）を設定する構成とするとよい。
【００１４】
この構成によれば、振動的な傾斜角変化を円滑に基体に与えることができる。
【００１５】
また、上記の発明において、前記状態情報は、前記倒立振子型車両の移動速度（Ｖb_estm1_xy）、前記基体の傾斜角度（θb_act_xy）、及び前記移動動作部の動作速度（Ｎｍ_xy）のうちの少なくとも１つを含み、前記目標傾斜指令演算部は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうちの少なくとも１つがそれぞれに定められた前記自立制御適応範囲を外れた場合（ＳＴ１：Ｙｅｓ）に、前記通知用傾斜指令（Ｍ1_xy）の前記目標傾斜指令への重畳を開始する（ＳＴ２）構成とするとよい。
【００１６】
この構成によれば、自立制御の継続が困難になる様々な要因の少なくとも１つに基づいて、制御が継続しづらくなる前に乗員に通知を行うことができる。
【００１７】
また、上記の発明において、前記状態情報は、前記倒立振子型車両の移動速度（Ｖb_estm1_xy）、前記基体の傾斜角度（θb_act_xy）、及び前記移動動作部の動作速度（Ｎｍ_xy）のうちの少なくとも２つを含み、前記目標傾斜指令演算部は、前記倒立振子型車両の移動速度、前記基体の傾斜角度、及び前記移動動作部の動作速度のうち、前記状態情報に含まれる少なくとも２つの全てがそれぞれに定められた前記自立制御適応範囲内に戻った場合に（ＳＴ１：Ｎｏ）、前記通知用傾斜指令（Ｍ1_xy）の前記目標傾斜指令への重畳を終了する構成とするとよい。
【００１８】
あるパラメータに起因して自立制御の継続が困難になった状況で、通知によりこのパラメータに関する適応が可能になったとしても、同時に別のパラメータに起因して自立制御の継続が困難になっていることがある。この構成によれば、このような状況で継続的に乗員に通知を行うことができる。
【００１９】
また、上記の発明において、前記目標傾斜指令演算部は、前記基体を前記倒立振子型車両の進行方向とは逆方向へ所定の角度（−６deg）傾ける通知傾斜角度として前記通知用傾斜指令（Ｍ2_xy）を設定する構成とするとよい。
【００２０】
この構成によれば、基体を比較的大きく傾斜させて確実に乗員に通知を行うことができる。
【００２１】
また、上記の発明において、前記状態情報は、前記基体の傾斜角加速度（α_x）を含み、前記目標傾斜指令演算部は、前記基体の傾斜角加速度が前記自立制御適応範囲を外れた場合に（ＳＴ１１：Ｙｅｓ）、所定の時定数（０．１sec）で前記基体を前記通知傾斜角度とするように前記通知用傾斜指令を設定し（ＳＴ１２）、前記通知用傾斜指令（Ｍ2_xy）が前記通知傾斜角度（−６deg）になった場合に（ＳＴ１３：Ｙｅｓ）、所定の時定数（０．０５sec）で前記基体を元の角度に戻すように前記通知用傾斜指令を設定する（ＳＴ１４）構成とするとよい。
【００２２】
この構成によれば、乗員が驚いてバランスを失わない適度な変化速度で、短時間で単発的に基体を傾斜させて確実に乗員に通知を認識させることができる。
【００２３】
また、上記の発明において、前記姿勢制御演算部は、前記制御部により演算される重心目標速度（Ｖb_cmpn_cmd_xy）と前記目標傾斜指令とを達成するように前記目標並進速度を演算し、前記基体の傾斜角度が所定のストッパ角度（−２５deg）になった場合（ＳＴ２１：Ｙｅｓ）、前記基体の傾斜角度を０（ＤＤ_x＝０）にするように前記重心目標速度（Ｖb_cmpn_cmd_xy）を設定する（ＳＴ２２）構成とするとよい。
【００２４】
この構成によれば、姿勢制御演算部における姿勢制御により、基体の傾斜角度を０にするように重心目標速度が設定され、これを達成するように目標並進速度が設定されることで、基体がストッパ角度に傾斜した状態を早期に脱することができる。
【００２５】
また、上記の発明において、前記姿勢制御演算部は、前記基体の傾斜角度が所定のストッパ角度（−２５deg）になった場合（ＳＴ２１：Ｙｅｓ）、所定の時定数（０．３sec）で前記基体の傾斜角度を０にするように前記重心目標速度（Ｖb_cmpn_cmd_xy）を設定し（ＳＴ２２）、前記基体を元の角度に戻す前記通知用傾斜指令の設定処理が完了した場合（ＳＴ２３：Ｙｅｓ）、所定の時定数（０．３sec）で前記基体の傾斜角度を元の角度に戻すように前記重心目標速度を設定する（ＳＴ２４）構成とするとよい。
【００２６】
この構成によれば、基体の動作を円滑的にし、通知用傾斜指令によって基体が元の角度に戻った時に、基体の動作を円滑的にすることができる。
【発明の効果】
【００２７】
このように本発明によれば、自立制御が継続しづらくなる前に、車両挙動を変化させることで確実に乗員に通知を行うことができる倒立振子型車両の制御装置を提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る倒立振子型車両の斜視図
【図２】実施形態に係る倒立振子型車両の側面図
【図３】実施形態に係る倒立振子型車両の制御装置の構成を示すブロック図
【図４】図３に示す第１制御処理部の処理を示すブロック線図
【図５】図３に示す第１制御処理部の処理に用いる倒立振子モデルの説明図
【図６】図５の倒立振子モデルに関する挙動を示すブロック線図
【図７】図４に示す重心ずれ推定部の処理を示すブロック線図
【図８】図４に示す姿勢制御演算部が算出する補償後重心目標速度の例を示す表
【図９】図４に示す第１通知機能部の処理を示すブロック線図
【図１０】図９に示す第１通知機能部の処理を示すフロー図
【図１１】図４に示す第２通知機能部の処理を示すブロック線図
【図１２】図１１に示す第２通知機能部の処理を示すフロー図
【図１３】図４に示す重心目標速度０機能部の処理を示すブロック線図
【図１４】図１３に示す重心目標速度０機能部の処理を示すフロー図
【図１５】図４に示す第１制御処理部の処理による効果説明図
【図１６】図４に示す第２通知機能部の処理による効果説明図
【図１７】図３に示す第２制御処理部の処理を示すブロック線図
【発明を実施するための形態】
【００２９】
本発明の一実施形態を図１〜図１７を参照して説明する。図１及び図２に示すように本実施形態の倒立振子型車両（以降、単に車両１という）は、基体２（車体又は機体ともいう）と、それぞれ基体２に取り付けられ、床面上を移動可能な第１の移動動作部３及び第２の移動動作部４と、基体２の上部に設けられた乗員搭乗部５とを備える。
【００３０】
第１の移動動作部３は、図２に示す円環状の芯体（以下、環状芯体６という）と、この環状芯体６の円周方向（軸心回り方向）に等角度間隔で並ぶようにして環状芯体６に装着された複数の円環状のローラ７とを備えている。各ローラ７は、その回転軸心を環状芯体６の円周方向に向けて環状芯体６に外挿されている。そして、各ローラ７は、環状芯体６の軸心回りに環状芯体６と一体に回転可能とされていると共に、環状芯体６の横断面の中心軸（環状芯体６の軸心を中心とする円周軸）回りに回転可能とされている。
【００３１】
これらの環状芯体６及び複数のローラ７を有する第１の移動動作部３は、環状芯体６の軸心を床面と平行に向けた状態で、ローラ７（環状芯体６の下部に位置するローラ７）を床面に接地させる。この接地状態で、環状芯体６がその軸心回りに回転駆動されることで、環状芯体６及び各ローラ７の全体が輪転し、それにより第１の移動動作部３が環状芯体６の軸心と直交する方向に床面上を移動する。また、上記接地状態で、各ローラ７がその回転軸心回りに回転駆動されることで、第１の移動動作部３が環状芯体６の軸心方向に移動する。更に、環状芯体６の回転駆動と各ローラ７の回転駆動とが同時に行なわれることで、環状芯体６の軸心方向及びこれに直交する方向に対して傾斜する方向に第１の移動動作部３が移動する。
【００３２】
これにより、第１の移動動作部３は、床面上を全方向に移動することが可能となっている。以降の説明では、図１及び図２に示すように、第１の移動動作部３の移動方向のうち、環状芯体６の軸心と直交する方向をＸ軸方向、環状芯体６の軸心方向をＹ軸方向とし、鉛直方向をＺ軸方向とする。なお、前方向をＸ軸の正方向、左方向をＹ軸の正方向、上方向をＺ軸の正方向とする。
【００３３】
第１の移動動作部３は基体２に組み付けられている。より詳しくは、基体２は、床面に接地させた第１の移動動作部３の下部を除く部分の周囲を覆うように設けられている。そして、第１の移動動作部３の環状芯体６が、その軸心回りに回転自在に基体２に取り付けられている。基体２は、第１の移動動作部３の環状芯体６の軸心を支点として、その軸心回り（Ｙ軸回り）に傾動自在とされていると共に、第１の移動動作部３と共に床面に対して傾くことで、第１の移動動作部３の接地部を支点として、環状芯体６の軸心と直交するＸ軸回りに傾動自在とされている。従って、基体２は、鉛直方向に対して２軸回りに傾動自在とされている。
【００３４】
基体２の内部には、図２に示すように、第１の移動動作部３を移動させる駆動力を発生する第１の駆動装置８が搭載されている。この第１の駆動装置８は、環状芯体６を回転駆動する駆動源としての電動モータ８ａと、各ローラ７を回転駆動する駆動源としての電動モータ８ｂとから構成される。そして、電動モータ８ａ、８ｂは、それぞれ図示を省略する動力伝達機構を介して環状芯体６、各ローラ７に回転駆動力を付与するようにしている。なお、この動力伝達機構は公知の構造のものでよい。
【００３５】
なお、第１の移動動作部３は、上記の構造と異なる構造のものであってもよい。例えば、第１の移動動作部３及びその駆動系の構造として、国際公開公報ＷＯ／２００８／１３２７７８や国際公開公報ＷＯ／２００８／１３２７７９にて本出願人が提案した構造のものを採用してもよい。
【００３６】
基体２には、乗員搭乗部５が組み付けられている。乗員搭乗部５は、乗員が着座するシートとして構成されており、基体２の上端部に固定されている。乗員搭乗部５は、乗員がその前後方向をＸ軸方向、左右方向をＹ軸方向に向けて着座することを可能にしている。また、乗員搭乗部５は、基体２に固定されているので、鉛直方向に対して基体２と一体に傾動自在とされている。
【００３７】
基体２には、更に乗員搭乗部５に着座した乗員がその足を載せる一対の足載せ部９、９と、乗員が把持する一対の把持部１０、１０とが組み付けられている。足載せ部９、９は、基体２の両側部の下部に突設されている。なお、図１及び図２では、一方側（右側）の足載せ部９の図示は省略されている。把持部１０、１０は、乗員搭乗部５の両側にＸ軸方向（前後方向）に延在して配置されたバー状のものであり、それぞれ、基体２から延設されたロッド１１を介して基体２に固定されている。
【００３８】
第２の移動動作部４は、本実施形態では、所謂、オムニホイールとして構成されている。第２の移動動作部４は、同軸心の一対の環状芯体（図示省略）と、各環状芯体に、回転軸心を環状芯体の円周方向に向けて回転自在に外挿された複数の樽状のローラ１３とを備える公知の構造のものである。
【００３９】
第２の移動動作部４は、その一対の環状芯体の軸心をＸ軸方向（前後方向）に向けて第１の移動動作部３の後方に配置され、ローラ１３を床面に接地させている。
【００４０】
なお、上記一対の環状芯体の一方側のローラ１３と、他方側のローラ１３とは、環状芯体の周方向に位相をずらして配置されており、一対の環状芯体の回転時に、一対の環状芯体の一方側のローラ１３と、他方側のローラ１３とのうちのいずれか一方が床面に接地するようになっている。
【００４１】
第２の移動動作部４は、基体２に連結されている。より詳しくは、第２の移動動作部４は、オムニホイール（一対の環状芯体及び複数のローラ１３の全体）の上側部分を覆うと共にオムニホイールの一対の環状芯体をその軸心回りに回転自在に軸支する筐体１４を備えており、筐体１４から基体２側に延設されたアーム１５が第１の移動動作部３の環状芯体６の軸心回りに揺動し得るように基体２に軸着されている。
【００４２】
そして、第２の移動動作部４は、アーム１５の揺動によって第１の移動動作部３の環状芯体６の軸心回りに基体２に対して揺動自在とされ、これにより、第１の移動動作部３と第２の移動動作部４との両方を接地させたまま、乗員搭乗部５を基体２と共にＹ軸回りに傾動させることが可能となっている。
【００４３】
なお、アーム１５を第１の移動動作部３の環状芯体６の軸心部に軸着して、第１の移動動作部３にアーム１５を介して第２の移動動作部４を連結するようにしてもよい。また、第２の移動動作部４は、床面に押し付けられるようにバネ等により付勢されていてもよい。
【００４４】
また、基体２には、アーム１５の揺動範囲を制限する一対のストッパ１６、１６が設けられており、アーム１５は、ストッパ１６、１６の間の範囲内で揺動することが可能となっている。これにより、第１の移動動作部３の環状芯体６の軸心回りでの第２の移動動作部４の揺動範囲、ひいては、基体２及び乗員搭乗部５のＸ軸回りの傾動範囲が制限されて、基体２及び乗員搭乗部５が乗員の後ろ側に過大に傾くことが防止されるようになっている。なお、本実施形態では、基体２が後傾してアーム１５が上側のストッパ１６に当接する基体２の角度は−２５degとなっている。
【００４５】
また、アーム１５は、基体２から突出した揺動端側の位置にてＹ方向に延在する回転軸により構成される屈曲部１５ａを介して互いに連結され、かつ直線状を保つようにばね付勢された２つの部材から構成されており、基体２が後傾してアーム１５が上側のストッパ１６に当接した後に、アーム１５が屈曲部１５ａで屈曲することで、基体２の更なる後傾が許容されるようになっている。基体２が後傾してアーム１５の屈曲角度が大きくなると、第２の移動動作部４のローラ１３以外の部分が床面に接地することになり、基体２はそれ以上後傾できなくなる。
【００４６】
上記のように、第２の移動動作部４は、その一対の環状芯体の回転と、ローラ１３の回転とのうちの一方又は両方を行うことで、第１の移動動作部３と同様に、床面上をＸ軸方向及びＹ軸方向を含む全方向に移動することが可能となっている。より詳しくは、環状芯体の回転によって、第２の移動動作部４がＹ軸方向（左右方向）に移動可能とされ、ローラ１３の回転によって、Ｘ軸方向（前後方向）に移動可能とされている。
【００４７】
また、第２の移動動作部４の筐体１４には、第２の移動動作部４を駆動する第２の駆動装置としての電動モータ１７が取り付けられている。この電動モータ１７は、第２の移動動作部４の一対の環状芯体を回転駆動するように一対の環状芯体に連結されている。
【００４８】
従って、本実施形態では、第２の移動動作部４のＸ軸方向での移動は、第１の移動動作部３のＸ軸方向での移動に追従して従動的に行われる。また、第２の移動動作部４のＹ軸方向での移動は、電動モータ１７により第２の移動動作部４の一対の環状芯体を回転駆動することによって行われる。
【００４９】
以上が本実施形態における車両１の機構的な構成である。
【００５０】
図１及び図２には図示を省略したが、本実施形態の車両１の基体２には、車両１の動作制御（第１の移動動作部３及び第２の移動動作部４の動作制御）のための構成要素として、図３に示したように、ＣＰＵ、ＲＡＭ、ＲＯＭ等を含む電子回路ユニットにより構成される制御装置２０と、基体２の３軸（Ｘ、Ｙ及びＺ）方向の加速度を検出する加速度センサ７０と、３軸回りの角速度を検出する角速度センサ７１（ジャイロセンサ等）と、電動モータ８ａの回転速度Ｎｍ_xを検出する回転速度センサ７２ａ（エンコーダ等）と、電動モータ８ｂの回転速度Ｎｍ_yを検出する回転速度センサ７２ｂと、電動モータ１７の回転速度Ｎｍ_cを検出する回転速度センサ７３とが搭載されている。
【００５１】
そして、制御装置２０には、加速度センサ７０、角速度センサ７１、回転速度センサ７２ａ、回転速度センサ７２ｂ、及び回転速度センサ７３の各検出信号が入力されるようになっている。
【００５２】
制御装置２０は、加速度センサ７０及び角速度センサ７１の検出信号から、基体２の傾斜角度の計測値を、公知の手法を用いて取得する。この手法としては、例えば特許４１８１１１３号にて本出願人が提案した手法を採用することができる。
【００５３】
なお、本実施形態における基体２の傾斜角度は、より詳しくは、車両１と、車両１に既定の姿勢（標準姿勢）で搭乗した乗員とを併せた全体の重心が、第１の移動動作部３の接地部の直上（鉛直方向上方）に位置する状態での基体２の姿勢を基準（ゼロ）とする傾斜角度（Ｙ軸回り方向の傾斜角度とＸ軸回り方向の傾斜角度との組）である。
【００５４】
また、制御装置２０は、角速度センサ７１の検出信号に基づいて、車両１のヨー軸回りの角速度の計測値を取得する。
【００５５】
制御装置２０は、実装されるプログラム等により実現される機能として、上記のように計測値を取得する機能の他、第１の駆動装置８を構成する電動モータ８ａ、８ｂを制御することで第１の移動動作部３の移動動作を制御する第１制御処理部２４と、第２の駆動装置としての電動モータ１７を制御することで第２の移動動作部４の移動動作を制御する第２制御処理部２５とを備えている。
【００５６】
第１制御処理部２４は、後述する演算処理を実行することで、第１の移動動作部３の移動速度（詳しくは、Ｘ軸方向の並進速度とＹ軸方向の並進速度との組）の目標値である第１目標速度を逐次算出し、第１の移動動作部３の実際の移動速度を、第１目標速度に一致させるように電動モータ８ａ、８ｂの回転速度Ｎｍ_xyを制御する。
【００５７】
電動モータ８ａ、８ｂのそれぞれの回転速度Ｎｍ_x、Ｎｍ_yと、第１の移動動作部３の実際の移動速度との関係はあらかじめ定められており、第１の移動動作部３の第１目標速度に応じて、各電動モータ８ａ、８ｂの回転速度Ｎｍ_xyの目標値が設定されるようになっている。そして、第１制御処理部２４は、電動モータ８ａ、８ｂの回転速度Ｎｍ_xyを第１目標速度に応じて設定される目標値にフィードバック制御することで、第１の移動動作部３の実際の移動速度を第１目標速度に制御する。
【００５８】
また、第２制御処理部２５は、後述する演算処理を実行することで、第２の移動動作部４の移動速度（詳しくは、Ｙ軸方向の並進速度）の目標値である第２目標速度を逐次算出し、Ｙ軸方向での第２の移動動作部４の実際の移動速度を、第２目標速度に一致させるように電動モータ１７の回転速度Ｎｍ_xyを制御する。
【００５９】
第１の移動動作部３の場合と同様に、電動モータ１７の回転速度Ｎｍ_xyと、Ｙ軸方向での第２の移動動作部４の実際の移動速度との関係はあらかじめ定められており、第２の移動動作部４の第２目標速度に応じて、電動モータ１７の回転速度Ｎｍ_xyの目標値が設定されるようになっている。そして、第２制御処理部２５は、電動モータ１７の回転速度Ｎｍ_xyを第２目標速度に応じて設定される目標値にフィードバック制御することで、第２の移動動作部４のＹ軸方向の実際の移動速度を第２目標速度に制御する。
【００６０】
なお、本実施形態では、第２の移動動作部４のＸ軸方向の移動は、第１の移動動作部３のＸ軸方向の移動に追従して従動的に行なわれるため、Ｘ軸方向での第２の移動動作部４の移動速度の目標値を設定する必要はない。
【００６１】
本明細書の実施形態の説明では、第１の移動動作部３の速度は、特にことわらない限り、第１の移動動作部３の接地点の移動速度を意味する。同様に、第２の移動動作部４の速度は、特にことわらない限り、第２の移動動作部４の接地点の移動速度を意味する。
【００６２】
次に、上記第１制御処理部２４及び第２制御処理部２５による処理を更に詳細に説明する。まず、図４〜図１４を参照して、第１制御処理部２４による処理について説明する。
【００６３】
第１制御処理部２４は、図４に示すように、その主要な機能部として、車両系全体重心の速度を推定する重心速度推定部３１と、車両１とその乗員搭乗部５に搭乗した乗員とを併せた全体の重心（以降、車両系全体重心という）の目標速度を決定する重心目標速度演算部３２と、推定した車両系全体重心の速度を目標速度に追従させつつ、基体２の姿勢を安定化するように第１の移動動作部３の移動速度の目標値を決定する姿勢制御演算部３４と、姿勢制御演算部３４が第１の移動動作部３の移動速度の目標値を決定する際に用いる、基体２の傾斜角度の目標値である目標傾斜指令Ｍ_cmd_xyを決定する目標傾斜指令演算部３５とを備える。そして、第１制御処理部２４は、これらの各機能部の処理を、制御装置２０の所定の演算処理周期で実行する。
【００６４】
なお、本実施形態では、車両系全体重心というのは、車両１の代表点の一例としての意味を持つものである。従って、車両系全体重心の速度というのは、その代表点の並進移動速度を意味するものである。
【００６５】
ここで、第１制御処理部２４の各機能部の処理を具体的に説明する前に、その処理の基礎となる事項を説明しておく。車両系全体重心の動力学的な挙動（詳しくは、Ｙ軸方向から見た挙動と、Ｘ軸方向から見た挙動）は、近似的に、図５に示すような倒立振子モデルの挙動により表現される。第１制御処理部２４による処理のアルゴリズムは、この挙動を基礎として構築されている。
【００６６】
なお、図５の参照符号を含めて、以降の説明では、添え字"_x"はＹ軸方向から見た場合の変数等の参照符号を意味し、添え字"_y"はＸ軸方向から見た場合の変数等の参照符号を意味する。また、図５では、Ｙ軸方向から見た場合の倒立振子モデルと、Ｘ軸方向から見た場合の倒立振子モデルとを併せて図示するために、Ｙ軸方向から見た場合の変数の参照符号に括弧を付さないものとし、Ｘ軸方向から見た場合の変数の参照符号に括弧を付している。
【００６７】
Ｙ軸方向から見た車両系全体重心の挙動を表す倒立振子モデルは、Ｙ軸方向と平行な回転軸心を有して床面上を輪転自在な仮想的な車輪６１_x（以降、仮想車輪６１_xという）と、仮想車輪６１_xの回転中心から延設されて、仮想車輪６１_xの回転軸回りに（Ｙ軸回り方向に）揺動自在なロッド６２_xと、このロッド６２_xの先端部（上端部）である基準部Ｐs_xに連結された質点Ｇa_xとを備える。
【００６８】
この倒立振子モデルでは、質点Ｇa_xの運動が、Ｙ軸方向から見た車両系全体重心の運動に相当し、鉛直方向に対するロッド６２_xの傾斜角度θb_x（Ｙ軸回り方向の傾斜角度）が、基体２のＹ軸回り方向の傾斜角度に一致するものとされる。また、第１の移動動作部３のＸ軸方向の並進運動が、仮想車輪６１_xの輪転によるＸ軸方向の並進運動に相当するものとされる。
【００６９】
そして、仮想車輪６１_xの半径ｒ_xと、基準部Ｐs_x及び質点Ｇa_xの床面からの高さｈ_xとは、あらかじめ設定された既定値（一定値）とされる。
【００７０】
同様に、Ｘ軸方向から見た車両系全体重心の挙動を表す倒立振子モデルは、Ｘ軸方向と平行な回転軸心を有して床面上を輪転自在な仮想的な車輪６１_y（以降、仮想車輪６１_yという）と、仮想車輪６１_yの回転中心から延設されて、仮想車輪６１_yの回転軸回りに（Ｘ軸回り方向に）揺動自在なロッド６２_yと、このロッド６２_yの先端部（上端部）である基準部Ｐs_yに連結された質点Ｇa_yとを備える。
【００７１】
この倒立振子モデルでは、質点Ｇa_yの運動が、Ｘ軸方向から見た車両系全体重心の運動に相当し、鉛直方向に対するロッド６２_yの傾斜角度θb_y（Ｘ軸回り方向の傾斜角度）が、基体２のＸ軸回り方向の傾斜角度に一致するものとされる。また、第１の移動動作部３のＹ軸方向の並進運動が、仮想車輪６１_yの輪転によるＹ軸方向の並進運動に相当するものとされる。
【００７２】
そして、仮想車輪６１_yの半径ｒ_yと、基準部Ｐs_y及び質点Ｇa_yの床面からの高さｈ_yとは、あらかじめ設定された既定値（一定値）とされる。なお、Ｘ軸方向で見た基準部Ｐs_y及び質点Ｇa_yの床面からの高さｈ_yは、Ｙ軸方向で見た基準部Ｐs_x及び質点Ｇa_xの床面からの高さｈ_xと同じである。そこで、以降、ｈ_x＝ｈ_y＝ｈとおく。
【００７３】
ここで、Ｙ軸方向から見た場合の上記基準部Ｐs_xと質点Ｇa_xとの位置関係について補足すると、基準部Ｐs_xの位置は、乗員搭乗部５に搭乗（着座）した乗員が、乗員搭乗部５（基体２）に対して予め定められた中立姿勢のまま不動であると仮定した場合における車両系全体重心の位置に相当している。従って、この場合には、質点Ｇa_xの位置は、基準部Ｐs_xの位置に一致する。
【００７４】
このことは、Ｘ軸方向から見た場合の上記基準部Ｐs_yと質点Ｇa_yとの位置関係についても同様である。
【００７５】
ただし、実際には、乗員搭乗部５に搭乗した乗員が、その上体等を基体２（即ち、乗員搭乗部５）に対して動かすことで、実際の車両系全体重心のＸ軸方向の位置及びＹ軸方向の位置は、一般には、それぞれ基準部Ｐs_x、Ｐs_yの位置から水平方向にずれることとなる。そして、車両１を走行させるために乗員が上体を進みたい方向に傾けると、この水平方向へのずれ量が大きくなる。このため、図５では、質点Ｇa_x、Ｇa_yの位置をそれぞれ基準部Ｐs_x、Ｐs_yの位置からずらした状態で示している。
【００７６】
上記のような倒立振子モデルで表現される車両系全体重心の挙動は、次式（１ａ）、（１ｂ）、（２ａ）、（２ｂ）により表現される。この場合、式（１ａ）、（１ｂ）は、Ｙ軸方向で見た挙動、式（２ａ）、（２ｂ）は、Ｘ軸方向で見た挙動を表している。
【００７７】
Ｖb_x＝Ｖw1_x＋ｈ・ωb_x  ......（１ａ）
dＶb_x／dt＝(ｇ／ｈ)・(θb_x・(ｈ−ｒ_x)＋Ｏfst_x)＋ωz・Ｖb_y  ......（１ｂ）
Ｖb_y＝Ｖw1_y＋ｈ_y・ωb_y  ......（２ａ）
dＶb_y／dt＝(ｇ／ｈ)・(θb_y・(ｈ−ｒ_y)＋Ｏfst_y)−ωz・Ｖb_x  ......（２ｂ）
ここで、Ｖb_xは、車両系全体重心のＸ軸方向の速度（並進速度）、θb_xは基体２のＹ軸回り方向の傾斜角度、Ｖw1_xは、仮想車輪６１_xのＸ軸方向の移動速度（並進速度）、ωb_xはθb_xの時間的変化率（＝ｄθb_x／dt）、Ｏfst_xは車両系全体重心のＸ軸方向の位置（質点Ｇa_xのＸ軸方向の位置）の、基準部Ｐs_xの位置からのＸ軸方向のずれ量、Ｖb_yは、車両系全体重心のＹ軸方向の速度（並進速度）、Ｖw1_yは、仮想車輪６１_yのＹ軸方向の移動速度（並進速度）、θb_yは基体２のＸ軸回り方向の傾斜角度、ωb_yはθb_yの時間的変化率（＝ｄθb_y／dt）、Ｏfst_yは車両系全体重心のＹ軸方向の位置（質点Ｇa_yのＹ軸方向の位置）の、基準部Ｐs_yの位置からのＹ軸方向のずれ量である。また、ωzは車両１の旋回時のヨーレート（ヨー軸回り方向の角速度）、ｇは重力加速度定数である。
【００７８】
なお、θb_x、ωb_xの正方向は、車両系全体重心がＸ軸の正方向（前向き）に傾く方向、θb_y、ωb_yの正方向は、車両系全体重心がＹ軸の正方向（左向き）に傾く方向である。また、ωzの正方向は、車両１を上方から見た場合に、反時計回り方向である。
【００７９】
式（１ａ）の右辺第２項（＝ｈ・ωb_x）は、基体２のＹ軸回り方向の傾動によって生じる基準部Ｐs_xのＸ軸方向の並進速度成分、式（２ａ）右辺第２項（＝ｈ・ωb_y）は、基体２のＸ軸回り方向の傾動によって生じる基準部Ｐs_yのＹ軸方向の並進速度成分である。
【００８０】
式（１ａ）におけるＶw1_xは、詳しくは、ロッド６２_xに対する（換言すれば基体２に対する）相対的な仮想車輪６１_xの周速度である。このため、Ｖw1_xには、床面に対する仮想車輪６１_xの接地点のＸ軸方向の移動速度（床面に対する第１の移動動作部３の接地点のＸ軸方向の移動速度）に加えて、ロッド６２_xの傾動に伴う速度成分（＝ｒ_x・ωb_x）が含まれている。このことは、式（１ｂ）におけるＶw1_yについても同様である。
【００８１】
また、式（１ｂ）の右辺の第１項は、車両系全体重心のＸ軸方向の位置（質点Ｇa_xのＸ軸方向の位置）の、仮想車輪６１_xの接地部（Ｙ軸方向から見た第１の移動動作部３の接地部）の鉛直上方位置からのずれ量（＝θb_x・(ｈ−ｒ_x)＋Ｏfst_x）に応じて仮想車輪６１_xの接地部に作用する床反力（図５のＦ）のＸ軸方向成分（図５のＦ_x）によって車両系全体重心に発生するＸ軸方向の加速度成分、式（１ｂ）の右辺の第２項は、ωzのヨーレートでの旋回時に車両１に作用する遠心力によって発生するＸ軸方向の加速度成分である。
【００８２】
同様に、式（２ｂ）の右辺の第１項は、車両系全体重心のＹ軸方向の位置（質点Ｇa_yのＹ軸方向の位置）の、仮想車輪６１_yの接地部（Ｘ軸方向から見た第１の移動動作部３の接地部）の鉛直上方位置からのずれ量（＝θb_y・(ｈ−ｒ_y)＋Ｏfst_y）に応じて仮想車輪６１_yの接地部に作用する床反力（図５のＦ）のＹ軸方向成分（図５のＦ_y）によって車両系全体重心に発生するＹ軸方向の加速度成分、式（２ｂ）の右辺の第２項は、ωzのヨーレートでの旋回時に車両１に作用する遠心力によって発生するＹ軸方向の加速度成分である。
【００８３】
上記のように、式（１ａ）、（１ｂ）により表現される挙動（Ｘ軸方向で見た挙動）は、ブロック線図で表現すると、図６に示すように表される。図中の１／ｓは積分演算を表している。
【００８４】
そして、図６における参照符号Ａを付した演算部の処理が、式（１ａ）の関係式に該当しており、参照符号Ｂを付した演算部の処理が、式（１ｂ）の関係式に該当している。
【００８５】
なお、図６中のｈ・θb_xは、近似的には、図５に示したDiff_xに一致する。
【００８６】
一方、式（２ａ）、（２ｂ）により表現される挙動（Ｙ軸方向で見た挙動）を表現するブロック線図は、図６中の添え字"_x"を"_y"に置き換え、参照符号Ｃを付した加算器への入力の一つである図中下側の加速度成分（遠心力によって発生する加速度成分）の符号"＋"を"−"に置き換えることによって得られる。
【００８７】
本実施形態では、第１制御処理部２４の処理のアルゴリズムは、上記のように車両系全体重心の基準部Ｐs_x、Ｐs_yからのずれ量と、遠心力とを考慮した車両系全体重心の挙動モデル（倒立振子モデル）に基づいて構築されている。
【００８８】
以上を前提として、第１制御処理部２４の処理をより具体的に説明する。なお、以降の説明では、Ｙ軸方向から見た挙動に関する変数の値と、Ｘ軸方向から見た挙動に関する変数の値との組を添え字"_xy"を付加して表記する場合がある。
【００８９】
図４を参照して、第１制御処理部２４は、制御装置２０の各演算処理周期において、まず、重心速度推定部３１の処理を実行する。
【００９０】
重心速度推定部３１は、倒立振子モデルにおける式（１ａ）、（２ａ）に表される幾何学的な（運動学的な）関係式に基づいて、車両系全体重心の速度の推定値Ｖb_estm1_xyを算出する。
【００９１】
具体的には、図４のブロック線図に示したように、第１の移動動作部３の実際の並進速度Ｖw1_act_xyの値と、基体２の傾斜角度θb_xyの実際の時間的変化率（傾斜角速度）ωb_act_xyに、車両系全体重心の高さｈを乗じてなる値とを加えることにより、車両系全体重心の速度の推定値Ｖb_estm1_xyを算出する。
【００９２】
即ち、車両系全体重心のＸ軸方向の速度の推定値Ｖb_estm1_xとＹ軸方向の速度の推定値Ｖb_estm1_yとがそれぞれ、次式（３ａ）、（３ｂ）により算出される。
Ｖb_estm1_x＝Ｖw1_act_x＋ｈ・ωb_act_x  ......（３ａ）
Ｖb_estm1_y＝Ｖw1_act_y＋ｈ・ωb_act_y  ......（３ｂ）
ただし、車両系全体重心の位置の基準部Ｐs_xyの位置からのずれ量Ｏfst_xy（以降、重心ずれ量Ｏfst_xyという）の時間的変化率は、Ｖb_estm1_xyに比べ十分に小さく無視できるものとした。
【００９３】
上記演算におけるＶw1_act_x、Ｖw1_act_yの値としては、本実施形態では、前回の演算処理周期で姿勢制御演算部３４により決定された第１の移動動作部３の移動速度の目標値Ｖw1_cmd_x、Ｖw1_cmd_y（前回値）が用いられる。
【００９４】
ただし、例えば、電動モータ８ａ、８ｂのそれぞれの回転速度Ｎｍ_x、Ｎｍ_yを回転速度センサ７２ａ、７２ｂにより検出し、それらの検出値から推定したＶw1_act_x、Ｖw1_act_yの最新値（換言すれば、Ｖw1_act_x、Ｖw1_act_yの計測値の最新値）を式（３ａ）、（３ｂ）の演算に用いるようにしてもよい。
【００９５】
また、ωb_act_x、ωb_act_yの値としては、本実施形態では、加速度センサ７０及び角速度センサ７１の検出信号に基づく基体２の傾斜角度θbの計測値の時間的変化率の最新値（換言すれば、ωb_act_x、ωb_act_yの計測値の最新値）が用いられる。
【００９６】
第１制御処理部２４は上記の如く重心速度推定部３１の処理を実行した後、次に、図４に示す重心目標速度演算部３２にて重心ずれ推定部３２ａの処理を実行することで、車両系全体の重心ずれ量Ｏfst_xyの推定値である重心ずれ量推定値Ｏfst_estm_xyを決定する。
【００９７】
この重心ずれ推定部３２ａの処理は、図７のブロック線図により示される処理である。なお、図７は、重心ずれ量推定値Ｏfst_estm_xyのうちのＸ軸方向の重心ずれ量推定値Ｏfst_estm_xの決定処理を代表的に表している。
【００９８】
図７の処理を具体的に説明すると、重心ずれ推定部３２ａは、加速度センサ７０及び角速度センサ７１の検出信号から得られた基体２のＹ軸回り方向の実際の傾斜角度θb_act_xの計測値（最新値）と、角速度センサ７１の検出信号から得られた車両１の実際のヨーレートωz_actの計測値（最新値）と、重心速度推定部３１により算出された車両系全体重心のＹ軸方向の速度の第１推定値Ｖb_estm1_y（最新値）と、前回の演算処理周期で決定したＸ軸方向の重心ずれ量推定値Ｏfst_estm_x（前回値）とを用いて、式（１ｂ）の右辺の演算処理を演算部３２ａ１で実行することにより、車両系全体重心のＸ軸方向の並進加速度の推定値DVb_estm_xを算出する。
【００９９】
更に重心ずれ推定部３２ａは、車両系全体重心のＸ軸方向の並進加速度の推定値DVb_estm_xを積分する処理を演算部３２ａ２で実行することにより、車両系全体重心のＸ軸方向の速度の第２推定値Ｖb_estm2_xを算出する。次いで、重心ずれ推定部３２ａは、車両系全体重心のＸ軸方向の速度の第２推定値Ｖb_estm2_x（最新値）と、第１推定値Ｖb_estm1_x（最新値）との偏差を算出する処理を演算部３２ａ３で実行し、この偏差に所定値のゲイン（−Ｋｐ）を乗じる処理を演算部３２ａ4で実行することにより、Ｘ軸方向の重心ずれ量推定値Ｏfst_estm_xの最新値を決定する。
【０１００】
Ｙ軸方向の重心ずれ量推定値Ｏfst_estm_yの決定処理も上記と同様に実行される。具体的には、この決定処理を示すブロック線図は、図７中の添え字"_x"と"_y"とを入れ替え、加算器３２ａ５への入力の一つである図中右側の加速度成分（遠心力によって発生する加速度成分）の符号"＋"を"−"に置き換えることによって得られる。
【０１０１】
このような重心ずれ推定部３２ａの処理によって、重心ずれ量推定値Ｏfst_estm_xyを逐次更新しつつ決定することによって、Ｏfst_estm_xyを実際の値に収束させるように決定することができる。
【０１０２】
第１制御処理部２４は、次に、図４に示す重心目標速度演算部３２にて重心ずれ影響量算出部３２ｂの処理を実行することによって、重心ずれ影響量Ｖofs_xyを算出する。
【０１０３】
重心ずれ影響量Ｖofs_xyは、後述する姿勢制御演算部３４において、車両系全体重心の位置が倒立振子モデルにおける基準部Ｐs_xyの位置からずれることを考慮せずにフィードバック制御を行った場合の車両系全体重心の目標速度に対する実際の重心速度のずれを表す。
【０１０４】
具体的には、この重心ずれ影響量算出部３２ｂは、新たに決定された重心ずれ量推定値Ｏfst_estm_xyの各成分に、(Ｋth_xy／（ｈ-ｒ_xy))／Ｋvb_xyという値を乗じることにより、重心ずれ影響量Ｖofs_xyを算出する。
【０１０５】
なお、Ｋth_xyは、後述する姿勢制御演算部３４の処理において、基体２の傾斜角度をゼロ(目標傾斜指令Ｍ_cmd_xy)に近づけるように機能する操作量成分を決定するためのゲイン値である。また、Ｋvb_xyは、後述する姿勢制御演算部３４の処理において、車両系全体重心の重心目標速度Ｖb_cmd_xyと車両系全体重心の速度の第１推定値おけるＶb_estm1_xyとの偏差をゼロに近づけるように機能する操作量成分を決定するためのゲイン値である。
【０１０６】
第１制御処理部２４は、次に、図４に示す重心目標速度演算部３２にて重心目標速度決定部３２ｃの処理を実行することによって、重心ずれ影響量算出部３２ｂにより決定された重心ずれ影響量Ｖofs_xyに基づいて、重心目標速度Ｖb_cmd_xyを算出する。この重心目標速度決定部３２ｃは、重心ずれ影響量Ｖofs_xyの値に関する不感帯処理を実行することで、車両系全体の重心ずれに応じた重心目標速度Ｖb_cmd_xyを決定する。
【０１０７】
具体的には、本実施形態では、重心目標速度演算部３２は、Ｘ軸方向の重心ずれ影響量Ｖofs_xの大きさがゼロ近辺の所定の範囲である不感帯Ａ内の値（比較的ゼロに近い値）である場合には、Ｘ軸方向の重心目標速度Ｖb_cmd_xをゼロにする。一方、Ｘ軸方向の重心ずれ影響量Ｖofs_xの大きさが不感帯Ａから逸脱した所定の範囲である中間領域Ｂ内の値である場合には、重心目標速度演算部３２は、Ｘ軸方向の重心目標速度Ｖb_cmd_xを、Ｖofs_xと同極性で、その大きさがＶofs_xの大きさの増加に伴い大きくなるように決定する。ただし、重心目標速度Ｖb_cmd_xの値は、所定の上限値（＞０）と下限値（≦０）との間の範囲内に制限され、Ｘ軸方向の重心ずれ影響量Ｖofs_xの大きさが所定の値を越える飽和領域Ｃ内の値である場合には、所定の上限値又は下限値に決定される。
【０１０８】
Ｙ軸方向の重心目標速度Ｖb_cmd_yの決定処理も上記と同様である。
【０１０９】
なお、第１の移動動作部３の第１の駆動装置８としての電動モータ８ａ、８ｂのそれぞれの回転速度Ｎｍ_x、Ｎｍ_yを、所定の許容範囲から逸脱しないようにするために、重心目標速度演算部３２が図示しないリミット処理部を有し、目標速度Ｖ1_xとＶ1_yとの組み合わせを制限してなる車両系全体重心の目標速度としての重心目標速度Ｖb_cmd_xy（Ｖb_cmd_x、Ｖb_cmd_yの組）を決定するリミット処理を実行してもよい。
【０１１０】
リミット処理では、例えば、重心目標速度決定部３２ｃで求められた重心目標速度Ｖb_cmd_x、Ｖb_cmd_yの組が、重心目標速度Ｖb_cmd_xの値を縦軸、目標速度Ｖ1_yの値を横軸とする座標系上で所定の領域（例えば８角形状の領域）内に在る場合には、その重心目標速度Ｖb_cmd_xyがそのまま重心目標速度Ｖb_cmd_xyとして決定される。一方、重心目標速度決定部３２ｃで求められた重心目標速度Ｖb_cmd_x、Ｖb_cmd_yの組が、上記座標系上の所定の領域から逸脱している場合には、当該所定の領域の境界上の組に制限したものが、重心目標速度Ｖb_cmd_xyとして決定される。
【０１１１】
以上のように、重心ずれ影響量Ｖofs_xy（又は、重心ずれ）に基づいて、重心目標速度Ｖb_cmd_xyが決定されるので、乗員は、上体の姿勢の変化（体重移動）によって、車両１を操縦することができる。
【０１１２】
重心目標速度演算部３２の処理を実行した後、第１制御処理部２４は、次に、姿勢制御演算部３４の処理を実行する。この姿勢制御演算部３４は、図４のブロック線図で示す処理によって、第１の移動動作部３の移動速度（並進速度）の目標値である第１目標速度Ｖw1_cmd_xyを決定する。
【０１１３】
より詳しくは、姿勢制御演算部３４は、まず、重心目標速度Ｖb_cmd_xyの各成分から、重心ずれ影響量Ｖofs_xyの各成分を減じる処理を演算部３４ａで実行することにより重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_xy（最新値）を決定する。
【０１１４】
補償後重心目標速度Ｖb_cmpn_cmd_xyは、例えば、図８に示す表のように決定される。具体的に説明すると、図４の重心目標速度決定部３２ｃ中のグラフに示す不感帯Ａ内の小さな値の重心ずれ影響量Ｖofs_xyが重心目標速度決定部３２ｃに入力された場合には、重心目標速度Ｖb_cmd_xyが０に決定され、重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_xy（基体２の傾斜角度に対応する量）が重心ずれ影響量Ｖofs_xyと逆の極性となる。これにより、例えば、乗員が上体を前方に多少動かした場合でも、基体２が後傾し、車両系全体としては静止状態が維持される。
【０１１５】
一方、図４の重心目標速度決定部３２ｃ中のグラフに示す中間領域Ｂ内の値の重心ずれ影響量Ｖofs_xyが重心目標速度決定部３２ｃに入力された場合には、重心ずれ影響量Ｖofs_xyと逆の極性で、一定の値の重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_xyが決定される。これにより、例えば、乗員が上体の前方への移動量を増やしていた場合には、基体２が多少の後傾状態を維持したまま上体の移動量に応じた速度で車両１が前進する。この場合、乗員の動作に応じた補償後重心目標速度Ｖb_cmpn_cmd_xyとするためには、中間領域ＢでのＶofs_xyの増加に対するＶb_cmd_xyの増加率は１が好ましい。すなわち、図４の重心目標速度決定部３２ｃ中のグラフにおける中間領域Ｂの傾きは１が好ましい。
【０１１６】
重心目標速度決定部３２ｃに入力される重心ずれ影響量Ｖofs_xyの値が飽和領域Ｃの値に達した場合には、重心目標速度Ｖb_cmd_xyが制限されて一定の値となるため、重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_xyは重心ずれ影響量Ｖofs_xyと逆の極性で、重心ずれ影響量Ｖofs_xyの値の大きさに応じて大きくなる。これにより、車両１が前進中の場合であれば、重心ずれ影響量Ｖofs_xyの値に応じて基体２の後傾角度が大きくなり、乗員は加速のための上体移動動作を行いにくくなる。
【０１１７】
次いで、姿勢制御演算部３４は、上記演算部３４ａと、詳細を後述する重心目標速度０機能部３４ｂと、積分演算を行う積分演算部３４ｃとを除く演算部の処理によって、第１の移動動作部３の接地点の並進加速度の目標値である目標並進加速度DVw1_cmd_xyのうちのＸ軸方向の目標並進加速度DVw1_cmd_xと、Ｙ軸方向の目標並進加速度DVw1_cmd_yとをそれぞれ次式（４ａ）、（４ｂ）の演算により算出する。
DVw1_cmd_x＝Ｋvb_x・(Ｖb_cmpn_cmd_x−Ｖb_estm1_x)
−Ｋth_x・θb_act_x−Ｋw_x・ωb_act_x  ......（４ａ）
DVw1_cmd_y＝Ｋvb_y・(Ｖb_cmpn_cmd_y−Ｖb_estm1_y)
−Ｋth_y・θb_act_y−Ｋw_x・ωb_act_y  ......（４ｂ）
式（４ａ）、（４ｂ）におけるＫvb_xy、Ｋth_xy、Ｋw_xyはあらかじめ設定された所定のゲイン値である。
【０１１８】
また、式（４ａ）の右辺の第１項は、車両系全体重心のＸ軸方向の重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_xy（最新値）と第１推定値Ｖb_estm1_x（最新値）との偏差に応じたフィードバック操作量成分、第２項は、基体２のＹ軸回り方向の実際の傾斜角度θb_act_xの計測値（最新値）に応じたフィードバック操作量成分、第３項は、基体２のＹ軸回り方向の実際の傾斜角速度ωb_act_xの計測値（最新値）に応じたフィードバック操作量成分である。そして、Ｘ軸方向の目標並進加速度DVw1_cmd_xは、これらのフィードバック操作量成分の合成操作量として算出される。
【０１１９】
なお、式（４ａ）の右辺の第２項で用いられる、基体２のＹ軸回り方向の実際の傾斜角度θb_act_xの計測値は、車両１の設計上の重心位置と実際の重心位置とのずれを補正するための傾斜角などの補正角度を加味した値である。また、式（４ｂ）の右辺の第２項で用いられる、基体のＸ軸回り方向の実際の傾斜角度θb_act_yの計測値は、式（４ａ）と同様に車両１の設計上の重心位置と実際の重心位置とのずれを補正するための傾斜角や、旋回中に車両１の軌跡が外側に膨らまないように基体２を内側に傾けるために、遠心力に釣り合わせるための傾斜角などの補正角度を加味した値である。図４のブロック線図では、図の右側から入力されて実際の傾斜角度θb_act_xの計測値を減じる処理に用いられる補正信号Ｍ０_xyが、この補正角度に相当する。後述するように、この補正角度と通知用傾斜指令Ｍ_xyとが加算されることで目標傾斜指令Ｍ_cmd_xyがつくり出され、目標傾斜指令Ｍ_cmd_xyが傾斜角度θb_act_xyから減じられることで傾斜角度θb_act_xyが補正される。
【０１２０】
同様に、式（４ｂ）の右辺の第１項は、車両系全体重心のＹ軸方向の重心ずれ補償後重心目標速度Ｖb_cmpn_cmd_y（最新値）と第１推定値Ｖb_estm1_y（最新値）との偏差に応じたフィードバック操作量成分、第２項は、基体２のＸ軸回り方向の実際の傾斜角度θb_act_yの計測値（最新値）に応じたフィードバック操作量成分、第３項は、基体２のＸ軸回り方向の実際の傾斜角速度ωb_act_yの計測値（最新値）に応じたフィードバック操作量成分である。そして、Ｙ軸方向の目標並進加速度DVw1_cmd_yは、これらのフィードバック操作量成分の合成操作量として算出される。
【０１２１】
次いで、姿勢制御演算部３４は、積分演算部３４ｃによって、目標並進加速度DVw1_cmd_xyの各成分を積分することによって、第１の移動動作部３の第１目標速度Ｖw1_cmd_xy（最新値）を決定する。
【０１２２】
そして、第１制御処理部２４は、上記のように決定した第１目標速度Ｖw1_cmd_xyに従って第１の移動動作部３の第１の駆動装置８としての電動モータ８ａ、８ｂを制御する。より詳しくは、第１制御処理部２４は、第１目標速度Ｖw1_cmd_xyにより設定される各電動モータ８ａ、８ｂの回転速度の目標値に、実際の回転速度Ｎｍ_xy（計測値）を追従させるように、フィードバック制御処理により各電動モータ８ａ、８ｂの電流指令値を決定し、この電流指令値に従って、各電動モータ８ａ、８ｂの通電を行う。
【０１２３】
以上の処理により、重心目標速度Ｖb_cmd_xyが一定値であって、車両１の運動が整定し、車両１が一定速度で直進している状態においては、車両系全体重心は、第１の移動動作部３の接地点の真上に存在する。この状態では、基体２の実際の傾斜角度θb_act_xyは、式（１ｂ）、（２ｂ）に基づいて、−Ｏfst_xy／（ｈ−ｒ_xy）、即ち重心位置のずれを戻す角度の値となる。また、基体２の実際の傾斜角速度ωb_act_xyはゼロ、目標並進加速度DVw1_cmd_xyはゼロとなる。このことと、図４のブロック線図から、Ｖb_estm1_xyとＶb_cmd_xyとが一致することが導き出される。
【０１２４】
即ち、第１の移動動作部３の第１目標速度Ｖw1_cmd_xyは、基本的には、車両系全体重心の重心目標速度Ｖb_cmd_xyと第１推定値Ｖb_estm1_xyとの偏差をゼロに収束させるように決定される。
【０１２５】
次に、目標傾斜指令演算部３５の処理について詳細に説明する。
【０１２６】
目標傾斜指令演算部３５は、乗員が過度に上体等を移動させることで電動モータ８ａ、８ｂによる車両１の推進能力を超えて車両系全体重心のずれ量が大きくなることを抑制するために、目標傾斜指令Ｍ_cmd_xyに重畳させるべき通知用傾斜指令Ｍ_xyを算出する通知機能部３５ａと、通知機能部３５ａで算出された通知用傾斜指令Ｍ_xyを、上記補正信号Ｍ０_xyに加える処理を実行する演算部３５ｂとを備えている。
【０１２７】
そして、姿勢制御演算部３４は、演算部３５ｂで合算された値を目標傾斜指令Ｍ_cmd_xy（＝通知用傾斜指令Ｍ_xy＋Ｍ０_xy）としてこの目標傾斜指令Ｍ_cmd_xyを基体２の実際の傾斜角度θb_act_xyの計測値から減じる処理を演算部３４ｄで実行することで、第１の移動動作部３の接地点の並進加速度の目標値である目標並進加速度DVw1_cmd_xyを算出するための上記式（４ａ）、（４ｂ）で用いる基体２の傾斜角度θb_act_xyを補正する。補正された基体２の傾斜角度θb_act_xyは、基体２の傾斜角度をゼロ(目標傾斜指令Ｍ_cmd_xy)に近づけるように機能する操作量成分を決定するためのゲイン値Ｋth_xyを乗じられた後に、基体２の傾斜角度θb_act_xに応じたフィードバック操作量として用いられるため、通知用傾斜指令Ｍ_xy及び補正信号Ｍ０_xyは、第１の移動動作部３の目標並進加速度DVw1_cmd_xyに重畳することになる。
【０１２８】
以下、通知機能部３５ａについて詳細に説明する。通知機能部３５ａは、基体２に振動（振動的な傾斜角度）を与えることで通知を行うための通知用の傾斜振動指令Ｍ1_xyを算出する第１通知機能部３５ａ１と、基体２に単発的な比較的大きな傾斜角度を与えることで通知を行うための通知傾斜角度指令Ｍ2_xyを算出する第２通知機能部３５ａ２と、傾斜振動指令Ｍ1_xyと通知傾斜角度指令Ｍ2_xyとに基づいて通知用傾斜指令Ｍ_xyを算出する演算部３５ａ３とを備える。
【０１２９】
具体的には、図４のブロック線図に示したように、通知機能部３５ａには、重心速度推定部３１で算出された車両系全体重心の速度の推定値Ｖb_estm1_xy、加速度センサ７０及び角速度センサ７１の検出信号から得られた基体２の実際の傾斜角度θb_act_xy、角速度センサ７１の検出信号から得られた車両１の実際のヨーレートωz_act、及び電動モータ８ａ、８ｂの回転速度Ｎｍ_xy等が入力されている。
【０１３０】
第１通知機能部３５ａ１の処理は、図９に示される処理である。なお、図９は、通知用の傾斜振動指令Ｍ1_xyのうちのＸ軸方向の通知用の傾斜振動指令Ｍ1_xの設定処理を代表的に表している。
【０１３１】
図９の処理を具体的に説明すると、第１通知機能部３５ａ１は、車両系全体重心の速度の推定値Ｖb_estm1_xに基づいて第１振動係数Ｋ１_xを設定する処理を第１振動係数設定部４１で実行する。第１振動係数設定部４１は、Ｖb_estm1_xが所定の値ａ以下である場合には、第１振動係数Ｋ１_xを０に設定し、Ｖb_estm1_xが所定の値ａよりも大きな所定の値ｂ以上である場合には、第１振動係数Ｋ１_xを１に設定する。また、Ｖb_estm1_xが所定の値ａより大きく所定の値ｂ未満である場合には、第１振動係数設定部４１は、第１振動係数Ｋ１_xを、Ｖb_estm1_xの大きさの増加に応じて大きくなるように０から１の範囲で設定する。
【０１３２】
本実施形態では、第１振動係数設定部４１が判定のために用いる値ａは６ｋｍ／ｈに、値ｂは９ｋｍ／ｈにそれぞれ設定されている。これらの値は、車両１が自立制御を継続しづらくなる値よりも小さく、車両系全体重心の速度の推定値Ｖb_estm1_xにおいては、６ｋｍ／ｈ以下の領域が自立制御を問題なく行うことができる自立制御適応範囲Ｒとなる。そして、第１振動係数設定部４１では、Ｖb_estm1_xが所定の値ａより大きく所定の値ｂ未満である場合、第１振動係数Ｋ１_xは、Ｖb_estm1_xの値ａとの差、即ち自立制御適応範囲Ｒからの乖離量に比例して（図９に示すグラフにおいて直線的に）大きくなるように設定される。
【０１３３】
また、第１通知機能部３５ａ１は、車両１の実際のヨーレートωz_actに基づいて、車両１が非旋回状態にあることを示す非旋回信号Ｓ１を生成する処理を第１旋回状態判定部４２ａで実行すると共に、ωz_actに基づいて、車両１が旋回状態にあることを示す旋回信号Ｓ２を生成する処理を第２旋回状態判定部４２ｂで実行する。
【０１３４】
具体的に説明すると、第１旋回状態判定部４２ａは、ωz_actの絶対値が所定の値ａ以下の場合には、車両１が非旋回状態にあることを示す非旋回信号Ｓ１を１に設定し、ωz_actの絶対値が所定の値ａよりも大きい場合には、非旋回信号Ｓ１を０に設定する。一方、第２旋回状態判定部４２ｂは、ωz_actの絶対値が所定の値ａ以上の場合には、車両１が旋回状態にあることを示す旋回信号Ｓ２を１に設定し、ωz_actの絶対値が所定の値ａ未満の場合には、旋回信号Ｓ２を０に設定する。第１旋回状態判定部４２ａ及び第２旋回状態判定部４２ｂが判定のために用いる値ａは同一の値であり、本実施形態では値ａは１２deg／ｓに設定されている。
【０１３５】
次いで、第１通知機能部３５ａ１は、非旋回信号Ｓ１に基体２の実際の傾斜角度θb_act_xを乗じる処理を第１演算部４３ａで実行すると共に、旋回信号Ｓ２に基体２の実際の傾斜角度θb_act_xを乗じる処理を第２演算部４３ｂで実行する。従って、第１演算部４３ａ及び第２演算部４３ｂで算出される値のどちらか一方は０になり、他方は基体２の実際の傾斜角度θb_act_xの値になる。
【０１３６】
続いて第１通知機能部３５ａ１は、第１演算部４３ａにて算出された値（０又はθb_act_x）に基づいて第２振動係数Ｋ２_xを生成する処理を第２振動係数設定部４４で実行すると共に、第２演算部４３ｂにて算出された値（θb_act_x又は０）に基づいて第３振動係数Ｋ３_xを生成する処理を第３振動係数設定部４５で実行する。
【０１３７】
具体的には、第２振動係数設定部４４は、入力された値（０又はθb_act_x）が負の所定の値ａ以上である場合、即ち基体２の後傾角度が値ａの絶対値以下である場合には、第２振動係数Ｋ２_xを０に設定し、入力された値が負の所定の値ａよりも小さな所定の値ｂ以下である（基体２の後傾角度が値ｂの絶対値以上である）場合には、第２振動係数Ｋ２_xを１に設定する。また、入力された値が所定の値ａより小さく値ｂよりも大きい場合には、第２振動係数設定部４４は、第２振動係数Ｋ２_xを、入力された値の絶対値の増大に応じて大きくなるように０から１の範囲で設定する。
【０１３８】
本実施形態では、第２振動係数設定部４４が判定のために用いる値ａは−９．７degに、値ｂは−１５．５degにそれぞれ設定されている。なお、これらの値ａ、ｂの絶対値は、基体２の後傾によってアーム１５が上側のストッパ１６に当接するストッパ角度（−２５deg）の絶対値よりも小さいため、アーム１５が上側のストッパ１６に当接する前に第２振動係数Ｋ２_xが１になる。
【０１３９】
また、第２振動係数設定部４４が判定のために用いるこれらの値ａ、ｂは、車両１が自立制御を継続しづらくなる負の値よりも大きく（絶対値が小さく）、非旋回状態にある基体２の実際の傾斜角度θb_act_xにおいては、−９．７deg以上の領域が自立制御を問題なく行うことができる自立制御適応範囲Ｒとなる。そして、第２振動係数設定部４４では、入力された値が所定の値ａより小さく値ｂよりも大きい場合、第２振動係数Ｋ２_xは、入力された値の値ａとの差、即ち自立制御適応範囲Ｒからの乖離量に比例して（図９に示すグラフにおいて直線的に）大きくなるように設定される。
【０１４０】
一方、第３振動係数設定部４５は、入力された値（θb_act_x又は０）が負の所定の値ａ以上である場合、即ち基体２の後傾角度が値ａの絶対値以下である場合には、第３振動係数Ｋ３_xを０に設定し、入力された値が負の所定の値ａよりも小さな所定の値ｂ以下である（基体２の後傾角度が値ｂの絶対値以上である）場合には、第３振動係数Ｋ３_xを１に設定する。また、入力された値が所定の値ａより小さく値ｂよりも大きい場合には、第３振動係数設定部４５は、第３振動係数Ｋ３_xを、入力された値の絶対値の増大に応じて大きくなるように０から１の範囲で設定する。
【０１４１】
第２振動係数設定部４４が設定する第２振動係数Ｋ２_xは、車両１が非旋回状態にある時に乗員の過度な重心移動を通知するための指令値であるのに対し、第３振動係数設定部４５が設定する第３振動係数Ｋ３_xは、車両１が旋回状態にある時に乗員の過度な重心移動を通知するための指令値である。そして、旋回時は、遠心力によって基体２が後方に傾きやすく、非旋回時と同じ判定閾値が用いられると通知用或いは警告用の傾斜指令が出やすくなる。そのため、本実施形態では、第３振動係数設定部４５が判定のために用いる値ａ及び値ｂはそれぞれ、第２振動係数設定部４４に設定された値ａ及び値ｂ以下（絶対値が第２振動係数設定部４４に設定された値ａ及び値ｂの絶対値以上）とされ、本実施形態では、−１１．５deg及び−１５．５degに設定されている。
【０１４２】
第３振動係数設定部４５が判定のために用いるこれらの値ａ、ｂは、車両１が自立制御を継続しづらくなる負の値よりも大きく（絶対値が小さく）、旋回状態にある基体２の実際の傾斜角度θb_act_xにおいては、−１１．５deg以上の領域が自立制御を問題なく行うことができる自立制御適応範囲Ｒとなる。そして、第３振動係数設定部４５では、入力された値が所定の値ａより小さく値ｂよりも大きい場合には、第３振動係数Ｋ３_xは、入力された値の値ａとの差、即ち自立制御適応範囲Ｒからの乖離量に比例して（図９に示すグラフにおいて直線的に）大きくなるように設定される。
【０１４３】
また、第１通知機能部３５ａ１は、電動モータ８ａの回転速度Ｎｍ_xに基づいて第４振動係数Ｋ４_xを生成する処理を第４振動係数設定部４６で実行する。具体的には、第４振動係数設定部４６は、Ｎｍ_xが所定の値ａ以下である場合には、第４振動係数Ｋ４_xを０に設定し、Ｎｍ_xが所定の値ａよりも大きな所定の値ｂ以上である場合には、第４振動係数Ｋ４_xを１に設定する。一方、Ｎｍ_xが所定の値ａより大きく所定の値ｂ未満である場合には、第４振動係数設定部４６は、第４振動係数Ｋ４_xを、Ｎｍ_xの大きさの増加に応じて大きくなるように０から１の範囲で設定する。
【０１４４】
本実施形態では、第１振動係数設定部４１が判定のために用いる値ａは８０００ｒｐｍに、値ｂは１００００ｒｐｍにそれぞれ設定されている。これらの値は、車両１が自立制御を継続しづらくなる値よりも小さく、電動モータ８ａの回転速度Ｎｍ_xにおいては、８０００ｒｐｍ以下の領域が自立制御を問題なく行うことができる自立制御適応範囲Ｒとなる。そして、第４振動係数設定部４６では、Ｎｍ_xが所定の値ａより大きく所定の値ｂ未満である場合、第３振動係数Ｋ３_xは、Ｎｍ_xの値ａとの差、即ち自立制御適応範囲Ｒからの乖離量に比例して（図９に示すグラフにおいて直線的に）大きくなるように設定される。
【０１４５】
これらの処理の後、第１通知機能部３５ａ１は、第１〜第４振動係数Ｋ１_x〜Ｋ４_xに基づいて振動係数Ｋ_xを生成する処理を最大値選択部４７で実行する。具体的には、最大値選択部４７は、供給された第１〜第４振動係数Ｋ１_x〜Ｋ４_xの中から最も大きな値を選択し、選択した値を振動係数Ｋ_x（０≦Ｋ_x≦１）として設定する。
【０１４６】
次に、第１通知機能部３５ａ１は、振動係数Ｋ_xに基づいて通知用の基体２の振動の振幅Ｇ_xを算出する処理を振幅設定部４８で実行する。具体的には、振幅設定部４８は、通知用振動の最大振幅（基体２の最大振動角度）として設定された値に振動係数Ｋ_xを乗算することで通知用振動の振幅Ｇ_xを算出する。本実施形態では、通知用振動の最大振幅は６degに設定されており、振幅設定部４８が乗算した値の小数点以下を切り上げることで、振動係数Ｋ_xが０より大きい場合の振幅Ｇ_xの最小値が１degとされる。振動係数Ｋ_xが１の時の振幅Ｇ_xは６degとなる。
【０１４７】
なお、振動係数Ｋ_xが０より大きくなった場合に、振幅Ｇ_xのベース値として１degが設定され、このベース値に対し、通知用振動の最大振幅の６degからベース値の１degを減じた５degに対して振動係数Ｋ_xを乗算した値を加えて通知用振動の振幅Ｇ_xを算出するようにしてもよい。
【０１４８】
そして第１通知機能部３５ａ１は、振幅設定部４８が算出した振幅Ｇ_xに対し、正弦波発生部４９から供給される正弦波Ｓを乗じる処理を演算部５０で実行することで、基体２に対する振動通知用のＸ軸方向の通知用の傾斜振動指令Ｍ1_xを設定する。正弦波発生部４９は、Ｓｉｎ（ωｔ）で表される所定の周波数の正弦波Ｓを発生させる。但し、ω：周波数、ｔ：時間（ｓ）である。本実施形態では、正弦波Ｓの周波数は、一般的に人が不快に感じるとされる４Ｈｚ（即ち、ω＝２π・４）に設定されている。
【０１４９】
従って、最大値選択部４７で選択された振動係数Ｋ_xが１である場合、第１通知機能部３５ａ１は、振幅Ｇ_xが６deg（波高が１２deg）で周波数４Ｈｚの通知用の傾斜振動指令Ｍ1_xを出力する。
【０１５０】
第１通知機能部３５ａ１が行う処理は、図１０のフローチャートのように表される。第１通知機能部３５ａ１は、このフローに示す処理を所定の制御周期で実行する。図を参照して具体的に説明すると、第１通知機能部３５ａ１はまず、車両系全体重心の速度の推定値Ｖb_estm1_xが所定の値ａより大きいか否か、基体２の実際の傾斜角度θb_act_xが負の所定の値ａよりも小さいか否か、及び電動モータ８ａの回転速度Ｎｍ_xが所定の値ａよりも大きいか否かを判定する（ステップＳＴ１）。
【０１５１】
ステップＳＴ１の判定で３つの判定のすべてが満たされない場合（Ｎｏ）、第１通知機能部３５ａ１は図１０に示すルーチンを終了する。一方、ステップＳＴ１の判定で３つの条件のうちのいずれか１つでも満たされている場合（Ｙｅｓ）、第１通知機能部３５ａ１は、振幅設定部４８の処理として、ステップＳＴ１で満たされた判定パラメータ（Ｖb_estm1_x、θb_act_x又はＮｍ_x）の各判定閾値である値ａからの乖離量に比例した振幅Ｇ_xを算出する（ステップＳＴ２）。次いで、第１通知機能部３５ａ１は、正弦波発生部４９の処理として、周波数４Ｈｚの正弦波Ｓを算出し（ステップＳＴ３）、演算部５０の処理として正弦波Ｓに振幅Ｇ_xを乗じ、目標傾斜指令Ｍ_cmd_xyに重畳させるべき傾斜振動指令Ｍ1_xを出力して（ステップＳＴ４）、図１０に示すルーチンを終了する。
【０１５２】
Ｙ軸方向の通知用の傾斜振動指令Ｍ1_yの設定処理も図９及び図１０を参照して説明したものと同様である。
【０１５３】
次に、図４に示された第２通知機能部３５ａ２について説明する。第２通知機能部３５ａ２の処理は、図１１に示される処理である。なお、図１１は、通知用の通知傾斜角度指令Ｍ2_xyのうちのＸ軸方向の通知傾斜角度指令Ｍ2_xの設定処理を代表的に表している。
【０１５４】
図１１の処理を具体的に説明すると、第２通知機能部３５ａ２は、まず基体２の実際の傾斜角度θb_act_xを２階時間微分する処理を演算部５１で実行することで、基体２の傾斜角加速度α_xを算出する。次いで、第２通知機能部３５ａ２は、基体２の傾斜角加速度α_xに基づいて目標通知傾斜角度Ｍ2_tgt_xを設定する処理を通知角度指令値設定部５２で実行する。具体的には、通知角度指令値設定部５２は、α_xが負の所定の値ａよりも小さい（絶対値が大きい）場合には、乗員が急激に上体を前方に移動させた動作の反力が基体２に加わったものと捉え、通知傾斜角度指令Ｍ2_xを出力させるべく、目標通知傾斜角度Ｍ2_tgt_xを所定の通知用角度に設定する。一方、α_xが所定の値ａよりも大きな場合、通知角度指令値設定部５２は目標通知傾斜角度Ｍ2_tgt_xを０degに設定する。
【０１５５】
本実施形態では、通知角度指令値設定部５２が判定のために用いる値ａは−４０deg／ｓ２に設定され、通知用角度は−６degに設定されている。この値ａは、車両１が自立制御を継続しづらくなる値よりも小さく、基体２の傾斜角加速度α_xにおいては、−４０deg／ｓ２以上の領域が自立制御を問題なく行うことができる自立制御適応範囲Ｒとなる。
【０１５６】
その後、第２通知機能部３５ａ２は、目標通知傾斜角度Ｍ2_tgt_xを、時定数Ｔを所定の値に変更可能なローパスフィルタ５３に通すことで通知傾斜角度指令Ｍ2_xを算出する。本実施形態では、目標通知傾斜角度Ｍ2_tgt_xが−６degである場合、ローパスフィルタ５３の時定数Ｔは、適度な速さで基体２の傾斜角度θb_act_xを通知用角度に至らせて有効に通知を行うことができる値として、０．１secに設定されている。なお、この時定数Ｔで通知傾斜角度指令Ｍ2_xが与えられた時の基体２の傾斜角加速度α_xの絶対値は、値ａの絶対値よりも大きく、通知傾斜角度指令Ｍ2_xが比較的大きな傾斜角度に設定された−６degに達するまで、目標通知傾斜角度Ｍ2_tgt_xが継続的にローパスフィルタ５３に入力される。
【０１５７】
基体２の実際の傾斜角度θb_act_xが通知用角度の−６degに達するか、又は基体２の実際の傾斜角度θb_act_xが−２５deg（アーム１５が上側のストッパ１６に当接するストッパ角度）に達すると、通知角度指令値設定部５２で算出される目標通知傾斜角度Ｍ2_tgt_xは０degになる。目標通知傾斜角度Ｍ2_tgt_xが０degである場合、第２通知機能部３５ａ２は、即座に基体２が元の傾斜角度に戻るように、ローパスフィルタ５３の時定数Ｔを０．０５secに設定する。
【０１５８】
第２通知機能部３５ａ２が行う通知傾斜角度による通知処理の概要は、図１２のフローチャートのように表される。この図を参照して説明すると、第２通知機能部３５ａ２は、基体２の傾斜角加速度α_xが所定の値ａよりも小さい（負の場合絶対値が大きい）か否かを判定する（ステップＳＴ１１）。基体２の傾斜角加速度α_xが所定の値ａ以上の場合には（Ｎｏ）、この判定がＹｅｓになるまでステップＳＴ１１の処理を行う。基体２の傾斜角加速度α_xが所定の値ａよりも小さくなり、ステップＳＴ１１の判定がＹｅｓになると、第２通知機能部３５ａ２は、目標通知傾斜角度Ｍ2_tgt_xを−６degに設定し、ローパスフィルタ５３の時定数Ｔを０．１secに設定した上で、通知傾斜角度指令Ｍ2_xを出力する処理（ステップＳＴ１２）を開始する。これにより、基体２は後傾を開始する。
【０１５９】
その後、ステップＳＴ１３にて実行する、通知傾斜角度指令Ｍ2_xが目標通知傾斜角度Ｍ2_tgt_xの値である−６degになったこと、及び基体２の実際の傾斜角度θb_act_xがストッパ角度である−２５degになったことの２つの判定条件の両方が満たされない状態ではステップＳＴ１３の判定がＮｏとなり、第２通知機能部３５ａ２はステップＳＴ１２の処理を継続する。
【０１６０】
ローパスフィルタ５３の時定数Ｔに応じた時間の経過により、通知傾斜角度指令Ｍ2_xが−６degになるか、基体２の傾斜角加速度α_xが値ａよりも小さくなった時の基体２の傾斜角度θb_act_xが大きかった状態で通知傾斜角度指令Ｍ2_xが出力されたこと等に起因して、基体２の実際の傾斜角度θb_act_xが−２５degになり、ステップＳＴ１３で実行する２つの判定条件の少なくとも一方が満たされてその判定がＹｅｓとなると、第２通知機能部３５ａ２は、目標通知傾斜角度Ｍ2_tgt_xを０degに設定し、ローパスフィルタ５３の時定数Ｔを０．０５secに設定した上で、通知傾斜角度指令Ｍ2_xを出力する処理（ステップＳＴ１４）を開始する。これにより、車両１は後傾した基体２を元に戻す動作を開始する。
【０１６１】
その後、ステップＳＴ１５にて実行する、通知傾斜角度指令Ｍ2_xが目標通知傾斜角度Ｍ2_tgt_xの値である０degになったか否かの判定条件が満たされない状態ではステップＳＴ１５の判定がＮｏとなり、第２通知機能部３５ａ２はステップＳＴ１２の処理を継続する。
【０１６２】
ローパスフィルタ５３の時定数Ｔに応じた時間の経過により、通知傾斜角度指令Ｍ2_xが０degになり、ステップＳＴ１５の判定がＹｅｓとなると、第２通知機能部３５ａ２は、通知傾斜角度指令Ｍ2_xによる通知終了フラグＦfを１に設定し（ステップＳＴ１６）、スタートに戻る。
【０１６３】
Ｙ軸方向の通知傾斜角度指令Ｍ2_yの設定処理も図１１及び図１２を参照して説明したものと同様である。
【０１６４】
図４に示す通知機能部３５ａは、以上のようにして第１通知機能部３５ａ１で算出された傾斜振動指令Ｍ1_xyと、第２通知機能部３５ａ２で算出された通知傾斜角度指令Ｍ2_xyとを加算する処理を演算部３５ａ３で実行することにより、目標並進加速度DVw1_cmd_xy（基体２の目標傾斜指令Ｍ_cmd_xyに応じた量）に重畳させる通知用傾斜指令Ｍ_xyを算出する。
【０１６５】
次に、図４に示した重心目標速度０機能部３４ｂについて説明する。重心目標速度０機能部３４ｂは、基体２の後傾によってアーム１５が上側のストッパ１６に当接した状況となった場合には、この状況が生じる前に乗員の急な上体移動によって通知傾斜角度指令Ｍ2_xによる通知が行われていることが想定され、アーム１５がストッパ１６に当接した状況を早期に脱するためには補償後重心目標速度Ｖb_cmpn_cmd_xを０に設定して車両１の傾斜角度を直立に近付けることが最も効果的であることから、一時的に補償後重心目標速度Ｖb_cmpn_cmd_xの値を変更する機能を果たす。つまり、重心目標速度０機能部３４ｂは、ストッパ１６によってＹ軸回りの傾斜角度が規制されるために、Ｘ軸方向の補償後重心目標速度Ｖb_cmpn_cmd_xのみを変更するものである。
【０１６６】
他の実施形態として、Ｘ軸回りの傾斜角度が、例えば足載せ部９等の基体２の一部によって規制される場合に、重心目標速度０機能部３４ｂがＹ軸方向の補償後重心目標速度Ｖb_cmpn_cmd_yをも変更することも可能である。
【０１６７】
図１３を参照して説明すると、重心目標速度０機能部３４ｂは、一時的に補償後重心目標速度Ｖb_cmpn_cmd_xの値を変更するための減速目標速度ＤＤ_xを設定する減速目標速度設定部５５と、並列に設けられた第１ライン５６及び第２ライン５７と、第１ライン５６に設けられたローパスフィルタ５８と、補償後重心目標速度Ｖb_cmpn_cmd_xを第１ライン５６に入力させる状態と減速目標速度ＤＤ_xを第２ライン５７に入力させる状態とを切り替える切替部５９とを備える。
【０１６８】
重心目標速度０機能部３４ｂは、加速度センサ７０及び角速度センサ７１の検出信号から得られた基体２のＹ軸回り方向の実際の傾斜角度θb_act_xの計測値と、演算部３４ａ（図４）で算出された補償後重心目標速度Ｖb_cmpn_cmd_xと、上記通知終了フラグＦfとに基づいて、減速目標速度ＤＤ_xを設定する処理を減速目標速度設定部５５で実行する。具体的には、減速目標速度設定部５５は、基体２の傾斜角度θb_act_xがストッパ角度である−２５degになると、減速目標速度ＤＤ_xを０に設定し、通知終了フラグＦfが１になると、減速目標速度ＤＤ_xを補償後重心目標速度Ｖb_cmpn_cmd_xの値に設定する。
【０１６９】
また、重心目標速度０機能部３４ｂは、基体２の傾斜角度θb_act_xが−２５degになると、減速目標速度ＤＤ_xを第１ライン５６に入力させ、後述する所定のタイミングで、補償後重心目標速度Ｖb_cmpn_cmd_xを第２ライン５７に入力させる処理を切替部５９で実行する。切替部５９が補償後重心目標速度Ｖb_cmpn_cmd_xを第２ライン５７に入力させる通常時には、補償後重心目標速度Ｖb_cmpn_cmd_xがそのまま重心目標速度０機能部３４ｂから出力される。一方、切替部５９が減速目標速度ＤＤ_xを第１ライン５６に入力させる減速処理時には、減速目標速度ＤＤ_xをローパスフィルタ５８に通した出力値ＭＭ_xが、重心目標速度０機能部３４ｂから補償後重心目標速度Ｖb_cmpn_cmd_xとして出力される。
【０１７０】
ローパスフィルタ５８は、時定数Ｔを変更可能なものとされている。重心目標速度０機能部３４ｂは、基体２の傾斜角度θb_act_xが−２５degになると、ローパスフィルタ５８の時定数Ｔを所定の値（本実施形態では、０．３sec）に設定し、この時定数Ｔに応じた変化速度でローパスフィルタ５８の出力値ＭＭ_xを入力値である減速目標速度ＤＤ_xの値に近づける処理を実行する。その後、通知終了フラグＦfが１になると、重心目標速度０機能部３４ｂは、ローパスフィルタ５８の時定数Ｔを所定の値（本実施形態では、０．３sec）に設定し、この時定数Ｔに応じた変化速度で出力値ＭＭ_xを入力値である補償後重心目標速度Ｖb_cmpn_cmd_xの値に近づける処理を実行する。
【０１７１】
更に、重心目標速度０機能部３４ｂは、通知終了フラグＦfが１になった時点から所定時間（本実施形態では０．５sec）が経過すると、補償後重心目標速度Ｖb_cmpn_cmd_xを第１ライン５６に入力させる処理を切替部５９で実行する。
【０１７２】
重心目標速度０機能部３４ｂが行う処理の概要は、図１４のフローチャートのように表される。図を参照して説明すると、重心目標速度０機能部３４ｂは、基体２の傾斜角度θb_act_xがストッパ角度である−２５degになっているか否かを判定する（ステップＳＴ２１）。基体２の傾斜角度θb_act_xが−２５degよりも大きい（プラス側である）場合には（Ｎｏ）、この判定がＹｅｓになるまでステップＳＴ２１の処理を行う。基体２の傾斜角度θb_act_xが−２５degになり、ステップＳＴ２１の判定がＹｅｓになると、重心目標速度０機能部３４ｂは、減速目標速度ＤＤ_xを０ｍ／ｓに設定し、ローパスフィルタ５３の時定数Ｔを０．３secに設定した上で、ローパスフィルタ５８の出力値ＭＭ_xを補償後重心目標速度Ｖb_cmpn_cmd_xとして出力する処理（ステップＳＴ２２）を開始する。これにより、車両１は基体２の傾斜角度を０に戻すように動作する。
【０１７３】
その後、ステップＳＴ２３にて実行する、通知終了フラグＦfが１になったことが満たされない状態ではステップＳＴ２３の判定がＮｏとなり、重心目標速度０機能部３４ｂはステップＳＴ２２の処理を継続する。
【０１７４】
図１２を参照して説明した通知傾斜角度による通知処理の終了により通知終了フラグＦfが１になり、ステップＳＴ２３での判定がＹｅｓとなると、重心目標速度０機能部３４ｂは、減速目標速度ＤＤ_xを補償後重心目標速度Ｖb_cmpn_cmd_xの値に設定し、ローパスフィルタ５３の時定数Ｔを０．３secに設定した上で、ローパスフィルタ５８の出力値ＭＭ_xを補償後重心目標速度Ｖb_cmpn_cmd_xとして出力する処理（ステップＳＴ２４）を開始する。これにより、車両１は基体２を直立状態から元の補償後重心目標速度Ｖb_cmpn_cmd_xによる傾斜角度へ戻す動作を開始する。
【０１７５】
その後、ステップＳＴ２５にて実行する、通知終了フラグＦfが１になった時点から０．５ｓが経過したか否かの判定条件が満たされるまではステップＳＴ２５の判定がＮｏとなり、重心目標速度０機能部３４ｂはステップＳＴ２２の処理を継続する。
【０１７６】
通知終了フラグＦfが１になった時点から０．５ｓが経過してステップＳＴ２５の判定がＹｅｓとなると、重心目標速度０機能部３４ｂは、通知終了フラグＦfを０に戻し（ステップＳＴ２６）、演算部３４ａ（図４）で算出された補償後重心目標速度Ｖb_cmpn_cmd_xをそのまま出力する処理（ステップＳＴ２７）を開始し、スタートに戻る。
【０１７７】
このように、基体２の傾斜角度がストッパ角度の−２５degになった場合に（ステップＳＴ３１：Ｙｅｓ）、重心目標速度０機能部３４ｂが減速目標速度ＤＤ_xを０ｍ／ｓに設定する、即ち基体２の傾斜角度が０となるように補償後重心目標速度Ｖb_cmpn_cmd_xを設定することにより、基体２の傾斜角度が０度に向かい、車両１は基体２がストッパ角度に傾斜した状態を早期に脱することができる。
【０１７８】
また、重心目標速度０機能部３４ｂが、ステップＳＴ２２において、時定数Ｔを０．３secに設定してローパスフィルタ５８の出力値ＭＭ_xを補償後重心目標速度Ｖb_cmpn_cmd_xとして出力し、第２通知機能部３５ａ２が設定した通知用傾斜指令の処理完了を示す通知終了フラグＦfが１となった場合に（ＳＴ２３：Ｙｅｓ）、時定数Ｔを０．３secに設定して基体２の傾斜角度を元の角度に戻すように補償後重心目標速度Ｖb_cmpn_cmd_xをそのまま出力する処理（ＳＴ２４）を開始することで、基体２の動作が円滑に行われる。
【０１７９】
以上が、本実施形態における第１制御処理部２４の処理の詳細である。
【０１８０】
次に、このように構成された第１制御処理部２４の処理による作用効果について説明する。
【０１８１】
図１５は、図４に示した第１通知機能部３５ａ１の処理による効果説明図であり、（Ａ）は傾斜振動指令Ｍ1_xが設定されない比較例について、（Ｂ）は本発明に係る傾斜振動指令Ｍ1_xが設定される例について、それぞれ横軸に時間をとり、縦軸には下段に角度をとって傾斜振動指令Ｍ1_xを、上段上側に速度、上段下側に角度をとって基体２の速度と傾斜角度とを示している。
【０１８２】
（Ａ）に示す比較例では、傾斜振動指令Ｍ1_xが設定されておらず、即ち０degとされており、基体２の前進速度の増大に応じて基体２の後方への傾斜角度が増大している（絶対値が大きくなっている）だけである。
【０１８３】
一方、（Ｂ）に示す本発明では、基体２の前進速度が増大して所定の値ａに設定された６ｋｍ／ｈになった２secの時点で、周波数４Ｈｚの振動波として傾斜振動指令Ｍ1_xが設定され、前進速度の増大に応じて振幅が大きくなり、前進速度の減少に応じて振幅が小さくなっている。なお、基体２の前進速度が６ｋｍ／ｈ以下になった後にも傾斜振動指令Ｍ1_xが設定されているのは、基体２の傾斜角度が所定の値ａに設定された−９．７degよりも小さい（絶対値が大きい）ためであり、基体２の傾斜角度が−９．７deg以上になる７．５secの時点で傾斜振動指令Ｍ1_xは設定されなくなる。
【０１８４】
このような傾斜振動指令Ｍ1_xが設定されると、上段に示す基体２の傾斜角度は傾斜振動指令Ｍ1_xの振動に応じて振動的に変化する。即ち、基体２に振動的な傾斜角変化が現れる。そして、傾斜振動指令Ｍ1_xが車両系全体重心の速度の推定値Ｖb_estm1_xや基体２の傾斜角度θb_act_xのそれぞれの自立制御適応範囲Ｒからの乖離量に応じ、乖離量に比例して大きくなるように設定されることから、基体２の振動的な傾斜変化角度もこれらの乖離量に応じて大きくなっている。そのため、車両１が自立制御を継続しづらくなる前に、比較的小さな角度変化で乗員に確実に通知を認識させることができる。
【０１８５】
また、車両１の挙動変化による通知として、傾斜振動指令Ｍ1_xがこれらの車両状態量のそれぞれの自立制御適応範囲Ｒからの乖離量に比例した振幅を有する振動的な基体２の傾斜角変化によって通知が行われることにより、乗員が通知を認識せずに加速動作を続けた場合であっても、基体２の傾斜振動の振幅が大きくなることで、通知が確実に乗員に認識される。更に、傾斜振動指令Ｍ1_xが正弦波として設定されることで、基体２を円滑に振動させることができるうえ、４Ｈｚという一般的に人が不快に感じやすいとされる周波数に設定されていることにより、乗員が振動を感じやすくなっている。
【０１８６】
また、本実施形態では、目標傾斜指令Ｍ_cmd_xyに重畳される傾斜振動指令Ｍ1_xを設定するための車両１の状態情報として、車両系全体重心の速度の推定値Ｖb_estm1_xy、基体２の傾斜角度θb_act_xy、及び電動モータ８ａの回転速度Ｎｍ_xが含まれ、これら３つの値のうちの少なくとも１つがそれぞれに定められた自立制御適応範囲Ｒを外れた場合に（図１６の例では、基体２の前進速度が６ｋｍ／ｈになった時点、図１０のフロー図では、ステップＳＴ１の判定がＹｅｓとなった時点で）、姿勢制御演算部３４が傾斜振動指令Ｍ1_xの目標傾斜指令Ｍ_cmd_xyへの重畳を開始する（図１０のフロー図では、ステップＳＴ２）。そのため、車両１の自立制御が困難になる様々な要因によって制御が継続しづらくなる前に、乗員が通知を認識することができる。
【０１８７】
更に、これら３つの値の全てがそれぞれに定められた自立制御適応範囲Ｒ内に戻った場合に（図１５の例では、基体２の傾斜角度が−９．７deg以上になった時点、図１０のフロー図では、ステップＳＴ１の判定がＮｏとなった時点で）、姿勢制御演算部３４が傾斜振動指令Ｍ1_xの目標傾斜指令Ｍ_cmd_xyへの重畳を終了する。そのため、自立制御が困難になることが確実に防止される。
【０１８８】
図１６は、図４に示した第１通知機能部３５ａ１及び第２通知機能部３５ａ２の処理による効果説明図であり、図１５と同様に、（Ａ）は傾斜振動指令Ｍ1_x及び通知傾斜角度指令Ｍ2_xが設定されない比較例について、（Ｂ）は本発明に係る傾斜振動指令Ｍ1_x及び通知傾斜角度指令Ｍ2_xが共に設定される例について、それぞれ横軸に時間をとり、縦軸には下段に角度をとって傾斜振動指令Ｍ1_x及び通知傾斜角度指令Ｍ2_xを、上段上側に速度、上段下側に角度をとって基体２の速度と傾斜角度とを示している。
【０１８９】
（Ａ）に示す比較例では、図１５（Ａ）と同様に、傾斜振動指令Ｍ1_x及び通知傾斜角度指令Ｍ2_xが共に設定されておらず、即ち０degとされており、基体２の前進速度の増大に応じて基体２の後方への傾斜角度が増大している（絶対値が大きくなっている）だけである。
【０１９０】
一方、（Ｂ）に示す本発明では、基体２の前進速度が増大して所定の値ａに設定された６ｋｍ／ｈになった６sec付近の時点で、周波数４Ｈｚの振動波として傾斜振動指令Ｍ1_xが設定され、前進速度の増大に応じて振幅が大きくなり、その後、基体２の傾斜角加速度α_xが判定用の所定の値ａである−４０deg／ｓ２を超えた７sec付近の時点で、−６degの通知傾斜角度指令Ｍ2_xが設定されている。通知傾斜角度指令Ｍ2_xは、通知用角度（この例では−４deg）になった後に０に向けて小さくなっている。
【０１９１】
この例では、通知傾斜角度指令Ｍ2_xが通知用角度になった後にも、基体２の傾斜角度はストッパ角度である−２５degに達しておらず、重心目標速度０機能部３４ｂの機能は働いていないが、搭乗者は通知を認識してその後、基体２の速度を低下させており、基体２の傾斜角度が−９．７deg以上になる１１secの時点で傾斜振動指令Ｍ1_xは設定されなくなる。
【０１９２】
このように通知傾斜角度指令Ｍ2_xが設定されると、上段に示す基体２の傾斜角度は乗員の入力に反対向きのモーメントを与えるために基体２を後傾させる。そのため、車両１が自立制御を継続しづらくなる前に、乗員に確実に通知を認識させることができる。
【０１９３】
また、本実施形態では、目標傾斜指令Ｍ_cmd_xyに重畳される通知傾斜角度指令Ｍ2_xを設定するための車両１の状態情報として、基体２の傾斜角加速度α_xが含まれ、基体２の傾斜角加速度α_xが自立制御適応範囲Ｒを外れた場合に（図１６の例では、α_xが−４０deg／ｓ２を超えた７sec付近の時点、図１２のフロー図では、ステップＳＴ１１の判定がＹｅｓとなった時点で）、姿勢制御演算部３４が時定数を０．１secに設定して基体２を通知傾斜角度の−６deg（図１６では−４deg）とする通知傾斜角度指令Ｍ2_xを設定し（図１２のフロー図では、ステップＳＴ１２）、通知傾斜角度指令Ｍ2_xが通知傾斜角度の−６degになった場合に（図１２のステップＳＴ１３の判定がＹｅｓとなった時点で）、時定数を０．０５secに設定して基体２を元の角度に戻す通知傾斜角度指令Ｍ2_xを設定する（図１２のステップＳＴ１４）。そのため、乗員が驚いてバランスを失わない適度の変化速度で、短時間で単発的に基体２を大きく傾斜させ、安全かつ確実に通知を乗員に認識させることができる。
【０１９４】
次に、図３に示した第２制御処理部２５の処理について図１７を参照して説明する。第２制御処理部２５は、その処理を概略的に言えば、車両系全体重心等の車両１の代表点もしくは第１の移動動作部３のＹ軸方向（乗員の左右方向）における実際の運動状態もしくは目標の運動状態、又は運動状態に関する乗員の動作状態に基づいて、車両１を旋回させることの要求（以降、旋回要求という）の有無、あるいは旋回要求の度合いを判断する。
【０１９５】
本実施形態では、旋回要求の有無、あるいは旋回要求の度合いを判断する指標として、重心速度推定部３１で算出される車両系全体重心のＹ軸方向の移動速度の推定値Ｖb_estm1_yが用いられる。なお、Ｖb_estm1_yは、基準部Ｐs_yのＹ軸方向の移動速度に一致するので、基体２に対して固定された代表点のＹ軸方向の移動速度の観測値としての意味を持つものである。
【０１９６】
そして、第２制御処理部２５は、旋回要求が有ると判断される場合には、車両１の旋回を行なわせるために、第２の移動動作部４のＹ軸方向の第２目標速度Ｖw2_cmd_yを、第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_yと異ならせるように決定する。
【０１９７】
このような第２制御処理部２５の処理は、具体的には次のように行なわれる。すなわち、図１７を参照して、第２制御処理部２５は、まず、処理部８１の処理を実行する。処理部８１には、重心速度推定部３１で算出される車両系全体重心のＹ軸方向の移動速度の推定値Ｖb_estm1_y（最新値）が入力される。そして、処理部８１は、Ｖb_estm1_yに応じて、不感帯処理後速度Ｖw1a_yを決定する。
【０１９８】
ここで、車両１の乗員が、車両１を右側又は左側に旋回させようとする場合には、通常、乗員は、乗員は自身の上体を、右側又は左側に傾けることで、自身の重心を車両１の右側又は左側にずらすようにする。このとき、第１制御処理部２４の制御処理によって決定される第１の移動動作部３の左右方向の第１目標速度Ｖw1_cmd_yは、基本的には、右向き又は左向きの移動速度となる。
【０１９９】
ただし、乗員が車両１を旋回させることを意図していない場合であっても、乗員の上体のふらつきによって、乗員自身の重心が右側又は左側に多少ずれる場合もある。そこで、処理部８１は、図１７中に示すグラフの特性で、不感帯処理後速度Ｖw1a_yをＶb_estm1_yに応じて決定する。具体的には、Ｖb_estm1_yの絶対値が比較的小さく、Ｖb_estm1_yが、ゼロを中心とする所定範囲Δa内の値である場合（Ｖb_estm1_yの絶対値があらかじめ定めた所定値以下である場合）には、処理部８１は、旋回要求が無いものとみなして、Ｖw1a_yをゼロとする。
【０２００】
また、Ｖb_estm1_yの絶対値が比較的大きいものとなっており、Ｖb_estm1_yが、所定範囲Δa外の値である場合（Ｖb_estm1_yの絶対値があらかじめ定めた所定値よりも大きい場合）には、処理部８１は、旋回要求が有るものとみなして、Ｖw1a_yをゼロでない値に設定する。
【０２０１】
具体的には、処理部８１は、Ｖw1a_yの絶対値が、既定の上限値以下で、Ｖb_estm1_yの絶対値の増加に伴い増加していくように、Ｖw1a_yをＶb_estm1_yに応じて決定する。この場合、Ｖw1a_yの極性（向き）は、Ｖb_estm1_yと同じとされる。後述するように、旋回中心を望ましい位置に設定するためには、Ｖb_estm1_yの増加に対するＶw1a_yの増加率は１が好ましい。すなわち、図１７のグラフにおける不感帯と飽和領域とを除く領域では傾きは１が好ましい。
【０２０２】
次いで、第２制御処理部２５は、処理部８２の処理を実行する。この処理部８２は、Ｖw1a_yを、第１の移動動作部３の接地部と旋回中心とのＸ軸方向の距離Ｌ３で除算することによって、車両１の旋回角速度（ヨー軸周り方向の角速度）の目標値である目標旋回角速度ωz_cmd_gcを決定する。この場合、処理部８２は、上記距離Ｌ３を、車両１の代表点としての車両系全体重心のＸ軸方向の実際の移動速度の推定値Ｖb_estm1_x（最新値）に応じて設定する。
【０２０３】
なお、上記旋回中心は、より詳しくは、第１の移動動作部３と一体に床面上を並進移動する座標系で見た車両１の全体のヨー軸周り方向の回転中心を意味する。
【０２０４】
本実施形態では、車両１の旋回は、第１の移動動作部３の接地部の後方側（ひいては、乗員搭乗部５に搭乗した乗員の後方側）の床面上の点を旋回中心として、車両１がヨー軸まわり方向に旋回するように行なわれる。そして、その旋回中心と第１の移動動作部３の接地部との間のＸ軸方向の距離Ｌ３は、Ｖb_estm1_xがゼロである場合には、旋回中心が第２の移動動作部４の接地部近辺の位置になるように設定される。例えば、Ｌ３は、第１の移動動作部３の接地部と第２の移動動作部４の接地部との間の距離に一致もしくはほぼ一致するように設定される。
【０２０５】
また、Ｖb_estm1_xが正の場合、すなわち前への移動である場合、Ｖb_estm1_xの大きさ（絶対値）が大きくなるに伴い、旋回中心が第２の移動動作部４の接地部側から、第１の移動動作部３の接地部側に近づいてくるように（ひいては、旋回中心のＸ軸方向の位置が、乗員搭乗部５に搭乗した乗員の直下の位置（乗員を床面に投影した位置）に近づいてくるように）Ｌ３が設定される。すなわち、Ｖb_estm1_xの大きさ（絶対値）が大きくなるに伴い、Ｌ３が小さくなっていくように設定される。ただし、Ｌ３は、既定の下限値（＞０）以上の距離に制限される。
【０２０６】
なお、Ｖb_estm1_xが負の場合、すなわち後ろへの移動である場合には、Ｌ３はＶb_estm1_xがゼロの場合の値と同一にするか、Ｖb_estm1_xの大きさ（絶対値）が大きくなるに伴い、Ｌ３が大きくなるように設定されることが好ましい。
【０２０７】
処理部８２は、このようにＶb_estm1_xに応じて決定した距離Ｌ３によって、Ｖw1a_yを除算することにより、目標旋回角速度ωz_cmd_gcを決定する。なお、ωz_cmd_gcは、Ｖw1a_yが左向きの速度である場合には、左周り（反時計周り）の角速度であり、Ｖw1a_yが右向きの速度である場合には、右周り（時計周り）の角速度である。
【０２０８】
次いで、第２制御処理部２５は、処理部８３の処理を実行する。処理部８３は、処理部８２で決定された目標旋回角速度ωz_cmd_gcに、第１の移動動作部３の接地部と第２の移動動作部４の接地部との間の既定の距離Ｌの（−１）倍の値（＝−Ｌ）を乗じることによって、目標旋回角速度ωz_cmd_gcで車両１の旋回行なった場合における第２の移動動作部４の、第１の移動動作部３に対するＹ軸方向の相対移動速度ΔＶw2_cmd_yを算出する。
【０２０９】
このように決定される第２の移動動作部４のＹ軸方向の相対移動速度ΔＶw2_cmd_yは、ωz_cmd_gc＝０である場合（旋回要求が無い場合）にはゼロとなる。また、ΔＶw2_cmd_yは、ωz_cmd_gcが左周りの旋回角速度である場合には、右向きの速度、ωz_cmd_gcが右周りの旋回角速度である場合には、左向きの速度である。従って、旋回要求がある場合のΔＶw2_cmd_yは、Ｖw1a_y又はＶb_estm1_yと逆向きの速度である。
【０２１０】
次いで、第２制御処理部２５は、処理部８４の処理を実行する。この処理部８４は、第２の移動動作部４のＹ軸方向の相対移動速度ΔＶw2_cmd_yを、第１制御処理部２４で決定された第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_y（最新値）に加えることにより、第２の移動動作部４のＹ軸方向の第２目標速度Ｖw2_cmd_yの基本値Ｖw2_cmda_y（最新値）を決定する。
【０２１１】
そして、第２制御処理部２５は、上記の如く決定した第２目標速度Ｖw2_cmd_xyに従って第２の移動動作部４の駆動装置としての電動モータ１７を制御する。より詳しくは、第２制御処理部２５は、第２目標速度Ｖw2_cmd_xyにより規定される電動モータ１７の回転速度Ｎｍ_cの目標値に、実際の回転速度Ｎｍ_c（計測値）を追従させるように、フィードバック制御処理により電動モータ１７の電流指令値を決定し、この電流指令値に従って、電動モータ１７の通電を行う。
【０２１２】
第２制御処理部２５の制御処理は、以上の如く実行される。これにより、第２の移動動作部４のＹ軸方向の第２目標速度Ｖw2_cmd_yは、基本的には、相対移動速度ΔＶw2_cmd_yを、第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_y（最新値）に加えた速度に決定される。
【０２１３】
車両系全体重心のＹ軸方向の移動速度の推定値Ｖb_estm1_yの絶対値が十分に小さく、旋回要求が無いと判断される状況では、ΔＶw2_cmd_y＝０となるので、第２の移動動作部４のＹ軸方向の第２目標速度Ｖw2_cmd_yは、基本的には、第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_yと一致するように決定される。
【０２１４】
一方、車両系全体重心のＹ軸方向の移動速度の推定値Ｖb_estm1_yの絶対値が比較的大きく、旋回要求が有ると判断される状況では、ΔＶw2_cmd_yは、Ｖb_estm1_yと逆向きの速度に決定される。このため、第２の移動動作部４のＹ軸方向の第２目標速度Ｖw2_cmd_yは、基本的には、第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_yと同じ向きで、Ｖw1_cmd_yよりも小さい大きさの速度（ゼロもしくはゼロに近い速度）に決定されるか、又は第１の移動動作部３のＹ軸方向の第１目標速度Ｖw1_cmd_yと逆向きの速度に決定される。
【０２１５】
以上説明した本実施形態の車両１では、乗員搭乗部５に搭乗した乗員の身体の動きに伴う基体２の前後方向（Ｘ軸方向）の傾動に応じて出力される前進・後進指令に応じてＸ軸方向での車両１の並進移動を行うことができる。
【０２１６】
以上で具体的実施形態の説明を終えるが、本発明は上記実施形態に限定されることなく幅広く変形実施することができる。例えば、車両１に対する操作指令を乗員の重心移動だけで行うのではなく、車両１がジョイスティック等の操作部材を備えていてもよい。また、車両１は旋回走行を円滑に行うために第２の移動動作部４を備えているが、第２の移動動作部４を備えていない構成であってもよい。また、上記実施形態では、Ｘ軸方向及びＹ方向の両方向について通知用傾斜指令Ｍ_xyを設定し、更に両方向について傾斜振動指令Ｍ1_xy及び通知傾斜角度指令Ｍ2_xyを設定し、それぞれ目標傾斜指令Ｍ_cmd_xyに重畳させているが、どちらか一方のみとする形態や、Ｘ軸方向の車両１の状態情報が所定の自立制御適応範囲Ｒを外れた場合に、Ｙ軸方向の通知用傾斜指令Ｍ_yを設定してＹ軸方向の目標傾斜指令Ｍ_cmd_xyに重畳させる形態、その逆にＹ軸方向の車両１の状態情報が所定の自立制御適応範囲Ｒを外れた場合に、Ｘ軸方向の通知用傾斜指令Ｍ_xを設定してＸ軸方向の目標傾斜指令Ｍ_cmd_xyに重畳させる形態なども可能である。更に、Ｘ軸方向やＹ軸方向の車両１の状態情報が所定の自立制御適応範囲Ｒを外れた場合に、ヨー軸まわり方向の通知用傾斜指令Ｍ_yとして設定し、目標旋回角速度ωz_cmd_gcに重畳させる形態としてもよい。但し、この場合、通知用傾斜指令Ｍのうちヨー軸まわり方向の傾斜振動指令Ｍ1は設定しても構わないが、ヨー軸まわり方向の通知傾斜角度指令は転倒を招く虞があるため好ましくない。この他、各部材や部位の具体的構成や配置、数量、角度等の数値、具体的制御態様などは、本発明の趣旨を逸脱しない範囲であれば適宜変更可能である。一方、上記実施形態に示した車両１の制御装置２０の各構成や要素は全てが必須ではなく、適宜選択することができる。
【符号の説明】
【０２１７】
１      車両（倒立振子型車両）
２      基体
３      第１の移動動作部
２０    制御装置
２４    第１制御処理部
３４    姿勢制御演算部
７０    加速度センサ
７１    角速度センサ（状態情報取得手段）
７２ａ、７２ｂ  回転速度センサ（状態情報取得手段）
７２ｂ  回転速度センサ（状態情報取得手段）
７３    回転速度センサ（状態情報取得手段）
ＤＤ_x  減速目標速度（基体の傾斜角度に対応する量）
DVw1_cmd_xy  目標並進加速度（基体２の目標傾斜指令に応じた量）
Ｍ_xy  通知用傾斜指令
Ｍ1_xy  傾斜振動指令
Ｍ2_xy  通知傾斜角度指令
Ｍ_cmd_xy  目標傾斜指令
Ｒ      自立制御適応範囲
Ｖb_estm1_xy  車両系全体重心の速度の推定値
Ｖb_cmpn_cmd_xy  補償後重心目標速度
θb_act_xy  基体２の実際の傾斜角度
Ｎｍ_xy  電動モータの回転速度
【図１】
2016088321.tif 000003
【図２】
2016088321.tif 000004
【図３】
2016088321.tif 000005
【図４】
2016088321.tif 000006
【図５】
2016088321.tif 000007
【図６】
2016088321.tif 000008
【図７】
2016088321.tif 000009
【図８】
2016088321.tif 000010
【図９】
2016088321.tif 000011
【図１０】
2016088321.tif 000012
【図１１】
2016088321.tif 000013
【図１２】
2016088321.tif 000014
【図１３】
2016088321.tif 000015
【図１４】
2016088321.tif 000016
【図１５】
2016088321.tif 000017
【図１６】
2016088321.tif 000018
【図１７】
2016088321.tif 000019