(第1実施形態)
以下、本発明の第1実施形態について説明する。図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は、車両の主電源がオンとなったとき(例えばバッテリが接続された時)、起動してこの処理の実行を開始する。
そしてまずステップ100では、制御対象のドアミラーの鏡面(以下、単に鏡面という)の角度が変化したか否かを、鏡面角度検出回路36の検出結果に基づいて判定する。
鏡面の角度が変化する場合としては、ドライバがミラーマニュアル操作部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に出力する。
ドライバが制御対象のドアミラーに直接力を加えて鏡面を変化させた場合は、鏡面角度検出回路36によって、鏡面角度が変化したことを検知できる。
なお、ドライバがミラーマニュアル操作部2を操作したことに基づいて鏡面の角度を変化させる場合、および、メモリ再生作動によって鏡面の角度を変化させる場合にCPU37が実行する上記処理は、図5の処理とは別個かつ同時並行的に実行される。
ここで、第1のドライバが車両に搭乗し、車両のシフト位置がリバース以外の状態で図5の処理が開始され、第1のドライバがミラーマニュアル操作部2を操作せず、メモリ再生も実行されず、第1のドライバが制御対象のドアミラーに直接力を加えて鏡面を変化させることもない状態における作動について説明する。
この場合、ステップ100では鏡面の角度が変化していないと判定し、続いてステップ103をバイパスしてステップ105に進み、鏡面角度検出回路36が検出した鏡面の現在の上下方向の角度および左右方向の角度を、復帰位置11としてフラッシュメモリ34内に上書き記録する。続いてステップ110では、シフト位置センサ1の検出結果に基づいて、車両のシフト位置がリバースになったか否かを判定し、リバースになっていないと判定すると、再度ステップ100に戻る。
つまり、車両のシフト位置がリバースになったと判定するまで、ステップ100、105、110の処理(リバース前処理という)を繰り返す。このリバース前処理が繰り返されている間は、ステップ105でフラッシュメモリ34中の復帰位置11が繰り返し更新される。そして、ステップ110で車両のシフト位置がリバースになったと判定すれば、ステップ105の繰り返しは終了する。したがって、車両のシフト位置がリバースになる際の鏡面の角度が、復帰位置11として記録されることになる。図6(a)に、復帰位置として記録される鏡面の角度の位置21を示す。
ステップ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の検出結果に基づいて、所定のタイマ時間(例えば、2秒)以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値のピーク値(移動開始以降で移動すべき方向に最も移動したときの角度、移動すべき方向に応じて、最大値の場合もあれば最小値の場合もある)の更新がない場合に、制限されていると判定し、ピーク値の更新がある場合に、制限されていないと判定する。
ここで、作動させているアクチュエータで移動すべき方向とは、例えば、第1モータ41を正方向に回転させている場合は下方向であり、第2モータ42を正方向に回転させている場合は右方向である。例えば、第1モータ41を逆方向に回転させている場合、鏡面の上方向の角度の電圧換算値が、第1モータ41を作動させ初めてからの最大値を超えると、上方向への鏡面角度の電圧換算値のピーク値が更新されたことになる。
ステップ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に続いては、ステップ100に戻り、リバース前処理を繰り返す。
その後、第1のドライバが車両から降り、後日車両に搭乗し、車両の主電源をオンとし、車両を後退させるためにシフト位置をリバースにすると、リバース前処理の繰り返しにおいて、ステップ110でシフト位置がリバースになったと判定し、続いてステップ115で鏡面角度目標変化量12がフラッシュメモリ34に記憶されていると判定し、続いてステップ125に進む。
ステップ125では、フラッシュメモリ34に目標端点鏡面角度13が記憶されているか否かを判定する。目標端点鏡面角度13は、車両の出荷時にはフラッシュメモリ34に記憶されておらず、図5のステップ165で記憶させるようになっている。
本例では、まだ目標端点鏡面角度13が記憶されていないとする。この場合、ステップ125では、記憶されていないと判定し、続いてステップ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に記憶されていると判定し、続いてステップ125に進み、目標端点鏡面角度13が記憶されていないと判定し、続いてステップ130に進み、鏡面の角度を、鏡面角度目標変化量12として記憶されている角度(上下角度変化量ΔY、左右角度変化量ΔX)の分だけ変化させるよう、モータ駆動回路35に指令を出力する。すると、鏡面の角度は、位置23から上下角度変化量ΔY、左右角度変化量ΔXだけ変化した位置24の角度となる。
次に、目標端点鏡面角度13に関する制御について説明する。上記のように、シフト位置がリバースになった際の鏡面角度に対する、シフト位置がリバースからリバース以外になった際の鏡面角度の変化量ΔX、ΔYを、鏡面角度目標変化量12として記憶し(ステップ190)、シフト位置がリバースになったときに(ステップ110)、その鏡面角度目標変化量を再現する(ステップ130)ようになっているだけの場合、以下のような問題が発生する場合がある。
図8(a)に示すように、位置21から位置22までの鏡面角度の変化量ΔX、ΔYが鏡面角度目標変化量12として記録されたとする。その後、前進時用の鏡面角度がドライバの交代後に、位置25まで大きく変化した場合、鏡面角度目標変化量12に従って鏡面角度を変化させようとしても、図8(b)に示すように、その変化後の位置26は、鏡面の取り得る可動範囲5の端点を越えており、その結果、移動途中でドアミラーの可動範囲の端点5に到達してしまう場合がある。
ドアミラーの可動範囲の端点5では、ドアミラーと障害物(具体的には、ドアミラーを収容するドアミラーカバー)に当たる。このような場合、交代後のドライバー(例えば、代行で後退駐車を行う者)がシフト位置をリバースにする度に、ドアミラーが可動範囲の端点に到達して障害物に当たり、突き当たり音が発生してユーザに不快感を与えてしまう。また、ドアミラーの可動範囲の端点に達しても、すぐにはアクチュエータ41、42が停止せず、アクチュエータ41、42に過剰な負荷がかかってしまい、その結果、アクチュエータ41、42の劣化が早くなってしまう恐れがある。また、ドアミラーの可動範囲の端点に達した場合に、他の経路で鏡面角度目標変化量を実現しようとアクチュエータ41、42を作動させてしまった場合、何度もドアミラーが障害物に突き当たり、突き当たり音が頻発してしまう恐れがある。
この対策として、本実施形態では、ステップ125、130、162、165等の処理を設けている。例えば、鏡面角度目標変化量12がフラッシュメモリ34に記憶され、目標端点鏡面角度13がフラッシュメモリ34に記憶されていない状態で、第2のドライバが、車両を後退させるためにシフト位置をリバースにすると、リバース前処理の繰り返しにおいて、ステップ110でシフト位置がリバースになったと判定し、続いてステップ115で鏡面角度目標変化量12がフラッシュメモリ34に記憶されていると判定し、続いてステップ125に進み、目標端点鏡面角度13が記憶されていないと判定し、続いてステップ130に進み、鏡面の角度を、鏡面角度目標変化量12として記憶されている角度(上下角度変化量ΔY、左右角度変化量ΔX)の分だけ変化させるよう、モータ駆動回路35に指令を出力する。
そしてその後、図8(c)に示すように、鏡面の角度が端点5に相当する位置27に到達した時点で、ドアミラーがドアミラーカバーに当たって押し返され、それ以上移動できなくなったとする。すると、CPU37は、ステップ130に続くステップ140で、アクチュエータ(第1モータ41または第2モータ42)を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されていると判定し、続いてステップ160に進む。
ステップ160では、制御対象のドアミラーへの付勢を停止する旨の停止指令をモータ駆動回路35に対して出力する。このとき、第1モータ41または第2モータ42の付勢力がなくなり、制御対象のドアミラーはドアミラーカバーによって押し返されて姿勢を少し戻してから停止する。
続いてステップ162では、制御対象のドアミラーが停止したときの(すなわち、現在の)鏡面の上下方向の角度および左右方向の角度が、復帰位置11として記録された上下方向の角度および左右方向の角度に対して所定の基準以上に離れているか否かを判定する。例えば、復帰位置11と現在の鏡面の上下方向角度の電圧換算値の差が440mV以上であるか、あるいは、復帰位置11と現在の鏡面の左右方向角度の電圧換算値の差が440mV以上である場合、所定の基準以上に離れていると判定し、そうでない場合、所定の基準以上に離れていないと判定する。
本事例では、所定の基準以上に離れていると判定したとする。するとCPU37は続いてステップ165で、鏡面角度検出回路36によって検出された制御対象のドアミラーの鏡面の現在(すなわち、ドアミラーが停止した直後)の上下方向および左右方向の角度(電圧換算値)を、目標端点鏡面角度13としてフラッシュメモリ34に上書き記憶させる。つまり、図8(c)の位置27の角度を目標端点鏡面角度13として記憶させる。ステップ165に続いては、ステップ170に進むことで、既に説明したリバース解除前処理170、175、178、180を繰り返す。このとき、当該第2のドライバは、ミラーマニュアル操作部2に対して操作を何もせず、鏡面の角度を変更しないとする。
そして、鏡面の角度を変更しないまま、第2のドライバが再度シフト位置をリバースからリバース以外(例えば、前進するシフト位置)に切り替えると、ステップ180でシフト位置がリバースからリバース以外になったと判定し、更にステップ185で、リバースマニュアルフラグが記憶されていないと判定し、ステップ200に進み、鏡面の角度を復帰位置11に戻すため、モータ駆動回路35に指令を出力する。これにより、鏡面の角度は、復帰位置11に戻る。このとき、ステップ190の処理はバイパスされるので、鏡面角度目標変化量12の値は、第1のドライバの乗車時に記憶された値のままとなる。
その後、第2のドライバが、鏡面の位置を変化させないまま、再度後退するために、シフト位置をリバースに切り替えたとする。するとCPU37は、ステップ110でシフト位置がリバースになったと判定し、ステップ115に進み、フラッシュメモリ34に鏡面角度目標変化量12が記憶されていると判定し、更にステップ125に進み、フラッシュメモリ34に目標端点鏡面角度13が記憶されているか否か判定する。
今回の事例の場合、記憶されていると判定し、ステップ135に進み、目標端点鏡面角度13を目的位置として制御対象のドアミラーを動かす。具体的には、制御対象のドアミラーの鏡面の上下方向および左右方向の角度が、フラッシュメモリ34に記憶されている目標端点鏡面角度13の上下方向および左右方向の角度と一致するよう、モータ駆動回路35に指令を出力する。すると、モータ駆動回路35は、その指令を実現するため、第1モータ41および第2モータ42を作動させ始める。
具体的には、目標端点鏡面角度13に一致する角度を実現するために、鏡面の角度の目標変化量を、現在の鏡面角度検出回路36の検出結果に基づいて決定し、決定した目標変化量を実現するため、モータ駆動回路35に指令を出力する。例えば、決定した目標変化量が右方向にΔX0、上方向にΔY0であった場合、まず、モータ駆動回路35に対して、鏡面の角度を右方向に変化させる旨の指令をモータ駆動回路35に出力し、その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の左右方向の角度の変化量がΔX0となるまで待ち、鏡面の左右方向の角度の変化量がΔX0となると、停止指令をモータ駆動回路35に出力し、更に、鏡面の角度を上方向に変化させる旨の指令をモータ駆動回路35に出力し、その後、鏡面角度検出回路36の検出結果に基づいて、鏡面の上下方向の角度の変化量がΔY0となるまで待ち、鏡面の上下方向の角度の変化量がΔY0となると、停止指令をモータ駆動回路35に出力する。ただし、ステップ135で実行するのは、鏡面の角度を下方向に変化させる旨の指令をモータ駆動回路35に出力するところまでであり、鏡面の上下方向の角度の変化量が上記ΔX0、ΔY0となるまで待ってから停止指令を出力する処理は、図5の処理とは別個かつ同時並列的に実行する。
このように、シフト位置がリバースになって以降、アクチュエータ(第1モータ41、第2モータ42)を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されているか否かを判定し(ステップ140)、制限されていると判定したことに基づいて、鏡面の角度を検出し、検出した角度を目標端点鏡面角度13としてフラッシュメモリ34に記憶させ(ステップ165)、その後にシフト位置がリバースになったとき(ステップ110)、鏡面の角度を、当該目標端点鏡面角度13と一致させる(ステップ135)。
このようにすることで、ドライバが交代して一度ドアミラーが可動範囲の端点に到達したとしても、その後は、シフト位置がリバースになっても、目標端点鏡面角度となるよう鏡面の角度が制御されるので、突き当たり音が発生する可能性が低くなり、また、アクチュエータ(41、42)に過剰な負荷がかかってしまう可能性が低減される。
ただし、目標端点鏡面角度13が記憶されたままでは、第1のドライバが再度車両を運転する場合も、シフト位置がリバースになると、目標端点鏡面角度13に相当する位置27に鏡面の向きが変化してしまう。
この対策として、ステップ100、103の処理を設けている。つまり、第1のドライバが車両に戻ったとき、第1のドライバに合うよう、前進時の鏡面の角度が調整される可能性が高い可能性が高い。このことを利用して、ステップ110で、車両のシフト位置がリバース以外になっているときに鏡面角度が変化したと判定すると、ステップ103に進み、目標端点鏡面角度13をフラッシュメモリ34から消去する。ステップ103に続いては、ステップ105に進む。
このように、車両のシフト位置がリバース以外になっているときに、鏡面の角度が変化したことに基づいて、フラッシュメモリ34中の目標端点鏡面角度13を消去することで、その後のステップ125では、目標端点鏡面角度13が記憶されていないと判定してステップ130を実行するので、リバース制御に使用することを禁止される。
このようになっていることで、交代後のドライバから、更に元のドライバに(あるいは更に他のドライバ)に交代し、前進用の鏡面の角度が当該交代後のドライバに適したものに変化すると、目標端点鏡面角度をリバース制御に使用することが禁止されるので、必要もないのに目標端点鏡面角度が使用され続けるようなことがなくなる。
また、CPU37は、車両のシフト位置がリバースになって以降(ステップ110)、アクチュエータ41、42の作動をマニュアルで操作するためのミラーマニュアル操作部2に対するユーザの操作に従って、アクチュエータ41、42を作動させた場合、所定のリバースマニュアルフラグをRAM32(またはフラッシュメモリ34)に記憶させ(ステップ175)、その後、車両のシフト位置がリバースからリバース以外になる際に(ステップ180)、リバースマニュアルフラグがRAM32(またはフラッシュメモリ34)に記憶されていることに基づいて(ステップ185)、車両のシフト位置がリバースからリバース以外になる際の鏡面の角度の、復帰位置として記憶された角度に対する変化量を、鏡面角度目標変化量12としてフラッシュメモリ34に記憶させる(190)。
このようになっていることで、復帰位置から目標端点鏡面角度までの角度変化量が鏡面角度目標変化量として記録されてしまうことがなくなる。もし目標端点鏡面角度までの角度変化量が鏡面角度目標変化量として記録されてしまえば、目標端点鏡面角度が消去されたとしても、それまでの復帰位置から目標端点鏡面角度までの鏡面角度の変化量が再現されてしまう。
また、CPU37は、ステップ140で制限されていると判定したことに基づいて、アクチュエータ41、42の作動を停止させ(ステップ160)、ドアミラーが停止した後の鏡面の角度を検出し、検出した角度を目標端点鏡面角度としてフラッシュメモリ34に記憶させる(ステップ165)。
このように、アクチュエータ41、42の付勢力と障害物からの抗力によって鏡面の角度の変化が制限されているとき、アクチュエータ41、42の作動を停止させると、アクチュエータ41、42の付勢力がなくなり、ドアミラーは障害物によって押し返されて姿勢を少し戻してから停止する。したがって、ドアミラーが停止した後で検出された鏡面の角度を目標端点鏡面角度として記憶させれば、その後、シフト位置がリバースになっても、目標端点鏡面角度となるよう鏡面の角度が制御されたときに、ドアミラーと障害物が突き当たる可能性が更に低下する。
しかし、上記のように、シフト位置がリバースになった際の鏡面角度に対する、シフト位置がリバースからリバース以外になった際の鏡面角度の変化量を、鏡面角度目標変化量として記憶し、シフト位置がリバースになったときに、その鏡面角度目標変化量を再現し、更に、シフト位置がリバースになって以降、アクチュエータ41、42を作動させてドアミラーを付勢しているにも関わらず、鏡面の角度の変化が制限されている場合に、検出した鏡面の角度を目標端点鏡面角度として記憶させ、後に車両のシフト位置がリバースになったとき、鏡面の角度を、目標端点鏡面角度と一致させる場合、以下のような問題が発生する場合がある。
すなわち、凍結等で一時的に鏡面の角度が変化できなくなる場合に、上記のようになっていると、シフト位置がリバースになったとき(ステップ110)に、鏡面角度目標変化量12に従って鏡面の角度を変化させようとしても(ステップ130)、図9(a)に示すように、ドラミラーが位置21から動かないので、CPU37は、アクチュエータ41、42を作動させてドアミラーを付勢しているにも関わらず、鏡面の角度の変化が制限されていると判定してしまい(ステップ140)、その結果、現在の鏡面角度21を目標端点鏡面角度13として記憶させてしまう恐れがある(ステップ165)。すると、次回以降、凍結等が解消し、鏡面の角度が変化可能となっても、目標端点鏡面角度13が、上記のように動かなかった角度21で記憶されているので、シフト位置がリバースになったとしても(ステップ110)、鏡面角度が変化しない(ステップ135)。すると、ユーザはドアミラーが故障したと早合点してしまい、ディーラーや自動車メーカーに無駄に連絡をしてしまうことになり、ユーザの利便性が低下する恐れがある。
この対策として、本実施形態では、ステップ162の処理を設けている。すなわち、ステップ162で制御対象のドアミラーが停止したときの(すなわち、現在の)鏡面の上下方向の角度および左右方向の角度が、復帰位置11として記録された上下方向の角度および左右方向の角度に対して所定の基準以上に離れていないと判定した場合、ステップ165をバイパスしてステップ170を実行する。したがって、図9(b)に示すように、凍結していない場合は、復帰位置21に対して鏡面角度目標変化量12だけ変化した目的地22に到達するような場合は、現在の鏡面の角度が位置21を中心とする禁止範囲14(位置21に対して角度の電圧換算値で上下方向、左右方向とも440mV以内の領域。端点5)を超えているので、ステップ162で所定の基準以上に離れていると判定し、ステップ165で目標端点鏡面角度13を記憶させる。しかし、凍結で鏡面がほとんど動かなかった場合は、遊び量を考慮しても、現在の鏡面の角度が禁止範囲14内に止まるので、ステップ165をバイパスし、目標端点鏡面角度13を記憶させることがない。したがって、後のステップ125では目標端点鏡面角度13を記憶していないと判定し、ステップ130を実行して、鏡面角度目標変化量12に基づく鏡面の制御を行う。
このように、検出した角度が復帰位置としてフラッシュメモリ34に記憶された角度に対して所定の基準以上に離れている(禁止範囲14を超えて離れている)か否かを判定し、離れていないと判定した場合は、検出した角度を目標端点鏡面角度としてフラッシュメモリ34に記憶させないようにすることで、一時的に鏡面の角度が変化できなくなり、それが解消した後に、ユーザはドアミラーが故障したと早合点してしまう可能性を低減することができる。
(第2実施形態)
次に、本発明の第2実施形態について説明する。第1実施形態では、ステップ140で、アクチュエータ41または42を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されているか否かを判定している。以下では、この判定を突き当たり判定という。突き当たり判定では、鏡面の角度の変化が制限されているか否かは、鏡面角度検出回路36の検出結果に基づいて、所定のタイマ時間(例えば、2秒)以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値のピーク値の更新がない場合に、制限されていると判定し、ピーク値の更新がある場合に、制限されていないと判定するようになっている。そして、このタイマ時間は、第1実施形態では固定値となっている。
しかし、鏡面の角度の変化の仕方は、車両周囲の外気温によって変化し、また、アクチュエータ41、42に電力を供給するバッテリの電圧によっても変化する。
例えば、車両周囲の外気温が低下すると、ドアミラーを支持する部材(ゴム等)が硬くなり、その結果、ドアミラーの動きが鈍くなる傾向にある。また、バッテリの電圧が低下すると、ドアミラーの動きが鈍くなる。逆に言えば、外気温が上昇するとドアミラーの動きが速くなり、バッテリの電圧が上昇すると、ドアミラーの動きが速くなる傾向にある。
したがって、上記のように、タイマ時間を一定にすると、外気温や電圧が上昇した場合、突き当たり判定によってドアミラーの障害物(ドアミラーカバー等)への突き当たりを検出するまでの時間が長くなり過ぎ、その結果、作動させているモータ41または42に過剰に長く通電してしまい、その結果、ドアECU3a、3b、ミラー駆動部4a、4bが発熱により劣化してしまう恐れがある。また、ドアミラーが過剰に長く付勢された結果、ドアミラーと障害物との接触による異音(突き当たり音)が何度も発生し、ユーザに不快感を与える恐れがある。
例えば、図10(a)に示すような、外気温が−30℃、バッテリ電圧が9.5Vの場合、ドアミラーの角度の検出値51の変化は緩やかなので、タイマ時間を2秒程度にしても、鏡面の角度の変化が制限されていると判定するまで、異音が発生してしまう可能性は低い。しかし、図10(b)に示すような、外気温が80℃、バッテリ電圧が9.5Vの場合や、図10(c)に示すような、外気温が−30℃、バッテリ電圧が16Vの場合は、ドアミラーの角度の検出値52、53の変化が急なので、タイマ時間を2秒程度にすると、図10(b)、(c)の丸囲み部55、56のように、異音が2度発生してしまう可能性がある。
そこで、本実施形態では、このタイマ時間を、車両周囲の外気温およびモータ41、42に電力供給するバッテリの電圧値に基づいて変化させるようになっている。
このために、本実施形態のECU3a、3bのそれぞれは、図11に示すような構成となっている。この図に示すように、本実施形態のECU3a、3bは、それぞれ、入力回路部38を有している。この入力回路部38には、車両に搭載されたバッテリ電圧センサ5および外気温センサ6からの検出信号が入力されるようになっている。
バッテリ電圧センサ5は、第1モータ41および第2モータ42に電力を供給するバッテリの電圧値を検出し、検出した電圧値を示す検出信号を入力回路部38に入力する。外気温センサ6は、車両周囲の外気温を検出し、検出した外気温の値を示す検出信号を入力回路部38に入力する。入力回路部38は、入力された検出信号をCPU37に入力する。このようになっていることで、CPU37は、上記バッテリの電圧値と外気温の値を取得することができる。本実施形態の車載ミラー制御システム10の構成が第1実施形態と異なるのは、この入力回路部38、バッテリ電圧センサ5および外気温センサ6のみである。
また、CPU37が実行する処理が第1実施形態と異なるのは、以下に示す部分のみである。CPU37は、図5の処理において、図12に示すように、ステップ108で第1実施形態と同様に復帰位置11をフラッシュメモリ34に記憶させた後、ステップ110で第1実施形態と同様にシフト位置がリバースになったか否かを判定するまでの間に、ステップ205〜215の処理を実行することで、タイマ時間を設定するようになっている。
具体的には、ステップ108に続き、ステップ205では、鏡面角度検出回路36を介してバッテリ電圧センサ5、外気温センサ6から取得した現在のバッテリの電圧値および外気温の値に基づいて、当該外気温の値と温度閾値である20℃とを比較し、外気温の値が温度閾値以下であるか否かを判定する。
そして、比較の結果、外気温の値が温度閾値以下である場合、続いてステップ210に進み、タイマ時間を第1の時間t1とする。この第1の時間t1は、例えば、1.5秒とする。また、比較の結果、外気温の値が温度閾値より大きい場合、続いてステップ215に進み、タイマ時間を第2の時間t2とする。この第2の時間t2は、第1の時間t1よりも短い時間(例えば、0.5秒)とする。ステップ210、215に続いては、ステップ110を実行する。
このように、シフト位置がリバースに切り替わるまで、ステップ205およびそれに続くステップ210または215の処理により、外気温およびバッテリ電圧に応じたタイマ時間が繰り返し設定され、シフト位置がリバースに切り替わると、その繰り返しが中断され、図5のステップ140で、最後に設定されたタイマ時間を用いて突き当たり判定が実行される。具体的には、当該タイマ時間以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値のピーク値の更新がない場合に、制限されていると判定し、ピーク値の更新がある場合に、制限されていないと判定する。
ステップ110でシフト位置がリバースになったと判定してからステップ140を実行するまでの時間は、数秒以内となることがほとんどである。外気温やバッテリ電圧は、この数秒という時間ではほとんど変化しないので、ステップ210、215で設定するタイマ時間は、ステップ140の判定時の外気温やバッテリ電圧に対応したタイマ時間となっている。
このように、タイマ時間は、車両周囲の外気温が高くなるほど段階的に短くすると共に、作動しているアクチュエータに印加されているバッテリ電圧が高くなるほど段階的に短くしている。これにより、外気温やバッテリ電圧に応じ変化する鏡面角度の変化態様に適した形で、タイマ時間を調整することができる。
例えば、図10(b)に示すような、外気温が80℃、バッテリ電圧が9.5Vの場合や、図10(c)に示すような、外気温が−30℃、バッテリ電圧が16Vの場合には、ステップ205からステップ215に進み、タイマ時間として0.5秒が採用されると、それぞれタイミング57、58の段階で、ピーク値の更新がない状態がタイマ時間だけ続き、作動させているモータ41または42を停止させるので、複数回異音が発生することがない。
また、図10(a)に示すような、外気温が−30℃、バッテリ電圧が9.5Vの場合には、ステップ205からステップ210に進み、タイマ時間として1.5秒が採用されるが、その場合でも、9秒以降に示すように、突き当たりによる異音発生の間隔が長いので、作動させているモータ41または42を停止させるまで複数回異音が発生することがない。そして、タイマ時間として長い1.5秒が採用されることで、丸囲み部分54でノイズ的に0.5秒以上更新がない場合があっても、作動させているモータ41または42を誤って停止させることがない。つまり、比較的ノイズに強い。
(第3実施形態)
次に、本発明の第3実施形態について説明する。第1、第2実施形態の突き当たり判定では、鏡面の角度の変化が制限されているか否かは、鏡面角度検出回路36の検出結果に基づいて、所定のタイマ時間(例えば、2秒)以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値のピーク値の更新がない場合に、制限されていると判定し、ピーク値の更新がある場合に、制限されていないと判定するようになっている。
このため、ドアミラーが障害物(ドアミラーカバー等)に突き当たった後も、タイマ時間の間は、作動させているモータ41または42に過剰に長く通電してしまい、その結果、ドアECU3a、3b、ミラー駆動部4a、4bが発熱により劣化してしまう恐れがある。また、ドアミラーが過剰に長く付勢された結果、ドアミラーと障害物との接触による異音(突き当たり音)が何度も発生し、ユーザに不快感を与える恐れがある。
そこで、本実施形態では、作動させているモータ41または42へ供給する電流の変化量や鏡面角度検出回路36の検出結果の電圧値の変化量を用いた制御により、ドアミラーが障害物に完全に妨害されて動けなくなる直前の状態で、作動させているモータ41または42への通電を停止する。
このために、本実施形態のECU3a、3bのそれぞれは、第2実施形態と同様、図11に示すような構成となっている。また、CPU37が実行する処理が第1実施形態と異なるのは、以下に図13、図14を用いて示す部分のみである。
CPU37は、図5の処理において、図13に示すように、ステップ108で第1実施形態と同様に復帰位置11をフラッシュメモリ34に記憶させた後、ステップ110で第1実施形態と同様にシフト位置がリバースになったか否かを判定するまでの間に、ステップ305〜315の処理を実行するようになっている。
具体的には、ステップ108に続き、ステップ305では、鏡面角度検出回路36を介してバッテリ電圧センサ5、外気温センサ6から取得した現在のバッテリの電圧値および外気温の値に基づいて、当該外気温の値と温度閾値である20℃とを比較し、外気温の値が温度閾値以下であるか否かを判定する。
そして、比較の結果、外気温の値が温度閾値以下である場合、続いてステップ310に進み、タイマ時間を第3の時間t3とし、電圧変化閾値ΔVを第1の電圧変化量V1(正の値)とする。この第3の時間t3および第1の電圧変化量V1は、例えば、それぞれ1秒および50mVとする。また、比較の結果、外気温の値が温度閾値より大きい場合、続いてステップ315に進み、タイマ時間を第4の時間t4とし、電圧変化閾値ΔVを第2の電圧変化量V2(正の値)とする。この第4の時間t4および第2の電圧変化量V2は、例えば、それぞれ第3の時間t3より短い0.5秒および第1の電圧変化量V1おより大きい100mVとする。ステップ310、315に続いては、ステップ110を実行する。
このように、シフト位置がリバースに切り替わるまで、ステップ305およびそれに続くステップ310または315の処理により、外気温およびバッテリ電圧に応じたタイマ時間および電圧変化閾値ΔVが繰り返し設定され、シフト位置がリバースに切り替わると、その繰り返しが中断される。
また、CPU37は、図5のステップ140の突き当たり判定に代えて、図14のステップ140a、140bに示すような突き当たり判定を行う。具体的には、ステップ120、130、135に続いて、ステップ140aに進む。
そして、ステップ140aでは、作動させているモータ41または42に対応する方向(第1モータ41なら上下方向、第2モータ42なら左右方向)の角度の電圧換算値の変化量を、鏡面角度検出回路36の出力に基づいて算出する。ただし、この変化量は、現時点からタイマ時間(より具体的には、最後に設定されたタイマ時間)だけ遡った時点を始点とし、現時点を終点とする期間における変化量である。更にステップ140aでは、この変化量の絶対値を、最後に設定された電圧変化閾値ΔVと比較し、当該変化量の絶対値が電圧変化閾値ΔV未満であるか否かを判定し、未満である場合、続いてステップ160に進んで、作動させているモータ41または42を停止させる。
また、当該変化量の絶対値が電圧変化閾値ΔV以上である場合、続いてステップ140bに進む。ステップ140bでは、図5のステップ140と同様に、最後に設定されたタイマ時間以上、作動させているアクチュエータで移動すべき方向への鏡面角度の電圧換算値のピーク値の更新が途絶しているか否かを判定し、途絶していると判定した場合、続いてステップ160に進み、途絶していない(すなわち更新されている)と判定した場合、続いてステップ150に進む。
つまり、ステップ140aの判定結果が肯定的な場合、および、ステップ140bの判定結果が肯定的な場合のいずれも、アクチュエータ41または42を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されていると判定して、ステップ160に進むことになる。そして、ステップ140a、140bの判定結果が両方とも否定的な場合、鏡面の角度の変化が制限されていないと判定してステップ150に進むことになる。
例えば、図15(a)に示すような、外気温が−30℃、バッテリ電圧が9.5Vの場合、ドアミラーの角度の検出値51の変化は緩やかなので、ステップ305から310に進み、タイマ時間を1秒程度として、電圧変化閾値ΔVを50mVとする。すると、ステップ140aの判定においては、ドアミラーが障害物に突き当たっていない間(3秒目から6秒目までの間)は、タイマ時間内における鏡面角度の電圧換算値の変化量の絶対値がΔV以上となっているが、6秒目にドアミラーが障害物に突き当たり始めると、鏡面角度の変化量の絶対値が下がっていき、時刻61の時点で、タイマ時間である1秒だけ遡った時点62からの変化量の絶対値が、初めてΔV未満となり、アクチュエータ41または42を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されていると判定することになる。
また例えば、図15(b)に示すような、外気温が80℃、バッテリ電圧が9.5Vの場合、および、図15(c)に示すような、外気温が−30℃、バッテリ電圧が16Vの場合、ドアミラーの角度の検出値52、53の変化は比較的急なので、ステップ305から315に進み、タイマ時間を0.5秒程度として、電圧変化閾値ΔVを100mVとする。すると、ステップ140aの判定においては、ドアミラーが障害物に突き当たっていない間(3秒目から4秒目までの間)は、タイマ時間内における鏡面角度の電圧換算値の変化量の絶対値がΔV以上となっているが、4秒目にドアミラーが障害物に突き当たり始めると、鏡面角度の変化量の絶対値が下がっていき、時刻63、65の時点で、タイマ時間である0.5秒だけ遡った時点64、66からの変化量の絶対値が、初めてΔV未満となり、「アクチュエータ41または42を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されている」と判定することになる。
このように、CPU37は、車両のシフト位置がリバースになって以降、現時点からタイマ時間だけ遡る所定の期間における鏡面の角度(の電圧換算値)の変化量の絶対値が閾値(電圧変化閾値ΔV)を下回ったことに基づいて、「アクチュエータ41または42を作動させてドアミラーを付勢しているにも関わらず鏡面の角度の変化が制限されている」と判定することで、ドアミラーが障害物に完全に妨害されて動けなくなる直前の状態で、作動させているモータ41または42への通電をいち早く停止することができる。
また、タイマ時間および電圧変化閾値ΔVは、車両周囲の外気温が高くなるほど段階的に短くすると共に、作動しているバッテリ電圧が高くなるほど段階的に短くしている。これにより、外気温やバッテリ電圧に応じ変化する鏡面角度の変化態様に適した形で、タイマ時間および電圧変化閾値ΔVを調整することができる。
なお、ほとんどの場合、ステップ140bで肯定的判定となる前に、ステップ140aで肯定的判定となるはずであるから、ステップ140aで否定判定となり、ステップ140bで肯定判定となる可能性はほとんどないと考えられる。しかし、ドアミラーが障害物に急に突き当たって止まるような例外的場合のため、念のため、ステップ140bを設けている。
なお、上記実施形態において、CPU37が、ステップ105を実行することで復帰位置記憶制御手段の一例として機能し、ステップ195、200を実行することで復帰制御手段の一例として機能し、ステップ190を実行することで目標変化量記憶制御手段の一例として機能し、ステップ115〜135を実行することでリバース制御手段の一例として機能し、ステップ140、140a、140bを実行することで制限判定手段の一例として機能し、ステップ160、162、165を実行することで目標端点記憶制御手段の一例として機能し、ステップ103を実行することで目標端点消去手段の一例として機能し、ステップ175を実行することでフラグ記憶制御手段の一例として機能する。
(他の実施形態)
以上、本発明の実施形態について説明したが、本発明の範囲は、上記実施形態のみに限定されるものではなく、本発明の各発明特定事項の機能を実現し得る種々の形態を包含するものである。例えば、以下のような形態も許容される。
(1)上記実施形態では、シフト位置がリバースになるまで、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度を繰り返し復帰位置として記録することで、シフト位置がリバースになる際の鏡面の上下方向の角度、左右方向の角度を最終的な復帰位置とするようになっている(ステップ105、110参照)が、この方法以外にも、シフト位置がリバースになった直後の、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度を復帰位置として記録する方法を採用してもよい。
(2)また、上記実施形態では、シフト位置がリバースからリバース以外になった直後の、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度に基づいて、鏡面角度目標変化量12を算出しているが(ステップ180、190参照)、シフト位置がリバースからリバース以外になる際のドアミラーの鏡面の上下方向の角度、左右方向の角度の取得方法は、このような方法に限らず、例えば、上記実施形態では、シフト位置がリバース以外になるまで、現在の制御対象のドアミラーの鏡面の上下方向の角度、左右方向の角度に基づいて繰り返し鏡面角度目標変化量12として記録することで、シフト位置がリバース以外になる際の鏡面の上下方向の角度、左右方向の角度に基づいて最終的な鏡面角度目標変化量12を算出するようになっていてもよい。
(3)また、図5のステップ110でシフト位置がリバースになったと判定してから、ステップ120、130、135の制御によって、ドアミラーの鏡面の角度が変化しているときに、ユーザがミラーマニュアル操作部2を用いて、同じドアミラーの鏡面の角度を調整する操作を行った場合は、ステップ120、130、または135の制御を終了し、ユーザの操作を優先させ、鏡面角度調整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チップで実現されていてもよい。
(10)また、第2、第3実施形態では、バッテリ電圧と外気温に応じてタイマ時間(第3実施形態では電圧変化閾値ΔVも)を2段階で変化させるようになっているが、3段階以上で変化させるようになっていてもよいし、連続的に変化させるようになっていてもよい。また、バッテリ電圧によらず、外気温が高くなるほどタイマ時間を短くし、電圧変化閾値ΔVを高くするようになっていてもよいし、逆に、外気温によらず、バッテリ電圧が高くなるほどタイマ時間を短くし、電圧変化閾値ΔVを高くするようになっていてもよい。
(11)なお、ステップ140bをなくして、ステップ140aで否定的な判定があった場合は、鏡面の角度の変化が制限されていないと判定してステップ150に進むようにしてもよい。その場合は、タイマ時間は一定でもよいが、上記の低温、低電圧の場合は誤差による変化量の影響が相対的に大きくなることに鑑み、上記の実施形態通り、外気温、バッテリ電圧に応じて、タイマ時間を変化させるようになっていてもよい。
(12)また、第3実施形態ではステップ310、315にて、電圧変化閾値ΔVを設定し、ステップ140aで、現時点からタイマ時間だけ遡る所定の期間における鏡面の角度の電圧換算値の変化量の絶対値が閾値ΔVを下回った場合、ステップ160に進み、そうでない場合、ステップ150に進むようになっているが、ステップ310、315にて、電流変化閾値ΔIを設定し、ステップ140aで、現時点からタイマ時間だけ遡る所定の期間における、作動させているモータ41または42の駆動電流値(当該モータに供給する電流量)の変化量の絶対値が電流変化閾値ΔIを下回った場合、ステップ160に進み、そうでない場合、ステップ150に進むようになっていても、第3実施形態と同様の効果を得ることができる。
(13)また、図5のステップ162は、寒冷地の使用を考慮しなければ、あるいは、他の理由によって必要なければ、省略し、CPU37は、ステップ160に続いてステップ165を実行するようになっていてもよい。
(14)また、CPU37は、図5のステップ165で、検出した鏡面の角度を目標端点鏡面角度13として記憶しているが、検出した鏡面の角度に対し、それまで鏡面の角度を移動させてきた方向とは逆方向に少し戻した角度を、目標端点鏡面角度13として記憶するようになっていてもよい。すなわち、目標端点鏡面角度13は、検出した角度の近傍の角度であり、かつ、検出した鏡面の角度に対し、それまで鏡面の角度を移動させてきた方向とは同じ方向に移動させた角度でなければよい。
(15)また、本発明は、車両のドアミラーを付勢して前記ドアミラーの鏡面の角度を変化させるアクチュエータ(41、42)の作動を制御すると共に、前記鏡面の角度を検出するドアミラー制御装置であって、前記車両のシフト位置がリバースになる際の前記鏡面の角度を、復帰位置として記憶媒体(34)に記憶させる復帰位置記憶制御手段(105)と、前記車両のシフト位置がリバースからリバース以外になる際の前記鏡面の角度の、前記復帰位置として記憶された角度に対する変化量を、鏡面角度目標変化量として前記記憶媒体(34)に記憶させる目標変化量記憶制御手段(190)と、前記車両のシフト位置がリバースからリバース以外になったことに基づいて、前記アクチュエータ(41、42)を制御して、前記鏡面の角度を前記復帰位置に戻す復帰制御を実行する復帰制御手段(195、200)と、前記車両のシフト位置がリバースになったとき、前記記憶媒体(34)が前記鏡面角度目標変化量を記憶していることに基づいて、前記アクチュエータ(41、42)を制御して、前記鏡面の角度を、前記鏡面角度目標変化量として記憶されている変化量に従って変化させるリバース制御を実行するリバース制御手段(115〜135)を備えたドアミラー制御装置という構成のみでも成立する。
(16)また、復帰位置11、鏡面角度目標変化量12、目標端点鏡面角度13は、フラッシュメモリ34ではなく、RAM32に記録されるようになっていてもよい。