(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172162
(43)【公開日】2024-12-12
(54)【発明の名称】操舵制御装置
(51)【国際特許分類】
B62D 6/00 20060101AFI20241205BHJP
B62D 101/00 20060101ALN20241205BHJP
B62D 113/00 20060101ALN20241205BHJP
B62D 119/00 20060101ALN20241205BHJP
【FI】
B62D6/00
B62D101:00
B62D113:00
B62D119:00
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023089706
(22)【出願日】2023-05-31
(71)【出願人】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】細野 寛
(72)【発明者】
【氏名】玉泉 晴天
(72)【発明者】
【氏名】位田 祐基
(72)【発明者】
【氏名】高橋 紗希
【テーマコード(参考)】
3D232
【Fターム(参考)】
3D232CC03
3D232CC05
3D232CC20
3D232CC33
3D232CC37
3D232DA03
3D232DA04
3D232DA09
3D232DA15
3D232DA24
3D232DA46
3D232DA63
3D232DA64
3D232DA84
3D232DC03
3D232DC08
3D232DC12
3D232DC18
3D232DD01
3D232DD03
3D232DD05
3D232DD17
3D232EB04
3D232EB12
3D232EC23
3D232EC29
3D232EC37
3D232GG01
(57)【要約】
【課題】走行モードの種類によらず、操舵系を安定化させる上で適切な位相補償ができるようにした操舵制御装置を提供する。
【解決手段】位相遅れ補償処理M60は、操舵トルクThを入力として位相遅れ補償をした操舵トルクThrを出力する。基本アシスト量設定処理M66は、操舵トルクThrを入力として基本アシスト量Tabを設定する。基本アシスト量Tabに応じたアシスト量Taから軸力を減算した値によって反力モータのトルクが制御される。位相遅れ補償処理M60は、フィルタ係数設定処理M64を備える。フィルタ係数設定処理M64は、走行モードに応じてフィルタ係数α,T1,T2を設定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ステアリング軸に操舵反力を付与する反力モータと、転舵輪を転舵させる転舵モータとを備える操舵系を制御対象とし、
反力設定処理、位相補償処理、および反力付与処理を実行するように構成され、
前記反力設定処理は、前記位相補償処理を利用して前記操舵反力を設定する処理であり、
前記反力付与処理は、前記反力設定処理によって設定された反力となるように前記反力モータを操作する処理であり、
前記位相補償処理は、車両の走行モードが異なる場合に異なる仕方で前記操舵反力の位相補償をする処理である操舵制御装置。
【請求項2】
前記位相補償の仕方が異なる前記走行モードには、異常がある旨の診断がなされているモードと、正常時のモードとが含まれる請求項1記載の操舵制御装置。
【請求項3】
前記位相補償処理は、位相補償規定変数の値に応じて前記操舵反力の位相補償をする処理であって且つ、変数変更処理を含み、
前記位相補償規定変数は、前記位相補償の仕方を定める変数であり、
前記変数変更処理は、車速に応じて前記位相補償規定変数の値を変更する処理を含み、
前記異常がある旨の診断がなされるモードは、車速の検出値に異常がある旨の診断がなされているモードを含み、
前記位相補償処理は、前記車速の検出値に異常がある旨の診断がなされているモードにおいて、前記位相補償規定変数の値を前記異常用の値として前記位相補償を実行する処理を含む請求項2記載の操舵制御装置。
【請求項4】
前記位相補償の仕方が異なる前記走行モードには、介入モードと非介入モードとが含まれ、
前記介入モードは、車両と前記車両の外部との関係情報に応じて前記転舵輪の転舵に制御が介入するモードであり、
前記非介入モードは、前記介入を行わないモードであり、
前記位相補償処理は、位相補償規定変数の値に応じて前記操舵反力の位相補償をする処理であり、
前記位相補償規定変数は、前記位相補償の仕方を定める変数であり、
前記位相補償処理は、前記介入モードと前記非介入モードとで互いに異なる前記位相補償規定変数の値に応じて前記位相補償を実行する処理を含む請求項1記載の操舵制御装置。
【請求項5】
前記反力設定処理は、アシスト量設定処理と、軸力設定処理と、を含み、
前記軸力設定処理は、運転者による前記ステアリング軸の回転操作に抗する力である軸力を設定する処理であり、
前記アシスト量設定処理は、操舵トルクの検出値に応じてアシスト量を設定する処理であり、
前記アシスト量は、運転者が前記ステアリング軸を回転させるのをアシストする量であり、
前記操舵反力は、前記アシスト量を前記軸力から減算した値に応じて定まる量であり、
前記位相補償処理は、位相遅れ補償処理を含み、
前記位相遅れ補償処理は、遅れ規定変数に従って、前記アシスト量の設定に用いる前記検出値の位相を遅らせる処理であり、
前記遅れ規定変数は、前記位相遅れ補償処理を規定する変数であって且つ、前記走行モードが異なる場合に異なる値となる請求項1記載の操舵制御装置。
【請求項6】
前記反力設定処理は、アシスト量設定処理と、軸力設定処理と、を含み、
前記軸力設定処理は、運転者による前記ステアリング軸の回転操作に抗する力である軸力を設定する処理であり、
前記アシスト量設定処理は、アシスト量を設定する処理であって且つ、前記位相補償処理および基本アシスト量設定処理を含み、
前記アシスト量は、運転者が前記ステアリング軸を回転させるのをアシストする量であり、
前記基本アシスト量設定処理は、前記ステアリング軸に入力される操舵トルクの検出値に応じて基本アシスト量を設定する処理であり、
前記位相補償処理は、位相進み補償処理を含み、
前記位相進み補償処理は、前記検出値を入力として前記アシスト量設定処理が前記基本アシスト量から前記アシスト量を設定するための前記基本アシスト量の進み補正量を、進み規定変数に従って算出する処理であり、
前記操舵反力は、前記アシスト量を前記軸力から減算した値に応じて定まる量であり、
前記位相進み規定変数は、前記位相進み補償処理を規定する変数であって且つ、前記走行モードが異なる場合に異なる値となる請求項1記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操舵制御装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、電動パワーステアリング装置を制御対象とする制御装置が記載されている。この制御装置は、アシスト力を生成するモータのトルクを位相補償処理を利用しつつ設定する。これは、操舵系の安定化等を狙った設定である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両の走行モードによって操舵系を安定化させるために適切な位相補償の仕方が異なり得る。特に、ステアリング軸と転舵輪との動力伝達が遮断された状態の操舵系の場合、ステアリングが転舵輪側からの抵抗を受けないことから、系が不安定化しやすい。そのため、系の安定性が走行モードに敏感に影響されやすい。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.ステアリング軸に操舵反力を付与する反力モータと、転舵輪を転舵させる転舵モータとを備える操舵系を制御対象とし、反力設定処理、位相補償処理、および反力付与処理を実行するように構成され、前記反力設定処理は、前記位相補償処理を利用して前記操舵反力を設定する処理であり、前記反力付与処理は、前記反力設定処理によって設定された反力となるように前記反力モータを操作する処理であり、前記位相補償処理は、車両の走行モードが異なる場合に異なる仕方で前記操舵反力の位相補償をする処理である操舵制御装置。
【0006】
上記構成では、走行モードが異なる場合に異なる仕方で位相補償をすることにより、走行モードの種類によらず、操舵系を安定化させる上で適切な位相補償をすることができる。
【0007】
2.前記位相補償の仕方が異なる前記走行モードには、異常がある旨の診断がなされているモードと、正常時のモードとが含まれる上記1記載の操舵制御装置。
異常がある旨診断されているモードと正常時のモードとでは、操舵系を含めた車両の制御が異なる傾向がある。そのため、操舵系を安定させるうえで適切な位相補償の仕方が異常の有無に応じて異なるおそれがある。そこで上記構成では、異常がある旨の診断がなされているモードと正常時のモードとで位相補償の仕方を変更する。これにより、異常がある旨の診断の有無にかかわらず、操舵系を安定化させる上で適切な位相補償をすることができる。
【0008】
3.前記位相補償処理は、位相補償規定変数の値に応じて前記操舵反力の位相補償をする処理であって且つ、変数変更処理を含み、前記位相補償規定変数は、前記位相補償の仕方を定める変数であり、前記変数変更処理は、車速に応じて前記位相補償規定変数の値を変更する処理を含み、前記異常がある旨の診断がなされるモードは、車速の検出値に異常がある旨の診断がなされているモードを含み、前記位相補償処理は、前記車速の検出値に異常がある旨の診断がなされているモードにおいて、前記位相補償規定変数の値を前記異常用の値として前記位相補償を実行する処理を含む上記2記載の操舵制御装置。
【0009】
上記構成では、車速に応じて適切な位相補償がなされる。ただし、車速の検出値に異常がある場合には、異常がない場合に実行される車速に応じた位相補償を適切に実行できない。そこで上記構成では、車速の検出値に異常がある場合、異常時専用の位相補償を実行する。これにより、車速の検出値に異常がある場合であっても、位相補償処理によって操舵系を安定化させることができる。
【0010】
4.前記位相補償の仕方が異なる前記走行モードには、介入モードと非介入モードとが含まれ、前記介入モードは、車両と前記車両の外部との関係情報に応じて前記転舵輪の転舵に制御が介入するモードであり、前記非介入モードは、前記介入を行わないモードであり、前記位相補償処理は、位相補償規定変数の値に応じて前記操舵反力の位相補償をする処理であり、前記位相補償規定変数は、前記位相補償の仕方を定める変数であり、前記位相補償処理は、前記介入モードと前記非介入モードとで互いに異なる前記位相補償規定変数の値に応じて前記位相補償を実行する処理を含む上記1~3のいずれか1つに記載の操舵制御装置。
【0011】
制御により転舵輪の転舵に介入する場合には、人による操舵のみの場合とは、操舵系を安定に保つうえで必要な条件が異なり得る。そこで、上記構成では、介入モードと非介入モードとで、位相補償の仕方を変更する。これにより、介入モードであるか否かにかかわらず、操舵系を安定化させることができる。
【0012】
5.前記反力設定処理は、アシスト量設定処理と、軸力設定処理と、を含み、前記軸力設定処理は、運転者による前記ステアリング軸の回転操作に抗する力である軸力を設定する処理であり、前記アシスト量設定処理は、操舵トルクの検出値に応じてアシスト量を設定する処理であり、前記アシスト量は、運転者が前記ステアリング軸を回転させるのをアシストする量であり、前記操舵反力は、前記アシスト量を前記軸力から減算した値に応じて定まる量であり、前記位相補償処理は、位相遅れ補償処理を含み、前記位相遅れ補償処理は、遅れ規定変数に従って、前記アシスト量の設定に用いる前記検出値の位相を遅らせる処理であり、前記遅れ規定変数は、前記位相遅れ補償処理を規定する変数であって且つ、前記走行モードが異なる場合に異なる値となる上記1~4のいずれか1つに記載の操舵制御装置である。
【0013】
上記構成では、異なる走行モードの場合に位相遅れ補償処理による位相補償の仕方を変更する。そのため、走行モードに応じて適切な位相遅れ補償を実現できる。
6.前記反力設定処理は、アシスト量設定処理と、軸力設定処理と、を含み、前記軸力設定処理は、運転者による前記ステアリング軸の回転操作に抗する力である軸力を設定する処理であり、前記アシスト量設定処理は、アシスト量を設定する処理であって且つ、前記位相補償処理および基本アシスト量設定処理を含み、前記アシスト量は、運転者が前記ステアリング軸を回転させるのをアシストする量であり、前記基本アシスト量設定処理は、前記ステアリング軸に入力される操舵トルクの検出値に応じて基本アシスト量を設定する処理であり、前記位相補償処理は、位相進み補償処理を含み、前記位相進み補償処理は、前記検出値を入力として前記アシスト量設定処理が前記基本アシスト量から前記アシスト量を設定するための前記基本アシスト量の進み補正量を、進み規定変数に従って算出する処理であり、前記操舵反力は、前記アシスト量を前記軸力から減算した値に応じて定まる量であり、前記位相進み規定変数は、前記位相進み補償処理を規定する変数であって且つ、前記走行モードが異なる場合に異なる値となる上記1~5のいずれか1つに記載の操舵制御装置。
【0014】
上記構成では、異なる走行モードの場合に位相進み補償処理による位相補償の仕方を変更する。そのため、走行モードに応じて適切な位相進み補償を実現できる。
【図面の簡単な説明】
【0015】
【
図1】第1の実施形態にかかる操舵システムの構成を示す図である。
【
図2】同実施形態にかかる制御装置が実行する処理を示すブロック図である。
【
図3】同実施形態にかかる制御装置が実行する処理を示すブロック図である。
【
図4】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図5】第2の実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【発明を実施するための形態】
【0016】
<第1の実施形態>
以下、第1の実施形態について図面を参照しつつ説明する。
「前提構成」
図1に示す車両の操舵装置10は、ステアバイワイヤ式の装置である。操舵装置10は、ステアリングホイール12と、ステアリング軸14と、反力アクチュエータ20と、転舵アクチュエータ30と、を備えている。ステアリング軸14は、ステアリングホイール12に連結されている。反力アクチュエータ20は、運転者がステアリングホイール12を操作する力に抗する力を付与するアクチュエータである。反力アクチュエータ20は、反力モータ22と、反力用インバータ24と、反力用減速機構26とを有している。反力モータ22は、ステアリング軸14を介してステアリングホイール12に操舵に抗する力である操舵反力を付与する。反力モータ22は、反力用減速機構26を介してステアリング軸14に連結されている。反力モータ22には、一例として、3相の同期電動機が採用されている。反力用減速機構26は、たとえば、ウォームアンドホイールからなる。
【0017】
転舵アクチュエータ30は、運転者によるステアリングホイール12の操作が示す運転者の操舵の意思に応じて転舵輪34を転舵させる用途を有したアクチュエータである。転舵アクチュエータ30は、ラック軸32と、転舵モータ42と、転舵用インバータ44と、転舵伝達機構46と、変換機構48とを備えている。転舵モータ42には、一例として、3相の表面磁石同期電動機(SPM)が採用されている。転舵伝達機構46は、ベルト伝達機構からなる。転舵伝達機構46によって、転舵モータ42の回転動力が変換機構48に伝達される。変換機構48は、伝達された回転動力を、ラック軸32の軸方向の変位動力に変換する。ラック軸32の軸方向への変位によって、転舵輪34が転舵される。
【0018】
操舵制御装置50は、ステアリングホイール12および転舵輪34を制御対象とする。すなわち、操舵制御装置50は、制御対象としてのステアリングホイール12の制御量である、運転者の操舵に抗する操舵反力を制御する。また、操舵制御装置50は、制御対象としての転舵輪34の制御量である転舵角を制御する。転舵角は、転舵輪34としてのタイヤの切れ角である。
【0019】
操舵制御装置50は、制御量の制御のために、トルクセンサ60によって検出される操舵トルクThを参照する。操舵トルクThは、運転者がステアリングホイール12の操作を通じてステアリング軸14に付与したトルクである。操舵制御装置50は、制御量の制御のために、操舵側回転角センサ62によって検出される、反力モータ22の回転軸の角度である回転角θaを参照する。また、操舵制御装置50は、制御量の制御のために、反力モータ22を流れる電流ius,ivs,iwsを参照する。電流ius,ivs,iwsは、たとえば反力用インバータ24の各レッグに設けられたシャント抵抗の電圧降下量として検出されるものであってもよい。操舵制御装置50は、制御量の制御のために、転舵側回転角センサ64によって検出される、転舵モータ42の回転軸の角度である回転角θbを参照する。また、操舵制御装置50は、制御量の制御のために、転舵モータ42を流れる電流iut,ivt,iwtを参照する。電流iut,ivt,iwtは、たとえば転舵用インバータ44の各レッグに設けられたシャント抵抗の電圧降下量として検出されるものであってもよい。
【0020】
操舵制御装置50は、制動ECU70と通信可能となっている。制動ECU70は、車両の制動装置を制御対象とする。制動ECU70は、車輪速センサ72によって検出される4つの車輪のそれぞれの速度である車輪速度ωw1~ωw4を取得する。制動ECU70は、車輪速度ωw1~ωw4に異常がない場合、これを操舵制御装置50に送信する。制動ECU70は、車輪速度ωw1~ωw4に異常がある場合、その旨を操舵制御装置50に通知する。
【0021】
操舵制御装置50は、上位ECU80と通信可能である。上位ECU80は、ステアリングホイール12の操作による操舵の指示とは独立に、車両の操舵に介入するための指令を生成する処理を実行する。上位ECU80は、操舵に介入する処理を実行するために、カメラ82によって撮影された車両の周囲の画像データを取得する。また、上位ECU80は、インターフェース84を介して運転者によって入力された操舵への介入の可否の意思表示等を把握する。
【0022】
操舵制御装置50は、PU52、および記憶装置54を備えている。PU52は、CPU、GPU、およびTPU等のソフトウェア処理装置である。記憶装置54は、電気的に書き換え不可能な不揮発性メモリであってもよい。また記憶装置54は、電気的に書き換え可能な不揮発性メモリ、およびディスク媒体等の記憶媒体であってもよい。
【0023】
「制御の概要」
図2に、操舵制御装置50が実行する処理を示す。
図2に示す処理は、記憶装置54に記憶されたプログラムをPU52がたとえば所定周期で繰り返し実行することにより実現される。
【0024】
操舵角算出処理M10は、回転角θaを、例えば、車両が直進しているときのステアリングホイール12の位置であるステアリング中立位置からの反力モータ22の回転数をカウントすることにより、360度を超える範囲を含む積算角に換算する処理を含む。操舵角算出処理M10は、換算して得られた積算角に反力用減速機構26の回転速度比に基づき換算係数を乗算することで、操舵角θsを算出する処理を含む。
【0025】
転舵相当角算出処理M12は、回転角θbを、例えば、車両が直進しているときのラック軸32の位置であるラック中立位置からの転舵モータ42の回転数をカウントすることにより、360度を超える範囲を含む積算角に換算する処理を含む。転舵相当角算出処理M12は、換算して得られた積算角に転舵伝達機構46の減速比および変換機構48のリード等に応じた換算係数を乗算することで、転舵輪34の転舵角に応じた転舵相当角θpを算出する処理を含む。転舵相当角θpは、転舵角と比例関係にある量である。なお、転舵相当角θpは、一例として、ラック中立位置よりも右側の角度である場合に正、左側の角度である場合に負とする。
【0026】
目標転舵相当角算出処理M40は、操舵角θsと、車速Vとに応じて、目標転舵相当角θp*を算出する処理である。
アシスト量設定処理M20は、操舵トルクTh、および車速Vを入力として、アシスト量Taを算出する処理である。アシスト量Taは、運転者の操舵方向と同一方向の量となっている。アシスト量Taの大きさは、運転者による操舵をアシストする力を大きくする場合に大きい値に設定される。
【0027】
軸力設定処理M22は、車速V、転舵モータ42のq軸電流iqt、および目標転舵相当角θp*を入力として、転舵輪34を通じてラック軸32に作用する軸力Fを算出する処理である。軸力Fは、転舵輪34を通じてラック軸32に作用する力を制御によって表現する値である。ただし、軸力Fは、ラック軸32に作用する力を高精度に推定することを意図している必要はない。軸力Fは、たとえばラック軸32に作用する力を仮想的に定めたものであってもよい。軸力Fは、ステアリング軸14に加わるトルクに換算されている。すなわち、転舵輪34とステアリング軸14との動力伝達が可能な状態と仮定した場合にステアリング軸14に加わるトルクに換算されている。軸力Fは、運転者の操舵方向とは反対方向に作用する量である。軸力設定処理M22は、目標転舵相当角θp*の絶対値が大きくなるほど、軸力Fの絶対値が大きくなるように軸力Fを算出する処理としてもよい。またたとえば、軸力設定処理M22は、車速Vが大きくなるにつれて軸力Fの絶対値が大きくなるように軸力Fを算出する処理としてもよい。また、軸力設定処理M22は、q軸電流iqtの絶対値が大きくなるほど、軸力Fの絶対値が大きくなるように軸力Fを算出する処理としてもよい。ここで、q軸電流iqtは、PU52によって、転舵相当角θpと、電流iut,ivt,iwtとに応じて算出される。
【0028】
減算処理M24は、アシスト量Taから軸力Fを減算した値を、目標反力トルクTs1に代入する処理である。目標反力トルクTs1は、反力モータ22がステアリング軸14に加えるトルクの目標値である。
【0029】
目標操舵角設定処理M26は、目標反力トルクTs1および操舵トルクThを入力として目標操舵角θs*を設定する処理である。目標操舵角設定処理M26は、モデルを用いて目標操舵角θs*を設定する処理である。モデルは、目標反力トルクTs1および操舵トルクThの和を入力として、目標操舵角θs*を定める。モデルは、ステアリングホイール12と転舵輪34との間が機械的に連結されている操舵装置を前提として、入力トルクに応じた理想的な転舵角に対応する舵角を予め実験などによりモデル化したものであってもよい。目標操舵角設定処理M26は、目標反力トルクTs1と操舵トルクThとを加算することにより入力トルクを求めた後、この入力トルクからモデルに基づいて目標操舵角θs*を算出する処理である。
【0030】
舵角フィードバック処理M28は、操舵角θsおよび目標操舵角θs*を入力することによって、フィードバック補正量Tfbを算出する処理である。フィードバック補正量Tfbは、操舵角θsが制御量であって且つ目標操舵角θs*が制御量の目標値であるフィードバック制御の操作量である。
【0031】
重畳処理M30は、目標反力トルクTs1に、フィードバック補正量Tfbを加算した値を目標反力トルクTsに代入する処理である。ただし、上位ECU80から、介入トルクTinが入力されている場合には、重畳処理M30は、目標反力トルクTs1に、フィードバック補正量Tfbおよび介入トルクTinを加算した値を目標反力トルクTsに代入する処理となる。介入トルクTinは、上位ECU80が操舵に介入するために利用する目標反力トルクTs1の補正量である。
【0032】
反力用操作信号生成処理M32は、ステアリング軸14に加えるトルクが目標反力トルクTsとなるように、反力モータ22のトルクを制御すべく、反力用インバータ24に対する操作信号MSsを生成する処理である。詳しくは、反力用操作信号生成処理M32は、目標反力トルクTsを反力モータ22の目標トルクに換算する処理を含む。また、反力用操作信号生成処理M32は、電流のフィードバック制御によって、反力モータ22を流れる電流を目標反力トルクTsから定まる電流に近づけるべく、反力用インバータ24に対する操作信号MSsを算出する処理を含む。なお、操作信号MSsは、実際には、反力用インバータ24の6つのスイッチング素子のそれぞれに対する操作信号となっている。反力モータ22のトルクが目標反力トルクTsとされることにより、ステアリングホイール12を回転させようとする力に抗する操舵反力は、「(-1)・Ts」となる。
【0033】
目標転舵相当角算出処理M40は、操舵角θsと、車速Vとに応じて、目標転舵相当角θp*を算出する処理である。
転舵フィードバック処理M42は、転舵相当角θpを制御量として且つ目標転舵相当角θp*を制御量の目標値とするフィードバック制御の操作量を、目標転舵トルクTtに代入する処理である。目標転舵トルクTtは、転舵モータ42のトルクと一定の比率を有する。
【0034】
転舵用操作信号生成処理M44は、転舵モータ42のトルクが目標転舵トルクTtと一定の比率を有した値となるように、転舵モータ42のトルクを制御すべく、転舵用インバータ44に対する操作信号MStを生成する処理である。詳しくは、転舵用操作信号生成処理M44は、目標転舵トルクTtを転舵モータ42の目標トルクに換算する処理を含む。また、転舵用操作信号生成処理M44は、電流のフィードバック制御によって、転舵モータ42を流れる電流を目標トルクから定まる電流に近づけるべく、転舵用インバータ44に対する操作信号MStを算出する処理を含む。なお、操作信号MStは、実際には、転舵用インバータ44の6つのスイッチング素子のそれぞれに対する操作信号となっている。
【0035】
「アシスト量設定処理」
図3に、アシスト量設定処理M20の詳細を示す。
位相遅れ補償処理M60は、操舵トルクThの位相を遅らせる処理である。これは、たとえば、トルクセンサ60が備えるトーションバーの両側の位相差の周波数特性を調整すべく、操舵トルクThに位相補償をすることを目的とする処理であってもよい。位相遅れ補償処理M60の出力値である位相補償後の操舵トルクThが、操舵トルクThrである。位相遅れ補償処理M60は、フィルタ処理M62およびフィルタ係数設定処理M64を含む。
【0036】
フィルタ処理M62は、位相遅れフィルタと、ローパスフィルタとを含む。位相遅れフィルタの伝達関数は、「(1+α・T1・s)/(1+T1・s)」である。ローパスフィルタの伝達関数は、「1/(1+T2・s)」である。操舵トルクThに、位相遅れフィルタおよびローパスフィルタによる処理が施された値が操舵トルクThrである。
【0037】
フィルタ係数設定処理M64は、位相遅れフィルタのフィルタ係数α,T1およびローパスフィルタのフィルタ係数T2を設定する。フィルタ係数設定処理M64は、アシスト勾配R、および車速Vに応じて、フィルタ係数α,T1,T2を設定する。詳しくは、フィルタ係数設定処理M64は、一例として、記憶装置54にマップデータが記憶された状態でPU52によって、フィルタ係数α,T1,T2をマップ演算する処理である。マップデータは、以下の3種類のデータである。1つは、アシスト勾配Rおよび車速Vを入力変数として且つフィルタ係数αを出力変数とするデータである。もう1つは、アシスト勾配Rおよび車速Vを入力変数として且つフィルタ係数T1を出力変数とするデータである。もう1つは、アシスト勾配Rおよび車速Vを入力変数として且つフィルタ係数T2を出力変数とするデータである。
【0038】
なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とする処理とすればよい。また、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれにも一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。また、これに代えて、マップ演算は、入力変数の値がマップデータの入力変数の値のいずれにも一致しない場合、マップデータに含まれる複数の入力変数の値のうちの最も近い値に対応するマップデータの出力変数の値を演算結果とする処理としてもよい。
【0039】
基本アシスト量設定処理M66は、操舵トルクThrおよび車速Vを入力として基本アシスト量Tabを設定する処理である。基本アシスト量設定処理M66は、基本アシスト量Tabを、操舵トルクThrと正の相関を有する値に設定する。この処理は、たとえば、記憶装置54にマップデータが予め記憶された状態において、PU52によって基本アシスト量Tabをマップ演算する処理としてもよい。マップデータは、操舵トルクThrおよび車速Vを入力変数として且つ、基本アシスト量Tabを出力変数とするデータである。
【0040】
基本アシスト量設定処理M66は、アシスト勾配Rを算出して出力する処理を含む。アシスト勾配Rは、操舵トルクThrの変化に対する基本アシスト量Tabの変化の比を示す。
【0041】
位相進み補償処理M70は、アシスト量Taの位相を進ませる処理である。これは、たとえば、操舵トルクThの変化に対するステアリングホイール12の変化の応答遅れを調整すべく、アシスト量Taに位相補償を施すことを目的としてもよい。位相進み補償処理M70は、微分演算M72、ゲイン設定処理M74および乗算処理M76を含む。
【0042】
微分演算M72は、操舵トルクThの1階の時間微分値dThを算出する処理である。ゲイン設定処理M74は、アシスト勾配Rおよび車速Vを入力としてゲインGadを設定する処理である。ゲイン設定処理M74は、一例として、記憶装置54にマップデータが予め記憶された状態においてゲインGadをマップ演算する処理である。このマップデータは、アシスト勾配Rおよび車速Vを入力変数として且つ、ゲインGadを出力変数とするデータである。
【0043】
乗算処理M76は、時間微分値dThにゲインGadを乗算する処理である。時間微分値dThとゲインGadとの積が、位相進み補償処理M70の出力としての進み補償量Tadである。
【0044】
合成処理M80は、基本アシスト量Tabに、進み補償量Tadを加算する処理である。こうして算出された値が、アシスト量Taである。
「モード別の位相補償処理」
図4に、位相遅れ補償処理M60および位相進み補償処理M70による位相補償をモードによって切り替える処理の手順を示す。
図4に示す処理は、記憶装置54に記憶されたプログラムをPU52がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって各処理のステップ番号を表現する。
【0045】
図4に示す一連の処理において、PU52は、制動ECU70から、車輪速度ωw1~ωw4の検出に異常が生じた旨の通知がなされたか否かを判定する(S10)。この処理は、車速の検出値に異常が生じているモードであるか否かを判定する処理である。
【0046】
PU52は、通知がなされていないと判定する場合(S10:NO)、正常モードであることから、制動ECU70を介して車輪速度ωw1~ωw4を取得する(S12)。そして、PU52は、車輪速度ωw1~ωw4から車速Vを算出する(S14)。車速Vは、たとえば車輪速度ωw1~ωw4のうちの所定数番目に大きい値であってもよい。また、車速Vは、たとえば、車輪速度ωw1~ωw4の平均値であってもよい。
【0047】
そして、PU52は、フィルタ係数α,T1,T2およびゲインGadのそれぞれをマップ演算するためのマップを特定するマップ特定変数Vmに正常モード用変数値Vmnを代入する(S16)。これにより、フィルタ係数設定処理M64は、記憶装置54に記憶された正常モード用のマップデータと異常モード用のマップデータとのうちの正常モード用のマップデータを用いてマップ演算を行う処理となる。また、ゲイン設定処理M74は、記憶装置54に記憶された正常モード用のマップデータと異常モード用のマップデータとのうちの正常モード用のマップデータを用いてマップ演算を行う処理となる。
【0048】
一方、PU52は、通知がなされていると判定する場合(S10:YES)、マップ特定変数Vmに、異常モード用変数値Vmiを代入する(S18)。これにより、フィルタ係数設定処理M64は、記憶装置54に記憶された正常モード用のマップデータと異常モード用のマップデータとのうちの異常モード用のマップデータを用いてマップ演算を行う処理となる。ここで、マップデータは、車速Vを入力変数としなくてもよい。また、ゲイン設定処理M74は、記憶装置54に記憶された正常モード用のマップデータと異常モード用のマップデータとのうちの異常モード用のマップデータを用いてマップ演算を行う処理となる。ここで、マップデータは、車速Vを入力変数としなくてもよい。
【0049】
なお、PU52は、S16,S18の処理が完了する場合、
図4に示す一連の処理を一旦終了する。
「本実施形態の作用および効果」
PU52は、アシスト量Taから軸力Fを減算することによって目標反力トルクTsを設定する。そして、反力モータ22のトルクを目標反力トルクTsに応じて制御する。PU52は、位相遅れ補償処理M60および位相進み補償処理M70を利用してアシスト量Taを設定する。位相遅れ補償処理M60におけるフィルタ係数α,T1,T2と、位相進み補償処理M70におけるゲインGadとは、車速Vに応じて設定される。これにより、車速Vに応じて操舵系を安定に保つことができる適切な位相補償を行うことができる。
【0050】
ただし、車輪速度ωw1~ωw4の検出に異常が生じると、フィルタ係数α,T1,T2およびゲインGadを適切な値に設定するうえで信頼性の高い車速Vを利用することができない。そこで、PU62は、上記異常時には、フィルタ係数α,T1,T2およびゲインGadを異常時用の値に設定する。これにより、正確な車速をPU52が把握できなくても、操舵系を安定化させるうえで適切な、フィルタ係数α,T1,T2およびゲインGadを設定できる。換言すれば、実際の車速の大きさにかかわらず、操舵系を安定化させるうえで適切な、フィルタ係数α,T1,T2およびゲインGadを設定できる。ここで、フィルタ係数α,T1,T2およびゲインGadは、たとえば、実際の車速として取り得る値の範囲内で操舵系を安定化させることができる値に設定すればよい。
【0051】
ちなみに、正常時には、車速Vに応じてフィルタ係数α,T1,T2およびゲインGadを変更することから、操舵系を安定化させることができる範囲で、最適な位相補償を実現できる。
【0052】
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
【0053】
本実施形態では、上位ECU80による車線の逸脱防止のための操舵に介入するモードと、介入しないモードとに応じて位相補償の仕方を変更する。
図5に、位相遅れ補償処理M60および位相進み補償処理M70による位相補償をモードによって切り替える処理の手順を示す。
図5に示す処理は、記憶装置54に記憶されたプログラムをPU52がたとえば所定周期で繰り返し実行することにより実現される。
【0054】
図5に示す一連の処理において、PU52は、まず逸脱防止処理モードであるか否かを判定する(S20)。逸脱防止処理モードは、上位ECU80が上記画像データに基づき車線を逸脱することを抑制するための制御を実行するモードである。PU52は、逸脱防止処理モードではないと判定する場合(S20:NO)、マップ特定変数Vmに、手動運転モード用変数値Vmmを代入する(S22)。これにより、フィルタ係数設定処理M64は、記憶装置54に記憶された手動運転モード用のマップデータと逸脱防止モード用のマップデータとのうちの手動運転モード用のマップデータを用いてマップ演算を行う処理となる。また、ゲイン設定処理M74は、記憶装置54に記憶された手動運転モード用のマップデータと逸脱防止モード用のマップデータとのうちの手動運転モード用のマップデータを用いてマップ演算を行う処理となる。
【0055】
一方、PU52は、逸脱防止処理モードであると判定する場合(S20:YES)、マップ特定変数Vmに、逸脱防止モード用変数値Vmaを代入する(S24)。これにより、フィルタ係数設定処理M64は、記憶装置54に記憶された手動運転モード用のマップデータと逸脱防止モード用のマップデータとのうちの逸脱防止モード用のマップデータを用いてマップ演算を行う処理となる。また、ゲイン設定処理M74は、記憶装置54に記憶された手動運転モード用のマップデータと逸脱防止モード用のマップデータとのうちの逸脱防止モード用のマップデータを用いてマップ演算を行う処理となる。
【0056】
なお、PU52は、S22,S24の処理を完了する場合、
図5に示す一連の処理を一旦終了する。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1,5,6]反力設定処理は、アシスト量設定処理M20、軸力設定処理M22、減算処理M24、目標操舵角設定処理M26、舵角フィードバック処理M28、および重畳処理M30に対応する。反力付与処理は、反力用操作信号生成処理M32に対応する。位相補償処理は、位相遅れ補償処理M60および進み補償処理M70に対応する。走行モードは、車速に異常がある旨の判定がなされていないモードとなされているモードとに対応する。また、走行モードは、逸脱防止処理モードと、手動運転モードとに対応する。[2,3]位相補償規定変数は、フィルタ係数α、T1,T2およびゲインGadに対応する。変数変更処理は、フィルタ係数設定処理M64およびゲイン設定処理M74に対応する。異常用の値は、異常モード用変数値Vmiに対応するマップを用いて設定されるフィルタ係数α、T1,T2およびゲインGadに対応する。[4]介入モードは、逸脱防止処理モードに対応する。非介入モードは、手動運転モードに対応する。介入モードにおける位相補償変数の値は、逸脱防止モード用変数値Vmaに対応するマップを用いて設定されるフィルタ係数α、T1,T2およびゲインGadに対応する。非介入モードにおける位相補償変数の値は、手動運転モード用変数値Vmmに対応するマップを用いて設定されるフィルタ係数α、T1,T2およびゲインGadに対応する。
【0057】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0058】
「位相遅れ補償処理について」
・フィルタ係数設定処理M64は、車速V、アシスト勾配Rおよびマップ特定変数Vmを入力とする処理に限らない。たとえば、フィルタ係数設定処理M64の入力を、アシスト勾配Rおよびマップ特定変数Vmとしてもよい。またたとえば、フィルタ係数設定処理M64の入力を、車速Vおよびマップ特定変数Vmとしてもよい。
【0059】
・フィルタ処理M62が備える位相遅れフィルタは、分母および分子のラプラス演算子の次数がともに1の上述したフィルタに限らない。
・フィルタ処理M62が位相遅れフィルタとローパスフィルタとを含むことは必須ではない。たとえば、位相遅れフィルタのみであってもよい。
【0060】
・上記実施形態では、フィルタ係数α,T1,T2をフィルタ係数設定処理M64による変更対象としたが、これに限らない。たとえば、フィルタ係数α,T1,T2の3つのうちの2つに限って変更対象としてもよい。またたとえば、フィルタ係数α,T1,T2の3つのうちの1つに限って変更対象としてもよい。
【0061】
「位相進み補償処理について」
・ゲイン設定処理M74は、車速V、アシスト勾配Rおよびマップ特定変数Vmを入力とする処理に限らない。たとえば、ゲイン設定処理M74の入力を、アシスト勾配Rおよびマップ特定変数Vmとしてもよい。またたとえば、ゲイン設定処理M74の入力を、車速Vおよびマップ特定変数Vmとしてもよい。
【0062】
・微分演算M72と乗算処理M76との間に、ローパスフィルタを設けてもよい。その場合、ローパスフィルタのフィルタ係数を走行モードに応じて変更してもよい。
・乗算処理M76において時間微分値dThにゲインGadを乗算する代わりに、時間微分値dThを入力として進み補償量Tadを出力とするマップデータを備えてもよい。このマップデータの入力変数に、時間微分値dThに加えて、走行モードを示す変数を含めてもよい。また、このマップデータの入力変数に、時間微分値dThに加えて、車速Vを示す変数を含めてもよい。
【0063】
・位相進み補償処理が、時間微分値dThを算出する処理を含むことは必須ではない。たとえば、時間微分値dThを算出する代わりに、操舵トルクThを位相進み補償フィルタの入力とする処理を含んでもよい。
【0064】
「位相補償処理について」
・位相補償処理が、位相遅れ補償処理M60および位相進み補償処理M70からなることは必須ではない。たとえば、位相遅れ補償処理M60および位相進み補償処理M70の2つの処理のうちのいずれか1つのみを含んでもよい。また、たとえば位相遅れ補償処理M60および位相進み補償処理M70の2つの処理以外の処理をさらに含んでもよい。
【0065】
「軸力設定処理について」
・軸力設定処理の入力が、q軸電流iqt、車速Vおよび目標転舵相当角θp*であることは必須ではない。たとえば、操舵系の角度変数としては、目標転舵相当角θp*に限らず、転舵相当角θpであってもよい。またたとえば、操舵系の角度変数は、操舵角θsであってもよい。軸力設定処理の入力は、q軸電流iqt、車速Vおよび操舵系の角度変数の3つに関しては、そのうちのいずれか2つのみであってもよい。また、軸力設定処理の入力は、上記3つに関しては、そのうちのいずれか1つのみであってもよい。
【0066】
「異なるモードにおいて値が異なる位相補償規定変数について」
・上記実施形態では、位相遅れ補償処理M60のフィルタ係数α,T1,T2の全てを、マップ特定変数Vmを入力として変更したが、これに限らない。たとえば、フィルタ係数α,T1,T2の3つのうちの2つに限って、マップ特定変数Vmを入力として変更してもよい。また、たとえば、フィルタ係数α,T1,T2の3つのうちの1つに限って、マップ特定変数Vmを入力として変更してもよい。
【0067】
・位相遅れ補償処理M60および位相進み補償処理M70の双方を実行する場合において、それら双方について位相補償の仕方をモードに応じて変更することは必須ではない。たとえばそれら2つのうちのいずれか1つのみを変更してもよい。
【0068】
「位相補償の仕方が異なるモードについて」
・異常がある旨の診断がなされているモードと、正常時のモードとしては、車速Vの検出値に関する異常の有無に応じたモードに限らない。たとえば、トルクセンサ60の異常の有無に応じたモードであってもよい。またたとえば、操舵制御装置50がPU52を複数有する冗長系において、それらのいずれか1つに異常があるか否かに応じたモードであってもよい。またたとえば、操舵制御装置50がPU52を複数有する冗長系において、それらの間の通信の異常の有無に応じたモードであってもよい。
【0069】
・介入モードと非介入モードとしては、逸脱防止処理モードと手動運転モードとに限らない。たとえば、介入モードを、運転者がステアリングホイール12に触れない状態において、上位ECU80が転舵輪34を転舵させる処理を実行するモードとしてもよい。その場合であっても、たとえば、重畳処理M30に介入トルクTinを入力する代わりに、操舵トルクThの入力箇所に介入トルクTinを入力する場合には、モードに応じて上記フィルタ係数α,T1,T2およびゲインGadを変更することが有効である。
【0070】
・S20の処理では、逸脱防止処理モードであるか否かを判定したが、これに代えて、たとえば、上位ECU80から介入トルクTinが入力されているか否かを判定してもよい。
【0071】
「操舵制御装置について」
・操舵制御装置としては、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態において実行される処理の少なくとも一部を実行するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、操舵制御装置は、以下の(a)~(c)のいずれかの構成を備える処理回路を含んでいればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶する記憶装置等のプログラム格納装置とを備える処理回路。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える処理回路。(c)上記処理の全てを実行する専用のハードウェア回路を備える処理回路。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置は、複数であってもよい。また、専用のハードウェア回路は複数であってもよい。
【0072】
「そのほか」
・転舵モータ42が同期機であることは必須ではない。たとえば、誘導機であってもよい。
【0073】
・上記各実施形態は、操舵装置10を、ステアリングホイール12と転舵輪34との間が機械的に常時分離したリンクレスの構造としたが、これに限らず、クラッチによりステアリングホイール12と転舵輪34との間が機械的に分離可能な構造としてもよい。
【符号の説明】
【0074】
10…操舵装置
12…ステアリングホイール
14…ステアリング軸
20…反力アクチュエータ
22…反力モータ
24…反力用インバータ
30…転舵アクチュエータ
32…ラック軸
34…転舵輪
42…転舵モータ
44…転舵用インバータ
50…操舵制御装置