(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072646
(43)【公開日】2024-05-28
(54)【発明の名称】操舵制御装置
(51)【国際特許分類】
B62D 6/00 20060101AFI20240521BHJP
B60W 40/02 20060101ALI20240521BHJP
B62D 101/00 20060101ALN20240521BHJP
B62D 113/00 20060101ALN20240521BHJP
【FI】
B62D6/00
B60W40/02
B62D101:00
B62D113:00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022183604
(22)【出願日】2022-11-16
(71)【出願人】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】岡田 光太郎
(72)【発明者】
【氏名】板摺 一貴
【テーマコード(参考)】
3D232
3D241
【Fターム(参考)】
3D232CC12
3D232CC20
3D232DA03
3D232DA04
3D232DA09
3D232DA23
3D232DA63
3D232DA76
3D232DA84
3D232DC08
3D232DC10
3D232DC28
3D232DC33
3D232DC34
3D232DE06
3D232EB04
3D232EC23
3D232EC34
3D232GG01
3D241BA12
3D241BA33
3D241BA49
3D241BB27
3D241BC02
3D241CC17
3D241CD12
3D241CE05
3D241DA52Z
3D241DB02Z
3D241DC43Z
(57)【要約】
【課題】実際に所定旋回方向への操舵がなされる際に転舵角を迅速に変更できるようにした操舵制御装置を提供する。
【解決手段】PU62は、上位ECU80が設定した目標角の変化が右操舵方向の場合、目標角を右あそび補償量だけ補正する。そして、PU62は、操舵角を制御量として且つ補正した目標角を制御量の目標値とする制御を実行する。PU62は、現在走行中の車線が近い将来右側にカーブする場合、目標角を予め右あそび補償量だけ補正する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
操舵装置を制御対象とする操舵制御装置であって、
前記操舵装置は、
ステアリング軸と、
前記ステアリング軸の回転に伴って転舵する車両の転舵輪と、
前記ステアリング軸を回転させるモータと、
を備え、
走行環境情報取得処理、および先読み補償処理を実行するように構成され、
前記走行環境情報取得処理は、前記車両の走行環境に関する情報を取得する処理であり、
前記先読み補償処理は、所定旋回方向に関するあそび補償量に応じて前記ステアリング軸を予め回転させておく処理であり、
前記所定旋回方向は、前記走行環境に関する情報から前記車両が旋回する方向として適切な方向と判定される方向である操舵制御装置。
【請求項2】
あそび変位算出処理を実行するように構成され、
前記あそび変位算出処理は、操舵角の都度の変化に応じてあそび変位を算出する処理であり、
前記操舵角は、前記ステアリング軸の回転角度であり、
前記あそび変位は、前記操舵角の変化に対して前記転舵輪の転舵角が変化しない領域における位置を特定する量であり、
前記所定旋回方向に関する前記あそび補償量は、前記あそび変位を前記領域内に維持する値である請求項1記載の操舵制御装置。
【請求項3】
前記所定旋回方向に関する前記あそび補償量は、前記あそび変位を前記領域のうちの前記所定旋回方向の端部に設定する値である請求項2記載の操舵制御装置。
【請求項4】
前記走行環境情報取得処理には、前記車両の進行方向前方の所定箇所における車線の旋回方向に関する情報を取得する処理が含まれ、
前記所定旋回方向は、前記車線の旋回方向である請求項1記載の操舵制御装置。
【請求項5】
前記走行環境情報取得処理は、前記車両の走行する車線の曲率半径に関する情報と、前記車両に近接する物体に関する情報と、を取得する処理が含まれ、
前記先読み補償処理は、前記曲率半径が閾値以上であって且つ前記近接する物体が存在する場合、前記近接する物体から遠ざかる旋回方向を前記所定旋回方向として実行される請求項1記載の操舵制御装置。
【請求項6】
前記先読み補償処理は、前記あそび補償量の大きさを徐々に変化させる徐変処理を含み、
前記徐変処理は、前記車両に対する前記近接する物体の相対速度に応じて前記あそび補償量の大きさの変化速度を変更する処理であって且つ、前記相対速度が大きい場合の前記変化速度の大きさを、前記相対速度が小さい場合の前記変化速度の大きさ以上とする処理であり、
前記相対速度は、前記車両と前記近接する物体との距離が縮小する速度が大きいほど大きい値となる請求項5記載の操舵制御装置。
【請求項7】
目標舵角変数取得処理、目標舵角補正処理、および舵角制御処理を実行するように構成され、
前記目標舵角変数取得処理は、目標舵角変数の値を取得する処理であり、
前記目標舵角変数は、前記転舵輪の転舵角を示す変数であり、
前記目標舵角補正処理は、前記所定旋回方向に関する前記あそび補償量に応じて前記目標舵角変数の値を補正する処理であり、
前記舵角制御処理は、前記ステアリング軸の回転角度に応じた操舵角を制御量として且つ、前記目標舵角変数の値を前記制御量の目標値とする制御によって前記モータを操作する処理であり、
前記先読み補償処理は、前記目標舵角補正処理、および前記舵角制御処理を含んで構成される請求項1記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操舵制御装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、操舵方向に応じて目標操舵角を補正する制御装置が記載されている。この装置では、操舵予定方向が右操舵方向の場合、目標操舵角を、右操舵方向の値であるあそび量だけ補正する。あそび量は、操舵角が変化しても転舵輪の転舵角が変化しない量の最大値である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近い将来に行われうる操舵は、必ずしも現在の操舵とは一致しない。そして、近い将来の操舵に迅速に応じるうえでは、上記装置では必ずしも十分とは言えないおそれがある。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.操舵装置を制御対象とする操舵制御装置であって、前記操舵装置は、ステアリング軸と、前記ステアリング軸の回転に伴って転舵する車両の転舵輪と、前記ステアリング軸を回転させるモータと、を備え、走行環境情報取得処理、および先読み補償処理を実行するように構成され、前記走行環境情報取得処理は、前記車両の走行環境に関する情報を取得する処理であり、前記先読み補償処理は、所定旋回方向に関するあそび補償量に応じて前記ステアリング軸を予め回転させておく処理であり、前記所定旋回方向は、前記走行環境に関する情報から前記車両が旋回する方向として適切な方向と判定される方向である操舵制御装置である。
【0006】
上記構成では、先読み補償処理を実行することから、車両が旋回する方向として適切な方向にステアリング軸を予め回転させておくことができる。そのため、実際に所定旋回方向への操舵がなされる際に転舵角を迅速に変更できる。
【0007】
2.あそび変位算出処理を実行するように構成され、前記あそび変位算出処理は、操舵角の都度の変化に応じてあそび変位を算出する処理であり、前記操舵角は、前記ステアリング軸の回転角度であり、前記あそび変位は、前記操舵角の変化に対して前記転舵輪の転舵角が変化しない領域における位置を特定する量であり、前記所定旋回方向に関する前記あそび補償量は、前記あそび変位を前記領域内に維持する値である上記1記載の操舵制御装置である。
【0008】
上記構成では、あそび変位を、操舵角の変化に対して転舵角が変化しない領域内の値に維持する値を、あそび補償量とする。これにより、先読み補償処理によって意図しない操舵がなされることを抑制できる。
【0009】
3.前記所定旋回方向に関する前記あそび補償量は、前記あそび変位を前記領域のうちの前記所定旋回方向の端部に設定する値である上記2記載の操舵制御装置である。
上記構成によれば、先読み補償処理によって、あそび変位を上記領域の端部の値とする。これにより、実際に所定旋回方向への操舵がなされた場合に転舵輪を迅速に転舵させることができる。
【0010】
4.前記走行環境情報取得処理には、前記車両の進行方向前方の所定箇所における車線の旋回方向に関する情報を取得する処理が含まれ、前記所定旋回方向は、前記車線の旋回方向である上記1~3のいずれか1つに記載の操舵制御装置である。
【0011】
進行方向前方において車線がカーブしている場合、カーブに従って車両を走行させるべく、所定旋回方向に操舵がなされると考えられる。そのため、上記構成によれば、先読み補償処理によって、車両がカーブに差し掛かった際に操舵に応じて迅速に転舵輪を転舵させることができる。
【0012】
5.前記走行環境情報取得処理は、前記車両の走行する車線の曲率半径に関する情報と、前記車両に近接する物体に関する情報と、を取得する処理が含まれ、前記先読み補償処理は、前記曲率半径が閾値以上であって且つ前記近接する物体が存在する場合、前記近接する物体から遠ざかる旋回方向を前記所定旋回方向として実行される上記1~4のいずれか1つに記載の操舵制御装置である。
【0013】
近接する物体が存在する場合、安全の観点からは、同近接する物体から遠ざかる操舵方向が適切な操舵方向と考えられる。そこで、上記構成では、近接する物体から遠ざかる旋回方向へとステアリング軸を予め回転させておくことにより、実際に近接する物体から遠ざかるように操舵がなされた際に、車両を迅速に旋回させることができる。
【0014】
6.前記先読み補償処理は、前記あそび補償量の大きさを徐々に変化させる徐変処理を含み、前記徐変処理は、前記車両に対する前記近接する物体の相対速度に応じて前記あそび補償量の大きさの変化速度を変更する処理であって且つ、前記相対速度が大きい場合の前記変化速度の大きさを、前記相対速度が小さい場合の前記変化速度の大きさ以上とする処理であり、前記相対速度は、前記車両と前記近接する物体との距離が縮小する速度が大きいほど大きい値となる上記5記載の操舵制御装置である。
【0015】
相対速度が大きい場合には小さい場合よりも近接する物体と自車両との距離が縮まるのにかかる時間が短くなる。そこで上記構成では、相対速度の大きさに応じて変化させる速度を上昇させる。これにより、相対速度の大きさによらずに、近接する物体との距離が縮まるまでに先読み補償処理を完了することが可能となる。
【0016】
7.目標舵角変数取得処理、目標舵角補正処理、および舵角制御処理を実行するように構成され、前記目標舵角変数取得処理は、目標舵角変数の値を取得する処理であり、前記目標舵角変数は、前記転舵輪の転舵角を示す変数であり、前記目標舵角補正処理は、前記所定旋回方向に関する前記あそび補償量に応じて前記目標舵角変数の値を補正する処理であり、前記舵角制御処理は、前記ステアリング軸の回転角度に応じた操舵角を制御量として且つ、前記目標舵角変数の値を前記制御量の目標値とする制御によって前記モータを操作する処理であり、前記先読み補償処理は、前記目標舵角補正処理、および前記舵角制御処理を含んで構成される上記1~6のいずれか1つに記載の操舵制御装置である。
【図面の簡単な説明】
【0017】
【
図1】第1の実施形態にかかる操舵システムの構成を示すブロック図である。
【
図2】同実施形態にかかる操舵角と転舵角との関係を示す図である。
【
図3】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図4】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図5】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図6】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図7】同実施形態にかかる先読み補償処理を実行する状況を例示する図である。
【
図8】同実施形態にかかる先読み補償処理を実行する状況を例示する図である。
【
図9】第2の実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【発明を実施するための形態】
【0018】
<第1の実施形態>
以下、第1の実施形態について図面を参照しつつ説明する。
「前提構成」
図1に示す操舵装置10は、ステアリングホイール12を備える。ステアリングホイール12には、ステアリング軸14が連結されている。ステアリング軸14のうちのステアリングホイール12とは逆側の端部は、ベベルギア部16の入力軸に連結されている。ベベルギア部16の出力軸は、動力伝達軸18を介して油圧パワーステアリング装置20の入力軸に連結されている。油圧パワーステアリング装置20のセクター軸は、ピットマンアーム22の一方の端部に連結されている。ピットマンアーム22のもう一方の端部は、ドラッグリンク24の一方の端部に連結されている。ドラッグリンク24のもう一方の端部は、ナックルアーム26の一方の端部に連結されている。ナックルアーム26のもう一方の端部は、右の転舵輪40(R)のキングピン軸28に連結されている。右の転舵輪40(R)のキングピン軸28と、左の転舵輪40(L)のキングピン軸28とは、タイロッドアーム30およびタイロッド32によって連結されている。
【0019】
モータ50の回転動力は、ステアリング軸14に伝達される。モータ50は、一例として、同期電動機である。モータ50の端子には、インバータ52の出力電圧が印加される。
【0020】
操舵制御装置60は、操舵装置10を制御対象とする。操舵制御装置60は、制御対象の制御のために、回転角センサ70によって検出されるモータ50の回転角度θmを参照する。また、操舵制御装置60は、モータ50の各端子を流れる電流iu,iv,iwを参照する。電流iu,iv,iwは、たとえばインバータ52の各レッグに設けられたシャント抵抗の電圧降下量として検出されてもよい。操舵制御装置60は、ネットワーク72を介して、車速センサ84によって検出される車速Vを参照する。
【0021】
操舵制御装置60は、ネットワーク72を介して上位ECU80と通信可能となっている。上位ECU80は、ステアリングホイール12の操作による操舵の指示とは独立に、車両の操舵に介入するための指令を生成する処理を実行する。換言すれば、上位ECU80は、自動操舵処理を実行する。上位ECU80は、自動操舵処理を実行するために、カメラ82によって撮影された車両の周囲の画像データを取得する。また、上位ECU80は、インターフェース86を介して運転者によって入力された自動操舵処理の実行の可否の意思表示等を把握する。
【0022】
操舵制御装置60は、PU62および記憶装置64を備えている。PU62は、CPU、GPU、およびTPU等のソフトウェア処理装置である。記憶装置64は、電気的に書き換え不可能な不揮発性メモリであってもよい。また記憶装置64は、電気的に書き換え可能な不揮発性メモリ、およびディスク媒体等の記憶媒体であってもよい。操舵制御装置60は、記憶装置64に記憶されたプログラムをPU62が実行することによって、制御対象を制御する処理を実行する。
【0023】
「操舵装置10の特性」
上述の操舵装置10は、複雑なリンク機構を有することに起因して、ステアリング軸14の回転に対して転舵輪40が回転しないいわゆるあそびが大きい。
【0024】
図2に、操舵角θhと転舵角θtとの関係を示す。ここで、操舵角θhは、ステアリング軸14の回転角度である。一方、転舵角θtは、転舵輪40に関するタイヤの切れ角である。また、
図2に記載の中立位置Oは、操舵角θhおよび転舵角θtの双方がゼロである点である。これは、操舵角θhおよび転舵角θtの双方ともに直進方向を示すことを意味する。なお、以下では、右旋回方向の回転角を正として且つ、左旋回方向の回転角を負とする。
【0025】
図2に示すように、中立位置Oから操舵角θhを右旋回方向に変化させても点Aに到達するまでは、転舵角θtは変化しない。そして、操舵角θhが点Aよりさらに大きい値となると、転舵角θtが増加する。
【0026】
また、点Bにおいて操舵角θhを減少させても、転舵角θtは変化しない。換言すれば、点Bにおいて操舵方向を左側に切り替えても、転舵角θtは変化しない。なお、操舵方向とは、ステアリング軸14の回転速度が示す方向である。そして操舵角θhが点Cを超えてさらに小さい値となると、転舵角θtが減少する。換言すれば、操舵角θhが負の値であって、その絶対値を点Cを超えてさらに大きくすると、転舵角θtが減少する。
【0027】
そして、転舵角θtがゼロとなる点Dにおいて、操舵角θhは負の値となる。
点Eは、転舵角θtがゼロとなった後にも操舵角θhを左操舵方向にさらに変位させることによって得られた値である。操舵角θhを点Eにおいて増加させても、操舵角θhが点Fに到達するまでは転舵角θtは変化しない。操舵角θhが点Fを超えてさらに大きくなると、転舵角θtが増加する。
【0028】
このように、たとえば点Bに位置する場合、点Bと点Cとの間で操舵角θhが変化しても、転舵角θtは変化しない。またたとえば、点Eに位置する場合、点Eと点Fとの間で操舵角θhが変化しても、転舵角θtは変化しない。このように、操舵装置10のあそびに起因して、操舵角θhの変化に対して転舵角θtが変化しない領域が存在する。ただし、この領域は、操舵角θhの固定した値を有する領域ではなく、操舵角θhの変化の履歴によって変わり得る領域である。
【0029】
点Bから点Cへの操舵角θhの変位は、右旋回からの切り戻しにおいて生じる。また、点Eから点Fへの操舵角θhの変位は、左旋回からの切り戻しにおいて生じる。これらの切り戻し時における操舵角θhの変化に対して転舵角θtが変化しない領域の長さを、
図2には、「α」と記載している。「α」は、記憶装置64に予め記憶されている。「α」は、たとえば、固定値であってもよい。またたとえば、「α」は、都度更新される値であってもよい。「α」の更新処理は、たとえば以下のようにして実行できる。
【0030】
1.PU62は、車両の停止時に、モータ50の回転角を制御してステアリング軸14を回転させる。
2.PU62は、モータ50の回転に対してモータ50に流れる電流が閾値を超える直前におけるモータ50の回転角によって、上記領域の端部を特定する。
【0031】
PU62は、上記「1」および「2」のモータ50の回転角の制御を、右回転および左回転の双方に行うことによって、「α」を推定する。PU62は、推定した「α」によって、記憶装置64に記憶した「α」を更新する。PU62は、たとえば、推定した「α」を、記憶装置64に記憶してもよい。またたとえば、PU52は、推定した「α」と、記憶装置64に記憶されていた「α」との加重平均処理値を、記憶装置64に新たに記憶してもよい。
【0032】
「あそび補償量の設定」
上記領域は、操舵角θhの変化に対する転舵角θtの変化の応答性を低下させる要因となる。そのため、本実施形態では、あそび補償量によって応答性の低下の抑制を図る。
【0033】
図3に、あそび補償量の設定に関する処理の手順を示す。
図3に示す処理は、記憶装置64に記憶されたプログラムをPU62がたとえば所定周期で繰り返し実行することによって実現される。なお、以下では、先頭に「S」が付与された数字によって各処理のステップ番号を表現する。
【0034】
図3に示す一連の処理において、PU62は、操舵角θhを取得する(S10)。操舵角θhは、PU62によって回転角度θmの積算処理によって算出される。次にPU62は、あそび変位を算出するための変数Xを以下の式にて算出する(S12)。
【0035】
X←Δα(n-1)+(θh-θh(n-1))
上記の式において、「n-1」は、
図3に示す一連の処理の実行タイミングの前回の実行タイミングにおける値であることを意味する。すなわち、「Δα(n-1)」は、
図3に示す一連の処理の前回の実行タイミングにおけるあそび変位Δαであることを意味する。また、「θh(n-1)」は、
図3に示す一連の処理の前回の実行タイミングにおけるS10の処理において取得された値であることを意味する。
【0036】
図2に、あそび変位Δαを例示する。
図2には、中立位置Oから操舵角θhを右にあそび変位Δαだけ切ったことにより、操舵角θhが点Pの位置に達した状態を示している。
図3に戻り、PU62は、変数Xの値が「-α/2」以上であって且つ「α/2」以下であるか否かを判定する(S14)。PU62は、S14の処理において肯定判定する場合、あそび変位Δαに、変数Xの値を代入する(S16)。
【0037】
一方、PU62は、S14の処理において否定判定する場合、変数Xの値が「α/2」よりも大きいか否かを判定する(S18)。PU62は、変数Xの値が「α/2」よりも大きいと判定する場合(S18:YES)、あそび変位Δαに、「α/2」を代入する(S20)。この処理は、たとえば
図2において点Aを超えて操舵角θhが大きく右に切られた状況に対応する。その場合、あそび変位Δαは、操舵角θhの変化に対して転舵角θtが変化しない領域のうちの右操舵方向の端部に位置する。領域の長さが「α」であり、領域の中央を「0」と定義すると、上記領域のうちの右操舵方向の端部のあそび変位Δαは、「α/2」となる。
【0038】
一方、PU62は、S18の処理において否定判定する場合、あそび変位Δαに、「-α/2」を代入する(S22)。
PU62は、S16,S20,S22の処理を完了する場合、自動操舵モードに切り替わったか否かを判定する(S24)。自動操舵モードは、上述の自動操舵処理を実行するモードである。自動操舵モードにおいては、上位ECU80が操舵制御装置60に目標角θt*を出力する。目標角θt*は、転舵輪40の転舵角の目標値を示す変数である。ただし、目標角θt*の変化量は、
図2に示した点Fおよび点B間、または点Cおよび点E間において、操舵角θhの変化量と等しくなるように定量化されている。
【0039】
PU62は、切り替わったと判定する場合(S24:YES)、右あそび補償量αRおよび左あそび補償量αLを設定する(S26)。すなわち、PU62は、右あそび補償量αRに、「α/2-Δα」を代入する。また、PU62は、左あそび補償量αLに、「-α/2-Δα」を代入する。
【0040】
自動操舵モードに切り替わった時点で、たとえば、あそび変位Δαが
図2に示した点Pに位置する場合、目標角θt*の変化が右操舵方向であっても、操舵角θhが「α/2-Δα」だけ変化するまでは、転舵角は変化しない。そのため、目標角θt*の変化に対する転舵角の応答性を高める上では、目標角θt*の右操舵方向への変化に伴って、目標角θt*を開ループ制御によって、「α/2-Δα」だけ補正することが望ましい。そのため、PU62は、右あそび補償量αRに「α/2-Δα」を代入する。また、あそび変位Δαが点Pに位置する場合、目標角θt*が左操舵方向に変化しても、操舵角θhが「-α/2-Δα」だけ変化するまでは、転舵角は変化しない。そのため、目標角θt*の変化に対する転舵角の応答性を高める上では、目標角θt*の左操舵方向への変化に伴って、目標角θt*を開ループ制御によって、「-α/2-Δα」だけ補正することが望ましい。そのため、PU62は、左あそび補償量αLに「-α/2-Δα」を代入する。
【0041】
PU62は、S26の処理を完了する場合と、S24の処理において否定判定する場合と、には、
図3に示した一連の処理を一旦終了する。
「自動操舵モードにおける転舵角の制御」
図4に、転舵角の制御に関する処理の手順を示す。
図4に示す処理は、自動操舵モードにおいて、記憶装置64に記憶されたプログラムをPU62がたとえば所定周期で繰り返し実行することによって実現される。
【0042】
図4に示す一連の処理において、PU62は、まず上位ECU80が出力する目標角θt*を取得する(S30)。目標角θt*は、転舵輪40の転舵角の目標値である。次に、PU62は、目標角θt*の変化が正であるか否かを判定する(S32)。換言すれば、PU62は、目標角θt*の変化方向が、右操舵方向であるか否かを判定する。目標角θt*の変化方向が右操舵方向であることは、上位ECU80が目標角θt*を通じて右操舵を指示していることを意味する。
図4には、
図4にかかる一連の処理の1つ前の実行タイミングにおけるS30の処理によって取得した目標角θt*を、「θt*(n-1)」と記載している。
【0043】
PU62は、目標角θt*の変化が正であると判定する場合(S32:YES)、あそび補償量Δ0に、右あそび補償量αRを代入する(S34)。
一方、PU62は、S32の処理において否定判定する場合、目標角θt*の変化が負であるか否かを判定する(S36)。換言すれば、PU62は、目標角θt*の変化方向が、左操舵方向であるか否かを判定する。PU62は、目標角θt*の変化が負であると判定する場合(S36:YES)、あそび補償量Δ0に、左あそび補償量αLを代入する(S38)。
【0044】
PU62は、S36の処理において否定判定する場合、後述するフラグF1がゼロであることと、後述するフラグF2がゼロであることとの論理積が真であるか否かを判定する(S40)。PU62は、上記論理積が真であると判定する場合(S40:YES)、あそび補償量Δ0に「0」を代入する(S42)。
【0045】
PU62は、S34,S38,S42の処理を完了する場合と、S40の処理において否定判定する場合と、には、あそび補償量Δ0の変化速度の大きさを小さい側に制限するガード処理を施す(S44)。ガード処理後の値が、あそび補償量Δである。
図4に示す一連の処理の前回の実行タイミングにおけるあそび補償量Δを、「Δ(n-1)」とすると、S44の処理の出力は、以下となる。
【0046】
(Δ0/|Δ0|)・MIN(Δth |Δ0-Δ(n-1)|)+Δ(n-1)
ここで、上限値Δthは、
図4に示す処理の実行周期当たりのあそび補償量Δの変化量の大きさの最大値を規定する。
【0047】
次にPU62は、目標角θt*にあそび補償量Δを加算した値を、目標角θt*に代入する(S46)。次にPU62は、操舵角θhを取得する(S48)。そして、PU62は、操舵角θhを制御量として且つ、目標角θt*を制御量の目標値とするフィードバック制御の操作量を算出する(S50)。操作量は、モータ50のトルクであってもよい。次にPU62は、操作量に応じてモータ50を制御すべく、インバータ52に操作信号MSを出力する(S52)。これにより、たとえば操作量がモータ50のトルクの場合、モータ50のトルクが操作量となるように、インバータ52の出力電圧が操作される。この処理は、たとえば電流iu,iv,iwを入力として実行されてもよい。
【0048】
なお、PU62は、S52の処理を完了する場合、
図4に示す一連の処理を一旦終了する。ちなみに、S30~S42の処理を実行する周期内に、S44~S52の処理を複数回実行するようにしてもよい。その場合、S44の処理の前回の実行タイミングにおけるあそび補償量Δを、「Δ(n-1)」とする。これにより、目標角θt*が変化しなくなる前にあそび補償量Δをあそび補償量Δ0に収束させる確実性を高めることができる。
【0049】
「先読み補償処理」
上記S34,S38の処理は、操舵方向に応じてあそび補償量Δ0を設定する処理である。本実施形態では、上記S34,S38の処理に加えて、車両の走行情報に応じて予めあそび補償量Δ0を右あそび補償量αRまたは左あそび補償量αLとしておく先読み補償処理を実行する。
【0050】
図5に、先読み補償補償に関する処理の手順を示す。
図5に示す処理は、記憶装置64に記憶されたプログラムをPU62がたとえば所定周期で繰り返し実行することによって実現される。
【0051】
図5に示す一連の処理において、PU62は、まず、上位ECU80との通信によって、車両の走行環境情報を取得する(S60)。走行環境情報には、車両の走行する車線の曲率に関する情報が含まれる。曲率に関する情報は、たとえば、上位ECU80によって、カメラ82がとらえた画像を解析することによって生成される。また、走行環境情報には、車両が走行する車線に隣接する車線を走行する車両に関する情報が含まれる。隣接する車線を走行する車両に関する情報は、たとえば、上位ECU80によって、カメラ82がとらえた画像を解析することによって生成される。
【0052】
次に、PU62は、フラグF1が「1」であるか否かを判定する(S62)。フラグF1は、近接する車両の存在に応じてあそび補償量Δ0を設定する処理が実行されている場合に、「1」となる。フラグF1は、近接する車両の存在に応じてあそび補償量Δ0を設定する処理が実行されていない場合に、「0」となる。
【0053】
PU62は、フラグF1が「0」であると判定する場合(S62:NO)、下記の条件(A)および条件(B)の論理積が真であるか否かを判定する(S64)。
条件(A):走行している車線の曲率半径Rが閾値Rth以上である旨の条件である。閾値Rthは、車線が直進経路であるとみなせる下限値に応じて設定されている。
【0054】
条件(B):隣接する車線において、自車両から所定距離内に車両が走行している旨の条件である。
PU62は、条件(A)および条件(B)の論理積が真であると判定する場合(S64:YES)、フラグF1に「1」を代入する(S66)。そして、PU62は、以下の条件(C)および条件(D)の論理積が真であるか否かを判定する(S68)。
【0055】
条件(C):近接する車両が、自車両が走行する車線の右側の車線を走行している旨の条件である。
条件(D):あそび変位Δαが、「-α/2」よりも大きくて且つ「α/2」よりも小さい旨の条件である。この条件は、操舵角θhを変化させても転舵角θtが直ちには変位しない状況である旨の条件である。
【0056】
PU62は、条件(C)および条件(D)の論理積が真であると判定する場合(S68:YES)、あそび補償量Δ0に左あそび補償量αLを代入する(S70)。
一方、PU62は、条件(C)および条件(D)の論理積が偽であると判定する場合(S68:NO)、以下の条件(E)および条件(C)の論理積が真であるか否かを判定する(S72)。
【0057】
条件(E):近接する車両が、自車両が走行する車線の左側の車線を走行している旨の条件である。
PU62は、条件(E)および条件(C)の論理積が真であると判定する場合(S72:YES)、あそび補償量Δ0に左あそび補償量αLを代入する(S74)。
【0058】
一方、PU62は、条件(E)および条件(C)の論理積が偽であると判定する場合(S72:NO)、あそび補償量Δ0に「Δ(n-1)」を代入する(S76)。
一方、PU62は、フラグF1が「1」であると判定する場合(S62:YES)、下記の条件(F)および条件(G)の論理和が真であるか否かを判定する(S78)。
【0059】
条件(F):走行している車線の曲率半径Rが閾値Rth未満である旨の条件である。
条件(G):自車両が走行している車線に隣接する車線において自車両から所定距離内に車両が存在しない旨の条件である。
【0060】
PU62は、条件(F)および条件(G)の論理和が偽であると判定する場合(S78:NO)、S68の処理に移行する。一方、PU62は、条件(F)および条件(G)の論理和が真であると判定する場合(S78:YES)、フラグF1に「0」を代入する(S80)。
【0061】
なお、PU62は、S70,S74,S76,S80の処理を完了する場合と、S64の処理において否定判定する場合と、には、
図5に示す一連の処理を一旦終了する。
図6に、先読み補償補償に関する別の処理の手順を示す。
図6に示す処理は、記憶装置64に記憶されたプログラムをPU62がたとえば所定周期で繰り返し実行することによって実現される。
【0062】
図6に示す一連の処理において、PU62は、まず、上位ECU80との通信によって、車両の走行環境情報を取得する(S90)。走行環境情報には、車両の走行する車線の曲率に関する情報が含まれる。曲率に関する情報は、たとえば、上位ECU80によって、カメラ82がとらえた画像を解析することによって生成される。次にPU62は、車速Vを取得する(S92)。
【0063】
次に、PU62は、フラグF2が「1」であるか否かを判定する(S94)。フラグF2は、車線のカーブに応じてあそび補償量Δ0を設定する処理が実行されている場合に、「1」となる。フラグF2は、車線のカーブに応じてあそび補償量Δ0を設定する処理が実行されていない場合に、「0」となる。
【0064】
PU62は、フラグF2が「0」であると判定する場合(S94:NO)、t秒後の曲率半径R(t)が閾値Rth未満であるか否かを判定する(S96)。t秒後の曲率半径R(t)は、S92において取得した曲率半径R(t)の情報と、車速Vに応じて算出されるt秒後の車両の到達位置とに応じてPU62によって算出される。PU62は、t秒後の曲率半径R(t)が閾値Rth未満であると判定する場合(S96:YES)、フラグF2に「1」を代入する(S98)。次にPU62は、下記の条件(H)および上記条件(D)の論理積が真であるか否かを判定する(S100)。
【0065】
条件(H):t秒後の車線が右旋回のカーブである旨の条件である。
PU62は、条件(H)および条件(D)の論理積が真であると判定する場合(S100:YES)、あそび補償量Δ0に、右あそび補償量αRを代入する(S102)。
【0066】
一方、PU62は、条件(H)および条件(D)の論理積が偽であると判定する場合(S100:NO)、下記の条件(I)および条件(D)の論理積が真であるか否かを判定する(S104)。
【0067】
条件(I):t秒後の車線が左旋回のカーブである旨の条件である。
PU62は、条件(I)および条件(D)の論理積が真であると判定する場合(S104:YES)、あそび補償量Δ0に、左あそび補償量αLを代入する(S106)。
【0068】
一方、PU62は、条件(I)および条件(D)の論理積が偽であると判定する場合(S104:NO)、あそび補償量Δ0に「0」を代入する(S108)。なお、この処理は、S76の処理と等価である。
【0069】
一方、PU62は、フラグF2が「1」であると判定する場合(S94:YES)、t秒後の曲率半径R(t)が閾値Rth以上であるか否かを判定する(S110)。PU652は、t秒後の曲率半径R(t)が閾値Rth未満であると判定する場合(S110:NO)、S100の処理に移行する。一方、PU62は、t秒後の曲率半径R(t)が閾値Rth以上であると判定する場合(S110:YES)、フラグF2に「0」を代入する(S112)。
【0070】
なお、PU62は、S102,S106,S108,S112の処理を完了する場合と、S96の処理において否定判定する場合と、には、
図6に示す一連の処理を一旦終了する。
【0071】
「本実施形態の作用および効果」
図7に、自車両VCが走行する車線L1に隣接する右側の車線L2を車両VCnが走行している場合を示す。PU62は、自車両VCと車両VCnとの距離が所定距離内である場合、目標角θt*が変化しなくて且つ、あそび変位Δαが、「-α/2」よりも大きくて且つ「α/2」よりも小さいか否かを判定する。PU62は、目標角θt*が変化しなくて且つ、あそび変位Δαが、「-α/2」よりも大きくて且つ「α/2」よりも小さい場合、あそび補償量Δ0に左あそび補償量αLを代入する、先読み補償処理を実行する。
【0072】
すなわち、先読み補償処理の前には、操舵角θhを変化させても直ちには転舵角θtが変化しない状況にある。一方、右側の車線に車両VCnが走行していることから、車両VCnの挙動によっては、自車両VCは左方向への迅速な操舵が望まれる可能性がある。そこで、PU62は、あそび補償量Δ0に左あそび補償量αLを代入する。これにより、車両VCnの挙動に応じて自車両VCを迅速に左側に寄せることができる。
【0073】
図8に、自車両VCが走行している車線のt秒後の到達位置が右側にカーブしている場合を示す。PU62は、目標角θt*が変化しなくて且つ、あそび変位Δαが、「-α/2」よりも大きくて且つ「α/2」よりも小さいか否かを判定する。PU62は、目標角θt*が変化しなくて且つ、あそび変位Δαが、「-α/2」よりも大きくて且つ「α/2」よりも小さい場合、あそび補償量Δ0に右あそび補償量αRを代入する、先読み補償処理を実行する。
【0074】
すなわち、先読み補償処理の前には、操舵角θhを変化させても直ちには転舵角θtが変化しない状況にある。一方、t秒後の到達位置が右側にカーブしていることから、t秒後には、自車両VCは右方向への迅速な操舵が望まれる可能性がある。そこで、PU62は、あそび補償量Δ0に右あそび補償量αRを代入する。これにより、自車両VCを迅速に右側に旋回させる準備が整う。
【0075】
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
【0076】
本実施形態では、先読み補償によるあそび補償量Δの変化速度を状況に応じて変更する。
図9に、本実施形態にかかる先読み補償に関する処理の手順を示す。
図9に示す処理は、記憶装置64に記憶されたプログラムをPU62がたとえば所定周期で繰り返し実行することによって実現される。なお、
図9において、
図5に示した処理に対応する処理については、便宜上、同一のステップ番号を付与する。
【0077】
図9に示す一連の処理において、PU62は、S60の処理に加えて、車速Vを取得する(S120)。一方、PU62は、S66の処理を完了する場合と、S78の処理において否定判定する場合と、には、上限値Δthを、自車両に対する近接車両の相対車速Vrに応じて設定する(S122)。相対車速Vrは、S50の処理によって取得された走行環境情報に含まれる近接車両の車速に関する情報と、車速Vとに応じてPU62によって算出される。相対車速Vrは、近接車両が自車両に近付く場合に正と定義する。PU62は、相対車速Vrが大きい場合の上限値Δthを、相対車速Vrが小さい場合の上限値Δth以上となるように、上限値Δthを設定する。この処理は、記憶装置64にマップデータが記憶された状態でPU62によって、上限値Δthをマップ演算する処理とすればよい。ここで、マップデータは、相対車速Vrを入力変数として且つ、上限値Δthを出力変数とするデータである。
【0078】
なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とする処理とすればよい。また、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれにも一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。また、これに代えて、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれにも一致しない場合、マップデータに含まれる複数の入力変数の値のうちの最も近い値に対応するマップデータの出力変数の値を演算結果とする処理としてもよい。
【0079】
なお、上記マップデータの出力変数には、互いに異なる値となるものが含まれる。
S122の処理は、相対車速Vrが大きい場合にあそび補償量Δの変化速度を大きくするための処理である。これにより、近接する車両が自車両の側方に到達するまでに、あそび補償量Δの変化を完了させることが可能となる。
【0080】
なお、PU62は、S122の処理を完了する場合、S68の処理に移行する。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1]走行環境情報取得処理は、S60,S90の処理に対応する。先読み補償処理は、S70,S74,S102,S106の処理に対応する。所定旋回方向は、
図5および
図9の処理においては、近接車両から離れる旋回方向に対応する。所定旋回方向は、
図6の処理においては、進行方向前方の車線の旋回方向に対応する。[2,3]あそび変位算出処理は、S12~S22の処理に対応する。[4]
図6の処理に対応する。[5]
図5の処理に対応する。物体は、近接する車両VCnに対応する。[6]徐変処理は、S44,S122の処理に対応する。[7]目標舵角変数取得処理は、S30の処理に対応する。目標舵角補正処理は、S46の処理に対応する。舵角制御処理は、S50,S52の処理に対応する。
【0081】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0082】
「先読み補償処理について」
・
図5および
図9に示したS68の処理において、条件(D)を削除してもよい。
・
図5および
図9に示したS72の処理において、条件(D)を削除してもよい。
【0083】
・
図5および
図9に示したS70の処理において、あそび補償量Δ0を、右あそび補償量αRとすることは必須ではない。たとえば、前回のあそび補償量Δ(n-1)に所定量を加算した値と、右あそび補償量αRとのうちの小さい方を、あそび補償量Δ0に代入する処理としてもよい。
【0084】
・
図5および
図9に示したS74の処理において、あそび補償量Δ0を、左あそび補償量αLとすることは必須ではない。たとえば、前回のあそび補償量Δ(n-1)から所定量を減算した値と、左あそび補償量αLとのうちの大きい方を、あそび補償量Δ0に代入する処理としてもよい。
【0085】
・
図6に示したS100の処理において、条件(D)を削除してもよい。
・
図6に示したS104の処理において、条件(D)を削除してもよい。
・
図6に示したS102の処理において、あそび補償量Δ0を、右あそび補償量αRとすることは必須ではない。たとえば、前回のあそび補償量Δ(n-1)に所定量を加算した値と、右あそび補償量αRとのうちの小さい方を、あそび補償量Δ0に代入する処理としてもよい。
【0086】
・
図6に示したS106の処理において、あそび補償量Δ0を、左あそび補償量αLとすることは必須ではない。たとえば、前回のあそび補償量Δ(n-1)から所定量を減算した値と、左あそび補償量αLとのうちの大きい方を、あそび補償量Δ0に代入する処理としてもよい。
【0087】
・先読み補償処理が、
図5または
図9に例示した処理と、
図6に例示した処理との双方を含むことは必須ではない。たとえば、
図6に例示した処理を実行しつつも、
図5または
図9に例示した処理を実行しなくてもよい。
【0088】
・
図5または
図9に例示した処理において、近接する車両を、近接する物体に読み替えてもよい。
・先読み補償処理の入力となる車両の走行環境に関する情報としては、上記実施形態において例示した情報に限らない。たとえば、車両が走行する車線の側方が崖である旨の情報であってもよい。その場合、崖から離れる操舵方向を所定旋回方向として、予め所定旋回方向に応じたあそび補償量だけステアリング軸14を回転させてもよい。
【0089】
・先読み補償処理としては、自動操舵処理の実行中に実行される処理に限らない。たとえば、運転者がステアリングホイール12を操作しているときに実行してもよい。その場合、たとえば条件(D)を満たす状況に限って先読み補償処理を実行するなら、運転者が違和感を抱くことを抑制できる。
【0090】
「徐変処理について」
・たとえば、目標角θt*が変化しなくなった時点で、あそび補償量Δがあそび補償量Δ0に到達していない場合、あそび補償量Δがあそび補償量Δ0に到達するまではあそび補償量Δを変化させてもよい。これは、たとえば、目標角θt*が右操舵方向に変化している状態から変化しなくなった状態に移行した場合に、あそび補償量Δを右あそび補償量αRまで変化させることを意味する。
【0091】
・
図6の処理において、S98とS100との間に上限値Δthを設定する処理を実行してもよい。ただし、その場合、PU62は、車速Vに応じて上限値Δthを変更する。詳しくは、PU62は、車速Vが大きい場合の上限値Δthを、車速Vが小さい場合の上限値Δth以上となるように、上限値Δthを設定する。
【0092】
・徐変処理を実行することは必須ではない。すなわち、あそび補償量Δをあそび補償量Δ0に常時一致させてもよい。
「自動操舵モードについて」
・上記実施形態では、運転者によるステアリングホイール12の操作がなされない状態において、上位ECU80が操舵を実行する処理を想定した。しかし、自動操舵モードにおいて実行される自動操舵処理は、こうした処理に限らない。たとえば、運転者がステアリングホイール12を操作しているときに、車両が車線を逸脱しそうになる場合に、上位ECU80が操舵に介入する処理であってもよい。またたとえば、運転者がステアリングホイール12を操作しているときに、車両が障害物に接触しそうになる場合に、上位ECU80が操舵に介入する処理であってもよい。
【0093】
「舵角制御処理について」
・舵角制御処理が、操舵角θhを制御量として且つ目標角θt*を制御量の目標値とするフィードバック制御の操作量を算出する処理を含むことは必須ではない。たとえば、操舵角θhを制御量として且つ目標角θt*を制御量の目標値とする開ループ制御の操作量を算出する処理を含んでもよい。またたとえば、フィードバック制御の操作量と開ループ制御の操作量との双方を算出する処理を含んでもよい。
【0094】
「操舵制御装置について」
・操舵制御装置としては、上位ECU80が設定した目標角θt*を取得する装置に限らない。たとえば、操舵制御装置60と上位ECU80とを一体化した装置としてもよい。
【0095】
・操舵制御装置60としては、PU62と記憶装置64とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、操舵制御装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、1または複数のソフトウェア処理回路および1または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【符号の説明】
【0096】
10…操舵装置
12…ステアリングホイール
14…ステアリング軸
16…ベベルギア部
18…動力伝達軸
20…油圧パワーステアリング装置
22…ピットマンアーム
24…ドラッグリンク
26…ナックルアーム
28…キングピン軸
30…タイロッドアーム
32…タイロッド
40…転舵輪
50…モータ
52…インバータ
60…操舵制御装置
80…上位ECU