以下、図面を用いて本発明を実施するための実施形態を説明する。図面の記載において、同一又は類似の部分には同一又は類似の符号を付し、重複する説明を省略する。
[駐車支援装置のハードウェア構成]
本発明の実施形態に係る車両Cは、車両Cを加減速する駆動/制動部51と、車両Cを操舵する操舵部52と、駆動/制動部51および操舵部52を制御することにより車両Cの挙動(加減速、旋回など)を制御する駐車支援装置1とを備える。ここで、駆動/制動部51は、エンジン、モータなどからなり、操舵部52は、ステアリングホイール、コラムシャフト、操舵反力モータなどからなる。車両Cは、ユーザの運転操作、又は駐車支援装置1による制御の下で走行する。
更に、車両Cは、ユーザからの指示を受け付ける入力部31と、情報をユーザに提示する提示部32と、情報をユーザに報知する報知部33とを備える。また、車両Cは、自動運転に関する情報を取得する情報取得部41と、車両Cの状態を取得する内部センサ42と、車両Cの周囲の情報を検出する外部センサ43とを備える。
駐車支援装置1は、制御部10と、記憶部20とを備えている。そして、駐車支援装置1は、入力部31と、提示部32と、報知部33とに接続されている。更に、駐車支援装置1は、情報取得部41と、内部センサ42と、外部センサ43とに接続されている。制御部10は、入力部31を介して受け付けたユーザからの指示に基づき、内部センサ42を介して得られる車速、駆動力、制動力、操舵角、シフトポジションなど車両Cの状態量を、走行データとして記憶部20に記憶する。
制御部10は、車両Cの走行中に走行データを作成するデータ作成部11と、記憶部20に記憶された過去の走行データに基づいて、車両Cが走行した経路(走行経路PR)に存在する段差を特定する段差特定部13とを備える。更に、制御部10は、車両Cが走行する経路(目標経路)を算出する経路作成部15と、駆動/制動部51および操舵部52と制御する車両制御部17とを備える。データ作成部11、段差特定部13、経路作成部15、車両制御部17の具体的な動作については、後述する。
制御部10は、例えば、中央演算処理装置(CPU)等を有するコンピュータにより構成され、車両Cの制御に必要な演算を処理する。データ作成部11、段差特定部13、経路作成部15および車両制御部17は、それぞれ論理構造としての表示であり、別個のハードウェアにより構成されてもよく、一体のハードウェアにより構成されてもよい。
記憶部20は、磁気ディスク、半導体メモリ等の記憶装置から構成される。記憶部20は、制御部10で行われる処理に必要なプログラム、地図データ、交通法規等のデータを記憶する。記憶部20は、その他、制御部10で行われる処理の一時記憶域として用いられてもよい。
入力部31は、ユーザの操作を受け付け、操作に応じた信号を駐車支援装置1に入力するタッチパネル、キーボード等の入力装置から構成される。提示部32は、ユーザに画像や文字を表示するモニタ等の表示装置、音声を再生するスピーカ等の出力装置から構成される。提示部32は、車両Cが実行するタスクを、ユーザが選択する項目としてユーザに提示する。
入力部31、提示部32、および報知部33は、同一のハードウェアから構成されるようにしてもよい。なお、入力部31、提示部32、および報知部33は、必ずしも車両Cに搭載されている必要はない。例えば、入力部31、提示部32、および報知部33は、ユーザが操作可能な携帯端末あるいは携帯端末で実行されるアプリケーションによって構成され、駐車支援装置1と無線通信によって接続するものであってもよい。
情報取得部41は、無線通信により外部から情報を取得し、制御部10に入力する。情報取得部41は、例えば全地球測位システム(GPS)等の測位システムにより車両Cの現在位置を取得する。また、情報取得部41は、天気情報、道路情報および地図データ等を、図示しない他のサーバから取得するようにしてもよい。
内部センサ42は、駆動/制動部51での駆動力および制動力を測定する。具体的には、内部センサ42は、エンジンの回転数を検出するロータリエンコーダ、マグネチックセンサ、イグニッションパルスセンサを含む。また、内部センサ42は、スロットル開度を検出するスロットルポジションセンサを含む。さらに、モータの駆動電流や回生電流を検出する電流計を含む。内部センサ42によって検出した値に基づいて、駆動力、制動力が算出される。
また、内部センサ42は、車輪の回転速度を検出するロータリエンコーダやマグネチックセンサ、車両Cの速度計、車両の鉛直軸回りの回転角速度を検出するヨーレートセンサを含むものであってもよい。さらに、内部センサ42は、車両Cの上下方向および前後方向の加速度を検出する加速度センサを含むものであってもよい。また、内部センサ42は、車体と路面の間の距離などを検出するサスペンションストロークセンサ、ユーザのアクセル操作/ブレーキ操作を検出するペダルストロークセンサ、タイヤ空気圧を検出する圧力センサ等を含むものであってもよい。
外部センサ43は、車両Cの周囲の環境情報を検出する。具体的には、外部センサ43は、車両Cの周辺に存在する物体までの相対位置を検出するレーザレンジファインダや車両Cの周囲を撮像するカメラ等を含む。外部センサ43は、カメラで撮像した画像の解析等により環境情報の検出を行うものであってもよい。また、電磁波が用いられるセンサの場合、電磁波は、電波領域、赤外光、可視光等の種々の周波数帯を採用可能である。
外部センサ43は、例えば駐車場における他の駐車車両、駐車場の壁、駐車場内の歩行者や自転車などの移動体を検出する。また、外部センサ43は、マップマッチングに用いるランドマークや、駐車すべき駐車位置における壁、フェンス、車輪止め、他車両、走行経路PRにある道路標識、道路標示、駐車枠、走行経路PRの路面状態等などを検出してもよい。
また、外部センサ43は、上記以外のセンサであってもよく、レーザセンサや超音波センサであってもよい。
次に、図2〜8を用いて、駐車支援装置1の動作を説明する。
駐車支援装置1の動作は、「学習フェーズ」と「自動駐車フェーズ」の2つのフェーズに応じて異なる。ここで、「学習フェーズ」とは、ユーザが車両Cを運転する間に、駐車支援装置1が、駐車開始位置から駐車終了位置までの走行経路PRおよびユーザの運転操作などの情報を、走行データとして学習するフェーズをいう。「自動駐車フェーズ」とは、駐車支援装置1が、「学習フェーズ」によって学習した走行データに基づいて車両Cを自動制御し、車両Cを駐車開始位置から駐車終了位置へと走行させるフェーズをいう。
[学習フェーズでの動作]
まず、図2のフローチャートを用いて、「学習フェーズ」での駐車支援装置1の動作について説明する。
ステップS101で、データ作成部11は、ユーザの操作に応じた入力部31の信号が入力されるまで待機する。データ作成部11が待機している間、ユーザは、車両Cを運転することによって車両Cを駐車開始位置まで移動させ、駐車制御を開始させる姿勢で車両Cを停車させる。
ユーザは入力部31を操作した場合、車両Cが駐車開始位置に移動し、且つ駐車制御を開始させる姿勢になった、と判断することができる。そこで入力部31は、車両Cの自己位置(車両Cの車輪位置WL)を「駐車開始位置」として設定するための命令を制御部10に出力する。ユーザの操作に応じて入力部31から信号が入力される(S103で「YES」)と、データ作成部11は、当該信号に基づいて駐車開始位置を設定する命令があったと判断して、「学習フェーズ」を開始する。
ステップS105に進み、データ作成部11は車両Cの自己位置を特定し、特定された自己位置を駐車開始位置として登録する。
自己位置の特定は、具体的には、情報取得部41によって現在位置を得ることによって実現できるほか、外部センサ43によって得られるランドマークを用いて、マップマッチングによって行うものであってもよい。さらに、内部センサ42によって得られる車両Cの移動量や舵角に基づいて、オドメトリやデッドレコニング等の自己位置推定によって行うものであってもよい。特定された自己位置は、記憶部20に記憶される。
駐車開始位置が登録された後、ユーザは車両Cを運転し、駐車開始位置から駐車終了位置まで車両Cを移動させる。
ユーザが駐車開始位置から駐車終了位置まで車両Cを移動させる間、ステップS107で、データ作成部11は、内部センサ42を用いて車速、駆動力、制動力、操舵角、シフトポジションなど車両Cの状態量を時系列順に取得する。データ作成部11は、車速、駆動力、制動力、操舵角、シフトポジションなどの走行データを記憶部20に記憶する。
また、ステップS107で、データ作成部11は、情報取得部41、内部センサ42、外部センサ43を用いて得られた情報を基に、地図データ上での車両Cの自己位置を推定する。データ作成部11は、推定された自己位置を時系列順に取得し、走行経路PRのデータとして記憶する。
ステップS107で、データ作成部11は、外部センサ43を用いて車両Cの外部のセンシングを行ってもよい。データ作成部11は、障害物、走行経路PRの線形、道幅、道路標識、道路標示、車線境界線、路面状態等、車両Cの周囲の情報を検出し、走行経路PRの周辺の空間マップを作成してもよい。作成された空間マップは、記憶部20に記憶される。
ユーザが駐車制御を終了させる入力部31の操作を行った場合、車両Cが駐車終了位置に到達し、且つ駐車制御を終了させる姿勢になったと判断できる。すなわち、駐車が完了したと判断できる。
そこで、この操作が行われた場合に、入力部31は、車両Cの自己位置を「駐車終了位置」として設定するための命令を制御部10に出力する。ユーザの操作に応じて入力部31から信号が入力されると、ステップS109で、データ作成部11は、当該信号に基づいて駐車終了位置を設定する命令があったと判定する。
ステップS111に進み、データ作成部11は、その時点での車両Cの自己位置を判定し、判定された自己位置を、駐車終了位置として記憶部20に登録する。
以上のステップS101からステップS111までの処理によって、駐車開始位置、駐車終了位置、車両Cが駐車開始位置から駐車終了位置まで移動するための走行経路PR、およびユーザが行った運転操作が、走行データとして記憶部20に記憶される。
次に、ステップS113で、段差特定部13は、記憶部20に記憶された走行データを参照し、車両Cの走行経路PRもしくはその周辺に存在すると推定される、段差の段差位置Xおよび段差の種類を特定する。
以下、段差には、「上昇段差」「下降段差」の2種類が存在するとして説明する。「上昇段差」とは、走行経路PRを車両Cが駐車開始位置から駐車終了位置まで進む向きを車両Cの進行方向としたとき、進行方向に対して段差の手前側の路面高さよりも段差の奥側の路面高さの方が高い段差と定義する。また、「下降段差」とは、段差の手前側の路面高さよりも段差の奥側の路面高さの方が低い段差と定義する。また「段差高」は、手前側の路面高さと奥側の路面高さの差として定義する。
車両Cの車輪が「上昇段差」を通過するためには、車輪が段差に乗り上げる必要があるため、車両Cの位置エネルギーを増加させる必要がある。そのためには、車両Cが段差に到達したタイミングで、駆動力を一時的に増加させて位置エネルギーを増加させるか、又は、車両Cの運動エネルギーの一部を位置エネルギーに転換させる必要がある。よって、駆動力および車速の変動から、車輪が「上昇段差」を通過する位置を推定できる。
よって、段差特定部13は、走行データの中の駆動力および車速のデータを参照して、駆動力が増加して所定の閾値HD1以上の値に変化するときの車輪位置WLを、「上昇段差」が存在する段差位置Xとして特定する。
また、車両Cが所定距離LD1を走行する間に、所定の閾値HV1以上の大きさの車速の減少が生じた場合に、車速が低下し始めた車輪位置WLを、「上昇段差」が存在する段差位置Xとして特定する。
また、車両Cの車輪が「下降段差」を通過する際には、車両Cの位置エネルギーの一部が運動エネルギーに転換される。そのため、車速が増加する車輪位置WLにて、車輪が「下降段差」を通過していると推定できる。
よって、段差特定部13は、走行データの中の車速のデータを参照し、車両Cが所定距離LD2を走行する間に、所定の閾値HV2以上の大きさの車速の増加が生じた場合に、車速が増加し始めた車輪位置WLを「下降段差」が存在する段差位置Xとして特定する。
なお、上記の説明で登場した所定距離LD1,LD2は、例えば車両Cのタイヤ径R(タイヤ半径)の程度の長さであることが望ましい。この理由は、車両Cの車輪が段差に接触してから離れるまでの間に、車輪が段差を通過する際の車速の変動の大部分が生じるからである。例えば、所定距離LD1,LD2として、車両Cのタイヤ径Rを用いてもよい。
さらに、上記の説明では、車両Cが所定距離を移動する間での車速の変動幅に基づいて段差位置Xを特定するものとしたが、車両Cの単位時間当たりの車速の変動幅が閾値を越えるか否かに基づいて、段差位置Xを特定するものであってもよい。また、段差位置Xの特定のために、駆動力と車速のみならず、制動力の変化も併せて用いるものであってもよい。駆動力、制動力、車速のデータを用いることで、より精度の高い段差位置Xの特定ができる。
上記のように、段差特定部13は、段差位置Xを特定し、段差位置Xに存在する段差が「上昇段差」と「下降段差」のいずれの種類の段差であるのかを判断する。段差位置Xおよび段差の種類は、記憶部20に記憶される。
ステップS113での処理が完了すると、「学習フェーズ」が終了する。
[学習フェーズでの動作の具体例]
「学習フェーズ」におけるステップS113の処理の具体例を、図3、図4を用いて説明する。図3では、車両Cの、駐車開始位置P0から駐車終了位置P4までの走行経路PRが示されている。
車両Cが駐車する駐車場内には、ゲートおよび輪留めが存在する。このゲートは、路面から凸状に突出しているものであるため、走行経路PR上の位置P2付近に「上昇段差」、位置P3付近に「下降段差」が存在する。すなわち、車両Cの車輪は、走行経路PRに沿って駐車開始位置P0から駐車終了位置P4まで移動する途中で、「上昇段差」「下降段差」の順番に段差を通過する。
このように凸状に突出したゲートを越える際にユーザがとる運転方法は、次の2パターンに大きく分けられる。1番目のパターンとして、図4Aに示すように、ゲートの手前で車速を調整して車両Cの運動エネルギーを使ってゲートを越えるパターンがある。2番目のパターンとして、図4Bに示すように、ゲートに低速で接近して駆動力FDを制御してゲートを越えるパターンがある。特に、図4Bは、低速でゲートに接近した後、ゲートの位置で車両Cが停止してしまうことを避けるため、駆動力FDを一時的に高めてゲートを越える場合に相当する。
図4A、図4Bのグラフの横軸は、車両Cの移動距離Lを示している。
図4Aでは、位置P2、位置P3において駆動力FDが大きく変化していないにもかかわらず、車速Vが大きく変動している。位置P2近傍での、所定距離LD1を走行する間の車速Vの変動幅ΔV1が閾値HV1以上となること(ΔV1≧HV1)に基づいて、段差特定部13は、位置P2が段差位置Xであると特定する。また、位置P2近傍で車速Vが減少していることに基づいて、段差特定部13は、位置P2に位置する段差が「上昇段差」であると特定する。なお、車速Vの減少がユーザのブレーキ操作によるものではないことを判定するため、制動力のデータを併せて参照して、「上昇段差」であると特定するものであってもよい。
さらに、位置P3近傍での、所定距離LD2を走行する間の車速Vの変動幅ΔV2が閾値HV2以上となること(ΔV2≧HV2)に基づいて、段差特定部13は、位置P3が段差位置Xであると特定する。また、位置P3近傍で車速Vが増加していることに基づいて、段差特定部13は、位置P3に位置する段差が「下降段差」であると特定する。なお、車速Vの増加がユーザのアクセル操作によるものではないことを判定するため、駆動力のデータを併せて参照して、「下降段差」であると特定するものであってもよい。
一方、図4Bでは、位置P2において車速Vが大きく変化していないにもかかわらず、駆動力FDが大きな値となっている。位置P2において、駆動力FDが一時的に閾値HD1を超えていることに基づいて、位置P2が段差位置Xであると特定し、さらに、位置P2に位置する段差が「上昇段差」であると特定する。
なお、図4Bでは、位置P2と位置P3の間の区間で、車速Vが増加し、変動幅ΔV3が生じている。これは、位置P2に位置する「上昇段差」を車輪が通過した後に、すぐに駆動力FDを小さくできないことに起因している。位置P2と位置P3の間の区間において、車両Cが所定距離LD1,LD2を移動する間での車速の変動幅は閾値HV2未満となるため、段差特定部13が当該区間内に段差位置Xが存在すると誤認識することはない。
「学習フェーズ」におけるステップS113の処理の別の具体例を、図5を用いて説明する。
車両Cは、図3と同様の走行経路PRを走行するが、駐車場内にはゲートの代わりに路面の一部が凹状に窪んでいる場所が存在するものとして、位置P2付近に「下降段差」、位置P3付近に「上昇段差」が存在する場合を考える。すなわち、車両Cの車輪は、走行経路PRに沿って移動する途中で、「下降段差」「上昇段差」の順番に段差を通過する。
このように窪みを越える際にユーザがとる運転方法は、次の2パターンに大きく分けられる。1番目のパターンとして、図5Aに示すように、窪みの手前で車速Vを調整して車両Cの運動エネルギーを使って窪みを越えるパターンがある。2番目のパターンとして、図5Bに示すように、窪みに低速で接近して駆動力FDを制御して窪みを越える場合の、2パターンがある。特に、図5Bは、低速で窪みに接近した後、車輪が窪みに嵌まって車両Cが停止してしまうことを避けるため、駆動力FDを一時的に高めて窪みから抜け出す場合に相当する。
図5A、図5Bのグラフの横軸は、車両Cの移動距離Lを示している。
図5Aでは、位置P2、位置P3において駆動力FDが大きく変化していないにもかかわらず、車速Vが大きく変動している。位置P2近傍での、所定距離LD2を走行する間の車速Vの変動幅ΔV2が閾値HV2以上となること(ΔV2≧HV2)に基づいて、段差特定部13は、位置P2が段差位置Xであると特定する。また、位置P2近傍で車速Vが増加していることに基づいて、段差特定部13は、位置P2に位置する段差が「下降段差」であると特定する。
さらに、位置P3近傍での、所定距離LD1を走行する間の車速Vの変動幅ΔV1が閾値HV1以上となること(ΔV1≧HV1)に基づいて、段差特定部13は、位置P3が段差位置Xであると特定する。また、位置P3近傍で車速Vが減少していることに基づいて、段差特定部13は、位置P3に位置する段差が「上昇段差」であると特定する。
図5Bでは、位置P3において車速Vが大きく変化していないにもかかわらず、駆動力FDが大きな値となっている。図4Bと同様に、位置P3において、駆動力FDが一時的に閾値HD1を超えていることに基づいて、位置P3が段差位置Xであると特定し、さらに、位置P3に位置する段差が「上昇段差」であると特定する。
上記の説明では、車両Cの車輪が凸状のゲートを通過する場合と、凹状の窪みを通過する場合を挙げて段差特定部13の処理を説明したが、これ以外の路面の状況においても、段差特定部13は、段差位置Xおよび段差の種類を特定できる。例えば、「上昇段差」と「下降段差」の何れか一方のみが存在するような路面の状況においても、段差特定部13は、段差位置Xおよび段差の種類を特定できる。
なお、上記の説明では、車両Cの4輪のいずれが段差を通過しているかを判定していない。しかしながら、実際には、サスペンションストロークセンサなどの内部センサ42によって得られる車体と路面の間の距離を、相互に比較することにより、車両Cの4輪のいずれが段差を通過しているかを判定できる。この判定結果を合わせて使用することで、より正確に段差位置Xおよび段差の種類の特定を行う。その他、段差位置Xおよび段差の種類の特定には、車両Cの外部のセンシングの結果や走行経路PRの周辺の空間マップを使用してもよい。段差位置Xおよび段差の種類に加えて、段差高を記憶部20に記憶してもよい。
なお、ユーザが適宜、段差特定部13で特定された段差位置X、および判定された段差位置Xの段差の種類を確認できるように、段差位置Xおよび段差の種類を、提示部32に空間マップと共に表示してもよい。また、ユーザが入力部31を操作することで、ユーザが段差位置Xおよび段差の種類の情報を修正できるように、制御部10が構成されていてもよい。
[自動駐車フェーズでの動作]
次に、図6のフローチャートを用いて、「自動駐車フェーズ」での駐車支援装置1の動作について説明する。
ステップS131で、経路作成部15は、ユーザの操作に応じた入力部31の信号が入力されるまで待機する。経路作成部15が待機している間、ユーザは、車両Cを運転することによって車両Cを駐車開始位置あるいはその周辺の位置まで移動させる。
ユーザは入力部31を操作した場合、車両Cが駐車開始位置あるいはその周辺の位置まで移動した、と判断することができる。そこで入力部31は、車両Cの自動駐車を開始するための命令を制御部10に出力する。ユーザの操作に応じて入力部31から信号が入力される(S133で「YES」)と、制御部10は、当該信号に基づいて自動駐車を開始するための命令があったと判断して、「自動駐車フェーズ」を開始する。
ステップS135に進み、経路作成部15は車両Cの自己位置を特定し、特定された自己位置、記憶部20に記憶された過去の走行データ、自己位置およびその周辺の空間マップに基づいて、目標経路TRを算出する。
ここで目標経路TRは、特定された自己位置から過去に登録された駐車終了位置まで車両Cが走行するための経路である。車両Cが目標経路TRを走行して駐車終了位置に停車することにより、車両Cの駐車が行われる。自己位置の特定は、ステップS105での方法と同様である。
なお、特定された自己位置は、「学習フェーズ」での駐車支援装置1に記憶させた駐車開始位置と必ずしも一致しない。また、目標経路TRは、過去の1又は複数個の走行データ、空間マップ、天気情報、道路情報、地図データ等に基づいて作成されるため、作成される目標経路TRは、過去の車両Cの走行経路PRと一致するとは限らない。
ステップS137で、車両制御部17は、作成された目標経路TRに従って、車両Cの自動制御を開始する。
次に、ステップS139で、車両制御部17は、車両Cが記憶部20に記憶された段差位置Xに近づいているか否かを判定する。具体的には、車両制御部17は車両Cの自己位置を特定する。その後、車両制御部17は、車両Cの進行方向に対して、自己位置が目標経路TRに沿って段差位置Xより手前側にあり、且つ、自己位置から段差位置Xまでの想定される移動距離が所定の閾値Lth以下になったかどうかを判定する。
閾値Lthは、車速や、段差位置Xに存在する段差の種類、段差高などに基づいて、段差位置Xごとに設定されていてもよい。例えば、車速が大きいほど閾値Lthを大きく設定したり、段差が大きいほど閾値Lthを大きく設定したりしてもよい。
ステップS139で、車両Cが段差位置Xに近づいていないと判定された場合(ステップS139で「NO」の場合)、ステップS141に進む。一方、ステップS139で、車両Cが段差位置Xに近づいていると判定された場合(ステップS139で「YES」の場合)、次のステップS143に進む。
ステップS143では、車両制御部17は車両Cが有しているエネルギーが所定範囲内に収まっているか否かを判定する。具体的には、車両Cが有しているエネルギーが、閾値Emax以下であり、且つ、閾値Ethを越えているか否かを判定する。ここで、「車両Cが有しているエネルギー」とは、その時点での車両Cの位置エネルギーと運動エネルギーの総和である。閾値Emaxは、後述する衝撃力が過大とならないように事前に定められ、車両Cが段差位置Xにある段差を越えるために必要なエネルギーを閾値Ethとする。
閾値Ethは、段差位置Xに存在する段差の種類および段差高によって定められる。段差位置Xにある段差が「上昇段差」である場合には、閾値Ethは、車両Cを段差高だけ高い位置に持ち上げるための位置エネルギーである。また、段差位置Xにある段差が「下降段差」である場合には、閾値Ethは0となる。
実際には、車両Cのサスペンション、タイヤ、摩擦などに起因して、熱エネルギーとして散逸するエネルギーが存在するため、閾値Ethは、上記で定義した量よりも大きくなる。そのため、閾値Ethは、段差の種類や段差高だけでなく、段差を通過する際の車両Cの性質に基づいて決定することが望ましい。車両Cの性質は、設計時・製造時のシミュレーションや実験の結果から測定できるため、測定された結果を、閾値Ethの決定に反映することが望ましい。
ステップS143で、車両Cが有しているエネルギーが閾値Ethを越えていると判定された場合(ステップS143で「YES」の場合)、ステップS145に進み、車両制御部17は車速を減少させる。ただし、車両Cが有しているエネルギーが閾値Eth以下とはならない範囲内で、車両制御部17は車速を減少させる。その後、ステップS141に進む。
一方、ステップS143で、車両Cが有しているエネルギーが閾値Eth以下であると判定された場合(ステップS143で「NO」の場合)、ステップS147に進み、車両制御部17は車速を増加させる。車両制御部17は、車速を増加させることにより、車両Cの運動エネルギーを増加させ、車両Cが有しているエネルギーが閾値Ethよりも大きくなるようにする。その後、ステップS141に進む。
車両Cが駐車終了位置に到達して停止したと判定された場合(ステップS141で「YES」の場合)、制御部10は、「自動駐車フェーズ」を終了させる。一方、車両Cが駐車終了位置に到達していない、若しくは停止していないと判定された場合(ステップS141で「NO」の場合)、ステップS139に戻る。
なお、制御部10は、情報取得部41、内部センサ42、外部センサ43によって得られる情報を取得し、目標経路TRおよびその周辺に存在する障害物の検知、衝突回避のためのフェードバック制御などを行うものであってもよい。車両Cが目標経路TRから大きく逸脱した経路を走行する場合には、経路作成部15が目標経路TRを再作成するものであってもよい。
[自動駐車フェーズでの動作の具体例]
「自動駐車フェーズ」での処理の具体例を、図7を用いて説明する。図7は、図4Aで示したパターンに対応しており、車両Cの運動エネルギーを使ってゲートを越えるパターンを示す。
便宜上、以下では、図3に示す車両Cの走行経路PRと目標経路TRとが、一致しているものとして説明を行うが、車両Cの走行経路PRと目標経路TRとが異なる場合にも、本願発明は適用可能である。また、位置P1から位置P2までの移動距離は、ステップS139の判定で用いる閾値Lthに等しいものとする。
ユーザは、車両Cを駐車開始位置P0まで移動させた後、入力部31を操作し、車両Cの自動駐車を開始させる。その後、制御部10は自動制御を開始する。
車両Cが駐車開始位置P0から位置P1まで移動する間は、まだ車両Cが段差位置に近づいているとは言えないため、車両制御部17は、記憶部20に記憶された過去の走行データ等に基づいて車速Vを制御する。
車両Cが移動して、車輪が位置P1を通過しさらに位置P2に近づくと、車両制御部17は、車両Cのエネルギーに基づく車速Vの制御を行う。
図7においてVthは、車両Cが有しているエネルギーが閾値Ethと等しくなるときの車速を表している。図7に示すパターンでは、位置P1において車両Cが有しているエネルギーは閾値Ethよりも大きいので、車両制御部17は、位置P1から位置P2まで車両Cが移動する間に、車速Vを車速Vthまで減少させる。逆に、位置P1において車両Cが有しているエネルギーは閾値Ethよりも小さい場合には、車両制御部17は、位置P1から位置P2まで車両Cが移動する間に、車速Vを車速Vthまで増加させる。すなわち、位置P2の直前での車速Vが車速Vthを下回らないように制御する。
位置P2の「上昇段差」を乗り越える直前で、車両Cは車速Vthを有しているので、駆動力FDを増加させることなく車両Cの運動エネルギーを利用して、車輪は「上昇段差」を乗り越えることができる。車輪が段差を通過するときに、駆動力FDが急激に増加することがないため、車両Cに乗車しているユーザは、予期しない加速を経験することはなく、自動駐車中にユーザが感じる違和感を抑制できる。
また、車両Cの車速Vを必要最小限の速度である車速Vthに近づけた後に、車輪が段差を通過するため、車両Cに乗車しているユーザに与える衝撃力を抑制でき、ユーザが感じる違和感を抑制できる。これは以下のようにして理解できる。
車輪が段差を通過する際の衝撃力の大きさFIは、車両Cの運動量変化を、その運動量変化が生じる時間で割ることにより見積もることができる。車輪が段差を通過する前後での車両Cの運動量の変化は「M・ΔV」と表される。ここで、M、ΔVは、それぞれ車両Cの質量、車輪が段差を通過する前後での車速Vの変化である。また、運動量変化が生じる時間は、車両Cのタイヤが段差に接触してから離れるまでの時間であるから、大まかに「R/V」と見積もられる。ここで、Rは車両Cのタイヤ径である。よって、車輪が段差を通過する際の衝撃力の大きさFIは、以下の式(1)で評価できる。
FI=M・ΔV・V/R …(1)
これを利用すると、図4Aで示した例では、車輪が「上昇段差」を通過する際に、車両Cは「M・ΔV1・V/R」の衝撃力を受けることになる。また車両Cが受ける衝撃力に比例して乗車しているユーザも衝撃力を受ける。
一方で、図7で示した例では、式(1)に登場する車速Vを、「上昇段差」を通過する際に最低限必要な車速Vthとしているため、車速Vを制御しない場合と比較して、衝撃力の大きさFIが小さくなる。そのため、車両Cに乗車しているユーザに与える衝撃力を抑制でき、ユーザが感じる違和感を抑制できるのである。
車輪が位置P2に達して位置P3まで移動する間に、車両制御部17は駆動力FDを増加させて、車速Vを増加させている。これは、位置P2に存在する「上昇段差」を車輪が超えた直後に車両Cの運動エネルギーが0になることを防ぐためである。すなわち、位置P2を通過した直後に車両Cが停車してしまうことを防ぐためである。車両制御部17は、車輪が段差に達した後に車速Vが増加するように車両Cを制御するため、車輪が段差を通過する際のユーザの違和感を抑制しつつ、車輪が段差を越えることができる。
「自動駐車フェーズ」での処理の別の具体例を、図8を用いて説明する。図8は、図5Aで示したパターンに対応しており、車両Cの運動エネルギーを使って窪みを越えるパターンを示す。
図7で示したのと同様に、図8においてVthは、車両Cが有しているエネルギーが閾値Ethと等しくなるときの車速を表している。図8のパターンでは、位置P2に存在する段差は「下降段差」であるため、閾値Ethに0に近い値となる。そのため、車速Vthは0に近い値となる。段差を通過する際に熱エネルギー等として散逸するエネルギーを無視すれば、理想的には閾値Ethは0であり、さらに車速Vthは0となる。しかしながら、実際には、車輪が位置P2に到達する前に車両Cが停車してしまうことを防ぐため、車速Vthを所定の正の値とする。
位置P2の「下降段差」に到達する直前で車両Cは車速Vthを有しており、車両Cの位置エネルギーを利用して、車輪は「下降段差」を越えることができる。車両Cの車速Vを必要最小限の速度である車速Vthに近づけた後に、車輪が段差を通過するため、車両Cに乗車しているユーザに与える衝撃力を抑制でき、ユーザが感じる違和感を抑制できる。
式(1)を利用すると、図5Aで示した例では、車輪が「下降段差」を通過する際に、車両Cは「M・ΔV2・V/R」の衝撃力を受けることになる。これらに比例して乗車しているユーザも衝撃力を受ける。
一方で、図8で示した例では、式(1)に登場する車速Vを、「下降段差」を通過する際に最低限必要な車速Vthとしているため、車速Vを制御しない場合と比較して、衝撃力の大きさFIが小さくなる。そのため、車両Cに乗車しているユーザに与える衝撃力を抑制でき、ユーザが感じる違和感を抑制できるのである。
車輪が位置P2を通過した後、車両Cの位置エネルギーが運動エネルギーに転換されるため、車速Vが増加している。車輪が位置P2を通過した後、位置P3に達するまでの間における車両Cのエネルギーが、位置P3にある「上昇段差」を越えるために必要なエネルギーよりも大きい場合には、車両制御部17は駆動力FDを増加させて、車速Vをさらに増加させる必要はない。
一方、車輪が位置P2を通過した後、位置P3に達するまでの間における車両Cのエネルギーが、位置P3にある「上昇段差」を越えるために必要なエネルギー以下である場合には、車両制御部17は駆動力FDを増加させて、車速Vをさらに増加させる。このように、車両制御部17は、車輪が段差を通過した後に車速Vが増加するように車両Cを制御するため、車輪が段差を通過する際にユーザが感じる違和感を抑制しつつ、車輪が段差を越えることができる。
[実施形態による効果]
実施形態に係る駐車支援装置1は、段差を通過するときの車速Vや車両Cのエネルギーなどの車両挙動が所定範囲内に収まるように車両Cを制御することにより、式(1)で評価される段差通過時の衝撃力を抑制している。衝撃力が抑制される結果、ユーザが感じる違和感を抑制できる。特に、車両挙動を所定値以下とすることで、過大な衝撃力が発生するのを防止し、ユーザが感じる違和感を抑制している。
また、駐車支援装置1は、車輪が段差に達した後に、車両Cの車速を増加させている。そのため、段差を通過した直後に、駐車終了場所ではない場所で車両Cが停止してしまうことを防止できる。そして、車輪が段差を通過する際のユーザの違和感を抑制しつつ、車輪が段差を越えることを可能にしている。
さらに、駐車支援装置1は、学習フェーズにおいて記憶した走行データに基づいて、段差位置Xを特定する際に、段差位置Xに存在する段差が「上昇段差」と「下降段差」のいずれの種類の段差であるのかを区別して特定する。そのため、段差の種類に応じて、車両Cが段差位置Xにある段差を越えるために必要なエネルギーを見積もることができ、その結果、車両Cが段差に近づいたときに実行される制御を調整できるようになる。従って、車両Cが駐車する駐車場の環境に、いずれの段差が存在する場合であっても、車両挙動を低減することができる。
[その他の実施形態]
その他の変形例として、位置P2が位置P3に近接している場合には、位置P2の段差を越えるためのエネルギーと、位置P2に近接する位置P3の段差を越えるためのエネルギーに基づいて、位置P2の手前で車速Vを制御するようにしてもよい。
具体的には、例えば、位置P2から位置P3までの移動距離が、図6のステップS139での判定で使用した所定の閾値Lth以下である場合に、位置P2が位置P3に近接していると判定する。そして、位置P2および位置P3の直前で車両Cが有しているエネルギーが閾値Ethを下回らないように車両Cを制御することが望ましい。ここで、閾値Ethは、位置P2にある段差を越えるために必要なエネルギーと、位置P3にある段差を越えるために必要なエネルギーのうち、いずれか大きい方の値とする。近接する複数の段差の間で駆動力を制御する必要がなくなるため、車両Cに乗車しているユーザにとって予期しない加速が生じるのを防止でき、ユーザの違和感を抑制できる。
その他、駐車支援装置1は、制御部10によってユーザが車両Cに乗車していると判断された場合にのみ、本実施形態に示すような制御を行うように、制御を切り替えるよう構成されていてもよい。これにより、ユーザが車両Cに乗車しているときには、ユーザの違和感を抑制しながら自動駐車を実行し、一方で、ユーザが車両Cに乗車していない場合には、ユーザに与える影響を考慮することなく自動駐車を実行できる。そのため、ユーザが車両Cに乗車していない場合に、制御部10において発生する計算量、および負荷を削減することができる。
また、上記の実施形態では、車両Cが駐車場に進入して駐車する場合(入庫する場合)を例に挙げて説明したが、駐車支援装置1の処理は、車両Cが駐車場から外に出る場合(出庫する場合)にも、適用可能である。入庫する場合と、出庫する場合とでは、走行経路PR上を車両Cが走行する方向が正反対になる。そのため、入庫する場合に「上昇段差」、「下降段差」として学習された段差は、出庫する場合には、それぞれ「下降段差」、「上昇段差」となることに注意が必要である。
記載された機能や処理の各々は、一つ以上の処理回路によって実装されうる。処理回路には、プログラムされたプロセッサや、電気回路などが含まれ、さらには、特定用途向けの集積回路(ASIC)のような装置や、記載された機能を実行するよう配置された回路構成要素なども含まれる。
上記のように、本発明を上記の実施形態によって記載したが、この開示の一部をなす論述および図面は本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例および運用技術が明らかとなろう。
本発明はここでは記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。