(57)【要約】【課題】アブソリュートエンコーダセンサのフェール検出を自動的に行って、安全に対する信頼性の高い運転制御装置を得る。【解決手段】運転制御装置は、操作レバーの変位量を回転体の回転量として検出すると共に、この回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、複数のパルス信号に基づき積算してカウントするカウンタと、このカウンタのカウント数に基づいて操作レバーの位置を検出すると共に、検出されたレバー位置に基づいて運転制御を行う制御手段を備え、複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、カウンタのカウント数を取り込み、最小周期のパルス信号が入力されたにもかかわらずカウンタのカウント数が最小周期のパルス信号に応じた変化をしていない場合には、エンコーダセンサについて異常が発生していると判断する。【選択図】図２
2007230390.tif 000002
【特許請求の範囲】
【請求項１】
操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき積算してカウントするカウンタと、前記カウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に、検出されたレバー位置に基づいて運転制御を行う制御手段を備えた制御装置において、
前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、前記カウンタのカウント数を取り込み、前記最小周期のパルス信号が入力されたにもかかわらず、前記カウンタのカウント数が当該最小周期のパルス信号に応じた変化をしていない場合には、前記エンコーダセンサについて異常が発生していると判断する、運転制御装置。
【請求項２】
前記カウント数が変化していないことが検出されると、そのカウント数を変化させるように補正する補正手段を備えたことを特徴とする、請求項１に記載の運転制御装置。
【請求項３】
前記補正手段による補正が予め決定した回数を超えた場合、前記カウント数を車両のブレーキが最大駆動される値に設定し運転制御を行うことを特徴とする、請求項２に記載の運転制御装置。
【請求項４】
操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき積算してカウントするカウンタと、前記カウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に、検出されたレバー位置に基づいて運転制御を行う制御手段を備えた制御装置において、
前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号のレベルに変化がなく且つその他の異なる周期を持つパルス信号に変化がある場合には、前記エンコーダセンサについて異常が発生していると判断する、運転制御装置。
【請求項５】
前記異常状態が複数回判別された場合には、前記カウント数を車両のブレーキが最大駆動される値に設定し運転制御を行うことを特徴とする、請求項４に記載の運転制御装置。
【請求項６】
さらに、前記操作レバーが車両のアクセル最大駆動位置および車両のブレーキ最大駆動位置にあることをそれぞれ検出する位置検出センサを備え、前記位置検出センサによって前記操作レバーがアクセル最大駆動位置あるいはブレーキ最大駆動位置にあることが検出されると、前記カウンタにおけるカウント数を最大値あるいは最小値に補正することを特徴とする、請求項２に記載の運転制御装置。
【請求項７】
さらに、前記操作レバーが車両のアクセル側とブレーキ側の中立位置であるニュートラル位置にあることを検出する位置検出センサを備え、前記位置検出センサにより前記操作レバーがニュートラル位置にあることが検出されると、前記カウンタにおけるカウント数を前記ニュートラル位置にあるものとして予め設定された理想値に補正することを特徴とする、請求項２に記載の運転制御装置。
【請求項８】
操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき巡回してカウントする第１のカウンタと、
前記第１のカウンタのカウント数を順次積算してカウントする第２のカウンタと、
前記第２のカウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に検出されたレバー位置に基づいて、ブレーキ又はアクセルの車両の運転制御を行う制御手段を備えた制御装置において、
前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、前記カウンタのカウント数を取り込み、前記最小周期のパルス信号が入力されたにもかかわらず、前記カウンタのカウント数が当該最小周期のパルス信号に応じた変化をしていない場合には、前記エンコーダセンサの前記最小周期以外の周期を持つパルス信号について異常が発生していると判断する、運転制御装置。
【請求項９】
操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき巡回してカウントする第１のカウンタと、前記第１のカウンタのカウント数を順次積算してカウントする第２のカウンタと、前記第２のカウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に検出されたレバー位置に基づいて、ブレーキ又はアクセルの車両の運転制御を行う制御手段を備えた制御装置において、
前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号のレベルに変化がなく、且つその他の異なる周期を持つパルス信号に変化がある場合には、前記エンコーダセンサの前記最小周期のパルス信号について異常が発生していると判断する、運転制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転者によって操作される操作レバーの変位量に応じて車両の走行状態を制御する運転制御装置に関し、特に、変位量検出時のフェール検出およびそのフェールセーフ機構を備えた運転制御装置に関する。
【背景技術】
【０００２】
従来から、運転者によって操作される操作レバーの変位量に応じて車両の走行状態を制御する運転制御装置が知られている（特許文献１、２）。この装置では、運転者が操作レバーを基準点から例えば前方に倒した場合アクセルが駆動され、反対に後方に倒した場合にブレーキが駆動されるようになっている。アクセルおよびブレーキの強さは、操作レバーの変位量に対応する。従って、足が不自由で通常のブレーキ、アクセルを操作することができない身体障害者であっても、手元の操作レバーを操作することによってアクセル、ブレーキの制御が可能となり、車両を運転することができるようになる。
【０００３】
このような運転制御装置では、操作レバーの車体に対する直線的な変位を回転体の回転変位に変換し、回転変位計（アブソリュートエンコーダセンサ、以下、エンコーダセンサ）を用いてその回転量をデジタル値として読み出すようにしている。
【０００４】
アブソリュート（絶対値）エンコーダセンサは、回転体に複数の周期の異なるスリットを設け、これらのスリットに対して受発光素子を複数設けて、複数の周期の異なるパルス信号を発生させることにより、異なるパルス波形の組み合わせにより、回転体の絶対的な回度（角度）を知ることができる。これにより、原点復帰を不要とするものであるが、これを水平にスライドする操作レバーの位置に適用すれば、原点復帰を必要とすることなく、操作レバーの位置を知ることができる。なお、アブソリュートエンコーダセンサの概略構造については、図１を参照して後述する。
【０００５】
このようにアブソリュートエンコーダでは、複数の周期のパルス信号を出力するため、その信号を取り込むためには、その数にあった信号線が必要になる。信号線が多いと、その分ノイズや断線の影響を受け易くなるため、そのような信号線に対する故障を検出する必要がある。
【０００６】
【特許文献１】特開平８−１４２８７３号公報
【特許文献２】特開２００３−８３１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の様な運転制御装置では、操作レバーの位置によってアクセルあるいはブレーキの駆動量が決まるため、エンコーダセンサは正確に操作レバーの位置を反映していなければならない。エンコーダセンサに故障（フェール）があり、その出力が操作レバーの位置を正確に表さない場合、アクセルあるいはブレーキが運転者の意図したものとは異なる動きをすることになる。
【０００８】
従って、操作レバーによってアクセル、ブレーキを操作する運転制御装置では、操作レバーの位置を検出するエンコーダセンサが正常に動作しているか否かを常に検出し、正常でない場合は運転者に警告を発しあるいは運転を強制的に停止するなどの処置を取る必要がある。ところが、従来の運転制御装置では、このようなエンコーダセンサのフェール検出およびフェールセーフについては、何ら考慮されていない。
【０００９】
一般に回転センサなどの出力パルスをカウントし、そのカウント値の変化に異常があれば、回転センサが異常であることは知られているが、このようなアブソリュートエンコーダセンサを適用した場合、複数の信号線があるため、これら信号線に対する異常を精度良く判別する必要がある。
【００１０】
本発明は、かかる点に関してなされたもので、アブソリュートエンコーダセンサのフェール検出を精度良く行うと共に適切なフェールセーフを行って、運転の安全性を確保することが可能な運転制御装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の運転制御装置は、操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき積算してカウントするカウンタと、前記カウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に、検出されたレバー位置に基づいて運転制御を行う制御手段を備えた制御装置において、前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、前記カウンタのカウント数を取り込み、前記最小周期のパルス信号が入力されたにもかかわらず、前記カウンタのカウント数が当該最小周期のパルス信号に応じた変化をしていない場合には、前記エンコーダセンサについて異常が発生していると判断するように構成されている。
【００１２】
上記課題を解決するために、本発明の第２の運転制御装置は、操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき積算してカウントするカウンタと、前記カウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に、検出されたレバー位置に基づいて運転制御を行う制御手段を備えた制御装置において、前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号のレベルに変化がなく且つその他の異なる周期を持つパルス信号に変化がある場合には、前記エンコーダセンサについて異常が発生していると判断するように構成されている。
【００１３】
上記課題を解決するために、本発明の第３の運転制御装置は、操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき巡回してカウントする第１のカウンタと、前記第１のカウンタのカウント数を順次積算してカウントする第２のカウンタと、前記第２のカウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に検出されたレバー位置に基づいて、ブレーキ又はアクセルの車両の運転制御を行う制御手段を備えた制御装置において、前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、前記カウンタのカウント数を取り込み、前記最小周期のパルス信号が入力されたにもかかわらず、前記カウンタのカウント数が当該最小周期のパルス信号に応じた変化をしていない場合には、前記エンコーダセンサの前記最小周期以外の周期を持つパルス信号について異常が発生していると判断するように構成する。
【００１４】
上記課題を解決するために、本発明の第４の運転制御装置は、操作レバーの変位量を回転体の回転量として検出すると共に、当該回転量に対応して複数の異なる周期を持つパルス信号を出力するエンコーダセンサからの、当該複数のパルス信号に基づき巡回してカウントする第１のカウンタと、前記第１のカウンタのカウント数を順次積算してカウントする第２のカウンタと、前記第２のカウンタのカウント数に基づいて前記操作レバーの位置を検出すると共に検出されたレバー位置に基づいて、ブレーキ又はアクセルの車両の運転制御を行う制御手段を備えた制御装置において、前記複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号のレベルに変化がなく、且つその他の異なる周期を持つパルス信号に変化がある場合には、前記エンコーダセンサの前記最小周期のパルス信号について異常が発生していると判断するように構成する。
【発明の効果】
【００１５】
上記第１の発明にかかる運転制御装置では、エンコーダセンサから出力される複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、カウント数を取り込むようにしている。そのため、エンコーダセンサに異常がない場合、最小周期のパルス信号が入力された場合には、カウンタのカウント数は最小周期のパルス信号に応じた変化をする。したがって、このような変化をしない場合を検出することによって、速やかにエンコーダセンサの異常発生を検出することが出来る。
【００１６】
上記第２の発明にかかる運転制御装置では、エンコーダセンサが正常に動作している場合、回転量に応じた最小周期を持つパルス信号以外のその他の異なる周期を持つパルス信号に変化がある場合には、必ず最小周期を持つパルス信号のレベルに変化がある。したがって、最小周期を持つパルス信号のレベルに変化がなく且つその他の異なる周期を持つパルス信号に変化がある場合を監視していることによって、エンコーダセンサの異常発生を速やかに検出することができる。
【００１７】
上記第３の発明にかかる運転制御装置では、エンコーダセンサから出力される複数のパルス信号のうち、回転量に応じた最小周期を持つパルス信号の入力をトリガとして、カウント数を取り込むようにしている。そのため、最小周期のパルス信号が入力された場合には、カウンタのカウント数は最小周期のパルス信号に応じた変化をする。したがって、このような変化をしない場合を検出することによって、エンコーダセンサの最小周期以外の周期を持つパルス信号についての異常の発生を速やかに検出することが出来る。
【００１８】
上記第４の発明にかかる運転制御装置では、回転量に応じた最小周期を持つパルス信号のレベルに変化がなく、且つその他の異なる周期を持つパルス信号に変化がある場合には、前記エンコーダセンサの最小周期のパルス信号について異常が発生しているとみなすことができるので、この状態を監視していることにより、最小周期のパルス信号についての異常を速やかに検出することができる。
【発明を実施するための最良の形態】
【００１９】
図１（a）は、運転席の助手席側に設けられた操作レバー１を示す図であって、ニュートラルの位置にある操作レバー１を後ろに引く（１’）と車両が加速され、前方に押し出す（１”）とブレーキがかかるようになっている。レバー１の移動範囲は、移動範囲の終端に設けたメカニカルストッパ（図示せず）によって制限される。メカニカルストッパには、アクセルエンドスイッチ、ブレーキエンドスイッチ（図２参照）が設けられ、レバー１がアクセル側あるいはブレーキ側で最大の移動を行ったことが検出される。また、図１（ｂ）は［背景技術］の項で述べたアブソリュートエンコーダセンサを示す。図（ｂ）において、１２ａは回転体、１２ｂはスリット、１２ｃは発光ダイオード等の発光素子、１２ｄはフォトダイオード等の受光素子を示す。
【００２０】
図２は、本発明の１実施形態にかかる運転制御装置の概略構成を示すブロック図である。図において、１０は、操作レバー１の位置検出装置を示す。１実施例では、操作レバー１は、例えば、アクセル側へ５０ｍｍ、ブレーキ側へ７５ｍｍ移動可能な構造とされている。操作レバー１の移動はエンコーダセンサ１２によって検出され、検出値はレバー位置検出用電子制御装置（ＥＣＵ）３０に例えば８ビットのデータとして８本の信号線を介して出力される。なお、ＥＣＵ３０は、図示はしないがマイクロプロセッサを有しており、入力された各種データからアクセル、ブレーキの制御量を計算し、これをアクセル、ブレーキの制御機構４０に伝える。
【００２１】
なお、アクセルは車両走行を行う（加速する）ための駆動部材、例えばスロットルアクチュエータから成り、ブレーキは車両停止を行うための駆動部材、例えばブレーキ油圧アクチュエータからなる。ニュートラルはアクセルとブレーキの中立位置であり、加速および停止を行わない。
【００２２】
位置検出装置１０はまた、アクセルエンドスイッチ１４、ブレーキエンドスイッチ１６、ニュートラルスイッチ１８を有し、レバー１がアクセルエンド、ブレーキエンドおよびニュートラルポジションに達した場合に、検出信号をＥＣＵ３０に出力する。アクセルエンド、ブレーキエンドは、上述したメカニカルなストッパで構成される。２０はアクセル・ブレーキのロック機構であり、ＥＣＵ３０からのロック信号により制御され、操作レバー１の移動をロックする。
【００２３】
図３は操作レバー１のストロークと各スイッチ１４、１６、１８およびエンコーダセンサ１２の出力波形の関係を示す図である。図３の（ａ）はレバーストロークに伴うニュートラルスイッチ１８の出力波形を、図（ｂ）はアクセルエンドスイッチ１４の出力波形を、図（ｃ）はブレーキエンドスイッチ１６の出力波形を、さらに図（ｄ）はエンコーダセンサ１２が正常に動作している場合の出力をカウンタα（第１のカウンタ）とみなした波形を示す。
【００２４】
エンコーダセンサ１２は、８ビットアブサリュートエンコーダセンサであり、信号ＡＢ０〜ＡＢ７をパラレルで出力する。また、エンコーダセンサ１２はレバーの水平移動に伴い複数回回転する回転体の状態を光素子等で検出する。従って、エンコーダセンサ１２の出力をダイナミックスが０〜２５５のカウンタαとみなすことによって、カウンタαの値で回転体の回転量および回転位置を示すことができる。即ち、レバーの移動に伴い、カウンタの値は巡回的にカウントされるのでカウンタαによりレバーが移動していることを判別することができる。しかしながら、カウンタαで操作レバー１の全体の移動量を表すことができないため（カウンタαは巡回的にインクリメントされるため）、図（ｅ）に示すように、レバーの中立位置（ニュートラル）を基点（０）としてカウンタαが変化するごとにカウンタαを順次積算した、例えば１６ビットのカウンタβ（第２のカウンタ）を生成し、レバー１の移動量、即ちレバーの位置、をカウンタβ値で表すようにしている。アクセルまたはブレーキの制御量はカウンタβの値によって決定される。
【００２５】
図４に、エンコーダセンサ出力からカウンタα、βを生成するタイミングを示す。カウンタαのダイナミクスは０〜２５５であり、図示するように、エンコーダセンサの最下位ビットＡＢ０の出力の立上り／立下りのタイミングＡで更新される。カウンタβは、操作レバーの基準点を０とし、カウンタαの値から以下の様にして算出する。
β＝β０＋（α−α０）
ここで、β０は前回のカウンタβの値、α０は前回のカウンタαの値、αは今回のカウンタαの値を示す。なお、カウンタαが２５６から１に変化する場合または−２５６から−１に変化する場合、即ちカウンタまたぎの場合は、β±１とする。したがって、エンコーダセンサの出力が正常である場合、カウンタは、次のようにして計算する。
【００２６】
カウンタαの変化量が＋１または−２５５の場合：カウンタβ＋１
カウンタαの変化量が−１または＋２５５の場合：カウンタβ−１
なお、図３の例において、エンコーダセンサの最下位のビットＡＢ０の出力の立上り／立下り間隔は０．０５ｍｍであり、エンコーダセンサの回転最大速度は、１００μｓ／０．０５ｍｍである。エンコーダセンサの最下位ビットＡＢ０は、回転体の歯車の１個ずつの回転により１ずつ増加する。
【００２７】
上記のようなエンコーダセンサにおいて、エンコーダセンサの出力ポートＡＢ０〜ＡＢ７のいずれかに断線、ショートあるいはノイズが発生すると、エンコーダセンサが正しい値を出力しなくなり、ＥＣＵ３０は操作レバーの位置を誤って認識する。本発明にかかる運転制御装置では、このような操作レバー位置の誤認識を避けるために、以下のようなフェール定義に従って、エンコーダセンサのフェール検出を行う。さらに、検出されたフェール内容にしたがって適切なフェールセーフを行うことで、運転者にとって安全な運転制御を可能とする。
【００２８】
本発明で定義するエンコーダセンサのフェールおよびそのフェールセーフは以下の通りである。
【００２９】
フェール１
エンコーダセンサの出力ポートＡＢ１〜ＡＢ７の断線、ショートまたはノイズをフェール１と定義する。このフェールの検出は、出力ＡＢ０の立上り／立下りタイミング（図４のＡ）においてカウンタβ値を取得し、前回取得したカウンタβ値との差分が±１でない場合の累積回数が、予め決定した所定回数を超えた場合、出力ポートＡＢ１〜ＡＢ７のいずれかが断線またはショートを起こし、またはノイズを発生（即ちＡＢ１〜ＡＢ７のパルス信号について異常発生）していると判断する。
【００３０】
図４に示すように、エンコーダセンサが正常に動作している場合は、カウンタαおよびカウンタβの前回および今回の値の差は±１となる。したがって、カウンタα、β値の変化量が±１を超えた場合は、異常が発生しているとみなすことができる。ＡＢ０は最小周期のパルスであり、ＡＢ０が±１変化すれば結果的には必ずカウンタβの値がその変化に伴って±１変化するはずである。即ち、最小単位のパルス（移動量）で異常判別するので精度良く判別できる。
【００３１】
しかしながら、運転者が操作レバーを手荒く操作した場合などでは、エンコーダセンサの歯車の回転が飛びカウンタに抜けが発生する。このような場合をエンコーダセンサのフェールとして判断しないように、カウント異常の発生回数を累積する処理を行っている。エンコーダセンサの構造的なフェールであれば、エラーが繰り返して発生するからである。
【００３２】
フェール１検出およびそのフェールセーフのフロー
図５は、フェール１の検出およびそのフェールセーフのフローを示す図である。このフローは、エンコーダセンサの出力ＡＢ０のトリガ発生によって開始される。先ず、ステップＳ１でカウンタβの今回値と前回値から変化量を算出する。ステップＳ２でその変化量が±１か否かを判定し、±１の場合（ステップＳ２のＹＥＳ）はフェール１が発生していないものとし、全体フローに復帰する。全体フローとは、種々のフェール検出を組み合わせて、エンコーダセンサの総合的なフェール検出を行うフローであり、その詳細については後述する。
【００３３】
ステップＳ２でＮＯの場合は、ステップＳ３においてカウンタβの値を±１に補正して、ブレーキ、アクセルの制御量が急激に変化するのを防止する。次のステップＳ４では、カウンタβの補正回数をカウントし、ステップＳ５においてカウンタ値が一定値を超えるか否かを検出する。一定値を超えれば（ステップＳ５のＹＥＳ）、エンコーダセンサのフェールと判断し、ステップＳ６でフェールセーフ１の処理を行ってフローを終了する。
【００３４】
図６に、フェールセーフ１の処理の詳細を示す。ステップＳ６ａでは、カウンタβ値を最大として操作レバーをブレーキ側に最大駆動し、車両を停止させる。その後、ステップＳ６ｂで車両の警告ランプを点灯させ、ステップＳ６ｃで警告ブザーを鳴らして運転者に危険を通知し、さらにステップＳ６ｄでカーナビゲーション装置のディスプレイにフェール情報（フェールの内容）を表示する。
【００３５】
一方、図５のステップＳ５でカウンタ値が所定値を超えない場合（ステップＳ５のＮＯ）は、全体フローに復帰する。
【００３６】
フェール２
エンコーダセンサ出力ポートＡＢ０の断線またはショートをフェール２と定義する。フェール２の検出は、一定周期ごとにエンコーダセンサ出力ポートＡＢ０〜ＡＢ７のレベルを取得し、出力レベルＡＢ１〜ＡＢ７のいずれかが変化しているにもかかわらず、出力レベルＡＢ０にトリガが発生していない場合が所定回数続いた場合、これを出力ポートＡＢ０が断線またはショートしていると判断する。
【００３７】
フェール２の検出およびそのフェールセーフのフロー
図７にフェール２の検出およびそのフェールセーフのフローを示す。このフローの開始のタイミングは、一定周期毎である。先ず、ステップＳ１０で、エンコーダセンサの出力ＡＢ１〜ＡＢ７のポートレベルを取得する。この取得は２度読みとして実行される。ステップＳ１１では、２度読みの結果が同じであるか否かが判定される。判定結果がＮＯの場合、即ち２度読みに失敗した場合（ポート値の切り替わりタイミングと重なった場合）は判定を行わず、全体フローに復帰する。
【００３８】
ステップＳ１１で２度読みに成功した場合（ステップＳ１１のＹＥＳ）は、ステップＳ１２で前回値を取得し、ステップＳ１３で、取得した前回値と今回値とを比較し、出力ポートＡＢ０にトリガが無いにも拘わらず出力ポートＡＢ１〜ＡＢ７に変化が生じているか否かを判定する。出力ポートＡＢ１〜ＡＢ７に変化があれば必ず出力ポートＡＢ０はトリガを発生しているため、ステップＳ１３でＮＯの場合にはエンコーダセンサが正常に動作しているものと判断され、全体フローに復帰する。
【００３９】
一方、ステップＳ１３でＹＥＳの場合は、エンコーダセンサ出力に何らかの異常が発生しているものと判断してよく、次のステップＳ１４で回数カウンタをインクリメントして、異常発生の回数をカウントする。ステップＳ１５では、回数カウンタの値が一定値を超えたか否かを判断し、一定値を超えていない場合（ステップＳ１５のＮＯ）は全体フローへ復帰する。これは、数回のノイズ発生をエンコーダセンサの異常発生とみなすことを避けるためである。ステップＳ１５で、回数カウンタの値が一定値を越えたと判断された場合（ステップＳ１５のＹＥＳ）は、フェール２が発生したものとしてステップＳ１６でフェールセーフ処理１を実行し、車両を強制的に停止させる。フェールセーフ処理１については図６に示したものと同じである。
【００４０】
フェール３
エンコーダセンサの出力ＡＢ０の立上り／立下りタイミング（図４のＡ）ごとに時刻を取得し、立上り／立下り間隔が所定時間未満、例えば１００μｓ未満であれば、出力ＡＢ０のノイズと判断し、これをフェール３と定義する。
【００４１】
フェール３の検出およびそのフェールセーフのフロー
図８は、フェール３の検出およびそのフェールセーフのフローを示す。このフローの開始のタイミングは、出力ポートＡＢ０のトリガ発生である。ステップＳ２０において、検出された出力ポートＡＢ０のトリガが２回目以降であるか否かを検出する。ステップＳ２０でＮＯの場合、即ち検出された出力ポートＡＢ０のトリガが２回目ではない場合、全体フローへ復帰する。ステップＳ２０でＹＥＳの場合は、ステップＳ２１で前後２回のトリガ発生時刻の変化量を算出する。具体的には、今回のトリガ発生の時刻と前回のトリガ発生の時刻の差分を検出する。ステップＳ２２では、ステップＳ２１で検出された差分（変化量）が１００μｓを超えるか否かが判定される。差分が１００μｓ未満でなければ、検出したＡＢ０トリガが正常な出力であると判断し、全体フローへ復帰する。
【００４２】
なお、ステップＳ２２で、検出した差分が１００μｓ未満であると判断されると（ステップＳ２２のＹＥＳ）、検出したＡＢ０トリガをノイズと判断する。この場合は、カウンタβの算出処理およびその他のフェール検出を行わず、全体フローの内の、後述する時間非同期のフェール検出処理を終了する。
【００４３】
フェール４
操作レバーを停止させた状態で、出力ＡＢ０〜ＡＢ７それぞれのレベルを取得し、２度読みを実施する。２度読みして結果が一致しない状態が所定時間続いた場合を、エンコーダセンサのフェール４と判断する。操作レバーを停止させた状態では、エンコーダセンサ出力は安定しており出力の２度読みの結果が一致するはずである。それにも拘わらず出力の２度読み失敗の場合は、エンコーダセンサ自体に問題があるものと考えられる。フェール４の検出は、特に、ＩＧスイッチをオンとした場合のイニシャルチェックとして行われる。
【００４４】
フェール４の検出およびそのフェールセーフのフロー
図９は、フェール４の検出およびそのフェールセールのフローを示す。なお、このフェール検出は全体フローのイニシャルチェックとして行われるため、ＩＧスイッチのオンによって処理が開始される。処理開始後、ステップＳ３０でエンコーダセンサ出力ポートＡＢ０〜ＡＢ７のレベルを取得する。出力値の２度読みを実行するために、ステップＳ３１において、ステップＳ３０での取得が２回目以降の取得であるか否かを判定する。２回目以降の取得でない場合（ステップＳ３１のＮＯ）はステップＳ３０に戻って以降のステップを再度実行する。
【００４５】
ステップＳ３１でＹＥＳの場合はステップＳ３２において前回値を取得し、ステップＳ３３で、前回値と今回値の結果が一致するかを判定する。即ち、ステップＳ３３で２度読みに成功したか否かを判定する。成功した場合（ステップＳ３３のＹＥＳ）、エンコーダセンサに異常がないものとして全体フローへ復帰する。失敗した場合（ステップＳ３３のＮＯ）、ステップＳ３４でその状態が所定時間継続するか否かを判定し、継続する場合（ステップＳ３４のＹＥＳ）はエンコーダセンサ自体に異常があるものと判断し、フェールセーフ１の処理を行う。フェールセーフ処理１は、図６に示したものと同じである。
【００４６】
ステップＳ３４で、２度読みに失敗した状態が所定時間継続しないと判断された場合（ステップＳ３４のＮＯ）は、ステップＳ３０に戻って以降のステップを再び実行する。
【００４７】
フェール５
操作レバーが駆動できる最大の位置（アクセル側／ブレーキ側）でカウンタβ値を取得し、カウンタβ値が最小値／最大値でない場合、これをエンコーダセンサのフェールと判断する。
【００４８】
操作レバーが駆動の最大位置に達した場合、アクセルエンドスイッチ１４／ブレーキエンドスイッチ１６がオンとなってそれぞれの検出信号を出力する。この検出信号が出力された場合、エンコーダセンサが正常に動作していれば、カウンタβの値は最小値／最大値をとる。ところが、例えばフェール１の検出フローにおけるステップＳ３でカウンタβの値を補正した場合などには、カウンタβ値は理想値（最小値／最大値）から離れている。この状態を検出することにより、カウンタβの値を理想値に修正することが可能となる。
【００４９】
フェール５の検出およびそのフェールセーフのフロー
図１０にフェール５の検出およびそのフェールセールのフローを示す。本フローは、ＡＢ０トリガが発生し、かつレバーエンドセンサを構成するアクセルエンドスイッチ１４あるいはブレーキエンドスイッチ１６（レバーエンドセンサ）がオンとなったタイミングで開始される。先ず、ステップＳ４０でカウンタβ値を取得し、ステップＳ４１で、取得したカウンタβ値が最大値か否かを判定する。最大値の場合（ステップＳ４１のＹＥＳ）、フェール５に関してはエンコーダセンサが正常に動作しているものとして、全体フローへ復帰する。ステップＳ４１で最大値でない場合（ステップＳ４１のＮＯ）、何らかの要因でカウンタβ値にずれが生じているものと判断し、ステップＳ４２でフェールセーフ２の処理を行う。このフェールセーフ２は、具体的には、カウンタβ値を最大値（理想値）に補正することである。補正後、全体フローへ復帰する。
【００５０】
フェール６
操作レバーが基準点（ニュートラルポジション）にあるにもかかわらず、カウンタβの値が０でない場合、エンコーダセンサのフェールと判断する。これをフェール６とする。フェール５の場合と同様に、例えばフェール１の検出フローにおけるステップＳ３でカウンタβの値を補正した場合などでは、カウンタβ値は理想値（０）から離れている。したがって、フェール６を検出することで、カウンタβの値を理想値に戻すことができる。
【００５１】
フェール６の検出およびそのフェールセーフのフロー
図１１に、フェール６の検出およびそのフェールセーフのフローを示す。本検出フローは、ＡＢ０トリガが発生しかつ基準点のタイミングで開始される。基準点はカウンタα＝０で判断する。先ず、ステップＳ５０でカウンタβ値を取得し、取得したカウンタβ値が０であるか否かをステップＳ５１で判定する。カウンタβ値が０の場合（ステップＳ５１のＹＥＳ）は、全体フローに復帰する。ステップＳ５１でカウンタβ値が０ではないと判定されると（ステップＳ５１のＮＯ）、ステップＳ５２でフェールセーフ３の処理を行い、全体フローへ復帰する。このフェールセーフ処理は、具体的には、カウンタβの値を０に補正することであり、例えば、フェール１検出のステップＳ３でカウンタβを補正した結果、カウンタβ値が理想値（運転者のレバー操作を正確に反映したカウンタβ値）から外れてしまった状態を修正するための処置である。
【００５２】
フェール７
例えば図３の事例において、操作レバーがアクセル側にあるにもかかわらずカウンタβ値がプラスの場合、あるいは、操作レバーがブレーキ側であるにもかかわらずカウンタβ値がマイナスの場合エンコーダセンサのフェールと判断し、これをフェール７とする。
【００５３】
このフェールは、フェール１検出フローのステップＳ３でカウンタβが補正された結果、その後のカウンタβ値が理想値から外れてしまうことなどによって発生する。この場合、操作レバーが基準点（ニュートラルポジション）近傍のアクセル側にあるにもかかわらず、カウンタβ値がブレーキ側の値を示し、あるいは、操作レバーがブレーキ側にあるにもかかわらず、カウンタβ値がアクセル側の値を示すと、運転者の意思とは正反対のブレーキ、アクセル制御が行われるため、大変危険である。したがって、フェール７の検出は重要である。
【００５４】
フェール７の検出およびそのフェールセーフのフロー
図１２にフェール７の検出およびそのフェールセーフのフローを示す。本フローは、ＡＢ０トリガによって開始される。先ず、ステップＳ６０でカウンタβ値を取得し、ステップＳ６１でアクセル／ブレーキ情報を取得する。アクセル／ブレーキ情報とは、基準点センサオン／オフ切り替わり時のカウンタαの値より判断する。例えば、カウンタαが、α＜１２８のときはブレーキ側、α≧１２８のときはアクセル側と判断する。
【００５５】
次に、ステップＳ６２で、カウンタβ値が負でかつアクセル側情報が生成されている場合、あるいは、カウンタβが正でかつブレーキ側情報が生成されている場合、即ちステップＳ６２のＹＥＳの場合は、エンコーダセンサが正常に動作しているものと判断されるため、全体フローに移行する。一方、ステップＳ６２でＮＯの場合、即ち、カウンタβ値の補正の結果運転者のレバー操作とは正反対のアクセル／ブレーキ制御が行われようとしている場合には、ステップＳ６３においてとりあえずカウンタβ値を０にするフェールセーフ３を実行し、その後全体フローへ移行する。
【００５６】
カウンタβ値の理想値は、基準点センサまたはブレーキエンドセンサがオンの場合のみ算出可能であるため、ステップＳ６３では一時的にカウンタβ値を０として運転者の意図とは正反対の制御が行われることを防止する。
【００５７】
フェール８
基準点センサがオンの時、カウンタα値とカウンタβ値を比較し（カウンタα値≧１２８の場合は２の補数表現した値とカウンタβ値を比較）、両者が異なっている場合、エンコーダセンサのフェールと判断し、これをフェール８とする。
【００５８】
フェール５〜７と同様に、カウンタβ値が補正されている場合、カウンタβ値は理想値と離れている場合がある。このような場合にフェール８が発生する。
【００５９】
フェール８の検出およびそのフェールセーフのフロー
図１３はフェール８の検出およびそのフェールセーフのフローを示す。本フローの開始タイミングは、ＡＢ０トリガ発生と基準点センサがオンとなることである。先ず、ステップＳ７０でカウンタαの値を取得し、次のステップＳ７１でカウンタβの値を取得する。ステップＳ７２では、ステップＳ７０と７１で取得した値に基づいて、カウンタβの値が理想値であるか否かが判定される。ここで理想値とは、カウンタα値＜１２８のとき、カウンタβ値＝カウンタα値であり、カウンタα値≧１２８のとき、カウンタβ値＝カウンタα値の２の補数である。
【００６０】
なお、カウンタβ値の理想値にカウンタα値とその２の補数の２種類を設けるのは、カウンタβ値を基準点で０としているためで、例えばアクセルエンドからブレーキエンドまでを０〜２５６０で示した場合はそのような必要がない。
【００６１】
ステップＳ７２でＹＥＳの場合、エンコーダセンサは正常に動作しているため、全体フローへ復帰する。ステップＳ７２でＮＯの場合は、ステップＳ７３でカウンタβ値をカウンタα値（あるいはその２の補数）で置き換えるフェールセーフ４を実行する。これによって、カウンタβ値が理想値（正常値）に補正される。この後、全体フローへ復帰する。
【００６２】
以上が、本発明に基づいて検出されるエンコーダセンサのフェールおよびそのフェールセーフの説明であるが、実際の運転制御に当たっては、上記各フェールの検出およびフェールセーフはエンコーダセンサの異常を常に監視するために、ＩＧスイッチがオンの期間中、一連の制御として実施される。
【００６３】
図１４は、このような一連の制御（全体フロー）のうち、定期処理（時間同期）として行われるものを示す。図１４の処理は、車両のＩＧスイッチがオンとされることによって開始され、ステップＰ４のフェール２の検出、フェールセーフ処理を車両の運転制御期間中、一定時間ごとに繰り返して行う。
【００６４】
図１４において、ＩＧスイッチがオンとされると、ステップＰ１でイニシャルチェックとしてフェール４の検出、処理が行われる。フェール４は、操作レバーが停止状態であるにもかかわらず、エンコーダセンサにノイズが多発してその出力が安定しない状態を検出するものであり、図９にその検出およびフェールセーフ過程を示している。ＩＧスイッチをオンした直後（イニシャル時）は操作レバーが停止しているはずであるが、それにもかかわらずエンコーダセンサの出力ＡＢ０〜ＡＢ７の値が安定しない場合は、エンコーダセンサ自体に不備があるものと考えられる。したがって、その場合は、ブレーキを最大とする処理（図６のフェールセーフ１）を行って車両を運行停止状態とすると共に、運転者にアラームなどで警告を行う。
【００６５】
ステップＰ１でエンコーダセンサに問題が無いと判断されると、次に、システムの初期化処理（ステップＰ２）を行う。この処理は、カウンタβ値の算出などを含む。初期化処理が終了すると、一定時間の経過を検出した後（ステップＰ３のＹＥＳ）、エンコーダセンサの出力ＡＢ０の断線またはショートを検出する処理（フェール２の検出、フェールセーフ）を行う（ステップＰ４）。上述したように、カウンタβ値の取得は、出力ＡＢ０のトリガと同期して行われるため、何らかの原因で出力ＡＢ０のトリガが発生しないとカウンタβが更新されない。その結果、操作レバーを介した運転者の要求が制御値に反映されなくなる。
【００６６】
そのため、出力ＡＢ０のトリガが存在するか否かを、車両の運転時にわたって定期的に監視している必要がある。ステップＰ４のフェール２の検出は、この目的のために実行される処理である。ステップＰ４で出力ＡＢ０のトリガが検出されず、かつＡＢ１〜ＡＢ７の値に変化がある場合は、エンコーダセンサのフェールと判断し、ブレーキを最大とする制御を行うと共に、アラームによって運転者に車両異常の発生を通知する（図７）。ステップＰ４で異常が検出されない場合は、ステップＰ５でＩＧスイッチのオンを確認した後ステップＰ３に戻って一定時間の経過を待ち、その後再度ステップＰ４を実行する。ステップＰ５でＩＧスイッチがオフとされていれば（ステップＰ５のＹＥＳ）、処理を終了する。
【００６７】
図１５は、全体フローのうち、出力ポートＡＢ０がトリガされたことによって開始される（時間非同期）一連のフェール検出フローである。先ず、ステップＰ１０で、図１４に示した初期化処理（ステップＰ２）が完了しているか否かが判定される。初期化処理が完了していない場合（ステップＰ１０のＮＯ）は、本処理を終了する。
【００６８】
ステップＰ１０で初期化処理が完了していると判定されると、ステップＰ１１で出力ＡＢ０のトリガ時刻が記憶される。次に、ステップＰ１２でカウンタβの値を算出した後、ステップＰ１３でフェール３の検出およびフェールセーフを実行する。フェール３の検出、フェールセーフについては図８に示されている。この処理は出力ＡＢ０のノイズ検出を目的とし、ノイズによって出力ＡＢ０が発生したと判断される場合にはカウンタβ算出やその後の別のフェール検出を行わないようにするものである。フェール３の検出により、処理負担の軽減やフェール誤検出の防止効果がある。
【００６９】
ステップＰ１３において異常が検出されない場合、ステップＰ１４でフェール１の検出およびフェールセーフが実行される。フェール１の検出およびフェールセーフについては図５および６に示されている。この処理の目的はエンコーダセンサの出力ＡＢ１〜ＡＢ７のいずれかのポートの断線あるいはショート多発検出である。出力ポートＡＢ１〜ＡＢ７のいずれかに断線あるいはショートが発生した場合、カウンタβ値が±１ずつ滑らかに変化せず、急激な変化を生じる。
【００７０】
アクセルあるいはブレーキは、カウンタβの値によって制御されるため、カウンタβ値が急激に変化するとアクセルあるいはブレーキ制御値が運転者の意図に反して急激に変化し、大変危険である。したがって、ステップＰ１４で出力ポートＡＢ１〜ＡＢ７の断線あるいはショートを検出すると、カウンタβ値を補正する処理を行ってアクセルあるいはブレーキの制御量変化を小さくし、危険を回避する。なお、フェール１検出でカウンタβの変化量が±１を超える場合が所定回数発生すると、フェールセーフ処理を行って車両の運行を停止すると共に、アラーム等を介して運転者に警告を発する。
【００７１】
ステップＰ１４で異常が発生しない場合は、ステップＰ１５においてフェール７の検出およびフェールセーフを実行する。フェール７の検出の詳細については、図１２に示されている。このフェール検出の目的は、ステップＰ１４で実行されたカウンタβ値の補正によって補正値が理想値より離れてしまい、その結果として運転者が操作レバーをアクセル側に移動させているにもかかわらずブレーキ制御が行われ、あるいは運転者が操作レバーをブレーキ側に操作しているにもかかわらずアクセル制御が行われる事態を回避することである。即ち、運転者の意図とは正反対の運転制御が行われることを防止するものである。
【００７２】
ステップＰ１５で異常が検出されない場合は、ステップＰ１６で基準点センサがオンとなっていないこと（ステップＰ１６のＮＯ）およびステップＰ１７でレバーＥＮＤセンサがオンとなっていないこと（ステップＰ１７のＮＯ）を確認し、処理を終了する。
【００７３】
ステップＰ１６で基準点センサのオンが検出されると（ステップＰ１６のＹＥＳ）、ステップＰ１８でフェール８の検出、フェールセーフを実行する。フェール８の検出については、図１３に示されている。フェール８の検出に伴うフェールセーフは、基準点でカウンタβの値をカウンタαの値で補正して理想値に設定しなおすために実行される。
【００７４】
次に、ステップＰ１９で再び基準点センサのオン状態を検出し、オン状態が検出されれば（ステップＰ１９のＹＥＳ）、ステップＰ２０でフェール６の検出、フェールセーフを実行する。フェール６の検出については図１１に示されている。フェール６の検出に伴うフェールセーフは、基準点においてカウンタβの値を０に復帰させることである。
【００７５】
ステップＰ１９でＮＯの場合はステップＰ１７に移行する。ステップＰ１７でレバーエンドセンサ（アクセルエンドスイッチ、ブレーキエンドスイッチ）がオンの場合は、ステップＰ２１でフェール５の検出、フェールセーフを行う。この処理は、レバーエンドセンサがオンとなったときに、カウンタβの値を理想値に復帰させる処理である。即ち、ブレーキエンドスイッチがオンとなった場合はカウンタβの値を最大値に、アクセルエンドスイッチがオンとなった場合はカウンタβ値を最小値に設定する。
【００７６】
以上によって、出力ポートＡＢ０のトリガが発生した場合のフェール検出処理を終了する。なお、出力ポートＡＢ０に次のトリガが発生した場合は、ステップＰ１０以下を再度実行する。
【００７７】
尚、駆動部材としてはアクセルやブレーキに拘わらず、ステアリングの操舵駆動系等、その他運転のための駆動系であっても良い。また、運転制御装置としてＥＣＵを例に説明したが、発明のカテゴリーとしては運転制御装置だけではなく、そのような処理を組み込んだプログラム、方法、あるいは集積回路（ＩＣ）であっても良い。あるいは、本発明のカウンタのカウント数に基づいてエンコーダセンサについての異常発生を検出する異常検出プログラム、異常検出方法、異常検出装置であっても良い。
【図面の簡単な説明】
【００７８】
【図１】操作レバーおよびアブソリュートエンコーダセンサの概略構成を示す図。
【図２】本発明にかかる運転制御装置の概略構成を示すブロック図。
【図３】エンコーダセンサの出力波形を示す図。
【図４】カウンタαおよびβの生成タイミングを示す図。
【図５】フェール１の検出およびそのフェールセーフのフローを示す図。
【図６】フェールセーフ１のフローを示す図。
【図７】フェール２の検出およびそのフェールセーフのフローを示す図。
【図８】フェール３の検出およびそのフェールセーフのフローを示す図。
【図９】フェール４の検出およびそのフェールセーフのフローを示す図。
【図１０】フェール５の検出およびそのフェールセーフのフローを示す図。
【図１１】フェール６の検出およびそのフェールセーフのフローを示す図。
【図１２】フェール７の検出およびそのフェールセーフのフローを示す図。
【図１３】フェール８の検出およびそのフェールセーフのフローを示す図。
【図１４】時間同期のフェール検出全体フローを示す図。
【図１５】時間非同期のフェール検出全体フローを示す図。
【符号の説明】
【００７９】
１    操作レバー
１０    位置検出装置
１２    エンコーダセンサ
１４    アクセルエンドスイッチ
１６    ブレーキエンドスイッチ
１８    ニュートラルスイッチ（基準点スイッチ）
２０    アクセル・ブレーキロック
３０    レバー位置検出用電子制御装置（ＥＣＵ）
【図１】
2007230390.tif 000003
【図２】
2007230390.tif 000004
【図３】
2007230390.tif 000005
【図４】
2007230390.tif 000006
【図５】
2007230390.tif 000007
【図６】
2007230390.tif 000008
【図７】
2007230390.tif 000009
【図８】
2007230390.tif 000010
【図９】
2007230390.tif 000011
【図１０】
2007230390.tif 000012
【図１１】
2007230390.tif 000013
【図１２】
2007230390.tif 000014
【図１３】
2007230390.tif 000015
【図１４】
2007230390.tif 000016
【図１５】
2007230390.tif 000017