以下、本発明の一実施形態について説明する。図1に、本発明の実施形態に係る車載ミラー制御システム10の構成を示す。
この車載ミラー制御システム10は、車両に搭載され、当該車両の左右のドアに取り付けられたドアミラーの鏡面の角度を調整するためのシステムであり、シフト位置センサ1、ミラーマニュアル操作部2、右ドアECU3a、左ドアECU3b、右ミラー駆動部4a、および左ミラー駆動部4bを備えている。
シフト位置センサ1は、車両のシフト位置(例えば、シフト位置がリバースであるか否か)を検出して右ドアECU3aおよび左ドアECU3bに出力する周知のセンサである。
ミラーマニュアル操作部2は、右ドアミラーおよび左ドアミラーの鏡面の角度を個々にマニュアルで調整するため、車両のドライバが操作する部材であり、制御対象のドアミラーを選択するための左右切替SW2aと、制御対象のドアミラーの鏡面の角度を調整するための鏡面角度調整SW2bと、を有している。
右ミラー駆動部4aは、右ドアECU3aの制御に従って作動することで、右ドアミラーを付勢して右ドアミラーの上下および左右の姿勢を変化させる。この右ドアミラーの上下および左右の姿勢変化に伴い、右ドアミラーの鏡面の上下方向の角度および左右方向の角度が変化する。また右ミラー駆動部4aは、右ドアミラーの鏡面の上下方向の角度および左右方向の角度を検出するための素子を備えている。
左ミラー駆動部4bは、左ドアECU3bの制御に従って作動することで、左ドアミラーを付勢して左ドアミラーの上下および左右の姿勢を変化させる。この左ドアミラーの上下および左右の姿勢変化に伴い、左ドアミラーの鏡面の上下方向の角度および左右方向の角度が変化する。また左ミラー駆動部4bは、左ドアミラーの鏡面の上下方向の角度および左右方向の角度を検出するための素子を備えている。
右ドアECU3a(ドアミラー制御装置の一例に相当する)は、シフト位置センサ1の検出結果、ミラーマニュアル操作部2に対する操作内容、および、右ミラー駆動部4aを用いて検出した右ドアミラーの鏡面の角度等に基づいて、右ミラー駆動部4aを制御することで、右ドアミラーの鏡面の角度を調整する装置である。
左ドアECU3b(ドアミラー制御装置の一例に相当する)は、シフト位置センサ1の検出結果およびミラーマニュアル操作部2に対する操作内容、および、左ミラー駆動部4bを用いて検出した左ドアミラーの鏡面の角度に基づいて、左ミラー駆動部4bを制御することで、左ドアミラーの鏡面の角度を調整する装置である。
ここで、図2を用いて右ドアECU3a、左ドアECU3b、右ミラー駆動部4a、左ミラー駆動部4bの更に詳細な構成について説明する。右ミラー駆動部4aと左ミラー駆動部4bの主要なハードウェア構成は互いに同じである。具体的には、図2に示すように、右ミラー駆動部4a、左ミラー駆動部4bは、それぞれ、第1モータ41、第2モータ42、第1摺動抵抗器43、および第2摺動抵抗器44を有している。
第1モータ41は、制御対象のドアミラー(右ミラー駆動部4aなら右ドアミラー、左ミラー駆動部4bなら左ドアミラー)に取り付けられ、当該ドアミラーを付勢することで、制御対象のドアミラーの鏡面の上下方向の角度を変化させるアクチュエータである。第2モータ42は、制御対象のドアミラーに取り付けられ、当該ドアミラーを付勢することで、制御対象のドアミラーの鏡面の左右方向の角度を変化させるアクチュエータである。
第1摺動抵抗器43は、制御対象のドアミラーの鏡面の上下方向の角度を検出するための素子であり、制御対象のドアミラーの上下方向の姿勢変化と共に移動する摺動子と、この摺動子が摺接する抵抗体とを備え、ポテンショメータとして作用する。第2摺動抵抗器44は、制御対象のドアミラーの鏡面の左右方向の角度を検出するための素子であり、制御対象のドアミラーの左右方向の姿勢変化と共に移動する摺動子と、この摺動子が摺接する抵抗体とを備え、ポテンショメータとして作用する。
なお、右ドアミラーおよび左ドアミラーの可動範囲には、限界がある。これは、右ドアミラーおよび左ドアミラーのそれぞれは、車体に取り付けられたドアミラーカバーに収容されており、可動範囲の端点において、このドアミラーカバーに突き当たるからである。図3に、左および右のドアミラーの可動範囲に対応してドアミラーの鏡面で実現可能な角度範囲(以下、単に鏡面の可動範囲という)の例を示す。図3では、縦軸が鏡面の上下方向の角度の電圧換算値(第1摺動抵抗器43を用いて検出できる)であり、横軸が鏡面の左右方向の角度の電圧換算値(第2摺動抵抗器44を用いて検出できる)である。
線5の内部が実現可能な角度範囲であり、線5上の各位置が、ドアミラーの鏡面で実現可能な角度範囲の端点である。
右ドアECU3aと左ドアECU3bの主要なハードウェア構成も互いに同じである。具体的には、図2に示すように、右ドアECU3a、左ドアECU3bは、それぞれ、インターフェース31、RAM32、ROM33、フラッシュメモリ34、モータ駆動回路35、鏡面角度検出回路36、およびCPU37を有している。
インターフェース31は、シフト位置センサ1の検出結果を示す信号、および、ミラーマニュアル操作部2に対する操作内容を示す信号を受け取ってCPU37に出力する回路である。RAM32は、CPU37の作業領域として用いられる揮発性記憶媒体である。ROM33は、CPU37が実行するプログラム等の情報が記憶される不揮発性記憶媒体である。
フラッシュメモリ34は、書き込み可能な不揮発性記憶媒体である。本実施形態では、フラッシュメモリ34は、図4に示すように、復帰位置11、鏡面角度目標変化量12、目標端点鏡面角度13等のデータが記憶可能となっている。
復帰位置11は、車両のシフト位置がリバースからリバース以外になったときの復帰制御で用いられるデータであり、復帰制御時の制御対象のドアミラー(右ドアECU3aなら右ドアミラー、右ドアECU3bなら左ドアミラー)の鏡面の上下方向および左右方向の角度の目標値を、電圧換算値で表したデータで表したデータである。復帰制御については後述する。
鏡面角度目標変化量12は、車両のシフト位置がリバース以外からリバースになったときのリバース制御で用いられるデータであり、リバース制御時の制御対象のドアミラーの鏡面の上下方向および左右方向の角度の目標変化量を、電圧換算値で表したデータである。リバース制御については後述する。
目標端点鏡面角度13は、車両のシフト位置がリバース以外からリバースになったときのリバース制御で用いられるデータであり、リバース制御時の制御対象のドアミラーの鏡面の上下方向および左右方向の角度の目標値(鏡面の可動範囲の端点に相当する)を、電圧換算値で表したデータである。
モータ駆動回路35は、CPU37の指令に基づいて、第1モータ41および第2モータ42(右ドアECU3aのモータ駆動回路35なら右ミラー駆動部4aのモータ41、42、左ドアECU3bのモータ駆動回路35なら左ミラー駆動部4bのモータ41、42)の作動を制御することで、制御対象のドアミラーの鏡面の角度を変化させる回路である。
鏡面角度検出回路36は、第1摺動抵抗器43および第2摺動抵抗器44(右ドアECU3aの鏡面角度検出回路36なら右ミラー駆動部4aの摺動抵抗器43、44、左ドアECU3bの鏡面角度検出回路36なら左ミラー駆動部4bの摺動抵抗器43、44)に電流を出力することで、制御対象のドアミラーの上下方向の角度の電圧換算値、および、制御対象のドアミラーの左右方向の角度の電圧換算値を検出し、検出結果をCPU37に出力する回路である。
CPU37は、ROM33に記録されているプログラムを実行し、その実行の際にRAM32を作業領域として用いることで、種々の処理を実現する演算回路である。このCPU37は、処理中に、シフト位置センサ1、ミラーマニュアル操作部2、鏡面角度検出回路36から受けた信号に基づいて、フラッシュメモリ34へのデータの書き込みおよび読み出しを実行し、また、モータ駆動回路35に、第1モータ41、第2モータ42を制御するための指令を出力する。以下、CPU37は右ドアECU3aのCPU37であるとするが、CPU37が左ドアECU3bのCPU37であっても、その作動内容は同様である。
図5に、CPU37がROM33からプログラムを読み出して実行する処理のフローチャートを示す。CPU37は、車両の主電源がオンとなったとき(例えばイグニッションがオンとなったとき)、起動してこの処理の実行を開始する。
ここでは、第1のドライバが車両に搭乗し、車両のシフト位置がリバース以外の状態で図5の処理が開始された場合の作動について説明する。まずステップ105で、鏡面角度検出回路36が検出した鏡面の現在の上下方向の角度および左右方向の角度を、復帰位置11としてフラッシュメモリ34内に上書き記録する。続いてステップ110では、シフト位置センサ1の検出結果に基づいて、車両のシフト位置がリバースになったか否かを判定し、リバースになっていないと判定すると、再度ステップ105に戻る。
つまり、車両のシフト位置がリバースになったと判定するまで、ステップ105、110の処理(リバース前処理という)を繰り返す。このリバース前処理が繰り返されている間は、ステップ105でフラッシュメモリ34中の復帰位置11が繰り返し更新される。そして、ステップ110で車両のシフト位置がリバースになったと判定すれば、ステップ105の繰り返しは終了する。したがって、車両のシフト位置がリバースになる際の鏡面の角度が、復帰位置11として記録されることになる。図6(a)に、復帰位置として記録される鏡面の角度の位置21を示す。
なお、車両のシフト位置がリバースでない状態で、ステップ105、110を繰り返し実行しているとき、鏡面の角度が変化する場合がある。鏡面の角度が変化する場合としては、ドライバがミラーマニュアル操作部2を操作した結果鏡面の角度が変化する場合、メモリ再生作動によって鏡面の角度が変化する場合、ドライバが制御対象のドアミラーに直接力を加えて鏡面を変化させる場合等がある。
ドライバがミラーマニュアル操作部2を操作した結果鏡面の角度が変化する場合の車載ミラー制御システム10の作動は、以下の通りである。ドライバが左右切替SW2aを用いて例えば右ドアミラーを制御対象に選択する操作を行った後、鏡面角度調整SW2bを操作すると、鏡面角度調整SW2bの操作内容を示す信号が、右ドアECU3a、左ドアECU3bのうち、右ドアECU3aのみに入力され、右ドアECU3aのCPU37は、その信号をインターフェース31を介して取得し、取得した信号に従ってモータ駆動回路35に指令を出力する。
例えば、上方向への角度変化を要求する操作(例えば上ボタンの押下)が鏡面角度調整SW2bに対して行われると、モータ駆動回路35に対して、鏡面の角度を上方向に変化させる旨の指令をモータ駆動回路35に出力し、上方向への角度変化の停止を要求する操作(例えば上ボタンの押下の終了)が鏡面角度調整SW2bに対して行われると、モータ駆動回路35に対して、制御対象のドアミラーへの付勢を停止する旨の停止指令をモータ駆動回路35に対して出力する。
指令を受けたモータ駆動回路35は、指令に従って第1モータ41および第2モータ42のうち必要な方を制御する。例えば、鏡面の角度を下方向に変化させる旨の指令をCPU37から受けた場合は、第1モータ41を正方向(鏡面が下を向く方向)に回転させ始め、その後、停止指令をCPU37から受けるまで、第1モータ41をそのまま回転させ続け、停止指令をCPU37から受けると、作動させていたモータ、つまり第1モータ41を停止させる。
メモリ再生作動によって鏡面の角度が変化する場合の車載ミラー制御システム10の作動は、以下の通りである。CPU37は、車両の運転席のシートポジションを検出するシートポジションセンサ(図示せず)から検出信号を取得し、取得した検出信号に基づいて、検出されたシートポジションに応じた車両の前進走行時の鏡面の角度を決定する。この鏡面位置の決定の際、シートポジションと鏡面の角度との対応関係は、あらかじめROM33またはフラッシュメモリ34に設定されて記録されているものとする。
CPU37は、上述のように車両の前進走行時の鏡面の角度を決定すると、当該角度を実現するために、鏡面の角度の目標変化量を、現在の鏡面角度検出回路36の検出結果に基づいて決定し、決定した目標変化量を実現するため、モータ駆動回路35に指令を出力する。
例えば、決定した目標変化量が右方向にΔX0、上方向にΔY0であった場合、まず、モータ駆動回路35に対して、鏡面の角度を右方向に変化させる旨の指令をモータ駆動回路35に出力し、その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の左右方向の角度の変化量がΔX0となるまで待ち、鏡面の左右方向の角度の変化量がΔX0となると、停止指令をモータ駆動回路35に出力し、更に、鏡面の角度を上方向に変化させる旨の指令をモータ駆動回路35に出力し、その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の上下方向の角度の変化量がΔY0となるまで待ち、鏡面の上下方向の角度の変化量がΔY0となると、停止指令をモータ駆動回路35に出力する。
なお、ドライバがミラーマニュアル操作部2を操作したことに基づいて鏡面の角度を変化させる場合、および、メモリ再生作動によって鏡面の角度を変化させる場合にCPU37が実行する上記処理は、図5の処理とは別個かつ同時並行的に実行される。
図5の処理の説明に戻り、ステップ110でリバースになったと判定すると、続いてステップ115で、フラッシュメモリ34に鏡面角度目標変化量12が記憶されているか否かを判定する。鏡面角度目標変化量12は、車両の出荷時にはフラッシュメモリ34に記憶されておらず、図5のステップ190で記憶させるようになっている。
本例では、まだ鏡面角度目標変化量12が記憶されていないとする。この場合、ステップ115では、記憶されていないと判定し、続いてステップ120に進み、制御対象のドアミラーの鏡面の上下方向の角度を、下向きに一定量だけ変化させるよう、モータ駆動回路35に指令を出力する。この一定量は、あらかじめROM33に記録されているものを採用する。
具体的には、まず、モータ駆動回路35に対して、鏡面の角度を下方向に変化させる旨の指令をモータ駆動回路35に出力する。すると、モータ駆動回路35が、第1モータ41を正方向に回転させ始め、停止指令を受けるまで、回転を継続させる。その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の上下方向の角度の変化量が上記一定量となるまで待ち、鏡面の上下方向の角度の変化量が上記一定量となると、停止指令をモータ駆動回路35に出力する。すると、モータ駆動回路35が第1モータ41の作動を停止させ、鏡面の角度の変化が停止する。ただし、ステップ120で実行するのは、鏡面の角度を下方向に変化させる旨の指令をモータ駆動回路35に出力するところまでであり、鏡面の上下方向の角度の変化量が上記一定量となるまで待ってから停止指令を出力する処理は、図5の処理とは別個かつ同時並列的に実行する。
続いてステップ140では、アクチュエータ(第1モータ41または第2モータ42)を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されているか否かを判定する。アクチュエータを作動させているか否かは、モータ駆動回路35に出力した指令内容から判断可能である。
鏡面の角度の変化が制限されているか否かは、鏡面角度検出回路36の検出結果に基づいて、所定のタイマ時間(例えば、500ミリ秒)以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値の更新がない場合に、制限されていると判定し、値の更新がある場合に、制限されていないと判定する。
ここで、作動させているアクチュエータで移動すべき方向とは、例えば、第1モータ41を正方向に回転させている場合は下方向であり、第2モータ42を正方向に回転させている場合は右方向である。例えば、第1モータ41を逆方向に回転させている場合、鏡面の上方向の角度の電圧換算値が、第1モータ41を作動させ初めてからの最大値を超えると、上方向への鏡面角度の電圧換算値が更新されたことになる。
制御対象のドアミラーがドアミラーカバーに突き当たってそれ以上動けなくなった場合は、制限されていると判定されることになる。この場合は、ステップ160に進み、制御対象のドアミラーへの付勢を停止する旨の停止指令をモータ駆動回路35に対して出力する。このとき、第1モータ41または第2モータ42の付勢力がなくなり、制御対象のドアミラーはドアミラーカバーによって押し返されて姿勢を少し戻してから停止する。ステップ160に続いては、ステップ170を実行する。
また、ステップ140の判定結果が否定的な場合、すなわち、鏡面角度がアクチュエータの作動に従って変化し、制限されていないとCPU37が判定した場合、続いてステップ150に進み、鏡面の角度が目的位置に到達したか否かを判定する。
判定の方法は、鏡面角度検出回路36の検出結果に基づいて判定してもよいし、既にモータ駆動回路35に停止命令を出力することでアクチュエータの作動を停止させたか否かで判定してもよい。ステップ120を実行した場合の目的位置は、復帰位置から上記一定量だけ下向きに変化した角度である。到達していないと判定すると、再度ステップ140に処理を戻す。
このように、アクチュエータを作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されていると判定するか(ステップ140)、あるいは、鏡面の角度が目的位置に到達したと判定する(ステップ150)まで、ステップ140、150の移動中処理を繰り返す。
本例では、制御対象のドアミラーがドアミラーカバーに突き当たることなく姿勢変化し、鏡面角度が目的位置に到達して停止したとする。この場合、ステップ150で目的位置に到達したと判定することで、移動中処理の繰り返しが終了し、ステップ170に進む。
ステップ170では、ミラーマニュアル操作部2に対して制御対象のドアミラーの鏡面の角度を変化させる操作があったか否かを判定する。具体的には、ミラーマニュアル操作部2の左右切替SW2aで制御対象のドアミラーが選択された状態で鏡面角度調整SW2bが操作されたか否かを判定する。
当該操作がされていないと判定した場合は、続いてステップ175をバイパスしてステップ180に進み、シフト位置センサ1の検出結果に基づいて、シフト位置がリバース以外になったか否かを判定する。そして、シフト位置がリバース以外になっていないと判定した場合は、再度ステップ170に処理を戻す。
本例では、シフト位置がリバースになって(ステップ110)鏡面の角度が目的位置に到達した(ステップ150)後に、ドライバがミラーマニュアル操作部2を操作して制御対象のドアミラーの鏡面の角度を図6(a)の位置22まで変化させる操作を行ったとする。すると、ステップ170で、ミラーマニュアル操作部2に対して制御対象のドアミラーの鏡面の角度を変化させる操作があったと判定し、続いてステップ175に進み、「リバース中にマニュアル操作あり」という旨を示すためのリバースマニュアルフラグをRAM32(またはフラッシュメモリ34)に記憶させる。なおこのとき、上述の通り、CPU37は、図5の処理とは別処理によって、ミラーマニュアル操作部2に対する操作内容に従って、鏡面の角度を変化させるよう、モータ駆動回路35に指令を出力する。ステップ175に続いては、ステップ180に進む。
このように、ステップ180でシフト位置がリバースからリバース以外になったと判定するまでは、ステップ170、175、178、180のリバース解除前処理が繰り返され、ステップ180でシフト位置がリバースからリバース以外になったと判定すると、続いてステップ185に進む。
ステップ185では、リバースマニュアルフラグがRAM32(またはフラッシュメモリ34)に記憶されているか否かを判定し、記憶されていないと判定すれば、ステップ200に進み、鏡面の角度を復帰位置11に戻すため、モータ駆動回路35に指令を出力する。
本例では、リバースマニュアルフラグがRAM32(またはフラッシュメモリ34)に記憶されていると判定するので、続いてステップ190に進む。ステップ190では、リバースマニュアルフラグを消去し、鏡面角度目標変化量12を算出してフラッシュメモリ34に上書き記録する。
鏡面角度目標変化量12の算出方法は、以下の通りである。まず、鏡面角度検出回路36の検出結果に基づいて、鏡面の現在の上下方向の角度Y1および左右方向の角度X1(図6(a)の位置22に相当する)を電圧換算値として取得する。
そして、復帰位置11をフラッシュメモリ34から読み出し、読み出した復帰位置11中の上下方向の角度Y2および左右方向の角度X2(図6(a)の位置21に相当する)を電圧換算値として取得する。そして、角度Y2に対する角度Y1の変化量を電圧換算値として算出して上下角度変化量ΔYとし、角度X2に対する角度X1の変化量を電圧換算値として算出して左右角度変化量ΔXとする。そして、当該上下角度変化量ΔYと当該左右角度変化量ΔXの組を、鏡面角度目標変化量12としてフラッシュメモリ34に記憶させる。
なお、上述のように取得した鏡面の現在の上下方向の角度Y1および左右方向の角度X1は、シフト位置がリバースからリバース以外になったと判定した直後の鏡面の角度であるので、車両のシフト位置がリバースからリバース以外になる際の鏡面の角度に相当する。
続いてステップ195に進み、鏡面の角度を復帰位置11に戻すため、モータ駆動回路35に指令を出力する。これにより、鏡面の角度は、復帰位置11に戻る。ステップ195、200に続いては、ステップ105に戻り、リバース前処理を繰り返す。
その後、第1のドライバが車両から降り、後日車両に搭乗し、車両の主電源をオンとすると、車両を後退させるためにシフト位置をリバースにすると、リバース前処理の繰り返しにおいて、ステップ110でシフト位置がリバースになったと判定し、続いてステップ115で鏡面角度目標変化量12がフラッシュメモリ34に記憶されていると判定し、続いてステップ130に進む。
ステップ130では、鏡面の角度を、鏡面角度目標変化量12として記憶されている角度に従って変化させるよう、モータ駆動回路35に指令を出力する。
具体的には、鏡面角度目標変化量12として記録されている上下角度変化量ΔYおよび左右角度変化量ΔXに基づいて、まず、モータ駆動回路35に対して、鏡面の角度を右方向および左方向のどちらか(ΔXが正なら右方向、ΔXが負なら右方向)に変化させる旨の指令をモータ駆動回路35に出力する。すると、モータ駆動回路35が、第2モータ42を正方向および逆方向のどちらか(右方向に変化させる旨の指令を受けたら正方向、左方向に変化させる旨の指令を受けたら逆方向)に回転させ始め、停止指令を受けるまで、回転を継続させる。その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の左右方向の角度の変化量がΔXとなるまで待ち、鏡面の左右方向の角度の変化量がΔXとなると、停止指令をモータ駆動回路35に出力する。これにより、モータ駆動回路35が第2モータ42の作動を停止させ、鏡面の左右方向の角度変化が停止する。
更に、鏡面の角度を上方向および下方向のどちらか(ΔYが正なら上方向、ΔYが負なら下方向)に変化させる旨の指令をモータ駆動回路35に出力する。すると、モータ駆動回路35が、第1モータ41を正方向および逆方向のどちらか(下方向に変化させる旨の指令を受けたら正方向、上方向に変化させる旨の指令を受けたら逆方向)に回転させ始め、停止指令を受けるまで、回転を継続させる。その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の上下方向の角度の変化量がΔYとなるまで待ち、鏡面の上下方向の角度の変化量がΔYとなると、停止指令をモータ駆動回路35に出力する。これにより、モータ駆動回路35が第1モータ41の作動を停止させ、鏡面の左右方向の角度変化が停止する。
ただし、ステップ130で実行するのは、鏡面の角度を最初に右方向および左方向のどちらかに変化させる旨の指令をモータ駆動回路35に出力するところまでであり、鏡面の左右方向の角度の変化量が左右角度変化量ΔXとなるまで待ってから停止指令を出力し、鏡面の角度を次に上方向および下方向のどちらかに変化させる旨の指令をモータ駆動回路35に出力し、鏡面の上下方向の角度の変化量が上下角度変化量ΔYとなるまで待ってから停止指令を出力する処理は、図5の処理とは別個にかつ同時並列的に実行する。
このような処理により、鏡面角度目標変化量12がフラッシュメモリ34に記憶されているときは、シフト位置がリバース以外からリバースになると(ステップ110)、フラッシュメモリ34に記憶されている鏡面角度目標変化量12に従って鏡面の角度が変化する。
この鏡面角度目標変化量12は、前進から後退に変化するときの鏡面の変化量の、第1のドライバにとって適した変化量である。発明者の検討によれば、この前進から後退に変化するときの鏡面の変化量は、鏡面の角度そのものに比べ、ドライバの体格や姿勢にあまり影響を受けない量である。したがって、この鏡面角度目標変化量は、ドライバが交代しても有用性があまり低下しない量である。
ここで、車両のドライバが第2のドライバに交代したとする。車両のドライバが交代すると、前進走行時(車両のシフト位置がリバース以外の時)におけるドアミラーの角度が交代後の第2のドライバに合うように調整されるのが一般的である。調整は、第2のドライバがミラーマニュアル操作部2を操作して鏡面の角度を変化させる場合、メモリ再生作動によって鏡面の角度を変化させる場合、ドライバが制御対象のドアミラーに直接力を加えて鏡面を変化させる場合等がある。この調整によって、前進走行時の鏡面の角度が図6(b)の位置23に変化したとする。
その後、第2のドライバが、車両を後退させるためにシフト位置をリバースにすると、リバース前処理の繰り返しにおいて、ステップ110でシフト位置がリバースになったと判定し、続いてステップ115で鏡面角度目標変化量12がフラッシュメモリ34に記憶されていると判定し、続いてステップ130に進み、鏡面の角度を、鏡面角度目標変化量12として記憶されている角度(上下角度変化量ΔY、左右角度変化量ΔX)の分だけ変化させるよう、モータ駆動回路35に指令を出力する。すると、鏡面の角度は、位置23から上下角度変化量ΔY、左右角度変化量ΔXだけ変化した位置24の角度となる。
このように、ドライバの交代後は、上述の通り、前進走行時におけるドアミラーの角度が交代後のドライバに合うように調整されている可能性が高いので、鏡面の角度を、シフト位置がリバースになったときの角度から、鏡面角度目標変化量12として記憶されている変化量に従って変化させることで、交代後のドライバに適合した後退時用の鏡面角度が実現する。
これに対し、従来のように、固定的な目標角度に鏡面を合わせるようになっているので、図7(a)に示すように、シフト位置がリバースになった後、第1のドライバが位置21から位置22に鏡面の角度を変えた場合、位置22の角度そのものが記憶され、第2のドライバが、前進時(通常走行時)の鏡面の角度を位置21から位置23に移動させたとしても、シフト位置がリバースになった時には位置22の鏡面角度が実現してしまい、第2のユーザにとって適した角度が実現する可能性は低い。交代後のドライバは、前進走行時のミラー角度を自分に合うように再調整するのが普通だが、この再調整結果によっては、前進走行時よりも後退時の方が鏡面の角度が上を向いてしまう可能性もある。
なお、上記実施形態において、CPU37が、ステップ105を実行することで復帰位置記憶制御手段の一例として機能し、ステップ195、200を実行することで復帰制御手段の一例として機能し、ステップ190を実行することで目標変化量記憶制御手段の一例として機能し、ステップ115〜130を実行することでリバース制御手段の一例として機能し、ステップ140を実行することで制限判定手段の一例として機能し、ステップ175を実行することでフラグ記憶制御手段の一例として機能する。
(他の実施形態)
以上、本発明の実施形態について説明したが、本発明の範囲は、上記実施形態のみに限定されるものではなく、本発明の各発明特定事項の機能を実現し得る種々の形態を包含するものである。例えば、以下のような形態も許容される。
(1)上記実施形態では、シフト位置がリバースになるまで、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度を繰り返し復帰位置として記録することで、シフト位置がリバースになる際の鏡面の上下方向の角度、左右方向の角度を最終的な復帰位置とするようになっている(ステップ105、110参照)が、この方法以外にも、シフト位置がリバースになった直後の、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度を復帰位置として記録する方法を採用してもよい。
(2)また、上記実施形態では、シフト位置がリバースからリバース以外になった直後の、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度に基づいて、鏡面角度目標変化量12を算出しているが(ステップ180、190参照)、シフト位置がリバースからリバース以外になる際のドアミラーの鏡面の上下方向の角度、左右方向の角度の取得方法は、このような方法に限らず、例えば、上記実施形態では、シフト位置がリバース以外になるまで、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度に基づいて繰り返し鏡面角度目標変化量12として記録することで、シフト位置がリバース以外になる際の鏡面の上下方向の角度、左右方向の角度に基づいて最終的な鏡面角度目標変化量12を算出するようになっていてもよい。
(3)また、図5のステップ110でシフト位置がリバースになったと判定してから、ステップ120、130の制御によって、ドアミラーの鏡面の角度が変化しているときに、ユーザがミラーマニュアル操作部2を用いて、同じドアミラーの鏡面の角度を調整する操作を行った場合は、ステップ120、または130の制御を終了し、ユーザの操作を優先させ、鏡面角度調整SW2bに対する操作内容に応じてモータ駆動回路35に指令を出力することで、同じドアミラーの鏡面の角度を調整するする。そして、この場合も、ステップ175と同様に、リバースマニュアルフラグをRAM32(またはフラッシュメモリ34)に記憶させる。
(4)また、上記実施形態では、第1モータ41、第2モータ42によって、それぞれ鏡面を上下方向および左右方向という2次元方向に移動させるようになっているが、右下から左上への方向、左下から右上への方向という2次元方向に移動させるようになっていてもよい。
(5)また、上記実施形態では、鏡面の角度を検出する素子として、ポテンショメータとして機能する第1摺動抵抗器43、第2摺動抵抗器44を用いていたが、鏡面の角度を検出する素子としては、このようなものに限らず、周知のどのようなものを用いてもよい。
(6)また、ステップ120の処理は、必須ではない。例えば、ステップ115で、鏡面角度目標変化量12が記憶されていないと判定した場合は、直ちにステップ170に進むようになっていてもよい。
(7)また、上記実施形態では、一度鏡面角度目標変化量12を記録しても、その後、シフト位置がリバースのときにミラーマニュアル操作部2に対して制御対象のドアミラーの鏡面の角度を変化させる操作が再度あった場合は、その後にシフト位置がリバースからリバース以外になった際の鏡面の角度の、復帰位置11の鏡面の角度に対する変化分が、鏡面角度目標変化量12として新たに記録されるようになる。しかし、必ずしもこのようになっておらずともよく、例えば、一度鏡面角度目標変化量12が記録されれば、以後は、シフト位置がリバースのときにミラーマニュアル操作部2に対して制御対象のドアミラーの鏡面の角度を変化させる操作が再度あっても、鏡面角度目標変化量12の内容が変化しないようになっていてもよい。
(8)また、上記の実施形態において、CPU37がプログラムを実行することで実現している各機能は、それらの機能を有するハードウェア(例えば回路構成をプログラムすることが可能なFPGA)を用いて実現するようになっていてもよい。
(9)また、上記実施形態のモータ駆動回路35、鏡面角度検出回路36、CPU37の機能は、1つのICチップで実現されていてもよい。