以下の順に説明を行う。
A.第1実施例:
A1.車両10の構成:
A2.車両10の制御の概要:
A3.車両10の制御の詳細:
A3-1.制御ブロック:
A3-2.操舵制御処理:
A3-3.傾斜制御処理:
A3-4.目標傾斜角:
B.第2実施例:
C.第3実施例(特定情報取得装置の他の実施例):
D.第4実施例:
E.変形例:
A.第1実施例:
A1.車両10の構成:
図1~図4は、一実施例としての車両10を示す説明図である。図1は、車両10の右側面図を示し、図2は、車両10の上面図を示し、図3は、車両10の下面図を示し、図4は、車両10の背面図を示している。図1~図4には、水平な地面GL(図1)上に配置され、傾斜していない状態の車両10が、示されている。図2~図4では、図1に示す車両10の構成のうちの一部分が図示され、他の部分の図示が省略されている。図1~図4には、6つの方向DF、DB、DU、DD、DR、DLが示されている。前方向DFは、車両10の車体90の前方向(すなわち、前進方向)であり、後方向DBは、前方向DFの反対方向である。上方向DUは、鉛直上方向であり、下方向DDは、上方向DUの反対方向である。右方向DRは、前方向DFに走行する車両10から見た右方向であり、左方向DLは、右方向DRの反対方向である。方向DF、DB、DR、DLは、いずれも、水平な方向である。右と左の方向DR、DLは、前方向DFに垂直である。
本実施例では、車両10は、一人乗り用の小型車両である。車両10(図1、図2)は、車体90と、前輪12Fと左後輪12Lと右後輪12Rとを有する三輪車である。前輪12Fは、回動輪の例であり、車両10の幅方向の中心に配置されている。回動輪は、車輪の進行方向が車両10の幅方向(すなわち、右方向DRに平行な方向)に回動可能であるように、車体90に支持されている車輪である。後輪12L、12Rは、駆動輪であり、車両10の幅方向の中心に対して対称に、互いに離れて配置されている。
車体90(図1)は、本体部20を有している。本体部20は、底部20bと、底部20bの前方向DF側に接続された前壁部20aと、底部20bの後方向DB側に接続された後壁部20cと、後壁部20cの上端から後方向DBに向かって延びる支持部20dと、を有している。本体部20は、例えば、金属製のフレームと、フレームに固定されたパネルと、を有している。
車体90は、さらに、底部20b上に固定された座席11と、座席11の前方向DF側に配置されたアクセルペダル45とブレーキペダル46と、底部20bに固定された制御装置100とバッテリ120と、前壁部20aの上方向DU側の端部に固定された前輪支持装置41と、前輪支持装置41に取り付けられたシフトスイッチ47とハンドル41aと、を有している。図示を省略するが、本体部20には、他の部材(例えば、屋根、前照灯など)が固定され得る。車体90は、本体部20に固定された部材を含んでいる。
シフトスイッチ47は、車両10の走行モードを選択するためのスイッチである。本実施例では、「ドライブ」と「ニュートラル」と「リバース」と「パーキング」との4つの走行モードから1つを選択可能である。「ドライブ」は、駆動輪12L、12Rの駆動によって前進するモードであり、「ニュートラル」は、駆動輪12L、12Rが回転自在であるモードであり、「リバース」は、駆動輪12L、12Rの駆動によって後退するモードであり、「パーキング」は、少なくとも1つの車輪(例えば、後輪12L、12R)が回転不能であるモードである。「ドライブ」と「ニュートラル」とは、通常は、車両10の前進時に利用される。
前輪支持装置41(図1)は、回動軸Ax1を中心に回動可能に前輪12Fを支持する装置である。前輪支持装置41は、前フォーク17と、軸受68と、操舵モータ65と、を有している。前フォーク17は、前輪12Fを回転可能に支持しており、例えば、サスペンション(コイルスプリングとショックアブソーバ)を内蔵したテレスコピックタイプのフォークである。軸受68は、本体部20(ここでは、前壁部20a)と、前フォーク17と、を連結している。軸受68は、回動軸Ax1を中心に、前フォーク17(ひいては、前輪12F)を、車体90に対して左右に回転可能に支持している。前フォーク17は、車体90に対して、回動軸Ax1を中心に、予め決められた角度範囲(例えば、180度未満の範囲)内で、回転可能であってよい。例えば、前フォーク17が、車体90に設けられた他の部材に接触することによって、角度範囲が制限されてよい。操舵モータ65は、電気モータであり、前フォーク17(ひいては、前輪12F)を幅方向に回転させるトルクを生成するように構成されている操舵駆動装置の例である。操舵モータ65は、図示しないロータとステータとを含んでいる。ロータとステータとのうち、一方は、前フォーク17に固定され、他方は、本体部20(ここでは、前壁部20a)に固定されている。
ハンドル41aは、左右に回転可能な部材である。所定の直進方向に対するハンドル41aの回転方向(右、または、左)は、ユーザの望む旋回方向を示している。予め決められた直進方向に対するハンドル41aの回転角度(以下、「ハンドル角」とも呼ぶ)の大きさは、ユーザの望む旋回の程度を示している。本実施例では、「ハンドル角=ゼロ」は、直進を示し、「ハンドル角>ゼロ」は、右旋回を示し、「ハンドル角<ゼロ」は、左旋回を示している。このように、ハンドル角の正負の符号は、旋回方向を示している。また、ハンドル角の絶対値は、旋回の程度を示している。このようなハンドル角は、旋回方向と旋回の程度とを表す操作量の例である。ハンドル41aは、操作量を入力するために操作されるように構成された操作入力部の例である。
なお、本実施例では、ハンドル41aには、ハンドル41aの回転軸に沿って延びる支持棒41axが固定されている。支持棒41axは、回転軸を中心に回転可能に前輪支持装置41に接続されている。
車輪角AF(図2)は、車体90に対する前輪12Fの方向を示す角度である。本実施例では、車輪角AFは、下方向DDを向いて車両10を見る場合に、車体90の前方向DFを基準とする、前輪12Fの進行方向D12の角度である。進行方向D12は、前輪12Fの回転軸Ax2に垂直な方向である。本実施例では、「AF=ゼロ」は、「方向D12=前方向DF」を示している。「AF>ゼロ」は、方向D12が右方向DR側を向いていることを示している(旋回方向=右方向DR)。「AF<ゼロ」は、方向D12が左方向DL側を向いていることを示している(旋回方向=左方向DL)。前輪12Fが操舵される場合、車輪角AFは、いわゆる操舵角に対応する。
操舵モータ65は、制御装置100(図1)によって制御される。以下、操舵モータ65によって生成されるトルクを、回動トルクとも呼ぶ。回動トルクが小さい場合、前輪12Fの方向D12がハンドル角とは独立に左右に回動することが許容される。操舵モータ65の制御の詳細については、後述する。
図1中の角度CAは、鉛直上方向DUと、回動軸Ax1に沿って鉛直上方向DU側へ向かう方向と、のなす角度を示している(キャスター角とも呼ばれる)。本実施例では、キャスター角CAがゼロよりも大きい。キャスター角CAがゼロよりも大きい場合、回動軸Ax1に沿って鉛直上方向DU側へ向かう方向は、斜め後ろに傾斜している。
また、図1に示すように、本実施例では、前輪支持装置41の回動軸Ax1と地面GLとの交点P2は、前輪12Fの地面GLとの接触中心P1よりも、前方向DF側に位置している。これらの点P1、P2の間の後方向DBの距離Ltは、トレールと呼ばれる。正のトレールLtは、接触中心P1が交点P2よりも後方向DB側に位置していることを示している。なお、図1、図3に示すように、接触中心P1は、前輪12Fと地面GLとの接触領域Ca1の重心である。接触領域の重心は、接触領域内に質量が均等に分布していると仮定する場合の重心の位置である。右後輪12Rと地面GLとの接触領域CaRの接触中心PbRと、左後輪12Lと地面GLとの接触領域CaLの接触中心PbLとも、同様に特定される。
2つの後輪12L、12R(図4)は、後輪支持部80に回転可能に支持されている。後輪支持部80は、リンク機構30と、リンク機構30の上部に固定されたリーンモータ25と、リンク機構30の上部に固定された第1支持部82と、リンク機構30の前部に固定された第2支持部83(図1)と、を有している。図1では、説明のために、リンク機構30と第1支持部82と第2支持部83のうちの右後輪12Rに隠れている部分も実線で示されている。図2では、説明のために、本体部20に隠れている後輪支持部80と後輪12L、12Rと後述する連結棒75とが、実線で示されている。図1~図3では、リンク機構30が簡略化して示されている。
第1支持部82(図4)は、後輪12L、12Rの上方向DU側において、右方向DRに平行に延びる板状の部分を含んでいる。第2支持部83(図1、図2)は、リンク機構30の前方向DF側の、左後輪12Lと右後輪12Rとの間に配置されている。
右後輪12R(図1)は、ホイール12Raと、ホイール12Raに装着されたタイヤ12Rbと、を有している。ホイール12Ra(図4)は、右駆動モータ51Rに接続されている。右駆動モータ51Rは、図示しないステータとロータとを有する電気モータである。ロータとステータとのうちの一方は、ホイール12Raに固定され、他方は、後輪支持部80に固定されている。右駆動モータ51Rの回転軸は、ホイール12Raの回転軸と同じであり、右方向DRに平行である。左後輪12Lのホイール12Laとタイヤ12Lbと左駆動モータ51Lとの構成は、右後輪12Rのホイール12Raとタイヤ12Rbと右駆動モータ51Rとの構成と、それぞれ同様である。これらの駆動モータ51L、51Rは、後輪12L、12Rを直接的に駆動するインホイールモータである。以下、左駆動モータ51Lと右駆動モータ51Rとの全体を、駆動システム51Sとも呼ぶ。図1、図4には、車体90が水平な地面GL上で傾斜せずに直立している状態(後述する傾斜角Tがゼロである状態)が、示されている。この状態で、左後輪12Lの回転軸ArL(図4)と右後輪12Rの回転軸ArRとは、同じ直線上に位置している。図1、図3に示すように、右後輪12Rの接触中心PbRと左後輪12Lの接触中心PbLとの間で、前方向DFの位置は、おおよそ同じである。
リンク機構30(図4)は、いわゆる、平行リンクである。リンク機構30は、右方向DRに向かって順番に並ぶ3つの縦リンク部材33L、21、33Rと、下方向DDに向かって順番に並ぶ2つの横リンク部材31U、31Dと、を有している。水平な地面GL上で車体90が傾斜せずに直立している場合、縦リンク部材33L、21、33Rは、鉛直方向に平行であり、横リンク部材31U、31Dは、水平方向に平行である。2つの縦リンク部材33L、33Rと、2つの横リンク部材31U、31Dとは、平行四辺形リンク機構を形成している。上横リンク部材31Uは、縦リンク部材33L、33Rの上端を連結している。下横リンク部材31Dは、縦リンク部材33L、33Rの下端を連結している。中縦リンク部材21は、横リンク部材31U、31Dの中央部分を連結している。これらのリンク部材33L、33R、31U、31D、21は、互いに回転可能に連結されており、回転軸は、車体90の前後方向に延びている(本実施例では、回転軸は、前方向DFに平行である)。互いに連結されたリンク部材は、予め決められた角度範囲(例えば、180度未満の範囲)内で、回転軸を中心に相対的に回転可能であってよい。例えば、一方のリンク部材の特定の部分が、他方のリンク部材の特定の部分に接触することによって、角度範囲が制限されてよい。左縦リンク部材33Lには、左駆動モータ51Lが固定されている。右縦リンク部材33Rには、右駆動モータ51Rが固定されている。中縦リンク部材21の上部には、第1支持部82と第2支持部83(図1)とが、固定されている。リンク部材33L、21、33R、31U、31Dと、支持部82、83とは、例えば、金属で形成されている。
本実施例では、リンク機構30は、複数のリンク部材を回転可能に連結するための軸受けを有している。例えば、軸受38は、下横リンク部材31Dと中縦リンク部材21とを回転可能に連結し、軸受39は、上横リンク部材31Uと中縦リンク部材21とを回転可能に連結している。説明を省略するが、複数のリンク部材を回転可能に連結している他の部分にも、軸受が設けられている。
リーンモータ25は、リンク機構30を駆動するように構成されている傾斜駆動装置の例であり、本実施例では、ステータとロータとを有する電気モータである。リーンモータ25のステータとロータのうちの一方は、中縦リンク部材21に固定され、他方は、上横リンク部材31Uに固定されている。リーンモータ25の回転軸は、軸受39の回転軸と同じであり、車両10の幅方向の中心に位置している。リーンモータ25のロータがステータに対して回転すると、上横リンク部材31Uが、中縦リンク部材21に対して、回転する。これにより、車両10が傾斜する。以下、リーンモータ25によって生成されるトルクを、傾斜トルクとも呼ぶ。傾斜トルクは、車体90の傾斜角を制御するためのトルクである。
図5(A)、図5(B)は、水平な地面GL上の車両10の状態を示す概略図である。図中には、車両10の簡略化された背面図が示されている。図5(A)は、車両10が直立している状態を示し、図5(B)は、車両10が傾斜している状態を示している。図5(A)に示すように、上横リンク部材31Uが中縦リンク部材21に対して直交する場合、全ての車輪12F、12L、12Rが、水平な地面GLに対して直立する。そして、車体90を含む車両10の全体は、地面GLに対して、直立する。図中の車体上方向DVUは、車体90の上方向である。車両10が傾斜していない状態では、車体上方向DVUは、上方向DUと同じである。本実施例では、車体90に対して予め決められた上方向が、車体上方向DVUとして用いられる。
横リンク部材31U、31Dは、車体90に回転可能に支持されている部材である(具体的には、横リンク部材31U、31Dは、後述するサスペンションシステム70と第1支持部82とを介して車体90に接続された中縦リンク部材21に回転可能に支持されている)。そして、横リンク部材31U、31Dを含むリンク機構30は、左後輪12Lと右後輪12Rとの車体上方向DVUの相対位置を変化させることが可能である。図5(B)に示すように、背面図上で、中縦リンク部材21が上横リンク部材31Uに対して時計回り方向に回転している場合、右後輪12Rが車体上方向DVU側に移動し、左後輪12Lが反対側に移動する。この結果、全ての車輪12F、12L、12Rが地面GLに接触した状態で、これらの車輪12F、12L、12Rは、地面GLに対して右方向DR側に傾斜する。そして、車体90を含む車両10の全体は、地面GLに対して、右方向DR側に傾斜する。一般的には、上横リンク部材31Uが中縦リンク部材21に対して傾斜する場合、右後輪12Rと左後輪12Lとの一方が、車体上方向DVU側に移動し、他方は、車体上方向DVUとは反対方向側に移動する。この結果、車輪12F、12L、12R、ひいては、車体90を含む車両10の全体は、地面GLに対して傾斜する。後述するように、車両10が右方向DR側に旋回する場合に、車両10は、右方向DR側に傾斜する。車両10が左方向DL側に旋回する場合に、車両10は、左方向DL側に傾斜する。
図5(B)では、車体上方向DVUは、上方向DUに対して、右方向DR側に傾斜している。以下、前方向DFを向いて車両10を見る場合の、上方向DUと車体上方向DVUとの間の角度を、傾斜角Tと呼ぶ。ここで、「T>ゼロ」は、右方向DR側への傾斜を示し、「T<ゼロ」は、左方向DL側への傾斜を示している。車両10が傾斜する場合、車体90を含む車両10の全体が、おおよそ、同じ方向に傾斜する。従って、車体90の傾斜角Tは、車両10の傾斜角Tであると言うことができる。
また、図5(B)には、リンク機構30の制御角Tcが示されている。制御角Tcは、上横リンク部材31Uの向きに対する中縦リンク部材21の向きの角度を示している。「Tc=ゼロ」は、上横リンク部材31Uに対して中縦リンク部材21が垂直であることを、示している。「Tc>ゼロ」は、図5(B)の背面図において、中縦リンク部材21が、上横リンク部材31Uに対して、時計回り方向に傾いていることを示している。図示を省略するが、「Tc<ゼロ」は、中縦リンク部材21が、上横リンク部材31Uに対して、反時計回り方向に傾いていることを示している。図示するように、車両10が、水平な地面GL(すなわち、鉛直上方向DUに垂直な地面GL)上に位置している場合、制御角Tcは、傾斜角Tと、おおよそ同じである。
図5(A)、図5(B)中の地面GL上の軸AxLは、傾斜軸AxLである。リンク機構30とリーンモータ25とは、車両10を、傾斜軸AxLを中心に、右と左とに傾斜させることができる。本実施例では、傾斜軸AxLは、前輪12Fと地面GLとの接触中心P1を通り前方向DFに平行な直線である。後輪12L、12Rを回転可能に支持するリンク機構30は、車体90を車両10の幅方向に傾斜させるように構成されている傾斜装置の例である(傾斜装置30とも呼ぶ)。
図6(A)、図6(B)は、図5(A)、図5(B)と同様に、車両10の簡略化された背面図を示している。図6(A)、図6(B)では、地面GLxは、鉛直上方向DUに対して斜めに傾斜している(右側が高く、左側が低い)。図6(A)は、制御角Tcがゼロである状態を示している。この状態では、全ての車輪12F、12L、12Rが、地面GLxに対して直立する。そして、車体上方向DVUは、地面GLxに対して垂直であり、また、鉛直上方向DUに対して左方向DL側に傾斜している。
図6(B)は、傾斜角Tがゼロである状態を示している。この状態では、上横リンク部材31Uは、地面GLxにおおよそ平行であり、中縦リンク部材21に対して反時計回りの方向に傾斜している。また、車輪12F、12L、12Rは、地面GLに対して傾斜している。
このように、地面GLxが傾斜している場合、車体90の傾斜角Tの大きさは、リンク機構30の制御角Tcの大きさと、異なり得る。
なお、リーンモータ25は、リーンモータ25を回転不能に固定する図示しないロック機構を有している。ロック機構を作動させることによって、上横リンク部材31Uは、中縦リンク部材21に対して回転不能に固定される。この結果、制御角Tcが固定される。例えば、車両10の駐車時に、制御角Tcはゼロに固定される。ロック機構としては、メカニカルな機構であって、リーンモータ25(ひいては、リンク機構30)を固定している最中に電力を消費しない機構が好ましい。
図2、図4に示すように、本実施例では、本体部20は、サスペンションシステム70と連結棒75とによって、後輪支持部80に連結されている。サスペンションシステム70(図4)は、伸縮可能な左サスペンション70Lと、伸縮可能な右サスペンション70Rと、を有している。本実施例では、各サスペンション70L、70Rは、コイルスプリング71L、71Rとショックアブソーバ72L、72Rとを内蔵するテレスコピックタイプのサスペンションである。サスペンション70L、70Rの上方向DU側の端部は、本体部20の支持部20dに、回転可能に連結されている(例えば、玉継ぎ手、ヒンジなど)。サスペンション70L、70Rの下方向DD側の端部は、後輪支持部80の第1支持部82に、回転可能に連結されている(例えば、玉継ぎ手、ヒンジなど)。
連結棒75は、図1、図2に示すように、前方向DFに延びる棒である。連結棒75は、車両10の幅方向の中心に配置されている。連結棒75の前方向DF側の端部は、本体部20の後壁部20cに、回転可能に連結されている(例えば、玉継ぎ手)。連結棒75の後方向DB側の端部は、後輪支持部80の第2支持部83に、回転可能に連結されている(例えば、玉継ぎ手)。
車体90は、サスペンション70L、70Rの伸縮によって、幅方向にロール可能である。車体90は、予め決められた角度範囲(例えば、90度未満の範囲)内で、ロール可能である。本実施例では、角度範囲は、サスペンション70L、70Rの長さの可能な範囲によって、制限されている。
図1、図5(A)、図5(B)には、重心90cが示されている。重心90cは、車体90の重心である。車体90の重心90cは、車体90が乗員(可能なら荷物も)を積んだ状態での重心である。重心90cが低いほど、車体90の意図しない幅方向の回転が抑制される。本実施例では、重心90cを低くするために、車体90(図1)の要素のうち比較的重い要素であるバッテリ120が、低い位置に配置されている。具体的には、バッテリ120は、車体90の本体部20のうちの最も低い部分である底部20bに固定されている。従って、重心90cを、容易に、低くできる。本実施例では、無人状態では、重心90cは、座席11の座面よりも低い位置に、位置している。
図7は、旋回時の力のバランスの説明図である。図中には、旋回方向が右方向である場合の後輪12L、12Rの背面図が示されている。後述するように、旋回方向が右方向である場合、制御装置100(図1)は、後輪12L、12R(ひいては、車両10)が地面GLに対して右方向DRに傾斜するように、リーンモータ25を制御する場合がある。
図中の第1力F1は、車体90に作用する遠心力である。第2力F2は、車体90に作用する重力である。ここで、車体90の質量をm(kg)とし、重力加速度をg(おおよそ、9.8m/s2)とし、鉛直方向に対する車両10の傾斜角をT(度)とし、旋回時の車両10の速度をV(m/s)とし、旋回半径をR(m)とする。第1力F1と第2力F2とは、以下の式1、式2で表される。
F1 = (m*V2)/R (式1)
F2 = m*g (式2)
ここで、*は、乗算記号(以下、同じ)。
また、図中の力F1bは、第1力F1の、車体上方向DVUに垂直な方向の成分である。力F2bは、第2力F2の、車体上方向DVUに垂直な方向の成分である。力F1bと力F2bとは、以下の式3、式4で表される。
F1b = F1*cos(T) (式3)
F2b = F2*sin(T) (式4)
ここで、「cos()」は、余弦関数であり、「sin()」は、正弦関数である(以下、同じ)。
力F1bは、車体上方向DVUを左方向DL側に回転させる成分であり、力F2bは、車体上方向DVUを右方向DR側に回転させる成分である。車両10が傾斜角T(さらには、速度Vと旋回半径R)を保ちつつ旋回を続ける場合には、F1bとF2bとの関係は、以下の式5で表される
F1b = F2b (式5)
式5に上記の式1~式4を代入すると、旋回半径Rは、以下の式6で表される。
R = V2/(g*tan(T)) (式6)
ここで、「tan()」は、正接関数である(以下、同じ)。
式6は、車体90の質量mに依存せずに、成立する。ここで、式6の「T」を、左方向と右方向とを区別せずに傾斜角の大きさを表すパラメータTa(ここでは、傾斜角Tの絶対値)に置換することによって得られる以下の式6aは、車体90の傾斜方向に拘わらずに、成立する。
R = V2/(g*tan(Ta)) (式6a)
図8は、車輪角AFと旋回半径Rとの簡略化された関係を示す説明図である。図中には、下方向DDを向いて見た車輪12F、12L、12Rが示されている。図中では、前輪12Fの進行方向D12は、右方向DRに回動しており、車両10は、右方向DRに旋回する。図中の前中心Cfは、前輪12Fの中心である。前中心Cfは、前輪12Fの回転軸Ax2上に位置している。下方向DDを向いて車両10を見る場合、前中心Cfは、接触中心P1(図1)とおおよそ同じ位置に位置している。後中心Cbは、2つの後輪12L、12Rの間の中心である。車体90が傾斜していない場合、後中心Cbは、後輪12L、12Rの回転軸ArL、ArR上の、後輪12L、12Rの間の中央に位置している。下方向DDを向いて車両10を見る場合、後中心Cbの位置は、2個の後輪12L、12Rの接触中心PbL、PbRの間の中央の位置と、同じである。中心Crは、旋回の中心である。なお、車両10の旋回運動は、車両10の公転運動と、車両10の自転運動と、を含んでいる。中心Crは、公転運動の中心である(公転中心Crとも呼ぶ)。ホイールベースLhは、前中心Cfと後中心Cbとの間の前方向DFの距離である。図1に示すように、ホイールベースLhは、前輪12Fの回転軸Ax2と、後輪12L、12Rの回転軸ArL、ArRとの間の前方向DFの距離である。
図8に示すように、前中心Cfと後中心Cbと公転中心Crとは、直角三角形を形成する。点Cbの内角は、90度である。点Crの内角は、車輪角AFと同じである。従って、車輪角AFと旋回半径Rとの関係は、以下の式7で表される。
AF = arctan(Lh/R) (式7)
ここで「arctan()」は、正接関数の逆関数である(以下、同じ)。
上記の式6、式6a、式7は、車両10が、速度Vと旋回半径Rとが変化しない状態で、旋回している場合に成立する関係式である。なお、現実の車両10の挙動と、図8の簡略化された挙動と、の間には、種々の差異が存在する。例えば、現実の車輪12F、12L、12Rは、地面に対して滑り得る。また、現実の車輪12F、12L、12Rは、地面に対して傾斜し得る。従って、現実の旋回半径は、式7の旋回半径Rと異なり得る。ただし、式7は、車輪角AFと旋回半径Rとの関係を示す良い近似式として、利用可能である。
A2.車両10の制御の概要:
図9は、車両10の制御に関する構成を示すブロック図である。車両10は、車速センサ122と、ハンドル角センサ123と、車輪角センサ124と、鉛直方向センサ126と、アクセルペダルセンサ145と、ブレーキペダルセンサ146と、シフトスイッチ47と、ストローク位置センサ70sと、制御装置100と、右駆動モータ51Rと、左駆動モータ51Lと、リーンモータ25と、操舵モータ65と、を有している。
車速センサ122は、車両10の車速を検出するセンサである。本実施例では、車速センサ122は、前フォーク17(図1)の下端に取り付けられており、前輪12Fの回転速度、すなわち、車速を検出する。
ハンドル角センサ123は、ハンドル41aの向き(すなわち、ハンドル角)を検出するセンサである。本実施例では、ハンドル角センサ123は、ハンドル41a(図1)に固定された支持棒41axに取り付けられている。
車輪角センサ124は、前輪12Fの車輪角AFを検出するセンサである。本実施例では、車輪角センサ124は、操舵モータ65(図1)に取り付けられている。
鉛直方向センサ126は、鉛直下方向DDを特定するセンサである。本実施例では、鉛直方向センサ126は、車体90(図1)に固定されている(具体的には、後壁部20c)。また、本実施例では、鉛直方向センサ126は、加速度センサ126aと、ジャイロセンサ126gと、制御部126cと、を含んでいる。加速度センサは、任意の方向の加速度を検出するセンサであり、例えば、3軸の加速度センサである。以下、加速度センサ126aによって検出される加速度の方向を、検出方向と呼ぶ。車両10が停止している状態では、検出方向は、鉛直下方向DDと同じである。ジャイロセンサ126gは、任意の方向の回転軸を中心とする角加速度を検出するセンサであり、例えば、3軸の角加速度センサである。制御部126cは、加速度センサ126aからの信号とジャイロセンサ126gからの信号と車速センサ122からの信号とを用いて鉛直下方向DDを特定する装置である。制御部126cは、例えば、コンピュータを含むデータ処理装置である。
制御部126cは、車速センサ122によって特定される車速Vを用いることによって、車両10の加速度を算出する。そして、制御部126cは、加速度を用いることによって、車両10の加速度に起因する鉛直下方向DDに対する検出方向のずれを特定する(例えば、検出方向の前方向DFまたは後方向DBのずれが特定される)。また、制御部126cは、ジャイロセンサ126gによって特定される角加速度を用いることによって、車両10の角加速度に起因する鉛直下方向DDに対する検出方向のずれを特定する(例えば、検出方向の右方向DRまたは左方向DLのずれが、特定される)。制御部126cは、特定されたずれを用いて検出方向を修正することによって、鉛直下方向DDを特定する。このように鉛直方向センサ126は、車両10の種々の走行状態において、適切な鉛直下方向DDを特定できる。
アクセルペダルセンサ145は、アクセルペダル45(図1)に取り付けられており、アクセル操作量を検出する。ブレーキペダルセンサ146は、ブレーキペダル46(図1)に取り付けられており、ブレーキ操作量を検出する。
ストローク位置センサ70sは、右サスペンション70R(図1)に取り付けられている。ストローク位置センサ70sは、右サスペンション70Rのストローク位置を測定する。車体90の重量は、乗員や荷物によって、増大し得る。本実施例では、車体90の重量が増大する場合、サスペンション70L、70R(図1、図4)は縮む。サスペンション70L、70Rの全長は、車体90の重量が大きいほど、小さい。また、サスペンションのストローク位置は、サスペンションの全長と相関を有している。このように、ストローク位置センサ70sによって測定されるストローク位置は、車体90の重量と相関を有している。
各センサ122、123、124、145、146、70sは、例えば、レゾルバ、または、エンコーダを用いて構成されている。
制御装置100は、主制御部110と、駆動装置制御部300と、リーンモータ制御部400と、操舵モータ制御部500と、を有している。制御装置100は、バッテリ120(図1)からの電力を用いて動作する。本実施例では、制御部110、300、400、500は、それぞれ、コンピュータを有している。具体的には、制御部110、300、400、500は、プロセッサ110p、300p、400p、500p(例えば、CPU)と、揮発性記憶装置110v、300v、400v、500v(例えば、DRAM)と、不揮発性記憶装置110n、300n、400n、500n(例えば、フラッシュメモリ)と、を有している。不揮発性記憶装置110n、300n、400n、500nには、対応する制御部110、300、400、500の動作のためのプログラム110g、300g、400g、500gが、予め格納されている。また、主制御部110の不揮発性記憶装置110nには、マップデータMT、MAFが、予め格納されている。プロセッサ110p、300p、400p、500pは、それぞれ、対応するプログラム110g、300g、400g、500gを実行することによって、種々の処理を実行する。
主制御部110のプロセッサ110pは、センサ122、123、124、126、145、146、70sとシフトスイッチ47とからの信号を受信する。そして、プロセッサ110pは、受信した信号を用いて、駆動装置制御部300とリーンモータ制御部400と操舵モータ制御部500とに指示を出力する。
駆動装置制御部300のプロセッサ300pは、主制御部110からの指示に従って、駆動モータ51L、51Rを制御する。リーンモータ制御部400のプロセッサ400pは、主制御部110からの指示に従って、リーンモータ25を制御する。操舵モータ制御部500のプロセッサ500pは、主制御部110からの指示に従って、操舵モータ65を制御する。これらの制御部300、400、500は、それぞれ、制御対象のモータ51L、51R、25、65にバッテリ120からの電力を供給する電力制御部300c、400c、500cを有している。電力制御部300c、400c、500cは、電気回路(例えば、インバータ回路)を用いて、構成されている。
以下、制御部110、300、400、500のプロセッサ110p、300p、400p、500pが処理を実行することを、単に、制御部110、300、400、500が処理を実行する、とも表現する。
図10は、制御装置100(図9)によって実行される制御処理の例を示すフローチャートである。図10のフローチャートは、リーンモータ25と操舵モータ65との制御の手順を示している。図10では、各ステップに、文字「S」と、文字「S」に続く数字と、を組み合わせた符号が、付されている。
S110では、主制御部110は、センサ122、123、124、126、145、146、70sとシフトスイッチ47とからの信号を取得する。そして、主制御部110は、速度Vとハンドル角Aiと車輪角AFと鉛直下方向DDとアクセル操作量とブレーキ操作量とストローク位置SPと走行モードとを、特定する。
S120では、主制御部110は、「走行モードが「ドライブ」と「ニュートラル」とのいずれかである」という条件が満たされるか否かを判断する。S120の条件は、車両10が前進していることを、示している。
S120の判断結果が、Yesである場合、制御装置100は、S130、S140を並行して実行する。S130は、リーンモータ25を制御する第1傾斜制御処理である。S140は、操舵モータ65を制御する第1操舵制御処理である。S130、S140では、制御装置100は、車両10がハンドル角に対応付けられた方向に進むように、リーンモータ25と操舵モータ65とを制御する。S130では、傾斜角Tと目標傾斜角との差を用いるリーンモータ25のフィードバック制御が、行われる(例えば、いわゆるPID(Proportional Integral Derivative)制御)。S140では、車輪角AFと目標車輪角との差を用いる操舵モータ65のフィードバック制御が、行われる(例えば、いわゆるPID制御)。S130、S140の詳細については、後述する。S130、S140の後、制御装置100は、図10の処理を終了する。
S120で、「走行モードが「ドライブ」と「ニュートラル」とのいずれかである」という条件が満たされない場合(S120:No)、主制御部110は、S150、S160の処理を並行して実行する。
S150の処理は、S130の処理と、同じである。S160の処理は、S140の処理と同じである。S150、S160の後、制御装置100は、図10の処理を終了する。
S130、S140、または、S150、S160の処理が実行されたことに応じて、図10の処理が終了する。制御装置100は、図10の処理を繰り返し実行する。S130、S140を実行するための条件が満たされる場合(S120:Yes)、制御装置100は、S130、S140の処理を、継続して行う。S150、S160を実行するための条件が満たされる場合(S120:No)、制御装置100は、S150、S160の処理を、継続して行う。これらの結果、車両10は、ハンドル角に適した進行方向に向かって、走行する。
図示を省略するが、主制御部110(図9)と駆動装置制御部300とは、アクセル操作量とブレーキ操作量とシフトスイッチ47とに応じて電気モータ51L、51Rを制御する駆動制御部として機能する。本実施例では、アクセル操作量が増大した場合には、主制御部110は、電気モータ51L、51Rの出力パワーを増大させるための指示を、駆動装置制御部300に供給する。駆動装置制御部300は、指示に従って、出力パワーが増大するように、電気モータ51L、51Rを制御する。アクセル操作量が減少した場合には、主制御部110は、電気モータ51L、51Rの出力パワーを減少させるための指示を、駆動装置制御部300に供給する。駆動装置制御部300は、指示に従って、出力パワーが減少するように、電気モータ51L、51Rを制御する。
ブレーキ操作量がゼロよりも大きくなった場合には、主制御部110は、電気モータ51L、51Rの出力パワーを減少させるための指示を、駆動装置制御部300に供給する。駆動装置制御部300は、指示に従って、出力パワーが減少するように、電気モータ51L、51Rを制御する。なお、車両10は、全ての車輪12F、12L、12Rのうちの少なくとも1つの車輪の回転速度を摩擦によって低減するブレーキ装置を有することが好ましい。そして、ユーザがブレーキペダル46を踏み込んだ場合に、ブレーキ装置が、少なくとも1つの車輪の回転速度を低減することが好ましい。
A3.車両10の制御の詳細:
A3-1.制御ブロック:
図11は、制御装置100のうち、リーンモータ25と操舵モータ65との制御に関連する部分のブロック図である。主制御部110は、傾斜角特定部112と、目標傾斜角決定部113と、第1減算部114と、目標車輪角決定部116と、第2減算部117と、を含んでいる。リーンモータ制御部400は、第1制御部420と、電力制御部400cと、を含んでいる。操舵モータ制御部500は、第2制御部520と、電力制御部500cと、を含んでいる。主制御部110の処理部112、113、114、116、117は、主制御部110(図9)のプロセッサ110pによって実現されている。リーンモータ制御部400の処理部420は、リーンモータ制御部400のプロセッサ400pによって実現されている。操舵モータ制御部500の処理部520は、操舵モータ制御部500のプロセッサ500pによって実現されている。以下、プロセッサ110p、400p、500pが、処理部112、113、114、116、117、420、520として処理を実行することを、処理部112、113、114、116、117、420、520が処理を実行する、とも表現する。
A3-2.操舵制御処理:
図12は、第1操舵制御処理(S140:図10)の例を示すフローチャートである。S310では、主制御部110(図11)は、センサ122、123、124からの車速V、ハンドル角Ai、車輪角AFをそれぞれ示す情報を、取得する。
S330では、主制御部110の目標車輪角決定部116は、車輪角AFの目標値である目標車輪角AFtを決定する。本実施例では、ハンドル角Aiと車速Vとを用いて、目標車輪角AFtが特定される。ハンドル角Aiと車速Vとの組み合わせに対応する目標車輪角AFtは、車輪角マップデータMAF(図9)によって予め決められている。目標車輪角決定部116は、車輪角マップデータMAFを参照して、目標車輪角AFtを特定する。本実施例では、車速Vが一定である場合には、ハンドル角Aiの絶対値が大きいほど、目標車輪角AFtの絶対値が大きい。これにより、ハンドル角Aiの絶対値が大きいほど旋回半径R(図8)が小さくなるので、車両10は、ハンドル角Aiに適した旋回半径Rで、旋回できる。ハンドル角Aiが一定である場合の車速Vと目標車輪角AFtとの対応関係は、種々の対応関係であってよい。例えば、車速Vが遅いほど、目標車輪角AFtの絶対値が大きくてよい。この場合、車両10は、低速時には、小さい旋回半径Rで容易に旋回できる。これに代えて、車速Vが遅いほど、目標車輪角AFtの絶対値が小さくてよい。この場合、低速時に、車輪角AFの過度の変化を抑制できる。なお、目標車輪角AFtの特定に用いられる情報は、ハンドル角Aiと車速Vとの組み合わせに代えて、ハンドル角Aiを含む1以上の任意の情報であってよい。例えば、車速Vを用いずに、目標車輪角AFtが特定されてよい。
S340では、第2減算部117は、目標車輪角AFtから車輪角AFを減算することによって差dAFを算出する(車輪角差dAFとも呼ぶ)。第2減算部117は、車輪角差dAFを示す情報を、操舵モータ制御部500に供給する。
S350では、操舵モータ制御部500の第2制御部520は、車輪角差dAFをゼロに近づけるための第2制御値Vc2を決定する。第2制御値Vc2は、操舵モータ65に供給すべき電流の向きと大きさとを示す値であってよい。例えば、第2制御値Vc2の絶対値は、電流の大きさを示し、第2制御値Vc2の正負の符号は、電流の向きを示してよい。
S360では、第2制御部520は、第2制御値Vc2を示す情報を、電力制御部500cに供給する。S370では、電力制御部500cは、第2制御値Vc2に従って、操舵モータ65に供給される電力を制御する。そして、図12の処理、すなわち、図10のS140が終了する。
本実施例では、第2制御部520は、車輪角差dAFを用いて操舵モータ65のトルク(例えば、操舵モータ65に供給される電力)のフィードバック制御を行う。これにより、車輪角AFは目標車輪角AFtに近づく。なお、フィードバック制御としては、例えば、いわゆるPID制御が行われる。
なお、上記の式7を用いることによって、目標車輪角AFtに対応する旋回半径Rが、特定される(目標旋回半径とも呼ぶ)。目標旋回半径と車速Vと上記の式6を用いることによって、傾斜角Tが特定される。この傾斜角Tは、ハンドル角Aiと車速Vとの組み合わせに対応付けられている。以下、この傾斜角Tを、基準傾斜角とも呼ぶ。車両10がハンドル角Aiを用いて特定される目標車輪角AFtに従って旋回し、そして、傾斜角Tが基準傾斜角である場合、車両10は、図7のように遠心力と重力とがバランスした状態で、安定して旋回できる。
A3-3.傾斜制御処理:
図13は、第1傾斜制御処理(S130:図10)の例を示すフローチャートである。S210では、主制御部110(図11)は、センサ122、123、126、70sからの車速V、ハンドル角Ai、鉛直下方向DD、ストローク位置SPを示す情報を、それぞれ取得する。
後述するように、ストローク位置SPを示す情報は、車体90の重量の推定に利用される。車両10の走行中には、ストローク位置SPは、車体90の重量以外の原因(例えば、道路の起伏)によって、変化する。本実施例では、主制御部110は、車両10がゼロの傾斜角Tで静止していることを示す測定条件が満たされる場合に、ストローク位置センサ70sからストローク位置SPを示す情報を取得する。そして、主制御部110は、取得した情報を記憶措置(例えば、不揮発性記憶装置110n(図9))に格納する。車両10の走行中には、主制御部110は、記憶装置から、ストローク位置SPを示す情報を取得する。S210では、主制御部110は、測定条件が満たされる場合に、ストローク位置SPを示す情報を更新する。なお、ストローク位置SPを示す情報を更新するタイミングは、図13のS210に限らず、他のタイミングであってよい。例えば、主制御部110は、制御装置100の起動時に、ストローク位置センサ70sからストローク位置SPを示す情報を取得してよい。
S220では、傾斜角特定部112(図11)は、鉛直下方向DDを用いて、傾斜角Tを算出する。本実施例では、鉛直方向センサ126は車体90に固定されているので、車体90(ひいては、車体上方向DVU)に対する鉛直方向センサ126の向きは、予め決められている。傾斜角特定部112は、車体上方向DVUに対する鉛直方向センサ126の向きを用いて、鉛直下方向DDの反対の方向である上方向DUと、車体上方向DVUと、の間の傾斜角Tを、算出する(図5(B))。
なお、主制御部110のうちの傾斜角特定部112として動作する部分と、鉛直方向センサ126と、の全体は、傾斜角Tを測定するように構成された傾斜角センサの例である。以下、傾斜角特定部112と鉛直方向センサ126との全体を、傾斜角センサ127とも呼ぶ。
S230(図13)では、目標傾斜角決定部113は、第1目標傾斜角T1を決定する。第1目標傾斜角T1は、傾斜角Tの目標値である。本実施例では、第1目標傾斜角T1は、ハンドル角Aiと車速Vとストローク位置SPとを用いて、特定される。第1目標傾斜角T1は、車両10の旋回時に車体90が旋回の内側に傾斜するように、決定される。ハンドル角Aiと車速Vとストローク位置SPとの組み合わせに対応する第1目標傾斜角T1は、傾斜角マップデータMT(図9)によって予め決められている。目標傾斜角決定部113は、この傾斜角マップデータMTを参照することによって、第1目標傾斜角T1を特定する。本実施例では、第1目標傾斜角T1は、目標車輪角AFt(図12:S330)に対応する上述の基準傾斜角以下の値に決定される(詳細は、後述)。
S240では、第1減算部114は、第1目標傾斜角T1から傾斜角Tを減算することによって差dTを算出する(傾斜角差dTとも呼ぶ)。第1減算部114は、傾斜角差dTを示す情報を、リーンモータ制御部400に供給する。
S250では、リーンモータ制御部400の第1制御部420は、傾斜角差dTをゼロに近づけるための第1制御値Vc1を決定する。第1制御値Vc1は、リーンモータ25に供給すべき電流の向きと大きさとを示す値であってよい。例えば、第1制御値Vc1の絶対値は、電流の大きさを示し、第1制御値Vc1の正負の符号は、電流の向きを示してよい。
S260では、第1制御部420は、第1制御値Vc1を示す情報を、電力制御部400cに供給する。S270では、電力制御部400cは、第1制御値Vc1に従って、リーンモータ25に供給される電力を制御する。そして、図13の処理、すなわち、図10のS130が終了する。
本実施例では、第1制御部420は、傾斜角差dTを用いてリーンモータ25のトルク(例えば、リーンモータ25に供給される電力)のフィードバック制御を行う。これにより、傾斜角Tは第1目標傾斜角T1に近づく。なお、フィードバック制御としては、例えば、いわゆるPID制御が行われる。
A3-4.目標傾斜角:
第1目標傾斜角T1は、ハンドル角Aiと車速Vとストローク位置SPとを用いて特定される(図13:S230)。ストローク位置SPは、車体90の重心90cの高さと相関を有する特定情報の例である。図14(A)~図14(C)は、車体90の重量W11~W13と、ストローク位置SP11~SP13と、重心90cの高さH11~H13と、の関係の例を示す説明図である。
各図中には、簡略化された車両10の側面図が示されている。図14(A)は、無人状態を示し、図14(B)は、比較的軽い乗員900aが座席11に座っている状態を示し、図14(C)は、比較的重い乗員900bが座席11に座っている状態を示している。重量W11~W13は、車体90に乗っている乗員と荷物とを含む車体90の全体の総重量である(無人状態の重量W11は、乗員と荷物とを含まない車体90の重量と同じ)。乗員が車体90に乗っている場合、乗員が車体90に乗っていない場合と比べて、車体90の総重量は重い。そして、乗員の体重が重いほど、車体90の総重量は重い。以上により、W11<W12<W13である。
また、本実施例では、図14(A)に示すように、無人状態では、車体90の重心90cは、座席11の座面11sよりも低い位置に配置されている。乗員が座席11に座っている場合(図14(B)、(C))、無人状態(図14(A))と比べて、重心90cは、より高い位置に移動する。乗員の体重が重い場合(図14(C))、乗員の体重が軽い場合(図14(B))と比べて、重心90cは、乗員により近い位置(ここでは、より高い位置)に移動する。以上により、H11<H12<H13である。
図15(A)~図15(F)は、車両10の重心10cの高さと走行安定性との説明図である。図15(A)、図15(B)、図15(C)は、右方向DRに旋回する車両10の簡略化された上面図、側面図、背面図である。車両10の重心10cは、車体90に加えて車両10の他の部材を含む車両10の全体の重心である。車両10の重心10cの高さは、車体90の重心90cの高さが高いほど、高い。
図中には、ゼロモーメントポイントZMPが示されている。ゼロモーメントポイントZMPは、車両10の重心10cに作用する重力Fgと慣性力との合成ベクトルの延長線Lxと、地面GLとの交点位置である。図示を省略するが、車両10が停止している場合、ゼロモーメントポイントZMPは、重心10cの鉛直下方向DDに位置している。図15(A)~図15(C)では、前進中の車両10が、加速している。この場合、図15(B)に示すように、ゼロモーメントポイントZMPは、加速度と反対方向の慣性力Ffによって、後方向DBに移動する。また、車両10は、右方向DRに旋回している。この場合、図15(C)に示すように、ゼロモーメントポイントZMPは、遠心力Fcによって、旋回の外側(ここでは、左方向DL側)に移動する。
図15(A)のハッチングで示される領域ACは、3個の車輪12F、12L、12Rと地面GLとの間の3個の接触領域Ca1、CaL、CaRによって構成される地面GL上の凸包領域である。凸包領域は、接触領域Ca1、CaL、CaRを含む最小の凸領域である。本実施例では、凸包領域ACの形状は、3個の接触領域Ca1、CaL、CaRを頂点とする略三角形状である。凸領域の輪郭は、内側に凹む部分を含まずに、線分と外に凸な曲線と外に凸な頂点とで構成されるグループから選択される1以上の要素で構成されている。車両10のゼロモーメントポイントZMPが凸包領域AC内に位置する場合、車両10の状態は、安定状態である。ここで、安定状態は、全ての車輪12F、12L、12Rが、地面GLから離れずに、継続的に地面GLに接触している状態である。
図15(C)は、車体90が、図7で説明した傾斜角T(すなわち、旋回半径Rに対応する傾斜角T)で旋回の内側に傾斜する場合を示している。この場合、ゼロモーメントポイントZMPは、凸包領域AC内に維持される。
図15(D)は、図15(C)と同様の背面図である。図15(D)は、車体90を傾斜させずに車両10が右方向DRに旋回する場合を示している。車速が速い場合、遠心力Fcが大きいので、ゼロモーメントポイントZMPは、左後輪12Lよりも左方向DL側、すなわち、凸包領域ACの外へ、移動し得る。この場合、車両10の状態は不安定となり得る。
図15(E)、図15(F)は、図15(C)、図15(D)と同様の背面図を、それぞれ示している。図15(E)、図15(F)では、図15(C)、図15(D)と比べて、重心10cの高さが低い。図15(E)のように、車体90が旋回の内側に傾斜する場合には、図15(C)と同様に、ゼロモーメントポイントZMPは凸包領域AC内に維持される。図15(F)では、車両10は、車体90を傾斜させずに、旋回する。図15(D)とは異なり、重心10cが低いので、ゼロモーメントポイントZMPは、凸包領域AC内に維持される。このように、車両10の重心10cが低い場合(すなわち、車体90の重心90cが低い場合)、車体90の傾斜角Tの絶対値が小さい場合であっても、良好な走行安定性を維持できる。傾斜角Tの絶対値が小さい場合、車両10は、狭い道で容易に旋回できる。
図16(A)~図16(F)は、傾斜角マップデータMT(図9)の説明図である。傾斜角マップデータMTは、以下に説明する種々の対応関係を総合することによって、予め決定されている。車体90の重心90cが低い場合には、重心90cが高い場合と比べて、第1目標傾斜角T1の絶対値が小さくなるように、第1目標傾斜角T1が決定される。まず、ハンドル角Aiと車速Vとについて説明し、続けて、高さHについて説明する。
図16(A)は、ハンドル角Aiの絶対値と第1目標傾斜角T1の絶対値(絶対目標角Tabとも呼ぶ)との対応関係の例を示すグラフである。横軸はハンドル角Aiの絶対値を示し、縦軸は、絶対目標角Tabを示している。1本のグラフ線は、車速Vと高さHとが一定である場合の対応関係を示している。本実施例では、車速Vと高さHとが一定である場合には、ハンドル角Aiの絶対値が大きいほど、絶対目標角Tabが大きい。このような絶対目標角Tabは、目標車輪角AFt(図12:S330)に従って旋回する車両の走行安定性の低下を抑制できる。
図16(B)は、車速Vと絶対目標角Tabとの対応関係の例を示すグラフである。横軸は車速Vを示し、縦軸は絶対目標角Tabを示している。1本のグラフ線は、ハンドル角Aiと高さHとが一定である場合の対応関係を示している。本実施例では、ハンドル角Aiと高さHとが一定である場合には、車速Vが速いほど、絶対目標角Tabが大きい。車速Vが速い場合には、遠心力(例えば、図7の第1力F1)が大きくなる。大きな絶対目標角Tabは、目標車輪角AFt(図12:S330)に従って旋回する車両の走行安定性の低下を抑制できる。
図16(C)は、右サスペンション70Rの全長Lsと、車体90の重量Wと、の関係の例を示すグラフである。横軸は全長Lsを示し、縦軸は重量Wを示している。右サスペンション70Rの全長Lsは、ストローク位置センサ70s(図1、図11)によって測定されるストローク位置SPによって示される。ストローク位置SPと全長Lsとの対応関係は、予め実験的に決定される。このグラフには、図14(A)~図14(C)で説明したストローク位置SP11~SP13と重量W11~W13との対応関係も、示されている(全長Ls11、Ls12、Ls13は、ストローク位置SP11、SP12、SP13に、それぞれ対応している)。図示するように、全長Lsが小さいほど、重量Wが重い。全長Ls(すなわち、ストローク位置SP)と重量Wとの対応関係は、予め実験的に決定される。図中の最大重量Wmは、車体90の許容された最大の重量Wである。このような最大重量Wmは、予め決められている。最小長Lsmは、最大重量Wmに対応する全長Lsである。最小位置SPmは、最大重量Wmに対応するストローク位置SPである。
図16(D)は、車体90の重量Wと、車体90の重心90cの高さHと、の対応関係の例を示すグラフである。横軸は重量Wを示し、縦軸は高さHを示している。このグラフには、図14(A)~図14(C)で説明した重量W11~W13と高さH11~H13との対応関係も、示されている。図示するように、重量Wが重いほど、重心90cの高さHは高い。重量Wが同じ場合であっても、現実の重心90cの高さHは、乗員の特徴(例えば、身長)や荷物の特徴などの状況に応じて、異なり得る。図16(D)の対応関係は、予め実験的に決定された、重量Wと標準的な高さHとの対応関係である。重量Wに対応付けられた高さHは、重心90cの高さの推定値として利用可能である(以下、推定高Hとも呼ぶ)。図中の最大高さHmは、最大重量Wmに対応付けられた推定高Hである。
図16(E)は、重心90cの推定高Hと絶対目標角Tabとの対応関係の例を示すグラフである。横軸は推定高Hを示し、縦軸は絶対目標角Tabを示している。1本のグラフ線は、車速Vとハンドル角Aiとが一定である場合の対応関係を示している。図示するように、車速Vとハンドル角Aiとが一定である場合、重心90cの推定高Hが低いほど、絶対目標角Tabが小さい。絶対目標角Tabが小さい場合、車両10は、狭い道で容易に旋回できる。また、図15(C)~図15(F)で説明したように、重心90cの推定高Hが低い場合には、小さい絶対目標角Tabに起因する走行安定性の低下は、抑制される。グラフ中の絶対目標角T11、T12、T13は、高さH11、H12、H13に対応する絶対目標角Tabを示している(T11<T12<T13)。
なお、本実施例では、車速Vとハンドル角Aiとが一定であり、かつ、推定高Hが高さH13以上である場合、推定高Hに拘わらず絶対目標角Tabは一定である。この一定の絶対目標角Tabは、基準傾斜角の絶対値と同じである。図12で説明したように、基準傾斜角は、ハンドル角Aiを用いて特定される目標車輪角AFtと図7、図8で説明した関係とを用いて特定される傾斜角Tである。傾斜角Tが基準傾斜角である場合、図15(C)で説明したように、重心90cの推定高Hに拘わらず、ゼロモーメントポイントZMPは、凸包領域AC内に維持され得る。重心90cの推定高Hが低い場合、図15(F)で説明したように、傾斜角Tの絶対値は基準傾斜角の絶対値よりも小さくてよい。
傾斜角マップデータMT(図9)は、ハンドル角Aiと車速Vとストローク位置SPとを用いて、図16(A)~図16(E)で説明した対応関係に従って第1目標傾斜角T1が決定されるように、予め構成されている。また、傾斜角マップデータMTは、車両10の種々の状況において、ゼロモーメントポイントZMPが凸包領域AC内に維持されるように、構成される。
図16(F)は、重心90cの推定高Hと最大傾斜角Tmとの対応関係の例を示すグラフである。横軸は推定高Hを示し、縦軸は最大傾斜角Tmを示している。最大傾斜角Tmは、絶対目標角Tabの最大値である。本実施例では、絶対目標角Tab(すなわち、第1目標傾斜角T1)は、ハンドル角Aiと車速Vとに応じて変化する(例えば、図16(A)、図16(B))。最大傾斜角Tmは、絶対目標角Tabの変化可能な範囲内における最大値である。本実施例では、最大傾斜角Tmは、ハンドル角Aiの絶対値が許容された最大値であり、車速Vが許容された最高速度である場合の絶対目標角Tabである。本実施例では、図16(E)で説明したように、絶対目標角Tabは、重心90cの推定高Hが低いほど小さい。従って、図16(F)に示すように、最大傾斜角Tmは、重心90cの推定高Hが低いほど小さい。なお、図13の処理では、傾斜角Tが第1目標傾斜角T1に維持されるように、リーンモータ25が制御される。この場合、第1目標傾斜角T1の変化可能な範囲は、傾斜角Tの許容範囲を示している。従って、最大傾斜角Tm(図16(F))は、傾斜角Tの許容範囲内における最大値、すなわち、傾斜角Tの許容される最大値を示している(最大傾斜角Tmを、許容最大値Tmとも呼ぶ)。グラフ中の最大傾斜角Tm11、Tm12、Tm13は、高さH11、H12、H13に対応する最大傾斜角Tmを示している(Tm11<Tm12<Tm13)。推定高Hが高さH13以上である場合、許容最大値Tmは、一定である(Tm=Tm13)。推定高Hが高さH13未満である場合、許容最大値Tmは、許容最大値Tm13以下である。
以上のように、本実施例では、車両10(図1~図4、図9、図11)は、車体90と、車体90に支持されている車輪12F、12L、12Rと、を備えている。車輪12F、12L、12Rは、前輪12Fと、後輪12L、12Rと、を含んでいる。後輪は、車両10の幅方向に互いに離れて配置された一対の車輪12L、12Rを含んでいる。前輪12Fの方向D12は、車両10の幅方向に回動可能である。また、車両10は、傾斜装置30と、リーンモータ25と、ストローク位置センサ70sと、制御装置100と、を備えている。ストローク位置センサ70sは、ストローク位置SPを測定する。図14(A)~図14(C)で説明したように、ストローク位置SPは、車体90の重心90cの高さHと相関を有する情報である特定情報の例である。ストローク位置センサ70sは、このような特定情報を取得するように構成されている特定情報取得装置の例である。図10、図11、図13等で説明したように、主制御部110の処理部112、113、114とリーンモータ制御部400との全体は、車両10の旋回時にリーンモータ25を制御することによって車体90を旋回の内側に傾斜させる。以下、処理部112、113、114とリーンモータ制御部400との全体を、傾斜制御装置130とも呼ぶ。
また、傾斜制御装置130は、図13の処理において、車体90の傾斜角Tが第1目標傾斜角T1(図16(E)等)に近づくように、リーンモータ25を制御する。第1目標傾斜角T1は、車両10の旋回時に車体90が旋回の内側に傾斜する場合の傾斜角Tを示している。これらの結果、傾斜制御装置130は、車両10の旋回時には、リーンモータ25を制御することによって、車体90を旋回の内側に傾斜させる。従って、車両10は、安定して旋回できる。
また、図16(F)で説明したように、傾斜角Tの許容される最大値である許容最大値Tmは、重心90cの高さH(本実施例では推定高H)が高いほど大きい。例えば、推定高Hが相対的に高い第3値H13であることをストローク位置SPが示す第1の場合には、傾斜制御装置130は、許容最大値Tmを、相対的に大きな第3値Tm13に制限する。この場合、大きな傾斜角Tが許容されるので、車両10は安定して旋回できる。一方、推定高Hが第3値H13よりも低い第1値H11であることをストローク位置SPが示す第2の場合には、傾斜制御装置130は、許容最大値Tmを、第3値Tm13よりも小さい第1値Tm11に制限する。従って、車両10は、旋回の安定性の低下を抑制しつつ、狭い道で容易に旋回できる。このように、本実施例は、車両10の旋回の自由度を向上できる。
B.第2実施例:
図17は、第1傾斜制御処理(S130:図10)の第2実施例を示すフローチャートである。第2実施例の処理は、図13の処理のS230を、S223、S225、S228に置換して得られる処理と、同じである。図17のステップのうち、図13のステップと同じステップには、同じ符号を付して、説明を省略する。
S220の次のS223では、目標傾斜角決定部113(図11)は、ストローク位置SPを示す情報を参照して、車体90の状態が予め決められた高重心状態であるか否かを判断する。本実施例では、ストローク位置SPに対応付けられた右サスペンション70Rの全長Ls(図16(C))が予め決められた閾値以下であるという高重心条件が満たされる場合に、目標傾斜角決定部113は、重心90cの状態が高重心状態であると判断する。高重心条件が満たされる場合には、高重心条件が満たされない場合と比べて、車体90の重量Wが重いので、重心90cの高さHが高いと推定される。なお、全長Lsの閾値は、無人状態(図14(A))での全長Lsよりも小さい値に決定される。また、全長Lsの閾値は、乗員が車体90に乗っている場合に高重心条件が満たされるように、決定される。このように、高重心条件は、乗員を検出できる。
乗員が車体90に乗っていない状態で車両10が走行する場合としては、種々の場合があり得る。例えば、ユーザは、座席11に座らずに、道路を歩きながら、ハンドル41a等を操作しつつ、車両10を移動させる場合がある。この場合には、高重心条件が満たされない。
本実施例では、目標傾斜角決定部113は、ストローク位置SPを用いて、高重心条件が満たされるが否かを判断する。例えば、ストローク位置SPの全範囲が、全長Lsの閾値に対応する位置で、第1範囲と第2範囲とに予め区分される。目標傾斜角決定部113は、ストローク位置SPが第1範囲内である場合に、高重心条件が満たされると判断し、ストローク位置SPが第2範囲内である場合に、高重心条件が満たされないと判断する。
高重心条件が満たされる場合(S223:Yes)、S225で、目標傾斜角決定部113は、第1目標傾斜角T1の第1決定処理を実行する。高重心条件が満たされない場合(S223:No)、S228で、目標傾斜角決定部113は、第1目標傾斜角T1の第2決定処理を実行する。
図18(A)、図18(B)は、第1目標傾斜角T1の説明図である。図18(A)は、図16(B)と同様の速度Vと絶対目標角Tabとの対応関係の例を示すグラフである。第1グラフTabaは、第1決定処理(図17:S225)で決定される第1目標傾斜角T1示している。第2グラフTabbは、第2決定処理(図17:S228)で決定される第1目標傾斜角T1を示している。各グラフTaba、Tabbは、ハンドル角Aiが一定である場合の対応関係を示している。
第1グラフTabaに関しては、絶対目標角Tabは、車速Vが第1閾値Va以下である場合に、ゼロである。車速Vが第1閾値Vaを超える範囲では、絶対目標角Tabは、ゼロよりも大きく、車速Vの増大に応じて増大する。第1閾値Vaは、ゼロよりも大きく、例えば、5km/hである。
第2グラフTabbに関しては、絶対目標角Tabは、車速Vが第2閾値Vb以下である場合に、ゼロである。車速Vが第2閾値Vbを超える範囲では、絶対目標角Tabは、ゼロよりも大きく、車速Vの増大に応じて増大する。第2閾値Vbは、第1閾値Vaよりも大きく、例えば、20km/hである。
車速Vが第1閾値Vaを超える範囲では、車速Vが同じ場合に、第1グラフTabaの絶対目標角Tabは、第2グラフTabbの絶対目標角Tabよりも大きい。
ハンドル角Aiと第1目標傾斜角T1との対応関係は、図16(A)と同様である。本実施例では、傾斜角マップデータMT(図9)は、第1グラフTabaに対応する第1マップデータと、第2グラフTabbに対応する第2マップデータと、を含んでいる。各マップデータは、上記のハンドル角Aiと車速Vと絶対目標角Tabとの対応関係を総合することによって、予め決められている。
図18(B)は、図16(F)と同様の推定高Hと許容最大値Tmとの対応関係の例を示すグラフである。図中の推定高Hの閾値Hthは、S223(図17)の高重心条件で用いられる全長Lsの閾値に対応する高さHである。推定高Hが閾値Hth未満である場合、許容最大値Tmは、第1値Tm21である。推定高Hが閾値Hth以上である場合、許容最大値Tmは、第1値Tm21よりも大きい第2値Tm22である。
S225(図17)では、目標傾斜角決定部113は、傾斜角マップデータMT(図9)のうちの第1グラフTaba(図18(A))に対応するマップデータを参照して、ハンドル角Aiと車速Vとの組み合わせに対応付けられた第1目標傾斜角T1を特定する。S228では、目標傾斜角決定部113は、傾斜角マップデータMTのうちの第2グラフTabbに対応するマップデータを参照して、ハンドル角Aiと車速Vとの組み合わせに対応付けられた第1目標傾斜角T1を特定する。S225、または、S228で第1目標傾斜角T1が決定された後、S240~S270の処理が実行される。そして、図17の処理、すなわち、図10のS130が終了する。
以上のように、本実施例では、目標傾斜角決定部113は、ストローク位置センサ70sからの情報であるストローク位置SPを用いて、乗員を検出する。ストローク位置センサ70sは、乗員を検出するように構成されている乗員センサの例である。ストローク位置SPは、ストローク位置センサ70sによって乗員が検出されたか否かを示している。高重心条件が満たされる場合(図17:S223:Yes)、すなわち、乗員が検出される場合、傾斜制御装置130は、許容最大値Tmを、相対的に大きな第2値Tm22に制限する(図18(B))。この場合、大きな傾斜角Tが許容されるので、車両10は安定して旋回できる。一方、高重心条件が満たされない場合(図17:S223:No)、すなわち、乗員が検出されない場合、傾斜制御装置130は、許容最大値Tmを、第2値Tm22よりも小さい第1値Tm21に制限する。従って、車両10は、旋回の安定性の低下を抑制しつつ、狭い道で容易に旋回できる。このように、本実施例は、車両10の旋回の自由度を向上できる。
なお、高重心条件が満たされない場合、S228(図17)で、目標傾斜角決定部113は、車速Vに拘わらずに、第1目標傾斜角T1をゼロに決定してよい。すなわち、高重心条件が満たされない場合、傾斜角Tの許容最大値Tmは、ゼロであってよい。
C.第3実施例(特定情報取得装置の他の実施例):
図19は、車体の重心の高さと相関を有する特定情報を取得するセンサの別の実施例の説明図である。図中には、簡略化された車両10aの側面図が示されている。図19の車両10aと図1の車両10との間の差違は、ストローク位置センサ70s(図1)が省略されて、着座センサ11dが座席11に設けられている点だけである。着座センサ11dは、乗員の着座を検出するセンサである。着座センサ11dは、例えば、スイッチを含み、座面11sの下に配置されている。着座センサ11dのスイッチの状態は、乗員が不在の場合、オフ状態である。スイッチの状態は、乗員が座席11に座ることによって、乗員からの荷重によってオン状態になる。着座センサ11dは、図17の実施例において、ストローク位置センサ70sの代わりに利用されてよい。S223では、目標傾斜角決定部113(図11)は、着座センサ11dからの情報を参照して、乗員が検出されるか否かを判断する。目標傾斜角決定部113は、乗員が検出される場合には高重心条件が満たされると判断し、乗員が検出されない場合には高重心条件が満たされないと判断する。
図20(A)は、特定情報取得装置の他の実施例の説明図である。図20(A)には、車両10の簡略化された背面図が示されている。図中では、車体90は、傾斜角Tdで右方向DR側に傾斜している。この状態で車体90を静止させるためには、リーンモータ25は、車体90を左方向DLへロールさせる方向のトルクを生成する。図中の第1トルクTQaは、車体90の重心90cが低い場合のトルクを示し、第2トルクTQbは、重心90cが高い場合のトルクを示している。本実施例では、重心90cの高さが高いほど、重心90cは、車体90の回転の軸受39から遠い。従って、第2トルクTQbは、第1トルクTQaと比べて、大きい。このように、予め決められた傾斜角Tdで車体90を静止させる場合のリーンモータ25のトルクは、車体90の重心90cの高さと相関を有する特定情報の例である。主制御部110(図11)は、リーンモータ25の電流の大きさを用いて、トルクを特定してよい。電流が大きいほどトルクが大きいので、電流が大きいほど、重心90cは高いと推定される。リーンモータ制御部400の電力制御部400cは、リーンモータ25の電流を測定する電流センサを備えてよい。主制御部110は、電流センサからの情報を用いて、重心90cの高さを推定してよい。この場合、主制御部110とリーンモータ制御部400とのうちの重心90cの高さを推定するように構成されている部分(電流センサを含む)は、特定情報取得装置の例である。なお、車体90は、左方向DL側に傾斜してよい。
図20(B)は、特定情報取得装置の他の実施例の説明図である。図20(B)には、車両10の簡略化された背面図が示されている。図中では、車体90は、ゼロの傾斜角Tで静止している。この状態で、リーンモータ25は、車体90を左方向DLへロールさせる方向のトルクTQcを生成する。このトルクTQcにより、車体90は、左方向DLへロールする。トルクTQcの大きさが一定である場合、重心90cの高さが高いほど、傾斜角Tの変化の速さ(すなわち、角速度)は遅い。このように、予め決められたトルクTQcで車体90をロールさせる場合の車体90の角速度は、車体90の重心90cの高さと相関を有する特定情報の例である。主制御部110(図11)は、予め決められた電流をリーンモータ25に供給する場合の傾斜角Tの変化速度(すなわち、角速度)を用いて、重心90cの高さを推定できる。角速度が遅いほど、重心90cは高いと推定される。なお、トルクTQcの方向は、車体90を右方向DRへロールさせる方向であってよい。
また、図示を省略するが、車体90の左右の振動数を用いて、重心90cの高さが推定されてよい。主制御部110は、予め決められた振動数で左右に振動するトルクをリーンモータ25に生成させる。この場合、車体90は、左右に振動する。車体90の振動数(すなわち、傾斜角Tの振動数)が遅いほど、重心90cは高いと推定される。傾斜角Tの振動数は、特定情報の例である。
ここで、主制御部110とリーンモータ制御部400とのうちの重心90cの高さを推定するように構成されている部分と傾斜角センサ127との全体は、特定情報取得装置の例である。
図20(A)、図20(B)で説明した重心90cの高さの推定は、車両10が静止している種々のタイミングで行われてよい。例えば、主制御部110は、制御装置100の起動時に、高さの推定を行ってよい。また、重心90cの推定された高さは、図13、図17の実施例で用いられてよい。
D.第4実施例:
図21は、主制御部の別の実施例の説明図である。本実施例の主制御部110aの構成は、図11の主制御部110に自動運転制御部118を追加して得られる構成と同じである(自動運転制御部118以外の構成については、図示を省略する)。自動運転制御部118は、他の処理部112~117と同様に、プロセッサ110p(図9)によって実現されている。自動運転制御部118は、無人状態の車両10を運転する処理を実行する。このような処理としては、種々の処理を採用可能である。例えば、自動運転制御部118は、図示しないGPS(Global Positioning System)を用いて特定される車両10の位置を参照して、予め決められた経路に沿って走行する処理を実行してよい。いずれの場合も、傾斜角Tの制御処理としては、上述の任意の実施例の制御処理が、採用されてよい。無人状態では、傾斜角Tの許容最大値Tmが小さい値に制限されるので、車両10は、狭い道で容易に旋回できる。また、許容最大値Tmが小さい値に制限される場合、乗り心地が変化し得る。無人状態では、乗り心地の変化を考慮せずに、許容最大値Tmを制限されてよい。
E.変形例:
(1)特定情報取得装置は、車体の重心の高さと相関を有する特定情報を取得するように構成されている任意の装置であってよい。例えば、ストローク位置センサ70s(図1)は、右サスペンション70Rに代えて、左サスペンション70Lに取り付けられてよい。また、前フォーク17のサスペンションに取り付けられたストローク位置センサが、用いられてもよい。複数のサスペンションの複数のストローク位置センサが、用いられてよい。車輪のホイールに歪みセンサ(例えば、歪みゲージ)が取り付けられてよい。ホイールは、車体の重量を受けて、変形する。この変形量が大きいほど、車体の重量が重い。従って、歪みセンサによって測定される歪み量(すなわち、ホイールの変形量)は、ストローク位置SPと同様に、特定情報として利用可能である。また、歪みセンサは、ホイールに代えてタイヤに取り付けられてよい。いずれの場合も、複数のセンサが用いられる場合、傾斜角マップデータMT(図9)は、複数のセンサの複数の測定値を用いて第1目標傾斜角T1が決定されるように、構成されてよい。
(2)第1目標傾斜角T1と他のパラメータ(例えば、V、Ai、SP、H)との対応関係は、図16(A)~図16(F)、図18(A)、図18(B)で説明した対応関係に代えて、他の種々の対応関係であってよい。例えば、図16(E)において、推定高Hの全範囲において、推定高Hの増大に応じて絶対目標角Tabが増大してよい。また、図16(A)~図16(F)の各対応関係を示すグラフの形状は、図示されたグラフの形状と異なっていてよい。いずれの場合も、絶対目標角Tabは、基準傾斜角の絶対値以下であることが好ましい。
また、第1目標傾斜角T1の決定方法は、上記各実施例の決定方法に代えて、他の種々の方法であってよい。例えば、目標傾斜角決定部113は、ハンドル角Aiと車速Vと特定情報(例えば、ストローク位置SP)に加えて、他のパラメータを用いて、第1目標傾斜角T1を決定してよい。また、車速Vの全範囲のうちの少なくとも一部の範囲である特定範囲において、第1目標傾斜角T1は、車速Vから独立であってよい。すなわち、ハンドル角Aiが一定である場合に、第1目標傾斜角T1は、車速Vに拘わらずに、一定であってよい。特定範囲は、例えば、車速Vが予め決められた車速閾値(例えば、15km/h)を超える範囲であってよい。車速Vが車速閾値以下であり、かつ、ハンドル角Aiが一定である場合には、第1目標傾斜角T1は、車速Vが速いほど大きくなるように、調整されてよい。また、車速Vの全範囲において、第1目標傾斜角T1は、車速Vを用いずに、ハンドル角Aiを用いて決定されてよい。この場合、傾斜角マップデータMT(図9)は、車速Vを用いずにハンドル角Aiを用いて第1目標傾斜角T1が決定されるように構成されてよい。
(3)傾斜装置の構成は、図4等で説明したリンク機構30の構成に代えて、車体を幅方向に傾斜させるように構成されている他の種々の構成であってよい。例えば、リンク機構30が台に置換されてよい。台には、駆動モータ51L、51Rが固定される。そして、第1支持部82は、軸受によって、幅方向に回転可能に台に連結される。リーンモータ25は、台に対して、第1支持部82を、幅方向に回転させる。これにより、車体90は、右方向DR側と左方向DL側とのそれぞれに、傾斜できる。また、傾斜装置は、左スライド装置と右スライド装置を備えてよい(例えば、液圧シリンダ)。左スライド装置が、左後輪12Lと車体とを接続し、右スライド装置が、右後輪12Rと車体とを接続してもよい。各スライド装置は、車体に対する車輪の車体上方向DVUの相対位置を変化させることができる。
一般的には、傾斜装置は、「車体の幅方向に互いに離れて配置された一対の車輪(例えば、左駆動輪と右駆動輪)の少なくとも一方に直接的または間接的に接続された第1部材」と、「車体に直接的または間接的に接続された第2部材」と、「第1部材を第2部材に可動に接続する接続装置」を含んでよい。図4の実施例では、上横リンク部材31Uは、縦リンク部材33L、33Rとモータ51L、51Rを介して車輪12L、12Rに接続された第1部材の例である。中縦リンク部材21は、第1支持部82とサスペンションシステム70とを介して車体90に接続された第2部材の例である。軸受39は、第1部材を第2部材に可動に接続する接続装置の例である。傾斜装置は、車体に対する一対の車輪のそれぞれの相対的な位置(例えば、少なくとも車体上方向DVUの相対的な位置)を変更するように構成されてよい。
(4)傾斜駆動装置の構成は、図4等で説明したリーンモータ25の構成に代えて、傾斜装置を駆動するように構成されている他の種々の構成であってよい。傾斜駆動装置は、リーンモータ25のような電気モータを含んでよい。また、傾斜装置が液圧シリンダを含む場合、駆動装置は、ポンプを含んでよい。傾斜駆動装置は、傾斜装置の第1部材と第2部材との相対的な位置を変化させる力(例えば、第1部材に対する第2部材の向きを変化させるトルク)を第1部材と第2部材とに印加する種々の装置であってよい。
(5)車両の制御処理は、図10~図13、図17で説明した処理に代えて、他の種々の処理であってよい。例えば、図10のS150、S160では、第1目標傾斜角T1に代えて、第1目標傾斜角T1の絶対値よりも小さい絶対値を有する第2目標傾斜角T2が、利用されてよい。
(5)複数の車輪の総数と配置としては、種々の構成を採用可能である。例えば、前輪の総数が2であり、後輪の総数が1であってもよい。前輪の総数が2であり、後輪の総数が2であってもよい。図1の実施例において、前輪12Fが駆動輪であってよい。車体に支持されている回動輪の総数は、1以上の任意の数であってよい。図1の実施例において、後輪12L、12Rが、回動輪であってよい。前輪と後輪との少なくとも一方が、1以上の回動輪を含んでよい。回動輪は、車両の幅方向に互いに離れて配置された一対の車輪を含んでよい。
(6)回動輪の方向が車体の幅方向に回動可能であるように回動輪を支持する回動輪支持装置の構成は、図1等で説明した支持装置41の構成に代えて、他の種々の構成であってよい。例えば、回動輪を回転可能に支持する支持部材は、フォーク17に代えて、片持ちの部材であってよい。また、支持部材を車体に対して幅方向に回動可能に支持する回動装置は、軸受68に代えて、他の種々の装置であってよい。例えば、回動装置は、車体と支持部材とを連結するリンク機構であってよい。一般的には、車体に固定された回動輪支持装置が、回動輪の方向が車体の幅方向に回動可能であるように回動輪を支持することが好ましい。
ここで、回動輪支持装置は、K個(Kは1以上の整数)の支持部材を備えてよい。各支持部材は、1以上の回動輪を回転可能に支持してよい。そして、回動輪支持装置は、車体に固定されたK個の回動装置を備えてよい。K個の回動装置は、K個の支持部材を、それぞれ幅方向に回動可能に支持してよい。
(7)回動輪の方向を幅方向に回動させる回動トルクを生成する操舵駆動装置の構成は、図1等で説明した操舵モータ65の構成に代えて、他の種々の構成であってよい。例えば、操舵駆動装置は、ポンプを含み、ポンプからの液圧(例えば、油圧)を用いて回動トルクを生成してよい。いずれの場合も、操舵駆動装置は、K個の支持部材のそれぞれに回動トルクを印加するように構成されてよい。例えば、操舵駆動装置は、K個の支持部材のそれぞれに連結されてよい。
(8)操作入力部は、ハンドル41a(図1)のように左と右とに回転可能な装置に代えて、旋回方向と旋回の程度とを示す操作量を入力するために操作されるように構成された他の種々の装置であってよい。例えば、操作入力部は、予め決められた基準方向(例えば、直立方向)から左と右とに傾斜可能なレバーを含んでよい。
(9)制御装置100の構成は、傾斜駆動装置(例えば、リーンモータ25)を制御するように構成された装置を含む種々の構成であってよい。例えば、制御装置100は、1つのコンピュータを用いて構成されてもよい。制御装置100の少なくとも一部は、ASIC(Application Specific Integrated Circuit)などの専用のハードウェアによって、構成されてよい。例えば、図11のリーンモータ制御部400と操舵モータ制御部500とは、ASICによって構成されてよい。また、制御装置100は、種々の電気回路であってよく、例えば、コンピュータを含む電気回路であってよく、コンピュータを含まない電気回路であってもよい。また、マップデータ(例えば、傾斜角マップデータMTなど)によって対応付けられる入力値と出力値とは、他の要素によって対応付けられてよい。例えば、数学的関数、アナログ電気回路などの要素が、入力値と出力値とを対応付けてよい。
(10)車両の構成は、上記の実施例と変形例とのそれぞれの構成に代えて、他の種々の構成であってよい。例えば、図4の実施例において、モータ51L、51Rは、サスペンションを介して、リンク機構30に接続されてもよい。駆動輪を駆動する駆動装置は、電気モータに代えて、車輪を回転させるトルクを生成する任意の装置であってよい(例えば、内燃機関)。車両の最大定員数は、1人に代えて、2人以上であってよい。車両の制御に用いられる対応関係(例えば、マップデータMT、MAFによって示される対応関係)は、車両が適切に走行できるように、実験的に決定されてよい。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図9の制御装置100の機能を、専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。