(57)【要約】【課題】手動変速時に、シフトレバーのシフト位置を速やかに検出して、回転同期制御等の応答性を向上する。【解決手段】  初期学習では、シフトレバーのニュートラル位置におけるセンサ出力を学習し、初期学習完了後から高精度学習完了前には、初期学習での学習値を基準とした変位量によって、各シフト位置の判定領域を小さく設定し［図６の（Ａ）］、高精度学習完了後は、ニュートラル位置とシフト位置（変速段）とのセンサ出力を学習し、ストローク（図示上下）方向については、ニュートラル位置の学習値を基準とし、セレクト（図示左右）方向については、シフト位置の学習値を基準とした変位量によって、各シフト位置の判定領域を大きく設定する［図６の（Ｂ）］。【選択図】図６
2008302821.tif 000002
【特許請求の範囲】
【請求項１】
変速機のシフトレバーに連動して出力が変化するセンサを備え、該センサの出力が、シフト位置毎に設定された判定領域のいずれかに入ることで、シフトレバーが、対応するシフト位置へシフトされたことを検出するシフト位置検出装置であって、
前記センサの出力を学習し、該学習の精度が高められるにしたがって、前記シフト位置毎の判定領域を拡大することを特徴とするシフト位置検出装置。
【請求項２】
前記学習は、進行に応じて精度の低い学習から、精度の高い学習に切り換えられることを特徴とする請求項１に記載のシフト位置検出装置。
【請求項３】
前記学習は、シフトレバーの所定シフト位置に対応するセンサ出力を学習し、該センサ出力の学習値を基準とし、該基準点からの変位量に基づいて、前記シフト位置毎の判定領域を設定することを特徴とする請求項１又は請求項２に記載のシフト位置検出装置。
【請求項４】
前記所定シフト位置は、初期の精度の低い学習においてはニュートラル位置であり、その後の精度の高い学習においてはニュートラル位置以外の各変速段に対応するシフト位置を含むことを特徴とする請求項３に記載のシフト位置検出装置。
【請求項５】
前記センサとして、シフトレバーに連動して軸方向に変位すると共に軸周りに回動するシャフトの軸方向位置を検出するストローク方向センサと、前記シャフトの軸周りの回転位置を検出するセレクト方向センサとを備えることを特徴とする請求項１〜請求項４のいずれか１つに記載のシフト位置検出装置。
【請求項６】
前記シフト位置の検出結果が、エンジン回転速度を変速後の目標回転速度に同期させる制御における目標回転速度の算出に用いられることを特徴とする請求項１〜請求項５のいずれか１つに記載のシフト位置検出装置。
【請求項７】
精度の低い初期の学習を完了後、前記エンジン回転速度の同期制御の実行が許可されることを特徴とする請求項１〜請求項６のいずれか１つに記載のシフト位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変速機のシフトレバーのシフト位置を検出する装置に関し、特に、シフト操作の途中でシフト位置を精度よく速やかに検出する装置に関する。
【背景技術】
【０００２】
特許文献１には、ポテンショメータから出力される電圧値と基準出力電圧とを比較して、シフトレバーのシフトポジションを検出する一方、特定のシフト位置に操作されているときのポテンショメータの出力電圧値から、電圧とシフトポジションとの関係を補正する装置が開示されている。
【特許文献１】特開２００２−１２０５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、手動変速機を備えた車両において、変速時のクラッチ開放時にクラッチの入力側（エンジン側）の回転速度を、変速後のシフト位置とそのときの車速とに応じた目標エンジン回転速度に制御することによって、クラッチの入力側と出力側（駆動輪側）の回転速度を同期させる回転同期制御を行うことで、変速ショックを緩和させることができる。
【０００４】
手動変速機の場合、回転同期制御による変速ショック緩和効果を得るためには、センサの検出値に基づいて、変速後のシフト位置を早めに判定して回転同期制御を開始する必要がある。
【０００５】
回転同期制御を行うためには、ある程度以上のシフト位置検出精度が要求され、また、回転同期制御の変速ショック抑制効果を高めるためには、シフト位置をできるだけ速やかに検出する必要がある。
【０００６】
特許文献１のように、特定のシフト位置に対応するセンサの検出値を学習すれば、センサの検出値に基づくシフト位置検出精度を高められ、変速後のシフト位置の判定を早めることができるが、学習の精度を高めると、学習の完了に遅れを来たして回転同期制御の実行許可を遅らせてしまい、学習の精度が低いと、シフト位置の誤検出を防止するために、シフト位置を判定するセンサ出力値の判定範囲を狭めなければならず、その結果、シフト位置検出の遅れに伴い回転同期制御の開始が遅れるため、変速ショック抑制効果を十分に発揮できない。
【０００７】
回転速度制御以外でも、シフト位置の変更つまり変速に応じて速やかに開始する必要のある制御を行うような場合は、同様の問題を生じる。
【０００８】
本発明は、このような従来の課題に着目してなされたもので、シフト位置の検出精度を高めながら、検出精度の増大に伴ってシフト位置検出が早められるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
そのため、本発明は、変速機のシフトレバーに連動して出力が変化するセンサを備え、該センサの出力が、シフト位置毎に設定された判定領域のいずれかに入ることで、シフトレバーが、対応するシフト位置へシフトされたことを検出するシフト位置検出装置であって、前記センサの出力を学習し、該学習の精度が高められるにしたがって、前記シフト位置毎の判定領域を拡大することを特徴とする。
【発明の効果】
【００１０】
かかる構成によると、センサ出力の学習精度が高められてシフト位置の検出精度が高められると、変速後のシフト位置を正確に判定できるセンサの出力の範囲が拡大する。
【００１１】
そこで、学習精度の増大に応じて各シフト位置の判定領域を拡大することにより、学習精度が低くシフト位置検出精度が低い段階では、判定領域を狭めてシフト位置の誤検出を防止し、学習精度が高くシフト位置検出精度が高くなると、判定領域を拡大してシフト位置検出を早めることができる。
【００１２】
これにより、例えば、学習精度が低い初期段階でも、シフト位置検出精度を確保して回転同期制御の実行を許可でき、その後、学習精度の増大に応じてシフト位置の検出精度を確保しながら検出が早められるので、回転同期制御等を速やかに開始して変速ショック抑制効果を高めることができる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の実施の形態を図に基づいて説明する。
【００１４】
図１は、本願発明に係るシフト位置検出装置を含む車両用エンジン・動力伝達系及びその制御系を示す。
【００１５】
図１において、エンジン１には図示省略したクラッチを介して手動変速機２が連結されており、手動変速機２の変速段は、シフトレバー３の操作によって任意に選択される。
【００１６】
前記シフトレバー３は、図２に示すようなシフトゲート４に沿って移動する。
【００１７】
前記シフトゲート４は、図２における上下方向（車両の前後方向）であるストローク方向と図２における左右方向（車両の左右方向）であるセレクト方向とに沿って設けられ、セレクト方向に沿って延設されるニュートラルゲート部４ａと、前記ニュートラルゲート部４ａの左端から前後に延設される１‐２ゲート部４ｂ、前記ニュートラルゲート部４ａの中央付近から前後に延設される３‐４ゲート部４ｃ、前記ニュートラルゲート部４ａの右端から前後に延設される５‐Ｒゲート部４ｄとからなり、前記ニュートラルゲート部４ａにシフトレバー３が位置する場合には、３‐４ゲート部４ｃが交わる中央付近（ニュートラル位置）に向けてシフトレバー３が付勢されるようになっている。
【００１８】
そして、１‐２ゲート部４ｂの前端部にシフトレバー３を位置させると１速に、１‐２ゲート部４ｂの後端部にシフトレバー３を位置させると２速に、３‐４ゲート部４ｃの前端部にシフトレバー３を位置させると３速に、３‐４ゲート部４ｃの後端部にシフトレバー３を位置させると４速に、５‐Ｒゲート部４ｄの前端部にシフトレバー３を位置させると５速に、５‐Ｒゲート部４ｄの後端部にシフトレバー３を位置させると６速に、変速される。
【００１９】
ここで、図３に示すように、前記シフトレバー３に連動するシャフト５を介して手動変速機２の変速段が切り換えられるようになっている。
【００２０】
即ち、前記シフトレバー３の前記ストローク方向に沿った動きに連動してシャフト５が軸方向に進退し、前記シフトレバー３の前記セレクト向に沿った動きに連動して前記シャフトが軸周りに回転し、このシャフト５の軸方向及び軸周りの動きによって各変速段のギヤの噛み合せが行われる。
【００２１】
前記シャフト５の軸方向の位置、即ち、シフトレバー３のストローク方向における位置を連続的に検出するストロークセンサ１１と、前記シャフト５の軸周りの回転位置、即ち、前記シフトレバー３のセレクト方向における移動位置を連続的に検出するセレクトセンサ１２とが設けられている。
【００２２】
そして、前記ストロークセンサ１１により検出されるストローク方向の位置と前記セレクトセンサ１２により検出されるセレクト方向の位置とから、シフトレバー３の位置を前記シフトゲート４に対応する平面上の位置として検出できるようになっている。
【００２３】
前記ストロークセンサ１１及びセレクトセンサ１２の検出信号は、エンジンコントロールモジュール（以下、ＥＣＭという）１３に入力される。
【００２４】
前記ＥＣＭ１３は、マイクロコンピュータを含んで構成され、前記ストロークセンサ１１，セレクトセンサ１２からの信号の他、クラッチペダル１４の踏み込み量から前記クラッチの完全締結状態を検出する第１クラッチスイッチ１５、前記クラッチペダル１４の踏み込み量から前記クラッチの完全解放状態を検出する第２クラッチスイッチ１６、手動式変速機２の出力軸から車速ＶＳＰを検出する車速センサ１７、エンジン１の回転数Ｎｅ（rpm）を検出するエンジン回転センサ１８、前記手動変速機２のニュートラル状態を検出するニュートラルスイッチ１９などからの信号が入力される。
【００２５】
前記ＥＣＭ１３は、上記各種センサ・スイッチからの信号に基づいて、運転者による変速操作時（クラッチ解放時）に、エンジン回転を変速後の回転に近づけてクラッチ締結時の変速ショックを緩和する回転同期制御を行う。
【００２６】
以下に、前記回転同期制御の概略を、図３中に示す制御ブロック図に従って説明する。
【００２７】
まず、目標ギヤ算出部１０１では、前記ストロークセンサ１１，セレクトセンサ１２で検出されるシフトレバー３の位置変化から次の変速段（目標ギヤ）を判断する。
【００２８】
そして、目標回転数算出部１０２では、そのときの車速と次の変速段（目標ギヤ）とから目標エンジン回転数（rpm）を算出する。
【００２９】
一方、変速時制御判定部１０３では、クラッチペダル１４の踏み込みから回転同期制御の実行判定を行い、回転数Ｆ／Ｂ制御部１０４では、変速時制御判定部１０３の判定結果を受けて、前記目標エンジン回転数に実際のエンジン回転数Ｎｅ（rpm）を近づけるためのエンジントルク要求を出力する。
【００３０】
前記エンジントルク要求を受けたエンジントルク制御部１０５では、要求のエンジントルクを発生させるべく、電制スロットル２１の開度制御や点火時期の進遅角制御を行う。
【００３１】
前記電制スロットル２１は、スロットルバルブ２１ａをモータ等のスロットルアクチュエータ２１ｂで開閉駆動する装置である。
【００３２】
尚、前記回転同期制御の実行・停止を任意に指定するためのスイッチ３０が設けられると共に、前記回転同期制御の作動状態を示すインジケータランプ３１が設けられており、ｏｎ／ｏｆｆ判定部１０６では、スイッチ３０のオン・オフを判断し、前記インジケータランプ３１の点灯を制御すると共に、前記変速時制御判定部１０３に回転同期制御を実行させるか否かを指示する。
【００３３】
ここで、シフトレバー３の実際の位置に対して前記ストロークセンサ１１，セレクトセンサ１２の検出出力にばらつきがあると、シフト位置の判定領域を誤判断のない狭い領域に限定する必要が生じるため、シフト位置の検出遅れが生じ、検出遅れが大きすぎると前記回転同期制御の実行を許可できず、また、実行は許可しても検出遅れが大きいと回転同期制御を応答良く開始させることができない。
【００３４】
そこで、本実施形態では、図３のセンサ出力特性学習部１０７でシフトレバー３の所定シフト位置に対応するセンサの基準検出位置を学習し、この基準検出位置に基づいてシフト位置の判定領域を設定することにより、シフト位置の検出精度を高める。特に、この学習を、出荷前に短時間で行う初期学習と、初期学習完了後に行う高精度学習の２段階で実施する。
【００３５】
また、判定領域変更部１０８は、前記２つの学習の進行状況に基づいて、シフト位置の判定領域を変更する。
【００３６】
このようにして、前記学習によって補正されるセンサの出力と、学習の進行によって切り換えられる判定領域とに基づいて前記目標ギヤ算出部１０１が変速後のシフト位置（次の変速段）を判断するようになっている。
【００３７】
これにより変速段の判定及び回転同期制御が応答良く行えるようになる。
【００３８】
図４のフローチャートは、前記センサ出力の学習結果に応じて判定領域を変更する制御を示す。
【００３９】
図４のフローチャートに示すルーチンは一定時間毎に実行され、まず、ステップＳ１では、製造後、出荷前などに行われる初期学習が完了したかを判定する。初期学習は、後に詳述するが、ニュートラル位置に対応するセンサ出力のみを学習する。
【００４０】
ステップＳ１で初期学習が完了していないと判定されたときは、シフト位置検出用センサ（ストロークセンサ１１，セレクトセンサ１２）によるシフト位置検出の信頼性が低いと判断し、ステップＳ２へ進んで、回転同期制御を禁止する。
【００４１】
ステップＳ１で、初期学習が完了したと判定されたときは、ステップＳ３へ進み、その後に実行される高精度学習が完了したかを判定する。この高精度学習も、後に詳述するが、ニュートラル位置の他、各シフト位置（変速段）に対応するセンサ出力を基準検出位置として学習し、初期学習より高精度に学習する。
【００４２】
ステップＳ３で高精度学習が完了していないと判定されたときは、ステップＳ４へ進み、初期学習で学習されたニュートラル位置の学習値を基準として各シフト位置の判定領域（ストローク方向及びセレクト方向の閾値）を設定する。
【００４３】
ステップＳ３で高精度学習が完了したと判定されたときは、ステップＳ５へ進み、各シフト位置の判定領域を、ストローク方向の閾値についてはニュートラル位置の学習値を基準として、セレクト方向の閾値については各シフト位置の学習値を基準として設定する。
【００４４】
上記ステップＳ４またはステップＳ５を経た後、ステップＳ６で、回転同期制御の実行を許可する。これにより、ステップＳ４またはステップＳ５で設定された判定領域でシフト位置が検出されると同時に、回転同期制御が開始される。
【００４５】
図５は、前記初期学習のフローを示す。
【００４６】
ステップＳ１１では、エンジン１の運転状態（Ｎｅ＞０）であって、かつ、そのときの車速が０km/hであるときには、ステップＳ１２へ進み、クラッチペダル１４を踏んでいないクラッチの完全締結状態であるか否かを判別する。
【００４７】
エンジン１が回転しているのに車速が０km/hとなるのは、クラッチが解放されているか、及び／又は、変速機がニュートラル状態である場合であり、クラッチの完全締結状態であれば、変速機のニュートラル状態が推定される。
【００４８】
尚、上記ニュートラル判断処理に加え、或いは、上記ニュートラル判断処理に代えて、ニュートラルスイッチ１９が変速機のニュートラル状態を検出しているか否かを判断させることができる。
【００４９】
ニュートラル状態が検出されると、換言すれば、シフトレバー３がニュートラルに位置していると推定されると、ステップＳ１３へ進み、ストロークセンサ１１及びセレクトセンサ１２で検出されるシフトレバー３の位置が、所定範囲内で変動しているか否かを判断することで、シフトレバー３が略停止しているか否かを判断する。
【００５０】
エンジン１の運転に伴う振動でシフトレバー３が振動し、ストロークセンサ１１及びセレクトセンサ１２の出力が変動することがあるため、係る振動による変動内であるか否かを、ステップＳ１３で判断する。
【００５１】
ここで、ストロークセンサ１１の出力が所定範囲内で変動していて、シフトレバー３の操作状態ではないと推定されると、ステップＳ１４へ進んで、タイマーＴ０をカウントアップする。
【００５２】
次のステップＳ１５では、前記タイマーＴ０の値が所定値Ｔ１を超えているか否かを判断する。
【００５３】
前記タイマーＴ０の値が所定値Ｔ１を超えている場合には、ニュートラル位置に留まっていると判断し、ステップＳ１７で、このときのセンサ出力を学習する。学習方法としては、上記条件が満たされたときに、一定周期でサンプリングされた複数個分のセンサ出力値を加重平均して算出することなどが一般的である。
【００５４】
一方、エンジン１の停止状態であるとき、そのときの車速が０km/hでないとき、ストロークセンサ１１の出力が所定範囲を超えて変動しているときには、ステップＳ１６へ進み、前記タイマーＴ０を０にリセットすると共に、後述するタイマーＴｃを０にリセットした後、本ルーチンを終了させる。
【００５５】
また、前記タイマーＴ０の値が所定値Ｔ１以下であるときには、そのまま本ルーチンを終了させる。
【００５６】
次に、前記図４のステップＳ４で、初期学習を完了後、高精度学習完了前に行われる判定領域の設定の詳細について説明する。
【００５７】
具体的には、図６（Ａ）に示すように、シフト位置毎の判定領域を決定するストローク方向の閾値及びセレクト方向の閾値を、初期学習で学習したニュートラル位置を基準として、予め決められた変位量によって設定する。
【００５８】
例えば、ニュートラル位置の学習値が、ストロークセンサ１１の出力値Ｙ０、セレクトセンサ１２の出力値Ｘ０としたとき、１速位置の判定領域は、ストロークセンサ１１の出力値Ｙ，セレクトセンサ１２の出力値Ｘについて以下のように設定する。なお、ストローク操作は前方に、セレクト操作は左方向に操作したとき、各センサの出力値が正方向に変位し、逆方向の操作時は負方向に変位するものとして示す。
【００５９】
Ｙ≧Ｙ０＋ΔＹ１
Ｘ０＋ΔＸ１Ｒ≦Ｘ≦Ｘ０＋ΔＸ１Ｌ
同じく２速位置の判定領域は、
Ｙ≦Ｙ０−ΔＹ２
Ｘ０＋ΔＸ２Ｒ≦Ｘ≦Ｘ０＋ΔＸ２Ｌ
３速位置の判定領域は、
Ｙ≧Ｙ０＋ΔＹ３
Ｘ０−ΔＸ３Ｒ≦Ｘ≦Ｘ０＋ΔＸ３Ｌ
４速位置の判定領域は、
Ｙ≧Ｙ０−ΔＹ４
Ｘ０−ΔＸ４Ｒ≦Ｘ≦Ｘ０＋ΔＸ４Ｌ
５速位置の判定領域は、
Ｙ≧Ｙ０＋ΔＹ５
Ｘ０−ΔＸ５Ｒ≦Ｘ≦Ｘ０−ΔＸ５Ｌ
６速位置の判定領域は、
Ｙ≧Ｙ０−ΔＹ６
Ｘ０−ΔＸ６Ｒ≦Ｘ≦Ｘ０−ΔＸ６Ｌ
ここで、ΔＸ１Ｒ〜ΔＸ６Ｒ及びΔＸ１Ｌ〜ΔＸ６Ｒは、各シフト位置に基づいて予め設定された値である。
【００６０】
なお、各シフト位置が対称に配置されているので、
｜ΔＹ１｜＝｜ΔＹ２｜・・・＝｜ΔＹ６｜とし、
また、｜ΔＸ１Ｌ｜＝｜ΔＸ２Ｌ｜＝｜ΔＸ５Ｒ｜＝｜ΔＸ６Ｒ｜
｜ΔＸ１Ｒ｜＝｜ΔＸ２Ｒ｜＝｜ΔＸ５Ｌ｜＝｜ΔＸ６Ｌ｜
｜ΔＸ３Ｌ｜＝｜ΔＸ４Ｌ｜＝｜ΔＸ３Ｒ｜＝｜ΔＸ４Ｒ｜
としてもよい。
【００６１】
このようにして設定されるシフト位置毎の判定領域は、高精度学習完了後に設定される判定領域に比較して小さい。
【００６２】
初期学習は、高速に学習を進行させて回転同期制御の許可を早めるため、学習条件を緩くしているので学習精度が低く、センサの検出精度を十分に高められず、各シフト位置は、基準点であるニュートラル位置から離れているため、検出誤差が大きい。そこで、判定領域を小さくすることにより、シフト位置を正確に判定できるようにする。
【００６３】
次に、高精度学習について説明する。
【００６４】
セレクトセンサ１２のように、軸周り回転角を検出するセンサは、リニアリティが低いため、初期学習のようにニュートラル位置の学習値からの変位量ではシフト位置を精度よく検出できない。そこで、高精度学習では、ニュートラル位置以外のシフト位置（変速段）を学習し、判定領域のセレクト方向閾値については、この学習値を基準として設定する。
【００６５】
図７は、シフト位置（変速段）を学習するフローを示す。
【００６６】
ステップＳ２１では、車両が走行中であるか否かを判別する。
【００６７】
具体的には、クラッチの完全締結状態であってかつ前記手動変速機２がニュートラル状態でないことを、前記第１クラッチスイッチ１５及びニュートラルスイッチ１９の信号から判断する。
【００６８】
車両が走行中であるときには、ステップＳ２２へ進み、前記ストロークセンサ１１，セレクトセンサ１２の検出信号，エンジン回転速度信号，車速信号を読み込む。
【００６９】
次の、ステップＳ２３では、前記エンジン回転速度（変速機の入力軸回転速度）と車速（変速機の出力軸回転速度）との比（入出力回転比）から、手動変速機２のギヤ比を算出する。
【００７０】
ステップＳ２４では、前記ステップＳ２３で算出したギヤ比が、各シフト位置（１速〜６速）のいずれかに対応しているか否かを判断する。
【００７１】
ステップＳ２５では、ステップＳ２４で判断されたシフト位置毎に、同一シフト位置におけるストロークセンサ１１，セレクトセンサ１２の出力値の前回までの学習値と今回のセンサ出力値とを加重平均などして、学習値を更新する。
【００７２】
ステップＳ２６では、全シフト位置で、所定回数以上学習したと判定されると、ステップＳ２７で本セレクト方向のシフト位置学習が完了したと判断する。
【００７３】
また、判定領域のシフト方向の閾値については、ニュートラル位置の学習値を基準として設定する。ストロークセンサ１１のように、軸方向位置を検出するリニアセンサは、リニアリティは高い。また、判定領域のストローク方向の閾値は、本高精度学習によって領域が拡大されてニュートラル位置側に近づけられ、一方、シフト完了時のストローク位置は、運転者によってばらつきが大きい。以上のことを考慮すると、ストローク方向の閾値は、シフト位置での学習値を基準として設定するより、ニュートラル位置の学習値を基準として設定する方が高い精度が得られると判断されるからである。
【００７４】
高精度学習でのニュートラル位置学習は、初期学習に比較して、学習条件を厳しくして精度を高める。これは、運転者がニュートラル位置にあるシフトレバーに手を触れて、本来のニュートラル位置からずれた状態で学習してしまうことがあるので、これを回避して学習精度を高める。特に、出荷前の初期学習は強制的に実施すればよいため、ニュートラル位置でシフトレバーに手を触れることなく学習することもできるが、出荷後に行われる高精度学習は、ユーザーによる通常運転中での学習となるため、上記の回避処理を行いつつ学習機会を増やして精度を向上させる。
【００７５】
図８は、高精度学習でのニュートラル位置学習のフローを示す。
【００７６】
ステップＳ３１〜ステップＳ３６は、初期学習における図５のステップＳ１〜ステップＳ６と同様である。
【００７７】
シフトレバー３がニュートラル領域内の一定位置に所定時間Ｔ１を越えて位置していると判断され、ステップＳ３７へ進むと、現在位置がニュートラル位置の候補Ａの領域内である否かを判断する（図９（Ｂ）参照）。
【００７８】
そして、現在位置がニュートラル位置の候補Ａの領域内であれば、候補Ａの領域内に留まった頻度を判断すべく、ステップＳ３８へ進んで、候補Ａ領域用のタイマーＴａをカウントアップし、候補Ａに留まっていた累積時間が計測されるようにする。
【００７９】
一方、候補Ａが確定されていない場合、又は、現在位置が候補Ａの領域内でない場合には、ステップＳ９へ進み、現在位置がニュートラル位置の候補Ｂの領域内である否かを判断する。
【００８０】
そして、現在位置がニュートラル位置の候補Ｂの領域内であれば、候補Ｂの領域内に留まった頻度を判断すべく、ステップＳ１０へ進んで、候補Ｂ領域用のタイマーＴｂをカウントアップし、候補Ｂに留まっていた累積時間が計測されるようにする。
【００８１】
前記タイマーＴａ及びタイマーＴｂの値は、イグニッションスイッチがＯＦＦされても記憶保持されるものとする。
【００８２】
一方、候補Ｂが確定されていない場合、又は、現在位置が候補Ｂの領域内でない場合には、ステップＳ１１へ進む。
【００８３】
ステップＳ１１では、今回検出されたシフトレバー３の位置を、ニュートラル位置の候補Ｃとし、候補Ｃ用のタイマーＴｃをカウントアップさせる。
【００８４】
前記タイマーＴｃは、前記ステップＳ６でゼロにリセットされるから、継続して同じ位置に留まっていれば、タイマーＴｃは順次カウントアップされることになる。
【００８５】
尚、前記候補Ａ，Ｂ，Ｃは、振動等によって変動し得る範囲を包含する所定の大きさをもつ領域として設定される（図９（Ｂ）参照）。
【００８６】
ステップＳ４２では、タイマーＴｃの値がタイマーＴｂの値よりも大きいか否かを判断する。
【００８７】
そして、タイマーＴｃの値がタイマーＴｂの値よりも大きい場合には、ステップＳ４３へ進み、現在のシフトレバー３の位置を候補Ｂに設定し、タイマーＴｂの値をタイマーＴｃの値に入れ替える処理を行う。
【００８８】
また、ステップＳ４４では、タイマーＴｂの値がタイマーＴａの値よりも大きいか否かを判断する。
【００８９】
そして、タイマーＴｂの値がタイマーＴａの値よりも大きい場合には、ステップＳ４５へ進み、候補Ａのシフトレバー位置と候補Ｂのシフトレバー位置とを入れ替え、タイマーＴｂの値とタイマーＴａの値とを入れ替える処理を行う。
【００９０】
従って、候補Ａのシフトレバー位置が、ニュートラル状態で最も長い時間留まっていた位置となるので、このシフトレバー３が位置する頻度が最も大きい候補Ａの中心位置をシフトレバー位置の基準のニュートラル位置とする。
【００９１】
例えば、候補Ａ，Ｂが確定していない学習の初期状態においては、シフトレバー３がある位置に留まると、タイマーＴａ，Ｔｂは０に保持されているので、取りあえず、そのときのシフトレバー位置が候補Ａとして設定される。
【００９２】
その後に異なる位置にシフトレバー３が位置するようになると、その位置が今度は候補Ｂに設定され、更に、タイマーＴｂの値がタイマーＴａを大きくなれば、候補Ｂの位置がそれまでの候補Ａの位置に入れ替わって、候補Ａの位置となる。
【００９３】
更に、候補Ａ，Ｂが確定した後で、更に別の位置にシフトレバー３が位置するようになると、その位置に留まっていた時間が候補Ａ，Ｂに留まっていた時間よりも長くなれば、入れ替えがなされるが、候補Ａ，Ｂに留まっていた時間よりも短い場合には、候補Ａ，Ｂを変更することなく、基準のニュートラル位置が保持される。
【００９４】
従って、運転者がニュートラル位置でシフトレバー３に手を置いているために、真のニュートラル位置とは異なる位置に一時的になったとしても、一般的には、シフトレバー３に手を触れていない状態で自動的に戻るデフォルト位置になる時間がもっとも長くなるので、結果的に、前記デフォルト位置を、基準のニュートラル位置として決定することができる。
【００９５】
なお、上記では、決定された候補の中心位置をニュートラル位置の学習値としたが、候補毎のセンサ出力を加重平均し、決定された候補の加重平均値を学習値とすれば、より精度が向上する。
【００９６】
次に、上記シフト位置（変速段）毎およびニュートラル位置の高精度学習が共に完了したときに、前記図４のステップＳ５での判定領域の設定を以下のように行う。
【００９７】
ニュートラル位置での学習されたストローク方向の出力値をＹ０’、各シフト位置ｎ（ｎ：１速〜６速）での学習されたセレクト方向の出力値をＸｎとしたとき、各シフト位置の判定領域を、図６（Ｂ）に示すとおり、以下のように設定する。
【００９８】
Ｙ≧Ｙ０’＋ΔＹ１’
Ｘ１−ΔＸ１Ｒ’≦Ｘ≦Ｘ１＋ΔＸ１Ｌ’
同じく２速位置の判定領域は、
Ｙ≦Ｙ０’−ΔＹ２’
Ｘ２−ΔＸ２Ｒ’≦Ｘ≦Ｘ２＋ΔＸ２Ｌ’
３速位置の判定領域は、
Ｙ≧Ｙ０’＋ΔＹ３’
Ｘ３−ΔＸ３Ｒ’≦Ｘ≦Ｘ３＋ΔＸ３Ｌ’
４速位置の判定領域は、
Ｙ≦Ｙ０’−ΔＹ４’
Ｘ４−ΔＸ４Ｒ’≦Ｘ≦Ｘ４＋ΔＸ４Ｌ’
５速位置の判定領域は、
Ｙ≧Ｙ０’＋ΔＹ５’
Ｘ５−ΔＸ５Ｒ’≦Ｘ≦Ｘ５＋ΔＸ５Ｌ’
６速位置の判定領域は、
Ｙ≦Ｙ０’−ΔＹ６’
Ｘ６−ΔＸ６Ｒ’≦Ｘ≦Ｘ６＋ΔＸ６Ｌ’
なお、各シフト位置が対称に配置されているので、
｜ΔＹ１’｜＝｜ΔＹ２’｜・・・＝｜ΔＹ６’｜とし、
また、｜ΔＸ１Ｌ’｜＝｜ΔＸ２Ｌ’｜＝｜ΔＸ５Ｒ’｜＝｜ΔＸ６Ｒ’｜
｜ΔＸ１Ｒ’｜＝｜ΔＸ２Ｒ’｜＝｜ΔＸ５Ｌ’｜＝｜ΔＸ６Ｌ’｜
｜ΔＸ３Ｌ’｜＝｜ΔＸ４Ｌ’｜＝｜ΔＸ３Ｒ’｜＝｜ΔＸ４Ｒ’｜
としてもよい。
【００９９】
ここで、上記高精度学習完了後に設定される各シフト位置の判定領域は、初期学習完了後で高精度学習完了前に設定される同判定領域より、拡大される。
【０１００】
ストローク方向では、ニュートラル位置を基準に設定された変位量｜ΔＹ１’｜〜｜ΔＹ６’｜は、｜ΔＹ１｜〜｜ΔＹ６｜より、小さい値に設定されている。ΔＹ１〜ΔＹ６、ΔＹ１’〜ΔＹ６’が個別に設定される場合でも、シフト位置毎、例えば、１速では、｜ΔＹ１’｜＜｜ΔＹ１｜であり、また、｜ΔＹ１’｜〜｜ΔＹ６’｜の中の最大値でも｜ΔＹ１｜〜｜ΔＹ６｜の中の最小値より小さい。
【０１０１】
一方、セレクト方向では、例えば、高精度学習完了前におけるニュートラル位置を基準に設定された１速の変位量ΔＸ１Ｈから、同じく１速位置までの変位量（設計値）を差し引いた値と、高精度学習完了後における１速の学習値を基準に設定された変位量ΔＸ１Ｈ’とを比較すると、後者の方が大きい。
【０１０２】
このように判定領域に差を設けているのは、２つの学習の精度の差に基づく。例えば、学習精度の低い方が、高い方よりストローク方向の出力値の誤差がΔｙだけ大きいとすると、判定領域のストローク方向の閾値を、高精度学習後の判定領域における閾値より、誤差Δｙだけ領域の内側に設定する必要がある。換言すれば、学習の精度が上がれば、減少した誤差Δｙ分、判定領域を拡大できる。
【０１０３】
セレクト方向の場合は、学習されたシフト位置に対して、出力大側と小側とにそれぞれ学習精度増大による誤差の減少分を拡大できる。
【０１０４】
このように、本実施形態では、初期学習を高速で進行、完了させて、変速時における回転同期制御の実行を早期に許可すると共に、高精度学習によって学習精度を高められた後は、シフト位置の判定領域が拡大されることにより、シフト操作中にできるだけ速やかに、かつ、正確にシフト位置を判定して、回転同期制御の開始を早めることができ、変速ショックを十分に回避することができる。
【０１０５】
特に、出荷前に初期学習を完了させておけば、出荷後、ユーザーは、初めから回転同期制御による変速ショック回避効果を受けることができると共に、高精度学習を速やかに開始して完了を早め、変速ショック回避効果の改善を早めることができる。
【０１０６】
また、シフト位置をすばやく検出できることにより、回転同期制御以外の変速段切り換えに応じた制御も、応答よく開始することができる。
【０１０７】
なお、上記の実施形態では、高精度学習において、ストローク方向の判定領域の閾値を、ニュートラル位置を基準として設定したが、シフト位置（変速段）学習のストローク方向の精度も確保できるようであれば、ストローク方向の判定領域の閾値についても、シフト位置毎の学習値を基準として設定してもよく、この場合、ニュートラル位置の高精度学習は不要となる。
【０１０８】
また、ニュートラル位置の初期学習を出荷前に行う場合は、シフトレバーを規定のニュートラル位置に保持し、さらにエンジンを停止させて振動を無くした上で学習することもさせることができ、この場合には、手に触れる場合を含む高精度学習と同等以上の精度を確保できる可能性があるので、高精度学習完了後のストローク方向の判定領域の閾値については、かかる初期学習でのニュートラル位置学習値を基準として設定することもできる。
【０１０９】
また、上記実施形態のように初期学習と高精度学習とで学習方式を切り換え、切換に応じて判定領域を切り換え、初期学習では学習速度を速めることで回転同期制御の実行許可を早めることができる。
【０１１０】
ただし、本発明は、学習方式を切り換えることなく、学習の進行度合い（更新回数、時間等）により、ある程度進行した段階で回転同期制御の実行を許可し、進行度の増大に応じて段階的ないし連続的に判定領域を拡大するような構成とすることもできる。
【図面の簡単な説明】
【０１１１】
【図１】実施形態におけるエンジン，動力伝達系及び制御系を示すシステム図。
【図２】同上実施形態におけるシフトゲートを示す図。
【図３】同上実施形態における回転同期制御の詳細を示すブロック図。
【図４】同上実施形態におけるシフト位置検出用の判定領域変更の制御を示すフローチャート。
【図５】同上実施形態における初期学習を示すフローチャート。
【図６】同上実施形態における学習状態に応じた判定領域の設定方式を示す図。
【図７】同上実施形態におけるシフト位置（変速段）の高精度学習を示すフローチャート。
【図８】同上実施形態におけるニュートラル位置の高精度学習を示すフローチャート。
【図９】同上のニュートラル位置の高精度学習における候補を示す図。
【符号の説明】
【０１１２】
１…エンジン、２…手動 式変速 機、３…シフトレバー、１１…ストロークセンサ、１２…セレクトセンサ、１３…エンジンコントロールモジュール（ＥＣＭ）、１４…クラッチペダル、１５…第１クラッチスイッチ、１６…第２クラッチスイッチ、１７…車速センサ、１８…エンジン回転 センサ、１９…ニュートラルスイッチ、１０７…センサ出力学習部、
１０８…判定領域変更部
【図１】
2008302821.tif 000003
【図２】
2008302821.tif 000004
【図３】
2008302821.tif 000005
【図４】
2008302821.tif 000006
【図５】
2008302821.tif 000007
【図６】
2008302821.tif 000008
【図７】
2008302821.tif 000009
【図８】
2008302821.tif 000010
【図９】
2008302821.tif 000011