A.第1実施例:
A1.車両10の構成:
図1(A)-図1(C)、図2は、移動装置の一実施例である車両10を示す説明図である。図1(A)は、車両10の右側面図を示し、図1(B)は、車両10の上面図を示し、図1(C)は、車両10の下面図を示し、図2は、車両10の背面図を示している。図1(A)-図1(C)、図2には、水平な地面GL(図1(A))上に配置され、傾斜していない状態の車両10が、示されている。図1(A)-図1(C)、図2には、6つの方向DF、DB、DU、DD、DR、DLが示されている。前方向DFは、車両10の前方向(すなわち、前進方向)であり、後方向DBは、前方向DFの反対方向である。上方向DUは、鉛直上方向であり、下方向DDは、鉛直下方向(すなわち、上方向DUの反対方向)である。鉛直下方向は、重力の方向である。右方向DRは、前方向DFに走行する車両10から見た右方向であり、左方向DLは、右方向DRの反対方向である。方向DF、DB、DR、DLは、いずれも、水平な方向である。右と左の方向DR、DLは、前方向DFに垂直である。
本実施例では、車両10は、一人乗り用の小型車両である。車両10(図1(A)、図1(B))は、車体90と、前輪12Fと、左後輪12Lと、右後輪12Rと、を有する三輪車である。前輪12Fは、回動輪の例であり、車両10の幅方向の中心に配置されている。回動輪は、車両10の幅方向(すなわち、右方向と左方向)に回動可能な車輪である。回動輪の進行方向は、前方向DFから右と左とに回転可能である。本実施例では、前輪12Fは、回動可能であるように、車体90に支持されている。後輪12R、12Lは、駆動輪である。後輪12R、12Lは、車両10の幅方向の中心に対して対称に、互いに離れて配置されている。
車体90(図1(A))は、本体部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に取り付けられたハンドル41aと、を有している。図示を省略するが、本体部20には、他の部材(例えば、屋根、前照灯など)が固定され得る。車体90は、本体部20に固定された部材を含んでいる。
前輪支持装置41(図1(A))は、回動軸Ax1を中心に回動可能に前輪12Fを支持する装置である。前輪支持装置41は、前フォーク17と、軸受68と、操舵モータ65と、を有している。前フォーク17は、前輪12Fを回転可能に支持しており、例えば、コイルスプリングとショックアブソーバとを有するテレスコピックタイプのフォークである。軸受68は、本体部20の前壁部20aと、前フォーク17と、を連結している。軸受68は、回動軸Ax1を中心に、前フォーク17(ひいては、前輪12F)を、車体90に対して左右に回転可能に支持している。前フォーク17の回転可能範囲は、予め決められた角度範囲(例えば、180度未満の範囲)であってよい。例えば、前フォーク17が車体90の他の部分に接触することによって、角度範囲が制限されてよい。操舵モータ65は、電気モータであり、本体部20の前壁部20aと前フォーク17とに接続されている。操舵モータ65は、前フォーク17(ひいては、前輪12F)を幅方向(すなわち、右方向と左方向)に回動させるトルクを生成する。このように、操舵モータ65は、前輪12Fの幅方向の回動を制御するトルクである回動トルクを前輪12Fに付与するように構成されている(以下、回動駆動装置65とも呼ぶ)。
ハンドル41aは、右方向と左方向とに回転可能な部材である。直進を示す所定の回転位置(直進回転位置と呼ぶ)に対するハンドル41aの回転角度(入力角とも呼ぶ)は、旋回の目標方向と旋回の目標程度とを表す旋回目標情報の例である。本実施例では、「入力角=ゼロ」は、直進を示し、「入力角>ゼロ」は、右旋回を示し、「入力角<ゼロ」は、左旋回を示している。入力角の大きさ(すなわち、絶対値)は、旋回の目標程度を示している。運転者は、ハンドル41aを操作することによって、旋回目標情報を入力できる。
なお、本実施例では、ハンドル41aと前フォーク17とは、機械的には接続されていない。ただし、弾性体(例えば、コイルバネや板バネなどのバネ、ゴムやシリコンなどの樹脂)が、ハンドル41aと前フォーク17とを接続してもよい。
車輪角Aw(図1(B))は、車体90に対する前輪12Fの方向を示す角度である。本実施例では、車輪角Awは、前方向DFを基準とする、前輪12Fの進行方向D12の角度である。車輪角Awは、車体90の上方向(車体90が鉛直上方向DUに対して傾斜していない場合には、鉛直上方向DUと同じ)に平行な軸まわりの角度を示している。進行方向D12は、前輪12Fの回転軸Axw1に垂直な方向である。本実施例では、「Aw=ゼロ」は、「方向D12=前方向DF」を示している。「Aw>ゼロ」は、方向D12が右方向DR側を向いていることを示している(旋回方向=右方向DR)。「Aw<ゼロ」は、方向D12が左方向DL側を向いていることを示している(旋回方向=左方向DL)。車輪角Awは、前輪12Fの回動の角度を示している。前輪12Fが操舵される場合、車輪角Awは、いわゆる操舵角に対応する。
操舵モータ65は、制御装置100(図1(A))によって制御される。操舵モータ65によって生成される回動トルクが小さい場合、前輪12Fの方向D12が入力角とは独立に左または右に回動することが許容される。操舵モータ65の制御の詳細については、後述する。
図1(A)中の角度CAは、いわゆるキャスター角である。キャスター角CAは、車体90の上方向(車体90が鉛直上方向DUに対して傾斜していない場合には、鉛直上方向DUと同じ)と、回動軸Ax1に沿って鉛直上方向DU側へ向かう方向と、のなす角度である。本実施例では、キャスター角CAがゼロよりも大きい。従って、回動軸Ax1に沿って鉛直上方向DU側へ向かう方向は、斜め後ろに傾斜している。
図1(A)に示すように、本実施例では、前輪支持装置41の回動軸Ax1と地面GLとの交点P2は、前輪12Fの地面GLとの接触中心P1よりも、前方向DF側に位置している。これらの点P1、P2の間の後方向DBの距離Ltは、トレールと呼ばれる。正のトレールLtは、接触中心P1が交点P2よりも後方向DB側に位置していることを示している。なお、図1(A)、図1(C)に示すように、接触中心P1は、前輪12Fと地面GLとの接触領域Ca1の重心である。接触領域の重心は、接触領域内に質量が均等に分布していると仮定する場合の重心の位置である。右後輪12Rと地面GLとの接触領域CaRの接触中心PbRと、左後輪12Lと地面GLとの接触領域CaLの接触中心PbLとも、同様に決定される。
図2に示すように、2つの後輪12R、12Lは、後輪支持部80に回転可能に支持されている。後輪支持部80は、リンク機構30と、リンク機構30の上部に固定されたリーンモータ25と、リンク機構30の上部に固定された第1支持部82と、リンク機構30の前部に固定された第2支持部83(図1(A))と、を有している。説明のために、図1(A)では、後輪支持部80のうちの右後輪12Rに隠れている部分も実線で示されている。図1(B)では、本体部20に隠れている後輪支持部80と後輪12R、12Lと後述する連結棒75とが、実線で示されている。図1(A)~図1(C)では、リンク機構30が簡略化して示されている。
第1支持部82(図2)は、後輪12R、12Lの上方向DU側において、右方向DRに平行に延びる板状の部分を含んでいる。第2支持部83(図1(A)、図1(B))は、リンク機構30の前方向DF側の、左後輪12Lと右後輪12Rとの間に配置されている。
右後輪12R(図1(B)、図2)は、右駆動モータ51Rに接続されている。右駆動モータ51Rは、電気モータであり、後輪支持部80の右側の部分に固定されている。右駆動モータ51Rの回転軸Axw2(図2)は、右後輪12Rの回転軸と同じである。左後輪12Lと左駆動モータ51Lとの構成は、右後輪12Rと右駆動モータ51Rとの構成と、それぞれ同様である。これらの駆動モータ51L、51Rは、後輪12R、12Lを直接的に駆動するインホイールモータである。以下、左駆動モータ51Lと右駆動モータ51Rとの全体を、駆動システム51Sとも呼ぶ。
図1(A)-図1(C)、図2には、車体90が水平な地面GL上で傾斜せずに直立している状態(後述するロール角Arがゼロである状態)が、示されている。以下、この状態を、直立状態と呼ぶ。直立状態で、左後輪12Lの回転軸Axw3(図2)と右後輪12Rの回転軸Axw2とは、同じ直線上に位置しており、右方向DRに平行である。
リンク機構30(図2)は、いわゆる、平行リンクである。リンク機構30は、右方向DRに向かって順番に並ぶ3つの縦リンク部材33L、21、33Rと、下方向DDに向かって順番に並ぶ2つの横リンク部材31U、31Dと、を有している。水平な地面GL上で車体90が傾斜せずに直立している場合、縦リンク部材33L、21、33Rは、鉛直方向に平行であり、横リンク部材31U、31Dは、水平方向に平行である。2つの縦リンク部材33L、33Rと、2つの横リンク部材31U、31Dとは、平行四辺形リンク機構を形成している。中縦リンク部材21は、横リンク部材31U、31Dの中央部分を連結している。これらのリンク部材33L、33R、31U、31D、21は、互いに回転可能に連結されている。本実施例では、回転軸は、前方向DFに平行である。互いに連結された2個のリンク部材は、予め決められた角度範囲(例えば、180度未満の範囲)内で、回転軸を中心に相対的に回転可能であってよい。左縦リンク部材33Lには、左駆動モータ51Lが固定されている。右縦リンク部材33Rには、右駆動モータ51Rが固定されている。中縦リンク部材21の上部には、第1支持部82と第2支持部83(図1(A))とが、固定されている。リンク部材33L、21、33R、31U、31Dと、支持部82、83とは、例えば、金属で形成されている。
本実施例では、リンク機構30は、複数のリンク部材を回転可能に連結するための軸受けを有している。例えば、軸受38は、下横リンク部材31Dと中縦リンク部材21とを回転可能に連結し、軸受39は、上横リンク部材31Uと中縦リンク部材21とを回転可能に連結している。説明を省略するが、他の複数のリンク部材も、軸受けによって連結されている。
リーンモータ25は、リンク機構30を駆動するように構成されている傾斜駆動装置の例であり、本実施例では、電気モータである。リーンモータ25は、中縦リンク部材21と上横リンク部材31Uとに接続されている。リーンモータ25は、上横リンク部材31Uを、中縦リンク部材21に対して、回転させる。これにより、車両10は、幅方向(すなわち、右方向、または、左方向)に向かって傾斜する。このように傾斜する運動は、ロール運動とも呼ばれる。なお、リーンモータ25と中縦リンク部材21とは、ギヤを介して接続されてよい。また、リーンモータ25と上横リンク部材31Uとは、ギヤを介して接続されてよい。以下、リーンモータ25によって出力されるトルクを、リーンモータトルクとも呼ぶ。リーンモータトルクは、車体90をロールさせる。
図3(A)、図3(B)は、水平な地面GL上の車両10の状態を示す概略図である。図中には、車両10の簡略化された背面図が示されている。図3(A)は、車両10が直立している状態を示し、図3(B)は、車両10が傾斜している状態を示している。図3(A)に示すように、上横リンク部材31Uが中縦リンク部材21に対して直交する場合、全ての車輪12F、12R、12Lが、水平な地面GLに対して直立する。そして、車体90を含む車両10の全体は、地面GLに対して、直立する。図中の車体上方向DVUは、車体90の上方向である。車両10が傾斜していない状態では、車体上方向DVUは、上方向DUと同じである。本実施例では、車体90に対して予め決められた上方向が、車体上方向DVUとして用いられる。
図3(B)に示すように、背面図上で、中縦リンク部材21が上横リンク部材31Uに対して時計回り方向に回転することによって、車体90に対して相対的に、右後輪12Rが車体上方向DVU側に移動し、左後輪12Lが反対側に移動する。この結果、全ての車輪12F、12R、12Lが地面GLに接触した状態で、これらの車輪12F、12R、12Lは、地面GLに対して右方向DR側に傾斜する。そして、車体90を含む車両10の全体は、地面GLに対して、右方向DR側に傾斜する。図示を省略するが、中縦リンク部材21が上横リンク部材31Uに対して反時計回り方向に回転することによって、車両10は、左方向DL側に傾斜する。
このように、リンク機構30は、左後輪12Lと右後輪12Rとのそれぞれの車体上方向DVUの相対位置を変化させることが可能である。なお、本実施例では、横リンク部材31U、31Dは、車体90に回転可能に支持されている(中縦リンク部材21と第1支持部82と後述するサスペンションシステム70とを介して)。そして、後輪12R、12Lは、横リンク部材31U、31Dを含む複数の部材を介して、車体90に接続されている。従って、車体90に対して横リンク部材31U、31Dを回転させることによって、車体90に対する後輪12R、12Lの車体上方向DVUの位置が変化する。また、横リンク部材31U、31Dの回転軸(軸受39、38)は、右後輪12Rと左後輪12Lとの間に配置されている。従って、横リンク部材31U、31Dが回転する場合、右後輪12Rの移動方向は、左後輪12Lの移動方向とは反対の方向である。
図3(B)では、車体上方向DVUは、上方向DUに対して、右方向DR側に傾斜している。以下、前方向DFを向いて車両10を見る場合の、上方向DUと車体上方向DVUとの間の角度を、ロール角Ar、または、傾斜角Arと呼ぶ。ここで、「Ar>ゼロ」は、右方向DR側への傾斜を示し、「Ar<ゼロ」は、左方向DL側への傾斜を示している。車体90のロール角Arは、車体90を有する車両10のロール角Arであるということができる。
図3(B)には、リンク機構30の制御角Acが示されている。制御角Acは、上横リンク部材31Uの向きに対する中縦リンク部材21の向きの角度を示している。図3(B)の背面図において、「Ac=ゼロ」は、上横リンク部材31Uに対して中縦リンク部材21が垂直であることを、示している。「Ac>ゼロ」は、中縦リンク部材21が、上横リンク部材31Uに対して、「Ac=ゼロ」の状態から時計回り方向に回転した状態を示している。図示を省略するが、「Ac<ゼロ」は、中縦リンク部材21が、上横リンク部材31Uに対して、「Ac=ゼロ」の状態から反時計回り方向に回転した状態を示している。図示するように、車両10が、水平な地面GL(すなわち、鉛直上方向DUに垂直な地面GL)上に位置している場合、制御角Acは、ロール角Arと、おおよそ同じである。
図3(A)、図3(B)中の地面GL上の軸AxLは、傾斜軸AxLである。リンク機構30とリーンモータ25とは、車体90を、傾斜軸AxLを中心に、右と左とに傾斜させることができる。以下、傾斜軸AxLを、ロール軸とも呼ぶ。本実施例では、ロール軸AxLは、前輪12Fと地面GLとの接触中心P1を通り、前方向DFに平行な直線である。リンク機構30は、車体90を車両10の幅方向に傾斜させるように構成されている傾斜装置の例である(傾斜装置30とも呼ぶ)。
図3(C)、図3(D)は、図3(A)、図3(B)と同様に、車両10の簡略化された背面図を示している。図3(C)、図3(D)では、地面GLxは、鉛直上方向DUに対して斜めに傾斜している(右側が高く、左側が低い)。図3(C)は、制御角Acがゼロである状態を示している。この状態では、全ての車輪12F、12R、12Lが、地面GLxに対して直立する。そして、車体上方向DVUは、地面GLxに対して垂直であり、また、鉛直上方向DUに対して左方向DL側に傾斜している。
図3(D)は、ロール角Arがゼロである状態を示している。この状態では、上横リンク部材31Uは、地面GLxにおおよそ平行であり、中縦リンク部材21に対して反時計回りの方向に傾斜している。また、車輪12F、12R、12Lは、地面GLに対して傾斜している。
このように、地面GLxが傾斜している場合、車体90のロール角Arは、リンク機構30の制御角Acと、異なり得る。
なお、後輪支持部80は、リンク機構30の動きを止める図示しないロック機構を有している。ロック機構を作動させることによって、制御角Acが固定される。例えば、車両10の駐車時に、制御角Acはゼロに固定される。
図1(B)、図2に示すように、本実施例では、本体部20は、サスペンションシステム70と連結棒75とによって、後輪支持部80に連結されている。サスペンションシステム70は、左サスペンション70Lと右サスペンション70Rとを有している。サスペンション70L、70Rは、それぞれ、本体部20の支持部20dと後輪支持部80の第1支持部82とに接続されている。サスペンション70L、70Rは、コイルスプリング71L、71Rとショックアブソーバ72L、72Rとを有しており、伸縮可能である。サスペンションシステム70は、後輪支持部80と本体部20との間の相対的な動きを、許容する。
連結棒75は、図1(A)、図1(B)に示すように、前方向DFに延びる棒である。連結棒75は、車両10の幅方向の中心に配置されている。連結棒75の前方向DF側の端部は、本体部20の後壁部20cに、回転可能に連結されている(例えば、玉継ぎ手)。連結棒75の後方向DB側の端部は、後輪支持部80の第2支持部83に、回転可能に連結されている(例えば、玉継ぎ手)。
このように、後輪12R、12Lと車体90とは、駆動モータ51R、51Lと、傾斜装置30と、第1支持部82と、第2支持部83と、サスペンションシステム70と、を用いて、連結されている。以下、これらの部材51R、51L、30、82、83、70の全体を、連結装置800とも呼ぶ。
図4は、旋回時の力のバランスの説明図である。図中には、旋回方向が右方向である場合の後輪12R、12Lの背面図が示されている。後述するように、旋回方向が右方向である場合、制御装置100(図1(A))は、後輪12R、12L(ひいては、車体90)が地面GLに対して右方向DRに傾斜するように、操舵モータ65とリーンモータ25を制御する場合がある。このように、車両10は、旋回時に旋回の内側に傾斜する。
図4には、車体90の重心90cが示されている。重心90cは、車体90が乗員(可能なら荷物も)を積んだ状態での重心である。
図中の第1力F1は、車体90に作用する遠心力である。第2力F2は、車体90に作用する重力である。以下、車体90に作用する力は、車体90の重心90cに作用することとする。ここで、車体90の質量をM(kg)とし、重力加速度をg(おおよそ、9.8m/s2)とし、鉛直方向に対する車両10のロール角をAr(度)とし、旋回時の車両10の速度(車速とも呼ばれる)をV(m/s)とし、旋回半径をR(m)とする。第1力F1と第2力F2とは、以下の式1、式2で表される。
(式1)F1=(M*V2)/R
(式2)F2=M*g
ここで、*は、乗算記号(以下、同じ)。
また、図中の力F1bは、第1力F1の、車体上方向DVUに垂直な方向の成分である。力F2bは、第2力F2の、車体上方向DVUに垂直な方向の成分である。力F1bと力F2bとは、以下の式3、式4で表される。
(式3)F1b=F1*cos(Ar)
(式4)F2b=F2*sin(Ar)
ここで、「cos()」は、余弦関数であり、「sin()」は、正弦関数である(以下、同じ)。
力F1bは、車体上方向DVUを左方向DL側に回転させる成分であり、力F2bは、車体上方向DVUを右方向DR側に回転させる成分である。車両10がロール角Ar(さらには、速度Vと旋回半径R)を保ちつつ旋回を続ける場合には、F1bとF2bとの関係は、以下の式5で表される
(式5)F1b=F2b
式5に上記の式1~式4を代入すると、旋回半径Rは、以下の式6で表される。
(式6)R=V2/(g*tan(Ar))
ここで、「tan()」は、正接関数である(以下、同じ)。
式6は、車体90の質量Mに依存せずに、成立する。
図5は、車輪角Awと旋回半径Rとの簡略化された関係を示す説明図である。図中には、下方向DDを向いて見た車輪12F、12R、12Lが示されている。ここで、説明を簡略化するために、ロール角Arがゼロであることとする(すなわち、車体上方向DVUは、下方向DDに平行)。図中では、前輪12Fの進行方向D12は、右方向DRに回動しており、車両10は、右方向DRに旋回する。図中の前中心Cfは、前輪12Fの接触中心P1(図1(C))である。下方向DDを向いて車両10を見る場合、前中心Cfは、前輪12Fの回転軸Axw1を含む直線上に位置している。後中心Cbは、2つの後輪12R、12Lの接触中心PbR、PbL(図1(C))の間の中心である。直立している車両10を下方向DDを向いて見る場合、後中心Cbは、後輪12R、12Lの回転軸Axw2、Axw3を含む直線上の、後輪12R、12Lの間の中央に位置している。車両10の右方向DR側に位置する中心Crは、旋回の中心である。車両10の旋回運動は、車両10の公転運動と、車両10の自転運動と、を含んでいる。中心Crは、公転運動の中心である(公転中心Crとも呼ぶ)。なお、本実施例では、後輪12R、12Lは回動輪ではなく、前輪12Fが回動輪である。従って、自転中心は、後中心Cbとおおよそ同じである。ホイールベースLhは、前中心Cfと後中心Cbとの間の前方向DFの距離である。図1(A)に示すように、ホイールベースLhは、前輪12Fの回転軸Axw1と、後輪12R、12Lの回転軸Axw2、Axw3との間の前方向DFの距離と同じである。
図5に示すように、前中心Cfと後中心Cbと公転中心Crとは、直角三角形を形成する。点Cbの内角は、90度である。点Crの内角は、車輪角Awと同じである。従って、車輪角Awと旋回半径Rとの関係は、以下の式7で表される。
(式7)Aw=arctan(Lh/R)
ここで「arctan()」は、正接関数の逆関数である(以下、同じ)。
上記の式6、式7は、車両10が、速度Vと旋回半径Rとが変化しない状態で、旋回している場合に成立する関係式である。具体的には、式6、式7は、遠心力に起因する力F1b(図4)と重力に起因する力F2bとが釣り合う静的な状態を示している。式7は、車輪角Awと旋回半径Rとの関係を示す良い近似式として、利用可能である。なお、現実の車両10の動きと、図5の簡略化された動きと、の間には、種々の差異が存在する。例えば、車両に作用する現実の力は、動的に変化する。現実の車輪12F、12L、12Rは、地面に対して滑り得る。現実の車輪12F、12L、12Rは、地面に対して傾斜し得る。従って、現実の旋回半径は、式7の旋回半径Rと異なり得る。ただし、式7は、車輪角Awと旋回半径Rとの関係を示す良い近似式として、利用可能である。
また、本実施例では、以下に説明するように、操舵モータ65(図1(A))のトルクが小さい場合、前輪12Fの方向(例えば、進行方向D12(図1(B)))は、ロール角Arの変化に続いて、自然に、ロール角Arの変化の方向へ変化可能である。力F1b、F2b(図4)が釣り合う場合、力F1b、F2bが釣り合わない場合と比べて、車両10の動きの安定性が向上する。ロール角Arで旋回する車両10は、式6で表される旋回半径Rで旋回しようとする。また、車両10(図1(A)、図1(B))が正のトレールLtを有するので、前輪12Fの進行方向D12は、自然に、車両10の進行方向と同じになる。以上により、車両10がロール角Arで旋回する場合、車輪角Awは、式6で表される旋回半径Rと式7とから決定される車輪角Awに近づき得る。
また、本実施例では、車体90のロールは、種々のメカニズムによって、前輪12Fに回動トルクを作用させる。図6(A)、図6(B)は、第1回動トルクTqaの説明図である。図6(A)は、下方向DDを向いて見た車両10の概略を示し、図6(B)は、前方向DFを向いて見た前輪12Fの概略を示している。これらの図は、水平な地面GL上で前進中に、車体90が右方向DR側へ傾斜している状態を、示している。
図1(A)で説明したように、本実施例では、前輪支持装置41は、車体90に固定されている。従って、車体90がロールする場合、前輪支持装置41の回動軸Ax1は、車体90とともにロールする。図6(B)に示すように、車体90が右方向DR側へ傾斜している場合、回動軸Ax1は右方向DR側へ傾斜しており、前輪12Fも右方向DR側へ傾斜している。この状態で、前輪12Fは、地面GLに接触して、車両10の質量の一部を、支えている。従って、前輪12Fは、地面GLから、上方向DUの力Fpaを受ける。力Fpaは、前輪12Fの接触中心P1を含む接地部分に、作用する。力Fpaは、前輪支持装置41の回動軸Ax1に平行な成分Fpaxと、回動軸Ax1に垂直な成分Fpa1と、を含んでいる。垂直成分Fpa1は、左方向DL側を向いており、前輪12Fの接触中心P1に作用する。
本実施例では、トレールLt(図1(A))が正である。従って、図6(A)に示すように、前輪12Fの回動軸Ax1と地面との交点P2は、接触中心P1よりも、前方向DF側に位置している。この結果、垂直成分Fpa1は、前輪12Fの方向D12を右方向DR側に回動させる第1回動トルクTqaを、前輪12Fに作用させる。この力Fpa1は、ロール角Arの絶対値がゼロから増大することに応じて、大きくなる。従って、力Fpa1に起因する第1回動トルクTqaは、ロール角Arの絶対値が大きいほど、大きい。図示を省略するが、車体90が左方向DL側へ傾斜している場合には、前輪12Fには、前輪12Fの方向D12を左方向DL側に回動させる第1回動トルクが、作用する。
また、本実施例では、車体90のロールは、トレールLtに依存せずに、前輪12Fに回動トルクを作用させる。図6(C)は、第2回動トルクTqbの説明図である。第2回動トルクTqbは、いわゆるジャイロモーメントによるトルクである。図中には、前輪12Fの斜視図が示されている。図中には、前輪支持装置41の回動軸Ax1と、前輪12Fの回転軸Axw1と、前軸Ax3と、の概略図が示されている。前軸Ax3は、前輪12Fの重心12Fcを通り、前輪12Fの方向D12に平行な軸である。図6(C)では、前輪12Fの方向D12は、前方向DFと同じである。
車体90がロールする場合には、回動軸Ax1(ひいては、前輪12F)は、車体90とともに、ロールする。車体90が右方向DR側へロールする場合、前輪12Fも、車体90とともに、右方向DR側へロールする。すなわち、前輪12Fには、前軸Ax3を中心に前輪12Fを回転させるトルクTqxが、作用する。また、車両10(図1(A))の前進中、前輪12Fは、回転軸Axw1を中心に回転している。このように回転する物体に回転軸に垂直な軸を中心とする外部トルクが印加される場合、物体には、回転軸と外部トルクの軸とに垂直な軸を中心とするトルクが作用する(ジャイロモーメントとも呼ばれる)。図6(C)の例では、前輪12Fには、回動軸Ax1を中心に進行方向D12を右方向DRへ回動させる第2回動トルクTqbが作用する。そして、前輪12Fは、右方向DRへ回動する。
第2回動トルクTqbの大きさは、前輪12Fの角運動量が大きいほど、すなわち、速度が大きいほど、大きい。このように、速度Vが大きい場合には、車輪12Fは、車体90のロール方向に、自然に回動し得る。
また、車体90のロールは、前輪12Fに別の回動トルクを作用させる。回転する車輪が地面に対して傾斜している場合、車輪の接地部分には、キャンバスラストとも呼ばれる横力が作用し得る。この横力は、車輪を、傾斜方向に旋回させる。例えば、車体90が右方向DR側に傾斜している場合、キャンバスラストは、前輪12Fを右方向DR側へ旋回させる。これにより、前輪12Fの進行方向D12は、右方向DR側へ回動し得る。
図7は、車両10の制御に関する構成を示すブロック図である。車両10は、速度センサ122と、入力角センサ123と、車輪角センサ124と、方向センサ126と、風センサ128と、アクセルペダルセンサ145と、ブレーキペダルセンサ146と、制御装置100と、右駆動モータ51Rと、左駆動モータ51Lと、リーンモータ25と、操舵モータ65と、を有している。
速度センサ122は、車両10の速度を検出するセンサである。本実施例では、速度センサ122は、前フォーク17(図1(A))の下端に取り付けられており、前輪12Fの回転速度を検出する。回転速度は、車両10の速度(車速とも呼ぶ)と相関を有している。従って、回転速度を検出するセンサ122は、速度を検出しているということができる。
入力角センサ123は、ハンドル41aの向き(すなわち、入力角)を検出するセンサである。本実施例では、入力角センサ123は、ハンドル41a(図1(A))に取り付けられている。入力角センサ123は、入力角AI(旋回目標情報の例)を取得するように構成されている旋回目標情報取得装置の例である。
車輪角センサ124は、前輪12Fの車輪角を検出するセンサである。本実施例では、車輪角センサ124は、本体部20の前壁部20a(図1(A))に取り付けられている。車輪角センサ124は、回動軸Ax1まわりの車輪角を検出する(検出角Awxとも呼ぶ)。回動軸Ax1は、車体90とともに、ロールする。また、回動軸Ax1に平行な方向(回動軸Ax1の方向とも呼ぶ)は、車体上方向DVUとは異なり得る。この場合、車体上方向DVUに平行な軸まわりの車輪角Awは、回動軸Ax1の方向と車体上方向DVUとの間の差を用いて検出角Awxを補正することによって、算出される。例えば、車体上方向DVUに対するキャスター角CAがゼロではない場合、近似式「Aw=cos(CA)*Awx」に従って、車輪角Awが算出されてよい。車体上方向DVUに対するキャンバー角がゼロではない場合も、同様である。
方向センサ126は、ロール角Arとヨー角速度を測定するセンサである。本実施例では、方向センサ126は、車体90(図1(A))に固定されている(具体的には、後壁部20c)。また、本実施例では、方向センサ126は、加速度センサ126aと、ジャイロセンサ126gと、制御部126cと、を含んでいる。加速度センサは、任意の方向の加速度を検出するセンサであり、例えば、3軸の加速度センサである。以下、加速度センサ126aによって検出される加速度の方向を、検出方向と呼ぶ。車両10が停止している状態では、検出方向は、鉛直下方向DDと同じである。ジャイロセンサ126gは、任意の方向の回転軸を中心とする角速度を検出するセンサであり、例えば、3軸の角速度センサである。制御部126cは、加速度センサ126aからの信号とジャイロセンサ126gからの信号と速度センサ122からの信号とを用いて、ロール角Arとヨー角速度とを特定する。制御部126cは、例えば、コンピュータを含むデータ処理装置である。
制御部126cは、速度センサ122によって測定される速度Vを用いることによって、車両10の加速度を算出する。そして、制御部126cは、加速度を用いることによって、車両10の加速度に起因する現実の鉛直下方向DDに対する検出方向のずれを検出する(例えば、検出方向の前方向DFまたは後方向DBのずれが検出される)。また、制御部126cは、ジャイロセンサ126gによって測定される角速度を用いることによって、車両10の角速度に起因する現実の鉛直下方向DDに対する検出方向のずれを検出する(例えば、検出方向の右方向DRまたは左方向DLのずれが、検出される)。制御部126cは、検出されたずれを用いて検出方向を修正することによって、鉛直下方向DDを特定する。このように方向センサ126は、車両10の種々の走行状態において、適切な鉛直下方向DDを特定できる。そして、制御部126cは、鉛直下方向DDの反対の鉛直上方向DUを特定し、鉛直上方向DUと予め決められた車体上方向DVUとの間のロール角Arを算出する。このように、方向センサ126と速度センサ122との全体は、ロール角Arを測定するように構成されたロール角センサの例である(以下、ロール角センサ930とも呼ぶ)。なお、ロール角センサの構成は、公知の他の種々の構成であってよい。また、制御部126cは、ジャイロセンサ126gによって測定される角速度から車体上方向DVUに平行な軸を中心とする角速度の成分を特定し、特定した角速度をヨー角速度として採用する。
風センサ128は、横風の方向と横風の強さを測定するセンサである。風の強さは、風速の大きさを示している。車体90が横風を受ける場合、横風は、横方向の力を車体90に作用させる。図8は、風センサ128の例を示す説明図である。図中には、前方向DFを向いて見た車体90の一部が示されている。風センサ128は、2個の気圧センサ128a、128bと、右気圧センサ128aに接続された右チューブ128cと、左気圧センサ128bに接続された左チューブ128dと、を有している。気圧センサ128a、128bは、本体部20に固定されている。右チューブ128cは、車体90の右方向DR側に配置された右開口oRを形成しており、右開口oRと右気圧センサ128aとを連通している。右気圧センサ128aは、右チューブ128c内の気圧である右気圧pR(すなわち、右開口oRにおける気圧とおおよそ同じ)を測定する。左チューブ128dは、車体90の左方向DL側に配置された左開口oLを形成しており、左開口oLと左気圧センサ128bとを連通している。左気圧センサ128bは、左チューブ128d内の気圧である左気圧pL(すなわち、左開口oLにおける気圧とおおよそ同じ)を測定する。
車体90が横風を受ける場合、車体90の風上側の気圧は、車体90の風下側の気圧よりも、高くなる。例えば、横風が左から右方向DRへ流れる場合、pL>pRである。横風が右から左方向DLへ流れる場合、pL<pRである。このように、左気圧pLが右気圧pRと異なる場合、気圧の高い側から気圧の低い側へ流れる横風を、車体90は受けている。また、気圧pL、pRの間の差の絶対値は、横風の強さと正の相関を有している。このように、風センサ128は、横風の方向と横風の強さを測定している。
また、横風は、車体90に外力を作用させる。外力の方向(本実施例では、右、または、左)は、横風の方向と同じである。また、横風が強いほど、外力は強い。以下、左気圧pLから右気圧pRを減算して得られる差分を、「外力指標値Sw」、または、単に「指標値Sw」とも呼ぶ(Sw=pL-pR)。指標値Swは、外力の方向と強さとを示している。また、指標値Swによって示される外力の方向とは反対の方向を、外力上流方向とも呼ぶ。なお、横風に起因する外力は、車体90に対するロールトルクを引き起こし得る。例えば、右方向DRの外力は、車体90を右方向DR側へロールさせるロールトルクを引き起こし得る(逆も同様)。ロールトルクの方向は、外力の方向と同じである。
アクセルペダルセンサ145は、アクセルペダル45(図1(A))に取り付けられており、アクセル操作量を検出する。ブレーキペダルセンサ146は、ブレーキペダル46(図1(A))に取り付けられており、ブレーキ操作量を検出する。
各センサ122、123、124、145、146は、例えば、レゾルバ、または、エンコーダを用いて構成されている。
制御装置100は、主制御部110と、駆動装置制御部300と、リーンモータ制御部400と、操舵モータ制御部500と、を有している。制御装置100は、バッテリ120(図1(A))からの電力を用いて動作する。本実施例では、制御部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には、マップデータMAr、MTL、MTqが、予め格納されている。マップデータMTL、MTqは、後述する他の実施例で用いられる。プロセッサ110p、300p、400p、500pは、それぞれ、対応するプログラム110g、300g、400g、500gを実行することによって、種々の処理を実行する。
制御装置100は、センサ122、123、124、126、128、145、146からの信号を受信する。そして、主制御部110は、受信した信号によって表される情報を用いて、駆動装置制御部300とリーンモータ制御部400と操舵モータ制御部500とに指示を出力する。
本実施例では、主制御部110は、デジタル信号を処理する。図示を省略するが、制御装置100は、アナログ信号をデジタル信号に変換するコンバータを有している。センサがアナログ信号を出力する場合、センサからのアナログ信号は、コンバータによって、デジタル信号に変換される。
駆動装置制御部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は、電気回路(例えば、インバータ回路)を用いて、構成されている。
以下、車両10が前進する場合の制御について説明する。
A2.リーンモータの制御:
図9は、リーンモータ25の制御処理の例を示すフローチャートである。本実施例では、ロール角Arを目標のロール角に近づけるリーンモータトルクを生成するように、リーンモータ25が制御される。S510では、制御装置100(図7)は、センサ122-146から、信号を取得する。そして、主制御部110のプロセッサ110pは、現行の情報、具体的には、速度Vと、入力角AIと、車輪角Awと、ロール角Arと、ヨー角速度Ay’と、気圧pL、pRと、アクセル操作量Paと、ブレーキ操作量Pbとを、特定する。また、プロセッサ110pは、気圧pL、pRを用いて指標値Swを特定する。なお、図9の処理に用いられないパラメータの特定は、省略されてよい。なお、本明細書では、変数の後ろに付された1個のクォーテーションマーク「’」は、時間に関する1階微分を示している。例えば、Ay’は、ヨー角Ayの時間に関する一階微分、すなわち、ヨー角速度を示している。
S522では、プロセッサ110pは、入力角AIを用いて、目標ロール角Artを決定する。入力角AIと目標ロール角Artとの対応関係は、マップデータMAr(図7)によって、予め決められている。プロセッサ110pは、マップデータMArを参照して、入力角AIに対応付けられた目標ロール角Artを採用する。本実施例では、入力角AIの絶対値が大きいほど、目標ロール角Artの絶対値が大きい。また、目標ロール角Artの方向(右、または、左)は、入力角AIによって示される旋回方向と同じである。S524では、プロセッサ110pは、目標ロール角Artから現行のロール角Arを減算することによって、ロール角差dArを算出する。
S526では、プロセッサ110pは、ロール角差dArを用いて、制御値CL1を決定する。制御値CL1は、リーンモータ25によって出力されるトルクを制御するための値である。本実施例では、制御値CL1は、リーンモータ25に供給すべき電流の向きと大きさとを示している。制御値の絶対値は、電流の大きさ(すなわち、トルクの大きさ)を示している。制御値の正負の符号は、電流の向き(すなわち、トルクの方向)を示している(例えば、正は右ロールを示し、負は左ロールを示す)。
本実施例では、プロセッサ110pは、ロール角差dArとPゲインGprとを用いる比例制御によって、制御値CL1を決定する(CL1=Gpr*dAr)。本実施例では、PゲインGprは、予め決められた値である。これに代えて、プロセッサ110pは、種々のパラメータ(例えば、速度V)を用いて、PゲインGprを調整してよい。なお、制御値CL1は、ロール角差dArを用いる種々のフィードバック制御(例えば、比例制御と微分制御と積分制御とのうちの少なくとも1つを含む制御)によって、決定されてよい。
S570では、プロセッサ110pは、制御値CL1を示すデータを、リーンモータ制御部400に供給する。リーンモータ制御部400のプロセッサ400pは、制御値CL1を示すデータを、電力制御部400cに供給する。電力制御部400cは、制御値CL1に従って、リーンモータ25に供給される電力を制御する。リーンモータ25は、供給された電力に応じて、リーンモータトルクを出力する。そして、図9の処理が終了する。制御装置100は、図9の処理を繰り返し実行する。これにより、制御装置100は、車両10の状態に適したリーンモータトルクを出力するように、リーンモータ25を制御し続ける。リーンモータ25は、ロール角Arを目標ロール角Artに近づけるリーンモータトルクを出力する。
A3.操舵モータの制御:
図10は、操舵モータ65の制御処理の例を示すフローチャートである。S210では、制御装置100(図7)は、センサ122、123、124、126、128、145、146から、信号を取得する。そして、主制御部110のプロセッサ110pは、現行の情報、具体的には、速度Vと、入力角AIと、車輪角Awと、ロール角Arと、ヨー角速度Ay’と、気圧pL、pRと、アクセル操作量Paと、ブレーキ操作量Pbとを、特定する。また、プロセッサ110pは、気圧pL、pRを用いて指標値Swを特定する。なお、図10の処理に用いられないパラメータの特定は、省略されてよい。
S222-S226では、プロセッサ110pは、第1制御値Cw1を決定する。S236では、プロセッサ110pは、第2制御値Cw2を決定する。プロセッサ110pは、S222-S226の処理と、S236の処理とを、並列に実行する。各制御値Cw1、Cw2は、操舵モータ65によって出力される回動トルクを制御するための値である。本実施例では、各制御値Cw1、Cw2は、操舵モータ65に供給すべき電流の向きと大きさとを示している。制御値の絶対値は、電流の大きさ(すなわち、回動トルクの大きさ)を示している。制御値の正負の符号は、電流の向き(すなわち、回動トルクの方向)を示している。本実施例では、正の制御値は右回転を示し、負の制御値は左回転を示す。
S222では、プロセッサ110pは、目標車輪角Awtを決定する。目標車輪角Awtは、目標ロール角Art(図9:S522)と速度Vとで車両10が安定して旋回する場合の車輪角Awである(図5)。プロセッサ110pは、このような目標車輪角Awtを、上記の式7に式6を代入して得られる計算式に従って、算出する。これに代えて、プロセッサ110pは、入力角AIと速度Vと目標車輪角Awtとを対応付けるマップを参照してもよい。S224では、プロセッサ110pは、目標車輪角Awtから現行の車輪角Awを減算することによって、車輪角差dAwを算出する。
S226では、プロセッサ110pは、車輪角差dAwを用いて、第1制御値Cw1を決定する。本実施例では、プロセッサ110pは、車輪角差dAwとPゲインGpwとを用いる比例制御によって、第1制御値Cw1を決定する(Cw1=Gpw*dAw)。また、本実施例では、プロセッサ110pは、速度Vが速いほど、PゲインGpwが小さくなるように、PゲインGpwを調整する。この理由は、以下の通りである。
図6(C)で説明したように、速度Vが速い場合には、速度Vが遅い場合と比べて、前輪12Fは、大きなジャイロモーメントによって、容易にロール角Arに適した方向に回動できる。本実施例では、速度Vが大きい場合には、前輪12Fの自然な回動を許容するために、PゲインGpwは小さくなる。PゲインGpwが小さい場合、第1制御値Cw1の大きさが小さいので、第1制御値Cw1によって示される回動トルクの大きさも小さくなる。これにより、前輪12Fの自然な回動が、許容される。また、本実施例では、車両10(図1)が正のトレールLtを有するので、前輪12Fの向き(すなわち、車輪角Aw)は、自然に、車両10の進行方向と同じになる。一方、速度Vが小さい場合には、PゲインGpwが大きいので、第1制御値Cw1の大きさが大きくなり得る。すなわち、第1制御値Cw1によって示される回動トルクの大きさは、大きくなり得る。これにより、車輪角Awは、入力角AIに適した目標車輪角Awtに近づくように、制御される。このように、第1制御値Cw1は、目標車輪角Awtと車輪角Awとのズレを抑制する回動トルクを示している。
なお、速度VとPゲインGpwとの対応関係は、速度Vが大きいほどPゲインGpwが小さくなるような種々の関係であってよい。例えば、速度Vが閾値以下である場合、速度Vの増大に応じてPゲインGpwが低減し、速度Vが閾値を超える場合、PゲインGpwがゼロに設定されてよい。
S236では、プロセッサ110pは、横風に起因する車両10の軌道の変化を抑制するように、第2制御値Cw2を決定する。例えば、車体90が左方向DLの横風を受ける場合、車両10の軌道は、左方向DL側へ移動し得る。横風のような外力は、種々のメカニズムによって、車両10の軌道を移動させ得る。
例えば、左方向DLの横風によって、車体90は左方向DL側へロールし得る。図6(A)-図6(C)で説明したように、車体90が左方向DL側へロールする場合、前輪12Fは、種々のメカニズムによって、左方向DLへ自然に回動し得る。この結果、車両10の軌道は、左方向DLへ移動し得る。
また、左方向DLの横風は、車体90を左方向DLへ移動させ得る。車体90が左方向DLへ移動する場合、前輪支持装置41(図1(A))、ひいては、回動軸Ax1は、左方向DLへ移動する。この結果、前輪12Fの接触中心P1に対して、回動軸Ax1の交点P2が左方向DLへ移動する。本実施例では、車両10は、正のトレールLtを有している。従って、交点P2の移動に起因して、前輪12Fは、左方向DLへ回動する。この結果、車両10の軌道は、左方向DLへ移動し得る。
ここで、右方向DRの回動トルクを前輪12Fに付与することによって、車両10の軌道の変化は抑制される。横風の方向が右方向DRである場合、車両10の軌道は、右方向DR側へ変化し得る。この場合、左方向DLの回動トルクを前輪12Fに付与することによって、車両10の軌道の変化は抑制される。第2制御値Cw2は、このような回動トルクの成分を示している。
S236では、プロセッサ110pは、指標値Swを用いて第2制御値Cw2を決定する。車両10の軌道の変化は、外力が強いほど、大きい。従って、第2制御値Cw2の大きさは、外力が強いほど大きいことが好ましい。また、外力は、指標値Swの絶対値が大きいほど、大きい。本実施例では、プロセッサ110pは、以下の計算式に従って、第2制御値Cw2を決定する。
(式A)Cw2=-k1*Fn1(Sw)
ここで、係数k1はゼロ以上である。第1関数Fn1は、入力された指標値Swに応じて、出力値Fn1(Sw)を決定する。第1関数Fn1は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。例えば、出力値Fn1(Sw)は、Swのべき乗(例えば、Swと同じ、または、Swの2乗)であってよい。また、出力値Fn1(Sw)は、指標値Swの多項式で表されてよい。一般的には、指標値Swがゼロである場合、出力値Fn1(Sw)はゼロである。指標値Swの絶対値が大きいほど、出力値Fn1(Sw)の絶対値は大きい。出力値Fn1(Sw)の正負の符号は、指標値Swの正負の符号と同じである。
図11(A)は、指標値Swと第2制御値Cw2との関係の例を示すグラフである。横軸は、指標値Swを示し、縦軸は、第2制御値Cw2を示している。図示するように、指標値Swの絶対値が大きいほど、第2制御値Cw2の絶対値は、大きくなる(ここでは、Fn1(Sw)=Swであることとしている)。また、本実施例では、第2制御値Cw2の絶対値は、上限値MX1に制限されている。この結果、指標値Swのゼロを含む特定範囲Raの外では、第2制御値Cw2の絶対値は、上限値MX1である。また、横軸に付された符号(DR、または、DL)は、横風の方向を示している。縦軸に付された符号(DR、または、DL)は、第2制御値Cw2に対応付けられた回動トルクの方向を示している。図示するように、回動トルクの方向は、横風の方向とは反対の方向である。このような第2制御値Cw2によって示される回動トルクは、横風に起因する車両10の軌道の変化を抑制できる。
また、本実施例では、プロセッサ110pは、第2制御値Cw2に起因する前輪12Fの意図しない動きを抑制するように、係数k1を調整する。図11(B)は、係数k1の例を示すグラフである。横軸は、車輪角Awを示し、縦軸は、係数k1を示している。図中の釣合車輪角Aw1は、現行のロール角Arと現行の速度Vとで車両10が安定して旋回する場合の車輪角Awである(図5)。車輪角Awの対象範囲R1は、釣合車輪角Aw1を中心とする幅W1の範囲である。この対象範囲R1内では、係数k1は、極大値k1xに設定される。対象範囲R1の外では、車輪角Awが対象範囲R1から遠いほど、係数k1は小さくなる。図11(B)の例では、対象範囲R1の近傍を除いて、係数k1はゼロに設定される。対象範囲R1の外で係数k1が小さくなる理由は、車輪角Awが釣合車輪角Aw1から大きく離れている場合に、大きな第2制御値Cw2に起因する前輪12Fの意図しない動きを抑制するためである。なお、本実施例では、プロセッサ110pは、速度Vが速いほど、幅W1を狭くする。これにより、速度Vが速い場合に、前輪12Fの意図しない動きを更に抑制できる。
図11(C)は、極大値k1xの例を示すグラフである。横軸は、指標値Swの絶対値を示し、縦軸は、極大値k1xを示している。車体90に作用する外力の強さと横風の強さとの関係は、車体90の構造(例えば、車体90の形状)に応じて異なっている。プロセッサ110pは、極大値k1xを、指標値Swに応じて調整してよい。図中には、3種類の極大値k1x1、k1x2、k1x3が示されている。第1極大値k1x1は、指標値Swによらず一定である。第2極大値k1x2は、指標値Swの絶対値が大きいほど、大きい。第3極大値k1x3は、指標値Swの絶対値が大きいほど、小さい。極大値k1xと指標値Swとの対応関係は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。このように決定された対応関係は、極大値k1x1、k1x2、k1x3のように、種々の対応関係であり得る。
図10のS260では、プロセッサ110pは、制御値Cw1、Cw2の合計値である駆動制御値Cwを算出する。S270では、プロセッサ110pは、駆動制御値Cwを示すデータを、操舵モータ制御部500に供給する。操舵モータ制御部500のプロセッサ500pは、駆動制御値Cwを示すデータを、電力制御部500cに供給する。電力制御部500cは、駆動制御値Cwに従って、操舵モータ65に供給される電力を制御する。操舵モータ65は、供給された電力に応じて、回動トルクを出力する。そして、図10の処理が終了する。制御装置100は、図10の処理を繰り返し実行する。これにより、制御装置100は、車両10の状態に適した回動トルクを出力するように、操舵モータ65を制御し続ける。
以上のように、本実施例では、操舵モータ65は、前輪12Fの幅方向の回動を制御する回動トルクを生成するように構成されている。前輪12Fが右方向DRへ回動する場合、車両10の進行方向が右方向DRへ変化するので、車両10のヨー角速度が変化する(逆も同様)。このように、回動トルクは、車両10のヨー角速度を変化させる第1力の例である。操舵モータ65は、第1力を生成するように構成されている力生成装置の例である。制御装置100のうち操舵モータ65を制御するための部分は、力生成装置である操舵モータ65を制御するように構成されている力制御装置の例である。
また、図10のS236-S270で説明したように、制御装置100は、指標値Swを用いて、操舵モータ65を制御する。図8で説明したように、車体90には、横風に起因する外力が作用する。この外力は、車体90に対するロールトルクを引き起こす。指標値Swの正負の符号は、外力の方向を示している(ここでは、横風の方向と同じ)。外力によって引き起こされるロールトルクの方向は、外力の方向と同じである。また、指標値Swの絶対値は、外力の強さ(ここでは、横風の強さと同じ)を示している。このように、指標値Swは、外力によって引き起こされるロールトルクの方向と、外力の強さとを示す外力情報の例である。なお、本実施例では、外力の方向は、右と左とから選択される。
また、図10の処理は、指標値Swを用いて回動トルクを制御する処理である。S260で説明したように、回動トルクを示す駆動制御値Cwは、第2制御値Cw2を含んでいる。図11(A)で説明したように、第2制御値Cw2によって示される回動トルクの方向は、外力の方向とは反対の外力上流方向である。このように、第2制御値Cw2は、車両10の進行方向を外力上流方向側(すなわち、横風の上流側へ向かう方向側)に向かって変化させる成分を示している。そして、図11(A)に示すように、指標値Swの絶対値が第1閾値Sw1よりも大きい場合には、指標値Swの絶対値が第1閾値Sw1よりも小さい場合と比べて、第2制御値Cw2の絶対値は大きい(第1閾値Sw1は、予め決められた閾値であり、特定範囲Ra内)。すなわち、第2制御値Cw2によって示される回動トルクの大きさは、外力が強いほど大きい。図10の処理に含まれるS260、S270は、このような第2制御値Cw2によって示される成分を、回動トルクに追加する処理である。従って、車体90に対するロールトルクを引き起こす外力が車両10に作用する場合に、制御装置100は、軌道のズレを抑制できる。
例えば、入力角AIがゼロであり、ロール角Arがゼロであり、車輪角Awがゼロであり、車両10が直進していると仮定する。車両10が左方向DLの横風をうける場合、操舵モータ65の駆動制御値Cwには、外力上流方向(ここでは、右方向DR)の回動トルクを示す第2制御値Cw2が加算される(図10:S236、S260)。これにより、操舵モータ65は、前輪12Fに、右方向DRの回動トルクを付与する。この結果、車輪角Awは、ゼロに維持され得る。そして、車両10の軌道の左方向DLへのずれは、抑制され得る。例えば、車両10は、直進を維持できる。また、ロール角Arは、図9の制御によって、ゼロに維持され得る。
また、図8で説明したように、風センサ128によって測定される気圧pR、pLは、横風の方向と横風の強さを示す風情報の例である。風センサ128は、風情報を測定するように構成されているセンサの例である。図10のS210では、プロセッサ110pは、風情報(pR、pL)を用いて、指標値Swを決定する(Sw=pL-pR)。指標値Swは、横風の強さが強いほど、外力の強さが大きいことを示している。このように、制御装置100は、適切な指標値Swを決定できるので、制御装置100は、軌道のズレを適切に抑制できる。
また、風センサ128は、車両10の周囲の空気から受ける力を測定する気圧センサ128a、128bを含んでいる。従って、他の力を用いて間接的に横風の強さと方向を推定する場合と比べて、制御装置100は、適切な指標値Swを特定できる。この結果、制御装置100は、軌道のズレを適切に抑制できる。
なお、主制御部110(図7)と駆動装置制御部300とは、駆動モータ51R、51Lを制御する駆動制御装置900として機能する。駆動制御装置900は、アクセル操作量Paに適した加速と、ブレーキ操作量Pbに適した減速と、を行うように、駆動モータ51R、51Lを制御する。
B.第2実施例:
図12は、リーンモータの制御処理の別の実施例のフローチャートである。図9のフローチャートとの差異は、S536、S560が追加され、S570が、S570aに修正されている点だけである。図12の他のステップは、図9の対応するステップと同様である。図12のステップのうち、図9のステップと同じステップには、同じ符号を付して、説明を省略する。なお、S510では、プロセッサ110pは、気圧pL、pRを用いて指標値Swを決定する。
S510の後、プロセッサ110pは、S522-S526の処理と、S536の処理とを、並列に実行する。S536では、プロセッサ110pは、横風に起因する車両10の軌道の変化を抑制するように、第2制御値CL2を決定する。上述したように、車体90が左方向DLの横風を受ける場合、車体90は左方向DLへロールし得る。これにより、前輪12Fは、左方向DLへ自然に回動し得る。以上により、車両10の軌道は、左方向DL側へ変化し得る。ここで、車体90を右方向DRにロールさせるリーンモータトルクを車体90に付与することによって、車体90の左方向DLへのロールは抑制される。そして、車両10の軌道の変化は抑制される。横風の方向が右方向DRである場合、車両10の軌道は、右方向DR側へ変化し得る。車体90を左方向DLへロールさせるリーンモータトルクを車体90に付与することによって、車両10の軌道の変化は抑制される。第2制御値CL2は、このようなリーンモータトルクの成分を示している。
S536では、プロセッサ110pは、指標値Swを用いて第2制御値CL2を決定する。車両10の軌道の変化は、外力が強いほど、大きい。従って、第2制御値CL2の大きさは、外力が強いほど大きいことが好ましい。また、外力は、指標値Swの絶対値が大きいほど、大きい。本実施例では、プロセッサ110pは、以下の計算式に従って、第2制御値CL2を決定する。
(式B)CL2=-k2*Fn2(Sw)
ここで、係数k2はゼロ以上である。第2関数Fn2は、入力された指標値Swに応じて、出力値Fn2(Sw)を決定する。第2関数Fn2は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。例えば、出力値Fn2(Sw)は、Swのべき乗(例えば、Swと同じ、または、Swの2乗)であってよい。また、出力値Fn2(Sw)は、指標値Swの多項式で表されてよい。一般的には、指標値Swがゼロである場合、出力値Fn2(Sw)はゼロである。指標値Swの絶対値が大きいほど、出力値Fn2(Sw)の絶対値は大きい。出力値Fn2(Sw)の正負の符号は、指標値Swの正負の符号と同じである。
図13(A)は、指標値Swと第2制御値CL2との関係の例を示すグラフである。横軸は、指標値Swを示し、縦軸は、第2制御値CL2を示している。図示するように、指標値Swの絶対値が大きいほど、第2制御値CL2の絶対値は、大きくなる。(ここでは、Fn2(Sw)=Swであることとしている)。また、本実施例では、第2制御値CL2の絶対値は、上限値MX2に制限されている。この結果、指標値Swのゼロを含む特定範囲Rbの外では、第2制御値CL2の絶対値は、上限値MX2である。また、横軸に付された符号(DR、または、DL)は、横風の方向を示している。縦軸に付された符号(DR、または、DL)は、第2制御値CL2に対応付けられたリーンモータトルクによるロールの方向を示している。図示するように、リーンモータトルクによるロールの方向は、横風の方向とは反対の方向である。このような第2制御値CL2によって示されるリーンモータトルクは、横風に起因する車両10の軌道の変化を抑制できる。
本実施例では、プロセッサ110pは、第2制御値CL2に起因する車体90の意図しないロールを抑制するように、係数k2を調整する。図13(B)は、係数k2の例を示すグラフである。横軸は、ロール角Arを示し、縦軸は、係数k2を示している。ロール角Arの対象範囲R2は、目標ロール角Art(図12:S522)を中心とする幅W2の範囲である。この対象範囲R2内では、係数k2は、極大値k2xに設定される。対象範囲R2の外では、ロール角Arが対象範囲R2から遠いほど、係数k2は小さくなる。図13(B)の例では、対象範囲R2の近傍を除いて、係数k2はゼロに設定される。対象範囲R2の外で係数k2が小さくなる理由は、ロール角Arが目標ロール角Artから大きく離れている場合に、大きな第2制御値CL2に起因する車体90の意図しないロールを抑制するためである。なお、本実施例では、プロセッサ110pは、速度Vが速いほど、幅W2を狭くする。これにより、速度Vが速い場合に、車体90の意図しないロールを更に抑制できる。
図13(C)は、極大値k2xの例を示すグラフである。横軸は、指標値Swの絶対値を示し、縦軸は、極大値k2xを示している。図11(C)の実施例と同様に、プロセッサ110pは、極大値k2xを、指標値Swに応じて調整してよい。図中には、3種類の極大値k2x1、k2x2、k2x3が示されている。第1極大値k2x1は、指標値Swによらず一定である。第2極大値k2x2は、指標値Swの絶対値が大きいほど、大きい。第3極大値k2x3は、指標値Swの絶対値が大きいほど、小さい。極大値k2xと指標値Swとの対応関係は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。このように決定された対応関係は、極大値k2x1、k2x2、k2x3のように、種々の対応関係であり得る。
図12のS560では、プロセッサ110pは、制御値CL1、CL2の合計値である駆動制御値CLを算出する。S570aの処理は、図9のS570の処理と同様である。ここで、制御値CL1に代えて、駆動制御値CLが用いられる。リーンモータ25は、駆動制御値CLに対応付けられたリーンモータトルクを出力する。そして、図12の処理が終了する。制御装置100は、図12の処理を繰り返し実行する。これにより、制御装置100は、車両10の状態に適したリーンモータトルクを出力するように、リーンモータ25を制御し続ける。
以上のように、本実施例では、リーンモータ25は、車体90の幅方向のロールを制御するリーンモータトルクを生成するように構成されている。リーンモータトルクは、車体90を幅方向にロールさせる第2力の例である。リーンモータ25は、第2力を生成するように構成されている力生成装置の例である。制御装置100のうちリーンモータ25を制御するための部分は、力生成装置であるリーンモータ25を制御するように構成されている力制御装置の例である。
また、図12の530-S570aで説明したように、制御装置100は、指標値Swを用いて、リーンモータ25を制御する。図8等で説明したように、指標値Swは、外力によって引き起こされるロールトルクの方向と、外力の強さとを示す外力情報の例である。
また、図12の処理は、指標値Swを用いてリーンモータトルクを制御する処理である。
S560で説明したように、リーンモータトルクを示す駆動制御値CLは、第2制御値CL2を含んでいる。図13(A)で説明したように、第2制御値CL2によって示されるリーンモータトルクの方向は、外力の方向とは反対の外力上流方向である。このように、第2制御値CL2は、外力上流方向側(すなわち、横風の上流側へ向かう方向側)に向かって車体90をロールさせる成分を示している。そして、図13(A)に示すように、指標値Swの絶対値が第2閾値Sw2よりも大きい場合には、指標値Swの絶対値が第2閾値Sw2よりも小さい場合と比べて、第2制御値CL2の絶対値は大きい(第2閾値Sw2は、予め決められた閾値であり、特定範囲Rb内)。すなわち、第2制御値CL2によって示されるリーンモータトルクの大きさは、外力が強いほど大きい。図12の処理に含まれるS560、S570aは、このような第2制御値CL2によって示される成分を、リーンモータトルクに追加する処理である。従って、車体90に対するロールトルクを引き起こす外力が車両10に作用する場合に、制御装置100は、軌道のズレを抑制できる。
例えば、入力角AIがゼロであり、ロール角Arがゼロであり、車輪角Awがゼロであり、車両10が直進していると仮定する。車両10が左方向DLの横風をうける場合、リーンモータ25の駆動制御値CLには、外力上流方向(ここでは、右方向DR)に車体90をロールさせるリーンモータトルクを示す第2制御値CL2が加算される(図12:S536、S560)。これにより、リーンモータ25は、車体90を右方向DRにロールさせるリーンモータトルクを車体90に付与する。この結果、ロール角Arは、右方向DRへ変化し得る。これにより、前輪12Fには、車輪角Awを右方向DRへ回動させるトルクが作用する。そして、車両10の軌道の左方向DLへのずれは、抑制される。例えば、車両10は、直進を維持できる。
また、車両10(図1(A)-図1(C))は、3個の車輪12F、12R、12Lを備えている。3個の車輪は、幅方向に互いに離れて配置された一対の車輪12R、12Lを含んでいる。車両10は、一対の車輪12R、12Lと車体90とを連結する連結装置800(図1(A)-図1(C)、図2)を備えている。連結装置800は、車体90を幅方向に傾斜させるように構成されている傾斜装置30を含んでいる。リーンモータ25は、傾斜装置30を駆動することによって車体90を幅方向にロールさせる第2力(ここでは、リーンモータトルク)を生成するように構成されている傾斜駆動装置の例である。
なお、制御装置100(図7)は、図12の処理と図10の処理との両方を実行してよい。この場合、リーンモータ25と操舵モータ65との全体は、指標値Swを用いて制御される2つの力(具体的には、回動トルクとリーンモータトルク)を生成するように構成されている力生成装置の例である(リーンモータ25と操舵モータ65との全体を、力生成装置920とも呼ぶ)。制御装置100のうちリーンモータ25と操舵モータ65を制御するための部分は、力生成装置を制御するように構成されている力制御装置の例である。なお、図12の処理が実行される場合、図10の処理からは、S236、S260が省略されてよい。この場合、S270では、駆動制御値Cwに代えて第1制御値Cw1が用いられる。
C.第3実施例:
図14(A)は、リーンモータ25の制御処理の別の実施例のフローチャートの一部である。図中には、図9のフローチャートのS522とS524との間に追加されるS523が示されている。図9の実施例との差異は、S523が追加されている点だけである。追加されたS523以外の処理は、図9の処理と同じである。
S523(図14(A))では、プロセッサ110pは、横風に起因する車両10の軌道の変化を抑制するように、目標ロール角Artを調整する。そして、S524-S570(図9)の処理は、調整済の目標ロール角Artに従って、実行される。
上述したように、車体90が左方向DLの横風を受ける場合、車体90は左方向DLへロールし得る。これにより、車両10の軌道は、左方向DL側へ変化し得る。ここで、車体90を右方向DRにロールさせるリーンモータトルクを車体90に付与することによって、車体90の左方向DLへのロールは抑制される。そして、車両10の軌道の変化は抑制される。横風の方向が右方向DRである場合、車体90を左方向DLへロールさせるリーンモータトルクを車体90に付与することによって、車両10の軌道の変化は抑制される。目標ロール角Artは、このようなリーンモータトルクを生成するように、調整される。具体的には、目標ロール角Artは、外力上流方向側に向かって移動される。
S523では、プロセッサ110pは、指標値Swを用いて目標ロール角Artを調整する。車両10の軌道の変化は、外力が強いほど、大きい。従って、目標ロール角Artの調整量は、外力が強いほど大きいことが好ましい。本実施例では、プロセッサ110pは、以下の計算式に従って、目標ロール角Artを調整する。
(式C1)Art=Art+Arj
(式C2)Arj=-k3*Fn3(Sw)
目標ロール角Artは、調整前の目標ロール角Artに調整量Arjを加算することによって、調整される(式C1)。調整量Arjは、係数k3と第3関数Fn3とを用いて算出される(式C2)。係数k3はゼロ以上である。第3関数Fn3は、入力された指標値Swに応じて、出力値Fn3(Sw)を決定する。第3関数Fn3は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。例えば、出力値Fn3(Sw)は、Swのべき乗(例えば、Swと同じ、または、Swの2乗)であってよい。また、出力値Fn3(Sw)は、指標値Swの多項式で表されてよい。一般的には、指標値Swがゼロである場合、出力値Fn3(Sw)はゼロである。指標値Swの絶対値が大きいほど、出力値Fn3(Sw)の絶対値は大きい。出力値Fn3(Sw)の正負の符号は、指標値Swの正負の符号と同じである。調整量Arjの正負の符号は、指標値Swの正負の符号と反対である。
図14(B)は、指標値Swと調整量Arjとの関係の例を示すグラフである。横軸は、指標値Swを示し、縦軸は、調整量Arjを示している。図示するように、指標値Swの絶対値が大きいほど、調整量Arjの絶対値は、大きくなる。(ここでは、Fn3(Sw)=Swであることとしている)。また、本実施例では、調整量Arjの絶対値は、上限値MX3に制限されている。この結果、指標値Swのゼロを含む特定範囲Rcの外では、調整量Arjの絶対値は、上限値MX3である。また、横軸に付された符号(DR、または、DL)は、横風の方向を示している。縦軸に付された符号(DR、または、DL)は、調整量Arjによる目標ロール角Artの変化の方向を示している。図示するように、調整量Arjに対応付けられた方向は、横風の方向とは反対の方向である。このような調整量Arjを用いて目標ロール角Artが調整される場合、調整済の目標ロール角Artに従ってロール角Arが制御されることによって、横風に起因する車両10の軌道の変化は抑制される。
本実施例では、プロセッサ110pは、調整量Arjに起因する車体90の意図しないロールを抑制するように、係数k3を調整する。図14(C)は、係数k3の例を示すグラフである。横軸は、ロール角Arを示し、縦軸は、係数k3を示している。ロール角Arの対象範囲R3は、目標ロール角Art(図9:S522)を中心とする幅W3の範囲である。この対象範囲R3内では、係数k3は、極大値k3xに設定される。対象範囲R3の外では、ロール角Arが対象範囲R3から遠いほど、係数k3は小さくなる。図14(C)の例では、対象範囲R3の近傍を除いて、係数k3はゼロに設定される。対象範囲R3の外で係数k3が小さくなる理由は、ロール角Arが目標ロール角Artから大きく離れている場合に、大きな調整量Arjに起因する車体90の意図しないロールを抑制するためである。なお、本実施例では、プロセッサ110pは、速度Vが速いほど、幅W3を狭くする。これにより、速度Vが速い場合に、車体90の意図しないロールを更に抑制できる。
図14(D)は、極大値k3xの例を示すグラフである。横軸は、指標値Swの絶対値を示し、縦軸は、極大値k3xを示している。図13(C)の実施例と同様に、プロセッサ110pは、極大値k3xを、指標値Swに応じて調整してよい。図中には、3種類の極大値k3x1、k3x2、k3x3が示されている。第1極大値k3x1は、指標値Swによらず一定である。第2極大値k3x2は、指標値Swの絶対値が大きいほど、大きい。第3極大値k3x3は、指標値Swの絶対値が大きいほど、小さい。極大値k3xと指標値Swとの対応関係は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。このように決定された対応関係は、極大値k3x1、k3x2、k3x3のように、種々の対応関係であり得る。
以上のように、本実施例では、図9、図14(A)の処理は、車体90のロール角Arを目標ロール角Artに近づけるリーンモータトルクをリーンモータ25に生成させる処理である。S523(図14(A))では、制御装置100は、指標値Swを用いて目標ロール角Artを調整する。具体的には、目標ロール角Artは、外力上流方向側(すなわち、横風の上流側へ向かう方向側)に向かって移動する。すなわち、調整済の目標ロール角Artは、調整前の目標ロール角Artと比べて、車体90を外力上流方向側へロールさせる。また、図14(B)に示すように、指標値Swの絶対値が第3閾値Sw3よりも大きい場合には、指標値Swの絶対値が第3閾値Sw3より小さい場合と比べて、調整量Arjの絶対値は大きい(第3閾値Sw3は、予め決められた閾値であり、特定範囲Rc内)。そして、調整量Arjの絶対値が大きいほど、目標ロール角Artは、外力上流方向側に向かって大きく移動する。従って、制御装置100は、軌道のズレを抑制できる。
例えば、入力角AIがゼロであり、ロール角Arがゼロであり、車輪角Awがゼロであり、車両10が直進していると仮定する。車両10が左方向DLの横風を受ける場合、調整済の目標ロール角Artは、右方向DRへ傾斜したロール角を示す。この結果、ロール角Arは、右方向DRへ変化し得る。これにより、前輪12Fには、車輪角Awを右方向DRへ回動させるトルクが作用する。そして、車両10の軌道の左方向DLへのずれは、抑制される。例えば、車両10は、直進を維持できる。
なお、制御装置100(図7)は、図9、図14(A)の処理と図10の処理との両方を実行してよい。なお、図9、図14(A)の処理が実行される場合、図10の処理からは、S236、S260が省略されてよい。この場合、S270では、駆動制御値Cwに代えて第1制御値Cw1が用いられる。
D.第4実施例:
図15(A)は、リーンモータ25または操舵モータ65の制御処理の別の実施例のフローチャートの一部である。図中には、図10のS210とS236の間、または、図12のS510とS536の間に追加されるS600が示されている。図10、図12の実施例との差異は、2点ある。第1の差異は、風センサ128が省略される点である。第2の差異は、風センサ128を用いずに、車両10の運動から指標値Swが決定される点である。追加されたS600以外の処理は、図10、図12の処理と同じである。
S600では、プロセッサ110pは、車体90に作用するロールトルクのズレを算出する。このズレが、指標値Swとして用いられる。図15(A)のS600のボックス内には、指標値Swの計算式が示されている。本明細書では、変数の後ろに付された1個のクォーテーションマーク「’」は、時間に関する1階微分を示している。2個のクォーテーションマーク「’’」は、時間に関する2階微分を示している。例えば、Ar’’は、ロール角Arの時間に関する二階微分、すなわち、ロール角加速度を示している。
ロール角加速度Ar’’の算出方法(より一般的には、パラメータの時間微分値の算出方法)は、種々の方法であってよい。本実施例では、プロセッサ110pは、現在から予め決められた時間差だけ過去の時点でのパラメータ値を現行のパラメータ値から減算して差分を算出する。そして、プロセッサ110pは、差分を時間差で除算することによって得られる値を、パラメータの時間微分値として採用する。プロセッサ110pは、ロール角Arを用いてロール角速度Ar’を算出し、ロール角速度Ar’を用いてロール角加速度Ar’’を算出する。プロセッサ110pは、後述する他のパラメータの微分値についても、同様に算出する。
図15(A)に示すように、指標値Swは、第1項(I+M*Z2)*Ar’’と、第2項Tqfと、の2つの項を用いて算出される。変数Iは、回転軸が重心90c(図3(A))を通る場合の車体90の慣性モーメントである(ここで、回転軸は、ロール軸AxLに平行である)。変数Zは、ロール軸AxLと車体90の重心90cとの間の距離である。本実施例では、ロール軸AxLが地面GL上に位置している。従って、距離Zは、直立状態(図3(A))での地面GLと重心90cとの間の鉛直上方向DUの距離と同じである。「M*Z2」は、回転軸が重心90cから距離Zだけ離れている場合の追加の項である。係数「I+M*Z2」は、車体90に作用するロールトルクとロール角加速度Ar’’との比率を実験で測定することによって、予め決定される。第1項(I+M*Z2)*Ar’’は、車体90に作用するロールトルクを示しており、ロール角加速度Ar’’を用いて決定される(以下、主ロールトルク成分Tqmとも呼ぶ)。S600では、プロセッサ110pは、ロール角速度Ar’からロール角加速度Ar’’を算出する。そして、プロセッサ110pは、係数「I+M*Z2」にロール角加速度Ar’’を乗じることによって、主ロールトルク成分Tqmを算出する。
第2項Tqfは、リーンモータ25によって車体90に付与されるロールトルクである(モータロールトルクTqf、または、生成力ロールトルクTqfと呼ぶ)。図15(B)は、リーンモータ25に供給される電流値I25と、モータロールトルクTqfとの対応関係の例を示すグラフである。横軸は、電流値I25を示し、縦軸は、モータロールトルクTqfを示している。図示するように、電流値I25の絶対値が大きいほど、モータロールトルクTqfの絶対値は大きい。横軸に付された符号(DR、または、DL)は、電流値I25に対応付けられたリーンモータトルクによって車体90がロールする場合のロール方向である。縦軸に付された符号(DR、または、DL)は、モータロールトルクTqfの方向である。モータロールトルクTqfの方向は、電流値I25に対応付けられた方向と同じである。
本実施例では、種々の原因に起因して、モータロールトルクTqfと、リーンモータ25によって生成されるリーンモータトルクと、の間に差が生じる。リーンモータ25は、ロータ等の可動部品を含んでいる。図2で説明したように、リーンモータ25とリンク機構30とは、ギヤを介して接続され得る。リンク機構30の複数の部材は、車体90がロールする場合に、動く。このように、車体90がロールする場合、種々の部材が動く。これらの部材の慣性モーメントが、モータロールトルクTqfとリーンモータトルクとの間の差を生み出す。また、部材が動く場合には、摩擦力が生じ得る。摩擦力が、上記の差を生み出す。また、車両10の部材(例えば、車輪12F、12R、12Lの図示しないタイヤ)は、弾性変形し得る。このような部材の変形が、上記の差を生み出す。モータロールトルクTqfと電流値I25との対応関係は、予め実験的に決定される。本実施例では、マップデータMTL(図7)が、この対応関係を示している。S600では、プロセッサ110pは、リーンモータ制御部400から現行の電流値I25を示すデータを取得する。プロセッサ110pは、マップデータMTLを参照することによって、電流値I25に対応付けられたモータロールトルクTqfを特定する。なお、モータロールトルクTqfと電流値I25との対応関係は、車両10の精密なモデルを用いて、計算されてもよい。
遠心力に起因する力F1b(図4)と重力に起因する力F2bとが釣り合う状態において、主ロールトルク成分Tqmは、モータロールトルクTqfとおおよそ同じである。車体90が横風などの外力を受ける場合、主ロールトルク成分TqmとモータロールトルクTqfとの間の差が大きくなり得る。プロセッサ110pは、主ロールトルク成分TqmからモータロールトルクTqfを減算して得られる値を、指標値Swとして採用する。
車体90が横風を受けていない場合、TqmとTqfとの間の差は小さい。そして、指標値Swは、おおよそゼロである。この指標値Swは、横風が弱いことを適切に示している。
車体90が右方向DRの横風を受ける場合、主ロールトルク成分Tqmには、横風に起因する右方向DRのロールトルク成分(本実施例では、正値の成分)が加算される。指標値Sw(=Tqm-Tqf)は、加算された成分によって、正値であり得る。この指標値Swは、横風に起因する右方向DRのロールトルク成分を適切に示している。
車体90が左方向DLの横風を受ける場合、主ロールトルク成分Tqmには、横風に起因する左方向DLのロールトルク成分(本実施例では、負値の成分)が加算される。指標値Sw(=Tqm-Tqf)は、加算された成分によって、負値であり得る。この指標値Swは、横風に起因する左方向DLのロールトルク成分を適切に示している。
以上のように、S600(図15(A))では、制御装置100は、車体90のロール角加速度Ar’’と、電流値I25と、を用いて指標値Swを決定する。電流値I25は、リーンモータトルクの大きさとリーンモータトルクによるロール方向とを示す生成力情報の例である。制御装置100は、ロール角加速度Ar’’を用いて主ロールトルク成分Tqmを算出する。制御装置100は、電流値I25を用いて、生成力ロールトルクTqfを特定する。制御装置100は、主ロールトルク成分Tqmから生成力ロールトルクTqfを減算して得られる差分ロールトルクを示す値を、指標値Swとして採用する。指標値Swの大きさは、差分ロールトルクの大きさが大きいほど、大きい。上述したように、差分ロールトルクの大きさは、横風が強いほど、大きい。従って、指標値Swは、横風の強さ(すなわち、外力の強さ)を適切に示している。また、主ロールトルク成分Tqmの大きさは、ロール角加速度Ar’’の大きさが大きいほど大きい。図15(B)に示すように、生成力ロールトルクTqfの大きさは、電流値I25の大きさが大きいほど大きい。リーンモータトルクの大きさは、電流値I25の大きさが大きいほど大きい。従って、生成力ロールトルクTqfの大きさは、電流値I25によって示されるリーンモータトルクの大きさが大きいほど大きい、制御装置100は、このような主ロールトルク成分TqmとモータロールトルクTqfを用いることによって、適切な指標値Swを決定できる。
なお、本実施例では、指標値Swは、横風に起因するロールトルクと相関を有している。この指標値Swが図10、図12の実施例に適用される場合、S236、S536の出力値Fn1(Sw)、Fn2(Sw)は、Swと同じであってよい。
E.第5実施例:
図16(A)-図16(E)は、車体90に作用するロールトルクの説明図である。車体90には、種々の原因に起因して、種々のロールトルクが作用し得る。以下、3種類のロールトルク成分Tq1-Tq3について、説明する(以下、ロールトルク成分Tq1-Tq3を、単に、ロールトルクTq1-Tq3、または、トルクTq1-Tq3とも呼ぶ)。本実施例では、プロセッサ110p(図7)は、図15(A)で説明した主ロールトルク成分TqmとモータロールトルクTqfとに加えて、ロールトルクTq1-Tq3を用いて、指標値Swを決定する。
図16(A)、図16(B)、図16(C)、図16(E)は、前方向DFを向いて見た後輪12R、12Lと重心90cとの説明図である。ここで、車両10は、水平な地面GL上に位置している。図16(A)は、直立状態を示している(Ar=ゼロ)。図16(B)、図16(C)、図16(E)は、車体90が右方向DRへ傾斜した状態を示している(Ar>ゼロ)。図16(B)に示すように、車両上軸VUxと鉛直軸Uxとがなす角度は、ロール角Arである。図16(D)は、車体上方向DVUとは反対の方向を向いて見た車輪12F、12R、12Lと重心90cとの説明図である。図16(D)には、参考のために、右方向DRと左方向DLとが示されている。ロール角Arがゼロとは異なる場合、これらの方向DR、DLは、車体上方向DVUに垂直ではなく斜めである。
図16(B)は、第1ロールトルクTq1の説明図である。第1ロールトルクTq1は、車体90に作用する重力に起因するロールトルクである。第1力F11は、車体90に作用する重力である(F11=M*g)。第2力F12は、第1力F11の、車体上方向DVUに垂直な成分である(F12=M*g*sin(Ar))。第2力F12は、車体90をロールさせる。第2力F12に起因するロールトルクが、第1ロールトルクTq1である。第1ロールトルクTq1の大きさは、ロール軸AxLと重心90cとの間の距離Zに、第2力F12を乗じることによって算出される(Tq1=Z*F12=M*g*Z*sin(Ar))。第1ロールトルクTq1の方向は、鉛直上方向DUから車体上方向DVUへ向かう方向、すなわち、ロール角Arの大きさを増大させる方向である。
図16(C)は、第2ロールトルクTq2の説明図である。第2ロールトルクTq2は、車両10のヨー角速度(より具体的には、遠心力)に起因するロールトルクである。図中の変数Ay’は、車両10のヨー角速度である(変数Ayは、ヨー角に相当する)。ヨー角速度Ay’は、ヨーレートとも呼ばれる。本実施例では、ヨー角速度Ay’は、車体上方向DVUに平行な軸まわりのヨー角速度を示している。図中の力F22は、車体90に作用する遠心力の車体上方向DVUに垂直な成分である。この遠心力成分F22は、質量Mと速度Vとヨー角速度Ay’とを用いる計算式「F22=M*V*Ay’」によって、算出される。図16(C)では、ヨー角速度Ay’は、右旋回を示している。従って、遠心力成分F22は、左方向DL側を向いている。この遠心力成分F22は、車体90をロールさせる。遠心力成分F22に起因するロールトルクが、第2ロールトルクTq2である。第2ロールトルクTq2の大きさは、距離Zに、遠心力成分F22の大きさを乗じることによって算出される(Tq2=Z*F22=M*Z*V*Ay’)。第2ロールトルクTq2の方向(遠心力ロール方向と呼ぶ)は、ヨー角速度Ay’によって示される旋回方向とは反対の方向である。例えば、ヨー角速度Ay’が右旋回を示す場合、第2ロールトルクTq2の方向は、左方向である。
図16(D)、図16(E)は、第3ロールトルクTq3の説明図である。第3ロールトルクTq3は、車両10のヨー角加速度に起因するロールトルクである。図16(D)中には、自転中心Rxが示されている。本実施例では、後輪12R、12Lは回動輪ではなく、前輪12Fが回動輪である。従って、自転中心Rxは、後輪12R、12Lの間の中心の近傍に位置する。例えば、自転中心Rxは、後輪12R、12Lの間の中心(具体的には、図5の後中心Cb)に位置し得る。また、通常は、図16(D)の上面図において、車体90の重心90cは、車体90の中央部分に近い。従って、車体90の重心90cは、自転中心Rxから前方向DF側に離れた位置に配置される。図中の距離Xは、重心90cと自転中心Rxとの間の前方向DFの位置の差(距離)である。
図中の変数Ay’’は、車両10のヨー角加速度である。ヨー角加速度Ay’’は、車体上方向DVUに平行な軸まわりのヨー角加速度である。ヨー角加速度Ay’’は、自転中心Rxを中心とする車両10の自転の角加速度を示している。図16(D)の上面図上で、ヨー角加速度Ay’’の方向が時計回り方向である場合、右旋回の程度が大きくなるように、ヨー角速度Ay’は変化する。以下、上面図上で、ヨー角加速度Ay’’の方向が時計回り方向である場合、ヨー角加速度Ay’’の方向を、右方向と呼ぶ。上面図上で、ヨー角加速度Ay’’の方向が反時計回り方向である場合、ヨー角加速度Ay’’の方向は左方向である。
車体90の重心90cは、自転中心Rxから距離Xだけ前方向DF側に離れた位置に、配置されている。従って、車体90には、ヨー角加速度Ay’’の方向とは反対の方向の慣性の力の成分F32が、作用する(慣性力成分F32と呼ぶ)。この慣性力成分F32の方向は、車体上方向DVUに垂直である。また、本実施例では、図16(D)の上面図上で、自転中心Rxから重心90cに向かう方向は、前方向DFにおおよそ平行である。従って、慣性力成分F32の方向は、前方向DFにおおよそ垂直である。慣性力成分F32の大きさは、質量Mと、ヨー角加速度Ay’’に起因する重心90cの加速度A90と、の積で表される。加速度A90は、距離Xとヨー角加速度Ay’’との積で表される。従って、慣性力成分F32の大きさは、計算式「M*X*Ay’’」によって、算出される。図16(D)の上面図においては、ヨー角加速度Ay’’の方向、すなわち、ヨー角速度Ay’の変化方向は、時計回り方向である。この場合、慣性力成分F32の方向は、左方向DL側を向いている。
図16(E)には、慣性力成分F32が示されている。慣性力成分F32は、車体90をロールさせる。慣性力成分F32に起因するロールトルクが、第3ロールトルクTq3である。第3ロールトルクTq3の大きさは、距離Zに、慣性力成分F32の大きさを乗じることによって算出される(Tq3=Z*F32=M*X*Z*Ay’’)。第3ロールトルクTq3の方向(ヨー角加速度ロール方向と呼ぶ)は、ヨー角加速度Ay’’の方向とは反対の方向である。例えば、ヨー角加速度Ay’’の方向が右旋回の方向である場合、第3ロールトルクTq3の方向は、左方向である。
図6(A)-図6(C)でも説明したように、車体90のロールは、車輪角Awを変化させる。車輪角Awの変化は、ヨー角速度Ay’を変化させる。ヨー角速度Ay’の変化は、ヨー角加速度Ay’’がゼロではないことを示している。図16(D)、図16(E)で説明したように、非ゼロのヨー角加速度Ay’’は、第3ロールトルク成分Tq3を生成する。車両10に設けられた装置(例えば、リーンモータ25)は、車体90をロールさせることによって、第3ロールトルク成分Tq3を生成し得る。また、横風などの外力は、車体90をロールさせることによって、第3ロールトルク成分Tq3を生成し得る。
図17は、リーンモータ25または操舵モータ65の制御処理の別の実施例のフローチャートの一部である。図中には、図10のS210とS236の間、または、図12のS510とS536の間に追加されるS610、S620が示されている。図15(A)の実施例との差異は、指標値Swの決定に利用されるパラメータに、ロールトルク成分Tq1-Tq3が追加されている点だけである。追加されたS610、S620以外の処理は、図10、図12の処理と同じである。
S610では、プロセッサ110pは、S600(図15(A))で説明した時間微分によってヨー角加速度Ay’’を算出し、また、生成力ロールトルクTqfを特定する。また、プロセッサ110pは、図16(A)-図16(E)で説明した計算式に従って、ロールトルク成分Tq1-Tq3のそれぞれを算出する。そして、プロセッサ110pは、モータロールトルクTqfとロールトルク成分Tq1ーTq3の4個のロールトルク成分を合成することにより、合成ロールトルクTqzを算出する。合成ロールトルクTqzは、ロールトルクTqf、Tq1-Tq3を、それぞれの向きを考慮して合成することによって、算出される。例えば、右方向DRのロールトルクの大きさが、加算され、左方向DLのロールトルクの大きさが、減算されることとしてよい。なお、車体90の質量Mと、重力加速度gと、距離Xと、距離Zと、ホイールベースLhと、のそれぞれとしては、予め決められた値が用いられる(基準値M、g、X、Z、Lhとも呼ぶ)。なお、車体90の質量Mは、いわゆるバネ上質量に相当する。
S620では、プロセッサ110pは、S600(図15(A))と同様に、ロール角加速度Ar’’を算出し、主ロールトルク成分Tqmを算出する。そして、プロセッサ110pは、主ロールトルク成分Tqmから合成ロールトルクTqzを減算して得られる値を、指標値Swとして採用する。
以上のように、S610-S620では、制御装置100は、方向センサ126によって測定されたロール角Arと、速度Vと、ジャイロセンサ126gによって測定されたヨー角速度Ay’と、を用いて指標値Swを特定する。従って、制御装置100は、適切な指標値Swを特定できるので、制御装置100は、軌道のズレを適切に抑制できる。
また、車両10(図6)は、ヨー角速度Ay’を測定するように構成されているジャイロセンサ126gを備えている。制御装置100は、ジャイロセンサ126gによって測定されたヨー角速度Ay’を用いて、指標値Swを特定する。このように、測定されたヨー角速度Ay’が用いられるので、ヨー角速度Ay’とヨー角加速度Ay’’とのいずれとも異なるパラメータ(例えば、ロール角Ar)を用いてヨー角速度Ay’が推定される場合と比べて、制御装置100は、適切な指標値Swを特定できる。
また、車両10は、ロール角Arを測定するように構成されているロール角センサ930を備えている(速度センサ122と方向センサ126)。制御装置100は、ロール角センサ930によって測定されたロール角Arを用いて、指標値Swを特定する。このように、測定されたロール角Arが用いられるので、ロール角Arとロール角速度Ar’とロール角加速度Ar’’とのいずれとも異なるパラメータ(例えば、車輪角Aw)を用いてロール角Arが推定される場合と比べて、制御装置100は、適切な指標値Swを特定できる。
また、制御装置100は、ロール角加速度Ar’’と、電流値I25と、ロール角Arと、速度Vと、ヨー角速度Ay’と、ヨー角加速度Ay’’と、を用いて指標値Swを特定する。ここで、電流値I25は、リーンモータトルクの大きさとリーンモータトルクによるロール方向とを示す生成力情報の例である。また、S610-S620では、制御装置100は、以下のトルク成分を特定する。すなわち、制御装置100は、ロール角加速度Ar’’を用いて主ロールトルク成分Tqmを算出し、電流値I25を用いて、生成力ロールトルクTqfを特定し、ロール角Arを用いて第1ロールトルクTq1を算出し、速度Vとヨー角速度Ay’とを用いて第2ロールトルクTq2を算出し、ヨー角加速度Ay’’を用いて第3ロールトルクTq3を算出する。また、S610では、制御装置100は、生成力ロールトルクTqfとロールトルクTq1-Tq3とを合成して合成ロールトルクTqzを算出する。S620では、制御装置100は、主ロールトルク成分Tqmから合成ロールトルクTqzを減算して得られる差分ロールトルクを示す値を、指標値Swとして採用する。
このように、本実施例では、図15(A)の実施例とは異なり、主ロールトルク成分Tqmから減算される合成ロールトルクTqzは、モータロールトルクTqfに加えて、互いに異なる3種類のロールトルク成分Tq1-Tq3を含んでいる。従って、指標値Swは、横風などの外力によって引き起こされたロールトルクをより高い精度で示すことができる。この結果、制御装置100は、指標値Swを用いてリーンモータ25または操舵モータ65を制御することによって、外力に起因する車両10の軌道の変化を適切に抑制できる。なお、指標値Swが図10、図12の実施例に適用される場合、S236、S536の出力値Fn1(Sw)、Fn2(Sw)は、Swと同じであってよい。
また、S610-S620では、制御装置100は、ジャイロセンサ126gによって測定されたヨー角速度Ay’を用いて、ヨー角速度Ay’とヨー角加速度Ay’’とを特定する。このように、指標値Swの特定に用いられるヨー角速度Ay’とヨー角加速度Ay’’とは、現実のヨー角速度Ay’とヨー角加速度Ay’’を適切に示している。従って、パラメータAy’、Ay’’を用いて特定されるロールトルク成分Tq2、Tq3は、現実のロールトルク成分を高い精度で示すことが可能である。例えば、第1回動トルクTqa(図6(A))や、第2回動トルクTqb(図6(C))や、キャンバスラストに起因する第3ロールトルク成分Tq3の誤差を、小さくできる。また、制御装置100は、方向センサ126によって測定されたロール角Arを用いて、ロール角Arとロール角加速度Ar’’とを特定する。従って、パラメータAr、Ar’’を用いて特定されるロールトルク成分Tq1、Tqmは、現実のロールトルク成分を高い精度で示すことが可能である。以上により、指標値Swは、外力によって引き起こされたロールトルクを高い精度で示すことができる。
F.第6実施例:
図18は、操舵モータ65の制御処理の別の実施例を示すフローチャートである。図10の実施例との差異は、S246が追加され、S260がS260aに修正されている点だけである。図18の他のステップは、図10の対応するステップと同じである。図18のステップのうち、図10のステップと同じステップには、同じ符号を付して、説明を省略する。
S210の後、プロセッサ110pは、S222-S226の処理と、S236の処理と、S246の処理とを、並列に実行する。S246では、プロセッサ110pは、ロール角Arを目標ロール角に近づけるように、第3制御値Cw3を決定する。
図19は、第3制御値Cw3の決定処理の例を示すフローチャートである。S310、S315は、図9のS522、S524と、それぞれ同じである。S320では、プロセッサ110pは、ロール角差dArを用いて、目標ロールトルクTqtを決定する。ロール角差dArと目標ロールトルクTqtとの対応関係は、マップデータMTq(図7)によって、予め決められている。プロセッサ110pは、マップデータMTqを参照して、目標ロールトルクTqtを特定する。本実施例では、Tqtの絶対値は、ロールトルクの大きさを示している。正のTqtは、右方向DRのロールトルクを示し、負のTqtは、左方向DLのロールトルクを示している。ロール角差dArの絶対値が大きいほど、目標ロールトルクTqtの絶対値が大きい。また、目標ロールトルクTqtの方向(右、または、左)は、現行のロール角Arから目標ロール角Artへ向かうロール方向(ロール角差dArの方向とも呼ぶ)と同じである。
S340では、プロセッサ110pは、目標ロールトルクTqtを実現するための第4ロールトルクTq4を算出する。具体的には、プロセッサ110pは、3個のトルクTq1、Tq2、Tq3の合成ロールトルクTqzを算出する。トルクTq1、Tq2、Tq3は、図16(A)-図16(E)で説明したロールトルク成分である。プロセッサ110pは、図17のS610と同様に、トルクTq1、Tq2、Tq3を算出する。プロセッサ110pは、トルクTq1-Tq3を、それぞれの向きを考慮して合成することによって、合成ロールトルクTqyを算出する。プロセッサ110pは、目標ロールトルクTqtから合成ロールトルクTqyを減算することによって、第4ロールトルクTq4を算出する。
本実施例では、制御装置100は、車輪角Aw(図5)の角速度Aw’を用いて、第4ロールトルクTq4を生成する。まず、車輪角Awとヨー角加速度Ay’’との関係について、説明する。図5で説明したように、前中心Cfと後中心Cbと公転中心Crとは、直角三角形を形成する。ロール角Arがゼロである場合、車体上方向DVUは鉛直下方向DDと平行である。従って、図5に示す点Cf、Cb、Crの配置は、車体上方向DVUに平行な方向を向いて点Cf、Cb、Crを見る場合の配置と、同じである。ここで、前輪12Fの進行方向D12は、ロール角Arに拘わらず、車輪角Awに対応付けられていると推定される。従って、車体上方向DVUに平行な方向を向いて点Cf、Cb、Crを見る場合、ロール角Arに拘わらずに、前中心Cfと後中心Cbと公転中心Crとは、直角三角形を形成する。この直角三角形の3個の辺のうち公転中心Crと後中心Cbとを結ぶ辺の長さをRxとする。この場合、式D1が成立する。
(式D1)tan(Aw)=Lh/Rx
式D1は、式D2に変形される。
(式D2)1/Rx=tan(Aw)/Lh
車両10がヨー角速度Ay’で旋回している場合、式D3が成立する。
(式D3)V=Rx*Ay’
式D3は、式D4に変形される。
(式D4)Ay’=V/Rx
式D4に式D2を代入することによって、式D5が導かれる。
(式D5)Ay’=(V*tan(Aw))/Lh
式D5の両辺を時間で微分することによって、式D6が導かれる。
(式D6)Ay’’=(V/Lh)*(1/cos2(Aw))*Aw’
図16(D)、図16(E)で説明したように、ヨー角加速度Ay’’に起因して、ロールトルクが車体90に作用する。第4ロールトルクTq4は、式D6のヨー角加速度Ay’’に起因するロールトルクである。第4ロールトルクTq4の大きさは、図16(E)の第3ロールトルクTq3の大きさの計算式のヨー角加速度Ay’’に、式D6を代入することによって導かれ、式D7で表される。
(式D7)Tq4=M*X*Z*Ay’’
=(M*X*Z*V*Aw’)/(Lh*cos2(Aw))
以上のように、車輪角Awの角速度Aw’を用いて、車体90に第4ロールトルクTq4を作用させることができる。第4ロールトルクTq4の方向(回動ロール方向とも呼ぶ)は、車輪角Awの角速度Aw’の方向とは反対の方向である。例えば、車輪角Awが右方向DRに回動する場合(Aw’>ゼロ)、第4ロールトルクTq4の方向は、左方向である。
なお、式D7から式D8が導かれる。
(式D8)Aw’=(Tq4*Lh*cos2(Aw))/(M*X*Z*V)
式D8は、第4ロールトルクTq4を生成するために必要な車輪角Awの角速度Aw’の大きさを示している。
図19のS345では、プロセッサ110pは、第4ロールトルクTq4を用いて、第4ロールトルクTq4を実現するための車輪角Awの角速度を特定する(追加角速度Awd’とも呼ぶ)。追加角速度Awd’は、車輪角Awの現行の角速度Aw’に追加角速度Awd’が追加されることによって第4ロールトルクTq4が生成されるような角速度を示している。このような追加角速度Awd’と第4ロールトルクTq4との関係は、上記の式D8によって表される(式D8の角速度Aw’が、追加角速度Awd’である)。プロセッサ110pは、基準値Lh、M、X、Zと、第4ロールトルクTq4と、車輪角Awと、速度Vと、を用いて、追加角速度Awd’を算出する。
S355では、プロセッサ110pは、追加角速度Awd’を用いて、第3制御値Cw3を決定する。本実施例では、プロセッサ110pは、追加角速度Awd’とゲインGp1とを用いる比例制御によって、第3制御値Cw3を決定する(例えば、Cw3=Gp1*Awd’)。そして、図19の処理(すなわち、図18のS246)は、終了する。
以上のように、第3制御値Cw3は、追加角速度Awd’を用いて特定される(S355)。追加角速度Awd’は、第4ロールトルクTq4を実現するための車輪角Awの角速度である(S345)。第4ロールトルクTq4は、目標ロールトルクTqtを実現するためのロールトルクである(S340)。目標ロールトルクTqtは、ロール角Arを目標ロール角Artに近づけるロールトルクである(S310-S320)。従って、第3制御値Cw3に従って操舵モータ65が制御される場合、ロール角Arは、入力角AIに適した目標ロール角Artに近づく。
なお、第3制御値Cw3の過度の増大を抑制するために、プロセッサ110pは、追加角速度Awd’の最大値を、予め決められた上限値に制限してよい。また、プロセッサ110pは、ゲインGp1を、種々のパラメータ(例えば、速度V、入力角AI等)を用いて調整してよい。例えば、速度Vがゼロから増大する場合に、ゲインGp1は、ゼロから増大してもよい。入力角AIの角速度AI’が大きいほど、ゲインGp1が大きくてよい。入力角AIの角加速度AI’’が大きいほど、ゲインGp1が大きくてよい。
図18のS260aでは、プロセッサ110pは、3個の制御値Cw1、Cw2、Cw3の合計値である駆動制御値Cwを算出する。S270の処理は、図10のS270の処理と同じである。制御装置100は、駆動制御値Cwに従って、操舵モータ65に供給される電力を制御する。操舵モータ65は、供給された電力に応じて、回動トルクを出力する。そして、図18の処理が終了する。制御装置100は、図18の処理を繰り返し実行する。これにより、制御装置100は、車両10の状態に適した回動トルクを出力するように、操舵モータ65を制御し続ける。
以上のように、制御装置100は、図18の処理を実行することによって、ロール角Arが目標ロール角Artに近づくように、操舵モータ65を制御する。この結果、車両10は、入力角AIに適したロール角Arで、走行できる。例えば、ロール角差dArの大きさが大きく、現行のロール角Arから目標ロール角Artへ向かうロール方向が右である場合(すなわち、ロール角差dArの方向は右)、操舵モータ65は、第3制御値Cw3とおおよそ同じ駆動制御値Cwに従って、ロール角差dArの方向とは反対の左方向に、前輪12Fを回動させ得る。これにより、ロール角Arは、速やかに、目標ロール角Artに近づく。その後、操舵モータ65は、ロール角Arがロール角差dArに維持されるように、同様の制御によって回動トルクを出力する。これにより、車輪角Awは、ロール角Arに適した角度に、近づき得る(図4、図5)。ロール角差dArの大きさが小さい場合、回動トルクの大きさも小さくなり得る。そして、上述したように、前輪12Fの進行方向D12は、自然に、車両10の進行方向と同じになり得る。従って、車両10は、入力角AIに適した旋回を行うことができる。例えば、車両10は、図4、図5に示す旋回を行うことができる。
また、図7(E)、図7(F)で説明したように、車輪角Awの角速度Aw’を用いて得られる第4ロールトルクTq4は、ヨー角加速度Ay’’の方向とは反対の方向の慣性の力F32を利用して生成される。従って、リーンモータ25によって直接的に生成されるロールトルクによって車体90がロールする場合と比べて、第4ロールトルクTq4によって車体90がロールする場合には、運転者が感じる横加速度が抑制される。
また、S260a(図18)で説明したように、駆動制御値Cwは、第2制御値Cw2を含んでいる。従って、図10の実施例と同様に、制御装置100は、軌道のズレを抑制できる。
なお、図18のS236で用いられる指標値Swは、風センサ128(図8)を用いて特定されてよく、図15(A)の実施例に従って特定されてよく、図17の実施例に従って特定されてよい。
G.第7実施例:
図20は、第3制御値Cw3の決定処理(S246:図18)の別の実施例のフローチャートである。図19の決定処理との差異は、S347が追加されている点だけである。S347では、プロセッサ110pは、S355(図19)で用いられるゲインGp1を決定する。なお、図20では、S347は、S345とS355との間に追加されている。ただし、S347は、S355よりも前の任意のタイミングで実行されてよい。
図19で説明したように、第3制御値Cw3は、ロールトルクを生成し得る。本実施例では、制御装置100は、第3制御値Cw3によって生成されるロールトルクに、外力の方向とは反対の外力上流方向のロールトルク成分が追加されるように、第3制御値Cw3を決定する。これにより、第3制御値Cw3は、第2制御値CL2(図12)と同様に、軌道のズレを抑制できる。
本実施例では、S347では、プロセッサ110pは、以下の計算式に従って、ゲインGp1を調整する。
(式E1)Gp1=Gp10+Gpj
(式E2)Gpj=k4*Fn4(Sw)
ゲインGp1は、所定の基準値Gp10に調整量Gpjを加算することによって、調整される(式E1)。調整量Gpjは、係数k4と第4関数Fn4とを用いて算出される(式E2)。係数k4はゼロ以上である。第4関数Fn4は、入力された指標値Swに応じて、出力値Fn4(Sw)を決定する。第4関数Fn4は、横風に起因する車両10の軌道の変化が小さくなるように、予め実験的に決定される。本実施例では、出力値Fn4(Sw)は、ゼロ以上であり、出力値Fn4(Sw)の大きさ(すなわち、絶対値)は、Swの大きさに基づいて決定される。例えば、出力値Fn4(Sw)は、Swのべき乗(例えば、Swと同じ、または、Swの2乗)の絶対値であってよい。また、出力値Fn4(Sw)は、指標値Swの多項式で表されてよい。指標値Swがゼロである場合、出力値Fn4(Sw)はゼロであってよい。指標値Swの絶対値が大きいほど、出力値Fn4(Sw)の絶対値は大きい。以上により、調整量Gpjは、ゼロ以上である。調整量Gpjの大きさは、指標値Swの大きさが大きいほど、大きい。指標値Swと調整量Gpjとの対応関係は、図14(B)の指標値Swと調整量Arjとの対応関係と同様に決定されてよい(ただし、調整量Gpjは、ゼロ以上)。また、係数k4は、図14(C)、図14(D)の係数k3と同様に調整されてよい。
このような調整量Gpjは、第3制御値Cw3の大きさを増大させ得る。第3制御値Cw3の増大量に対応する追加の回動トルク成分の方向は、外力の方向と同じ方向であり得る。例えば、車両10が左方向DLの横風をうける場合、車体90は、左方向DLへロールし得る。この場合、追加の回動トルクの方向は、左方向DLであり得る。前輪12Fが左方向DLへ回動する場合、車体90には、右方向DRのロールトルクが作用し得る(図16(D)-図16(D))。このように、追加の回動トルクは、車体90を右方向DRへロールさせる追加のロールトルク成分を示している。この追加のロールトルク成分は、車体90が左方向DLへロールすることを、抑制できる。
このように、制御装置100は、第3制御値Cw3の決定に用いられるゲインGp1に、調整量Gpjを追加する。調整量Gpjは、指標値Swを用いて決定される。これにより、制御装置100は、回動トルクに、指標値Swを用いて決定される成分を追加できる。この追加の回動トルク成分は、追加のロールトルク成分を示している。追加のロールトルク成分は、車体90が外力の方向にロールすることを、抑制できる。
なお、本実施例では、第3制御値Cw3が、外力による車体90のロールを抑制できる。従って、第2制御値Cw2(図18)は、省略されてよい。
また、第3制御値Cw3は、車両10の進行方向を、一時的に、外力の方向へ変化させ得る。従って、制御装置100は、車両10の進行方向の変化が過度にならないように、追加の成分を制御することが好ましい。例えば、制御装置100は、地面を表す画像中の車線を示すライン(例えば、白線)を認識する画像認識装置を備えてよい。そして、制御装置100は、車両10が車線の端に近い場合に、調整量Gpjを小さな値に調整してよい。
なお、上記実施例のように、制御装置100は、第3制御値Cw3に限らず、種々の制御値を用いて車両を制御する。制御値を決定する制御値決定処理は、種々の処理であってよい。制御値決定処理は、フィードバック制御(例えば、比例制御と微分制御と積分制御とのうちの少なくとも1つを含む制御)を含んでよく、フィードフォワード制御を含んでよい。いずれの場合も、制御装置100は、制御に利用されるゲインに、指標値Swを用いて決定される調整量を追加してよい。操舵モータ65のためのゲインに、調整量が追加される場合、回動トルクに、指標値Swに基づく成分が追加される。リーンモータ25のためのゲインに調整量が追加される場合、リーンモータトルクに、指標値Swに基づく成分が追加される。いずれの場合も、調整量(すなわち、追加の成分の大きさ)は、軌道の変化が小さくなるように、予め実験的に決定されることが好ましい。
H.第8実施例:
図21は、操舵モータ65の制御処理の例を示すフローチャートである。この制御処理は、図19の処理に以下の変更を行ったものである。S310とS315との間に、図14(A)のS523が挿入される。そして、S310の前に図10のS210が追加され、S355の後に図10のS270が追加される。S315では、S523で調整された目標ロール角Artが用いられる。S270では、S355で決定された制御値が、そのまま、駆動制御値Cwとして用いられる。この制御によれば、車両は、入力角AIに適したロール角Arで走行できる。また、目標ロール角Artが指標値Swを用いて調整されるので、軌道のズレは抑制される。
G.変形例:
(1)横風の強さと横風の方向とを示す風情報を測定する風センサの構成は、図8の構成に代えて、他の種々の構成であってよい。例えば、風センサは、水平な方向の力の強さを測定する力センサを備えてよい。具体的には、風センサは、車体90の右方向DR側に配置された右力センサと、車体90の左方向DL側に配置された左力センサと、を備えてよい。右力センサは、風(すなわち、空気)から受ける左方向DLの力の強さを測定し、左力センサは、風から受ける右方向DRの力の強さを測定する。車体90が横風を受ける場合、風上側の力センサは、風から強い力を受ける。従って、左力センサの測定値から右力センサの測定値を減算して得られる差分は、図8の指標値Swと同様の指標値として利用可能である。また、風センサは、幅方向の風速を測定する風速計を備えてよい。風速計の構成は、風によって回転するように構成された羽根を備えるベーン式、超音波式などの種々の構成であってよい。このように、風センサは、車両10の周囲の空気から受ける力によって変形または移動する部材を備えてよい。また、風センサは、車両10の周囲の空気の動きを測定してよい。一般的には、風センサは、車両10の周囲の空気を測定対象物として用いて風情報を測定することが好ましい。これにより、風センサは、適切な風情報を測定できる。いずれの場合も、横風の方向は、右と左とから選択されてよい。また、制御装置100は、風情報によって示される横風の強さが強いほど大きい外力強さを示す外力情報(例えば、指標値Sw)を特定することが好ましい。
(2)車両10(図7)は、ヨー角速度Ay’を測定するジャイロセンサ126gに代えて、ヨー角加速度Ay’’を測定するように構成されているセンサを備えてよい。この場合、プロセッサ110pは、ヨー角加速度Ay’’の時間積分を行うことによって、ヨー角速度Ay’を算出できる。パラメータ値の時間積分値の算出方法は、種々の方法であってよい。例えば、プロセッサ110pは、一定の時間差でパラメータ値の取得を繰り返し、パラメータ値に時間差を乗じて得られる値を累積する。そして、プロセッサ110pは、現行の累積値を、パラメータの現行の時間積分値として採用してよい。
一般的には、車両10は、ヨー角速度Ay’とヨー角加速度Ay’’とのうちの少なくとも1つを示すヨー情報を測定するように構成されているセンサを備えてよい。プロセッサ110pは、ヨー情報を用いて、ヨー角速度Ay’とヨー角加速度Ay’’とのうちのヨー情報に含まれないパラメータを適切に特定できる。図17の実施例では、パラメータAy’、Ay’’のいずれとも異なる他のパラメータ(例えば、入力角AIなど)を用いて推定されたパラメータAy’、Ay’’が用いられる場合と比べて、プロセッサ110pは、ヨー情報を用いて、適切な指標値Swを特定できる。
(3)車両10(図7)は、ロール角Arを測定するロール角センサ930(速度センサ122と方向センサ126)に代えて、ロール角速度Ar’、または、ロール角加速度Ar’’を測定するように構成されているセンサを備えてよい。この場合、プロセッサ110pは、測定値を用いる時間微分、または、時間積分を行うことによって、ロール角Arとロール角速度Ar’とロール角加速度Ar’’を算出できる。一般的には、車両10は、車体90のロール角Arとロール角速度Ar’とロール角加速度Ar’’とのうちの少なくとも1つを示すロール情報を測定するように構成されているセンサを備えてよい。プロセッサ110pは、ロール情報を用いて、ロール角Arとロール角速度Ar’とロール角加速度Ar’’ とのうちのロール情報に含まれないパラメータを適切に特定できる。図15(A)、図17、図19の実施例では、パラメータAr、Ar’、Ar’’のいずれとも異なる他のパラメータ(例えば、入力角AIなど)を用いて推定されたパラメータAr、Ar’、Ar’’が用いられる場合と比べて、プロセッサ110pは、ロール情報を用いて、適切な指標値Swと合成ロールトルクTqyを特定できる。
(4)図15(A)の実施例では、指標値Swは、主ロールトルク成分TqmとモータロールトルクTqfとの間の差である。図16(D)、図16(E)で説明したように、ヨー角加速度Ay’’は、第3ロールトルクTq3を引き起こし得る。従って、ヨー角加速度Ay’’の大きさが大きい場合には、指標値Sw(Tqm-Tqf)に対する第3ロールトルクTq3の影響が大きくなる。そこで、プロセッサ110pは、ヨー角加速度Ay’’の大きさが大きいほど、指標値Swに基づいて決定される制御値の大きさを小さくしてよい(例えば、図10、図12の第2制御値Cw2、CL2)。これにより、ヨー角加速度Ay’’の大きさが大きい場合に、制御装置100は、第2制御値Cw2、CL2に起因する不適切な制御を抑制できる。なお、ヨー角加速度Ay’’の大きさが大きい場合に、第2制御値Cw2、CL2の大きさを小さくする方法は、任意の方法であってよい。例えば、プロセッサ110pは、ヨー角加速度Ay’’の大きさが大きいほど係数k1、k2(図10、図12)が小さくなるように、係数k1、k2を調整してよい。
(5)図15(A)、図17、図19の実施例において、指標値Swと合成ロールトルクTqyの特定に用いられるロールトルク成分は、上記の計算式に限らず、簡略化された計算式に従って特定されてよい。例えば、主ロールトルク成分Tqmの大きさは、ロール角加速度Ar’’の大きさが大きいほど大きい種々の値であってよい。生成力ロールトルクTqfの大きさは、生成力情報によって示される力の大きさ(例えば、電流値I25によって示されるリーンモータトルクの大きさ)が大きいほど大きい種々の値であってよい。第1ロールトルクTq1の大きさは、ロール角Arの大きさが大きいほど大きい種々の値であってよい。第2ロールトルクTq2の大きさは、速度Vが大きいほど大きく、ヨー角速度Ay’の大きさが大きいほど大きい、種々の値であってよい。第3ロールトルクTq3の大きさは、ヨー角加速度Ay’’の大きさが大きいほど大きい種々の値であってよい。いずれの場合も、指標値Swの大きさは、差分ロールトルクの大きさが大きいほど、大きいことが好ましい。また、複数のロールトルク成分Tqm、Tqf、Tq1、Tq2、Tq3のそれぞれに、係数が乗じられてよい。各係数は、車両10が適切に制御されるように、予め実験的に決定されてよい。通常は、各係数は、1に近い値である。
(6)ヨー角速度Ay’を変化させる力を生成する力生成装置は、操舵モータ65(図1(A))に代えて、種々の装置であってよい。例えば、右駆動モータ51R(図2)と左駆動モータ51Lは、右駆動モータ51Rと左駆動モータ51Lとの間のトルクの比率を変化させることによって、ヨー角加速度Ay’を変化させることができる(このようなトルクの比率の制御は、トルクベクタリングとも呼ばれる)。また、車両10は、右後輪12R用のブレーキ装置と、左後輪12L用のブレーキ装置を備えてよい。右のブレーキ装置と左のブレーキ装置は、右後輪12Rと左後輪12Lとの間のブレーキ力の比率を変化させることによって、ヨー角加速度Ay’を変化させることができる。また、力生成装置が、ヨー角速度Ay’を変化させる力を生成するように構成されている装置を含む場合、図10の第2制御値Cw2と、図21の制御値Cwと、の両方が用いられてよい。
(7)幅方向に互いに離れて配置された一対の車輪(例えば、後輪12R、12L)と、車体90と、を連結する連結装置の構成は、連結装置800(図1(A)、図2)の構成に代えて、他の種々の構成であってよい。例えば、リンク機構30(図2)が台に置換されてよい。台には、駆動モータ51L、51Rが固定される。そして、第1支持部82は、軸受によって、幅方向に回転可能に台に連結される。リーンモータ25は、台に対して、第1支持部82を、幅方向に回転させる。これにより、車体90は、幅方向にロール可能である。また、図示を省略するが、左スライド装置が、左後輪12Lと車体90とを接続し、右スライド装置が、右後輪12Rと車体90とを接続してもよい。各スライド装置は、車体90に対する車輪の車体上方向DVUの相対位置を変化させることができる。傾斜装置は、このような2個のスライド装置を含んでよい。
一般的には、傾斜装置は、「幅方向に互いに離れて配置された一対の車輪のうちの1つの車輪または2つの車輪に直接的または間接的に接続された第1部材」と、「車体に直接的または間接的に接続された第2部材」と、「第1部材を第2部材に可動(例えば、回転可能、スライド可能など)に接続する接続装置」を含んでよい。図2の実施例では、上横リンク部材31Uは、縦リンク部材33L、33Rとモータ51L、51Rを介して車輪12L、12Rに接続された第1部材の例である。中縦リンク部材21は、第1支持部82とサスペンションシステム70とを介して車体90に接続された第2部材の例である。軸受39は、第1部材を第2部材に可動に接続する接続装置の例である。
(8)車体90を幅方向にロールさせる力を生成する力生成装置は、リーンモータ25(図2)に代えて、種々の装置であってよい。例えば、力生成装置は、傾斜装置30を駆動する油圧シリンダと、油圧シリンダに油圧を供給するポンプと、を含んでよい。また、車体90と後輪12R、12Lを接続する上述の右スライド装置と左スライド装置とが油圧シリンダを用いて構成されている場合、力生成装置は、スライド装置に油圧を供給するポンプを含んでよい。また、力生成装置が車体90を幅方向にロールさせる力を生成するように構成されている装置を含む場合、図12の第2制御値CL2と、図14(A)のS523で調整された目標ロール角Artに基づく図12の制御値CL1と、の両方が用いられてよい。
(9)制御装置の構成は、図7の制御装置100の構成に代えて、他の種々の構成であってよい。例えば、制御装置は、センサから取得される情報に含まれるノイズを低減するノイズフィルタを備えてよい。これにより、車両の制御に対するノイズの影響が、緩和される。ノイズフィルタとしては、例えば、種々のローパスフィルタを採用可能である。
また、図10の実施例において、制御装置100は、気圧pL、pRを用いて指標値Swを特定し(S210)、指標値Swと係数k1を用いて第2制御値Cw2を特定する(S236)。ここで、制御装置100(図7)は、入力パラメータpL、pR、k1と、第2制御値Cw2との対応関係を示すマップデータを参照して、第2制御値Cw2を特定してよい(マップデータは、例えば、不揮発性記憶装置110nに格納されてよい)。他の実施例においても、同様に、制御装置100は、マップデータを参照して、制御値を特定してよい。また、制御に用いられる複数のパラメータの間の対応関係は、上記実施例の対応関係に代えて、他の種々の対応関係であってよい。制御に用いられる対応関係は、予め実験的に決められてよい。
また、制御装置100は、1つのコンピュータを用いて構成されてもよい。制御装置100の少なくとも一部は、ASIC(Application Specific Integrated Circuit)などの専用のハードウェアによって、構成されてよい。制御装置100は、種々の電気回路であってよく、例えば、コンピュータを含む電気回路であってよく、コンピュータを含まない電気回路であってもよい。いずれの場合も、制御値(例えば、制御値CL1、CL2、Cw1、Cw2、Cw3など)を決定する制御値決定処理は、種々の処理であってよい。制御値決定処理は、フィードバック制御(例えば、比例制御と微分制御と積分制御とのうちの少なくとも1つを含む制御)を含んでよく、フィードフォワード制御を含んでよい。
(10)車両の構成は、車両10(図1(A)等)の構成に代えて、他の種々の構成であってよい。例えば、車両は、1個の前輪と1個の後輪とを備える二輪車であってよい。このような車両は、図1(A)の実施例と同じ構成の前輪支持装置41と前輪12Fと操舵モータ65とを備えてよい。図21の制御は、二輪車に適用されてよい。
また、複数の車輪の総数と配置としては、種々の構成を採用可能である。例えば、前輪の総数が2であり、後輪の総数が1であってもよい。前輪の総数が2であり、後輪の総数が2であってもよい。前輪が駆動輪であってよい。回動輪の総数は、1以上の任意の数であってよい。後輪が、回動輪であってよい。この場合、車両の自転中心は、前輪の近くに位置する。そして、図16(D)、図16(E)で説明した第4ロールトルクTq4の方向は、後輪の回動方向とは反対の方向である。例えば、車両が左方向DLへ旋回する場合、後輪の進行方向は、右方向DR側へ回動し、後輪は右方向DRに移動する。この結果、車体の重心には、左方向DL側へ向かう慣性の力が作用する。この慣性の力は、車体を左方向DLへロールさせる。
(11)幅方向に回動可能に回動輪(例えば、前輪12F(図1(B)))を支持する回動輪支持装置の構成は、前輪支持装置41(図1(A))の構成に代えて、他の種々の構成であってよい。例えば、ハンドル41aと前フォーク17とは、機械的に接続されてよい。運転者は、ハンドル41aを回転させることによって、直接的に、前輪12Fを操舵できる。操舵モータ65による回動トルクは、操舵を補助するために、利用される。制御装置100は、操舵モータ65からハンドル41aを介して運転者に伝達される回動トルクが、操舵の好ましい方向を示すように、操舵モータ65を制御する。制御装置100は、ハンドル41aを持つ運転者の力に逆らって前輪12Fが大きく動くことがないように、操舵モータ65のトルクを小さい値に設定する。操舵モータ65の制御処理は、上記の各実施例の制御処理と同じであってよい(ただし、操舵モータ65のトルクは、小さいトルクに調整される)。
また、回動輪を回転可能に支持する支持部材は、前フォーク17に代えて、片持ちの部材であってよい。また、支持部材を車体に対して幅方向に回動可能に支持する回動装置は、軸受68に代えて、他の種々の装置であってよい。例えば、回動装置は、車体と支持部材とを連結するリンク機構であってよい。
一般的には、回動輪支持装置は、車体に固定されていることが好ましい。この構成によれば、回動輪の回動軸(例えば、回動軸Ax1(図1(A)))は、車体とともに傾斜する。従って、図6(A)-図6(C)等で説明したように、回動輪の方向(例えば、方向D12(図1(B)))は、車体のロール角Arの変化に追随して変化できる。ここで、回動輪支持装置は、K個(Kは1以上の整数)の支持部材を備えてよい。各支持部材は、1以上の回動輪を回転可能に支持してよい。そして、回動輪支持装置は、車体に固定されたK個の回動装置を備えてよい。K個の回動装置は、K個の支持部材を、それぞれ幅方向に回動可能に支持してよい。
(12)回動トルクを生成する操舵駆動装置の構成は、操舵モータ65の構成に代えて、他の種々の構成であってよい。例えば、操舵駆動装置は、ポンプを含み、ポンプからの液圧(例えば、油圧)を用いて回動トルクを生成してよい。
(13)上記各実施例の制御処理は、車両10(図1(A))に代えて、ボディと車輪とを備える種々の移動装置に適用されてよい。例えば、駆動輪を駆動する駆動装置は、電気モータと内燃機関の少なくとも1つを含んでよい。最大定員数は、1人に代えて、2人以上であってよい。上記実施例では、運転者が、車両10(図7)を制御するための種々の指示情報(例えば、図7の入力角AI、アクセル操作量Pa、ブレーキ操作量Pb)を制御装置100に入力する。これに代えて、制御装置100は、無線通信によって外部装置から指示情報を取得してよい。このように、移動装置は、遠隔操作される車両であってよい。また、制御装置100は、自動操縦を行うように構成されてよい。例えば、制御装置100は、図示しないGPS(Global Positioning System)を用いて特定される車両10の位置を参照して、予め決められた経路に沿って走行する処理を実行してよい。ここで、移動装置は、人を乗せずに荷物を載せて移動する無人車両であってよい。また、移動装置は、人も荷物も載せずに移動する無人車両であってよい。また、移動装置は、小型の模型自動車であってよい。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図7の制御装置100の機能を、専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。