[第1実施形態]
本発明の第1実施形態を図1〜図13を参照して説明する。
図1を参照して、本実施形態の移動体1Aは、車体2と、車体2の前後方向に間隔を存して配置された前輪3f及び後輪3rとを備える二輪車である。以降、移動体1Aを二輪車1Aという。
車体2の上面部には、運転者が跨るように着座するシート6が装着されている。
車体2の前部には、前輪3fを軸支する前輪支持機構4と、シート6に着座した運転者が把持するための操縦ハンドル7と、前輪3fを操舵するための駆動力を発生するアクチュエータ8と、前輪3fの操舵に連動させて操縦ハンドル7を動かすための駆動力を発生するアクチュエータ9とが組み付けられている。
前輪支持機構4は、例えばダンパー等のサスペンション機構を含むフロントフォークにより構成される。その機構的な構造は、例えば通常の自動二輪車の前輪支持機構と同様の構造とされている。この前輪支持機構4の端部(車体2の前方側の端部)に、前輪3fが、その直径方向に直交する方向(図1の紙面に垂直な方向)に延在する車軸中心線(前輪3fの回転軸線)のまわりに回転し得るようにベアリング等を介して軸支されている。
本実施形態では、前輪3fの車軸には、該前輪3fをその車軸中心線のまわりに回転駆動するアクチュエータ10が装着されている。アクチュエータ10は、二輪車1Aの推進力を発生する原動機としての機能を有するものである。このアクチュエータ10(以降、前輪駆動用アクチュエータ10ということがある)は、本実施形態では、電動モータ(減速機付きの電動モータ)により構成される。
なお、アクチュエータ10は、電動モータの代わりに、例えば油圧式のアクチュエータにより構成されていてもよい。あるいは、アクチュエータ10は内燃機関により構成されていてもよい。また、アクチュエータ10を前輪3fの車軸から離れた位置で車体2に搭載し、アクチュエータ10と前輪3fの車軸とを適宜の動力伝達装置で接続するようにしてもよい。
また、前輪3fをその車軸中心線のまわりに回転駆動するアクチュエータ10を二輪車1Aに搭載する代わりに、後輪3rをその車軸中心線のまわりに回転駆動するアクチュエータを二輪車1Aに搭載してもよい。あるいは、前輪3fと後輪3rとの両方をそれぞれの車軸中心線のまわりに回転駆動するアクチュエータを二輪車1Aに搭載してもよい。
また、前輪支持機構4は、後傾した操舵軸線Csfのまわりに回転し得るように車体2の前部に組み付けられている。これにより、前輪3fは、前輪支持機構4と共に操舵軸線Csfのまわりに回転可能、すなわち操舵可能な操舵輪となっている。そして、操舵軸線Csfが後傾しているので、前輪3fのキャスター角θcfは正の角度となっている。
なお、操舵軸線Csfが後傾しているというのは、該操舵軸線Csfが、その下方側よりも上方側の方が相対的に車体2の前後方向における後方側になるように、車体2の前後方向及び上下方向に対して傾いて延在していることを意味する。
補足すると、本実施形態の二輪車1Aでは、該二輪車1Aが直進姿勢で静止している状態(以降、基準姿勢状態という)において、図1に示す如く、前輪3fの車軸中心点と接地点とを結ぶ直線と、操舵軸線Csfとの交点Efが、接地面110の下側に存在するように(換言すれば、交点Efの接地面110からの高さaが、接地面110よりも低くなる(a<0となる)ように)、該基準姿勢状態における操舵軸線Csfと前輪3fとの相対的な配置が設定されている。
換言すれば、上記基準姿勢状態において、操舵軸線Csfと接地面110との交点が前輪3fの接地点の後ろ側に存在するように(前輪3fのトレール長が負の値となるように)、基準姿勢状態における操舵軸線Csfと前輪3fとの相対的な配置が設定されている。
なお、二輪車1Aの基準姿勢状態は、より詳しくは、前輪3f及び後輪3rが接地面110に直立姿勢で接地して静止しており、且つ、前輪3f及び後輪3rのそれぞれの車軸中心線(回転軸心)が、車体2の前後方向と直交する方向に互いに平行に延在している状態である。
本実施形態の二輪車1Aで、上記の如く、交点Efの接地面110からの高さaが接地面110よりも低くなるように、基準姿勢状態における操舵軸線Csfと前輪3fとの相対的な配置が設定されているのは、次の理由による。
すなわち、本願発明者の各種実験、検討によれば、二輪車1Aの前輪3fの操舵によって、車体2の姿勢を安定に制御する上で効果的なモーメント(ロール方向のモーメント)を該車体2に作用させるためには、前記交点Efの接地面110からの高さaが、ある値よりも低い(接地面110よりも低い場合を含む)ことが好ましい。
そこで、本実施形態では、一例として、二輪車1Aの前輪3fのトレール長が負の値となるように、基準姿勢状態における操舵軸線Csfと前輪3fとの相対的な配置を上記の如く設定した。ただし、前輪3fのトレール長が負の値であることは必須ではなく、前輪3fのトレール長が正の値となるように、操舵軸線Csfと前輪3fとの相対的な配置が設定されていてもよい。すなわち、基本的には、前輪3fの操舵によって、ロール方向のモーメントを車体2に作用させることができるようになっていればよい。
前記アクチュエータ8は、前輪3fの操舵を行なうための駆動力として、操舵軸線Csfのまわりに前輪3fを回転させる回転駆動力を発生するものである。このアクチュエータ8は、本実施形態では、電動モータ(減速機付きの電動モータ)により構成される。そして、アクチュエータ8(以降、前輪操舵用アクチュエータ8ということがある)は、操舵軸線Csfのまわりの回転駆動力を前輪支持機構4に付与するように、該前輪支持機構4に接続されている。
従って、前輪操舵用アクチュエータ8から前輪支持機構4に回転駆動力を付与することで、前輪支持機構4が操舵軸線Csfのまわりに前輪3fと共に回転駆動される。これにより、前輪3fが、前輪操舵用アクチュエータ8の回転駆動力によって操舵される。
なお、アクチュエータ8は、電動モータに限らず、例えば油圧式のアクチュエータにより構成されていてもよい。
操縦ハンドル7は、前輪3fの操舵軸線Csfと平行なハンドル軸線Chのまわりに回転し得るように車体2の前部に組み付けられている。詳細な図示は省略するが、この操縦ハンドル7には、通常の自動二輪車のハンドルと同様に、アクセルグリップ、ブレーキレバー、方向指示器スイッチ等が組み付けられている。
前記アクチュエータ9は、操縦ハンドル7を動かす駆動力として、ハンドル軸線Chのまわりに操縦ハンドル7を回転させる回転駆動力を発生するものである。このアクチュエータ9は、本実施形態では、電動モータ(減速機付きの電動モータ)により構成される。そして、アクチュエータ9(以降、ハンドル駆動用アクチュエータ9ということがある)は、ハンドル軸線Chのまわりの回転駆動力を操縦ハンドル7に付与するように、該操縦ハンドル7に接続されている。
なお、本実施形態の二輪車1Aでは、図1に示す如く、操縦ハンドル7のハンドル軸線Chは、前輪3fの操舵軸線Csfに対してオフセットされている。ただし、ハンドル軸線Chは、操舵軸線Csfと同軸心に配置されていてもよい。あるいは、ハンドル軸線Chは、操舵軸線Csfに対して傾いていてもよい。
また、アクチュエータ9は、電動モータの代わりに、例えば油圧式のアクチュエータにより構成されていてもよい。
車体2の後部には、後輪3rを回転自在に軸支する後輪支持機構5が組み付けられている。後輪支持機構5は、スイングアーム11と、コイルスプリング及びダンパー等により構成されるサスペンション機構12とを備えている。これらの機構的な構造は、例えば通常の自動二輪車の後輪支持機構と同様の構造とされている。
そして、スイングアーム11の端部(車体2の後方側の端部)に、後輪3rが、その直径方向に直交する方向(図16の紙面に垂直な方向)に延在する車軸中心線(後輪3rの回転軸心)のまわりに回転し得るようにベアリング等を介して軸支されている。なお、後輪3rは非操舵輪である。
二輪車1Aは、以上の機構的構成の他、図2に示すように、前記前輪操舵用アクチュエータ8、ハンドル駆動用アクチュエータ9、及び前輪駆動用アクチュエータ10の動作制御(ひいては車体2の姿勢等の制御)のための制御処理を実行する制御装置15を備えている。
さらに、二輪車1Aは、制御装置15の制御処理に必要な各種状態量を検出するためのセンサとして、車体2のロール方向の傾斜角φbを検出するための車体傾斜検出器16と、前輪3fの操舵角δf(操舵軸線Csfまわりの回転角度)を検出するための前輪操舵角検出器17と、操縦ハンドル7の回転角(ハンドル軸線Chまわりの回転角度)であるハンドル角δhを検出するためのハンドル角検出器18と、操縦ハンドル7にハンドル軸線Chまわりで作用するトルクであるハンドルトルクThを検出するためのハンドルトルク検出器19と、前輪3fの回転速度(角速度)を検出するための前輪回転速度検出器20と、操縦ハンドル7のアクセルグリップの操作量(回転量)であるアクセル操作量に応じた検出信号を出力するアクセル操作検出器21とを備えている。
なお、前輪3fの操舵角δfは、より詳しくは、前輪3fの非操舵状態(前輪3fの車軸中心線の方向が車体2の前後方向と直交する方向となる状態)での操舵角(中立操舵角)からの回転角を意味する。従って、前輪3fの非操舵状態での操舵角δfは“0”である。そして、前輪3fの操舵角δfの正の向きは、前輪3fの前端が車体2の左側に向くこととなる回転の向き(換言すれば、二輪車1Aを上方から見たときに前輪3fが操舵軸線Csf周りに反時計周り方向に回転する向き)である。
また、操縦ハンドル7のハンドル角δhは、前輪3fの非操舵状態に対応する操縦ハンドル7の姿勢状態からの回転角を意味する。そして、ハンドル角δhの正の向きは、二輪車1Aを上方から見たときに操縦ハンドル7がハンドル軸線Ch周りに反時計周り方向に回転する向きである。
制御装置15は、CPU、RAM、ROM、インターフェース回路等から構成される電子回路ユニットであり、車体2に組み付けられている。そして、この制御装置15に、上記の各検出器16〜22の出力(検出信号)が入力されるようになっている。
なお、制御装置15は、複数のCPU又はプロセッサを備えていてもよい。また、制御装置15は、相互に通信可能な複数の電子回路ユニットにより構成されていてもよい。
車体傾斜検出器16は、例えば加速度センサとジャイロセンサ(角速度センサ)とから構成されており、車体2に組み付けられている。この場合、制御装置15は、これらの加速度センサ及びジャイロセンサの出力に基づいて演算処理を行うことで、車体2のロール方向の傾斜角(より詳しくは、鉛直方向(重力方向)に対するロール方向の傾斜角)を計測する。その計測手法としては、例えば特許4181113号にて本願出願人が提案した手法を採用することができる。
前輪操舵角検出器17は、例えば、前記操舵軸線Csf上で前輪操舵用アクチュエータ8(電動モータ)に装着されたロータリエンコーダにより構成される。
ハンドル角検出器18は、例えば、前記ハンドル軸線Ch上でハンドル駆動用アクチュエータ9(電動モータ)に装着されたロータリエンコーダにより構成される。
ハンドルトルク検出器19は、例えば、操縦ハンドル7とハンドル駆動用アクチュエータ9との間に介装された力センサにより構成される。
前輪回転速度検出器20は、例えば、前輪3fの車軸に装着されたロータリエンコーダにより構成される。
アクセル操作検出器21は、例えば、操縦ハンドル7に内蔵されたロータリエンコーダあるいはポテンショメータにより構成される。
上記制御装置15の機能について、図3を参照してさらに説明する。なお、以降の説明におけるXYZ座標系は、図1に示す如く、二輪車1Aの基準姿勢状態において、鉛直方向(上下方向)をZ軸方向、車体2の前後方向をX軸方向、車体2の左右方向をY軸方向(Y軸は図示省略)、二輪車1Aの全体重心Gの直下の接地面110上の点を原点として定義される座標系である。
また、以降の説明では、状態量の参照符号に付する添え字“_act”は、実際の値、又はその観測値(検出値もしくは推定値)を示す符号として使用する。なお、目標値には、添え字“_cmd”を付する。
制御装置15は、実装されたプログラムをCPUが実行することにより実現される機能(ソフトウェアにより実現される機能)又はハードウェアにより実現される機能として、図3に示すように、二輪車1Aの走行速度Voxの実際の値Vox_actの推定値(以降、走行速度推定値Vox_actという)を算出する走行速度推定値算出部33と、車体2のロール角(X軸まわり方向(ロール方向)の傾斜角)φbの目標値φb_cmd(以降、目標ロール角φb_cmdという)と該ロール角φbの時間的変化率であるロール角速度φb_dotの目標値φb_dot_cmd(以降、目標ロール角速度φb_dot_cmdという)とを決定する目標姿勢状態決定部34と、車体2の姿勢制御のための複数のゲインK1,K2,K3,K4,Khの値を決定する制御ゲイン決定部35と、前輪3fの回転移動速度Vf(前輪3fが接地面110上を転動することによる該前輪3fの並進移動速度)の目標値Vf_cmd(以降、目標前輪回転移動速度Vf_cmdという)を決定する目標前輪回転移動速度決定部36とを備える。
さらに、制御装置15は、車体2の姿勢制御のための演算処理を実行することによって、前輪3fの操舵角δfの目標値δf_cmd(以降、目標前輪操舵角δf_cmdという)、該操舵角δfの時間的変化率である操舵角速度δf_dotの目標値δf_dot_cmd(以降、目標前輪操舵角速度δf_dot_cmdという)及び該操舵角速度δf_dotの時間的変化率である操舵角加速度δf_dot2の目標値δf_dot2_cmd(以降、目標前輪操舵角加速度δf_dot2_cmdという)を決定する姿勢制御演算部37と、操縦ハンドル7のハンドル角δhの目標値δh_cmd(以降、目標ハンドル角δh_cmdという)及び該ハンドル角δhの時間的変化率であるハンドル角速度δh_dotの目標値δh_dot_cmd(以降、目標ハンドル角速度δh_dot_cmdという)を決定する目標ハンドル角決定部38とを備える。
制御装置15は、上記各機能部の処理を所定の制御処理周期で逐次実行する。そして、制御装置15は、姿勢制御演算部37により決定した目標前輪操舵角δf_cmd、目標前輪操舵角速度δf_dot_cmd及び目標前輪操舵角加速度δf_dot2_cmdに応じて前輪操舵用アクチュエータ8を制御する。
また、制御装置15は、目標前輪回転移動速度決定部36により決定した目標前輪回転移動速度Vf_cmdに応じて前輪駆動用アクチュエータ10を制御する。
また、制御装置15は、目標ハンドル角決定部38により決定した目標ハンドル角δh_cmd及び目標ハンドル角速度δh_dot_cmdに応じてハンドル駆動用アクチュエータ9を制御する。
以下に、制御装置15の制御処理の詳細を説明する。
制御装置15は、各制御処理周期において、まず、走行速度推定値算出部33の処理を実行する。
図3に示すように、この走行速度推定値算出部33には、前輪3fの回転移動速度Vf(前輪3fが接地面110上を転動することによる該前輪3fの並進移動速度)の実際の値Vf_actの推定値(以降、前輪回転移動速度推定値Vf_actという)と、前輪操舵角検出器17の出力により示される前輪3fの操舵角δfの実際の値δf_actの検出値(以降、前輪操舵角検出値δf_actという)とが入力される。
なお、前輪回転移動速度推定値Vf_actは、前記前輪回転速度検出器20の出力により示される前輪3fの回転角速度の検出値(観測値)に該前輪3fの既定の有効回転半径を乗じることで算出される速度である。
そして、走行速度推定値算出部33は、図4のブロック線図で示す処理によって、走行速度推定値Vox_actを算出する。
図4において、処理部33−1は、現在時刻での前輪操舵角検出値δf_actに前輪3fのキャスター角θcfの余弦値cos(θcf)を乗じることによって、ヨー方向での前輪3fの回転角に相当する前輪有効操舵角δ'fの実際の値δ'f_actの推定値(以降、前輪有効操舵角推定値δ'f_actという)を算出する処理部である。
ここで、前記前輪有効操舵角δ'fは、操舵輪である前輪3fの回転面(前輪3fの車軸中心点を通って前輪3fの車軸中心線に直交する面)と接地面110との交線が、車体2の前後方向(X軸方向)に対してなす角度である。
そして、前輪有効操舵角推定値δ'f_actは、車体2のロール角φbが比較的小さい場合に、近似的に、次式(1)によって算出することができる。上記処理部33−1の処理は、この式(1)によって、δ'f_actを近似的に算出する処理である。
δ'f_act=cos(θcf)*δf_act ……(1)
なお、δ'f_actの精度をより高めるために、δf_actからマップによりδ'f_actを求めるようにしてもよい。あるいは、δ'f_actの精度をより一層高めるために、前輪操舵角検出値δf_actと、車体傾斜検出器16の出力により示される車体2の実際のロール角φb_actの検出値とからマップ(2次元マップ)等によりδ'f_actを求めるようにしてもよい。
図4における処理部33−2は、処理部33−1で算出された前輪有効操舵角推定値δ'f_actの余弦値cos(δ’f_act)を求める処理部、処理部33−3は、現在時刻での前輪回転移動速度推定値Vf_actに上記余弦値cos(δ’f_act)を乗じることによって走行速度推定値Vox_actを算出する処理部を表している。
従って、走行速度推定値算出部33は、δ'f_actの余弦値cos(δ’f_act)を、Vf_actに乗じることによって、Vox_actを算出するように構成されている。すなわち、Vox_actは、次式(2)により算出される。
Vox_act=Vf_act*cos(δ'f_act)
=Vf_act*cos(δf_act*cos(θcf)) ……(2)
このように算出される走行速度推定値Vox_actは、前輪回転移動速度推定値Vf_actのX軸方向成分に相当する。
なお、走行速度推定値算出部33の処理では、現在時刻での前輪操舵角検出値δf_act及び前輪回転移動速度推定値Vf_actの代わりに、それぞれ、前回の制御処理周期において後述する姿勢制御演算部37により算出された目標前輪操舵角δf_cmdの値(前回値)δf_cmd_p、前回の制御処理周期において後述する目標前輪回転移動速度決定部36により算出された目標前輪回転移動速度Vf_cmdの値(前回値)Vf_cmd_pを使用して、前記式(1)の右辺の演算と同様の演算を行なうことで算出される値(=Vf_cmd_p*cos(δf_cmd_p*cos(θcf)))を、走行速度推定値Vox_actの代わりの擬似的な推定値(代用的な観測値)として得るようにしてもよい。
あるいは、走行速度推定値Vox_actの代わりの擬似的な推定値(代用的な観測値)を得る際に、現在時刻での前輪操舵角検出値δf_actの代わりにδf_cmd_pを使用し、前輪回転移動速度推定値Vf_actはそのまま使用してもよい。逆に、現在時刻での前輪回転移動速度推定値Vf_actの代わりにVf_cmd_pを使用し、前輪操舵角検出値δf_actはそのまま使用してもよい。
また、後輪3rの実際の回転角速度の観測値(ロータリエンコーダ等の適宜の検出器による検出値)に、該後輪3rの既定の有効回転半径を乗じることによって、後輪3rの実際の回転移動速度を推定し、その推定値を走行速度推定値Vox_actとして得るようにしてもよい。
制御装置15は、次に、目標前輪回転移動速度決定部36の処理を実行する。
目標前輪回転移動速度決定部36には、図3に示すように、前記アクセル操作検出器21の出力により示されるアクセル操作量の実際の値の検出値が入力される。
そして、目標前輪回転移動速度決定部36は、図6のブロック線図に示す処理、すなわち、処理部36−1の処理によって、目標前輪回転移動速度Vf_cmdを決定する。
処理部36−1は、現在時刻でのアクセル操作量の検出値から、あらかじめ設定された変換関数によって、目標前輪回転移動速度Vf_cmdを決定する。
上記変換関数は、例えばマップもしくは演算式により構成される関数である。この変換関数は、基本的には、該変換関数により決定されるVf_cmdが、アクセル操作量の増加に対して単調増加するように設定されている。
例えば図6中のグラフで例示するような傾向で、該変換関数が設定されている。この場合、アクセル操作量の検出値が、ゼロから所定の第1アクセル操作量A1までの不感帯の範囲内(ゼロ近辺の範囲内)の値であるときには、処理部36−1は、Vf_cmdをゼロに決定する。
また、アクセル操作量の検出値が、第1アクセル操作量A1から所定の第2アクセル操作量A2(>A1)までの範囲内の値であるときには、処理部36−1は、アクセル操作量の増加に対して、Vf_cmdが単調に増加すると共に、Vf_cmdの増加率(アクセル操作量の単位増加量当たりのVf_cmdの増加量)が滑らかに大きくなるように、Vf_cmdを決定する。
また、アクセル操作量の検出値が、第2アクセル操作量A2から所定の第3アクセル操作量A3(>A2)までの範囲内の値であるときには、処理部36−1は、Vf_cmdがアクセル操作量の増加に対して、一定の増加率で単調に増加していくように、Vf_cmdを決定する。
さらに、アクセル操作量の検出値が、第3アクセル操作量A3を超えると、処理部36−1は、Vf_cmdを一定値(A3に対応する値)に維持するように決定する。
制御装置15は、次に、制御ゲイン決定部35の処理を実行する。制御ゲイン決定部35には、図3に示すように、制御装置15の前回の制御処理周期で姿勢制御演算部37により決定された目標前輪操舵角δf_cmdの値(前回値)である前回目標前輪操舵角δf_cmd_pが遅延要素39を介して入力されると共に、今回の制御処理周期で走行速度推定値算出部33により算出された走行速度推定値Vox_actが入力される。
そして、制御ゲイン決定部35は、例えば図5のブロック線図で示す処理によって、車体2の姿勢制御のための複数のゲインK1,K2,K3,K4,Khの値を決定する。
その詳細は後述するが、各ゲインK1,K2,K3,K4,Khの値は、δf_cmd_pと、Vox_actとに応じて、又はVox_actに応じて可変的に決定される。
制御装置15は、次に、目標姿勢状態決定部34の処理を実行する。目標姿勢状態決定部34は、車体2の目標ロール角θb_cmdと目標ロール角速度θb_dot_cmdとを決定する。本実施形態では、目標姿勢状態決定部34は、一例として、目標ロール角θb_cmdと目標ロール角速度θb_dot_cmdとを共にゼロに設定する。
制御装置15は、次に、姿勢制御演算部37の処理を実行する。この姿勢制御演算部37には、図3に示すように、目標姿勢状態決定部34で決定された目標ロール角φb及び目標ロール角速度φb_dot_cmdと、車体傾斜検出器16の出力により示される実際のロール角の検出値φb_act(以降、ロール角検出値φb_actという)及び実際のロール角速度の検出値φb_dot_act(以降、ロール角速度検出値φb_dot_actという)と、制御ゲイン決定部35で決定されたゲインK1,K2,K3,K4,Khと、前記ハンドルトルク検出器19の出力により示されるハンドルトルクThの実際の値の検出値Th_act(以降、ハンドルトルク検出値Th_actという)とが入力される。
姿勢制御演算部37は、上記の入力値を用いて、図7のブロック線図に示す処理を実行することによって、目標前輪操舵角δf_cmdと、目標前輪操舵角速度δf_dot_cmdと、目標前輪操舵角加速度δf_dot2_cmdとを決定する。
図7において、処理部37−1は、Th_actにゲインKhを乗じることで、Th_actを前輪3fの操舵角の角加速度の要求値に変換する処理部、処理部37−2は、目標ロール角φb_cmdとロール角検出値φb_actとの偏差を求める処理部、処理部37−3は、処理部37−2の出力にゲインK1を乗じる処理部、処理部37−4は、目標ロール角速度φb_dot_cmdとロール角速度検出値φb_dot_actとの偏差を求める処理部、処理部37−5は、処理部37−4の出力にゲインK2の乗じる処理部、処理部37−6は、δf_cmd_pにゲインK3を乗じる処理部、処理部37−7は、前回の制御処理周期で姿勢制御演算部37が決定した目標前輪操舵角速度δf_dot_cmdの値である前回目標前輪操舵角速度δf_dot_cmd_pにゲインK4を乗じる処理部、処理部37−8は処理部37−3,37−5のそれぞれの出力と、処理部37−6,37−7のそれぞれの出力の(−1)倍の値とを加え合わせた値を算出する処理部、処理部37−9は、処理部37−8の出力と処理部37−1の出力とを加え合わせることによって、目標前輪操舵角加速度δf_dot2_cmdを算出する処理部を表している。
また、処理部37−10は、処理部37−9の出力を積分することにより目標前輪操舵角速度δf_dot_cmdを求める処理部、処理部37−11は、前回の制御処理周期での処理部37−10の出力(すなわち、前回目標前輪操舵角速度δf_dot_cmd_p)を処理部37−7に出力する遅延要素、処理部37−12は、処理部37−10の出力を積分することにより目標前輪操舵角δf_cmdを求める処理部、処理部37−13は、前回の制御処理周期での処理部37−12の出力(すなわち、前回目標前輪操舵角δf_cmd_p)を処理部37−6に出力する遅延要素を表している。
従って、姿勢制御演算部37は、次式(3)により、目標前輪操舵角加速度δf_dot2_cmdを算出する。
δf_dot2_cmd=(K1*(φb_cmd−φb_act)
+K2*(φb_dot_cmd−φb_dot_act)
−K3*δf_cmd_p−K4*δf_dot_cmd_p)+Kh*Th_act
……(3)
上記式(3)において、K1*(φb_cmd−φb_act)は、偏差(φb_cmd−φb_act)を“0”に近づける機能を有するフィードバック操作量、K2*(φb_dot_cmd−φb_dot_act)は、偏差(φb_dot_cmd−φb_dot_act)を“0”に近づける機能を有するフィードバック操作量、−K3*δf_cmd_pは、δf_cmdを“0”に近づける機能を有するフィードバック操作量、−K4*δf_dot_cmd_pは、δf_dot_cmdを“0”に近づける機能を有するフィードバック操作量である。
また、Kh*Th_actは、運転者により操縦ハンドル7に付与される実際のハンドルトルク(ハンドルトルク検出値Th_act)に応じたフィードフォワード操作量である。
そして、姿勢制御演算部37は、上記式(3)により決定したδf_dot2_cmdを積分することにより、目標前輪操舵角速度δf_dot_cmdを決定する。さらに、姿勢制御演算部37は、このδf_dot_cmdを積分することにより、目標前輪操舵角δf_cmdを決定する。
なお、式(3)の演算で用いるδf_cmd_p、δf_dot_cmd_pは、それぞれ、現在時刻での前輪3fの実際の操舵角、操舵角速度の擬似的な推定値(代用的な観測値)としての意味を持つものである。従って、δf_cmd_pの代わりに、現在時刻での前輪操舵角検出値δf_actを使用してもよい。また、δf_dot_cmd_pの代わりに、前記前輪操舵角検出器17の出力に基づく前輪操舵角速度検出値δf_dot_act(前輪3fの実際の操舵角速度の検出値)を使用してもよい。
以上が姿勢制御演算部37の処理である。
この姿勢制御演算部37の処理によって、目標前輪操舵角加速度δf_dot2_cmdは、操縦ハンドル7にハンドルトルクThが付与されていない場合では、基本的には、二輪車1Aの車体2の実際のロール角(ロール角検出値φb_act)が目標ロール角φb_cmdからずれた状態、あるいは、二輪車1Aの車体2の実際のロール角速度(ロール角速度検出値φb_dot_act)が目標ロール角速度φb_dot_cmdからずれた状態では、それらのずれを、前輪3fの操舵角δfを操作することによって解消するように(ひいては、実際の二輪車1Aの車体2のロール角あるいはロール角速度を目標ロール角あるいは目標ロール角速度に復元させるように)決定される。
また、目標前輪操舵角δf_cmd及び目標前輪操舵角速度δf_dot_cmdが本実施形態では“0”であるので、二輪車1Aの車体2の実際のロール角が目標ロール角φb_cmdに一致もしくはほぼ一致する値に保持されている状態では、目標前輪操舵角加速度δf_dot2_cmdは、前輪3fの実際の操舵角を“0”もしくはほぼ“0”に保持するように決定される。
さらに、操縦ハンドル7にハンドルトルクThが付与された場合には、ハンドルトルク検出値Th_actに応じたフィードフォワード操作量が、目標前輪操舵角加速度δf_dot2_cmdに付加される。
なお、ハンドルトルク検出値Th_actに応じたフィードフォワード操作量を、上記の如くδf_dot2_cmdに付加することに代えて、ハンドルトルク検出値Th_actに応じたフィードフォワード操作量(Th_actにゲインを乗じた値)を、目標前輪操舵角速度δf_dot_cmd又は目標前輪操舵角δf_cmdに付加するようにしてもよい。
あるいは、ハンドルトルク検出値Th_actに応じたフィードフォワード操作量を、δf_dot2_cmdに付加することに代えて、例えば図8のブロック線図で示すように、目標ロール角φb_cmdをTh_actに応じて補正し、その補正後の目標ロール角をφb_cmdの代わりに用いるようにしてもよい。
図8のブロック線図で示す姿勢制御演算部37の処理では、図7に示した処理部37−9に代えて、処理部37−14が備えられている。この処理部37−14は目標ロール角φb_cmdから、処理部37−1の出力(=Kh*Th_act)を減算することで、φb_cmdを補正する。なお、この場合にTh_actに乗じるゲインKhの値は、一般には、図7のブロック線図の処理部37−1で使用するゲインKhの値とは異なる。
そして、処理部37−14は、この補正後の目標ロール角(=φb_cmd−Kh*Th_act)を、φb_cmdの代わりに処理部37−2に入力する。
また、図8のブロック線図の処理では、処理部37−8の出力がそのまま目標前輪操舵角加速度δf_dot2_cmdとして決定されると共に、処理部37−10に入力される。
図8のブロック線図で示す処理は、以上説明した事項以外は、図7に示したものと同じである。
従って、図8に示す姿勢制御演算部37の処理では、次式(4)により、目標前輪操舵角加速度δf_dot2_cmdが算出される。
δf_dot2_cmd=K1*((φb_cmd−Kh*Th_act)−φb_act)
+K2*(φb_dot_cmd−φb_dot_act)
−K3*δf_cmd_p−K4*δf_dot_cmd_p ……(4)
図7のブロック線図の処理部37−1で使用するゲインKhの値をゲインK1で除した値の(−1)倍の値を図8のブロック線図の処理部37−1で使用するゲインKhに用いると、図8のブロック線図は、図7のブロック線図と等価になる。
図7のブロック線図又は図8のブロック線図において、処理部37−10の出力に、ハンドルトルク検出値Th_actに所定のゲインを乗じたものを加えるようにしてもよい。
あるいは、図7のブロック線図又は図8のブロック線図において、処理部37−12の出力に、ハンドルトルク検出値Th_actに所定のゲインを乗じたものを加えるようにしてもよい。
あるいは、ハンドルトルク検出値Th_actをそのまま用いる代わりに、周波数特性を調整するフィルタにハンドルトルク検出値Th_actを通した値を用いるようにしてもよい。以上のような処理を加えることで、ハンドルトルクに対する制御系の応答特性を、より一層、二輪車1Aの運転者の嗜好に合わせることができる。
ここで、前記式(3)の演算によりδf_dot2_cmdを算出する場合に用いるゲインK1〜K4(式(3)の右辺の各フィードバック操作量に係わるフィードバックゲイン)およびゲインKhは、前記制御ゲイン決定部35で決定されるものである。そこで、以下に、制御ゲイン決定部35の処理を詳細に説明する。
制御ゲイン決定部35は、入力される走行速度推定値Vox_actと、前回目標前輪操舵角δf_cmd_pとから図5のブロック線図で示す処理によって、ゲインK1〜K4およびKhの値を決定する。
図5において、処理部35−1は、Vox_actとδf_cmd_pとに応じてゲインK1を決定する処理部、処理部35−2は、Vox_actとδf_cmd_pとに応じてゲインK2を決定する処理部である。
本実施形態では、処理部35−1は、Vox_actとδf_cmd_pとから、あらかじめ設定された2次元マップ(2変数の変換関数)によりゲインK1を決定する。同様に、処理部35−2は、Vox_actとδf_cmd_pとから、あらかじめ設定された2次元マップ(2変数の変換関数)によりゲインK2を決定する。
これらの2次元マップは、Vox_actとδf_cmd_pとに対するゲインK1の値の変化の傾向と、Vox_actとδf_cmd_pとに対するゲインK2の値の変化の傾向とが、概ね同様の傾向で設定されている。
具体的には、処理部35−1,35−2のそれぞれの2次元マップは、図5中の処理部35−1,35−2に記載したグラフで例示されるように、該2次元マップにより決定されるゲインK1,K2の大きさが、δf_cmd_pを任意の値に固定した場合にVox_actの増加に対して単調減少する傾向を持つように設定されている。
従って、二輪車1Aの車体2のロール方向の姿勢を安定化させる(ロール角検出値φb_actと、ロール角速度検出値φb_dot_actとをそれぞれφb_cmd、φb_dot_cmdに収束させる)機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK1,K2は、二輪車1Aの実際の走行速度(走行速度推定値Vox_act)が大きくなるに伴い、ゲインK1,K2のそれぞれの大きさが小さくなるように決定される。
換言すれば、φb_actとφb_cmdとの偏差、あるいは、φb_dot_actとφb_dot_cmdとの偏差に応じて、該偏差を解消する方向に発生させる前輪操舵用アクチュエータ8の駆動力が、二輪車1Aの実際の走行速度(走行速度推定値Vox_act)が高速側の速度である場合には、低速側の速度である場合よりも弱まるように、ゲインK1,K2が決定される。
さらに、処理部35−1,35−2のそれぞれの2次元マップは、それにより決定されるゲインK1,K2が、Vox_actを任意の値に固定した場合に、δf_cmd_pの大きさ(絶対値)の増加に対して、単調減少する傾向を持つように設定されている。
従って、二輪車1Aの車体2のロール方向の姿勢を安定化させる機能を有するフィードバック操作量に係るゲインとしてのゲインK1,K2は、前輪3fの実際の操舵角に相当するδf_cmd_pの大きさが大きくなるに伴い、K1,K2のそれぞれの大きさが小さくなるように決定される。
換言すれば、φb_actとφb_cmdとの偏差、あるいは、φb_dot_actとφb_dot_cmdとの偏差に応じて、該偏差を解消する方向に発生させる前輪操舵用アクチュエータ8の駆動力が、前輪3fの実際の操舵角の大きさが大きい場合に、該操舵角の大きさが小さい場合よりも弱まるように、ゲインK1,K2が決定される。
ここで、前輪3fの実際の操舵角の大きさが大きい場合には、小さい場合に較べて、操舵輪(前輪3f)の接地点を含みX軸方向(車体2の前後方向)を法線とする断面で見た該操舵輪(前輪3f)の接地部位の曲率半径が大きくなる。ひいては、前輪3fの実際の操舵角の大きさが大きい場合には、小さい場合に較べて、その操舵角の変化に応じた前輪3fの接地点の移動量の変化が大きくなる。
このことに起因して、仮に、ゲインK1,K2の大きさを、実際の操舵角に依存しないように設定すると、実際の操舵角が大きい場合に、二輪車1Aの車体2のロール方向の姿勢の制御の発振が生じやすくなる。
そこで、本実施形態では、上記の如く、δf_cmd_pの大きさに応じてゲインK1,K2の大きさを変化させるようにした。これにより、前輪3fの実際の操舵角の大きさ(絶対値)が大きい場合でも、上記発振を防止することができる。
また、図5のブロック線図において、処理部35−3は、Vox_actに応じてゲインK3を決定する処理部、処理部35−4は、Vox_actに応じてゲインK4を決定する処理部である。
本実施形態では、処理部35−3,35−4は、それぞれ、Vox_actから、あらかじめ設定されたマップ(又は演算式)により構成される変換関数によって、ゲインK3,K4を決定する。
これらの変換関数は、図5中の処理部35−3,35−4に記載したグラフで例示されるように、基本的には、Vox_actの増加に対して、ゲインK3,K4のそれぞれが、所定の上限値と下限値との間で、単調増加するように設定されている。
この場合、処理部35−3,35−4の変換関数では、Vox_actが“0”に近い値となる領域では、K3,K4はそれぞれ下限値に維持される。また、Vox_actが十分に大きい値となる領域では、K3,K4はそれぞれ上限値に維持される。
上記のようにゲインK3,K4が決定されるので、二輪車1Aの実際の走行速度(走行速度推定値Vox_act)が比較的大きい場合(高速域の速度である場合)には、前輪3fの操舵角δfをゼロに近づける機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK3,K4の大きさが、二輪車1Aの実際の走行速度が比較的小さい場合(低速域の速度(“0”を含む)である場合)に較べて相対的に大きくなるようにK3,K4が決定される。
本実施形態では、ゲインK1,ゲインK3が以上のように設定されるので、前輪3fの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車1Aの走行速度が大きいほど、小さくなるように設定される。
同様に、ゲインK2,ゲインK4が以上のように設定されるので、前輪3fの操舵角を一定とした場合のゲインK2と、ゲインK4との比(=K2/K4)が、二輪車1Aの走行速度が大きいほど、小さくなるように設定される。
このため、車体2のロール方向の姿勢を制御する機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK1,K2は、それぞれ、二輪車1Aの走行速度が大きいほど、前輪3fの実際の操舵角をゼロに収束させる機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK3,K4に較べて相対的に小さくなる。
このため、二輪車1Aの実際の走行速度(走行速度推定値Vox_act)が比較的高速である場合、すなわち、車体2のロール方向の姿勢の安定性が高い状況では、通常の二輪車(車体のロール方向の姿勢制御機能を持たない二輪車)と同様に、運転者の体重移動等によって車体2のロール方向の姿勢(ロール角φb)を変化させることを、二輪車1Aの運転者が容易に行なうことができるようになっている。
なお、ゲインK1及びK2を決定する2次元マップは、それぞれ、走行速度推定値Vox_actがある程度大きくなると(Vox_actが所定値以上の速度である場合に)、決定されるK1,K2の値が、“0”もしくはほぼ“0”となるように設定されていてもよい。
このようにした場合には、二輪車1Aの実際の走行速度(走行速度推定値Vox_act)が比較的大きい場合に、車体2のロール方向の姿勢制御機能が実質的にOFFになる。そのため、二輪車1Aの実際の走行速度が高速である場合に、二輪車1Aの挙動特性を、通常の二輪車と同等の特性に近づけるようにすることができる。
また、図5において、処理部35−5は、ゲインKhをVox_actに応じて決定する処理部を表している。
本実施形態では、処理部35−5は、ゲインK3,K4と同様に、Vox_actから、あらかじめ設定されたマップ(又は演算式)により構成される変換関数によって、ゲインKhを決定する。
この変換関数は、図5中の処理部35−5に記載したグラフで例示されるように、基本的には、Vox_actが小さい場合よりも大きい場合の方が相対的に、ゲインKhの大きさが大きくなるように設定されている。
この場合、処理部35−5の変換関数は、Vox_actの増加に対して、ゲインKhが、所定の上限値と下限値との間で、単調増加するように設定されている。また、該変換関数は、それにより決定されるKhが、Vox_actに対して飽和特性を有するように設定されている。すなわち、該変換関数により決定されるKhは、Vox_actが“0”に近い値となる低速領域(“0”を含む)と、Vox_actが十分に大きい高速領域とで、Vox_actに対するKhの値の変化率(Vox_actの単位増加量当たりのKhの増加量)の大きさが、上記低速領域及び高速領域の間の中速領域での当該変化率の大きさよりも、小さくなるように決定される。
このようにゲインKhをVox_actに応じて決定することで、二輪車1Aの実際の走行速度が比較的大きい場合に、ゲインK1に対するゲインKhの大きさを大きくすることができる。
このため、運転者が、操縦ハンドル7が動かそうとして、操縦ハンドル7にハンドル軸線Ch周りのトルクを付与すると、ハンドルトルク検出値Thをゼロにするように、目標前輪操舵角加速度δf_dot2_cmdが決定される。ひいては、運転者自身が、操縦ハンドル7を動かすことに対する前輪3fの操舵の追従性が高まる。
その結果、二輪車1Aの高速域での走行時に、操縦ハンドル7の操作による前輪3fの操舵を、通常の二輪車と同様に行なうようにすることができる。
以上が、本実施形態における制御ゲイン決定部35の処理の詳細である。
なお、ゲインK1は、Vox_actの増加に対して、所定の上限値と下限値との間で、単調増加するように設定する代わりに、一定に維持されるように、あるいは単調減少するように設定してもよい。ただし、この場合でも、前輪3fの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車1Aの走行速度が大きいほど、小さくなるように設定する。
同様に、ゲインK2は、Vox_actの増加に対して、所定の上限値と下限値との間で、単調増加するように設定する代わりに、一定に維持されるように、あるいは単調減少するように設定してもよい。ただし、この場合でも、前輪3fの操舵角を一定とした場合のゲインK2と、ゲインK4との比(=K2/K4)が、二輪車1Aの走行速度が大きいほど、小さくなるように設定する。
また、ゲインK3,K4も、ゲインK1,K2と同様、Vox_actとδf_cmd_pとに応じて決定するようにしてもよい。たとえば、前輪3fの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車1Aの走行速度が大きいほど、小さくなるように、極配置法などを用いてゲインK1〜K4の組の適正値のおおまかな目安を求めると、ゲインK3,K4も、δf_cmd_pに依存した値となる。よって、ゲインK3,K4も、ゲインK1,K2と同様、Vox_actとδf_cmd_pとに応じて決定するようにした方が、極配置法などから求めた適正値の目安に近づけることができる。
また、ゲインK1,K2を決定するための変換関数は、Vox_act,δf_cmd_pに対して上述したような傾向で決定できるものであれば、他の形態の変換関数を採用してもよい。その変換関数は、2次元マップ以外の形態(例えば1次元マップと演算式とを組み合わせた形態等)で設定されたものであってもよい。このことは、ゲインK3,K4をVox_act,δf_cmd_pに応じて変換関数により決定する場合、あるいは、Vox_actに応じて変換関数により決定する場合についても同様である。さらに、ゲインKhを決定するための変換関数は、Vox_actに対して上述したような傾向で決定できるものであれば、他の形態の変換関数を採用してもよい。
また、前回目標前輪操舵角δf_cmd_pは、現在時刻での前輪3fの実際の操舵角の擬似的な推定値(代用的な観測値)としての意味を持つものである。
従って、各ゲインK1,K2,K3,K4,Khを決定するために、δf_cmd_pの代わりに、前記前輪操舵角検出値δf_actを用いてもよい。
また、前輪駆動用アクチュエータ10の応答が十分に速い場合には、上記前回目標前輪操舵角δf_cmd_pと、前回目標前輪回転移動速度Vf_cmd_p(前回の制御処理周期で目標前輪回転移動速度決定部36で決定された目標前輪回転移動速度Vf_cmd)とから、前記式(2)の演算と同様の演算によって算出される走行速度の値(=Vf_cmd_p*cos(δf_cmd_p*cos(θcf))。以降、これを前回目標走行速度Vox_cmd_pと表記する)は、現在時刻での二輪車1Aの実際の走行速度の擬似的な推定値(代用的な観測値)としての意味を持つ。
従って、ゲインK1,K2,K3,K4,Khを決定するために、Vox_actの代わりに、上記前回目標走行速度Vox_cmd_pを用いてもよい。
制御装置15は、前記した如く姿勢制御演算部37により目標前輪操舵角δf_cmdを決定した後、目標ハンドル角決定部38の処理を実行する。
この目標ハンドル角決定部38には、図3に示す如く、走行速度推定値算出部33で算出された走行速度推定値Vox_actと、姿勢制御演算部37で決定された目標前輪操舵角δf_cmdとが入力される。
そして、目標ハンドル角決定部38は、これらの入力値を用いて、図9のブロック線図で示す処理を実行することによって、目標ハンドル角δh_cmdと目標ハンドル角速度δh_dot_cmdとを決定する。
図9において、処理部38−1は、δf_cmdを補正する補正係数Kh_vを走行速度推定値Vox_actに応じて決定する処理部、処理部38−2は、δf_cmdに処理部38−1の出力(補正係数Kh_v)を乗じることによりδf_cmdを補正する処理部、処理部38−3は、処理部38−2の出力(=Kh_v*δf_cmd)から目標ハンドル角δh_cmdを決定する処理部、処理部38−4は、処理部38−3の出力(δh_cmd)の時間的変化率(単位時間当たりの変化量)を、目標ハンドル角速度δh_dot_cmdとして算出する処理部である。
従って、目標ハンドル角決定部38は、δf_cmdをVox_actに応じて補正してなる補正値(=Kh_v*δf_cmd。以降、この補正値を補正後目標前輪操舵角δf_cmd_cという)に応じて目標ハンドル角δh_cmdを決定する。また、このδh_cmdを微分することで、目標ハンドル角速度δh_dot_cmdを決定する。
この場合、補正係数Kh_vは、1以下の正の値である。そして、補正係数Kh_vは、走行速度推定値Vox_actから、あらかじめ設定された変換関数によって決定される。その変換関数は、例えばマップ又は演算式により構成される。そして、該変換関数は、図9中の処理部38−1に記載したグラフで例示されているような傾向で設定されている。
ここで、二輪車1Aの静止時及び極低速時では、前輪3fの単位操舵舵角当たりの車体2のロール方向の姿勢の復元力が弱いため、該姿勢を安定化するために、前輪3fを比較的大きく操舵する必要がある。
その場合、前輪の操舵軸に操縦ハンドルが直結されている通常の二輪車のように、前輪3fの操舵角δfとハンドル角δhとが同一になるようにした場合には、前輪3fの大きな操舵に伴い、操縦ハンドル7が大きく回転し、二輪車1Aの運転者に違和感を与えてしまう。あるいは、操縦ハンドル7と車体2の操縦ハンドル7寄りの部分とが干渉してしまうおそれがある。
これを解決するために、本実施形態では、処理部38−1の変換関数は、図示例のグラフで示すように、Vox_actが小さくなる(二輪車1Aの実際の走行速度が小さくなる)に伴い、補正係数Kh_vが小さくなるようにした。
この補正係数Kh_vは、基本的には、前輪3fの操舵角δfの単位変化量に対するハンドル角δhの変化量の比率、すなわち、所謂、ステアリングギア比を、Vox_actに応じて変化させる機能を有するものである。このため、Vox_actが小さくなるに伴い、上記比率が小さくなるように設定されることとなる。
より詳しくは、Vox_actが所定速度以上になると、上記比率(補正係数Kh_v)が“1”もしくはほぼ“1”になり、且つ、Vox_actが所定速度よりも小さくなると、上記比率が“1”よりも小さくなるように、処理部38−1の変換関数が設定されている。
この結果、二輪車1Aの静止時及び極低速時において、車体2の姿勢の安定化のために、前輪3fの操舵角が大きな操舵角になっても、ハンドル角δhが小さな角度に抑制される。そのため、二輪車1Aの運転者の違和感を低減することができ、また、操縦ハンドル7と車体2との干渉も防ぐことができる。
さらに、本実施形態では、δf_cmdを補正係数Kh_vにより補正してなる補正後目標前輪操舵角δf_cmd_cから、目標ハンドル角δh_cmdを決定する処理部38−3は、δf_cmd_cに対してδh_cmdが飽和特性を持つようにあらかじめ設定された変換関数によって、δh_cmdを決定する。該飽和特性は、δh_cmd_cの大きさが大きい場合に、δf_cmd_cに対するδh_cmdの変化率(δf_cmd_cの単位変化量当たりのδh_cmdの変化量)の大きさが、δh_cmd_cの大きさが小さい場合よりも小さくなるという特性である。
このような飽和特性を持つ処理部38−3の変換関数は、例えばマップ又演算式により構成される。そして、該変換関数は、例えば図9中の処理部38−3に記載したグラフで例示されるように設定されている。
この例では、δh_cmdは、δf_cmd_cの大きさ(絶対値)が所定値以下である場合には、δf_cmd_c(又はδf_cmd)の正側又は負側への変化に対して、それぞれ、正側の上限値、負側の下限値までδh_cmdが単調に変化するように決定される。この状況では、δh_cmdは、例えば、δf_cmd_cに一致もしくはほぼ一致するように決定される。
そして、δf_cmd_cの大きさ(絶対値)が所定値を超えると、δh_cmdは、正側の上限値、又は負側の下限値で一定に保持される。
このように、δf_cmd_cに対して飽和特性を持つようにδh_cmdを決定することで、実際のハンドル角(ハンドル角検出値δh_act)が過大な大きさのハンドル角になるのを防止できる。
なお、δf_cmd_cから、δh_cmdを決定する処理は、例えば図10のブロック線図に示す処理部38−5に記載したグラフで例示されるような変換関数(飽和特性をもつ変換関数)を用いて行なうようにしてもよい。この変換関数は、マップ又は演算式により構成され、δf_cmd_cに対するδh_cmdの変化率の大きさが、δf_cmd_cの大きさが大きくなるに伴い、連続的に小さくなるように、設定されている。なお、上記変化率の大きさの最小値は、ゼロより大きくてもよい。
このように処理部38−5の変換関数を設定した場合には、δf_cmdに対するδh_cmdの変化率(δf_cmdの単位増加量あたりのδh_cmdの変化量)を、連続的に変化させるようにすることができる。ひいては、実際のハンドル角の角加速度を連続的に変化させることができる。そのため、操縦ハンドル7の回転角速度(ハンドル軸線Ch周りの角速度)の急激な変化が抑制され、より一層、操縦ハンドル7の操作における運転者の違和感を低減することができ、また、ハンドル駆動用アクチュエータ9の負荷も低減することができる。
なお、δh_cmdは、δf_cmdと、Vox_actとから2次元マップにより決定するようにしてもよい。また、δh_cmdを決定するためのVox_actとして、後輪3rの実際の回転角速度の観測値(ロータリエンコーダ等の適宜の検出器による検出値)に該後輪3rの有効回転半径を乗じることによって得られる該後輪3rの実際の回転移動速度の値を用いてもよい。あるいは、前回目標前輪操舵角δf_cmdと前回目標前輪回転移動速度Vf_cmd_pとから前記式(2)の右辺の演算と同様の演算によって算出される前記前回目標走行速度Vox_cmd_pをVox_actの代わりに用いてもよい。
次に、前記前輪操舵用アクチュエータ8、ハンドル駆動用アクチュエータ9、前輪駆動用アクチュエータ10の制御について説明する。
制御装置15は、図3に示した機能の他の機能として、図11に示す前輪操舵用アクチュエータ制御部41、図12に示す前輪駆動用アクチュエータ制御部42、図13に示すハンドル駆動用アクチュエータ制御部43をさらに備えている。
前輪操舵用アクチュエータ制御部41は、例えば図11のブロック線図で示す制御処理によって、前輪3fの実際の操舵角(前輪操舵角検出値δf_act)を目標前輪操舵角δf_cmdに追従させるように、前輪操舵用アクチュエータ8の駆動制御を行なう。
この例では、前輪操舵用アクチュエータ制御部41には、姿勢制御演算部37で前記した如く決定された目標前輪操舵角δf_cmd、目標前輪操舵角速度δf_dot_cmd及び目標前輪操舵角加速度δf_dot2_cmdと、前輪操舵角検出値δf_actと、前輪3fの実際の操舵角速度の検出値である前輪操舵角速度検出値δf_dot_actとが入力される。
なお、前輪操舵角速度検出値δf_dot_actは、前輪操舵角検出器17の出力に基づき認識される操舵角速度の値、又は、前輪操舵角検出値δf_actの時間的変化率を算出することで得られる値である。
前輪操舵用アクチュエータ制御部41は、電流指令値決定部41−1の処理によって、上記の入力値から、前輪操舵用アクチュエータ8(電動モータ)の通電電流の目標値である電流指令値I_δf_cmdを決定する。
この電流指令値決定部41−1は、次式(5)で示される如く、δf_cmdとδf_actとの偏差に所定値のゲインKδf_pを乗じてなるフィードバック操作量成分と、δf_dot_cmdとδf_dot_actとの偏差に所定値のゲインKδf_vを乗じてなるフィードバック操作量成分と、δf_dot2_cmdに所定値のゲインKδf_aを乗じてなるフィードフォワード操作量成分とを加え合わせることにより、電流指令値I_δf_cmdを決定する。
I_δf_cmd=Kδf_p*(δf_cmd−δf_act)
+Kδf_v*(δf_dot_cmd−δf_dot_act)
+Kδf_a*δf_dot2_cmd ……(5)
そして、前輪操舵用アクチュエータ制御部41は、モータドライバ等により構成される電流制御部41−2によって、前輪操舵用アクチュエータ8(電動モータ)の実際の通電電流を、電流指令値I_δf_cmdに一致する電流に制御する。
これにより、前輪3fの実際の操舵角が、目標前輪操舵角δf_cmdに追従するように制御される。この場合、電流指令値I_δf_cmdは、上記式(5)の右辺の第3項、すなわち、フィードフォワード操作量成分を含むので、上記制御の追従性が高くなる。
なお、前輪3fの実際の操舵角を目標前輪操舵角δf_cmdに追従させるように前輪操舵用アクチュエータ8を制御する手法は、上記の手法に限らず、他の手法を用いてよい。その手法としては、例えば、電動モータに関する公知の種々様々のサーボ制御手法(電動モータのロータの実際の回転角度を目標値に追従させるフィードバック制御手法)を採用できる。
次に、前輪駆動用アクチュエータ制御部42は、例えば図12のブロック線図で示す制御処理によって、前輪3fの実際の回転移動速度を目標前輪回転移動速度Vf_cmdに追従させるように(又は、前輪3fの実際の回転角速度をVf_cmdに対応する目標回転角速度に追従させるように)、前輪駆動用アクチュエータ10の駆動制御を行なう。
この例では、前輪駆動用アクチュエータ制御部42には、目標前輪回転移動速度決定部36で前記した如く決定された目標前輪回転移動速度Vf_cmdと、前輪回転移動速度推定値Vf_actとが入力される。
前輪駆動用アクチュエータ制御部42は、電流指令値決定部42−1の処理によって、上記の入力値から、前輪駆動用アクチュエータ10(電動モータ)の通電電流の目標値である電流指令値I_Vf_cmdを決定する。
この電流指令値決定部42−1は、次式(6)で示される如く、Vf_cmdとVf_actとの偏差に所定値のゲインKVf_vを乗じてなるフィードバック操作量成分を電流指令値I_Vf_cmdとして決定する。
I_Vf_cmd=KVf_v*(Vf_cmd−Vf_act) ……(6)
なお、上記式(6)によりI_Vf_cmdを決定する代わりに、例えば、Vf_cmdを前輪3fの有効回転半径で除算した値(すなわち、前輪3fの回転角速度の目標値)と、前輪回転速度検出器20の出力により示される前輪3fの実際の回転角速度の検出値との偏差に所定値のゲインを乗じることによって、I_Vf_cmdを決定するようにしてもよい。
そして、前輪駆動用アクチュエータ制御部42は、モータドライバ等により構成される電流制御部42−2によって、前輪駆動用アクチュエータ10(電動モータ)の実際の通電電流を、電流指令値I_Vf_cmdに一致する電流に制御する。
これにより、前輪3fの実際の回転移動速度が、目標前輪回転移動速度Vf_cmdに追従するように(又は、実際の回転角速度が、Vf_cmdに対応する回転角速度の目標値に追従するように)制御される。
なお、前輪3fの実際の回転移動速度を、目標前輪回転移動速度Vf_cmdに追従させるように前輪駆動用アクチュエータ10を制御する手法は、上記の手法に限らず、他の手法を用いてよい。その手法としては、例えば、電動モータに関する公知の種々様々の速度制御手法(電動モータのロータの実際の回転角速度を目標値に追従させるフィードバック制御手法)を採用できる。
次に、ハンドル駆動用アクチュエータ制御部43は、例えば図13のブロック線図で示す制御処理によって、操縦ハンドル7の実際の回転角(ハンドル角)を目標ハンドル角δh_cmdに追従させるように、ハンドル駆動用アクチュエータ9の駆動制御を行なう。
この例では、ハンドル駆動用アクチュエータ制御部43には、目標ハンドル角決定部38で前記した如く決定された目標ハンドル角δh_cmd及び目標ハンドル角速度δh_dot_cmdと、操縦ハンドル7の実際の回転角の検出値であるハンドル角検出値δh_actと、操縦ハンドル7の実際の回転角速度の検出値であるハンドル角速度検出値δh_dot_actとが入力される。
なお、ハンドル角検出値δh_act及びハンドル角速度検出値δh_dot_actは、それぞれ、ハンドル角検出器18の出力に基づき認識されるハンドル角の値、及び、その時間的変化率の値である。
ハンドル駆動用アクチュエータ制御部43は、電流指令値決定部43−1の処理によって、上記の入力値から、ハンドル駆動用アクチュエータ9(電動モータ)の通電電流の目標値である電流指令値I_δh_cmdを決定する。
この電流指令値決定部43−1は、次式(7)で示される如く、δh_cmdとδh_actとの偏差に所定値のゲインKδh_pを乗じてなるフィードバック操作量成分と、δh_dot_cmdとδh_dot_actとの偏差に所定値のゲインKδh_vを乗じてなるフィードバック操作量成分とを加え合わせることにより、電流指令値I_δh_cmdを決定する。
I_δh_cmd=Kδh_p*(δh_cmd−δh_act)
+Kδh_v*(δh_dot_cmd−δh_dot_act) ……(7)
そして、ハンドル駆動用アクチュエータ制御部43は、モータドライバ等により構成される電流制御部43−2によって、ハンドル駆動用アクチュエータ9(電動モータ)の実際の通電電流を、電流指令値I_δh_cmdに一致する電流に制御する。
これにより、操縦ハンドル7の実際のハンドル角が、目標ハンドル角δh_cmdに追従するように制御される。
なお、操縦ハンドル7の実際のハンドル角を目標ハンドルδh_cmdに追従させるようにハンドル駆動用アクチュエータ9を制御する手法は、上記の手法に限らず、種々様々な公知のサーボ制御手法等を採用してもよい。
以上が、本実施形態における制御装置15の制御処理の詳細である。
ここで、本実施形態と本発明との対応関係について説明しておく。本実施形態では、前輪3fが、本発明における操舵輪に相当し、前輪操舵用アクチュエータ8(電動モータ)が本発明における操舵アクチュエータに相当し、ハンドル駆動用アクチュエータ9が、本発明におけるハンドル用アクチュエータに相当する。
また、本発明における第1運動状態量(車体2のロール方向の傾斜角(ロール角)の運動状態量)は、本実施形態の例では、ロール角φbそのものの値と、その時間的変化率であるロール角速度φb_dotとから構成される。
また、本発明における第2運動状態量(操舵輪(前輪3f)の操舵角の運動状態量)は、本実施形態の例では、前輪3fの操舵角δfそのものの値と、その時間的変化率である操舵角速度δf_dotとから構成される。
また、本実施形態では、第1運動状態量としてのロール角φb及びロール角速度φb_dotのそれぞれの目標値(φb_cmd、φb_dot_cmd)がゼロに設定され、また、第2運動状態量としての操舵角δf及び操舵角速度δf_dotのそれぞれの目標値がゼロに設定されている。
そして、姿勢制御演算部37の処理では、ロール角検出値φb_act、ロール角速度検出値φb_dot_act、操舵角δfの擬似的な推定値としての前回目標前輪操舵角δf_cmd_p、操舵角速度δf_dotの擬似的な推定値としての前回目標前輪操舵角速度δf_dot_cmd_pのそれぞれと目標値との偏差をゼロに収束させるようにフィードバック制御則により、前輪操舵用アクチュエータ8(操舵アクチュエータ)の動作目標としての目標前輪操舵角加速度δf_dot2_cmdが決定される。
さらに、このδf_dot2_cmdの積分を2回、繰り返すことで決定した目標前輪操舵角δf_cmdに前輪3fの実際の操舵角を追従させるように前輪操舵用アクチュエータ8の駆動力が、前記前輪操舵用アクチュエータ制御部41により制御される。
これにより、第1運動状態量(車体2のロール方向の傾斜角の運動状態量)及び第2運動状態量(操舵輪(前輪3f)の操舵角の運動状態量)とを安定化し、ひいては、車体2の姿勢(ロール方向の姿勢)を安定化するように、前輪操舵用アクチュエータ8が制御される。
なお、本実施形態では、操舵輪(前輪3f)の操舵角加速度δf_dot2_cmdが本発明における参照量に相当する。
また、本実施形態では、前記ゲインK1は、車体2のロール方向の傾斜角の観測値(φb_act)の変化に対する参照量(δf_dot2_cmd)の値の変化の感度(Ra1)に相当し、前記ゲインK2は、車体2のロール方向の傾斜角の時間的変化率の観測値(φb_dot_act)の変化に対する参照量(δf_dot2_cmd)の値の変化の感度(Ra2)に相当する。
また、前記ゲインK3は、操舵輪(前輪3f)の操舵角δfの観測値(δf_act)の変化に対する参照量(δf_dot2_cmd)の値の変化の感度(Rb1)に相当し、前記ゲインK4は、操舵輪(前輪3f)の操舵角δfの時間的変化率の観測値(δf_dot_act)の変化に対する参照量(δf_dot2_cmd)の値の変化の感度(Rb2)に相当する。
この場合、二輪車1Aの実際の走行速度Vox_actの観測値に対して、ゲインK1、K2、K3、K4が前記した傾向で決定されるので、上記感度(Ra1,Rb1)の比(Ra1/Rb1)に相当するゲインK1、K3の比(K1/K3)の大きさが、二輪車1Aの走行速度Vox_actの観測値の大きさが大きいほど、小さくなると共に、上記感度(Ra2,Rb2)の比(Ra2/Rb2)に相当するゲインK2、K4の比(K2/K4)の大きさが、二輪車1Aの走行速度Vox_actの観測値の大きさが大きいほど、小さくなるように前輪操舵用アクチュエータ8の駆動力が制御されることとなる。
また、操舵輪(前輪3f)の操舵角δf_actの観測値に対して、ゲインK1、K2が前記した傾向で決定されるので、上記感度(Ra1,Ra2)にそれぞれ相当するゲインK1、K2の大きさが、それぞれ、操舵輪(前輪3f)の非操舵状態からの操舵角の観測値(δf_act)の大きさが大きいほど、小さくなるように前輪操舵用アクチュエータ8の駆動力が制御されることとなる。
また、目標ハンドル角δh_cmdが図9又は図10に示した処理(特に処理部38−3又は38−5の処理)によって決定されるので、操舵輪(前輪3f)の非操舵状態からの操舵角δfに対して、操縦ハンドル7の回転量としてのハンドル角δhが、飽和特性を持つようにハンドル駆動用アクチュエータ9が制御されることとなる。
以上説明した本実施形態によれば、二輪車1Aの停車時、あるいは、低速走行時において、車体2の実際のロール角(ロール角検出値φb_act)が、目標ロール角φb_cmdからずれた場合(換言すれば、車体2の実際の姿勢が、φb_act=φb_cmdとなるような目標姿勢からずれた場合)に、運転者が意図的に操縦ハンドル7を動かしたりせずとも、前輪操舵用アクチュエータ8の駆動力による前輪3fの操舵によって、車体2の実際のロール角を目標ロール角φb_cmdに復元させ得るモーメント(ロール方向のモーメント)を車体2に作用させることができる。
すなわち、車体2の姿勢を安定化させるロール方向のモーメントを車体2に作用させることができる。そのモーメントにより車体2の実際のロール角が目標ロール角φb_cmdに復元することとなる。
また、前記式(3)(又は式(4))によって目標前輪操舵角加速度δf_dot2_cmdを算出することで、運転者が操縦ハンドル7を意図的に動かそうとしていない状態で、車体2の目標ロール角φb_cmdと現在の実際のロール角の観測値としてのロール角検出値φb_actとの偏差(φb_cmd−φb_act)、車体2の目標ロール角速度φb_dot_cmdと現在の実際のロール角速度の観測値としてのロール角速度検出値φb_dot_actとの偏差(φb_dot_cmd−φb_dot_act)、前輪3fの現在の実際の操舵角(中立操舵角からの操舵角)の擬似的な推定値としての前回目標前輪操舵角δf_cmd_p、並びに、前輪3fの現在の実際の操舵角の角速度の擬似的な推定値としての前回目標前輪操舵角速度δf_dot_cmd_pを“0”に近づけるように、目標前輪操舵角加速度δf_dot2_cmd(前輪操舵用アクチュエータ8の動作目標)が決定される。
このため、前輪3fの実際の操舵角が中立操舵角から乖離しないようにしつつ(最終的に中立操舵角に収束するようにしつつ)、車体2の実際のロール角及びロール角速度がそれぞれの目標値(本実施形態ではゼロ)に収束するように、前輪3fの操舵角が制御される。
このため、特に二輪車1Aの停車時又は低速走行時等において、車体2の姿勢を円滑に安定化することができる。また、車体2の姿勢が安定した状態で二輪車1Aの発進を円滑に行うことができる。
また、運転者が操縦ハンドル7を動かそうとして、該操縦ハンドル7に回転力(ハンドル軸線Chのまわりの回転力)を付与した場合には、フィードフォワード操作量Th_act*Khによって、操縦ハンドル7に付与される回転力の大きさの度合いに応じた角加速度で前輪3fの操舵角を制御することができる。
また、車体2のロール方向の姿勢制御に係わるフィードバックゲインとしてのゲインK1,K2と、前輪3fの操舵角の制御に係わるフィードバックゲインとしてのゲインK3,K4とが、前記した如く、二輪車1Aの現在の実際の走行速度(X軸方向の移動速度)の観測値としての走行速度推定値Vox_actに応じて可変的に決定される。
このため、二輪車1Aの停車時又は低速走行時には、車体2の実際のロール角を素早く目標ロール角φb_cmdに近づけるように前輪3fの操舵を行なうことができる。
また、二輪車1Aの走行速度が大きい状況では、車体2が傾いても、車体2の実際のロール角を目標ロール角φb_cmdに近づけるような、前輪3fの操舵制御が行われないか、もしくは、当該操舵制御が抑制される。ひいては、運転者は、通常の二輪車と同様に、自身の体重移動によって車体2を傾けるようにして二輪車1Aの旋回を行なうようにすることを容易に行なうことができる。
さらに、ゲインK1,K2は、走行速度推定値Vox_actに応じて可変的に決定されるだけでなく、前輪3fの現在の実際の操舵角の擬似的な推定値としての前回目標前輪操舵角δf_cmd_pに応じて前記した如く可変的に決定される。このため、前輪3fの幅広い操舵域において、車体2の姿勢制御の発振を生じることなく、車体2の良好な姿勢制御を高いロバスト性で実現できる。
[第2実施形態]
次に、本発明の第2実施形態を図14〜図22を参照して説明する。
図14を参照して、本実施形態の移動体201Aは、車体202と、車体202の前後方向に間隔を存して配置された前輪203f及び後輪203rとを備える二輪車である。以降、移動体201Aを二輪車201Aという。
車体202の上面部には、運転者が跨るように着座するシート206が装着されている。
車体202の前部には、前輪203fを軸支する前輪支持機構204と、シート206に着座した運転者が把持するための操縦ハンドル207とが組み付けられている。
前輪支持機構204は、例えばダンパー等のサスペンション機構を含むフロントフォークにより構成される。その機構的な構造は、例えば通常の自動二輪車の前輪支持機構と同様の構造とされている。この前輪支持機構204の端部(車体202の前方側の端部)に、前輪203fが、その直径方向に直交する方向(図14の紙面に垂直な方向)に延在する車軸中心線(前輪203fの回転軸線)のまわりに回転し得るようにベアリング等を介して軸支されている。
また、前輪支持機構204は、後傾した操舵軸線Csfのまわりに回転し得るように車体202の前部に組み付けられている。これにより、前輪203fは、前輪支持機構4と共に操舵軸線Csfのまわりに回転可能、すなわち操舵可能な操舵輪となっている。
操縦ハンドル207は、前輪203fの操舵軸線Csfのまわりに前輪支持機構204と一体に回転し得るように車体202の前部に組み付けられている。詳細な図示は省略するが、この操縦ハンドル207には、通常の自動二輪車のハンドルと同様に、アクセルグリップ、ブレーキレバー、方向指示器スイッチ等が組み付けられている。
車体202の後部は、後輪203rの上方まで延在されている。そして、この車体202の後端部に、後輪203rを回転自在に軸支する後輪支持機構205と、後輪203rを操舵するための駆動力を発生するアクチュエータ208とが組み付けられている。
後輪支持機構205は、スイングアーム、ダンパー等を含むサスペンション機構により構成され、車体202の後端部から下方側に延設されている。
そして、後輪支持機構205の下端部に、後輪203rが、その直径方向に直交する方向(図14の紙面に垂直な方向)に延在する車軸中心線(後輪203rの回転軸線)のまわりに回転し得るようにベアリング等を介して軸支されている。
本実施形態では、後輪203rの車軸には、該後輪203rをその車軸中心線のまわりに回転駆動するアクチュエータ209が装着されている。アクチュエータ209は、二輪車201Aの推進力を発生する原動機としての機能を有するものである。このアクチュエータ209(以降、後輪駆動用アクチュエータ209ということがある)は、本実施形態では、電動モータ(減速機付きの電動モータ)により構成される。
なお、アクチュエータ209は、電動モータの代わりに、例えば油圧式のアクチュエータにより構成されていてもよい。あるいは、アクチュエータ209は内燃機関により構成されていてもよい。また、アクチュエータ209を後輪203rの車軸から離れた位置で車体202に搭載し、アクチュエータ209と後輪203rの車軸とを適宜の動力伝達装置で接続するようにしてもよい。
また、後輪203rをその車軸中心線のまわりに回転駆動するアクチュエータ209を二輪車201Aに搭載する代わりに、前輪203fをその車軸中心線のまわりに回転駆動するアクチュエータを二輪車201Aに搭載してもよい。あるいは、前輪203fと後輪203rとの両方をそれぞれの車軸中心線のまわりに回転駆動するアクチュエータを二輪車201Aに搭載してもよい。
また、後輪支持機構205は、後傾した操舵軸線Csrのまわりに回転し得るように車体202に組み付けられている。これにより、後輪203rは、後輪支持機構205と共に操舵軸線Csrのまわりに回転可能、すなわち操舵可能な操舵輪となっている。そして、操舵軸線Csrが後傾しているので、後輪203rのキャスター角θcrは正の角度となっている。
補足すると、本実施形態の二輪車201Aでは、該二輪車201Aが直進姿勢で静止している基準姿勢状態において、図14に示す如く、後輪203rの車軸中心点と接地点とを結ぶ直線と、操舵軸線Csrとの交点Er’が、接地面110の下側に存在するように(換言すれば、交点Er’の接地面110からの高さa’が、接地面110よりも低くなる(a’<0となる)ように)、該基準姿勢状態における操舵軸線Csrと後輪203rとの相対的な配置が設定されている。
換言すれば、上記基準姿勢状態において、操舵軸線Csrと接地面110との交点が後輪203rの接地点の後ろ側に存在するように(後輪203rのトレール長が負の値となるように)、基準姿勢状態における操舵軸線Csrと後輪203rとの相対的な配置が設定されている。
なお、二輪車201Aの基準姿勢状態は、より詳しくは、前輪203f及び後輪203rが接地面110に直立姿勢で接地して静止しており、且つ、前輪203f及び後輪203rのそれぞれの車軸中心線(回転軸心)が、車体202の前後方向と直交する方向に互いに平行に延在している状態である。
本実施形態の二輪車201Aで、上記の如く、交点Er’の接地面110からの高さa’が接地面110よりも低くなるように、基準姿勢状態における操舵軸線Csfと後輪203rとの相対的な配置が設定されているのは、次の理由による。
すなわち、本願発明者の各種実験、検討によれば、二輪車201Aの後輪203rの操舵によって、車体202の姿勢を安定に制御する上で効果的なモーメント(ロール方向のモーメント)を該車体202に作用させるためには、前記交点Er’の接地面110からの高さa’が、ある値よりも低い(接地面110よりも低い場合を含む)ことが好ましい。
そこで、本実施形態では、一例として、二輪車201Aのトレール長が負の値となるように、基準姿勢状態における操舵軸線Csrと後輪203rとの相対的な配置を上記の如く設定した。ただし、二輪車201Aの後輪203rのトレール長が負の値であることは必須ではなく、後輪203rのトレール長が正の値となるように、操舵軸線Csrと後輪203rとの相対的な配置が設定されていてもよい。すなわち、基本的には、後輪203rの操舵によって、ロール方向のモーメントを車体202に作用させることができるようになっていればよい。
前記アクチュエータ208は、後輪203rの操舵を行なうための駆動力として、操舵軸線Csrのまわりに後輪203rを回転させる回転駆動力を発生するものである。このアクチュエータ208は、本実施形態では、電動モータ(減速機付きの電動モータ)により構成される。そして、アクチュエータ208(以降、後輪操舵用アクチュエータ208ということがある)は、操舵軸線Csrのまわりの回転駆動力を後輪支持機構205に付与するように、該後輪支持機構205に接続されている。
従って、後輪操舵用アクチュエータ208から後輪支持機構205に回転駆動力を付与することで、後輪支持機構205が操舵軸線Csrのまわりに後輪203rと共に回転駆動される。これにより、後輪203rが、後輪操舵用アクチュエータ208の回転駆動力によって操舵される。
なお、アクチュエータ208は、電動モータに限らず、例えば油圧式のアクチュエータにより構成されていてもよい。
二輪車201Aは、以上の機構的構成の他、図15に示すように、前記後輪操舵用アクチュエータ208及び後輪駆動用アクチュエータ209の動作制御(ひいては車体202の姿勢等の制御)のための制御処理を実行する制御装置215を備えている。
さらに、二輪車201Aは、制御装置215の制御処理に必要な各種状態量を検出するためのセンサとして、車体202のロール方向の傾斜角φbを検出するための車体傾斜検出器216と、後輪203rの操舵角δr(操舵軸線Csrまわりの回転角度)を検出するための後輪操舵角検出器217と、後輪203rの回転速度(角速度)を検出するための後輪回転速度検出器218と、操縦ハンドル207のアクセルグリップの操作量(回転量)に応じた検出信号を出力するアクセル操作検出器219とを備えている。
なお、後輪203rの操舵角δrは、より詳しくは、後輪203rの非操舵状態(後輪203rの車軸中心線Crの方向が車体202の前後方向と直交する方向となる状態)での操舵角(中立操舵角)からの回転角を意味する。従って、後輪203rの非操舵状態での操舵角δrは“0”である。
そして、後輪203rの操舵角δrの正の向きは、後輪203rの前端が車体202の左側に向くこととなる回転の向き(換言すれば、二輪車201Aを上方から見たときに後輪203rが操舵軸線Csr周りに反時計周り方向に回転する向き)である。
制御装置215は、CPU、RAM、ROM、インターフェース回路等から構成される電子回路ユニットであり、車体202に組み付けられている。そして、この制御装置215に、上記の各検出器216〜219の出力(検出信号)が入力されるようになっている。
なお、制御装置215は、複数のCPU又はプロセッサを備えていてもよい。また、制御装置215は、相互に通信可能な複数の電子回路ユニットにより構成されていてもよい。
車体傾斜検出器216は、例えば加速度センサとジャイロセンサ(角速度センサ)とから構成されており、車体202に組み付けられている。この場合、制御装置215は、これらの加速度センサ及びジャイロセンサの出力に基づいて演算処理を行うことで、車体202のロール方向の傾斜角(より詳しくは、鉛直方向(重力方向)に対するロール方向の傾斜角)を計測する。その計測手法としては、例えば特許4181113号にて本願出願人が提案した手法を採用することができる。
後輪操舵角検出器217は、例えば、前記操舵軸線Csr上で後輪操舵用アクチュエータ208に装着されたロータリエンコーダにより構成される。
後輪回転速度検出器218は、例えば、後輪203rの車軸に装着されたロータリエンコーダにより構成される。
アクセル操作検出器219は、例えば、操縦ハンドル207に内蔵されたロータリエンコーダあるいはポテンショメータにより構成される。
上記制御装置215の機能について、図16を参照してさらに説明する。なお、以降の説明におけるXYZ座標系は、図14に示す如く、二輪車201Aの基準姿勢状態において、鉛直方向(上下方向)をZ軸方向、車体202の前後方向をX軸方向、車体202の左右方向をY軸方向(Y軸は図示省略)、二輪車201Aの全体重心Gの直下の接地面110上の点を原点として定義される座標系である。
また、以降の説明では、第1実施形態と同様に、状態量の参照符号に付する添え字“_act”は、実際の値、又はその観測値(検出値もしくは推定値)を示す符号として使用する。また、目標値には、添え字“_cmd”を付する。
制御装置215は、実装されたプログラムをCPUが実行することにより実現される機能(ソフトウェアにより実現される機能)又はハードウェアにより実現される機能として、図16に示すように、二輪車201Aの走行速度Voxの実際の値Vox_actの推定値(以降、走行速度推定値Vox_actという)を算出する走行速度推定値算出部233と、車体202のロール角(X軸まわり方向(ロール方向)の傾斜角)φbの目標値φb_cmd(以降、目標ロール角φb_cmdという)と該ロール角φbの時間的変化率であるロール角速度φb_dotの目標値φb_dot_cmd(以降、目標ロール角速度φb_dot_cmdという)とを決定する目標姿勢状態決定部234と、車体202の姿勢制御のための複数のゲインK1,K2,K3,K4の値を決定する制御ゲイン決定部235と、後輪203rの回転移動速度Vr(後輪203rが接地面110上を転動することによる該後輪203rの並進移動速度)の目標値Vr_cmd(以降、目標後輪回転移動速度Vr_cmdという)を決定する目標後輪回転移動速度決定部236とを備える。
さらに、制御装置215は、車体202の姿勢制御のための演算処理を実行することによって、後輪203rの操舵角δrの目標値δr_cmd(以降、目標後輪操舵角δr_cmdという)、該操舵角δrの時間的変化率である操舵角速度δr_dotの目標値δr_dot_cmd(以降、目標後輪操舵角速度δr__dot_cmdという)及び該操舵角速度δr_dotの時間的変化率である操舵角加速度δr_dot2の目標値δr_dot2_cmd(以降、目標後輪操舵角加速度δr_dot2_cmdという)を決定する姿勢制御演算部237を備える。
制御装置215は、上記各機能部の処理を所定の制御処理周期で逐次実行する。そして、制御装置215は、姿勢制御演算部237により決定した目標後輪操舵角δr_cmd、目標後輪操舵角速度δr_dot_cmd及び目標後輪操舵角加速度δr_dot2_cmdに応じて後輪操舵用アクチュエータ208を制御する。
また、制御装置215は、目標後輪回転移動速度決定部236により決定した目標後輪回転移動速度Vr_cmdに応じて後輪駆動用アクチュエータ209を制御する。
以下に、制御装置215の制御処理の詳細を説明する。
制御装置215は、各制御処理周期において、まず、走行速度推定値算出部33の処理を実行する。
図16に示すように、この走行速度推定値算出部233には、後輪203rの回転移動速度Vr(後輪203rが接地面110上を転動することによる該後輪203rの並進移動速度)の実際の値Vr_actの推定値(以降、後輪回転移動速度推定値Vr_actという)と、後輪操舵角検出器217の出力により示される後輪203rの操舵角δrの実際の値δr_actの検出値(以降、後輪操舵角検出値δr_actという)とが入力される。
なお、後輪回転移動速度推定値Vr_actは、前記後輪回転速度検出器220の出力により示される後輪203rの回転角速度の検出値(観測値)に該後輪203rの既定の有効回転半径を乗じることで算出される速度である。
そして、走行速度推定値算出部233は、図17のブロック線図で示す処理によって、走行速度推定値Vox_actを算出する。
図17において、処理部233−1は、現在時刻での後輪操舵角検出値δr_actに後輪203rのキャスター角θcrの余弦値を乗じることによって、ヨー方向での後輪203rの回転角に相当する後輪有効操舵角δ'rの実際の値δ'r_actの推定値(以降、後輪有効操舵角推定値δ'r_actという)を算出する処理部である。
ここで、前記後輪有効操舵角δ'rは、操舵輪である後輪203rの回転面(後輪203rの車軸中心点を通って後輪203rの車軸中心線に直交する面)と接地面110との交線が、車体202の前後方向(X軸方向)に対してなす角度である。
そして、後輪有効操舵角推定値δ'r_actは、車体202のロール角φbが比較的小さい場合に、近似的に、次式(11)によって算出することができる。上記処理部233−1の処理は、この式(11)によって、δ'r_actを近似的に算出する処理である。
δ'r_act=cos(θcr)*δr_act ……(11)
なお、δ'r_actの精度をより高めるために、δr_actからマップによりδ'r_actを求めるようにしてもよい。あるいは、δ'r_actの精度をより一層高めるために、前輪操舵角検出値δr_actと、車体傾斜検出器16の出力により示される車体2の実際のロール角φb_actの検出値とからマップ(2次元マップ)等によりδ'r_actを求めるようにしてもよい。
図17における処理部233−2は、処理部233−1で算出された後輪有効操舵角推定値δ'r_actの余弦値cos(δ’r_act)を求める処理部、処理部233−3は、現在時刻での後輪回転移動速度推定値Vr_actに上記余弦値cos(δ’r_act)を乗じることによって走行速度推定値Vox_actを算出する処理部を表している。
従って、走行速度推定値算出部233は、δ'r_actの余弦値cos(δ’r_act)を、Vr_actに乗じることによって、Vox_actを算出するように構成されている。すなわち、Vox_actは、次式(12)により算出される。
Vox_act=Vr_act*cos(δ'r_act)
=Vr_act*cos(δr_act*cos(θcr)) ……(12)
このように算出される走行速度推定値Vox_actは、後輪回転移動速度推定値Vr_actのX軸方向成分に相当する。
なお、走行速度推定値算出部233の処理では、走行速度推定値Vox_actは,第1実施形態で説明した前記式(2)により算出するようにしてもよい。
また、現在時刻での後輪操舵角検出値δr_act及び後輪回転移動速度推定値Vr_actの代わりに、それぞれ、前回の制御処理周期において後述する姿勢制御演算部237により算出された目標後輪操舵角δr_cmdの値(前回値)δr_cmd_p、前回の制御処理周期において後述する目標後輪回転移動速度決定部236により算出された目標後輪回転移動速度Vr_cmdの値(前回値)Vr_cmd_pを使用して、前記式(12)の右辺の演算と同様の演算を行なうことで算出される値(=Vr_cmd_p*cos(δr_cmd_p*cos(θcr)))を、走行速度推定値Vox_actの代わりの擬似的な推定値(代用的な観測値)として得るようにしてもよい。
また、走行速度推定値Vox_actの代わりの擬似的な推定値(代用的な観測値)を得る際に、現在時刻での後輪操舵角検出値δr_actの代わりにδr_cmd_pを使用し、後輪回転移動速度推定値Vr_actはそのまま使用してもよい。逆に、現在時刻での後輪回転移動速度推定値Vr_actの代わりにVr_cmd_pを使用し、後輪操舵角検出値δr_actはそのまま使用してもよい。
制御装置215は、次に、目標後輪回転移動速度決定部236の処理を実行する。
目標後輪回転移動速度決定部236には、図16に示すように、前記アクセル操作検出器219の出力により示されるアクセル操作量の実際の値の検出値が入力される。
そして、目標後輪回転移動速度決定部236は、図19のブロック線図に示す処理、すなわち、処理部236−1の処理によって、目標後輪回転移動速度Vr_cmdを決定する。
処理部236−1は、現在時刻でのアクセル操作量の検出値から、あらかじめ設定された変換関数によって、目標後輪回転移動速度Vr_cmdを決定する。
上記変換関数は、例えばマップもしくは演算式により構成される関数である。この変換関数は、基本的には、該変換関数により決定されるVr_cmdが、アクセル操作量の増加に対して単調増加するように設定されている。
例えば図19中のグラフで例示するような傾向で、該変換関数が設定されている。この場合、アクセル操作量の検出値が、ゼロから所定の第1アクセル操作量A1までの不感帯の範囲内(ゼロ近辺の範囲内)の値であるときには、処理部236−1は、Vr_cmdをゼロに決定する。
また、アクセル操作量の検出値が、第1アクセル操作量A1から所定の第2アクセル操作量A2(>A1)までの範囲内の値であるときには、処理部236−1は、アクセル操作量の増加に対して、Vr_cmdが単調に増加すると共に、Vr_cmdの増加率(アクセル操作量の単位増加量当たりのVr_cmdの増加量)が滑らかに大きくなるように、Vr_cmdを決定する。
また、アクセル操作量の検出値が、第2アクセル操作量A2から所定の第3アクセル操作量A3(>A2)までの範囲内の値であるときには、処理部236−1は、Vr_cmdがアクセル操作量の増加に対して、一定の増加率で単調に増加していくように、Vr_cmdを決定する。
さらに、アクセル操作量の検出値が、第3アクセル操作量A3を超えると、処理部236−1は、Vr_cmdを一定値(A3に対応する値)に維持するように決定する。
制御装置215は、次に、制御ゲイン決定部235の処理を実行する。制御ゲイン決定部235には、図16に示すように、制御装置215の前回の制御処理周期で姿勢制御演算部237により決定された目標後輪操舵角δr_cmdの値(前回値)である前回目標後輪操舵角δr_cmd_pが遅延要素238を介して入力されると共に、今回の制御処理周期で走行速度推定値算出部233により算出された走行速度推定値Vox_actが入力される。
そして、制御ゲイン決定部235は、例えば図18のブロック線図で示す処理によって、車体202の姿勢制御のための複数のゲインK1,K2,K3,K4の値を決定する。
その詳細は後述するが、各ゲインK1,K2,K3,K4の値は、δr_cmd_pと、Vox_actとに応じて可変的に決定される。
制御装置215は、次に、目標姿勢状態決定部234の処理を実行する。目標姿勢状態決定部234は、車体202の目標ロール角θb_cmdと目標ロール角速度θb_dot_cmdとを決定する。本実施形態では、目標姿勢状態決定部234は、一例として、目標ロール角θb_cmdと目標ロール角速度θb_dot_cmdとを共にゼロに設定する。
制御装置215は、次に、姿勢制御演算部237の処理を実行する。この姿勢制御演算部237には、図16に示すように、目標姿勢状態決定部234で決定された目標ロール角φb及び目標ロール角速度φb_dot_cmdと、車体傾斜検出器216の出力により示される実際のロール角の検出値φb_act(以降、ロール角検出値φb_actという)及び実際のロール角速度の検出値φb_dot_act(以降、ロール角速度検出値φb_dot_actという)と、制御ゲイン決定部235で決定されたゲインK1,K2,K3,K4とが入力される。
姿勢制御演算部237は、上記の入力値を用いて、図20のブロック線図に示す処理を実行することによって、目標後輪操舵角δr_cmdと、目標後輪操舵角速度δr_dot_cmdと、目標後輪操舵角加速度δr_dot2_cmdとを決定する。
図20において、処理部237−1は、目標ロール角φb_cmdとロール角検出値φb_actとの偏差を求める処理部、処理部237−2は、処理部237−1の出力にゲインK1を乗じる処理部、処理部237−3は、目標ロール角速度φb_dot_cmdとロール角速度検出値φb_dot_actとの偏差を求める処理部、処理部237−3の出力にゲインK2の乗じる処理部、処理部237−5は、前回目標後輪操舵角δr_cmd_pにゲインK3を乗じる処理部、処理部237−6は、前回の制御処理周期で姿勢制御演算部237が決定した目標後輪操舵角速度δr_dot_cmdの値である前回目標後輪操舵角速度δr_dot_cmd_pにゲインK4を乗じる処理部、処理部237−7は処理部237−2,237−4のそれぞれの出力と、処理部237−5,237−6のそれぞれの出力の(−1)倍の値とを加え合わせることによって目標後輪操舵角加速度δr_dot2_cmdを算出する処理部を表している。
また、処理部237−8は、処理部237−7の出力を積分することにより目標後輪操舵角速度δr_dot_cmdを求める処理部、処理部237−9は、前回の制御処理周期での処理部237−8の出力(すなわち、前回目標後輪操舵角速度δr_dot_cmd_p)を処理部237−6に出力する遅延要素、処理部237−10は、処理部237−8の出力を積分することにより目標後輪操舵角δr_cmdを求める処理部、処理部237−11は、前回の制御処理周期での処理部237−10の出力(すなわち、前回目標後輪操舵角δr_cmd_p)を処理部237−5に出力する遅延要素を表している。
従って、姿勢制御演算部237は、次式(13)により、目標後輪操舵角加速度δr_dot2_cmdを算出する。
δr_dot2_cmd=K1*(φb_cmd−φb_act)
+K2*(φb_dot_cmd−φb_dot_act)
−K3*δr_cmd_p−K4*δr_dot_cmd_p ……(13)
上記式(13)において、K1*(φb_cmd−φb_act)は、偏差(φb_cmd−φb_act)を“0”に近づける機能を有するフィードバック操作量、K2*(φb_dot_cmd−φb_dot_act)は、偏差(φb_dot_cmd−φb_dot_act)を“0”に近づける機能を有するフィードバック操作量、−K3*δr_cmd_pは、δr_cmdを“0”に近づける機能を有するフィードバック操作量、−K4*δr_dot_cmd_pは、δr_dot_cmdを“0”に近づける機能を有するフィードバック操作量である。
そして、姿勢制御演算部237は、上記式(13)により決定したδr_dot2_cmdを積分することにより、目標後輪操舵角速度δr_dot_cmdを決定する。さらに、姿勢制御演算部237は、このδr_dot_cmdを積分することにより、目標後輪操舵角δr_cmdを決定する。
なお、式(13)の演算で用いるδr_cmd_p、δr_dot_cmd_pは、それぞれ、現在時刻での後輪203rの実際の操舵角、操舵角速度の擬似的な推定値(代用的な観測値)としての意味を持つものである。従って、δr_cmd_pの代わりに、現在時刻での後輪操舵角検出値δr_actを使用してもよい。また、δr_dot_cmd_pの代わりに、前記後輪操舵角検出器217の出力に基づく後輪操舵角速度検出値δr_dot_act(後輪203rの実際の操舵角速度の検出値)を使用してもよい。
以上が姿勢制御演算部237の処理である。
この姿勢制御演算部237の処理によって、目標後輪操舵角加速度δr_dot2_cmdは、基本的には、二輪車201Aの車体202の実際のロール角(ロール角検出値φb_act)が目標ロール角φb_cmdからずれた状態、あるいは、二輪車201Aの車体202の実際のロール角速度(ロール角速度検出値φb_dot_act)が目標ロール角速度φb_dot_cmdからずれた状態では、それらのずれを、後輪203rの操舵角δrを操作することによって解消するように(ひいては、実際の二輪車201Aの車体202のロール角あるいはロール角速度を目標ロール角あるいは目標ロール角速度に復元させるように)決定される。
また、目標後輪操舵角δr_cmd及び目標後輪操舵角速度δr_dot_cmdが本実施形態では“0”であるので、二輪車201Aの車体202の実際のロール角が目標ロール角φb_cmdに一致もしくはほぼ一致する値に保持されている状態では、目標後輪操舵角加速度δr_dot2_cmdは、後輪203rの実際の操舵角を“0”もしくはほぼ“0”に保持するように決定される。
ここで、前記式(13)の演算によりδr_dot2_cmdを算出する場合に用いるゲインK1〜K4(式(13)の右辺の各フィードバック操作量に係わるフィードバックゲイン)は、前記制御ゲイン決定部235で決定されるものである。そこで、以下に、制御ゲイン決定部235の処理を詳細に説明する。
制御ゲイン決定部235は、入力される走行速度推定値Vox_actと、前回目標後輪操舵角δr_cmd_pとから図18のブロック線図で示す処理によって、ゲインK1〜K4の値を決定する。
図18において、処理部235−1は、Vox_actとδr_cmd_pとに応じてゲインK1を決定する処理部、処理部235−2は、Vox_actとδr_cmd_pとに応じてゲインK2を決定する処理部である。
本実施形態では、処理部235−1は、Vox_actとδr_cmd_pとから、あらかじめ設定された2次元マップ(2変数の変換関数)によりゲインK1を決定する。同様に、処理部235−2は、Vox_actとδr_cmd_pとから、あらかじめ設定された2次元マップ(2変数の変換関数)によりゲインK2を決定する。
これらの2次元マップは、Vox_actとδr_cmd_pとに対するゲインK1の値の変化の傾向と、Vox_actとδr_cmd_pとに対するゲインK2の値の変化の傾向とが、概ね同様の傾向で設定されている。
具体的には、処理部235−1,235−2のそれぞれの2次元マップは、図18中の処理部235−1,235−2に記載したグラフで例示されるように、該2次元マップにより決定されるゲインK1,K2の大きさが、δr_cmd_pを任意の値に固定した場合にVox_actの増加に対して単調減少する傾向を持つように設定されている。
従って、二輪車201Aの車体202のロール方向の姿勢を安定化させる(ロール角検出値φb_actと、ロール角速度検出値φb_dot_actとをそれぞれφb_cmd、φb_dot_cmdに収束させる)機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK1,K2は、二輪車201Aの実際の走行速度(走行速度推定値Vox_act)が大きくなるに伴い、ゲインK1,K2のそれぞれの大きさが小さくなるように決定される。
換言すれば、φb_actとφb_cmdとの偏差、あるいは、φb_dot_actとφb_dot_cmdとの偏差に応じて、該偏差を解消する方向に発生させる後輪操舵用アクチュエータ208の駆動力が、二輪車201Aの実際の走行速度(走行速度推定値Vox_act)が高速側の速度である場合には、低速側の速度である場合よりも弱まるように、ゲインK1,K2が決定される。
さらに、処理部235−1,235−2のそれぞれの2次元マップは、それにより決定されるゲインK1,K2が、Vox_actを任意の値に固定した場合に、δr_cmd_pの大きさ(絶対値)の増加に対して、単調減少する傾向を持つように設定されている。
従って、二輪車201Aの車体202のロール方向の姿勢を安定化させる機能を有するフィードバック操作量に係るゲインとしてのゲインK1,K2は、後輪203rの実際の操舵角に相当するδr_cmd_pの大きさが大きくなるに伴い、K1,K2のそれぞれの大きさが小さくなるように決定される。
ここで、後輪203rの実際の操舵角の大きさが大きい場合には、小さい場合に較べて、操舵輪(後輪203r)の接地点を含みX軸方向(車体202の前後方向)を法線とする断面で見た該操舵輪(後輪203r)の接地部位の曲率半径が大きくなる。ひいては、後輪203rの実際の操舵角の大きさが大きい場合には、小さい場合に較べて、その操舵角の変化に応じた後輪203rの接地点の移動量の変化が大きくなる。
このことに起因して、仮に、ゲインK1,K2の大きさを、実際の操舵角に依存しないように設定すると、実際の操舵角が大きい場合に、二輪車201Aの車体202のロール方向の姿勢の制御の発振が生じやすくなる。
そこで、本実施形態では、上記の如く、δr_cmd_pの大きさに応じてゲインK1,K2の大きさを変化させるようにした。これにより、後輪203rの実際の操舵角の大きさ(絶対値)が大きい場合でも、上記発振を防止することができる。
また、図18のブロック線図において、処理部235−3は、Vox_actに応じてゲインK3を決定する処理部、処理部235−4は、Vox_actに応じてゲインK4を決定する処理部である。
本実施形態では、処理部235−3,235−4は、それぞれ、Vox_actから、あらかじめ設定されたマップ(又は演算式)により構成される変換関数によって、ゲインK3,K4を決定する。
これらの変換関数は、図18中の処理部235−3,235−4に記載したグラフで例示されるように、基本的には、Vox_actの増加に対して、ゲインK3,K4のそれぞれが、所定の上限値と下限値との間で、単調増加するように設定されている。
この場合、処理部235−3,235−4の変換関数では、Vox_actが“0”に近い値となる領域では、K3,K4はそれぞれ下限値に維持される。また、Vox_actが十分に大きい値となる領域では、K3,K4はそれぞれ上限値に維持される。
上記のようにゲインK3,K4が決定されるので、二輪車201Aの実際の走行速度(走行速度推定値Vox_act)が比較的大きい場合(高速域の速度である場合)には、後輪203rの操舵角δrをゼロに近づける機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK3,K4の大きさが、二輪車201Aの実際の走行速度が比較的小さい場合(低速域の速度(“0”を含む)である場合)に較べて相対的に大きくなるようにK3,K4が決定される。
本実施形態では、ゲインK1,ゲインK3が以上のように設定されるので、後輪203rの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車201Aの走行速度が大きいほど、小さくなるように設定される。
同様に、ゲインK2,ゲインK4が以上のように設定されるので、後輪203rの操舵角を一定とした場合のゲインK2と、ゲインK4との比(=K2/K4)が、二輪車201Aの走行速度が大きいほど、小さくなるように設定される。
このため、車体202のロール方向の姿勢を制御する機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK1,K2は、それぞれ、二輪車201Aの走行速度が大きいほど、後輪203rの実際の操舵角をゼロに収束させる機能を有するフィードバック操作量に係るフィードバックゲインとしてのゲインK3,K4に較べて相対的に小さくなる。
このため、二輪車201Aの実際の走行速度(走行速度推定値Vox_act)が比較的高速である場合、すなわち、車体202のロール方向の姿勢の安定性が高い状況では、通常の二輪車(車体のロール方向の姿勢制御機能を持たない二輪車)と同様に、運転者の体重移動等によって車体202のロール方向の姿勢(ロール角φb)を変化させることを、二輪車201Aの運転者が容易に行なうことができるようになっている。
なお、ゲインK1及びK2を決定する2次元マップは、それぞれ、走行速度推定値Vox_actがある程度大きくなると(Vox_actが所定値以上の速度である場合に)、決定されるK1,K2の値が、“0”もしくはほぼ“0”となるように設定されていてもよい。
このようにした場合には、二輪車201Aの実際の走行速度(走行速度推定値Vox_act)が比較的大きい場合に、車体202のロール方向の姿勢制御機能が実質的にOFFになる。そのため、二輪車201Aの実際の走行速度が高速である場合に、二輪車201Aの挙動特性を、通常の二輪車と同等の特性に近づけるようにすることができる。
以上が、本実施形態における制御ゲイン決定部235の処理の詳細である。
なお、ゲインK1は、Vox_actの増加に対して、所定の上限値と下限値との間で、単調増加するように設定する代わりに、一定に維持されるように、あるいは単調減少するように設定してもよい。ただし、この場合でも、後輪203rの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車201Aの走行速度が大きいほど、小さくなるように設定する。
同様に、ゲインK2は、Vox_actの増加に対して、所定の上限値と下限値との間で、単調増加するように設定する代わりに、一定に維持されるように、あるいは単調減少するように設定してもよい。ただし、この場合でも、後輪203rの操舵角を一定とした場合のゲインK2と、ゲインK4との比(=K2/K4)が、二輪車201Aの走行速度が大きいほど、小さくなるように設定する。
また、ゲインK3,K4も、ゲインK1,K2と同様、Vox_actとδr_cmd_pとに応じて決定するようにしてもよい。たとえば、後輪203rの操舵角を一定とした場合のゲインK1と、ゲインK3との比(=K1/K3)が、二輪車201Aの走行速度が大きいほど、小さくなるように、極配置法などを用いてゲインK1〜K4の組の適正値のおおまかな目安を求めると、ゲインK3,K4も、δr_cmd_pに依存した値となる。よって、ゲインK3,K4も、ゲインK1,K2と同様、Vox_actとδr_cmd_pとに応じて決定するようにした方が、極配置法などから求めた適正値の目安に近づけることができる。
また、ゲインK1,K2を決定するための変換関数は、Vox_act,δf_cmd_pに対して上述したような傾向で決定できるものであれば、他の形態の変換関数を採用してもよい。その変換関数は、2次元マップ以外の形態(例えば1次元マップと演算式とを組み合わせた形態等)で設定されたものであってもよい。このことは、ゲインK3,K4をVox_act,δf_cmd_pに応じて変換関数により決定する場合、あるいは、Vox_actに応じて変換関数により決定する場合についても同様である。
また、前回目標後輪操舵角δr_cmd_pは、現在時刻での後輪203rの実際の操舵角の擬似的な推定値(代用的な観測値)としての意味を持つものである。
従って、各ゲインK1,K2,K3,K4を決定するために、δr_cmd_pの代わりに、前記後輪操舵角検出値δr_actを用いてもよい。
また、後輪駆動用アクチュエータ209の応答が十分に速い場合には、上記前回目標後輪操舵角δr_cmd_pと、前回目標後輪回転移動速度Vr_cmd_p(前回の制御処理周期で目標後輪回転移動速度決定部236で決定された目標後輪回転移動速度Vr_cmd)とから、前記式(12)の演算と同様の演算によって算出される走行速度の値(=Vr_cmd_p*cos(δr_cmd_p*cos(θcr))。以降、これを前回目標走行速度Vox_cmd_pと表記する)は、現在時刻での二輪車201Aの実際の走行速度の擬似的な推定値(代用的な観測値)としての意味を持つ。
従って、ゲインK1,K2,K3,K4を決定するために、Vox_actの代わりに、上記前回目標走行速度Vox_cmd_pを用いてもよい。
次に、前記後輪操舵用アクチュエータ208、後輪駆動用アクチュエータ209の制御について説明する。
制御装置215は、図16に示した機能の他の機能として、図21に示す後輪操舵用アクチュエータ制御部241、図22に示す後輪駆動用アクチュエータ制御部242をさらに備えている。
後輪操舵用アクチュエータ制御部241は、例えば図21のブロック線図で示す制御処理によって、後輪203rの実際の操舵角(後輪操舵角検出値δr_act)を目標後輪操舵角δr_cmdに追従させるように、後輪操舵用アクチュエータ208の駆動制御を行なう。
この例では、後輪操舵用アクチュエータ制御部241には、姿勢制御演算部237で前記した如く決定された目標後輪操舵角δr_cmd、目標後輪操舵角速度δr_dot_cmd及び目標後輪操舵角加速度δr_dot2_cmdと、後輪操舵角検出値δr_actと、後輪203rの実際の操舵角速度の検出値である後輪操舵角速度検出値δr_dot_actとが入力される。
なお、後輪操舵角速度検出値δr_dot_actは、後輪操舵角検出器217の出力に基づき認識される操舵角速度の値、又は、後輪操舵角検出値δr_actの時間的変化率を算出することで得られる値である。
後輪操舵用アクチュエータ制御部241は、電流指令値決定部241−1の処理によって、上記の入力値から、後輪操舵用アクチュエータ208(電動モータ)の通電電流の目標値である電流指令値I_δr_cmdを決定する。
この電流指令値決定部241−1は、次式(14)で示される如く、δr_cmdとδr_actとの偏差に所定値のゲインKδr_pを乗じてなるフィードバック操作量成分と、δr_dot_cmdとδr_dot_actとの偏差に所定値のゲインKδr_vを乗じてなるフィードバック操作量成分と、δr_dot2_cmdに所定値のゲインKδr_aを乗じてなるフィードフォワード操作量成分とを加え合わせることにより、電流指令値I_δr_cmdを決定する。
I_δr_cmd=Kδr_p*(δr_cmd−δr_act)
+Kδr_v*(δr_dot_cmd−δr_dot_act)
+Kδr_a*δr_dot2_cmd ……(14)
そして、後輪操舵用アクチュエータ制御部241は、モータドライバ等により構成される電流制御部241−2によって、後輪操舵用アクチュエータ208(電動モータ)の実際の通電電流を、電流指令値I_δr_cmdに一致する電流に制御する。
これにより、後輪203rの実際の操舵角が、目標後輪操舵角δr_cmdに追従するように制御される。この場合、電流指令値I_δr_cmdは、上記式(77)の右辺の第3項、すなわち、フィードフォワード操作量成分を含むので、上記制御の追従性が高くなる。
なお、後輪203rの実際の操舵角を目標後輪操舵角δr_cmdに追従させるように後輪操舵用アクチュエータ208を制御する手法は、上記の手法に限らず、他の手法を用いてよい。その手法としては、例えば、電動モータに関する公知の種々様々のサーボ制御手法(電動モータのロータの実際の回転角度を目標値に追従させるフィードバック制御手法)を採用できる。
次に、後輪駆動用アクチュエータ制御部242は、例えば図22のブロック線図で示す制御処理によって、後輪203rの実際の回転移動速度を目標後輪回転移動速度Vr_cmdに追従させるように(又は、後輪203rの実際の回転角速度をVr_cmdに対応する目標回転角速度に追従させるように)、後輪駆動用アクチュエータ209の駆動制御を行なう。
この例では、後輪駆動用アクチュエータ制御部242には、目標後輪回転移動速度決定部236で前記した如く決定された目標後輪回転移動速度Vr_cmdと、後輪回転移動速度推定値Vr_actとが入力される。
後輪駆動用アクチュエータ制御部242は、電流指令値決定部242−1の処理によって、上記の入力値から、後輪駆動用アクチュエータ209(電動モータ)の通電電流の目標値である電流指令値I_Vr_cmdを決定する。
この電流指令値決定部242−1は、次式(15)で示される如く、Vr_cmdとVr_actとの偏差に所定値のゲインKVf_vを乗じてなるフィードバック操作量成分を電流指令値I_Vr_cmdとして決定する。
I_Vr_cmd=KVr_v*(Vr_cmd−Vr_act) ……(15)
なお、上記式(15)によりI_Vr_cmdを決定する代わりに、例えば、Vr_cmdを後輪203rの有効回転半径で除算した値(すなわち、後輪203rの回転角速度の目標値)と、後輪回転速度検出器220の出力により示される後輪203rの実際の回転角速度の検出値との偏差に所定値のゲインを乗じることによって、I_Vr_cmdを決定するようにしてもよい。
そして、後輪駆動用アクチュエータ制御部242は、モータドライバ等により構成される電流制御部242−2によって、後輪駆動用アクチュエータ209(電動モータ)の実際の通電電流を、電流指令値I_Vr_cmdに一致する電流に制御する。
これにより、後輪203rの実際の回転移動速度が、目標後輪回転移動速度Vr_cmdに追従するように(又は、実際の回転角速度が、Vr_cmdに対応する回転角速度の目標値に追従するように)制御される。
なお、後輪203rの実際の回転移動速度を、目標後輪回転移動速度Vr_cmdに追従させるように後輪駆動用アクチュエータ209を制御する手法は、上記の手法に限らず、他の手法を用いてよい。その手法としては、例えば、電動モータに関する公知の種々様々の速度制御手法(電動モータのロータの実際の回転角速度を目標値に追従させるフィードバック制御手法)を採用できる。
以上が、本実施形態における制御装置215の制御処理の詳細である。
ここで、本実施形態と本発明との対応関係について説明しておく。本実施形態では、後輪203rが、本発明における操舵輪に相当し、後輪操舵用アクチュエータ208(電動モータ)が本発明における操舵アクチュエータに相当する。
また、本発明における第1運動状態量(車体202のロール方向の傾斜角(ロール角)の運動状態量)は、本実施形態の例では、ロール角φbそのものの値と、その時間的変化率であるロール角速度φb_dotとから構成される。
また、本発明における第2運動状態量(操舵輪(後輪203r)の操舵角の運動状態量)は、本実施形態の例では、後輪203rの操舵角δrそのものの値と、その時間的変化率である操舵角速度δr_dotとから構成される。
また、本実施形態では、第1運動状態量としてのロール角φb及びロール角速度φb_dotのそれぞれの目標値(φb_cmd、φb_dot_cmd)がゼロに設定され、また、第2運動状態量としての操舵角δr及び操舵角速度δr_dotのそれぞれの目標値がゼロに設定されている。
そして、姿勢制御演算部237の処理では、ロール角検出値φb_act、ロール角速度検出値φb_dot_act、操舵角δrの擬似的な推定値としての前回目標後輪操舵角δr_cmd_p、操舵角速度δr_dotの擬似的な推定値としての前回目標後輪操舵角速度δr_dot_cmd_pのそれぞれと目標値との偏差をゼロに収束させるようにフィードバック制御則により、後輪操舵用アクチュエータ208(操舵アクチュエータ)の動作目標としての目標後輪操舵角加速度δr_dot2_cmdが決定される。
さらに、このδr_dot2_cmdの積分を2回、繰り返すことで決定した目標後輪操舵角δr_cmdに後輪203rの実際の操舵角を追従させるように後輪操舵用アクチュエータ208の駆動力が、前記後輪操舵用アクチュエータ制御部241により制御される。
これにより、第1運動状態量(車体202のロール方向の傾斜角の運動状態量)及び第2運動状態量(操舵輪(後輪203r)の操舵角の運動状態量)とを安定化し、ひいては、車体202の姿勢(ロール方向の姿勢)を安定化するように、後輪操舵用アクチュエータ208が制御される。
なお、本実施形態では、操舵輪(後輪203r)の操舵角加速度δr_dot2_cmdが本発明における参照量に相当する。
また、本実施形態では、前記ゲインK1は、車体202のロール方向の傾斜角の観測値(φb_act)の変化に対する参照量(δr_dot2_cmd)の値の変化の感度(Ra1)に相当し、前記ゲインK2は、車体202のロール方向の傾斜角の時間的変化率の観測値(φb_dot_act)の変化に対する参照量(δr_dot2_cmd)の値の変化の感度(Ra2)に相当する。
また、前記ゲインK3は、操舵輪(後輪203r)の操舵角δrの観測値(δr_act)の変化に対する参照量(δr_dot2_cmd)の値の変化の感度(Rb1)に相当し、前記ゲインK4は、操舵輪(後輪203r)の操舵角δrの時間的変化率の観測値(δr_dot_act)の変化に対する参照量(δr_dot2_cmd)の値の変化の感度(Rb2)に相当する。
この場合、二輪車201Aの実際の走行速度Vox_actの観測値に対して、ゲインK1、K2、K3、K4が前記した傾向で決定されるので、上記感度(Ra1,Rb1)の比(Ra1/Rb1)に相当するゲインK1、K3の比(K1/K3)の大きさが、二輪車201Aの走行速度Vox_actの観測値の大きさが大きいほど、小さくなると共に、上記感度(Ra2,Rb2)の比(Ra2/Rb2)に相当するゲインK2、K4の比(K2/K4)の大きさが、二輪車201Aの走行速度Vox_actの観測値の大きさが大きいほど、小さくなるように前輪操舵用アクチュエータ208の駆動力が制御されることとなる。
また、操舵輪(後輪203r)の操舵角δr_actの観測値に対して、ゲインK1、K2が前記した傾向で決定されるので、上記感度(Ra1,Ra2)にそれぞれ相当するゲインK1、K2の大きさが、それぞれ、操舵輪(後輪203r)の非操舵状態からの操舵角の観測値(δf_act)の大きさが大きいほど、小さくなるように前輪操舵用アクチュエータ208の駆動力が制御されることとなる。
以上説明した本実施形態によれば、二輪車201Aの停車時、あるいは、低速走行時において、車体202の実際のロール角(ロール角検出値φb_act)が、目標ロール角φb_cmdからずれた場合(換言すれば、車体202の実際の姿勢が、φb_act=φb_cmdとなるような目標姿勢からずれた場合)に、運転者が意図的に操縦ハンドル7を動かしたりせずとも、後輪操舵用アクチュエータ208の駆動力による後輪203rの操舵によって、車体202の実際のロール角を目標ロール角φb_cmdに復元させ得るモーメント(ロール方向のモーメント)を車体202に作用させることができる。
すなわち、車体202の姿勢を安定化させるロール方向のモーメントを車体202に作用させることができる。そのモーメントにより車体202の実際のロール角が目標ロール角φb_cmdに復元することとなる。
また、前記式(13)によって目標前輪操舵角加速度δf_dot2_cmdを算出することで、車体202の目標ロール角φb_cmdと現在の実際のロール角の観測値としてのロール角検出値φb_actとの偏差(φb_cmd−φb_act)、車体202の目標ロール角速度φb_dot_cmdと現在の実際のロール角速度の観測値としてのロール角速度検出値φb_dot_actとの偏差(φb_dot_cmd−φb_dot_act)、後輪203rの現在の実際の操舵角(中立操舵角からの操舵角)の擬似的な推定値としての前回目標後輪操舵角δr_cmd_p、並びに、後輪203rの現在の実際の操舵角の角速度の擬似的な推定値としての前回目標後輪操舵角速度δr_dot_cmd_pを“0”に近づけるように、目標後輪操舵角加速度δr_dot2_cmd(後輪操舵用アクチュエータ208の動作目標)が決定される。
このため、後輪203rの実際の操舵角が中立操舵角から乖離しないようにしつつ(最終的に中立操舵角に収束するようにしつつ)、車体202の実際のロール角及びロール角速度がそれぞれの目標値(本実施形態ではゼロ)に収束するように、後輪203rの操舵角が制御される。
このため、特に二輪車201Aの停車時又は低速走行時等において、車体202の姿勢を円滑に安定化することができる。また、車体202の姿勢が安定した状態で二輪車201Aの発進を円滑に行うことができる。
また、車体202のロール方向の姿勢制御に係わるフィードバックゲインとしてのゲインK1,K2と、後輪203rの操舵角の制御に係わるフィードバックゲインとしてのゲインK3,K4とが、前記した如く、二輪車201Aの現在の実際の走行速度(X軸方向の移動速度)の観測値としての走行速度推定値Vox_actに応じて可変的に決定される。
このため、二輪車201Aの停車時又は低速走行時には、車体202の実際のロール角を素早く目標ロール角φb_cmdに近づけるように後輪203rの操舵を行なうことができる。
また、二輪車201Aの走行速度が大きい状況では、車体202が傾いても、車体202の実際のロール角を目標ロール角φb_cmdに近づけるような、後輪203rの操舵制御が行われないか、もしくは、当該操舵制御が抑制される。ひいては、運転者は、通常の二輪車と同様に、自身の体重移動によって車体202を傾けるようにして二輪車201Aの旋回を行なうようにすることを容易に行なうことができる。
さらに、ゲインK1,K2は、走行速度推定値Vox_actに応じて可変的に決定されるだけでなく、後輪203rの現在の実際の操舵角の擬似的な推定値としての前回目標後輪操舵角δr_cmd_pに応じて前記した如く可変的に決定される。このため、後輪203rの幅広い操舵域において、車体202の姿勢制御の発振を生じることなく、車体202の良好な姿勢制御を高いロバスト性で実現できる。
[変形態様]
次に前記第1実施形態又は第2実施形態に係わる変形態様をいくつか説明する。
前記各実施形態では、姿勢制御演算部37又は237で、例えば次のような処理を実行することで、操舵輪の操舵角、操舵角速度、及び操舵角加速度の目標値を決定するようにしてもよい。
すなわち、前輪3fを操舵する場合の姿勢制御演算部37の処理では、まず、図7又は図8のブロック線図の処理と同じ処理によって前記処理部37−12から出力される値を、図22に示す如く、目標前輪操舵角の仮値δf’_cmdとして得る。
なお、図22では、二点鎖線の枠内の処理(仮値δf’_cmdを算出する処理)は、図8のブロック線図の処理と同じであるが、図7のブロック線図の処理と同じであってもよい。
この仮値δf’_cmdから、処理部37−15の処理によって、目標前輪操舵角δf_cmdを決定する。この処理部37−15の処理では、図中のグラフで示すように飽和特性を有する変換関数(入力値に対して出力値が飽和する特性を有する変換関数)によって、入力値としての仮値δf’_cmdを、出力値としての目標前輪操舵角δf_cmdに変換される。なお、変換関数は、マップあるいは演算式により設定される。
そして、処理部37−15で決定された目標前輪操舵角δf_cmdを処理部37−16で微分することで、目標前輪操舵角速度δf_dot_cmdを決定し、さらに、目標前輪操舵角速度δf_dot_cmdを処理部37−17で微分することで、目標前輪操舵角加速度δf_dot2_cmdを決定する。
後輪203rを操舵する場合の姿勢制御演算部237の処理についても上記と同様である。この場合には、図22の二点鎖線の枠内の処理を、図20のブロック線図の処理に置き換えた処理によって、目標後輪操舵角の仮値δr’_cmdを算出し、さらに、この仮値δr’_cmdから、図22の処理部37−15、37−16、37−17と同様の処理によって、目標後輪操舵角δr_cmd、目標後輪操舵角速度δr_dot_cmd、及び目標後輪操舵角加速度δr_dot2_cmdをそれぞれ決定するようにすればよい。
このような姿勢制御演算部37又は237の処理により、操舵輪(前輪3f又は後輪203r)の操舵角、操舵角速度、及び操舵角加速度の目標値を決定するようにした場合には、制御ゲイン決定部35又は235の処理では、前記ゲインK1,K2を操舵輪の操舵角に依存させずに設定するようにしてもよい。
このようにしても、車体2又は202のロール方向の傾斜角の観測値(φb_act)の変化に対する操舵角加速度(δf_dot2_cmd又はδr_dot2_cmd)の値の変化の感度(すなわち、前記感度Ra1)と、車体2又は202のロール方向の傾斜角の時間的変化率の観測値(φb_dot_act)の変化に対する操舵角加速度(δf_dot2_cmd又はδr_dot2_cmd)の値の変化の感度(すなわち、前記感度Ra2)とが、それぞれ、操舵輪の操舵角の観測値が大きいほど、小さくなるように操舵用アクチュエータ8又は208を制御できる。
ただし、姿勢制御演算部37で、図22のブロック線図に示した上記処理部37−15、37−16,37−17の処理を含む処理によって、目標前輪操舵角δf_cmd、目標前輪操舵角速度δf_dot_cmd及び目標前輪操舵角加速度δf_dot2_cmdを決定する場合、あるいは、姿勢制御演算部237で、上記処理部37−15、37−16,37−17と同様の処理を含む処理によって、目標後輪操舵角δr_cmd、目標後輪操舵角速度δr_dot_cmd、及び目標後輪操舵角加速度δr_dot2_cmdを決定する場合のいずれの場合においても、ゲインK1,K2を、操舵輪(前輪3f又は後輪203r)の操舵角に応じて、前記各実施形態と同様の傾向で変化させるように設定してもよい。
また、前記第1実施形態では、後輪3rは非操舵輪であるが、後輪3rは、例えば接地面110からの反力によって受動的に操舵されるようになっていてもよい。
また、前記各実施形態では、制御対象の状態量の構成要素である車体2,202のロール方向の傾斜角(ロール角)の運動状態量として、ロール角φbの値と、ロール角速度φb_dotを用いたが、ロール角φbだけをロール角に関する制御対象の状態量として、該状態量を目標値に近づけるように操舵アクチュエータ(前輪操舵用アクチュエータ8又は後輪操舵用アクチュエータ208)を制御するようにしてもよい。
さらに、制御対象の状態量の他の構成要素である操舵輪の操舵角の運動状態量として、その操舵角の値(δf又はδr)と、その角速度(δf_dot又はδr_dot)とを用いたが、操舵角の値だけを操舵輪の操舵角に関する制御対象の状態量として、該状態量を目標値に近づけるように操舵アクチュエータ(前輪操舵用アクチュエータ8又は後輪操舵用アクチュエータ208)を制御するようにしてもよい。
なお、車体2,202のロール方向の傾斜角の運動状態量(ロール角φb、ロール角速度φb_dot)の目標値は、ゼロ以外の目標値に設定してもよい。
さらに、操舵輪の操舵角の運動状態量(操舵角δf又はδr、操舵角速度δf_dot又はδr_dot)の目標値は、車体2,202の姿勢を安定化させることができるような目標値である限り、ゼロ以外の目標値に設定してもよい。
車体2,202のロール方向の傾斜角の運動状態量(ロール角φb、ロール角速度φb_dot)の目標値、あるいは、操舵輪の操舵角の運動状態量(操舵角δf又はδr、操舵角速度δf_dot又はδr_dot)の目標値は、例えば、運転者によって操縦ハンドル7(又は207)に付与される力もしくは該操縦ハンドル7(又は207)の操作量などに応じて決定された目標値であってもよい。
さらに、ロール角φbの目標値を決定するに当たって、二輪車1A又は201Aの旋回時の遠心力を考慮して、該目標値を決定するようにしてもよい。すなわち、二輪車1A又は201Aの全体重心Gに作用する重力によって、X軸まわり方向(ロール方向)でXYZ座標系の原点まわりに発生するモーメントと、該全体重心Gに作用する遠心力によってX軸まわり方向(ロール方向)でXYZ座標系の原点まわりに発生するモーメントとが釣り合う(両モーメントの総和が“0”になる)ように、ロール角φbの目標値を決定するようにしてもよい。
この場合、ロール角φbの目標値(以降、目標ロール角φb_cmdという)は、例えば、次のように決定できる。以降、全体重心Gに作用する重力と遠心力とによって、それぞれXYZ座標系の原点まわりに発生するモーメントが釣り合う状態でのロール角φbをバランスロール角φb_leanと称する。
このバランスロール角φb_leanは、近似的に次式(21)により求められる。
φb_lean=−Vox_act*ωz_act/g ……(21)
ここで、ωz_actは、車体2又は202の鉛直軸回りの旋回角速度(ヨーレート)である。その値としては、例えば、角速度センサを含む前記車体傾斜検出器16又は216の出力により示されるヨーレートの検出値を用いればよい。
あるいは、例えば、前記前輪有効操舵角δ'fの実際の値(前輪有効操舵角推定値δ’f_act)と、後輪有効操舵角δ'rの実際の値(後輪有効操舵角推定値δ’r_act)と二輪車1A又は201Aの走行速度Voxの実際の値(走行速度推定値Vox_act)から次式(22)により求めるようにしてもよい。
ωz_act=Vox_act*((1/L)*tan(δ’f_act)−(1/L)*tan(δ’r_act))
……(22)
なお、前記第1実施形態の如く、後輪203rが非操舵輪である場合には、δ'r_act=0として、式(22)の演算を行なうようにすればよい。
そして、上記の如く算出したバランスロール角φb_leanを目標ロール角φb_cmdとして決定すればよい。あるいは、φb_leanに1以下の正の定数を乗じた値を、目標ロール角φb_cmdとして決定するようにしてもよい。
なお、二輪車1A又は201Aの発進前の停車時、あるいは、走行速度Voxが十分に小さい場合には、目標ロール角φb_cmdは“0”でよい。
また、ロール角速度φb_dotの目標値は、ゼロに設定すればよい。なお、車体2,202の姿勢を安定化させることができるような目標値である限り、ロール角速度φb_dotの目標値は、ゼロ以外の目標値に設定してもよい。
例えば、ロール角速度φb_dotの目標値を、運転者によって操縦ハンドル7(又は207に付与される力もしくは該操縦ハンドル7(又は207)の操作量などに応じて決定してもよい。
また、前記各実施形態では、姿勢制御演算部37又は237の処理において、操舵アクチュエータ(前輪操舵用アクチュエータ8又は後輪操舵用アクチュエータ208)の動作目標として目標前輪操舵角加速度δf_dot2_cmd又は目標後輪操舵角加速度δr_dot2_cmdを決定するようにした。
ただし、第1実施形態における姿勢制御演算部37の処理において、目標前輪操舵角加速度δf_dot2_cmdの代わりに(あるいは目標前輪操舵角加速度δf_dot2_cmdと併せて)、操舵輪(前輪3f)の操舵軸線Csfのまわりのトルクの目標値を決定してもよい。そして、前記前輪操舵用アクチュエータ制御部41において、前記操舵軸線Csfのまわりの実際のトルクを目標値に一致させるように、前輪操舵用アクチュエータ8の駆動力(トルク)を制御するようにしてもよい。
同様に、第2実施形態における姿勢制御演算部237の処理において、目標後輪操舵角加速度δr_dot2_cmdの代わりに(あるいは目標後輪操舵角加速度δf_dot2_cmdと併せて)、操舵輪(後輪203r)の操舵軸線Csrのまわりのトルクの目標値を決定してもよい。そして、前記後輪操舵用アクチュエータ制御部241において、前記操舵軸線Csrのまわりの実際のトルクを目標値に一致させるように、後輪操舵用アクチュエータ208の駆動力(トルク)を制御するようにしてもよい。
また、前記各実施形態で示した手法、あるいは、手段、アルゴリズムも結果が同一となるように等価変換したものは、同一とみなすことができる。