(57)【要約】【課題】  車体の姿勢ロール角が急激に変化する場合にも、車体の姿勢を安定して制御する。【解決手段】  車輪型移動体は、車輪を駆動することで路面を移動する。この車輪型移動体は、車軸周りに回転可能とされると共に、車軸方向に間隔を空けて配置された少なくとも２つの車輪と、車輪を駆動する車輪駆動装置と、車輪を回転可能に支持すると共に、ロール軸周りに回転可能とされた車体と、車体のロール軸周りの姿勢ロール角を調整するアクチュエータと、車輪駆動装置とアクチュエータを制御する制御装置と、を備えている。制御装置は、車輪型移動体のＺＭＰ（ゼロ・モーメント・ポイント）が予め設定された設定範囲内に位置するように車体の姿勢ロール角加速度を考慮して算出される目標姿勢ロール角に基づいて、アクチュエータを制御する。【選択図】図４
2015054678.tif 000002
【特許請求の範囲】
【請求項１】
車輪を駆動することで路面を移動する車輪型移動体であって、
車軸周りに回転可能とされると共に、車軸方向に間隔を空けて配置された少なくとも２つの車輪と、
車輪を駆動する車輪駆動装置と、
車輪を回転可能に支持すると共に、ロール軸周りに回転可能とされた車体と、
車体のロール軸周りの姿勢ロール角を調整するアクチュエータと、
車輪駆動装置とアクチュエータを制御する制御装置と、を備えており、
制御装置は、車輪型移動体のＺＭＰ（ゼロ・モーメント・ポイント）が予め設定された設定範囲内に位置するように車体の姿勢ロール角加速度を考慮して算出される目標姿勢ロール角に基づいて、アクチュエータを制御する、車輪型移動体。
【請求項２】
制御装置は、車輪型移動体のＺＭＰが設定範囲に位置するように車体の姿勢ロール角加速度を考慮して算出される、車輪型移動体の求心方向の目標求心加速度に少なくとも基づいて、車輪駆動装置を制御する、請求項１に記載の車輪型移動体。
【請求項３】
制御装置は、目標姿勢ロール角と、該目標姿勢ロール角の２階微分値である目標姿勢ロール角加速度と、車輪型移動体の進行方向の目標速度と、車輪型移動体の旋回方向の目標角速度から計算されるＺＭＰが前記設定範囲内に位置するように算出される目標姿勢ロール角及び目標求心加速度に基づいて、アクチュエータ及び車輪駆動装置を制御する、請求項１又は２に記載の車輪型移動体。
【請求項４】
制御装置は、目標姿勢ロール角と、該目標姿勢ロール角の２階微分値である目標姿勢ロール角加速度と、車輪型移動体の進行方向の目標速度と、車輪型移動体の目標操舵角から計算されるＺＭＰが前記設定範囲内に位置するように算出される目標姿勢ロール角及び目標求心加速度に基づいて、アクチュエータ及び車輪駆動装置を制御する、請求項１又は２に記載の車輪型移動体。
【請求項５】
制御装置は、車輪型移動体及びその制御器のモデルを用いたモデル予測制御に基づいて算出される目標姿勢ロール角に基づいて、アクチュエータを制御する、請求項１〜４のいずれか一項に記載の車輪型移動体。
【請求項６】
車輪型移動体は、車体の重心が車軸よりも高い位置にある倒立振子型の移動体である、請求項１〜５のいずれか一項に記載の車輪型移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、車輪を駆動することで路面を移動する車輪型移動体に関する。
【背景技術】
【０００２】
特許文献１には、車体のロール軸周りの姿勢ロール角を制御することで、旋回時における車体の姿勢を安定化する技術が開示されている。この技術では、車体の重心に働く遠心力及び重力の合成ベクトルの延長線と車輪の接地面との交点の位置を、左右の車輪の間の領域に維持するように車体の姿勢ロール角を制御している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１３６９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１の技術では、車体の姿勢ロール角が急激に変化しないことを前提とし、車体の姿勢ロール角加速度が０であるとして車体の姿勢ロール角を制御している。しかしながら、急旋回動作にともなって車体の姿勢ロール角が急激に変化する場合は、車体の姿勢ロール角加速度が無視できない大きさとなる。その結果、車体の姿勢安定性が低下し、姿勢ロール角加速度の大きさによっては車体が転倒するという事態が生じ得る。本明細書は、急旋回動作する場合にも、車体の姿勢を安定して制御することができる技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書に開示する車輪型移動体は、車輪を駆動することで路面を移動する。この車輪型移動体は、車軸周りに回転可能とされると共に、車軸方向に間隔を空けて配置された少なくとも２つの車輪と、車輪を駆動する車輪駆動装置と、車輪を回転可能に支持すると共に、ロール軸周りに回転可能とされた車体と、車体のロール軸周りの姿勢ロール角を調整するアクチュエータと、車輪駆動装置とアクチュエータを制御する制御装置と、を備えている。制御装置は、車輪型移動体のＺＭＰ（ゼロ・モーメント・ポイント）が予め設定された設定範囲内に位置するように車体の姿勢ロール角加速度を考慮して算出される目標姿勢ロール角に基づいて、アクチュエータを制御する。
【０００６】
上記の車輪型移動体は、車輪型移動体のＺＭＰが予め設定された設定範囲内に位置するように、車体の姿勢ロール角加速度を考慮して目標姿勢ロール角が算出される。そして、その算出された目標姿勢ロール角に基づいてアクチュエータが駆動され、車体の姿勢ロール角が制御される。このため、車輪型移動体が急旋回する等して車体の姿勢ロール角が急激に変化する場合であっても、その姿勢ロール角の変化（姿勢ロール角加速度）が考慮されて目標姿勢ロール角が算出される。その結果、車輪型移動体のＺＭＰが設定範囲内に安定して制御することができ、車体の姿勢を安定して制御することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例に係る車両の構成を模式的に示す正面図。
【図２】図１に示す車両の側面図。
【図３】実施例に係る制御系の構成を示すブロック図。
【図４】制御系の機能を示すブロック図。
【図５】車両の制御モデルを示すモデル図（車両が旋回している状態）。
【図６】実施例に係る車両の数値シミュレーションの一例を示す図であり、時間とＺＭＰの関係を示す図。
【図７】実施例に係る車両の数値シミュレーションの一例を示す図であり、時間とロール角の関係を示す図。
【図８】実施例に係る車両の数値シミュレーションの一例を示す図であり、時間と旋回角速度の関係を示す図。
【発明を実施するための形態】
【０００８】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
【０００９】
（特徴１）  本明細書に開示する車輪型移動体では、制御装置は、車輪型移動体のＺＭＰが設定範囲に位置するように車体の姿勢ロール角加速度を考慮して算出される、車輪型移動体の求心方向の目標求心加速度に少なくとも基づいて、車輪駆動装置を制御してもよい。このような構成によると、ＺＭＰが設定範囲内となるように、車輪型移動体の求心方向の目標加速度が制御される（すなわち、車輪型移動体の旋回速度が制御される）。このため、車体の姿勢をより安定して制御することができる。
【００１０】
（特徴２）  本明細書に開示する車輪型移動体では、制御装置は、目標姿勢ロール角と、該目標姿勢ロール角の２階微分値である目標姿勢ロール角加速度と、車輪型移動体の進行方向の目標速度と、車輪型移動体の旋回方向の目標角速度から計算されるＺＭＰが設定範囲内に位置するように算出される目標姿勢ロール角及び目標求心加速度に基づいて、アクチュエータ及び車輪駆動装置を制御してもよい。このような構成によると、車体の姿勢をより安定して制御することができる。なお、ＺＭＰは、車輪型移動体の進行方向の目標速度と、車輪型移動体の目標操舵角から計算されてもよい。
【００１１】
（特徴３）  本明細書に開示する車輪型移動体では、制御装置は、車輪型移動体及びその制御器のモデルを用いたモデル予測制御に基づいて算出される目標姿勢ロール角に基づいて、アクチュエータを制御してもよい。このような構成によると、車体の姿勢ロール角が精度よく予測することができ、車体の姿勢をより安定して制御することができる。
【００１２】
（特徴４）  本明細書に開示する車輪型移動体は、車体の重心が車軸よりも高い位置にある倒立振子型の移動体としてもよい。
【実施例１】
【００１３】
本実施例について、図面を参照しながら説明する。図１，２に示すように、車両１００は、倒立２輪型の移動体であり、左右の車輪１２ａ，１２ｂが取付けられた車体１０を備えている。なお、本実施例は、車体１０のロール角制御に特徴があり、その他の構成（例えば、倒立二輪制御（車体１０の進行方向（車軸１３ａ，１３ｂと直交する方向）の速度制御）、旋回角速度制御（車体１０の旋回方向の角速度制御）等）は、従来技術と同様に構成することができる。このため、以下の説明では、車体１０のロール角制御に関係する構成を主に説明し、それ以外の構成については適宜説明を省略する。
【００１４】
車輪１２ａ，１２ｂは、車体１０の側面に回転可能に取付けられている。具体的には、車輪１２ａ，１２ｂは、車軸１３ａ，１３ｂの先端に取付けられている。車軸１３ａ，１３ｂは、同軸上に配置されており、車体１０の車幅方向と平行に伸び、車体１０に回転可能に支持されている。車軸１３ａ，１３ｂの先端に車輪１２ａ，１２ｂが取付けられることから、車輪１２ａ，１２ｂは車軸１３ａ，１３ｂが伸びる方向（車幅方向）に間隔を空けて配置されている。各車輪１２ａ，１２ｂは、モータ１４ａ，１４ｂ（車輪駆動装置の一例）により独立して駆動される。車輪１２ａ，１２ｂを駆動することで、車両１００は倒立状態を維持しながら走行面Ｒを走行する。また、各車輪１２ａ，１２ｂの回転速度を変えることで、車両１００は左右に旋回することができる。各車輪１２ａ，１２ｂの回転角は、エンコーダ１５ａ，１５ｂ（図３に図示）によって検出される。エンコーダ１５ａ，１５ｂで検出された各車輪１２ａ，１２ｂの回転角は、制御装置２０（図３に図示）に入力される。
【００１５】
車体１０は、上述したように車軸１３ａ，１３ｂに対して回転可能となっている。すなわち、車軸１３ａ，１３ｂはピッチ軸であり、車体１０は車軸１３ａ，１３ｂ（ピッチ軸）周りに回転可能となっている。車体１０の重心Ｇは車軸１３ａ，１３ｂより高い位置にあり、車両１００は倒立２輪型の移動体となっている。また、車体１０は、ロール軸周りに回転可能となっている。ロール軸は、車軸１３ａ，１３ｂに直交しており、車体１０の車幅方向の略中央を通過している。車体１０には、車体１０のピッチ角速度及びロール角速度を検出するジャイロセンサ（姿勢角センサ）１６と、車体１０のロール角度を制御するためのアクチュエータ（ロール制御アクチュエータ）１８と、モータ１４ａ，１４ｂ及びアクチュエータ１８を制御する制御装置２０（図３に図示）を備えている。
【００１６】
ジャイロセンサ１６は、車体１０の車軸１０（ピッチ軸）周りの角速度（ピッチ角速度）と、車体１０のロール軸周りの角速度（ロール角速度）を検出する２軸のジャイロセンサである。図３に示すように、ジャイロセンサ１６は、制御装置２０に電気的に接続されている。ジャイロセンサ１６から出力されるピッチ角速度信号とロール角速度信号は、制御装置２０に入力される。
【００１７】
アクチュエータ１８は、車体１０のロール角度を調整するための装置である。アクチュエータ１８は、車体１０に対してロール軸周りのトルクτを付与する。図３に示すように、アクチュエータ１８は、制御装置２０に電気的に接続されている。制御装置２０から出力される制御指令値に基づいてアクチュエータ１８は、ロール軸周りにトルクτを発生する。アクチュエータ１８には、例えば、ギア付きサーボモータを用いることができる。制御装置は、ジャイロセンサ（姿勢角センサ）１６により入力される車体１０のロール角に応じてアクチュエータ１８を制御することで、車体１０のロール角を制御する。これによって、旋回時の走行安定性の向上が図られている。
【００１８】
制御装置２０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等を備えたコンピュータによって構成されている。制御装置２０は、車体１０に設置されている。制御装置２０は、ジャイロセンサ１６とアクチュエータ１８とモータ１４ａ，１４ｂとエンコーダ１５ａ，１５ｂに電気的に接続されている。制御装置２０がモータ１４ａ，１４ｂを駆動することで、車両１００が倒立状態を維持しながら走行面Ｒを走行し、また、制御装置２０がアクチュエータ１８を駆動することで、車体１０のロール軸周りの姿勢角（ロール角）が制御される。以下、制御装置２０について詳細に説明する。
【００１９】
図４に示すように、制御装置２０は、その機能として、乗算部２２と、モデル予測制御部２４と、指令値計算部２６と、倒立二輪制御部１００ａと、旋回角速度制御部１００ｂと、ロール姿勢角制御部１００ｃを備えている。
【００２０】
乗算部２２は、車両１００に与えられる進行方向速度指令値ｖｆｒｅｆと、旋回方向角速度指令値ωｆｒｅｆとを乗算することで、車両１００の求心加速度指令値ａｆｒｅｆを算出する。すなわち、本実施例において、車両１００の目標運動軌跡は、車両１００の進行方向（車軸１３ａ，１３ｂに直交する方向）の速度指令値ｖｆｒｅｆと、旋回方向角速度指令値ωｆｒｅｆによって与えられる。乗算部２２は、これらの値を乗算することで求心加速度指令値ａｆｒｅｆ（＝ｖｆｒｅｆ・ωｆｒｅｆ）を算出する。乗算部２２によって求心加速度指令値ａｆｒｅｆに変換することで、後述するモデル予測制御部２４における取扱いを容易としている。
【００２１】
モデル予測制御部２４は、乗算部２２から入力される求心加速度指令値ａｆｒｅｆに基づいて、車両１００のＺＭＰの軌跡を予測し、予測されるＺＭＰが予め設定された設定範囲（後述する）内に位置するように、車両１００の修正求心加速度指令値ａｒｅｆと車体１０のロール角指令値θｒｏｌｌｒｅｆを算出する。モデル予測制御部２４はＺＭＰの未来の軌跡を予測するために、車両１００の運動モデルが利用される。運動モデルを用いることで、車体１０のロール角加速度を考慮して、ＺＭＰの軌跡が算出される。なお、モデル予測制御部２４の詳細な構成は、後で詳述する。
【００２２】
指令計算部２６は、モデル予測制御部２４で算出された修正求心加速度指令値ａｒｅｆに基づいて、修正進行方向速度指令値ｖｒｅｆと修正旋回方向角速度指令値ωｒｅｆとを算出する。すなわち、求心加速度指令値ａは、進行方向速度指令値ｖと旋回方向角加速度指令値ωとの積となる。このため、指令計算部２６は、モデル予測制御部２４で算出された修正求心加速度指令値ａｒｅｆを、修正進行方向速度指令値ｖｒｅｆと修正旋回方向角速度指令値ωｒｅｆに変換する。例えば、修正進行方向速度指令値ｖｒｅｆ＝進行方向速度指令値ｖｆｒｅｆとするならば、修正旋回方向角速度指令値ωｒｅｆ＝修正求心加速度指令値ａｒｅｆ／修正進行方向速度指令値ｖｒｅｆとなる。なお、修正求心加速度指令値ａｒｅｆの大きさに応じて、修正進行方向速度指令値ｖｒｅｆを進行方向速度指令値ｖｆｒｅｆと異なる値としてもよい。なお、上述した例では、求心加速度指令値ａから進行方向速度指令値ｖと旋回方向角加速度指令値ωを算出したが、このような例に限られない。すなわち、求心加速度指令値は進行方向速度指令値と目標操舵角からも算出することができるため、求心加速度指令値ａから進行方向速度指令値ｖと目標操舵角を算出してもよい。
【００２３】
倒立二輪制御部１００ａは、指令計算部２６で算出された修正進行方向速度指令値ｖｒｅｆに基づいてモータ１４ａ，１４ｂを駆動することで、車体１０の倒立状態を維持しながら車両１００の進行方向の速度を制御する。具体的には、倒立二輪制御部１００ａには、エンコーダ１５ａ，１５ｂから車輪１２ａ，１２ｂの回転角が入力され、また、ジャイロセンサ１６から車体１０のピッチ軸周りの角速度が入力される。したがって、これらフィードバックされる状態量と、指令計算部２６で算出された修正進行方向速度指令値ｖｒｅｆとに基づいてモータ１４ａ，１４ｂを駆動する。これによって、車体１０が倒立状態を維持し、かつ、進行方向に所望の速度で運動する。なお、倒立二輪制御部１００ａの具体的な構成は、従来公知の制御構成（状態フィードバック制御、Ｈ∞制御、ＰＩＤ制御等）を適宜採用することができる。このため、倒立二輪制御部１００ａの詳細な説明は省略する。
【００２４】
旋回角速度制御部１００ｂは、指令計算部２６で算出された修正旋回方向角速度指令値ωｒｅｆに基づいてモータ１４ａ，１４ｂを駆動することで、車体１０の旋回方向の速度を制御する。具体的には、旋回角速度制御部１００ｂには、エンコーダ１５ａ，１５ｂから車輪１２ａ，１２ｂの回転角が入力される。したがって、このフィードバックされる状態量と、指令計算部２６で算出された修正旋回方向角速度指令値ωｒｅｆとに基づいてモータ１４ａ，１４ｂを駆動する。これによって、車体１０が所望の旋回角速度で旋回する。なお、旋回角速度制御部１００ｂの具体的な構成は、従来公知の制御構成（例えば、ＰＩＤ制御、状態フィードバック制御等）を適宜採用することができる。このため、旋回角速度制御部１００ｂの詳細な説明は省略する。
【００２５】
ロール姿勢角制御部１００ｃは、モデル予測制御部で算出されたロール角指令値θｒｏｌｌｒｅｆに基づいてアクチュエータ１８を駆動することで、車体１０の姿勢（ロール角）を制御する。具体的には、ロール姿勢角制御部１００ｃには、ジャイロセンサ１６から車体１０のロール軸周りの角速度が入力される。したがって、このフィードバックされる状態量と、モデル予測制御部で算出されたロール角指令値θｒｏｌｌｒｅｆに基づいてアクチュエータ１８を駆動する。これによって、車体１０の姿勢（ロール角）が所望のロール角に制御される。このため、車体１０が旋回運動を行う際は、その旋回運動と連動して車体１０のロール角が制御されるため、車両１００は安定して旋回運動を行うことができる。なお、ロール姿勢角制御部１００ｃの具体的な構成は、従来公知の制御構成（例えば、状態フィードバック制御、ＰＩＤ制御等）を適宜採用することができる。このため、ロール姿勢角制御部１００ｃの詳細な説明は省略する。
【００２６】
次に、モデル予測制御部２４について詳細に説明する。モデル予測制御部２４は、車両１００のロール軸周りの運動モデルを用いて、車両１００のＺＭＰ（ゼロ・モーメント・ポイント）を予測し、その予測されるＺＭＰが設定範囲内に位置するように、車両１００の修正求心加速度指令値ａｒｅｆと車体１０のロール角指令値θｒｏｌｌｒｅｆを算出する。まず、運動モデルからＺＭＰ軌道を導出する手順を説明し、次いで、導出されたＺＭＰ軌道を用いて予測モデルを設計する手順を説明し、最後に、予測モデルを用いて修正求心加速度指令値ａｒｅｆとロール角指令値θｒｏｌｌｒｅｆを算出する手順について説明する。
【００２７】
（１）運動モデルからＺＭＰ方程式の導出
図５は、車両１００のロール軸周りの運動モデルを示している。図５において、ロール軸を通る垂線と走行面Ｒとの交点を原点［０，０］とし、ＺＭＰの座標をｑ＝［ｑｙ、ｑｚ］、車体１０の重心の座標をｐ＝［ｐｙ，ｐｚ］とする。また、ｈは重心とロール中心との距離であり、ｒは車輪１２ａ，１２ｂの半径である。また、車体１０の重量をＭ、慣性モーメントをＪとしている。上記のモデルからＺＭＰ方程式をたてると、次の式（１）となる。
【００２８】
【数１】
2015054678.tif 000003
【００２９】
ここで、ｆｚは走行面Ｒからの反力ｆの垂直方向（ｚ方向）の成分であり、ｆｙは反力ｆの水平方向（ｙ方向）の成分である。一方、車両１００が旋回走行しているときのｐｙ，ｐｚ，ｑｚ，ｆｙ，ｆｚは、次の式（２）で与えられる。なお、式（２）においてａは、車両１００の求心加速度である。
【００３０】
【数２】
2015054678.tif 000004
【００３１】
これらの値を式（１）に代入し、ＺＭＰのｙ座標（ｑｙ）について解くと、次の式（３）となる。
【００３２】
【数３】
2015054678.tif 000005
【００３３】
ここで、θｒｏｌｌ≪１であるため、ｓｉｎθｒｏｌｌ＝θｒｏｌｌとし、ｃｏｓθｒｏｌｌ＝１とみなすと、次の式（４）となる。
【００３４】
【数４】
2015054678.tif 000006
【００３５】
さらに、ｈ・（ｄ２θｒｏｌｌ／ｄｔ２）・θｒｏｌｌはｇより極めて小さいため、ｇ−ｈ・（ｄ２θｒｏｌｌ／ｄｔ２）・θｒｏｌｌをｇとみなすと、式（４）は次の式（５）となる。
【００３６】
【数５】
2015054678.tif 000007
【００３７】
上記の式（５）をθｒｏｌｌとａと（ｄ２θｒｏｌｌ／ｄｔ２）について整理すると、次の式（６）となる。
【００３８】
【数６】
2015054678.tif 000008
【００３９】
式（６）から明らかなように、ＺＭＰのｙ座標（ｑｙ）は線形な方程式で表される。また、ＺＭＰのｙ座標（ｑｙ）は、ロール角θｒｏｌｌと、ロール角θｒｏｌｌの２階微分値であるロール角加速度（ｄ２θｒｏｌｌ／ｄｔ２）と、求心加速度ａを用いて算出することができる。なお、本実施例において、設定範囲（ＺＭＰの位置が制御される範囲）は、例えば、左右の車輪１２ａ，１２ｂの間の範囲（すなわち、［−ｗ／２，０］から［ｗ／２，０］のトレッド幅の範囲）とすることができる。また、所望の安定余裕性を確保するために、左右の車輪１２ａ，１２ｂの間の範囲（すなわち、［−ｗ／２，０］から［ｗ／２，０］の範囲）内で適宜狭く設定してもよい（例えば、［−ｋ・ｗ／２，０］から［ｋ・ｗ／２，０］（ｋは１未満の正数））。
【００４０】
（２）予測モデルの設計
次に、モデル予測制御部２４でＺＭＰの軌道（座標値ｑｙ）を予測するために用いられる予測モデルについて説明する。予測モデルは、ロール角指令値と求心加速度指令値が入力され、ＺＭＰの軌道（ｚ座標値ｑｙ）と求心加速度ａを出力する。すなわち、本実施例のモデル予測制御部２４は、既に説明したように、求心加速度指令値ａｆｒｅｆが入力され、修正求心加速度指令値ａｒｅｆとロール角指令値θｒｏｌｌｒｅｆを出力する。このため、予測モデルに対しては、求心加速度指令値ａｒｅｆとロール角指令値θｒｏｌｌｒｅｆが入力され、これらに応じてＺＭＰの軌道（ｚ座標値ｑｙ）と求心加速度ａが出力されなければならない。そこで、本実施例では、ロール角制御系モデルをベースとして予測モデルを構築する。
【００４１】
ここで、ロール角指令値θｒｏｌｌｒｅｆからロール姿勢角θｒｏｌｌまでの伝達関数が次の式（７）で設計されているとする。なお、式（７）は３次系の伝達関数であったが、これ以外の伝達関数を用いてもよい。
【００４２】
【数７】
2015054678.tif 000009
【００４３】
式（７）から状態方程式を求めると、次の式（８）となる。
【００４４】
【数８】
2015054678.tif 000010
【００４５】
式（８）を離散化すると、次の式（９）が得られる。
【００４６】
【数９】
2015054678.tif 000011
【００４７】
ここで、求心加速度ａの応答性が優れているとすると、求心加速度指令値ａｒｅｆと求心加速度ａの関係は、１ステップ遅れと同等とみなすことができる。すなわち、次の式（１０）に示す関係が成立する。式（１０）の関係を導入することによって、予測モデルの状態量を少なく設計することが可能となる。なお、求心加速度指令値ａｒｅｆと求心加速度ａの関係は、式（７）のような高次の伝達関数で表してもよい。
【００４８】
【数１０】
2015054678.tif 000012
【００４９】
式（１０）を式（９）に代入すると、次の式（１１）が得られる。
【００５０】
【数１１】
2015054678.tif 000013
【００５１】
以下の数式展開を簡単に示すために、式（１１）を次の式（１２）に示すように再定義する。
【００５２】
【数１２】
2015054678.tif 000014
【００５３】
以上より、式（１１）の状態方程式に対して、次の式（１３）に示す出力方程式を与えれば、ＺＭＰの軌道（ｑｙ）と求心加速度（ａ）を制御量とすることができる。
【００５４】
【数１３】
2015054678.tif 000015
【００５５】
（３）予測モデルを用いた指令値ａｒｅｆ，θｒｏｌｌｒｅｆの算出手順
上述のように予測モデルが設計されると、この予測モデルを用いて制御指令値ａｒｅｆ，θｒｏｌｌｒｅｆを算出しなければならない。本実施例では、予測モデルによって予測されるＺＭＰの軌道が設定範囲内となるように、修正求心加速度指令値ａｒｅｆとロール角指令値θｒｏｌｌｒｅｆを算出する。したがって、予測モデルを用いた状態量（ＺＭＰ軌道（ｑｙ））の予測方法を説明し、次いで、予測される状態量から制御指令値ａｒｅｆ，θｒｏｌｌｒｅｆを算出する手順について説明する。
【００５６】
（３−１）予測モデルを用いた状態量の予測
いま、ｘ＾ｍｐｃ［ｋ＋ｎ｜ｋ］をｋステップ目に予測したｋ＋ｎステップ目の状態量、ｕ＾［ｋ＋ｎ｜ｋ］をｋステップ目に導出するｋ＋ｎステップ目の制御入力とすると、ｋステップ目に予測するｋ＋１からｋ＋Ｎｐステップの状態量は、次の式（１４）で表される。
【００５７】
【数１４】
2015054678.tif 000016
【００５８】
ただし、制御入力はＮｕステップだけ導出し、それ以降は一定値を取ると仮定すると（すなわち、Ｎｕステップが経過すると定常状態となると仮定すると）、ＮｕステップからＮｐ−１までの制御入力は、次の式（１５）で表される。
【００５９】
【数１５】
2015054678.tif 000017
【００６０】
また、モデル予測制御では、制御入力の不連続性を抑制するために、通常、制御入力の変化量Δｕ［ｋ］＝ｕ［ｋ］−ｕ［ｋ−１］を制御入力とみなす。このため、ｕ＾［ｋ＋ｉ｜ｋ］（ｉ＝０，１，２，・・・，Ｎｕ−１）は、次の式（１６）で表される。
【００６１】
【数１６】
2015054678.tif 000018
【００６２】
式（１４）に、上記の式（１５），（１６）を代入して整理すると、次の式（１７）が得られる。
【００６３】
【数１７】
2015054678.tif 000019
【００６４】
よって、制御量ｙのＮｐステップ分の予測値は、次の式（１８）で与えられる。
【００６５】
【数１８】
2015054678.tif 000020
【００６６】
そして、式（１７）と式（１８）を統合すると、次の式（１９）が得られる。
【００６７】
【数１９】
2015054678.tif 000021
【００６８】
ここで、上記式（１９）中のＹ［ｋ］とΔＵ［ｋ］は、次の式（２０）で与えられる。なお、上記のＮｐ，Ｎｕは、車両１００の制御性と制御装置２０の演算負荷を考慮して適宜設定することができる。
【００６９】
【数２０】
2015054678.tif 000022
【００７０】
（３−２）評価関数及び不等式条件
本実施例では、上述のように予測される状態量を用いて制御指令値ａｒｅｆ，θｒｏｌｌｒｅｆを算出する際に、次の事項を考慮する。すなわち、
（１）定常状態でＺＭＰ軌道が０に収束すること（図５の原点［０，０］に収束すること）、
（２）過渡状態でＺＭＰ軌道が設定範囲内に収まること、
（３）求心加速度が定常状態で制御指令値に追従すること、
（４）ロール角指令値、旋回角速度指令値が不連続でないこと
である。上記の（１），（３），（４）は評価関数によって考慮され、上記の（２）は不等式条件によって考慮される。式（２１）は、評価関数の一例である。式（２１）において、重み行列Ｑ，Ｒは、ＺＭＰの０への収束性、求心加速度の制御指令値への追従性、ロール角指令値及び求心加速度指令値の不連続性を抑制するために適宜設定される。
【００７１】
【数２１】
2015054678.tif 000023
【００７２】
上記の式（２１）において、Ｒ［ｋ］は指令ベクトルであり、次の式（２２）で与えられる。
【００７３】
【数２２】
2015054678.tif 000024
【００７４】
また、式（２２）中のｒ［ｋ＋ｉ｜ｋ］（ｉ＝１，２，・・，Ｎｐ）はｉステップ目の指令ベクトルであり、次の式（２３）で表される。ここで、ａｆｒｅｆはｋステップ目で与えられる求心加速度指令値であり、評価関数ではＮｐステップ連続で同一の求心加速度指令値が与えられると仮定することができる。
【００７５】
【数２３】
2015054678.tif 000025
【００７６】
一方、不等式条件は、次の式（２４）によって与えられる。
【００７７】
【数２４】
2015054678.tif 000026
【００７８】
ここで、式（２４）中のＧは定数行列であり、以下のように導出することができる。すなわち、Ｙ［ｋ］に対する不等式条件は、次の式（２５）によって与えることができる。
【００７９】
【数２５】
2015054678.tif 000027
【００８０】
ここで、Ｙｍａｘは上限値（例えば、図５において車輪１２ａの位置［ｗ／２，０］）であり、Ｙｍｉｎは下限値（例えば、図５において車輪１２ｂの位置［−ｗ／２，０］）である。式（２５）を変形すると、次の式（２６）を得る。
【００８１】
【数２６】
2015054678.tif 000028
【００８２】
式（２４）と式（２６）を比較することで、式（２４）の定数行列Ｇを容易に導出することができる。また、Ｇの最終列をｇとしてＧ＝［Γ  ｇ］とし、式（２４）に式（１９）を代入すると、次の式（２７）を得ることができる。
【００８３】
【数２７】
2015054678.tif 000029
【００８４】
式（２７）は、ΔＵ［ｋ］に関する線形不等式制約となるため、式（２７）の不等式条件を満足しながら式（２１）の評価関数を最小化するΔＵ［ｋ］は、２次計画問題を解くことによって導出することができる。このように導出されたΔＵ［ｋ］はＮｐステップ分の制御入力であるため、最初の１ステップ分の制御入力を制御対象に与えるといったプロセルをサンプル周期毎に実行することとなる。
【００８５】
上述のように構成されるモデル予測制御部２４により、修正求心加速度指令値ａｒｅｆとロール角指令値θｒｏｌｌｒｅｆが出力される。そして、これらの制御指令値に基づいてモータ１４ａ，１４ｂ及びアクチュエータ１８が駆動されることで、車両１００のＺＭＰの軌道（ｚ座標値ｑｙ）が設定範囲内とすることができる。
【００８６】
次に、上述した制御装置２０によるロール角制御をシミュレーションした結果について説明する。シミュレーションでは、６．０［ｋｍ／ｈ］（＝１．６６７［ｍ／ｓ］）で直進走行している状態で、時刻ｔ＝４．０［ｓ］において旋回角速度指令値ωｆｒｅｆ（＝１．１７６［ｒａｄ／ｓ］（０．２Ｇ相当））を与えた。なお、ＹｍａｘとＹｍｉｎはそれぞれ＋０．０５［ｍ］と−０．０５［ｍ］とした。
【００８７】
図６〜８はシミュレーション結果を示しており、図６はＺＭＰの軌道ｑｙ、図７はロール角指令値θｒｏｌｌｒｅｆとロール角θｒｏｌｌを示し、図８は旋回角速度指令値ωｒｅｆと旋回角速度ωを示している。図６〜８から明らかなように、車両１００のＺＭＰが設定範囲内（すなわち、−０．０５〜０．０５［ｍ］）に位置するように維持されながら、ＺＭＰ軌道が速やかに０に収束すると共に、旋回角速度も速やかに指令値に収束している。以上の結果より、本実施例の車両１００では、車体１０の安定性を維持しながら、速やかな旋回動作が実行可能であることが確認できた。
【００８８】
上述した説明から明らかなように、本実施例の車両１００では、車体１０のロール軸周りの運動モデルに基づくモデル予測制御により制御指令値を算出するため、過渡期間におけるロール角の変化（姿勢ロール角加速度）が考慮されて制御指令値が算出される。その結果、車両１００の姿勢を安定して制御することができ、機敏な旋回動作を実現することができる。
【００８９】
以上、本実施例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
【００９０】
例えば、上述した実施例では倒立２輪型の移動体であったが、本明細書に開示する技術は、ロール方向の姿勢（ロール角）を制御するアクチュエータを有する車輪型の移動体であればよい。例えば、車輪の数は２輪に限られず、３輪又は４輪であってもよく、また、人が搭乗する移動体であってもよい。
【００９１】
また、上述した実施例では、左右の車輪１２ａ，１２ｂの駆動量を変化することで、車両１００に旋回動作をさせたが、本明細書に開示の技術は、このような例に限られない。例えば、駆動輪１２ａ，１２ｂとは別に操舵輪を備え、その操舵輪の操舵角を調整することで、車両１００に旋回動作を行わせてもよい。この場合は、例えば、操舵輪の操舵角を調整する操舵角調整装置をさらに備え、制御装置が操舵輪の操舵角が目標操舵角となるように操舵角調整装置を駆動してもよい。
【００９２】
また、上述した実施例では、アクチュエータ１８に流れる電流値に制約が課されない条件で制御装置２０を構成したが、本明細書に開示の技術は、アクチュエータ１８に流れる電流値が制約されるという条件下でも用いることができる。このような場合の制御装置（詳細には、モデル予測制御部）の構成の一例を説明する。
【００９３】
図５に示すロール軸周りの運動モデルにおいて、その運動方程式は次の式（２８）で表される。
【００９４】
【数２８】
2015054678.tif 000030
【００９５】
ここで、Ｊは重心周りの車体１０の慣性モーメント、Ｍは車体１０の重量、ｈはロール中心から重心までの距離、ｇは重力加速度、θｒｏｌｌはロール角、ｖは進行方向の車両１００の速度、ωは旋回角速度、τはアクチュエータ１８の出力トルクである。ここで、出力トルクτと、アクチュエータ１８の電流ｉとの間には、次の式（２９）の関係がある。
【００９６】
【数２９】
2015054678.tif 000031
【００９７】
ここで、ｎａｃｔは、アクチュエータ１８のギヤの減速比、ｋｔはトルク定数である。モータの回転子の慣性モーメントが小さく、かつ、減速比ｎａｃｔが大きくないと仮定すると、式（２８）と式（２９）によって、電流ｉは次の式（３０）のように表される。
【００９８】
【数３０】
2015054678.tif 000032
【００９９】
したがって、上述した実施例における式（１３）に電流ｉに関する式（３０）を加えると、式（３１）が導出される。これ以降は、式（１３）に代えて式（３０）を用いることで、アクチュエータ１８の電流ｉが制限されるときのモデル予測制御部を設計することができる。
【０１００】
【数３１】
2015054678.tif 000033
【０１０１】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０２】
１０    車体
１２ａ，１２ｂ  車輪
１３ａ，１３ｂ  車軸
１４ａ，１４ｂ  モータ
１５ａ，１５ｂ  エンコーダ
１６  ジャイロセンサ
１８  アクチュエータ
２０  制御装置
【図１】
2015054678.tif 000034
【図２】
2015054678.tif 000035
【図３】
2015054678.tif 000036
【図４】
2015054678.tif 000037
【図５】
2015054678.tif 000038
【図６】
2015054678.tif 000039
【図７】
2015054678.tif 000040
【図８】
2015054678.tif 000041