(57)【特許請求の範囲】
【請求項１】
運転者により操作される操作部材と、
前記操作部材の変位量に応じて車両の運転を制御する運転制御手段と、
前記操作部材の変位量に応じて前記操作部材に対する反力を発生する反力発生手段と、
前記反力発生手段にフェールが発生したことを検出するフェール検出手段と、
前記フェール検出手段が前記反力発生手段のフェールを検出したときに、前記運転制御手段を制御して前記操作部材の変位量に応じた車両の運転制御の応答性を鈍くする運転制御応答性変更手段と
を備えたことを特徴とする車両操作装置。
【請求項２】
前記運転制御応答性変更手段が、操作部材の変位量に応じた車両の運転制御の応答性を、前記フェール検出手段が前記反力発生手段のフェールを検出してからの時間の経過に応じて変化させる請求項１に記載の車両操作装置。
【請求項３】
運転者により操作される操作部材と、
前記操作部材の基準位置からの変位量に応じて車両の運転を制御する運転制御手段と、
前記操作部材の変位量に応じて前記操作部材に対する反力を発生する反力発生手段と、
前記反力発生手段にフェールが発生したことを検出するフェール検出手段と、
前記フェール検出手段が前記反力発生手段のフェールを検出したときに、前記運転制御手段を制御して、前記基準位置近傍に設けられた前記運転制御手段の運転制御に対する操作部材の変位量の不感帯を大きくする不感帯変更手段と
を備えたことを特徴とする車両操作装置。
【請求項４】
運転者により操作される操作部材と、
前記操作部材の変位量に応じて車両の運転を制御する運転制御手段と、
前記操作部材の変位量に応じて前記操作部材に対する反力を発生する反力発生手段と、
前記反力発生手段にフェールが発生したことを検出するフェール検出手段と、
前記操作部材の操作速度を検出する操作速度検出手段と、
前記フェール検出手段が前記反力発生手段のフェールを検出したときに、前記操作速度検出手段によって検出される操作速度が所定値以上であることを条件に、前記運転制御手段を制御して、前記操作部材の変位量に応じた車両の運転制御を変更する運転制御変更手段と
を備えたことを特徴とする車両操作装置。
【請求項５】
前記運転制御変更手段によって変更された車両の運転制御が、車両の操舵角をフェール検出直前の値に所定時間保持することである請求項４に記載の車両操作装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、運転者により操作される操作部材の変位量に応じて、操作部材に対する反力を発生させるとともに車両を運転制御する車両操作装置に関する。
【０００２】
【従来の技術】
従来から、例えば、特開平１１−１９２９６０号公報に開示されているように、ジョイスティックを操作部材として用い、ジョイスティックを車体に対して左右前後に傾動することにより車両の操舵、制動および加速を行う車両がある。このような車両においては、ジョイスティックの操作量に応じて、ジョイスティックに対して反力を発生させる反力発生機構が備わっており、この反力発生機構が発生する反力によって運転者は安定した車両の運転操作を行える。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の車両においては、反力発生機構の故障等によりジョイスティックに対する反力が発生しなくなるフェール（異常）が生じると、ジョイスティックが不用意に動きすぎて車両の運転操作（加速、制動および操舵）がし難くなるという問題がある。
【０００４】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、走行中の車両に、操作部材に対する反力がなくなるフェールが生じた場合、操作部材の変位量に応じた車両の運転制御を変更することのできる車両操作装置を提供することである。
【０００５】
上記の目的を達成するため、本発明にかかる車両操作装置の特徴は、運転者により操作される操作部材と、操作部材の変位量に応じて車両の運転を制御する運転制御手段と、操作部材の変位量に応じて操作部材に対する反力を発生する反力発生手段と、反力発生手段にフェールが発生したことを検出するフェール検出手段と、フェール検出手段が反力発生手段のフェールを検出したときに、運転制御手段を制御して操作部材の変位量に応じた車両の運転制御の応答性を鈍くする運転制御応答性変更手段とを備えたことにある。
【０００６】
前記のように構成した本発明の車両操作装置によれば、操作部材に対する反力の発生が正常な状態であれば、操作部材の操作による変位量に応じた運転制御が行われ、フェール検出手段が反力発生手段の異常を検出すると、運転制御応答性変更手段の制御により、運転制御手段が操作部材の変位量に対する車両の運転制御の応答性を鈍くする。したがって、反力発生手段の異常によって操作部材に対する反力が発生しなくなり、その結果運転者による操作部材の操作量が大きくなっても、その操作による操作部材の変位量に対する運転制御の応答性が鈍くなる。このため、反力が生じない不安定な状態で操作部材を操作しその操作量が大きくなっても車両の運転制御は変更され安全性が維持される。
【０００７】
また、本発明にかかる車両操作装置の他の構成上の特徴は、運転制御応答性変更手段が、操作部材の変位量に応じた車両の運転制御の応答性を、フェール検出手段がフェールを検出してからの時間の経過に応じて変化させることにある。この時間の経過に応じた変化とは、例えば、反力発生手段のフェールを検出した直後は、操作部材の操作に対する運転制御の応答性を鈍くするが、時間の経過とともにこの応答性を通常の状態に近づけるようにすることである。これによると、運転者が反力発生手段のフェールが生じた場合の操作部材の操作に時間の経過とともに慣れるにしたがって、徐々に運転制御の応答性を通常の状態に戻すことができる。これによって、安全性を確保しながら車両の操作性を良くする方に戻すことができる。
【０００８】
また、本発明にかかる車両操作装置のさらに他の構成上の特徴は、運転者により操作される操作部材と、操作部材の基準位置からの変位量に応じて車両の運転を制御する運転制御手段と、操作部材の変位量に応じて操作部材に対する反力を発生する反力発生手段と、反力発生手段にフェールが発生したことを検出するフェール検出手段と、フェール検出手段が反力発生手段のフェールを検出したときに、運転制御手段を制御して、基準位置近傍に設けられた運転制御手段の運転制御に対する操作部材の変位量の不感帯を大きくする不感帯変更手段とを備えたことにある。
【０００９】
前記のように構成した車両操作装置によれば、車両が走行する際に、反力発生手段にフェールが発生して小さな操作力で操作部材が大きく変位しても、運転制御手段の運転制御に対する操作部材の変位量の不感帯が大きくなるため、車両には小さな操作力しか生じない。この場合の不感帯は、操作部材の基準位置（中立位置）近傍に設けられている。したがって、操作部材の操作によって車両の操舵、加速および制動を制御する場合、操作部材に対する反力がなくなったことによって操作部材に大きな変位量が生じても車両は直進または直進に近い状態を維持するようになるとともに、加速も制動もしない一定速度に近い状態での走行を維持するようになり車両操作の安全性を確保できる。なお、運転者が、不感帯を超えて操作部材の操作を行った場合は、不感帯の領域を超えて操作された操作部材の変位量に応じて車両は旋回、加速、制動される。
【００１０】
また、本発明にかかる車両操作装置のさらに他の構成上の特徴は、運転者により操作される操作部材と、操作部材の変位量に応じて車両の運転を制御する運転制御手段と、操作部材の変位量に応じて操作部材に対する反力を発生する反力発生手段と、反力発生手段にフェールが発生したことを検出するフェール検出手段と、操作部材の操作速度を検出する操作速度検出手段と、フェール検出手段が反力発生手段のフェールを検出したときに、操作速度検出手段によって検出される操作速度が所定値以上であることを条件に、運転制御手段を制御して、操作部材の変位量に応じた車両の運転制御を変更する運転制御変更手段とを備えたことにある。
【００１１】
前記のように構成した車両操作装置によれば、反力発生手段に故障等が生じて操作部材に対する反力が生じなくなった場合に、操作速度検出手段が検出する操作部材の操作速度が所定値以上になると、運転制御変更手段が操作部材の変位量に応じた車両の運転制御を変更する。したがって、操作部材に対する反力が発生しなくなったために、運転者による操作部材の操作速度が急速になっても、その操作による操作部材の変位量に基づく車両の運転制御は変更される。これによって、例えば、操作部材の操作に基づく急操舵を抑制することができ車両走行に安全性を持たせることができる。
【００１２】
また、この場合、運転制御変更手段によって変更された車両の運転制御は、車両の操舵角をフェール検出直後の値に所定時間保持することとすることが好ましい。これによって、急操舵を抑制し、反力の発生が無くなってからの所定時間は、車両をフェール検出前の操舵角で走行させることができる。
【００１５】
【発明の実施の形態】
以下、本発明による車両操作装置の一実施形態を図面を用いて説明する。この車両操作装置は、図１に示した操作部材としての操作レバー（ジョイスティック）１０を備えている。操作レバー１０は、車両のコンソールボックスにおける運転席近傍に設けられており、図１に矢印で示したように、運転者により前後方向および左右方向に傾動される。
【００１６】
図２は、操作レバー１０を含む操作レバー装置の概略斜視図を示している。操作レバー１０は、円柱棒状のロッド１０ａと、ロッド１０ａの上部外周に固定された円柱状の把持部１０ｂとを備えている。そして、ロッド１０ａは、略中央部に球状部１０ｃを備えて、この球状部１０ｃによって車体に対して左右および前後方向に回動可能に支持されている。
【００１７】
また、操作レバー装置は、車両走行時に、操作レバー１０の車両左右方向の回動に対する反力（中立位置から車両左右方向に回動させようとする運転者の操作力に抗する力）を発生する左右方向反力発生機構２０を備えている。この左右方向反力発生機構２０は、ガイドプレート２１、回転軸２２、第１歯車２３、第２歯車２４、左右反力用の電動モータ２５、変位量センサ２６、エンコーダ２７および電流センサ２８を備えている。
【００１８】
ガイドプレート２１は、Ｌ字状に屈曲された板状体からなり、回転軸２２に固定された面が鉛直面になるように配置され、水平方向に配置される面にロッド１０ａの直径よりやや大きい幅を有し車両前後方向に長手方向を有する溝２１ａが設けられている。そして、この溝２１ａ内をロッド１０ａが貫通している。回転軸２２は、その軸線が車両前後方向に沿うとともに、操作レバー１０の球状部１０ｃの中心を通るように車体に対して回転可能に支持され、中央部に第１歯車２３を一体的に備えている。この第１歯車２３は電動モータ２５の回転軸に固定された第２歯車２４に噛合している。
【００１９】
このため、操作レバー１０は、車体に対して左右方向に回動可能に支持されるとともに、電動モータ２５の駆動によりガイドプレート２１が回転軸２２回りに回動し、これによって左右方向に回動する。また、回転軸２２の端部位置には、変位量センサ２６が車体側に固定され、回転軸２２の回転角を操作レバー１０の左右方向の変位量として検出する。この変位量センサ２６の出力である回転角(変位量)Ｘaの値は、操作レバー１０が左右方向の中立位置（基準位置）にあるときに「０」となるように調整され、操作レバー１０が中立位置から左右に変位したときの絶対値の大きさが同中立位置からの変位量に比例した大きさを有する正負の値となるように調整されている。
【００２０】
電動モータ２５には、電動モータ２５の回転制御に用いられるエンコーダ２７が組み付けられており、このエンコーダ２７は、電動モータ２５の回転軸の回転を検出してその回転軸の回転を表す回転信号を出力する。また、電動モータ２５には、電動モータ２５の駆動電流を検出するための電流センサ２８も接続されている。
【００２１】
さらに、操作レバー装置は、操作レバー１０の車両前後方向の傾動に抗する反力（中立位置から車両前後方向に傾動させようとする運転者の操作力に抗する力）を発生する前後方向反力発生機構３０を備えている。この前後方向反力発生機構３０は、ガイドプレート３１、回転軸３２、第３歯車３３、第４歯車３４、前後反力用の電動モータ３５、変位量センサ３６、エンコーダ３７および電流センサ３８を備えている。
【００２２】
ガイドプレート３１は、Ｌ字状に屈曲された板状体からなり、回転軸３２に固定された面が鉛直面になるように配置され、水平方向に配置される面に、ロッド１０ａの直径よりやや大きい幅を有し車両左右方向に長手方向を有する溝３１ａが設けられている。そして、この溝３１ａ内をロッド１０ａが貫通している。また、回転軸３２は、その軸線が車両左右方向に沿うとともに、操作レバー１０の球状部１０ｃの中心を通るように車体に対して回転可能に支持され、中央部に第３歯車３３を一体的に備えている。この第３歯車３３は電動モータ３５の回転軸に固定された第４歯車３４に噛合している。
【００２３】
このため、操作レバー１０は、車体に対して前後方向に回動可能に支持されるとともに、電動モータ３５の駆動によりガイドプレート３１が回転軸３２回りに回動し、これによって前後方向に回動する。また、回転軸３２の端部位置には、変位量センサ３６が車体側に固定され、回転軸３２の回転角を操作レバー１０の前後方向の変位量として検出する。この変位量センサ３６の出力である回転角（変位量）Ｙaの値は、操作レバー１０が前後方向の中立位置（基準位置）にあるときに「０」となるように調整され、操作レバー１０が、中立位置から前後に変位したとき絶対値の大きさが同中立位置からの変位量に比例した大きさを有する正負の値となるように調整されている。
【００２４】
電動モータ３５には、電動モータ３５の回転制御に用いられるエンコーダ３７が組み付けられており、このエンコーダ３７は、電動モータ３５の回転軸の回転を検出してその回転軸の回転を表す回転信号を出力する。また、電動モータ３５には、電動モータ３５の駆動電流を検出するための電流センサ３８も接続されている。なお、左右方向反力発生機構２０と前後方向反力発生機構３０とで、本発明の反力発生手段が構成される。
【００２５】
つぎに、この車両操作装置の電気制御部について図３を用いて説明する。この電気制御部は、前述した変位量センサ２６，３６、エンコーダ２７，３７、電流センサ２８，３８に加えて、車速センサ４１および操舵角センサ４２を備えている。車速センサ４１は、車速Ｖを検出してその検出信号を出力する。操舵角センサ４２は、操舵用の左右輪ＦＷ，ＦＷの実操舵角θを検出してその検出信号を出力する。なお、この実操舵角θは左右輪ＦＷ，ＦＷが中立状態にあるときに「０」となる。
【００２６】
これらの変位量センサ２６，３６、エンコーダ２７，３７、電流センサ２８，３８、車速センサ４１および操舵角センサ４２は、電気制御装置５０に接続されている。電気制御装置５０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、タイマなどを有するマイクロコンピュータによって構成され、図４に示した第１操作系制御（操舵制御）プログラムおよび図５に示した第２操作系制御（アクセル・ブレーキ制御）プログラムを実行する。
【００２７】
また、電気制御装置５０は、各センサ２６，３６，２８，３８，４１，４２およびエンコーダ２７，３７からの各信号を入力して、ドライブ回路６１，６２、ウォーニングランプ６３、エンジン制御装置６４、ブレーキ制御装置６５およびステアリング制御装置６６を制御する。
【００２８】
ドライブ回路６１は、変位量センサ２６が検出する操作レバー１０の回転角Ｘaに基づいて左右方向反力発生機構２０の電動モータ２５を駆動制御する。ドライブ回路６２は、変位量センサ３６が検出する操作レバー１０の回転角Ｙaに基づいて前後方向反力発生機構３０の電動モータ３５を駆動制御する。ウォーニングランプ６３は、エンコーダ２７，３７および電流センサ２８，３８の異常警告用のものであり、これらの検出値に異常が発生したときに点灯する。
【００２９】
エンジン制御装置６４は、図７に示した加速制御プログラムを実行し、変位量センサ３６が検出する操作レバー１０の回転角Ｙaに基づいて、スロットル開度を制御するスロットルアクチュエータ６７を駆動させることによって車両を加速制御する。操作レバー１０は、車両の前後方向において、その中立位置を境に後方に変位するに従って車両の加速度を大きくし、中立位置側に変位するに従って車両の加速度を小さくするように設定され、中立位置においては、加速度を「０」にするように設定されている。
【００３０】
ブレーキ制御装置６５は、図８に示した制動制御プログラムを実行し、変位量センサ３６が検出する操作レバー１０の回転角Ｙaに基づいて、車両に制動力を付与するブレーキアクチュエータ６８を駆動させることによって車両を制動制御する。操作レバー１０は、車両の前後方向において、その中立位置を境に前方に変位するに従って車両の制動力を大きくし、中立位置側に変位するに従って車両の制動力を小さくするように設定され、中立位置においては、制動力を「０」にするように設定されている。
【００３１】
ステアリング制御装置６６は、図６に示した操舵制御プログラムを実行し、変位量センサ２６が検出する操作レバー１０の回転角Ｘaに基づいて、左右輪ＦＷ，ＦＷの操舵用のアクチュエータとしての電動モータ６９を制御して車両を左右に操舵する。操作レバー１０は、車両の左右方向において、その中立位置を境に車両右側に変位するに従って操舵角が右側に大きくなって車両は右旋回し、中立位置を境に車両左側に変位するに従って操舵角が左側に大きくなって車両は左旋回するように設定されている。
【００３２】
なお、エンジン制御装置６４、ブレーキ制御装置６５およびステアリング制御装置６６も、ＣＰＵ，ＲＯＭ，ＲＡＭなどからなるマイクロコンピュータを主要構成部品とし、それぞれスロットルアクチュエータ６７、ブレーキアクチュエータ６８および電動モータ６９をプログラム制御するものである。そして、これらの制御装置６４，６５，６６は電気制御装置５０等からの信号を入力して一旦記憶しておく記憶装置を備えている。
【００３３】
つぎに、以上のように構成した実施形態の動作を図４〜図８のフローチャートを用いて説明する。まず、図４は、図３に示した電気制御装置５０のＣＰＵが実行する第１操作系制御プログラムを示したものであり、このプログラムは、電気制御装置５０に備わったメモリのＲＯＭに記憶されている。そして、このプログラムは、運転者の操作によりイグニッションスイッチがオン状態にされたのちに、所定の短時間ごとに繰り返し実行される。
【００３４】
第１操作系制御プログラムの実行は、ステップ１００から開始され、運転者が操作レバー１０の操作を行うと、電気制御装置５０のＣＰＵは、ステップ１０２において、変位量センサ２６が検出する操作レバー１０の変位量である回転角Ｘaを読み込む。すなわち、電気制御装置５０は、運転者の操作により変位した操作レバー１０の左右方向の回転角Ｘaを入力する。
【００３５】
ついで、ステップ１０４において、回転角Ｘaに基づいて操作レバー１０に対して付加する反力Ｆxを決定する。この反力Ｆxは、図９に示した回転角Ｘaと反力Ｆxとのマップから求める。つぎに、ステップ１０６において、電動モータ２５を駆動させるためのモータ駆動電流Ｉmxを決定する。このモータ駆動電流Ｉmxは、図１０に示した反力Ｆxとモータ駆動電流Ｉmxとのマップから求める。これらの図９および図１０に示したマップは予め設定されて電気制御装置５０のＲＯＭに記憶されている。
【００３６】
ついで、ステップ１０８において、電気制御装置５０が、決定したモータ駆動電流Ｉmxを表す制御信号をドライブ回路６１に出力し、ドライブ回路６１はこの制御信号に応答して電動モータ２５を駆動制御する。これによって、電動モータ２５が駆動制御され、左右方向反力発生機構２０は、操作レバー１０に対して回転角Ｘaに応じた反力Ｆxを発生させる。すなわち、ドライブ回路６１は、操作レバー１０を初期位置に向って変位させるような駆動力を発生するように電動モータ２５を駆動制御する。
【００３７】
つぎに、プログラムは、ステップ１１０、１１２において、エンコーダ２７から電動モータ２５のモータ回転角センサ値Ｘsを読み込み、その読み込んだ値と前記ステップ１０２にて読み込んだ回転角Ｘaとの比較により、モータ回転角センサ値Ｘsが正常であるか否か、言い換えると電動モータ２５が正常に作動しているか否かを判定する。そして、ステップ１１４、１１６において、電流センサ２８から電動モータ２５のモータ駆動電流センサ値Ｉsxを読み込み、その読み込んだ値とステップ１０６において決定したモータ駆動電流Ｉmxとを比較することにより、モータ駆動電流センサ値Ｉsxが正常であるか否かを判定する。これによってドライブ回路６１、電動モータ２５などの断線や短絡などを調べる。
【００３８】
これらのステップ１１０〜１１６の処理は、左右方向反力発生機構２０にフェールが発生してなく操作レバー１０に対して反力が正常に発生しているか否かを判定するために行われる。したがって、この判定は、エンコーダ２７が検出するモータ回転角センサ値Ｘsや電流センサ２８が検出するモータ駆動電流センサ値Ｉsxだけでなく、変位量センサ２６が検出する検出値の異常や左右方向反力発生機構２０を構成する機械的部分の故障等に基づいて判定することもできる。
【００３９】
ステップ１１２、１１６において、それぞれモータ回転角センサ値Ｘsおよびモータ駆動電流センサ値Ｉsxが正常であれば「Ｙｅｓ」と判定してステップ１１８に進み、どちらかのステップで正常でなければ「Ｎｏ」と判定してステップ１２２に進む。ここでは、モータ回転角センサ値Ｘsおよびモータ駆動電流センサ値Ｉsxは、ともに正常であるとしてステップ１１８に進み、まず、モータ回転角センサ値Ｘsおよびモータ駆動電流センサ値Ｉsxが正常で、左右方向反力発生機構２０にフェールが生じていない場合について説明する。
【００４０】
ステップ１１８においては、左右方向の反力フェールフラグＸＦＦを“０”に設定する。この反力フェールフラグＸＦＦは“１”により左右方向反力発生機構２０にフェールが生じて操作レバー１０に、操作レバー１０を左右に操作したときの変位量に応じた反力が生じなくなったことを表し、“０”によりそれ以外の状態を表すものである。この場合、操作レバー１０に対する反力は正常に発生しているため、反力フェールフラグＸＦＦを“０”に設定して、プログラムはステップ１２０に進む。
【００４１】
ステップ１２０においては、回転角指示値Ｘbをステップ１０２の処理によって電気制御装置５０が入力した操作レバー１０の回転角Ｘaに設定する。この回転角指示値Ｘbは、後述するステアリング制御装置６６が実行する操舵制御プログラムにおいて、目標操舵角を計算するために用いられる。そして、プログラムは、ステップ１４０において、反力フェールフラグＸＦＦおよび回転角指示値Ｘbを出力したのち、ステップ１４２に進んで一旦終了する。以後、ステップ１１２，１１６で「Ｙｅｓ」と判定する限り、プログラムは前述したステップ１００〜１２０、１４０、１４２の処理を繰り返し実行する。
【００４２】
つぎに、電気制御装置５０に制御されてステアリング制御装置６６が行う操舵制御プログラムにおいて操作レバー１０に対する反力が正常に発生している場合について、図６を用いて説明する。この操舵制御プログラムの実行はステップ３００から開始され、ステップ３０２において、電気制御装置５０から出力された反力フェールフラグＸＦＦを読み込む。この反力フェールフラグＸＦＦは、図４に示した第１操作系制御プログラムの実行時に、“０”または“１”に設定されたものであり、この場合、ステップ１１８での処理により“０”に設定されている。
【００４３】
ついで、ステップ３０４において、電気制御装置５０から出力された回転角指示値Ｘbを読み込む。この回転角指示値Ｘbは、図４に示したプログラムにおけるステップ１２０での処理により設定されたものであり、反力フェールフラグＸＦＦが“０”に設定されているときには変位量センサ２６が検出した回転角Ｘaの値に設定されている。
【００４４】
つぎに、ステップ３０６において、ステップ３０２で読み込んだ反力フェールフラグＸＦＦが“０”であるか否かを判定する。ここでは、左右方向反力発生機構２０にフェールは生じてなく操作レバー１０には正常に反力が発生しており、図４に示したプログラムの実行時に、ステップ１１８において反力フェールフラグＸＦＦが“０”に設定されている。したがって、「Ｙｅｓ」と判定して、ステップ３０８に進み、ステップ３０８以降の処理について説明する。
【００４５】
ステップ３０８においては、エンコーダ２７または電流センサ２８が左右方向反力発生機構２０のフェールを検出してからの経過時間を測定するためのカウント値ｍをリセットして「０」にする。そして、ステップ３１０において、フィルター定数Ｋsを決定する。フィルター定数Ｋsは、０〜１の間の値に決定され、その値は、図１１のマップにより決定される。この場合、フィルター定数Ｋsは、反力フェールが生じていない場合を表しているｍ＝０のマップに基づいて車速Ｖに応じて決定される。すなわち、フィルター定数Ｋsは、車速Ｖが大きくなるにしたがってｍ＝０のマップに沿って大きくなり、車速Ｖが小さくなるにしたがって小さくなるように設定されている。
【００４６】
つぎに、ステップ３２８において、回転角指示値Ｘbと車速Ｖから目標操舵角Tsを決定する。この目標操舵角Tsは、図１２に示したマップから求められ、回転角指示値Ｘbが大きくなるにしたがって大きくなり、回転角指示値Ｘbが小さくなるにしたがって小さくなるように設定されている。また、目標操舵角Tsと車速Ｖとの関係においては、目標操舵角Tsは車速Ｖが大きくなるにしたがって小さくなり、車速Ｖが小さくなるにしたがって大きくなるよう設定されている。したがって、車両が高速走行をしている場合は、少しの操舵量で車両操作が行え、車両が低速走行をしている場合には、車両操作に大きな操舵量が必要になる。
【００４７】
なお、図１２に示したマップでは、回転角指示値Ｘbを示す横軸と目標操舵角Tsを示す縦軸の交点である基準位置近傍には、車両の操舵に対する小さな不感帯が設けられている、言い換えれば、図１２のマップにおける各特性線における基準位置近傍の横軸方向には幅狭の水平部分が設けられていて、回転角指示値Ｘbの微少範囲では目標操舵角Tsは「０」に維持される。なお、この水平部分の幅を変更することは、車両操舵の不感帯幅を変更することを意味する。
【００４８】
ついで、ステップ３３０において、前回の目標操舵角を示す記憶操舵角ＰTsを現在の目標操舵角Tsとして設定する。この記憶操舵角ＰTsの設定は、つぎのプログラム実行の際に、今回の目標操舵角Tsを基準として、その値がどの程度変化したかを判定するために行われる。つぎに、プログラムは、ステップ３４０において、操作レバー１０の左右方向への操作に対する車輪操舵の応答性を制御するために、下記数１の演算の実行により、目標操舵角Tsにローパスフィルタ処理を施す。
【００４９】
【数１】
Ｔsf←Ｔsf＋（Ｔs−Ｔsf）×Ｋs
【００５０】
この数１において、変数Ｔsfは、目標操舵角のローパスフィルタ処理値を表す。そして、右辺のローパスフィルタ処理値Ｔsfはローパスフィルタ処理された目標操舵角Tsの前回値を表しているとともに、左辺のローパスフィルタ処理値Ｔsfはローパスフィルタ処理された目標操舵角Tsの今回値を表している。このローパスフィルタ処理演算により、フィルター定数Ｋsに従った応答性で変化する目標操舵角Tsのローパスフィルタ処理値Ｔsfが計算されることになる。すなわち、この数１の演算の実行により、フィルター定数Ｋsが大きな値であれば、目標操舵角Tsすなわち操作レバー１０の操作に対して応答性の良いローパスフィルタ処理値Ｔsfが計算される。また、フィルター定数Ｋsが小さな値であれば、目標操舵角Tsすなわち操作レバー１０の操作に対して応答性の鈍いローパスフィルタ処理値Ｔsfが計算される。
【００５１】
そして、ステップ３４２において、前回の回転角指示値ＰＸbを今回の回転角指示値Ｘbに更新する。この前回の回転角指示値ＰＸbの更新は、後述する処理の際に、操作レバー１０の操作速度を判定するために行われる。そして、プログラムはステップ３４４に進む。ステップ３４４においては、左右輪ＦＷ，ＦＷの操舵角が目標操舵角演算値Ｔsfとなるようにステアリング制御装置６６が電動モータ６９を制御する。
【００５２】
この場合、左右方向反力発生機構２０にフェールは生じていないため、電動モータ６９の駆動は通常の操舵にしたがったものとなる。すなわち、フィルター定数Ｋsは、図１１のマップにおけるｍ＝０の特性線によって決定され、フィルター定数Ｋsが大きくなるにしたがって車両操舵制御の応答性はよくなり、フィルター定数Ｋsが小さくなるにしたがって車両操舵の応答性は鈍くなる。したがって、車両は、ｍ＝０の特性線にしたがって、高速走行の場合は、操舵制御の応答性を鈍くし、低速走行の場合は、操舵制御の応答性を良くして走行する。そして、プログラムはステップ３４６に進んで一旦終了する。
【００５３】
つぎに、図４の第１操作系制御プログラムに戻って、左右方向反力発生機構２０にフェールが発生して操作レバー１０を左右に操作したときの変位量に応じた反力が操作レバー１０に対して生じなくなった場合について説明する。この場合、ステップ１１２またはステップ１１６で「Ｎｏ」と判定してステップ１２２に進み、ステップ１２２以降の処理が実行される。なお、この場合、ウォーニングランプ６３を点灯させる。これによって、運転者は、操作レバー１０を握る手の感覚とともに、視覚によっても操作レバー１０に対する反力に異常が生じたことを認識することができる。
【００５４】
ステップ１２２においては、左右方向の反力フェールフラグＸＦＦを“１”に設定する。ついで、ステップ１２４において、操作レバー１０の回転角Ｘaが、定数Ｌの負の値以上かつ正の値以下であるか否かを判定する。この定数Ｌは、操作レバー１０の左右方向の操作角の不感帯（遊びの領域）のしきい値を表すもので、回転角Ｘaが−Ｌ以上かつＬ以下であれば、操作レバー１０は中立状態（車両は直進状態）に位置していると判定する。なお、前述したように、この不感帯は、左右方向反力発生機構２０にフェールが発生していない場合にも小さな幅で設けられており、基準位置近傍においては、操作レバー１０の操作に対して車両は反応しないようになっている。ここでは、その不感帯をさらに大きくするように定数Ｌを設定している。
【００５５】
この場合、操作レバー１０の回転角Ｘaが−Ｌ以上かつＬ以下であれば「Ｙｅｓ」と判定してステップ１２６に進み、操作レバー１０が不感帯を超えて左方向または右方向に操作されていれば「Ｎｏ」と判定してステップ１２８に進む。ここでは、「Ｙｅｓ」と判定してステップ１２６に進む。ステップ１２６においては、回転角指示値Ｘbを「０」に設定する。そして、プログラムはステップ１３４に進む。
【００５６】
ステップ１３４においては、車速センサ４１から車速Ｖの信号を読み込む。そして、ステップ１３６において、車速Ｖが所定値Ｖ0よりも大きいか否かを判定する。この車速の所定値Ｖ0は予め設定された値であり、車両が走行状態にあると判定できる最小値以上に設定される。ここで、車速Ｖが所定値Ｖ0よりも大きく車両が所定速度以上で走行していれば「Ｙｅｓ」と判定してステップ１３８に進む。ステップ１３８においては、電気制御装置５０がエンジン制御装置６４を制御することによってスロットルアクチュエータ６７を駆動させスロットル開度を全閉する。この結果、車両は、加速を止めて自然に減速しながら直進走行を維持するか、または停止する。
【００５７】
そして、プログラムはステップ１４０において反力フェールフラグＸＦＦおよび回転角指示値Ｘbを出力したのちステップ１４２に進んで終了する。また、ステップ１３６において、車速Ｖが所定値Ｖ0よりも小さく車両の走行速度が所定速度以下であれば「Ｎｏ」と判定してステップ１４０に進み、ステップ１４０の処理後、ステップ１４２に進んでプログラムは終了する。この場合、車両は現在の走行速度で直進走行を維持する。
【００５８】
また、ステップ１２４の処理において、操作レバー１０が操作角の不感帯を超えて左方向または右方向に操作されていて「Ｎｏ」と判定するとステップ１２８において、操作レバー１０の回転角Ｘaが、−Ｌよりも小さいか否かを判定する。ここで、回転角Ｘaが、−Ｌよりも小さい場合、すなわち操作レバー１０が左方向に不感帯を超えて操作されていれば、「Ｙｅｓ」と判定してステップ１３０に進み、ステップ１３０において、回転角指示値Ｘbを回転角Ｘaと定数Ｌを加算した値に設定する。
【００５９】
これによって、後述する操舵制御において、操作レバー１０の変位量は実際の位置よりも定数Ｌ分だけ中立位置側に近づいた位置にあるものとされ、その位置に応じて車両は操舵される。このため、車両は直進またはそれに近い左方向に走行する。そして、プログラムは、ステップ１３４に進み、以下前述したステップ１３４〜１４０の処理を実行したのちステップ１４２に進んで終了する。
【００６０】
また、ステップ１２８の処理において、回転角Ｘaが、−Ｌよりも大きいと判定した場合、すなわち回転角ＸaはＬよりも大きく、操作レバー１０が右方向に不感帯を超えて操作されていれば、ステップ１３２において、回転角指示値Ｘbを回転角ＸaからＬを減算した値に設定する。これによって、後述する操舵制御において、操作レバー１０の変位量は実際の位置よりも定数Ｌ分だけ中立位置側に近づいた位置にあるものとされ、その位置に応じて車両は操舵される。このため、車両は直進またはそれに近い右方向に走行する。そして、プログラムは、ステップ１３４に進み、以下前述したステップ１３４〜１４０の処理後、ステップ１４２に進んでこの第１操作系制御（操舵制御）のプログラムを終了する。
【００６１】
つぎに、図６の操舵制御プラグラムに戻り、操舵制御プログラムにおいて、フェールが発生している場合について説明する。操舵制御プログラムのステップ３０６の処理において、反力フェールフラグＸＦＦが“１”に設定されていて「Ｎｏ」と判定するので、プログラムはステップ３１２に進み、ステップ３１２以降の左右方向反力発生機構２０にフェールが発生した場合の処理を行う。なお、この場合、ステップ３０４において読み込まれた回転角指示値Ｘbは、変位量センサ２６が検出した回転角Ｘaの値に応じて、「Ｘa＋Ｌ」、「Ｘa−Ｌ」または「０」に設定されている。
【００６２】
ステップ３１２においては、カウント値ｍがカウント値Ｍと等しいか否かを判定する。フィルター定数Ｋsは、後述するように、左右方向反力発生機構２０にフェールが発生したときに小さな値になりその後時間の経過とともの増大する。そして、フェールが発生してからのカウント値ｍが「Ｍ」に達するとそれ以後はフィルター定数Ｋsは増大しなくなる。すなわち、図１１に表したマップのように、フィルター定数Ｋsは、反力フェールフラグＸＦＦが“０”に設定されている間は、ｍ＝０の特性線にしたがって決定され、反力フェールフラグＸＦＦが“１”に設定されカウント値ｍが「１」のときは、ｍ＝１の特性線にしたがって決定される。そして、時間の経過とともに、フィルター定数Ｋsの値は増大していき、カウント値が「Ｍ」に達すると、ｍ＝Ｍの特性線にしたがって決定される。
【００６３】
このカウント値ｍが「Ｍ」になっている場合のフィルター定数Ｋsの値は、反力フェィルフラグＸＦＦが“１”に設定されている間における最大値となる。したがって、フィルター定数Ｋsの値は、反力フェィルフラグＸＦＦが“１”に設定され、カウント値ｍが「Ｍ」以下になっている間は、時間の経過とともに、マップにおけるｍ＝１の特性線からｍ＝Ｍの特性線に徐々に近づいて行き、カウント値ｍが「Ｍ」に到達したのちは増大しない。なお、このフィルター定数Ｋsは、ｍ＝０のとき最大値となる。
【００６４】
ここで、カウント値ｍがカウント値Ｍと等しくなければ「Ｙｅｓ」と判定してステップ３１４に進み、カウント値ｍに「１」を加算した値をカウント値ｍに設定する。そして、プログラムはステップ３１６に進む。また、ステップ３１２において、カウント値ｍがカウント値Ｍと等しくて「Ｎｏ」と判定すると、新たなカウント値を設定することなくステップ３１６に進む。すなわち、カウント値が「Ｍ」に達しない間は、ステップ３１６以降の処理を繰り返し実行し、その間にカウント値ｍは「１」づつ加算され、カウント値Ｍに達するとその後はフィルター定数Ｋsの増大はないためカウント値ｍの加算は行わない。
【００６５】
ステップ３１６においては、今回の回転角指示値Ｘbから前回の回転角指示値ＰＸbを減算した値の絶対値が、操作速度のしきい値ＸGよりも小さいか否かを判定する。操作速度のしきい値ＸGは、操作レバー１０が正常に操作されたか否かを判定するためのしきい値であり、操作レバー１０の操作速度がこのしきい値ＸGを超えていれば、左右方向反力発生機構２０にフェールが発生したため運転者が不用意に操作レバー１０を操作しその操作速度になったもので、その操作は適正な操作でないと判定する。操作レバー１０の操作速度がしきい値ＸG以下であれば「Ｙｅｓ」と判定してステップ３１８に進み、しきい値ＸG以上であれば「Ｎｏ」と判定してステップ３３２に進む。
【００６６】
ここでは、まず操作レバー１０の操作速度はしきい値ＸG以下であるとして、ステップ３１８以降の処理について説明する。ステップ３１６で「Ｙｅｓ」と判定すると、プログラムはステップ３１８に進み、ステップ３１８において、操作速度ロックフラグＳＳＲＦが“０”であるか否かを判定する。操作速度ロックフラグＳＳＲＦは、“１”により操作レバー１０の操作速度がしきい値ＸGを超えている状態を表し、“０”によりそれ以外の状態を示すもので、初期においては“０”に設定されている。
【００６７】
ここでは、操作レバー１０の操作速度はしきい値ＸGを超えていないため操作速度ロックフラグＳＳＲＦは“０”に設定されている。したがって、「Ｙｅｓ」と判定して、プログラムはステップ３２６に進み、ステップ３２６において、フィルター定数Ｋsの決定を行う。このフィルター定数Ｋsの決定は、図１１に示したマップに基づいて行われ、この場合、ｍ＝１の特性線と車速Ｖの値とで決定する。そして、プログラムはステップ３２８に進み、ステップ３２８において回転角指示値Ｘbと車速Ｖから目標操舵角Ｔsを決定する。この場合、回転角指示値Ｘbとしては、「Ｘa＋Ｌ」、「Ｘa−Ｌ」または「０」が用いられる。
【００６８】
ついで、ステップ３３０において、前回の目標操舵角を示す記憶操舵角ＰTsを現在の目標操舵角Tsとして設定したのち、ステップ３４０において、目標操舵角Tsにローパスフィルタ処理を施して目標操舵角演算値Ｔsfを求める。つぎに、ステップ３４２において、前回の回転角指示値ＰＸbを今回の回転角指示値Ｘbとして更新し、ステップ３４４において、左右輪ＦＷ，ＦＷの操舵角が目標操舵角演算値Ｔsfとなるようにステアリング制御装置６６が電動モータ６９を制御する。そして、プログラムはステップ３４６に進んで一旦終了する。
【００６９】
また、ステップ３１６において、操作レバー１０の操作速度がしきい値ＸGよりも大きくなって「Ｎｏ」と判定するとステップ３３２に進む。ステップ３３２においては、カウント値ｎをリセットして「０」にする。このカウント値ｎは、操作速度ロックフラグＳＳＲＦが“１”に設定されてからの経過時間を測定するためのものである。ついで、ステップ３３４において、操作ロックフラグＳＳＲＦを“１”に設定する。
【００７０】
つぎに、ステップ３３６において、前回のプログラム実行時におけるステップ３３０の処理で前回の記憶操舵角ＰＴsとして設定された値を目標操舵角Ｔsとして設定する。すなわち、ステップ３３６の処理では、運転者が操作レバー１０の操作を行って操作レバー１０が移動していても、その操作速度が通常の操作速度と比較して速すぎるため、適正な操作でないと判定して、目標操舵角Ｔsを左右方向反力発生機構２０にフェールが生じる前の値に維持する制御が行われる。この制御によって、左右輪ＦＷ，ＦＷの操舵角は操作レバー１０の操作位置に関係なくフェールが発生する前の状態に維持される。
【００７１】
そして、ステップ３３８において、フィルター定数Ｋsの決定を行う。この場合のフィルター定数Ｋsは、速度ロックフラグＳＳＲＦが“１”に設定されている間に適用されるフィルター定数Ｋslockに決定される。このフィルター定数Ｋslockの値は予め設定されているもので、車速Ｖに関係なく一定値に設定されている。また、このフィルター定数Ｋslockは、図１１のマップにおけるｍ＝１の特性線にしたがって決定される値よりもさらに小さな値に設定される。そして、プログラムは、ステップ３４０に進み、以下前述したステップ３４０〜３４６の処理を、決定した目標操舵角Ｔsおよびフィルター定数Ｋslockに基づいて行って一旦終了する。
【００７２】
また、所定時間経過後のプログラム実行時におけるステップ３１８の処理において、操作速度ロックフラグＳＳＲＦが“１”に設定されていて「Ｎｏ」と判定するとステップ３２０に進み、ステップ３２０以降の処理を行う。ステップ３２０では、カウント値ｎに「１」を加算した値をカウント値ｎに設定する。そして、ステップ３２２において、カウント値ｎが操作速度ロックフラグＳＳＲＦを“０”に設定する経過時間に対応するカウント値Ｎと等しいか否かを判定する。
【００７３】
この操作速度ロックフラグＳＳＲＦは、操作レバー１０の操作速度がしきい値ＸGを超えたときに“１”に設定され、その後、操作レバー１０の操作速度がしきい値ＸG以下になったときからカウント値Ｎに相当する時間が経過したときに“０”に設定される。すなわち、左右方向反力発生機構２０にフェールが生じたために運転者が不用意にしきい値ＸGを超える速度で操作レバー１０を操作したのちに、操作レバー１０の操作速度がしきい値ＸG以下になり、そのときからカウント値Ｎに相当する時間が経過すると、その操作による影響はなくなったものと判定して操作速度ロックフラグＳＳＲＦを解除し“０”に設定する。
【００７４】
ステップ３２２において、まだ、カウント値ｎがカウント値Ｎに達してなく、カウント値ｎがカウント値Ｎと異なっていれば、「Ｎｏ」と判定して、ステップ３３６に進み、以下、前述したステップ３３６〜３４６の処理を行ったのちプログラムは終了する。その際、左右輪ＦＷ，ＦＷの操舵角はフェールが発生する前の状態に維持される。また、ステップ３２２において、カウント値ｎがカウント値Ｎに達していれば、「Ｙｅｓ」と判定して、ステップ３２４に進み、ステップ３２４において操作速度フラグＳＳＲＦを“０”に設定する。そして、ステップ３２６に進み、以下、前述したステップ３２６〜３３０、３４０〜３４６の処理を行ったのちプログラムは終了する。
【００７５】
すなわち、ステップ３２２以降の処理においては、操作レバー１０の操作速度がしきい値ＸG以下になってからカウント値が「Ｎ」に達するまでは、フィルター定数Ｋsは、「Ｋslock」に決定され、カウント値が「Ｎ」に達した後は、図１１のマップに基づいてフィルター定数Ｋsは決定される。
【００７６】
こようにこの車両操作装置における操舵制御においては、操作レバー１０に対する反力が正常に発生していれば、車両を操作レバー１０の回転角Ｘaに基づいた操舵角によって操舵するように制御し、左右方向反力発生機構２０にフェールが生じて操作レバー１０に対する反力が正常に発生していないと、操作レバー１０の操作角の不感帯を大きくして、車両が直進またはそれに近い走行を行うように制御する。また、その際、車速Ｖが所定値Ｖ0を超えていると車両を減速する。なお、この操舵制御においては、図１２に示したマップの各特性線における基準位置近傍の水平部分の幅を大きくすることができ、そのマップを切り換えて用いることにより、図４のステップ１２８〜１３２の処理に代えることができる。
【００７７】
つぎに、図５に示した電気制御装置５０が実行する第２操作系制御（加速・制動制御）プログラムにおいて操作レバー１０に対する反力が正常に発生している場合について説明する。この第２操作系制御プログラムでは、まず、操作レバー１０の変位量を操作レバー１０の前後方向の回転角Ｙa、操作レバー１０に対する反力を操作レバー１０の前後方向の操作に対する反力Ｆy、モータ駆動電流を電動モータ３５を駆動させるためのモータ駆動電流Ｉmy、モータ回転角センサ値をエンコーダ３７が検出するモータ回転角センサ値Ｙs、モータ駆動電流センサ値を電流センサ３８が検出する電動モータ３５のモータ駆動電流センサ値Ｉsy、反力フェールフラグを操作レバー１０の前後方向の操作に対する反力の反力フェールフラグＹＦＦとしてそれぞれ図４のフローチャートの対応する部分に置き換えて、前述した第１操作系制御プログラムのステップ１００〜１２０、１４０、１４２と略同様の処理をステップ２００〜２２０、２３４、２３６について行う。
【００７８】
すなわち、第２操作系制御プログラム実行は、図５のステップ２００から開始され、運転者が操作レバー１０の操作を行うと、電気制御装置５０のＣＰＵは、ステップ２０２において、変位量センサ３６が検出する操作レバー１０の前後方向の変位量である回転角Ｙaを読み込む。そして、ステップ２０４、２０６において、図９および図１０に示したマップから回転角Ｙaに基づいて操作レバー１０に対して付加する反力Ｆyを決定し、その反力Ｆyに基づいて電動モータ３５を駆動させるためのモータ駆動電流Ｉmyを決定する。
【００７９】
ついで、ステップ２０８においてモータ駆動電流Ｉmyを表す制御信号をドライブ回路６２に出力したのち、ステップ２１０においてエンコーダ３７から電動モータ３５のモータ回転角センサ値Ｙsを読み込み、ステップ２１２において、そのモータ回転角センサ値Ｙsが正常であるか否かを判定する。そして、ステップ２１４において、電流センサ３８から電動モータ３５のモータ駆動電流センサ値Ｉsyを読み込み、ステップ２１６においてモータ駆動電流センサ値Ｉsyが正常であるか否かを判定する。
【００８０】
つぎに、ステップ２１８において前後方向の反力フェールフラグＹＦＦを“０”に設定したのち、ステップ２２０において回転角指示値Ｙbを、回転角Ｙaに設定する。そして、ステップ２３４において反力フェールフラグＹＦＦおよび回転角指示値Ｘbを出力したのち、プログラムはステップ２３６に進んで一旦終了する。以後、前後方向反力発生機構３０にフェールが発生せず操作レバー１０に対する反力が正常に発生する間は、ステップ２００〜２２０、２３４、２３６の処理を繰り返し実行する。
【００８１】
つぎに、電気制御装置５０に制御されてエンジン制御装置６４が行う加速制御プログラムにおいて操作レバー１０に対する反力が正常に発生している場合について、図７を用いて説明する。この加速制御プログラムの実行は、図７のステップ４００から開始され、ステップ４０２において電気制御装置５０から出力された回転角指示値Ｙbを読み込む。この回転角指示値Ｙbは、図５に示したプログラムにおけるステップ２２０の処理によって設定されたものであり、この場合、変位量センサ３６が検出した「Ｙa」の値に設定されている。
【００８２】
ついで、ステップ４０４において、回転角指示値Ｙbにおける正の値、すなわち車体の後方側（加速側）の回転角指示値Ｙb1として回転角指示値Ｙbの値を設定する。つぎに、ステップ４０６において、回転角指示値Ｙb1の値が「０」以上か否か、すなわち、操作レバー１０が加速側に操作されているか否かを判定する。操作レバー１０が加速側に操作されていれば「Ｙｅｓ」と判定して、ステップ４０８において、回転角指示値Ｙbにおける負の値、すなわち車体の前方側（制動側）の回転角指示値Ｙb2を「０」に設定したのちステップ４１２に進む。また、操作レバー１０が制動側に操作されていればステップ４０６において「Ｎｏ」と判定して、ステップ４１０に進み、ステップ４１０において回転角指示値Ｙb1を「０」に設定したのちステップ４１２に進む。
【００８３】
すなわち、ステップ４０２〜４１０の処理は、操作レバー１０が加速側に位置している場合に、ステップ４１２以降の処理で目標加速度を算出し、操作レバー１０が制動側に位置している場合には、初期の目標加速度を「０」に設定するために行われる。つぎに、ステップ４１２において、電気制御装置５０から出力された反力フェールフラグＹＦＦを読み込む。この反力フェールフラグＹＦＦは、図５に示した第２操作系制御プログラムの実行時に、“０”または“１”に設定されるものであり、この場合“０”に設定されている。
【００８４】
そして、プログラムは、ステップ４１４に進み、以下ステップ４１４〜４１８、４３６、４３８、４４８〜４５４の反力フェールフラグＹＦＦが“０”の場合の処理を順次行う。この加速制御プログラムのステップ４１４以降では、図６における反力フェールフラグＸＦＦを反力フェールフラグＹＦＦ、回転角指示値Ｘbを操作レバー１０の前後方向における後方側の回転角指示値Ｙb1、目標操舵角Ｔsを目標加速度Ｔa、目標操舵角演算値Ｔsfを目標加速度演算値Ｔafとしてそれぞれ図６のフローチャートの対応する部分に置き換えて、前述した操舵制御プログラムのステップ３０６〜３１０、３２８、３３０、３４０〜３４６の処理と略同様の処理をステップ４１４〜４１８、４３６、４３８、４４８〜４５４について行う。
【００８５】
すなわち、ステップ４１４において、前後方向反力発生機構３０にフェールが発生してなく「Ｙｅｓ」と判定すると、ステップ４１６において、カウント値ｍをリセットして「０」にしたのち、ステップ４１８においてフィルター定数Ｋsを決定し、ステップ４３６において回転角指示値Ｙb1に基づいて目標加速度Ｔaを決定する。この場合、ステップ４１８において決定するフィルター定数Ｋsは、図１３に示したマップを用いて求める。すなわち、この場合のフィルター定数Ｋsは、車速Ｖに関係なく、時間の経過に応じて決定されるが、前後方向反力発生機構３０にフェールが生じていないステップ４１８においては、カウント値ｍは「０」であり、この場合、フィルター定数Ｋsは、図１３に点ａで示した一定の値になる。
【００８６】
また、ステップ４３６において決定される目標加速度Ｔaは、図１４に示したマップの正側（加速度側）の部分を用いて求める。図１４のマップは、回転角Ｙbを示す横軸の正の方向が加速側を表し、負の方向が制動側を表している。ついで、ステップ４３８において、前回の目標加速度を示す記憶加速度ＰＴaを現在の目標加速度Ｔaとして設定したのち、ステップ４４８においてローパスフィルタ処理された今回の目標加速度演算値Ｔafを算出して更新する。
【００８７】
つぎに、ステップ４５０において、前回の回転指示値ＰＹb1を今回の回転指示値Ｙb1として更新し、ステップ４５２において、加速度が、目標加速度演算値Ｔafとなるように、エンジン制御装置６４によるスロットルアクチュエータ６７の制御が行われる。そして、プログラムはステップ４５４に進んで終了する。
【００８８】
つぎに、電気制御装置５０に制御されてブレーキ制御装置６５が行う制動制御プログラムにおいて操作レバー１０に対する反力が正常に発生している場合について、図８を用いて説明する。この制動制御プログラムの実行は、図８のステップ５００から開始され、図７に示した加速制御プログラムにおける回転角指示値Ｙb1と回転角指示値Ｙb2を入れ替えて、加速制御プログラムと略同様の処理を行うことにより行われる。
【００８９】
この場合、ステップ５０２において、電気制御装置５０から出力された回転角指示値Ｙbを読み込む。この回転角指示値Ｙbは、変位量センサ３６が検出した「Ｙa」の値に設定されている。ついで、ステップ５０４において、回転角指示値Ｙbにおける負の値、すなわち車体の前方側（制動側）の回転角指示値Ｙb2として回転角指示値Ｙbの値を設定する。ついで、ステップ５０６において、回転角指示値Ｙb2の値が「０」以下か否か、すなわち、操作レバー１０が制動側に操作されているか否かを判定する。操作レバー１０が制動側に操作されていれば「Ｙｅｓ」と判定して、ステップ５０８に進み、ステップ５０８において後方側（加速側）の回転角指示値Ｙb1を「０」に設定したのちステップ５１２に進む。また、操作レバー１０が加速側に操作されていればステップ５０６において「Ｎｏ」と判定して、ステップ５１０において回転角指示値Ｙb2を「０」に設定したのちステップ５１２に進む。
【００９０】
つぎに、ステップ５１２において、電気制御装置５０から出力された反力フェールフラグＹＦＦを読み込んだのち、ステップ５１４において、反力フェールフラグＹＦＦは“０”であるため「Ｙｅｓ」判定する。そして、プログラムは、ステップ５１６に進み、以下ステップ５１６〜５１８、５３６、５３８、５４８〜５５４の反力フェールフラグＹＦＦが“０”である場合の処理を順次行う。
【００９１】
この制動制御プログラムでは、ステップ５１８において決定するフィルター定数Ｋsは、加速制御の場合と同様、図１３に示したマップを用いて求める。それ以外の各ステップについては、加速制御プログラムの対応する各ステップと同様の処理を実行して、ステップ５５２において、制動力が、目標制動力演算値Ｔbfとなるように、ブレーキ制御装置６５によるブレーキアクチュエータ６８の制御が行われる。
【００９２】
つぎに、図５の第２操作系制御プログラムの実行において、操作レバー１０を前後方向に操作したときの変位量に応じた反力が操作レバー１０に対して生じなくなったフェール発生時の処理について説明する。この場合、ステップ２１２またはステップ２１６で「Ｎｏ」と判定してステップ２２２に進み、以下ステップ２２２〜２３６の処理が実行される。なお、この場合も、ウォーニングランプ６３を点灯させる。
【００９３】
このフェール発生時の処理においては、ステップ２２２において前後方向の反力フェールフラグＹＦＦを“１”に設定したのち、ステップ２２４において操作レバー１０の回転角Ｙaが、定数Ｌの負の値以上かつ正の値以下か否かを判定する。この場合の定数Ｌは、操作レバー１０の前後方向の操作角の不感帯のしきい値を表すものであり、回転角Ｙaが−Ｌ以上かつＬ以下であれば、操作レバー１０は中立状態（車両は加速も制動もされず一定の速度で走行している状態）に位置していると判定する。なお、この場合も、定数Ｌの設定は、後述する加速および制動制御によって設定される微細な不感帯を大きくする値に設定することを意味する。
【００９４】
この場合、操作レバー１０の回転角Ｙaが−Ｌ以上かつＬ以下であれば、ステップ２２６において、反力フェールフラグＹＦＦおよび回転角指示値Ｙbを「０」に設定し、ステップ２３４において回転角指示値Ｙbを出力したのち、ステップ２３６に進んでプログラムは終了する。また、ステップ２２４で「Ｎｏ」と判定したのち、ステップ２２８の判定で、回転角Ｙaが−Ｌよりも小さければ、すなわち操作レバー１０が前方に不感帯を超えて操作されていれば、ステップ２３０において、回転角指示値Ｙbを回転角Ｙaと定数Ｌを加算した値に設定する。これによって、後述する制動制御において、操作レバー１０の変位量は実際の位置よりも定数Ｌ分だけ中立位置側に近づいた位置にあるものとされ、その位置に応じて車両は制動される。このため、車両は一定速度での走行またはそれに近づくような制動制御されて走行する。
【００９５】
また、回転角Ｙaが、−Ｌよりも大きければ、すなわち回転角ＹaはＬよりも大きく、操作レバー１０が後方に不感帯を超えて操作されていれば、ステップ２３２において、回転角指示値Ｙbを回転角ＹaからＬを減算した値に設定する。これによって、後述する加速制御において、操作レバー１０の変位量は実際の位置よりも定数Ｌ分だけ中立位置側に近づいた位置にあるものとされ、その位置に応じて車両は加速される。このため、車両は一定速度での走行またはそれに近づくような加速制御されて走行する。
【００９６】
なお、この第２操作系制御プログラムにおいては、図７および図８に示したプログラムに基づいて加速・制動制御を行うため、図４に示した第１操作系制御プログラムのステップ１３４〜１３８、すなわち車両を減速するための処理は行わない。
【００９７】
つぎに、図７の加速制御プログラムに戻って、加速度制御プログラムの実行において、操作レバー１０を前後方向に操作したときの変位量に応じた反力が操作レバー１０に対して生じなくなったフェール発生時の処理について説明する。
【００９８】
この場合、プログラムは、ステップ４１４において「Ｎｏ」と判定してステップ４２０に進み、以下ステップ４２０〜４５４の処理を順次行う。この加速制御プログラムのステップ４２０以降では、図６における操作レバー１０の操作速度のしきい値ＸGをしきい値ＹGとして図６のフローチャートの対応する部分に置き換えて、前述した操舵制御プログラムのステップ３１２〜３４６の処理と略同様の処理をステップ４２０〜４５４について行う。
【００９９】
なお、この場合、回転角指示値Ｙb1は、「Ｙa＋Ｌ」または「Ｙa−Ｌ」に設定されている。まず、ステップ４１４において、前後方向反力発生機構３０にフェールが発生していて「Ｎｏ」と判定すると、ステップ４２０、４２２の処理後、ステップ４２４において、操作レバー１０の前後方向の操作速度がしきい値ＹG以下か否かを判定する。そして、操作レバー１０の前後方向の操作速度がしきい値ＹGよりも小さければ、ステップ４２６において、操作速度ロックフラグＳＳＲＦが“０”であるか否かを判定し、操作速度ロックフラグＳＳＲＦが“１”であれば、ステップ４３４においてフィルター定数Ｋsを決定する。
【０１００】
ステップ４３４において決定するフィルター定数Ｋsは、図１３に示したマップの特性線ｂの部分を用いて求める。この場合は、前後方向反力発生機構３０にフェールが生じており、カウント値ｍは１からＭの間になる。すなわち、エンコーダ３７または電流センサ３８がフェールを検出した直後のカウント値ｍが「１」の場合は、フィルター定数Ｋsは直線ｂで示した部分での最小値となり、カウント値ｍが「Ｍ」に相当する時間が経過すると、フィルター定数Ｋsはフェール発生時における最大値となる。
【０１０１】
そして、ステップ４３６において、図１４に示したマップの正側（加速度側）の部分を用いて回転角指示値Ｙb1から目標加速度Ｔaを決定する。なお、この場合も、図１４のマップにおける基準位置「０」近傍の横軸に沿って延びる水平部分を大きくして、不感帯を大きくすることができる。そして、そのマップを取り替えて用いることにより、図５のステップ２２８〜２３２の処理に代えることができる。
【０１０２】
そして、以下、ステップ４３８、４４８〜４５４の処理を実行して、フェール発生時における目標加速度演算値Ｔafとなるようにエンジン装置６４によるスロットルアクチュエータ６７の制御が行われ、プログラムは一旦終了する。また、ステップ４２４において、操作レバー１０の前後方向の操作速度がしきい値ＹGよりも大きければ、ステップ４４０においてカウント値ｎを「０」に設定し、ステップ４４２において、操作速度ロックフラグＳＳＲＦを“１”に設定する。ついで、ステップ４４４の処理後、ステップ４４６においてフィルター定数を「Ｋslock」に決定し、そののちステップ４４８以降の処理を行う。
【０１０３】
さらに、操作レバー１０の前後方向の操作速度がしきい値ＹGを超えたのちにしきい値ＹG以下になった場合、カウント値ｎが「Ｎ」に達していないと、フィルター定数は、ステップ４４６において「Ｋslock」に決定され、カウント値ｎが「Ｎ」に達すると、フィルター定数は、ステップ４３４の処理によって図１３のマップに基づいて決定される。それ以外の各ステップについても、操舵制御プログラムの対応する各ステップと同様の処理を実行して、ステップ４５２において、加速度が、目標加速度演算値Ｔafとなるように、エンジン制御装置６４によるスロットルアクチュエータ６７の制御が行われる。
【０１０４】
つぎに、図８の制動制御プログラムに戻って、電気制御装置５０に制御されてブレーキ制御装置６５が行うフェール発生時の制動制御について説明する。この場合、プログラムは、ステップ５１４において「Ｎｏ」と判定して、ステップ５２０に進み、以下、反力フェールフラグＹＦＦが“１”に設定されている場合の処理について、ステップ５２０〜５５４の処理を順次行う。
【０１０５】
この制動制御プログラムでは、ステップ５１８、５３４において決定するフィルター定数Ｋsは、加速制御の場合と同様、図１３に示したマップを用いて求め、ステップ５３６において決定される目標制動力Ｔbは、図１４に示したマップの負側の制動側部分を用いて求める。それ以外の各ステップについては、加速制御プログラムの対応する各ステップと同様の処理を実行して、ステップ５５４において、制動力が、目標制動力演算値Ｔbfとなるように、ブレーキ制御装置６５によるブレーキアクチュエータ６８の制御が行われる。したがって、詳しい説明は省略する。
【０１０６】
この第２操作系制御プログラムの実行においては、操作レバー１０の前後方向の操作に対する反力が正常に発生していれば、車両を操作レバー１０の回転角Ｙaに基づいて加速、制動するように制御し、前後方向反力発生機構３０にフェールが生じていると、操作レバー１０の前後方向の操作角における不感帯領域を大きくし、車両が急な加速も制動も行わないような制御を行う。
【０１０７】
このように、本実施形態による車両操作装置では、操作レバー１０に対する反力が正常に発生しているときには、操作レバー１０の変位量（回転角Ｘa，Ｙa）に応じた車両の運転制御が行われる。そして、操作レバー１０に反力を発生させる反力発生機構２０、３０にフェールが生じると、目標操舵角演算値Ｔsf、目標加速度演算値Ｔafおよび目標減速度演算値Ｔbfの算出に用いるフィルター定数Ｋsを小さくして、操作レバー１０の変位量に対する車両制御の応答性を鈍くするようになっている。このため、車両の運転操作中に、突然操作レバー１０に対する反力がなくなって、運転者による操作レバー１０の操作量が増加しても車両は安全走行を続けることができる。
【０１０８】
また、フェールの発生により一旦最低値になったフィルター定数Ｋsは、時間の経過とともに大きくなる。このため、運転者がフェールが発生した状態での車両操作に慣れる頃には操作レバー１０の変位量に対する車両制御の応答性がもとの正常時の状態に近づくようになり車両の操作性が良くなる。さらに、この車両操作装置では、反力発生機構２０、３０にフェールが生じたときに、操作レバー１０が所定速度を超える速さで操作されると、操舵角、加速度および制動力をフェール発生前の状態に維持するようになっている。これによって、急操作が抑制され安全性が維持される。
【０１０９】
また、この車両操作装置では、反力発生機構２０、３０にフェールが生じたときに、操作レバー１０の操作角における不感帯領域を広くするようになっている。これによって、車両は急旋回することなく直進またはそれに近い状態で走行するようになり安全性が確保できる。このように、本発明の車両操作装置では、種々の制御により車両が安全走行をできるようにしている。
【図面の簡単な説明】
【図１】  本発明の一実施形態による車両操作装置が備える操作レバーの概略図である。
【図２】  図１に示した操作レバーを含む操作レバー装置の概略斜視図である。
【図３】  本発明の一実施形態による車両操作装置の電気制御部を示すブロック図である。
【図４】  図３に示した電気制御装置が実行する第１操作系制御（操舵制御）プログラムを示すフローチャートである。
【図５】  図３に示した電気制御装置が実行する第２操作系制御（アクセル・ブレーキ制御）プログラムを示すフローチャートである。
【図６】  図３に示したステアリング制御装置が実行する操舵制御プログラムを示すフローチャートである。
【図７】  図３に示したエンジン制御装置が実行する加速制御プログラムを示すフローチャートである。
【図８】  図３に示したブレーキ制御装置が実行する制動制御プログラムを示すフローチャートである。
【図９】  回転角と反力の関係を示すマップである。
【図１０】  反力とモータ駆動電流の関係を示すマップである。
【図１１】  車速とカウント値に対するフィルター定数の関係を示すマップである。
【図１２】  回転角と目標操舵角の関係を示すマップである。
【図１３】  カウント値とフィルター定数の関係を示すマップである。
【図１４】  回転角に対する目標加速度と目標制動力の関係を示すマップである。
【符号の説明】
１０…操作レバー、２０…左右方向反力発生機構、２５，３５，６９…電動モータ、２６，３６…変位量センサ、２７，３７…エンコーダ、２８，３８…電流センサ、３０…前後方向反力発生機構、４１…車速センサ、４２…操舵角センサ、５０…電気制御装置、６１，６２…ドライブ回路、６４…エンジン制御装置、６５…ブレーキ制御装置、６５…ステアリング制御装置、６７…スロットルアクチュエータ、６８…ブレーキアクチュエータ。
【図１】
0003937914.tif 000002
【図２】
0003937914.tif 000003
【図３】
0003937914.tif 000004
【図４】
0003937914.tif 000005
【図５】
0003937914.tif 000006
【図６】
0003937914.tif 000007
【図７】
0003937914.tif 000008
【図８】
0003937914.tif 000009
【図９】
0003937914.tif 000010
【図１０】
0003937914.tif 000011
【図１１】
0003937914.tif 000012
【図１２】
0003937914.tif 000013
【図１３】
0003937914.tif 000014
【図１４】
0003937914.tif 000015