(57)【要約】【課題】ギア機構を介する角度センサの他に複数の角度センサがステアリングシャフトに搭載されており、ギア機構の特性を学習し、その学習結果とギア機構を介する角度センサの信号を用いて他の角度センサの信号を推定することにより監視及び診断を行い、バックアップが可能な電動パワーステアリング装置を提供する。【解決手段】ギア機構を介して第１舵角を検出する第１角度センサと、ギア機構を介さずに第２舵角を検出する第２角度センサとを少なくとも具備する電動パワーステアリング装置において、ギア機構の特性を学習して補正用オフセットを算出する補正用オフセット算出部と、補正用オフセットを用いて第２舵角を推定する舵角推定部とを備える。【選択図】図４
2018052496.tif 000002
【特許請求の範囲】
【請求項１】
ギア機構を介して第１舵角を検出する第１角度センサと、前記ギア機構を介さずに第２舵角を検出する第２角度センサとを少なくとも具備する電動パワーステアリング装置において、
前記第１舵角及び前記第２舵角に基づいて前記ギア機構の特性を学習して補正用オフセットを算出する補正用オフセット算出部と、
前記補正用オフセットを用いて前記第２舵角を推定する舵角推定部とを備え、
前記補正用オフセット算出部は、操舵速度が所定の範囲内である場合に、前記学習を行うことを特徴とする電動パワーステアリング装置。
【請求項２】
前記補正用オフセット算出部は、前記操舵速度が所定の範囲内であり、且つ操舵加速度の絶対値が所定の値以下の場合に、前記学習を行う請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記第１舵角及び前記第２舵角を相対舵角化する相対舵角化部を備え、
前記補正用オフセット算出部は、前記相対舵角化された第１舵角及び第２舵角に基づいて前記補正用オフセットを算出する請求項１又は２に記載の電動パワーステアリング装置。
【請求項４】
操舵方向を判定する操舵判定部を備え、
前記補正用オフセット算出部は、前記判定された操舵方向に応じた前記補正用オフセットを算出する請求項１乃至３のいずれかに記載の電動パワーステアリング装置。
【請求項５】
前記第２角度センサが多重系統になっており、前記第２角度センサの１系統が故障した場合、前記第２舵角の実測値及び推定値を用いて前記第２角度センサのバックアップを行うようになっている請求項１乃至４のいずれかに記載の電動パワーステアリング装置。
【請求項６】
前記第２舵角の実測値及び推定値に基づいて、前記第２角度センサの監視及び診断を行う請求項１乃至５のいずれかに記載の電動パワーステアリング装置。
【請求項７】
前記補正用オフセット算出部は、
前記第１舵角及び前記第２舵角の偏差を学習して補正用オフセットを算出する請求項１乃至６のいずれかに記載の電動パワーステアリング装置。
【請求項８】
前記補正用オフセット算出部は、
前記第１角度センサの角度周期の範囲内において所定の間隔で算出される複数の前記偏差を学習し、学習された前記複数の偏差の平均値を前記補正用オフセットとする請求項７に記載の電動パワーステアリング装置。
【請求項９】
前記補正用オフセット算出部は、
前記所定の間隔で算出される複数の前記偏差の学習が全て完了したら、前記補正用オフセットを算出する請求項８に記載の電動パワーステアリング装置。
【請求項１０】
前記第１角度センサ及び前記第２角度センサがステアリングシャフトのインプットシャフト側に搭載されている請求項１乃至９のいずれかに記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電流指令値によりモータを駆動制御し、モータの駆動制御により車両の操舵系をアシスト制御する電動パワーステアリング装置に関し、特にステアリングシャフトに少なくとも２つの角度センサを搭載し、その中にギア機構を介する角度センサが存在し、正常時にギア機構の特性を学習し、その学習結果とギア機構を介する角度センサの信号を用いて他の角度センサの信号を推定することにより監視及び診断を行い、他の角度センサが故障した場合は推定信号を用いてバックアップが可能な電動パワーステアリング装置に関する。
【背景技術】
【０００２】
車両の操舵系をモータの回転力でアシスト制御する電動パワーステアリング装置（ＥＰＳ）は、モータの駆動力で減速機を介してギア又はベルト等の伝達機構により、ステアリングシャフト或いはラック軸に操舵補助力（アシスト力）を付与するようになっている。かかる従来の電動パワーステアリング装置は、操舵補助力のトルクを正確に発生させるため、モータ電流のフィードバック制御を行っている。フィードバック制御は、操舵補助指令値（電流指令値）とモータ電流検出値との差が小さくなるようにモータ印加電圧を調整するものであり、モータ印加電圧の調整は、一般的にＰＷＭ（パルス幅変調）制御のデューティの調整で行っている。
【０００３】
電動パワーステアリング装置の一般的な構成を図１に示して説明すると、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２は減速ギア３、ユニバーサルジョイント４ａ及び４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の操舵トルクを検出するトルクセンサ１０及び舵角θを検出する舵角センサ１４が設けられており、ハンドル１の操舵力を補助するモータ２０が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置を制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｅｌとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによって、ＥＰＳ用モータ２０に供給する電流を制御する。
【０００４】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｅｌはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【０００５】
コントロールユニット３０は主としてＭＣＵ（ＣＰＵ、ＭＰＵ等も含む）で構成されるが、そのＭＣＵ内部においてプログラムで実行される一般的な機能を示すと図２のようになる。
【０００６】
図２を参照してコントロールユニット３０の機能及び動作を説明すると、トルクセンサ１０で検出された操舵トルクＴｈ及び車速センサ１２で検出された（若しくはＣＡＮ４０からの）車速Ｖｅｌは、電流指令値Ｉｒｅｆ１を演算する電流指令値演算部３１に入力される。電流指令値演算部３１は、入力された操舵トルクＴｈ及び車速Ｖｅｌに基づいてアシストマップ等を用いて、モータ２０に供給する電流の制御目標値である電流指令値Ｉｒｅｆ１を演算する。電流指令値Ｉｒｅｆ１は加算部３２Ａを経て電流制限部３３に入力され、最大電流を制限された電流指令値Ｉｒｅｆｍが減算部３２Ｂに入力され、フィードバックされているモータ電流値Ｉｍとの偏差Ｉ（Ｉｒｅｆｍ−Ｉｍ）が演算され、その偏差Ｉが操舵動作の特性改善のためのＰＩ（比例積分）制御部３５に入力される。ＰＩ制御部３５で特性改善された電圧制御指令値ＶｒｅｆがＰＷＭ制御部３６に入力され、更に駆動部としてのインバータ３７を介してモータ２０がＰＷＭ駆動される。モータ２０の電流値Ｉｍはモータ電流検出器３８で検出され、減算部３２Ｂにフィードバックされる。インバータ３７は駆動素子としてＦＥＴ（電界効果トランジスタ）が用いられ、ＦＥＴのブリッジ回路で構成されている。
【０００７】
加算部３２Ａには補償信号生成部３４からの補償信号ＣＭが加算されており、補償信号ＣＭの加算によって操舵システム系の特性補償を行い、収れん性や慣性特性等を改善するようになっている。補償信号生成部３４は、セルフアライニングトルク（ＳＡＴ）３４３と慣性３４２を加算部３４４で加算し、その加算結果に更に収れん性３４１を加算部３４５で加算し、加算部３４５の加算結果を補償信号ＣＭとしている。
【０００８】
上述のような電動パワーステアリング装置において、近年、信頼性・操作性の向上や機能冗長化等の要求から、各種センサを多重化して搭載する場合がある。しかし、電動パワーステアリング装置のコスト低減や小型化の要求もあるため、複数のセンサを多重化することは容易ではない。そのため、現状搭載されている限られたセンサを最大限に利用して、センサ同士を監視・診断できるような手法が望ましい。しかし、センサの取り付け位置によってはギアを介している場合があり、その場合、センサ同士を監視・診断するためにはギアのガタの影響を低減させる必要がある。
【０００９】
従来技術として、国際公開第２００４／０２２４１４号（特許文献１）は、電気機械式操舵系を有する車両のためのトルクを測定するための方法を開示しており、トルクセンサのバックアップ用として考えられている。全体構成としては、駆動操舵機構に接続された入力軸部及び出力軸部と、サーボモータを有するトーションバーを介して接続されている操舵手段とを備えた電気機械式操舵装置である。その構成は、駆動用操舵機構の入力軸部及び出力軸部の間の相対回転変位から、トルク検出を行う電気機械式操舵装置（ディジタル回路もしくはアナログ回路）であるが、舵角（δ）センサの出力とサーボモータの回転角度の２入力で、仮想トルクを検出するセンサを形成しており、仮想トルクから操舵トルクが決定される。
【００１０】
また、特開２００５−２７４４８４号公報（特許文献２）では、舵角センサを複数（３個）搭載して冗長系を構成している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２００４／０２２４１４号
【特許文献２】特開２００５−２７４４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１の装置では、バックアップの系統としては、舵角センサの故障に対して、サーボモータのロータ回転情報によりバックアップを行うことができるが、両センサに対して相互の故障診断とバックアップは不可能である。また、特許文献２の例では、操舵系周りが大型化するので、装置の車両搭載性が悪化し、一般的にコストアップとなる問題がある。
【００１３】
本発明は上述のような事情よりなされたものであり、本発明の目的は、ギア機構を介する角度センサの他に複数の角度センサがステアリングシャフトに搭載されており、ギア機構の特性を学習し、その学習結果とギア機構を介する角度センサの信号を用いて他の角度センサの信号を推定することにより監視及び診断を行い、バックアップ用に角度センサのさらなる多重化を行うことなく、バックアップを可能とする安価で高性能な電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、ギア機構を介して第１舵角を検出する第１角度センサと、前記ギア機構を介さずに第２舵角を検出する第２角度センサとを少なくとも具備する電動パワーステアリング装置に関し、本発明の上記目的は、前記第１舵角及び前記第２舵角に基づいて前記ギア機構の特性を学習して補正用オフセットを算出する補正用オフセット算出部と、前記補正用オフセットを用いて前記第２舵角を推定する舵角推定部とを備え、前記補正用オフセット算出部は、操舵速度が所定の範囲内である場合に、前記学習を行うことにより達成される。
【００１５】
本発明の上記目的は、前記補正用オフセット算出部は、前記操舵速度が所定の範囲内であり、且つ操舵加速度の絶対値が所定の値以下の場合に、前記学習を行うことにより、或いは前記第１舵角及び前記第２舵角を相対舵角化する相対舵角化部を備え、前記補正用オフセット算出部は、前記相対舵角化された第１舵角及び第２舵角に基づいて前記補正用オフセットを算出することにより、或いは操舵方向を判定する操舵判定部を備え、前記補正用オフセット算出部は、前記判定された操舵方向に応じた前記補正用オフセットを算出することにより、或いは前記第２角度センサが多重系統になっており、前記第２角度センサの１系統が故障した場合、前記第２舵角の実測値及び推定値を用いて前記第２角度センサのバックアップを行うようになっていることにより、或いは前記第２舵角の実測値及び推定値に基づいて、前記第２角度センサの監視及び診断を行うことにより、或いは前記補正用オフセット算出部は、前記第１舵角及び前記第２舵角の偏差を学習して補正用オフセットを算出することにより、或いは前記補正用オフセット算出部は、前記第１角度センサの角度周期の範囲内において所定の間隔で算出される複数の前記偏差を学習し、学習された前記複数の偏差の平均値を前記補正用オフセットとすることにより、或いは前記補正用オフセット算出部は、前記所定の間隔で算出される複数の前記偏差の学習が全て完了したら、前記補正用オフセットを算出することにより、或いは前記第１角度センサ及び前記第２角度センサがステアリングシャフトのインプットシャフト側に搭載されていることにより、より効果的に達成される。
【発明の効果】
【００１６】
本発明に係る電動パワーステアリング装置によれば、角度センサが正常に動作しているときにギア機構の特性、特に操舵方向によるガタ成分を学習し、補正用オフセットを算出し、ギア機構を介する角度センサの信号と補正用オフセットを用いて他の角度センサの信号を推定することにより監視及び診断を行うことができ、他の角度センサが故障した場合にはバックアップすることができる。
【図面の簡単な説明】
【００１７】
【図１】電動パワーステアリング装置の概要を示す構成図である。
【図２】電動パワーステアリング装置の制御系の構成例を示すブロック図である。
【図３】本発明の角度センサの配設例を示すブロック図である。
【図４】本発明の構成例を示すブロック図である。
【図５】本発明に係る操舵判定部の構成例を示すブロック図である。
【図６】学習ポイントの例を示す図である。
【図７】本発明に係る補正用オフセット算出部の構成例を示すブロック図である。
【図８】本発明の動作例を示すフローチャートである。
【図９】相対舵角化の動作例を示すフローチャートである。
【図１０】操舵判定の動作例を示すフローチャートである。
【図１１】本発明による操舵判定の変化の様子を示す図である。
【図１２】補正用オフセット算出の動作例を示すフローチャートである。
【図１３】本発明による補正用オフセット使用による推定の変化の様子を示す図である。
【発明を実施するための形態】
【００１８】
本発明は、ステアリングシャフトに複数の角度センサが搭載されており、その中にギア機構を介して舵角を検出する角度センサ（第１角度センサ）がある場合、そのギア機構の特性を学習し、学習結果と第１角度センサが検出する舵角（舵角信号）を用いて、他の角度センサ（第２角度センサ）が検出する舵角を推定する。通常、ギアには自由に動くことができるようにガタ（バックラッシュ）が存在し、このガタにより第１角度センサが検出する舵角（第１舵角）と第２角度センサが検出する舵角（第２舵角）に誤差（偏差）が発生するので、本発明では、ガタの影響を低減させるためにギア機構の特性であるガタ成分を学習する。学習により補正用オフセットを算出し、第１舵角を補正用オフセットで補正することにより、第２舵角を推定する。そして、推定された舵角を用いて第２角度センサの監視及び診断を行うと共に、第２角度センサが２重系統となっている場合には１系統が故障（以下、「異常」を含む）した際にバックアップできるようになっている。
【００１９】
以下に、本発明の実施の形態を、図面を参照して説明する。
【００２０】
本実施形態では、図３に示すように、角度センサがステアリングシャフト（ハンドル軸）２に装着され、各種検出信号が出力される。即ち、ハンドル軸２のハンドル１側のインプットシャフト（入力シャフト）２Ａには、ホールＩＣセンサ２１及び1対の角度センサで構成されるトルクセンサの一方の角度センサであるトルクセンサインプット側ロータの２０°ロータセンサ２２が装着されている。ホールＩＣセンサ２１はギアを介してインプットシャフト２Ａに装着されており、インプットシャフト２Ａの回転を２９６°周期で検出し、ＡＳ＿ＩＳ角度θｈを出力する。トルクセンサは２重系統となっており、トーションバー２３よりもハンドル１側に直接装着された２０°ロータセンサ２２はインプットシャフト２Ａの回転を２０°周期で検出し、ＴＳ＿ＩＳ角度θｓ１及びθｓ２を出力すると共に、ＴＳ＿ＩＳ角度θｓ１及びθｓ２は舵角演算部５０に入力される。また、ハンドル軸２のアウトプットシャフト（出力シャフト）２Ｂには、トルクセンサのもう一方の角度センサであるトルクセンサアウトプット側ロータの４０°ロータセンサ２４が直接装着されており、４０°ロータセンサ２４はアウトプットシャフト２Ｂの回転を４０°周期で検出し、ＴＳ＿ＯＳ角度θｒ１及びθｒ２を出力すると共に、ＴＳ＿ＯＳ角度θｒ１及びθｒ２は舵角演算部５０に入力される。舵角演算部５０は、ＴＳ＿ＩＳ角度θｓ１及びＴＳ＿ＯＳ角度θｒ１の相対変位を演算し、捩れ角度θｔ１を出力し、同様にＴＳ＿ＩＳ角度θｓ２及びＴＳ＿ＯＳ角度θｒ２の相対変位を演算し、捩れ角度θｔ２を出力する。捩れ角度θｔ１及びθｔ２に基づいて操舵トルクが演算される。
【００２１】
本実施形態では、ホールＩＣセンサ２１が第１角度センサに、２０°ロータセンサ２２が第２角度センサに相当し、ホールＩＣセンサ２１が出力するＡＳ＿ＩＳ角度θｈが第１舵角に、２０°ロータセンサ２２が出力するＴＳ＿ＩＳ角度θｓ１及びθｓ２（以下、θｓ１及びθｓ２を総称して「θｓ」とし、「θｓ」はθｓ１又はθｓ２を意味するものとする）が第２舵角に相当する。ＡＳ＿ＩＳ角度θｈ並びにＴＳ＿ＩＳ角度θｓ１及びθｓ２はコントロールユニット（図示せず）に入力される。なお、ＴＳ＿ＯＳ角度θｒ１及びθｒ２並びに捩れ舵角θｔ１及びθｔ２もコントロールユニットに入力されるが、本発明には直接的に関連しないので、説明を省略する。
【００２２】
このような構成において、第１舵角であるＡＳ＿ＩＳ角度θｈを用いて第２舵角であるＴＳ＿ＩＳ角度θｓのバックアップを行うためには、ホールＩＣセンサ２１及び２０°ロータセンサ２２の角度周期の違い、角度基準点の違い及びギアのガタの影響を考慮してＴＳ＿ＩＳ角度θｓを推定する必要がある。
【００２３】
角度周期の違いについては、ＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓをハンドル角度として扱う、即ち相対舵角化することにより対応する。角度センサの性能によっては、必要に応じて、ＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓに対してフィルタを使用してノイズを除去しておく。
【００２４】
角度基準点の違い及びギアのガタの影響については、２重系統であるトルクセンサが共に正常に動作しているときの相対舵角化されたＴＳ＿ＩＳ角度θｓ及びＡＳ＿ＩＳ角度θｈの誤差を、上述のように学習して補正用オフセットを算出し、補正用オフセットでＡＳ＿ＩＳ角度θｈを補正することにより対応する。補正用オフセットは操舵方向に応じて算出され、具体的には左切操舵、右切操舵及び保舵の３パターンの補正用オフセットが算出され、操舵状況に応じて補正用オフセットを使い分けることによりギアのガタによる誤差への影響を減らす。
【００２５】
このような機能を実施するコントロールユニットの構成例を図４に示す。
【００２６】
コントロールユニットに入力されるＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓは相対舵角化部６０に入力され、相対舵角化部６０は、相対舵角化されたＡＳ＿ＩＳ角度（以下、「ＡＳ＿ＩＳ相対舵角」とする）θｈｒ及び相対舵角化されたＴＳ＿ＩＳ角度（以下、「ＴＳ＿ＩＳ相対舵角」とする）θｓｒを出力する。ＡＳ＿ＩＳ相対舵角θｈｒは操舵判定部７０、補正用オフセット算出部８０及び舵角推定部１００に入力され、ＴＳ＿ＩＳ相対舵角θｓｒは補正用オフセット算出部８０に入力される。操舵判定部７０は操舵状況（左切／右切／保舵）を判定し、判定結果Ｓｊを出力し、判定結果Ｓｊは補正用オフセット算出部８０及び舵角推定部１００に入力される。補正用オフセット算出部８０は、ＡＳ＿ＩＳ相対舵角θｈｒ、ＴＳ＿ＩＳ相対舵角θｓｒ及び判定結果Ｓｊより、左切操舵での補正用オフセット（以下、「左切時オフセット」とする）Ｃｓｌ、右切操舵での補正用オフセット（以下、「右切時オフセット」とする）Ｃｓｒ及び保舵時での補正用オフセット（以下、「保舵時オフセット」とする）Ｃｓｋを求める。補正用オフセット（左切時オフセットＣｓｌ、右切時オフセットＣｓｒ、保舵時オフセットＣｓｋ）は補正用オフセット記憶部９０に格納される。舵角推定部１００は、ＡＳ＿ＩＳ相対舵角θｈｒ、判定結果Ｓｊ及び補正用オフセット記憶部９０に格納される補正用オフセットより推定されるＴＳ＿ＩＳ相対舵角（以下、「ＴＳ＿ＩＳ推定舵角」とする）θｓｅを出力する。
【００２７】
以下、各部について説明する。
【００２８】
相対舵角化部６０は、ＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓの角度周期の違いをなくすために、これらの角度（角度信号）をアンチロールオーバーさせ、相対舵角として扱う。ＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓに対して同じ手順を適用し、入力角度（ＡＳ＿ＩＳ角度θｈ、ＴＳ＿ＩＳ角度θｓ）と前回（１サンプル前）の入力角度との差分（以下、「角度差分」とする）に基づいて加算する角度（以下、「加算角度」とする）を決め、加算開始時点から累積された加算角度（以下、「累積加算角度」とする）を入力角度に加算して相対舵角（ＡＳ＿ＩＳ相対舵角θｈｒ、ＴＳ＿ＩＳ相対舵角θｓｒ）を求めることにより、相対舵角化を行う。具体的には、入力角度が入力角度範囲の最大値（以下、「角度最大値」とする）の１／２より減少した場合、即ち、角度差分が角度最大値の−１／２倍より小さい場合、加算角度は角度最大値とし、入力角度が角度最大値の１／２より増加した場合、即ち、角度差分が角度最大値の１／２倍より大きい場合、加算角度は角度最大値×（−１）とし、それ以外の場合、加算角度は０とする。また、入力角度に重畳したノイズを除去する場合は、相対舵角に対してフィルタ処理を施す。
【００２９】
操舵判定部７０は、操舵状況に応じて補正用オフセットを使い分けるための操舵状況を判定する。角度センサ（本実施形態ではホールＩＣセンサ２１）のギアのガタ成分を補正するためにはギアの回転方向の情報が必要で、ギアの回転方向は操舵方向より判断できるので、操舵判定部７０にて操舵状況（左切／右切／保舵）を判定する。操舵状況の判定は、ＡＳ＿ＩＳ相対舵角θｈｒにヒステリシス特性を持たせることにより、即ち、ＡＳ＿ＩＳ相対舵角θｈｒに所定のヒステリシス幅を持たせることにより行う。ヒステリシス特性を持たせることにより、ノイズによる操舵状況判定への影響を軽減することができる。入力されるＡＳ＿ＩＳ相対舵角θｈｒに所定の値を減算した値を上限値（以下、「舵角上限値」とする）として設定し、ＡＳ＿ＩＳ相対舵角θｈｒから所定の値を加算した値を下限値（以下、「舵角下限値」とする）として設定し、舵角上限値と舵角下限値の差がヒステリシス幅となる。そして、舵角上限値及び舵角下限値とヒステリシス幅の中心値（以下、「ヒステリシス中心値」とする）の前回（１サンプル前）の値（以下、「ヒステリシス中心前回値」とする）との比較により、ヒステリシス中心値の更新を行う。具体的には、舵角上限値がヒステリシス中心前回値より大きい場合、舵角上限値をヒステリシス中心値とし、舵角下限値がヒステリシス中心前回値より小さい場合、舵角下限値をヒステリシス中心値とし、それ以外の場合、ヒステリシス中心値の更新は行わない。そして、ＡＳ＿ＩＳ相対舵角θｈｒとヒステリシス中心値との比較により操舵方向を判定し、さらに、ヒステリシス中心値が一定時間変化しない場合を保舵とみなす。即ち、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値より小さい場合、右切操舵と暫定的に判定し（以下、この判定結果を「暫定判定結果」とする）、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値より大きい場合、左切操舵と暫定的に判定し、それ以外の場合（つまり、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値と同じ場合）、前回の暫定判定結果を暫定判定結果とし、ヒステリシス中心値が一定時間変化しない場合、判定結果Ｓｊを保舵として、そうでない場合、暫定判定結果を判定結果Ｓｊとする。なお、ヒステリシス幅は角度センサのノイズ成分を除去できる大きさに設定し、保舵と判定する時間間隔は、ゆっくり操舵したときを保舵と誤判定しない程度に設定する。
【００３０】
操舵判定部７０の構成例を図５に示す。ヒステリシス幅設定部７１はＡＳ＿ＩＳ相対舵角θｈｒに所定のヒステリシス幅を持たせ、舵角上限値θ１及び舵角下限値θ２を出力する。ヒステリシス中心値演算部７２は舵角上限値θ１及び舵角下限値θ２とメモリ部７５に保持されているヒステリシス中心前回値θｃｐとの比較によりヒステリシス中心値の更新を行い、ヒステリシス中心値θｃを出力する。ヒステリシス中心値θｃはメモリ部７５に保持されると共に、操舵方向判定部７３及び保舵判定部７４に入力される。操舵方向判定部７３はＡＳ＿ＩＳ相対舵角θｈｒとヒステリシス中心値θｃとの比較により操舵方向を判定し、暫定判定結果Ｓｄを出力する。保舵判定部７４はヒステリシス中心値θｃ及びヒステリシス中心前回値θｃｐに基づいて保舵か否かを判定し、その判定結果と暫定判定結果Ｓｄより判定結果Ｓｊを決定し、出力する。
【００３１】
補正用オフセット算出部８０は、２重系統のトルクセンサが正常に動作しているときにＴＳ＿ＩＳ相対舵角θｓｒとＡＳ＿ＩＳ相対舵角θｈｒの差（以下、「相対舵角差」とする）を学習し、補正用オフセットを算出する。単純なＴＳ＿ＩＳ相対舵角とＡＳ＿ＩＳ相対舵角の差ではガタの詰まり具合が不定となるために、学習は左切操舵及び右切操舵の両方向で行う。また、誤学習を避けるために、学習時の操舵速度は遅すぎず速すぎない一定の速度が出ている状態（ガタが詰まっている状態）で行う。遅すぎる操舵速度の場合、例えば保舵状態ではガタの状態が不定となるために、誤学習する可能性が高くなってしまう。速すぎる操舵速度の場合、データ（ＡＳ＿ＩＳ角度θｈ、ＴＳ＿ＩＳ角度θｓ）を取得するタイミングの誤差やギアの歯車の慣性等により、やはり誤学習する可能性が高くなってしまう。更に、適切な操舵速度であっても、速度変動（加速度）が大きい場合は、誤学習する可能性が高いので、操舵速度が安定した状態でのみ学習を行う。また、ギアの歯車の組み合わせでガタ成分は変わるので、学習するサンプル数は多い方が望ましいが、学習に使用する相対舵角差の情報量を抑制する必要もあるので、適切な間隔でサンプルしたデータを使用する。本実施形態では、ホールＩＣセンサ２１の角度周期（２９６°）を１０°±１°で刻み、各刻みポイントで相対舵角差の学習を左切操舵及び右切操舵の両方向で行い、総計６０ポイントで学習を行う（以下、学習を行うポイントを「学習ポイント」とする）。図６は学習ポイントの例を示す図である。横軸はＡＳ＿ＩＳ相対舵角で、縦軸は相対舵角差で、左切操舵及び右切操舵をした場合の相対舵角差の変化を実線で示している。そして、学習ポイントの一部を破線で示しており、その学習ポイントでの一操舵方向のサンプルデータを丸で示している。図６で示されるような学習ポイントでサンプルデータを取得する。そして、左切操舵での３０の学習ポイントの学習結果の平均を左切時オフセットＣｓｌとし、右切操舵での３０の学習ポイントの学習結果の平均を右切時オフセットＣｓｒとし、左切時オフセットと右切時オフセットの平均を保舵時オフセットＣｓｋとする。各学習ポイントでの学習結果として、複数のサンプルデータから算出される平均値等を使用することも可能であるが、本実施形態では、１つのサンプルデータのみを使用する。なお、学習ポイントは上記の６０ポイントに限られず、他の刻み幅や可変な刻み幅等で設定されたポイントで学習を行っても良い。また、左切時オフセット及び右切時オフセットは複数の学習結果の平均値ではなく、最頻値や中央値等でも良い。
【００３２】
補正用オフセット算出部８０の構成例を図７に示す。
【００３３】
操舵速度算出部８１はＡＳ＿ＩＳ相対舵角θｈｒより操舵速度ωｈｒを算出し、操舵加速度算出部８２は操舵速度ωｈｒより操舵加速度αｈｒを算出して、操舵速度ωｈｒ及び操舵加速度αｈｒはギア特性学習部８３に入力される。ギア特性学習部８３には、操舵速度ωｈｒ及び操舵加速度αｈｒの他に、ＡＳ＿ＩＳ相対舵角θｈｒ、ＴＳ＿ＩＳ相対舵角θｓｒ及び操舵判定部７０から出力される判定結果Ｓｊが入力される。
【００３４】
ギア特性学習部８３は、相対舵角差Ｒｓ（＝ＴＳ＿ＩＳ相対舵角θｓｒ−ＡＳ＿ＩＳ相対舵角θｈｒ）を用いて学習を行う。まず、ＡＳ＿ＩＳ相対舵角θｈｒ及びＴＳ＿ＩＳ相対舵角θｓｒが学習に使用可能なデータであるか、操舵速度ωｈｒ及び操舵加速度αｈｒを用いて判定する。即ち、操舵速度ωｈｒが適切な範囲の速度であり、且つ操舵加速度αｈｒの絶対値が大きくなければ、操舵速度が遅すぎず早すぎず且つ安定した状態ということで、学習に使用可能と判定する。学習に使用可能と判定されたら、判定結果Ｓｊが「左切」の場合は左切操舵での学習ポイントとしての学習を行い、判定結果Ｓｊが「右切」の場合は右切操舵での学習ポイントとしての学習を行い、判定結果Ｓｊが「保舵」の場合は学習を行わない。各学習ポイントでの学習結果として相対舵角差Ｒｓが学習結果保持部８４に保持される。相対舵角差Ｒｓを保持するに当たり、どの学習ポイントに対する学習結果であるか学習ポイントを特定する必要があるが、学習ポイントはＡＳ＿ＩＳ相対角度θｈｒの可動範囲を一定の間隔ＷＤ（例えば１０°）で刻んだポイントであり、常に同じポイントでデータの取得が可能ならば、ＡＳ＿ＩＳ相対角度θｈｒの値をそのまま用いて、学習ポイントを特定できる。しかし、実際には常に同じポイントでデータを取得するのは難しく、ＡＳ＿ＩＳ相対角度θｈｒの値がぶれてしまうので、ＡＳ＿ＩＳ相対角度θｈｒを加工して学習ポイントを特定する。具体的には、例えば下記数１から算出される値ｓｐを用いる。
【００３５】
【数１】
2018052496.tif 000003
Ｋｐは一操舵方向で設定する学習ポイント数（例えば３０）、ＲＯＵＮＤ（ｘ）はｘの小数点以下を四捨五入した値を返す関数、ｍｏｄは、（Ａ  ｍｏｄ  Ｂ）の場合、ＡをＢで割った剰余（余り）を算出する演算子である。このｓｐを、各学習ポイントを特定するための識別子として使用し、操舵方向（左切、右切）別で識別子ｓｐの値毎に相対舵角差Ｒｓを保持する領域が学習結果保持部８４に設けられ、操舵方向及び識別子ｓｐを基に相対舵角差Ｒｓを保持していく。例えば、ＷＤ＝１０°、Ｋｐ＝３０の設定において、左切操舵でのＡＳ＿ＩＳ相対角度θｈｒの値が１２３°の場合、ｓｐ＝１２となり、この時の相対舵角差Ｒｓは、左切で値が１２の識別子ｓｐに対する領域に保持される。なお、これ以外の方法で学習ポイントを特定しても良い。
【００３６】
全ての学習ポイントでの学習が完了したら、学習結果保持部８４に保持されている相対舵角差Ｒｓを用いて、補正用オフセット（左切時オフセットＣｓｌ、右切時オフセットＣｓｒ、保舵時オフセットＣｓｋ）を算出する。
【００３７】
補正用オフセットは補正用オフセット記憶部９０に格納され、バックアップは補正用オフセットが求まった段階から可能となる。
【００３８】
舵角推定部１００は、操舵判定部７０から出力される判定結果（左切／右切／保舵）に応じて、補正用オフセット記憶部９０に格納されている補正用オフセットを選択し、ＡＳ＿ＩＳ相対舵角θｈｒに補正用オフセットを加算し、ＴＳ＿ＩＳ推定舵角θｓｅを求める。
【００３９】
このような構成において、まず全体の動作例を図８のフローチャートを参照して説明する。
【００４０】
ホールＩＣセンサ２１で検出されたＡＳ＿ＩＳ角度θｈ及び２０°ロータセンサ２２で検出されたＴＳ＿ＩＳ角度θｓは、相対舵角化部６０に入力される（ステップＳ１０）。相対舵角化部６０は、ＡＳ＿ＩＳ角度θｈを相対舵角化して（ステップＳ２０）、ＡＳ＿ＩＳ相対舵角θｈｒを出力し、ＴＳ＿ＩＳ角度θｓを相対舵角化して（ステップＳ３０）、ＴＳ＿ＩＳ相対舵角θｓｒを出力する。相対舵角化の動作については後述する。なお、ＡＳ＿ＩＳ角度θｈの相対舵角化とＴＳ＿ＩＳ角度θｓの相対舵角化の順番は逆でも良い。操舵判定部７０は、相対舵角化部６０から出力されたＡＳ＿ＩＳ相対舵角θｈｒを用いて操舵状況を判定し、左切操舵と判定した場合は「左切」、右切操舵と判定した場合は「右切」、保舵状態と判定した場合は「保舵」とした判定結果Ｓｊを出力する（ステップＳ４０）。操舵判定の動作については後述する。そして、相対舵角差の学習が完了していない場合（ステップＳ５０）、補正用オフセット算出部８０は、相対舵角化部６０から出力されたＡＳ＿ＩＳ相対舵角θｈｒ及びＴＳ＿ＩＳ相対舵角θｓｒ並びに操舵判定部７０から出力された判定結果Ｓｊを用いてギアのガタ成分の学習動作を行い（ステップＳ６０）、ステップＳ１０に戻る。学習の動作については後述する。学習が完了している場合（ステップＳ５０）、左切時オフセットＣｓｌ、右切時オフセットＣｓｒ及び保舵時オフセットＣｓｋが補正用オフセットとして補正用オフセット記憶部９０に格納されているので、舵角推定部１００は、操舵判定部７０から出力された判定結果Ｓｊを確認し（ステップＳ７０）、判定結果Ｓｊが「左切」の場合、相対舵角化部６０から出力されたＡＳ＿ＩＳ相対舵角θｈｒに、補正用オフセット記憶部９０に格納されている左切時オフセットＣｓｌを加算することによりＴＳ＿ＩＳ推定舵角θｓｅを算出する（ステップＳ８０）。判定結果Ｓｊが「右切」の場合、ＡＳ＿ＩＳ相対舵角θｈｒに、補正用オフセット記憶部９０に格納されている右切時オフセットＣｓｒを加算することによりＴＳ＿ＩＳ推定舵角θｓｅを算出する（ステップＳ９０）。判定結果Ｓｊが「保舵」の場合、ＡＳ＿ＩＳ相対舵角θｈｒに、補正用オフセット記憶部９０に格納されている保舵時オフセットＣｓｋを加算することによりＴＳ＿ＩＳ推定舵角θｓｅを算出する（ステップＳ１００）。なお、学習が完了しているか否かは、補正用オフセット記憶部９０に補正用オフセットが格納されているか否かで判定しても良いし、フラグ等を使用して通知するようにしても良い。
【００４１】
相対舵角化部６０での相対舵角化の動作例を図９のフローチャートを参照して説明する。なお、ＡＳ＿ＩＳ角度θｈの相対舵角化とＴＳ＿ＩＳ角度θｓの相対舵角化の動作は同じであるから、以下の説明では、ＡＳ＿ＩＳ角度θｈ及びＴＳ＿ＩＳ角度θｓの代わりに「入力角度」という表現を使用する。また、動作開始の際、累積加算角度の初期値として０を設定し、前回（１サンプル前）の入力角度の初期値としては今回（現サンプル）と同じ値を使用する。
【００４２】
相対舵角化では、まず入力角度から前回の入力角度を減算することにより角度差分を算出する（ステップＳ２１０）。入力角度は次回の相対舵角化に使用されるので、相対舵角化部６０に保持される。そして、算出された角度差分が角度最大値の−１／２倍より小さい場合（ステップＳ２２０）、角度最大値を加算角度とする（ステップＳ２３０）。角度差分が角度最大値の−１／２倍以上の場合、角度差分と角度最大値の１／２倍を比較し（ステップＳ２４０）、角度差分が角度最大値の１／２倍より大きいならば、角度最大値×（−１）を加算角度とし（ステップＳ２５０）、角度差分が角度最大値の１／２倍以下ならば、加算角度は０とする（ステップＳ２６０）。決定された加算角度は累積加算角度に加算される（ステップＳ２７０）。そして、入力角度に累積加算角度を加算して相対舵角（ＡＳ＿ＩＳ相対舵角θｈｒ、ＴＳ＿ＩＳ相対舵角θｓｒ）を算出する（ステップＳ２８０）。ノイズ除去のために相対舵角にフィルタ処理を施して（ステップＳ２９０）、出力する。なお、フィルタ処理は必要に応じて実行すれば良く、実行しなくても良い。
【００４３】
操舵判定部７０での操舵判定の動作例を図１０のフローチャートを参照して説明する。
【００４４】
操舵判定では、まずヒステリシス幅設定部７１が、相対舵角化部６０から出力されたＡＳ＿ＩＳ相対舵角θｈｒに所定の値（以下、「ヒス幅」とする）Ｒｈを減算して舵角上限値θ１（＝θｈｒ−Ｒｈ）を算出し（ステップＳ４１０）、ＡＳ＿ＩＳ相対舵角θｈｒからヒス幅Ｒｈを加算して舵角下限値θ２（＝θｈｒ＋Ｒｈ）を算出する（ステップＳ４１５）。舵角上限値θ１の算出と舵角下限値θ２の算出の順番は逆でも良い。舵角上限値θ１及び舵角下限値θ２はヒステリシス中心値演算部７２に入力され、ヒステリシス中心値演算部７２は、舵角上限値θ１とメモリ部７５に保持されているヒステリシス中心前回値θｃｐを比較し（ステップＳ４２０）、舵角上限値θ１がヒステリシス中心前回値θｃｐより大きい場合、ヒステリシス中心値θｃを舵角上限値θ１とする（ステップＳ４２５）。舵角上限値θ１がヒステリシス中心前回値θｃｐ以下の場合、舵角下限値θ２とヒステリシス中心前回値θｃｐを比較し（ステップＳ４３０）、舵角下限値θ２がヒステリシス中心前回値θｃｐより小さいならば、ヒステリシス中心値θｃを舵角下限値θ２とし（ステップＳ４３５）、舵角下限値θ２がヒステリシス中心前回値θｃｐ以上ならば、ヒステリシス中心値の更新は行わず、ヒステリシス中心前回値θｃｐがヒステリシス中心値θｃとなる（ステップＳ４４０）。なお、舵角上限値θ１及び舵角下限値θ２が動作開始時点で算出された最初のＡＳ＿ＩＳ相対舵角θｈｒから算出されたデータの場合、舵角上限値θ１及び舵角下限値θ２の平均（＝（θ１＋θ２）／２）がヒステリシス中心値θｃとなる。本実施形態の場合、θ１＝θｈｒ−Ｒｈ、θ２＝θｈｒ＋Ｒｈであるから、最初のヒステリシス中心値θｃはＡＳ＿ＩＳ相対舵角θｈｒと同じ値となる。ヒステリシス中心値θｃはメモリ部７５にヒステリシス中心前回値θｃｐとして保持されると共に、操舵方向判定部７３及び保舵判定部７４に入力される。操舵方向判定部７３はＡＳ＿ＩＳ相対舵角θｈｒを入力し、ＡＳ＿ＩＳ相対舵角θｈｒとヒステリシス中心値θｃを比較し、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値θｃより小さい場合（ステップＳ４４５）、暫定判定結果Ｓｄを「右切」（右切操舵）とし（ステップＳ４５０）、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値θｃより大きい場合（ステップＳ４５５）、暫定判定結果Ｓｄを「左切」（左切操舵）とし（ステップＳ４６０）、ＡＳ＿ＩＳ相対舵角θｈｒがヒステリシス中心値θｃと同じ場合、暫定判定結果Ｓｄは前回（１サンプル前）の暫定判定結果と同じにする（ステップＳ４６５）。暫定判定結果Ｓｄは、ヒステリシス中心値θｃ及びメモリ部７５に保持されているヒステリシス中心前回値θｃｐと共に保舵判定部７４に入力される。保舵判定部７４は、ヒステリシス中心値θｃとヒステリシス中心前回値θｃｐを比較し、ヒステリシス中心値θｃとヒステリシス中心前回値θｃｐが同じ値で、且つ同じ値である状態が一定時間（例えば１００ｍｓ（ミリ秒））継続した場合（ステップＳ４７０）、判定結果Ｓｊを「保舵」とし（ステップＳ４７５）、そうでない場合、判定結果Ｓｊは暫定判定結果Ｓｄと同じにして（ステップＳ４８０）、出力する。
【００４５】
上記の操舵判定の変化の様子を、図１１を用いて説明する。図１１は縦軸を角度、横軸を時間として、ＡＳ＿ＩＳ相対舵角を実線で、ヒステリシス中心値を破線で示したものであり、ハンドルを右に切った状態から左に回し（左切操舵）、オンセンター（直進位置）を過ぎてから暫くして操舵方向を右に変え（右切操舵）、再度オンセンターを過ぎてから操舵方向を左に変えた（左切操舵）場合の変化の様子を表わしている。
【００４６】
左切操舵では、ＡＳ＿ＩＳ相対舵角θｈｒが増加していき、舵角上限値θ１（＝θｈｒ−Ｒｈ）がヒステリシス中心前回値θｃｐを上回る状態が続き、ヒステリシス中心値θｃは舵角上限値θ１に更新されるので、ＡＳ＿ＩＳ相対舵角θｈｒに合わせてヒステリシス中心値θｃも増加していく。この間は、ＡＳ＿ＩＳ相対角度θｈｒはヒステリシス中心値θｃより大きく、ヒステリシス中心値θｃは変化し続けるので、判定結果は「左切」となる。その後、右切操舵に変えるために操舵速度が遅くなると、ＡＳ＿ＩＳ相対舵角θｈｒの増加も鈍くなり、舵角上限値θ１がヒステリシス中心前回値θｃｐより大きくはなくなり、さらに右切操舵に変わると、ＡＳ＿ＩＳ相対舵角θｈｒは減少に転じ、舵角下限値θ２（＝θｈｒ＋Ｒｈ）がヒステリシス中心前回値θｃｐを下回った時点ｔ１でヒステリシス中心値θｃは舵角下限値θ２に変わるので、ヒステリシス中心値θｃがＡＳ＿ＩＳ相対舵角θｈｒより大きくなる。よって、判定結果は「右切」となり、暫くはＡＳ＿ＩＳ相対舵角θｈｒの減少により舵角下限値θ２がヒステリシス中心前回値θｃｐを下回る状態が続き、ヒステリシス中心値θｃは舵角下限値θ２に更新されるので、ＡＳ＿ＩＳ相対舵角θｈｒに合わせて減少していく。この間は、ＡＳ＿ＩＳ相対角度θｈｒはヒステリシス中心値θｃより小さく、ヒステリシス中心値θｃは変化し続けるので、判定結果は「右切」が続く。その後、再度左切操舵に変わると、ＡＳ＿ＩＳ相対舵角θｈｒは増加に転じ、舵角上限値θ１がヒステリシス中心前回値θｃｐを上回った時点ｔ２でヒステリシス中心値θｃは舵角上限値θ１に変わるので、ヒステリシス中心値θｃがＡＳ＿ＩＳ相対舵角θｈｒより小さくなり、判定結果は「左切」となる。
【００４７】
なお、上記操舵判定では、舵角上限値θ１及び舵角下限値θ２の算出では同じヒス幅を使用しているが、値が違うヒス幅を使用しても良い。
【００４８】
補正用オフセット算出部８０での学習の動作例を図１２のフローチャートを参照して説明する。
【００４９】
学習では、まず相対舵角化部６０から出力されたＡＳ＿ＩＳ相対舵角θｈｒが操舵速度算出部８１及びギア特性学習部８３に、ＴＳ＿ＩＳ相対舵角θｓｒがギア特性学習部８３にそれぞれ入力される（ステップＳ６１０）。操舵速度算出部８１は、ＡＳ＿ＩＳ相対舵角θｈｒより操舵速度ωｈｒを算出し、操舵加速度算出部８２及びギア特性学習部８３に出力する（ステップＳ６２０）。操舵加速度算出部８２は、操舵速度ωｈｒより操舵加速度αｈｒを算出し、ギア特性学習部８３に出力する（ステップＳ６３０）。
【００５０】
ギア特性学習部８３は、操舵速度ωｈｒが所定の速度Ｌω以上で所定の速度Ｈω（＞Ｌω）以下で、且つ操舵加速度αｈｒの絶対値が所定の値Ｈα以下の場合（ステップＳ６４０）、学習可能として次のステップに進み、そうでない場合、学習の動作を抜ける。学習可能ならば、ＡＳ＿ＩＳ相対角度θｈｒを用いて、数１より識別子ｓｐを求め、学習ポイントを特定し（ステップＳ６５０）、さらに操舵判定部７０から出力された判定結果Ｓｊを入力する（ステップＳ６６０）。判定結果Ｓｊが「左切」の場合（ステップＳ６７０）、左切における識別子ｓｐに対応する学習ポイントでの学習が未学習か確認する（ステップＳ６８０）。未学習ならば、ＴＳ＿ＩＳ相対舵角θｓｒからＡＳ＿ＩＳ相対舵角θｈｒを減算して相対舵角差Ｒｓを算出し（ステップＳ６９０）、学習結果保持部８４に出力し（ステップＳ７００）、学習済みならば、両ステップはスキップする。判定結果Ｓｊが「右切」の場合（ステップＳ６７０）、右切における識別子ｓｐに対応する学習ポイントでの学習が未学習か確認する（ステップＳ７１０）。未学習ならば、「左切」の場合と同様に相対舵角差Ｒｓを算出し（ステップＳ７２０）、学習結果保持部８４に出力し（ステップＳ７３０）、学習済みならば、両ステップはスキップする。判定結果Ｓｊが「保舵」の場合は（ステップＳ６７０）、学習は行わない。そして、全ての学習が完了したら（ステップＳ７４０）、学習結果保持部８４に保持されている相対舵角差Ｒｓのうち、左切の学習ポイントでの相対舵角差Ｒｓの平均を算出し、左切時オフセットＣｓｌとして出力する（ステップＳ７５０）。同様に、右切の学習ポイントでの相対舵角差Ｒｓの平均を算出し、右切時オフセットＣｓｒとして出力する（ステップＳ７６０）。左切時オフセットＣｓｌの算出と右切時オフセットＣｓｒの算出の順番は逆でも良い。両オフセット算出後、左切時オフセットＣｓｌと右切時オフセットＣｓｒの平均を算出し、保舵時オフセットとして出力する（ステップＳ７７０）。左切時オフセットＣｓｌ、右切時オフセットＣｓｒ及び保舵時オフセットは補正用オフセット記憶部９０に格納され（ステップＳ７８０）、学習完了となる。なお、各学習ポイントでの学習の有無は、学習結果保持部８４に相対舵角差Ｒｓが格納されている否かで判定しても良いし、学習結果保持部８４に別途フラグ等を用意し、それを使用しても良い。
【００５１】
上記の補正用オフセット使用による推定の変化の様子を図１３に示す。図１３は縦軸を角度、横軸を時間として、ＴＳ＿ＩＳ相対舵角を一点鎖線で、ＴＳ＿ＩＳ推定舵角を実線で示したものであり、右切操舵→保舵→左切操舵とハンドルを操舵した場合の変化の様子を表わしている。前述のように、ＴＳ＿ＩＳ推定舵角θｓｅは、判定結果（左切／右切／保舵）に応じて選択された補正用オフセットをＡＳ＿ＩＳ相対舵角θｈｒに加算することにより算出される。参考として、ＡＳ＿ＩＳ相対舵角θｈｒに右切時オフセットＣｓｒを加算したデータ（θｈｒ＋Ｃｓｒ）、保舵時オフセットＣｓｋを加算したデータ（θｈｒ＋Ｃｓｋ）及び左切時オフセットＣｓｌを加算したデータ（θｈｒ＋Ｃｓｌ）を、下から順に破線で示す。
【００５２】
図１３に示されるように、保舵状態ではＡＳ＿ＩＳ相対舵角θｈｒは殆ど変化しないので、ＴＳ＿ＩＳ推定舵角θｓｅも略一定となる。
【００５３】
本実施形態にて算出されるＴＳ＿ＩＳ推定舵角θｓｅを用いた２０°ロータセンサ２２の故障診断及びバックアップについて説明する。
【００５４】
本実施形態ではトルクセンサは２重系統となっており、２０°ロータセンサ２２からはＴＳ＿ＩＳ角度θｓ１及びθｓ２が出力される。この２つのデータにＴＳ＿ＩＳ推定舵角θｓｅを加えて、故障診断及びバックアップを行う。即ち、ＴＳ＿ＩＳ角度θｓ１及びθｓ２並びにＴＳ＿ＩＳ推定舵角θｓｅの３つで多数決を行い、２対１となった場合、１に対応する角度センサが故障したと診断する。そして、１に対応する角度センサが２０°ロータセンサ２２の１系統の場合、もう一方の系統をバックアップとして使用する。多数決を行う際は、同一の値ではなく、差が一定の範囲内であれば同じ値と見做すようにしても良い。
【００５５】
なお、トルクセンサが２重系統となっていない場合は、バックアップを行うことはできないが、故障診断は可能である。つまり、２０°ロータセンサ２２から出力される１つのＴＳ＿ＩＳ角度θｓとＴＳ＿ＩＳ推定舵角θｓｅとを比較し、一致しない場合（或いは差が一定の範囲以上の場合）、２０°ロータセンサ２２又は／及びホールＩＣセンサ２１が故障したと診断することができる。
【００５６】
なお、上述の実施形態では、補正用オフセット算出部８０においてＴＳ＿ＩＳ相対舵角θｓｒからＡＳ＿ＩＳ相対舵角θｈｒを減算しているが、ＡＳ＿ＩＳ相対舵角θｈｒからＴＳ＿ＩＳ相対舵角θｓｒを減算しても良い。この場合、舵角推定部１００ではＡＳ＿ＩＳ相対舵角θｈｒに補正用オフセットを加算するのではなく、減算することになる。また、保舵時オフセットＣｓｋは補正用オフセット算出部８０で算出され、補正用オフセット記憶部９０に格納されているが、補正用オフセット記憶部９０には左切時オフセットＣｓｌ及び右切時オフセットＣｓｒのみを格納し、保舵時オフセットＣｓｋは舵角推定部１００において算出するようにしても良い。また、相対舵角化部６０での相対舵角化の方法は上記以外の方法でも良く、角度周期の違いがない場合、相対舵角化は不要である。操舵判定部７０での操舵判定の方法も上記以外の方法でも良く、例えば舵角とモータ回転角速度を用いて操舵方向を判定しても良い。
【符号の説明】
【００５７】
１                    ハンドル（ステアリングホイール）
２                    ステアリングシャフト（コラム軸、ハンドル軸）
１０                  トルクセンサ
１２                  車速センサ
１３                  バッテリ
２０                  モータ
２１                  ホールＩＣセンサ
２２                  ２０°ロータセンサ
２４                  ４０°ロータセンサ
３０                  コントロールユニット（ＥＣＵ）
６０                  相対舵角化部
７０                  操舵判定部
７１                  ヒステリシス幅設定部
７２                  ヒステリシス中心値演算部
７３                  操舵方法判定部
７４                  保舵判定部
８０                  補正用オフセット算出部
８１                  操舵速度算出部
８２                  操舵加速度算出部
８３                  ギア特性学習部
８４                  学習結果保持部
９０                  補正用オフセット記憶部
１００                舵角推定部
【図１】
2018052496.tif 000004
【図２】
2018052496.tif 000005
【図３】
2018052496.tif 000006
【図４】
2018052496.tif 000007
【図５】
2018052496.tif 000008
【図６】
2018052496.tif 000009
【図７】
2018052496.tif 000010
【図８】
2018052496.tif 000011
【図９】
2018052496.tif 000012
【図１０】
2018052496.tif 000013
【図１１】
2018052496.tif 000014
【図１２】
2018052496.tif 000015
【図１３】
2018052496.tif 000016