説明

走行制御装置

【課題】車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置を提供すること。
【解決手段】走行制御装置100では、仮の走行経路の生成を試みる場合に、生成予定の仮の走行経路について操舵量累積値STを算出する。そして、算出した操舵量累積値STが操舵量累積積閾値Aを超えていれば、車両1が蛇行するなどの走行経路が生成されるおそれがあり、搭乗者に不快感を与えるおそれがあるため、別の仮の走行経路の生成を試みる。一方、算出した操舵量累積値STが操舵量累積積閾値A以下であり、目標とする駐車位置に到着可能であれば、その仮の走行経路を用いて、走行経路全体を生成する。これにより、走行経路が生成される場合には、車両1の操舵角の変化が抑制される走行経路を生成できるので、搭乗者に与える不快感を軽減できる走行経路を生成できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行制御装置に関し、特に、車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置に関するものである。
【背景技術】
【0002】
従来より、運転者が自車両を目標位置まで走行させる場合に、自車両を現在の車両位置から目標位置まで走行させることが可能な走行経路を生成し、運転者がハンドル操作を行わなくても、自車両が走行経路に沿って走行するように自車両の走行を制御する走行制御装置が知られている。この種の走行制御装置に関し、次の特許文献1に記載の走行制御装置では、運転者が走行経路の生成を指示すると、自車両を現在の車両位置から後退により目標位置へ走行させることが可能な走行経路の生成が試みられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−284969号公報(第0062段落など)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の走行制御装置では、走行経路の生成が繰り返し試みられる中で、偶然最初に生成できた走行経路が自車両の走行経路として選ばれるので、走行経路が生成されたとしても、自車両が蛇行するような走行経路が生成されるおそれがある。そのため、自車両が走行する場合に、自車両の搭乗者に何度も横Gが加わって、搭乗者に不快感を与えるおそれがあった。
【0005】
本発明は、上述した問題点を解決するためになされたものであり、車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置を提供することを目的としている。
【課題を解決するための手段および発明の効果】
【0006】
請求項1記載の走行制御装置によれば、基準位置から目標位置までの車両の走行経路の候補として仮経路生成手段により仮経路が生成され、その仮経路の少なくとも一部区間を車両に走行させたと仮定して、その走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定手段により特定される。そして、その累積値が第1所定値を超えているかが第1累積判定手段により判定され、ここで、累積値が第1所定値を超えていると判定されると、仮経路生成手段により新たな仮経路の生成が開始されるように、生成制御手段によって制御される。一方、累積値が第1所定値を超えていないと判定され、仮経路生成手段により生成される仮経路によって車両が目標位置へ到着可能な場合は、走行経路決定手段によって、その仮経路が車両の走行経路とされる。車両が走行している間は、車両の操舵角またはハンドル角が変化する度に、車両の搭乗者に横Gなどの力が加わるので、車両の操舵角またはハンドル角の変化量が少ないほど、車両の搭乗者に加わる横Gなどの力を軽減できる可能性が高まり、その搭乗者に与える不快感を軽減できる可能性が高まる。請求項1記載の走行制御装置によれば、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が第1所定値を超えない仮経路を、車両の走行経路にすることができる。よって、走行経路を生成する場合に、車両の搭乗者に加わる横Gなどの力を軽減できる走行経路を生成できる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成できるという効果がある。
【0007】
尚、仮経路生成手段により仮経路を1つ生成する度に、その生成した仮経路について、特定手段による累積値の特定と、第1累積判定手段による累積値の判定とを行っても良い。また、仮経路生成手段により仮経路を複数生成した後に、その生成した複数の仮経路について、特定手段による累積値の特定と、第1累積判定手段による累積値の判定とを、纏めて行っても良い。
【0008】
請求項2記載の走行制御装置によれば、請求項1記載の走行制御装置の奏する効果に加え、生成制御手段では、仮経路の生成条件が変更され、仮経路生成手段により新たな仮経路の生成が開始されるように制御される。よって、車両の操舵角またはハンドル角の変化量の累積値が第1所定値を超える仮経路が生成され、その結果、新たな仮経路が生成される場合に、仮経路の生成条件を変更してからその生成を開始するので、車両の操舵角またはハンドル角の変化量の少ない仮経路を生成できる可能性を向上させることができる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性を向上させることができるという効果がある。
【0009】
請求項3記載の走行制御装置によれば、請求項2記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、仮経路生成手段では、車両が走行すべき経路を示す走行経路パターンが組み合わされて仮経路が生成され、生成制御手段では、仮経路生成手段で用いられる走行経路パターンの示す経路の距離が、仮経路の生成条件として変更される。よって、変更前の走行経路パターンを組み合わせて仮の走行経路を生成した場合に、車両の操舵角またはハンドル角の変化量の累積値が大きくなる仮経路が生成されたとしても、走行経路パターンの示す経路の距離を変更することで、その変更後の走行経路パターンを組み合わせて仮の走行経路を生成した場合に、車両の操舵角またはハンドル角の変化量の累積値が小さくなる仮経路が生成される可能性を高め得る。故に、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性をより向上させることができるという効果がある。
【0010】
請求項4記載の走行制御装置によれば、請求項2または3記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、特定手段により特定される累積値が第1所定値よりも大きい第2所定値を超えているかが第2累積判定手段により判定され、生成制御手段では、第2累積判定手段により累積値が第2所定値を超えていると判定される場合と、第2所定値を超えていないと判定される場合とで、異なる生成条件に変更される。よって、特定手段によって特定された累積値の大きさに応じて、仮経路の生成条件を相応しいものに変更できるので、新たな仮経路を生成する場合に、車両の操舵角またはハンドル角の変化量の少ない仮経路が生成される可能性を向上させることができる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性を向上させることができるという効果がある。
【0011】
尚、仮経路生成手段により仮経路を1つ生成する度に、その生成した仮経路について、特定手段による累積値の特定と、第2累積判定手段による累積値の判定とを行っても良い。また、仮経路生成手段により仮経路を複数生成した後に、その生成した複数の仮経路について、特定手段による累積値の特定と、第2累積判定手段による累積値の判定とを、纏めて行っても良い。
【0012】
請求項5記載の走行制御装置によれば、請求項2から4の何れかに記載の走行制御装置の奏する効果に加え、特定手段では、仮経路生成手段により仮経路が1つ生成される度に、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定される。よって、車両の搭乗者に不快感を与えるおそれの高い仮経路が1つでも生成されれば、そこで仮経路の生成条件を変更して、新たな仮経路の生成を開始できる。従って、仮経路の生成条件をより早く変更して、新たな仮経路の生成を開始できるので、車両の搭乗者に与える不快感を軽減できる走行経路を生成するまでの時間を短縮できるという効果がある。
【0013】
請求項6記載の走行制御装置によれば、請求項1から4の何れかに記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、仮経路生成手段により生成される仮経路を車両に走行させたと仮定した場合に、その車両が目標位置へ到着可能か否かが到着判定手段により判定される。そして、特定手段では、到着判定手段により到着可能と判定される場合に、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定される。よって、車両が目標位置へ到達不可能な仮経路が生成された場合については、特定手段による特定と、第1累積判定手段による判定とを抑制できる。従って、不要な処理を抑制できるので、車両の搭乗者に与える不快感を軽減できる走行経路を生成するまでの時間を短縮できるという効果がある。
【図面の簡単な説明】
【0014】
【図1】本発明の第1実施形態における走行制御装置が搭載される車両の上面視を模式的に示した模式図である。
【図2】走行経路全体に対して生成される走行制御点の一例を説明するための模式図である。
【図3】走行経路全体のうち、パターン走行部を生成するために用いる経路パターンの一例を示す模式図である。
【図4】経路パターンに応じて車両を移動させた場合の移動先と、その車両方位とを説明するための模式図である。
【図5】(a)は、走行経路上の経路点の一例を説明するための模式図であり、(b)は、駐車可能条件を説明するための模式図である。
【図6】走行制御装置の電気的構成を示したブロック図である。
【図7】10種類の各経路パターンに個別に設定されている車両の操舵角を説明するための模式図である。
【図8】走行制御点メモリの内容の一例を示す模式図である。
【図9】走行制御装置の自動駐車処理を示すフローチャートである。
【図10】走行制御装置の点経路生成処理を示すフローチャートである。
【図11】(a)は、仮の走行経路の生成条件を変更しない場合に生成される走行経路の一例を説明するための模式図であり、(b)は、(a)に示す走行経路を車両に走行させた場合の操舵量累積値を示すグラフである。(c)は、仮の走行経路の生成条件を変更した場合に生成される走行経路の一例を説明するための模式図であり、(d)は、(c)に示す走行経路を車両に走行させた場合の操舵量累積値を示すグラフである。
【図12】走行制御装置のパターン走行部制御点生成処理を示すフローチャートである。
【図13】走行経路全体のうち、パターン走行部に対して生成される走行制御点の一例を説明するための模式図である。
【図14】走行制御装置の後退旋回部制御点生成処理を示すフローチャートである。
【図15】走行経路全体のうち、後退旋回部に対して生成される走行制御点の一例を説明するための模式図である。
【図16】走行制御装置の最終後退部制御点生成処理を示すフローチャートである。
【図17】走行経路全体のうち、最終後退部に対して生成される走行制御点の一例を説明するための模式図である。
【図18】第2実施形態における走行制御装置の点経路生成処理を示すフローチャートである。
【図19】操舵量累積閾値を複数設ける場合の一例を説明するためのグラフである。
【図20】第2実施形態における走行制御装置の電気的構成を示したブロック図である。
【図21】第3実施形態における走行制御装置の点経路生成処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の好ましい実施形態について添付図面を参照して、説明する。図1は、本発明の第1実施形態における走行制御装置100が搭載される車両1の上面視を模式的に示した模式図である。尚、図1の矢印U−D,L−R,F−Bは、車両1の上下方向、左右方向、前後方向をそれぞれ示している。
【0016】
まず、図1を参照して、車両1の概略構成について説明する。車両1は、運転者により運転操作可能に構成された車両であり、現在の車両位置から運転者により設定される駐車位置まで車両1を自律走行させて、その駐車位置に車両1を駐車させることができる走行制御装置100が搭載されている。尚、本実施形態における自律走行とは、運転者の運転操作なしで車両1を走行させることを意味する。即ち、車両1が自律走行している場合、運転者は、後述するアクセルペダル11、ブレーキペダル12及びステアリング13を操作しなくて良い。
【0017】
走行制御装置100は、目標とする駐車位置が運転者により設定されると、予め記憶されている10の経路パターンPT1〜PT10(図3参照)を複数組み合わせて、現在の車両位置から目標とする駐車位置までの車両1の走行経路を生成し、その生成した走行経路に従って車両1を自律走行させて、目標とする駐車位置に車両1を停車させるものである。
【0018】
詳細については後述するが、この走行制御装置100によれば、走行経路を生成する場合に、まず、その走行経路の候補である仮の走行経路を1つずつ順番に生成する。そして、その仮の走行経路を車両1に走行させたと仮定して、車両1の走行開始から終了までの車両1における操舵角の変化量(以下、「操舵量」と称す)の累積値を算出する。なお、操舵量の累積値(以下、「操舵量累積値」と称す)STを算出する場合は、操舵量の絶対値を累積するものとする。
【0019】
そして、算出された操舵量累積値STが、後述する操舵量累積閾値Aを超えた場合は、目標とする駐車位置に車両1が到着するしないに関わらず、車両1が蛇行するなどの走行経路が生成されるおそれがあり、車両1の走行中に搭乗者に横Gが何度も加わって、搭乗者に不快感を与えるおそれがあるため、別の仮の走行経路の生成を試みる。これにより、走行経路が生成される場合には、仮の走行経路のうち、車両1の操舵角変化の抑制されるものが走行経路として用いられる。よって、搭乗者に与える不快感を軽減できる走行経路を生成できる。
【0020】
尚、本実施形態では、目標とする駐車位置に車両1を駐車させた時の、左右の後輪2RL,2RRの車軸上をx軸とし、車両1中央の前後軸上をy軸とし、x軸およびy軸の交点を原点Oとした座標系を用いて、車両1の位置や、走行経路RT1〜RT3などの位置を算出する。
【0021】
よって、以下の説明では、この座標系を用いて、車両1や、走行経路RT1〜RT3などの各位置を示す。また、車両1の前後軸と、車両1における左右の後輪2RL,2RRの車軸との交点を車両1の基準点とし、上述した座標系における車両1の基準点の位置を、車両1の車両位置とする。また、車両1の前後軸方向のうち車両1が進行している方向を、車両1の進行方向とする。
【0022】
車両1は、走行制御装置100の他、車体フレームBFと、その車体フレームBFに支持される複数(本実施形態では4輪)の車輪2FL,2FR,2RL,2RRと、それら複数の車輪2FL〜2RRの内の一部(本実施形態では、左右の前輪2FL,2FR)を回転駆動する車輪駆動装置3と、各車輪2FL〜2RRを車体フレームBFに懸架する懸架装置4と、複数の車輪2FL〜2RRの内の一部(本実施形態では、左右の前輪2FL,2FR)を操舵するステアリング装置6と、操舵駆動装置5と、ステアリングセンサ装置21と、ジャイロセンサ装置22と、車輪回転センサ23と、アクセルペダル11と、ブレーキペダル12と、ステアリング13と、第1から第3までの距離センサ24a〜24cと、自動駐車スイッチ25と、第1から第4までのカメラ26a〜26dと、を主に備えている。
【0023】
車輪2FL,2FRは、図1に示すように、車体フレームBFの前方側(矢印F側)に配置される左右の前輪であり、車輪駆動装置3によって回転駆動される駆動輪として構成されている。一方、車輪2RL,2RRは、車体フレームBFの後方側(矢印B側)に配置される左右の後輪であり、車両1の走行に伴って従動する従動輪として構成されている。4つの車輪2FL〜2RRのうち、左右の前輪2FL,2FRには共に、車輪の回転量を検出する車輪回転センサ23が取り付けられている。
【0024】
車輪回転センサ23は、センサ23が取り付けられている車輪2FL,2FRの回転量を検出して、その検出結果をCPU91(図6参照)に出力するセンサであり、車輪2FL,2FRが所定の角度回転する度に、回転検出信号をCPU91に出力するものである。車輪2FL,2FRの外周の長さと、回転検出信号が出力される回転角度とは予め決まっているので、回転検出信号が出力されから次の回転検出信号が出力されるまでに車両1が走行する走行距離も予め決まる。CPU91は、車両1が自律走行をする場合、2つの車輪回転センサ23の回転検出信号を個別にカウントし、2つのカウント数の平均値を用いて出発地点からの走行距離を算出する。
【0025】
ジャイロセンサ装置22は、車両1の水平面に対するロール角およびピッチ角と、ヨー
角とを検出すると共に、その検出結果をCPU91に出力するための装置であり、車両1の重心を通る基準軸(図1矢印F−B,L−R,U−D方向軸)回りの車両1(車体フレームBF)の回転角(ロール角、ピッチ角、ヨー角)をそれぞれ検出するジャイロセンサ(図示せず)と、そのジャイロセンサの検出結果を処理してCPU91に出力する出力回路(図示せず)とを主に備えている。
【0026】
尚、以下の説明では、車両1のヨー角のことを、車両1の車両方位と記載する。尚、車両1における車両方位の基準軸は、上述したx軸とし、そのx軸から車両1の進行方向までの反時計回りの角度を、車両1の車両方位とする。
【0027】
CPU91は、車両1が自律走行する場合、ジャイロセンサ装置22から出力される車両1の車両方位を取得し、車両1の進行方向を算出する。そして、その車両1の進行方向と、車輪回転センサ23の回転検出信号から算出される車両1の走行距離とに基づいて、出発地点からの移動距離を算出する。CPU91は、出発地点からの移動距離に基づいて、原点Oを基準とした車両1の現在位置を算出できる。
【0028】
尚、車両1の車両方位は計算でも算出できる。具体的には、ヨー方向の角速度を検出するジャイロセンサ装置を車両1に搭載しておく。そして、その検出される角速度を時間積分することで、車両1の車両方位を算出できる。
【0029】
車輪駆動装置3は、左右の前輪2FL,2FRに回転駆動力を付与するモータ3a(図6参照)を備えて構成されている。尚、モータ3aは、ディファレンシャルギヤ(図示せず)及び一対のドライブシャフト31を介して左右の前輪2FL,2FRに接続されている。
【0030】
例えば、運転者がアクセルペダル11を操作した場合には、モータ3aから左右の前輪2FL,2FRに回転駆動力が付与され、それら左右の前輪2FL,2FRがアクセルペダル11の傾斜状態(傾斜角度、傾斜する速度など)に応じた速度で回転駆動される。
【0031】
ステアリング装置6は、図1に示すように、ステアリングシャフト61と、フックジョイント62と、ステアリングギヤ63と、タイロッド64と、ナックルアーム65とを主に備えて構成されている。尚、ステアリング装置6は、ステアリングギヤ63がピニオン(図示せず)とラック(図示せず)とを備えたラックアンドピニオン機構によって構成されている。
【0032】
例えば、運転者がステアリング13を操作した場合には、ステアリング13の操作がステアリングシャフト61を介してフックジョイント62に伝達されると共にフックジョイント62によって角度を変えられ、ステアリングギヤ63のピニオンに回転運動として伝達される。そして、ピニオンに伝達された回転運動がラックの直線運動に変換され、ラックが直線運動することで、ラックの両端に接続されたタイロッド64が移動し、ナックルアーム65を介して車輪2FL〜2RRが操舵される。
【0033】
操舵駆動装置5は、ステアリング装置6と同様に、左右の前輪2FL,2FRを操舵するための装置であり、ステアリングシャフト61に回転駆動力を付与するモータ5a(図6参照)を備えて構成されている。即ち、モータ5aが駆動されてステアリングシャフト61が回転すると、運転者によりステアリング13が操作された場合と同様に車輪2FL,2FRが操舵される。
【0034】
ステアリングシャフト61には、左右の前輪2FL,2FRの操舵角δを算出してCPU91へ出力するステアリングセンサ装置21が取り付けられている。ステアリングセンサ装置21は、基準位置からのステアリングシャフト61の回転角度に基づいて、左右の前輪2FL,2FRの操舵角δを算出し、その算出結果を走行制御装置100に設けられたCPU91(図6参照)へ出力する。
【0035】
アクセルペダル11、ブレーキペダル12及びステアリング13は、いずれも運転者により制御される操作部材であり、各ペダル11,12の傾斜状態(傾斜角度、傾斜する速度など)に応じて車両1の加速力や制動力が決定されると共に、ステアリング13の操作状態(操作量、操作方向)に応じて車両1の旋回半径や旋回方向が決定される。
【0036】
第1から第3までの各距離センサ24a〜24cは、車両1の周辺に存在する物体までの距離データをCPU91(図6参照)に出力するための装置である。各距離センサ24a,24b,24cは、レーザ光を対象物に向けて照射し、その反射の強度で対象物までの距離を測定するレーザレンジファインダで構成されている。
【0037】
第1距離センサ24aは、車両1の前面右端に、第2距離センサ24bは、車両1の前面左端に、第3距離センサ24cは、車両1の後面中央に取り付けられている。本実施形態では、3つの距離センサ24a〜24cにより、車両1を中心として少なくとも60m四方の領域内に存在する各対象物までの距離を検出可能に構成されている。
【0038】
自動駐車スイッチ25は、自律走行により目標とする駐車位置に車両1を駐車させたい場合に、運転者が押下するスイッチであり、これが運転者により押下されると、走行制御装置100において後述する自動駐車処理(図9参照)が実行される。その結果、現在位置から運転者により設定される駐車位置まで車両1が自律走行させられ、その駐車位置に車両1が停車させられる。
【0039】
第1から第4までの各カメラ26a〜26dは、車両1の周囲を撮像するための撮像装置であり、CCDイメージセンサや、CMOSイメージセンサなどの撮像素子が搭載されたデジタルカメラで構成されている。この第1から第4までの各カメラ26a〜26dは、撮像した画像を画像データに変換してCPU91(図6参照)に出力するものである。
【0040】
第1カメラ26aは、車両1の前方中央に取り付けられており、第2カメラ26bは、車両1の右側面のサイドミラー(非図示)に取り付けられており、第3カメラ26cは、車両1の後方中央に取り付けられており、第4カメラ26dは、車両1の左側面のサイドミラー(非図示)に取り付けられている。本実施形態では、第1から第4までの4つのカメラ26a〜26dにより、車両1を中心として車両1の前後方向に少なくとも15m、且つ、車両1を中心として車両1の左右方向に少なくとも12mの範囲を撮像可能に構成されている。
【0041】
走行制御装置100は、車輪駆動装置3、操舵駆動装置5、及び、ブレーキ装置(図示せず)などを制御して、現在位置から運転者により設定される駐車位置まで車両1を自律走行させて、その駐車位置に車両1を停車させるものである。
【0042】
次に、図2〜図5を参照して、走行制御装置100により生成される走行経路RT1〜RT3について説明する。本実施形態では、運転者により自動駐車スイッチ25が押下され、運転者により目標とする駐車位置が設定されると、走行制御装置100によって、現在位置から目標とする駐車位置へ到達可能な走行経路RT1〜RT3が生成される(図2参照)。詳細については後述するが、走行経路RT1〜RT3全体は、パターン走行部RT1と、後退旋回部RT2と、最終後退部RT3との3つにより構成されている。
【0043】
この走行経路RT1〜RT3は線として連続的に構成されるが、走行経路RT1〜RT3を示すデータについては、走行経路RT1〜RT3を構成する点のうち、所定間隔ごとの点を示すデータより構成される。以下、この所定間隔ごとの点を、経路点Pと称し、経路点Pを示すデータを、経路点情報と称する。尚、この経路点Pは、車両1が走行経路RT1〜RT3を自律走行する場合に経由すべき点であり、経路点情報は、経路点Pにおける車両1の車両位置と、その経路点Pにおける車両1の車両方位θとにより構成される。各経路点Pの経路点情報は、後述する点経路メモリ93b(図6参照)に記憶される。詳細については後述するが、例えば、走行経路RT1であれば、走行経路RT1上を構成する点のうち、2m間隔ごとの点を経路点Pとしている。
【0044】
そして、本実施形態では、走行経路RT1〜RT3全体が生成されると、次に、走行制御装置100が車両1を自律走行させる場合に車両1の車両状態を制御する点である走行制御点Qが、走行経路RT1〜RT3上に、0.05m間隔で仮想的に生成される。つまり、本実施形態では、車両1の走行状態が0.05m毎に制御される。尚、各走行制御点Qの車両設定情報は、後述する走行制御点メモリ93c(図6参照)にそれぞれ記憶される。
【0045】
車両設定情報の詳細については後述するが、走行制御装置100は、走行経路RT1〜RT3に沿って車両1を自律走行させる場合に、各走行制御点Qに到達する度に、その走行制御点Qに対応する車両設定情報に基づいて車両1の走行状態を設定し、運転者により設定された駐車位置まで車両1を自律走行させる。
【0046】
ここで、図2を参照して、走行制御装置100により生成される走行経路RT1〜RT3と、走行経路RT1〜RT3に対して生成される走行制御点Qについて説明する。図2は、走行経路RT1〜RT3全体と、その走行経路RT1〜RT3を示す経路点Pと、その走行経路RT1〜RT3に対して生成される走行制御点Qとの一例を説明するための模式図である。尚、走行制御点Qは、経路点P0(車両1の出発位置)上には生成されず、経路点P0から0.05mだけ目標とする駐車位置に近づいた位置から生成されて行く。
【0047】
以下、図2を含め、走行経路RT1〜RT3を示す図においては、経路点Pを白抜きの丸で示し、走行制御点Qを黒塗りの丸で示す。また、経路点P0は、車両1の出発位置を示し、経路点P8は、運転者が目標とする駐車位置を示す。尚、他の経路点P1〜P7の詳細については後述する。また、走行制御点Qは、本来なら0.05m間隔で仮想的に生成されるが、図を見易くするために一部の走行制御点Qのみを示す。
【0048】
上述したように、走行経路RT1〜RT3全体は、パターン走行部RT1と、後退旋回部RT2と、最終後退部RT3との3つにより構成される。パターン走行部RT1は、後述する経路パターンメモリ92a(図6参照)に格納されている経路パターンPT1〜PT10の組み合わせにより生成される走行経路である。図2に示す例では、経路点P0から経路点P6までの走行経路が、パターン走行部RT1となる。
【0049】
また、後退旋回部RT2は、パターン走行部RT1に続く走行経路であって、パターン走行部RT1の終端から目標とする駐車位置に車両1を後退直進させることが可能となる車両位置までの走行経路である。図2に示す例では、経路点P6から経路点P7までの経路が、後退旋回部RT2となる。尚、この後退旋回部RT2では、車両1が同一の操舵角δで後退旋回するように走行経路が決定される。
【0050】
最終後退部RT3は、後退旋回部RT2に続く走行経路であって、後退旋回部RT2の終端から目標とする駐車位置までの走行経路である。図2に示す例では、経路点P7から経路点P8までの経路が、最終後退部RT3となる。尚、この最終後退部RT3は、車両1が後退直進するように走行経路が決定される。
【0051】
ここで、図3を参照して、経路パターンPT1〜PT10について説明する。図3は、走行経路RT1〜RT3全体のうち、パターン走行部RT1を生成するために用いる経路パターンPT1〜PT10の一例を示す模式図である。
【0052】
本実施形態では、10種類の断片的な走行経路が予め設定されており、それぞれが経路パターンとして、後述する経路パターンメモリ92a(図6参照)に格納されている。10種類の経路パターンPT1〜PT10には、「PT1」から「PT10」までのパターン番号が付されている。10種類の経路パターンPT1〜PT10では、各走行経路の軌跡はそれぞれ異なるが、各走行経路の長さ(即ち、走行距離)CLは全て2mに設定されている。パターン走行部RT1は、この経路パターンPT1〜PT10に対応する走行経路が組み合わされて生成される。
【0053】
そして、パターン走行部RT1では、経路パターンPT1〜PT10に対応する走行経路の始端および終端を、それぞれ経路点Pとしている。つまり、経路点P1〜P5は、経路パターンPT1〜PT10に対応する走行経路の接続点を示している。
【0054】
経路パターンPT1は、経路点Pから車両1を前方直進させ2m移動させる走行経路を示すパターンであり、経路パターンPT2は、経路点Pから車両1を後退直進させ2m移動させる走行経路を示すパターンである。
【0055】
経路パターンPT3は、車両1の旋回半径Rを最小旋回半径の2倍とし、車両1を経路点Pから前方左旋回させ2m移動させる走行経路を示すパターンであり、以下同様に、経路パターンPT4は、車両1の旋回半径Rを最小旋回半径の2倍とし車両1を前方右旋回させ、経路パターンPT5は、車両1の旋回半径Rを最小旋回半径の2倍とし車両1を後退左旋回させ、経路パターンPT6は、車両1の旋回半径Rを最小旋回半径の2倍とし車両1を旋回半径Rで後退右旋回させ、それぞれ2m移動させる走行経路を示すパターンである。
【0056】
また、経路パターンPT7は、車両1の旋回半径Rを最小旋回半径とし、車両1を経路点Pから前方左旋回させ2m移動させる走行経路を示すパターンであり、以下同様に、経路パターンPT8は、車両1の旋回半径Rを最小旋回半径とし車両1を前方右旋回させ、経路パターンPT9は、車両1の旋回半径Rを最小旋回半径とし車両1を後退左旋回させ、経路パターンPT10は、車両1の旋回半径Rを最小旋回半径とし車両1を後退右旋回させ、それぞれ2m移動させる走行経路を示すパターンである。
【0057】
ここで、図4を参照して、経路パターンPT1〜PT10に応じて車両1を経路点Pから移動させた場合の移動先に対応する各経路点Pおよび車両方位θについて説明する。図4は、経路パターンPT1〜PT10に応じて車両1を移動させた場合の移動先に対応する各経路点Pおよび車両方位θを算出するための模式図である。ここで、経路点P(x,y)は、移動前の車両1の車両位置を示す。また、経路点Pにおける車両1の車両方位をθと示し、車両1の進行方向を矢印で示す。
【0058】
まず、経路パターンPT8に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θを算出する方法について説明する。
【0059】
車両1の走行距離をCLとし、車両1の旋回半径をRとし、更に、経路点Pにおける車両方位θと、経路点Pにおける車両方位θとの変化量をΔθとした場合、その変化量Δθは、
Δθ=CL/R
により算出できる。従って、経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ−Δθ
=x+2R・sin(Δθ/2)・cos(θ−Δθ/2)
=y+2R・sin(Δθ/2)・sin(θ−Δθ/2)
により算出できる。尚、経路パターンPT4についても同様に、この式により経路点Pおよび車両方位θを算出できる。
【0060】
次に、経路パターンPT7に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θを算出する方法について説明する。尚、経路点Pにおける車両方位θと、経路点Pにおける車両方位θとの変化量Δθは、上述した式により同様に算出できる。よって、経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ+Δθ
=x+2R・sin(Δθ/2)・cos(θ+Δθ/2)
=y+2R・sin(Δθ/2)・sin(θ+Δθ/2)
により算出できる。尚、経路パターンPT3についても同様に、この式により経路点Pおよび車両方位θを算出できる。
【0061】
以下同様に、経路パターンPT9に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ−Δθ
=x+2R・sin(Δθ/2)・cos(θ−Δθ/2−π)
=y+2R・sin(Δθ/2)・sin(θ−Δθ/2−π)
により算出できる。尚、経路パターンPT5についても同様に、この式により経路点Pおよび車両方位θを算出できる。
【0062】
また、経路パターンPT10に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ+Δθ
=x+2R・sin(Δθ/2)・cos(θ+Δθ/2−π)
=y+2R・sin(Δθ/2)・sin(θ+Δθ/2−π)
により算出できる。尚、経路パターンPT6についても同様に、この式により経路点Pおよび車両方位θを算出できる。
【0063】
また、図示はしていないが、経路パターンPT1に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ
=x+CL・cos(θ
=y+CL・sin(θ
により算出できる。
【0064】
また、経路パターンPT2に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点P(x,y)と、その経路点Pにおける車両方位θとは、
θ=θ
=x+CL・cos(θ+π)
=y+CL・sin(θ+π)
により算出できる。
【0065】
以上の図4を参照して説明した数式を用いることにより、経路パターンPT1〜PT10に応じて車両1を経路点Pから移動させた場合の移動先に対応する経路点Pと、その車両方位θとを算出できる。よって、パターン走行部RT1を構成する各経路点Pを特定できる。
【0066】
本実施形態では、予め定められている順序で、経路パターンPT1〜PT10が組み合わされて、仮の走行経路RT1が生成されていく。この仮の走行経路RT1が生成されると、次に、その仮の走行経路RT1に続く後退旋回部RT2と、その後退旋回部RT2に続く最終後退部RT3とを生成できるかが判定される。この判定条件のことを、本実施形態では、駐車可能条件と称する。
【0067】
尚、ここで駐車可能条件が成立する場合には、仮の走行経路RT1がパターン走行部RT1とされ、成立した駐車可能条件に基づいて、後退旋回部RT2および最終後退部RT3が決定され、走行経路RT1〜RT3全体が生成される。一方、駐車可能条件が成立しない場合には、別の仮の走行経路RT1が生成され、再度、駐車可能条件が成立しているかが判定される。仮の走行経路RT1の生成と、駐車可能条件の判定とは、駐車可能条件が成立するか、又は、予め定められている経路パターンPT1〜PT10の組み合わせが全て生成されるまで、繰り返される。
【0068】
ここで、図5(a),(b)を参照して、走行経路RT1〜RT3全体が生成されるまでの流れと、駐車可能条件とについて説明する。図5(a)は、走行経路RT1〜RT3上の経路点Pの一例を説明するための模式図であり、図5(b)は、駐車可能条件を説明するための模式図である。図5(a)では、経路点P0〜P6までの走行経路が、パターン走行部RT1に対応し、経路点P6〜P7までの走行経路が、後退旋回部RT2に対応し、経路点P7〜P8までの走行経路が、最終後退部RT3に対応している。
【0069】
本実施形態では、走行経路RT1〜RT3全体の生成が試みられる場合、まず、走行経路RT1の生成が試みられる。例えば、図5(a)に示すように、車両1の出発地点である経路点P0では、点線および実線で示した10通りの仮の走行経路RT1が一つずつ順番に生成される。そして、仮の走行経路RT1が生成される度に、仮の走行経路RT1の終端に対応する経路点Pにおいて、駐車可能条件が成立しているかが判定される(図10のS37参照)。
【0070】
ここで、駐車可能条件が成立していると判定されると、仮の走行経路RT1が、車両1の走行経路RT1とされて、走行経路RT1〜RT3全体が生成され、そこで仮の走行経路RT1の生成が終了する。一方、10通りの仮の走行経路RT1が生成され、何れにおいても駐車可能条件が成立しなければ、次に、別の仮の走行経路RT1が生成される。具体的には、先ほど生成した10の仮の走行経路RT1毎に、その終端から10通りの方向に走行経路を延長するように、別の仮の走行経路RT1を生成する。そして、それぞれの仮の走行経路RT1ごとに、駐車可能条件が成立しているかを判定する。
【0071】
以後同様に、別の仮の走行経路RT1の生成と、駐車可能条件の成立の判定とが繰り返される。図5(a)の例では、経路点P0〜P6までの走行経路が生成され、経路点P6において、駐車可能条件が成立した状態を示している。
【0072】
駐車可能条件は、2つの条件から構成されており、1つ目の条件は、仮の走行経路RT1の終端に対応する経路点Pから車両1を同一の旋回半径Rにより後退旋回させ、続けて車両1を後退直進させることで、車両1を目標とする駐車位置に停車させることが可能かという条件である。
【0073】
ここで、図5(b)を参照して、駐車可能条件が成立する経路点Pおよび車両方位θについて説明する。上述したとおり、駐車可能条件における1つ目の条件は、車両1を経路点Pから同一の旋回半径Rにより後退旋回させ、続けて車両1を後退直進させることで、車両1を目標とする駐車位置に停車させることが可能かという条件である。
【0074】
図5(b)は、駐車可能条件を説明するための模式図であり、経路点Pv0(xv0,yv0)は、駐車可能条件が成立しているかを判定する車両1の車両位置を示し、経路点PVn(xvn,yvn)は、運転者が目標とする駐車位置と示す。また、経路点Pv0における車両1の車両方位をθと示し、経路点Pvnにおける車両1の車両方位をθと示す。
【0075】
経路点Pv0から経路点Pvnへ向けて引いた直線と、x軸(図5(a)参照)とのなす角度をθとした場合、その角度θは、
θ=tan−1((yv0−yvn)/(xv0−xvn))
により算出できる。よって、経路点Pv0から経路点Pvnまでのx軸(図5(a)参照)に平行な距離をPとし、経路点Pv0から経路点Pvnまでのy軸(図5(a)参照)に平行な距離をPとすると、
=|((xv0−xvn+(yv0−yvn1/2・cos(θ+π/2−θ)|
=|((xv0−xvn+(yv0−yvn1/2・sin(θ+π/2−θ)|
により算出できる。
【0076】
また、車両1の旋回中心Kからy軸に向けて垂直に引いた直線と、車両1の旋回中心Kから車両1の経路点PV0に向けて引いた直線とのなす角度をθvpとした場合、その角度θvpは、
θvp=θv0−θvn
により算出できる。よって、これらの式から、車両1の旋回半径Rを次の式で算出できる。
【0077】
=P/(1−cos(θVp))
尚、この旋回半径Rが車両1の最小旋回半径以上となる場合に、上述した駐車可能条件の1つ目の条件が成立する。つまり、この式が、駐車可能条件における1つ目の条件である。
【0078】
そして、経路点Pv0から車両1の旋回中心Kまでのy軸に平行な距離をPryとした場合、距離Pryは、
ry=R・sin(θvp
により算出できる。ここで、駐車スペースの入り口から経路点Pvnまでのy軸に平行な距離をPLとすると、
−PL>Pry
が成立している場合にのみ、車両1を後退直進させて駐車スペースに進入させることができる。つまり、この式が、駐車可能条件における2つ目の条件である。
【0079】
走行制御装置100は、仮の走行経路RT1の終端に対応する経路点Pにおいて、上述した駐車可能条件における2つの条件が成立していれば、仮の走行経路RT1をパターン走行部RT1とし、そして、後退旋回部RT2と、最終後退部RT3とを決定し、走行経路RT1〜RT3全体を生成する。
【0080】
尚、後退旋回部RT2と、最終後退部RT3との接続位置に対応する経路点Pは、(xv0−P,yv0−Pry)となるので、後退旋回部RT2を示す2つの経路点Pは、経路点PV0と、経路点P(xv0−P,yv0−Pry)とになり、最終後退部RT3を示す2つの経路点Pは、経路点P(xv0−P,yv0−Pry)と、経路点Pvnとになる。
【0081】
パターン走行部RT1が生成され、後退旋回部RT2、および、最終後退部RT3が決定されると、各走行経路RT1〜RT3ごとに走行制御点Qが仮想的に生成される。走行制御点Qが仮想的に生成される場合には、走行制御点Qごとに、車両1の車両状態を設定するための車両設定情報が生成されると共に、その走行制御点Qを識別するためのインデックス番号(以下、「ID番号」と称す)が設定される(図2参照)。
【0082】
このID番号は、走行経路RT1〜RT3上における走行制御点Qのうち、経路点P0(車両1の出発位置)に最も近い位置の走行制御点Qが1番に設定される。その後は、走行経路RT1〜RT3に沿ってID番号が1番ずつ大きくなるように、目標とする駐車位置に重なる走行制御点Qまで順番にID番号が設定される。
【0083】
次に、図6を参照して、走行制御装置100の詳細構成について説明する。図6は、走行制御装置100の電気的構成を示したブロック図である。走行制御装置100は、CPU91、フラッシュメモリ92及びRAM93を備え、それらがバスライン94を介して入出力ポート95に接続されている。また、入出力ポート95には、車輪駆動装置3、操舵駆動装置5、ステアリングセンサ装置21、ジャイロセンサ装置22、車輪回転センサ23、第1から第3までの各距離センサ24a〜24c、自動駐車スイッチ25、第1から第4までの各カメラ26a〜26d、及び、その他の入出力装置99などが接続されている。
【0084】
CPU91は、バスライン94によって接続された各部を制御する演算装置であり、フラッシュメモリ92は、CPU91によって実行される制御プログラムや固定値データ等を記憶するための書き換え不能な不揮発性のメモリである。尚、後述する図9のフローチャートに示す自動駐車処理、図10のフローチャートに示す点経路生成処理、図12のフローチャートに示すパターン走行部制御点生成処理、図14のフローチャートに示す後退旋回部制御点生成処理、図16のフローチャートに示す最終後退部制御点生成処理を実行する各プログラムは、フラッシュメモリ92に格納されている。
【0085】
また、フラッシュメモリ92には、経路パターンメモリ92aと、操舵量累積閾値メモリ92bとが設けられている。経路パターンメモリ92aは、上述した10種類の各経路パターンPT1〜PT10の形状や特性などを示すデータが格納されている。
【0086】
具体的には、経路パターンPT1〜PT10に対応する走行経路の長さ(即ち、走行距離2m)CLや、経路パターンPT1〜PT10に対応する走行経路を車両1が走行している間の旋回半径Rや、経路パターンPT1〜PT10に対応する走行経路を車両1が走行している間の車両1の操舵角α1〜α10や、車両1を前進させるものか後退させるものかや、車両1を直進させるものか旋回させるものかなどを示すデータが、10種類の経路パターンPT1〜PT10毎に格納されている。
【0087】
ここで、図7を参照して、10種類の各経路パターンPT1〜PT10に個別に設定されている車両1の操舵角α1〜α10について説明する。図7は、10種類の各経路パターンに個別に設定されている車両1の操舵角を説明するための模式図である。
【0088】
上述したように、本実施形態では、経路パターンPT1〜PT10毎に、断片的な走行経路が設定されており、それぞれの断片的な走行経路を車両1が走行している間は、車両1が同一の旋回半径Rで走行するように経路が設定されている。車両1の操舵角δは、車両1の旋回半径Rに対して相対的に決まるため、経路パターンPT1〜PT10毎に、車両1を走行させるための操舵角α1〜α10が一意に決まる。そのため、本実施形態では、10の各経路パターンPT1〜PT10に対して、車両1の操舵角α1〜α10を予め設定している。
【0089】
具体的には、図7に示すように、経路パターンPT1には、車両1を前方直進させるための操舵角としてα1が設定されており、経路パターンPT2には、車両1を後退直進させるための操舵角としてα2が設定されている。
【0090】
同様に、経路パターンPT3には、車両1の旋回半径Rを最小旋回半径の2倍とし、車両1を前方左旋回させるための操舵角としてα3が設定され、経路パターンPT4には、車両1の旋回半径Rを最小旋回半径の2倍とし、車両1を前方右旋回させるための操舵角としてα4が設定されている。その他の経路パターンPT4〜PT10についても、操舵角α4〜α10がそれぞれ設定されている。
【0091】
例えば、経路パターンPT1に対応する走行経路を車両1が走行している場合、車両1では操舵角がα1に維持される。また、経路パターンPT4に対応する走行経路を車両1が走行している場合、車両1では操舵角がα4に維持される。
【0092】
また、例えば、これまで経路パターンPT1に対応する走行経路を車両1が走行していたが、これから経路パターンPT4に対応する走行経路を車両1が走行し始める場合、車両1の操舵角はα1からα4に変更され、経路パターンPT4に対応する走行経路を車両1が通過するまで操舵角α4が維持される。
【0093】
ここで、図6の説明に戻る。操舵量累積閾値メモリ92bは、仮の走行経路RT1を生成する場合の生成条件(図10のS42参照)を変更するか否かの判定基準となる操舵量累積閾値Aが格納されるメモリである。この操舵量累積閾値Aは、車両1が蛇行するような仮の走行経路RT1など、走行中の車両1の操舵変化が大きいものが、走行経路RT1として用いられることを抑制するための閾値である。操舵量累積閾値メモリ92bは、仮の走行経路RT1の生成が試みられる場合に、CPU91により参照される。尚、操舵量累積閾値Aは、適宜決めれば良い。
【0094】
車両1が走行している間は、車両1の操舵角が変化する度に、車両1の搭乗者に横Gなどの力が加わるので、車両1の操舵角の変化量が少ないほど、車両1の搭乗者に加わる横Gなどの力を軽減できる可能性が高まり、搭乗者に与える不快感を軽減できる可能性が高まる。一方、車両1の操舵角の変化量が多いほど、車両1の搭乗者に横Gなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高くなる。
【0095】
詳細については後述するが、そこで、本実施形態では、仮の走行経路RT1の生成を試みる場合に、仮の走行経路RT1を車両1が走行したと仮定して、車両1の走行開始から終了までの車両1の操舵量累積値STを算出している。
【0096】
そして、その算出した操舵量累積値ST(後述する操舵量累積値メモリ93dの値)と、操舵量累積閾値メモリ92bの操舵量累積閾値Aとを比較し、操舵量累積値STが操舵量累積閾値A以下であれば、車両1の操舵角の変化量が少ないため、車両1の搭乗者に加わる横Gなどの力を軽減できる可能性が高く、搭乗者に与える不快感を軽減できる可能性が高い。よって、この場合は、今回生成を試みた仮の走行経路RT1を実際の走行経路RT1として用いる。
【0097】
一方、算出した操舵量累積値STが操舵量累積閾値Aを超えていれば、車両1の操舵角の変化量が多く、車両1の搭乗者に横Gなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高い。よって、この場合は、今回生成を試みた仮の走行経路RT1を、実際の走行経路RT1としては用いず、次の仮の走行経路RT1の生成を試みる。
【0098】
RAM93は、書き換え可能な揮発性のメモリであり、CPU91によって実行される制御プログラムの実行時に各種のデータを一時的に記憶するためのメモリである。RAM93には、点経路パターンメモリ93aと、点経路メモリ93bと、走行制御点メモリ93cと、操舵量累積値メモリ93dとが設けられている。
【0099】
点経路パターンメモリ93aは、パターン走行部RT1を示す経路パターン番号「PT1〜PT10」の組み合わせ(以後、経路パターン番号「PT1〜PT10」の順列と称す)が記憶されるメモリである。点経路パターンメモリ93aは、後述する自動駐車処理(図9参照)が実行された場合に、CPU91によりクリアされる。そして、現在の車両位置から目標とする駐車位置までの走行経路RT1〜RT3全体がCPU91により生成される場合に、そのパターン走行部RT1を示す経路パターン番号「PT1〜PT10」の順列が記憶される。
【0100】
この点経路パターンメモリ93aに記憶される経路パターン番号「PT1〜PT10」の順列は、走行経路RT1〜RT3上の各経路点Pにおいて、車両1が前進しているか後退しているかの状態を取得する場合や、切り返しの有無の状態を取得する場合に参照される(図12のS61、図14のS80、図16のS99参照)。また、パターン走行部RT1における経路点Pの位置を算出する場合にも参照される(図4参照)。
【0101】
点経路メモリ93bは、走行経路RT1〜RT3を示す各経路点Pの経路点情報が記憶されるメモリである。上述したように、経路点情報は、経路点Pにおける車両1の車両位置と、経路点Pにおける車両1の車両方位θにより構成されている。また、上述したように、走行経路RT1〜RT3のうち、パターン走行部RT1では、各経路パターンPT1〜PT10に対応する走行経路の始端および終端を、それぞれ経路点Pとしている。また、後退旋回部RT2および最終後退部RT3では、各走行経路RT2,RT3の始端および終端を、経路点Pとしている。
【0102】
CPU91は、走行経路RT1〜RT3全体を生成した場合に、パターン走行部RT1における経路点Pの経路点情報と、後退旋回部RT2における経路点Pの経路点情報と、最終後退部RT3における経路点Pの経路点情報とをそれぞれ点経路メモリ93bに記憶する(図10のS48参照)。この点経路メモリ93bに記憶されている各経路点Pの経路点情報は、走行制御点Qを生成するために参照される。
【0103】
走行制御点メモリ93cは、走行経路RT1〜RT3に対して生成される点である各走行制御点Qの車両設定情報が記憶されるメモリである。上述したように、走行制御点Qは、走行制御装置100が車両1を走行経路RT1〜RT3に沿って自律走行させる場合に、進行方向や操舵角などの車両1の走行状態を制御するための点である。
【0104】
本実施形態では、走行経路RT1〜RT3に対して走行制御点Qが生成される場合、現在位置から目標とする駐車位置まで0.05m間隔で、走行経路RT1〜RT3上に仮想的に走行制御点Qが生成される(図9のS8,S9,S10参照)。尚、経路点P0(車両1の出発位置)を除く各経路点P上には、必ず走行制御点Qが生成される。そして、各走行制御点Qごとに、車両設定情報が生成されると共に、その走行制御点Qを識別するためのID番号が設定され、生成された走行制御点Qの車両設定情報と、設定された走行制御点QのID番号とが関連づけられて、この走行制御点メモリ93cにそれぞれ記憶される。
【0105】
ここで、図8を参照して、走行制御点メモリ93cの内容の一例について説明する。図8は、走行制御点メモリ93cの内容の一例を示す模式図である。図8に示すように、走行制御点メモリ93cには、各走行制御点Qの車両設定情報を示すテーブルが記憶される。このテーブルは、各走行制御点Qに対応する車両設定情報が、その走行制御点Qに対応するID番号に関連づけられている状態を示している。また、このテーブルでは、各車両設定情報がID番号順に並べられている。
【0106】
各走行制御点Qの車両設定情報は、走行制御点Qにおける車両1の車両位置と、走行制御点Qにおける車両1の車両方位θと、走行制御点Qにおける車両1の操舵角δと、走行制御点Qにおける進行方向フラグと、走行制御点Qにおける切り返し判定フラグとにより構成される。そして、これらの各走行制御点Qの車両設定情報には、それぞれID番号が関連づけられている。尚、テーブルにおけるID番号の最大値は、最大インデックス番号IDmaxとして、RAM93の所定領域に記憶されている。
【0107】
車両位置と、車両方位θと、操舵角δと、ID番号とについては上述したので、その説明を省略する。進行方向フラグは、走行制御点Qにおいて車両1が前進するか、後退するかを示すフラグであり、走行制御点Qにおいて車両1が前進する場合には「1」に設定される一方、車両1が後退する場合には「−1」に設定される。切り返し判定フラグは、走行制御点Qにおいて車両1が前進または後退を切り替えるかを示すフラグであり、走行制御点Qにおいて車両1が前進または後退を維持し走行する場合には「0」に設定される一方、車両1が前進を後退に切り替える場合や、車両1が後退を前進に切り替える場合には「1」に設定される。
【0108】
CPU91は、走行経路RT1〜RT3を車両1が自律走行している場合、所定間隔(例えば、50ms)ごとに、現在の車両1の車両位置に最も近い走行制御点Qに基づいて車両1の走行状態を設定し、車両1が次に通過すべき走行制御点Qへ向かうように車両1を自律走行させる。
【0109】
ここで、図6の説明に戻る。操舵量累積値メモリ93dは、仮の走行経路RT1の生成を試みる場合に、その仮の走行経路RT1を車両1に走行させたと仮定して算出する操舵量累積値ST(即ち、操舵角の変化量の累積値)を記憶するためのメモリである。操舵量累積値メモリ93dの値は、仮の走行経路RT1の生成が試みられる度に、その仮の走行経路RT1に応じて更新される。
【0110】
上述したように、仮の走行経路RT1は、経路パターンPT1〜PT10が順番に組み合わされて構成される。本実施形態では、仮の走行経路RT1を示す経路パターンPT1〜PT10の組み合わせが取得されると、その組み合わせのうち、隣接する2つの経路パターン毎に、車両1の操舵角の変化量を算出し、各変化量の絶対値を累積したものを、操舵量累積値STとして算出している。
【0111】
例えば、経路パターンPT1→経路パターンPT4→経路パターンPT4→経路パターンPT3という経路パターンPT1〜PT10の組み合わせが取得されたとする。即ち、4つの走行区間で構成される仮の走行経路RT1の生成が、これから試みられるとする。
【0112】
この仮の走行経路RT1を車両1が走行したと仮定すると、まず、出発地点において車両1の操舵角がα1に設定される。その後、設定された操舵角α1が維持され、車両1は、1番目の走行区間(経路パターンPT1に対応する走行経路)を走行する。そして、車両1が、2番目の走行区間(経路パターンPT4に対応する走行経路)に差し掛かると、車両1の操舵角がα1からα4に変更される。よって、ここでは「α4−α1」という操舵量が生じる。
【0113】
その後、車両1の操舵角がα4に維持されて、車両1は、2番目の走行区間を走行する。次に、車両1は、3番目の走行区間(経路パターンPT4に対応する走行経路)に差し掛かるが、2番目の走行区間と、3番目の走行区間とは同一の経路パターンPT4なので、車両1の操舵角は、α4のまま変わらない。よって、ここでは、操舵量が生じない。
【0114】
そして、車両1が、4番目の走行区間(経路パターンPT3に対応する走行経路)に差し掛かると、車両1の操舵角がα4からα3に変更される。よって、ここでは、「α3−α4」という操舵量が生じる。その後、車両1の操舵角がα3に維持されて、車両1は、4番目の走行区間を走行し、仮の走行経路RT1全体の走行を終える。
【0115】
その結果、仮の走行経路RT1を車両1が走行したと仮定した場合、車両1の走行開始から終了までに、車両1において「|α4−α1|+|α3−α4|」という操舵量(操舵角の変化量)の累積が生じる。操舵量累積値メモリ93dには、この累積値が、操舵量累積値STとして記憶される。この操舵量累積値メモリ93dは、仮の走行経路RT1の生成条件を変更するか否かを判定するために、CPU91により参照される。
【0116】
次に、図9〜図17までのフローチャートと、模式図とを参照して、車両1に搭載された走行制御装置100のCPU91により実行される自動駐車処理について説明する。図9は、走行制御装置100により実行される自動駐車処理を示すフローチャートである。自動駐車処理は、現在位置から運転者により設定される駐車位置まで車両1を自律走行させて、その駐車位置に車両1を停車させるものであり、運転者により自動駐車スイッチ25が押下された場合に実行される。
【0117】
自動駐車処理では、まず、RAM93の点経路パターンメモリ93aをクリアする(S1)。次に、運転者により設定される駐車位置を取得し、その駐車位置に車両1が駐車した場合の、左右の後輪2RL,2RRの車軸上をx軸とし、車両1中央の前後軸上をy軸とし、x軸およびy軸の交点を原点Oに決定する(S2)。例えば、4つのカメラ26a〜26dで撮像した画像を繋ぎ合わせて、車両1の周囲画像を作成する。そして、その作成した画像を、車両1の車内に設けられているタッチパネル(図示せず)上に表示して、運転者に駐車位置を入力するように報知する。その後、表示画面が運転者により触れられたら、その触れられた画面位置に対応する駐車位置を算出して、原点Oとする。
【0118】
次に、現在地点を出発地点として(S3)、点経路生成処理を実行する(S4)。ここで、図10を参照して、車両1に搭載された走行制御装置100のCPU91により実行される点経路生成処理について説明する。図10は、走行制御装置100により実行される点経路生成処理を示すフローチャートである。
【0119】
点経路生成処理は、経路パターン番号「PT1〜PT10」を1つ、又は、複数組み合わせて、経路パターン番号「PT1〜PT10」の順列を生成し、その順列に対応する仮の走行経路RT1を生成するための処理である。また、生成した仮の走行経路RT1の終端において駐車可能条件が成立している場合に、出発地点から運転者により設定された駐車位置までの走行経路RT1〜RT3全体を生成する。
【0120】
更に、仮の走行経路RT1の生成を試みている場合に、車両1の搭乗者に不快感を与える仮の走行経路RT1が生成されるおそれがあれば、仮の生成経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直す。
【0121】
点経路生成処理では、変数aに0を設定し、変数mに6を設定して、変数a,mの初期設定を行う(S31)。尚、変数aは、仮の走行経路RT1を構成する経路パターンPT1〜PT10の合計数を設定するものであり、変数mは、仮の走行経路RT1を構成する経路パターンPT1〜PT10数の最大値を設定するものである。
【0122】
次に、10の経路パターン番号「PT1〜PT10」のうち、重複を許すa個の経路パターン番号で構成される重複順列の中から、順列を一つ取得する(S32)。尚、ここでは、経路パターン番号の小さいものから順に、重複順列を一つずつ取得する。例えば、a=0の場合には何も取得されず、a=1の場合の1番目には「PT1」が取得され、2番目には「PT2」が取得され、以下同様に重複順列が取得される。また、a=2の場合の1番目には「PT1,PT1」が取得され、2番目には「PT1,PT2」が取得され、3番目には「PT1,PT3」が取得され、以下同様に重複順列が取得され、a=6の場合の最後には「PT10,PT10,PT10,PT10,PT10,PT10」が取得される。
【0123】
次に、S32の処理で取得した重複順列に対応する仮の走行経路RT1を車両1が走行したと仮定して、車両1の走行開始から終了までの車両1の操舵量累積値ST(即ち、操舵角の変化量の累積値)を算出する(S33)。そして、算出した操舵量累積値STを、RAM93の操舵量累積値メモリ93dに記憶して(S34)、その操舵量累積値STが、フラッシュメモリ92の操舵量累積閾値メモリ92bに格納されている操舵量累積閾値Aを超えているかを判定する(S35)。
【0124】
S35の判定が否定される場合は(S35:No)、操舵量累積値STが操舵量累積閾値A以下なので、S32の処理で取得した重複順列に対応する仮の走行経路RT1を実際に生成したとしても、走行中の操舵角の変化が少なく、車両1の搭乗者に与える不快感を軽減できる仮の走行経路RT1を生成できる。よって、この場合は、S32の処理で取得した重複順列に対応する仮の走行経路RT1の生成を試みる。
【0125】
具体的には、S32の処理で取得した重複順列に対応する仮の走行経路RT1を生成し、その到着地点を取得する(S36)。尚、上述したように、本実施形態では、仮の走行経路RT1を生成する場合、その仮の走行経路RT1を示す経路点Pが生成される。次に、仮の走行経路RT1を示す各経路点Pのうち、到着地点を示す経路点Pにおいて、駐車可能条件が成立しているかを判定する(S37)。
【0126】
尚、本実施形態では、S31の処理において、a=1と初期設定せずに、a=0と初期設定を行っている。これは、S37の処理により、出発地点において駐車可能条件が成立しているかを判定するためである。もし、a=1と初期設定すると、必ず走行経路RT1が生成されることになり、出発地点において駐車可能条件が成立する場合には、無駄な走行経路RT1を生成してしまう。よって、a=0と初期設定することにより、無駄な走行経路RT1の生成を抑制できる。
【0127】
S37の判定が否定される場合には(S37:No)、a個の経路パターン番号で構成される重複順列を全て取得したかを判定する(S38)。S38の判定が否定される場合には(S38:No)、S32の処理に戻る。S38の判定が肯定される場合には(S38:Yes)、変数aの値が、変数mの値未満であるかを判定する(S39)。S39の判定が肯定される場合には(S39:Yes)、変数aに1を加算して(S40)、S32の処理に戻る。
【0128】
一方、S35の判定が肯定される場合は(S35:Yes)、操舵量累積値STが操舵量累積閾値Aを超えているので、S32の処理で取得した重複順列に対応する仮の走行経路RT1を実際に生成した場合、走行中の操舵角の変化が多く、車両1の搭乗者に不快感を与える可能性が高い仮の走行経路RT1が生成される。
【0129】
そこで、この場合は、仮の走行経路RT1の生成を行わず、走行中の操舵角の変化を軽減できる仮の走行経路RT1が生成されるように、仮の走行経路RT1の生成条件を変更し、仮の走行経路RT1の生成を最初からやり直す。即ち、S35の判定が肯定される場合は(S35:Yes)、まず、仮の走行経路RT1の生成条件を変更する(S42)。具体的には、経路パターンPT1〜PT10に対応する走行経路の長さCLを、2mから1mに変更する。
【0130】
次に、変数aに1を設定し、変数mに12を設定して、変数a,mの設定を行い(S43)、10の経路パターン「PT1〜PT10」の重複順列の取得を始めからやり直すように設定して(S44)、S32の処理に戻る。これにより、今後、仮の走行経路RT1を生成する場合に、より詳細に経路を構成できる。
【0131】
よって、例えば、車両1の出発位置および目標とする駐車位置Oの位置関係と、経路パターンPT1〜PT10に対応する走行経路の長さCLとの折り合いが悪く、車両1が回りくどく走行するような仮の走行経路RT1が生成され、それが走行経路RT1〜RT3(図11(a)参照)として用いられるような場合に、経路パターンPT1〜PT10に対応する走行経路の長さCLを短くすることで、その折り合いがつく可能性を向上させることができる。
【0132】
その結果、車両1がスムーズに走行できる仮の走行経路RT1が生成され、それが走行経路RT1〜RT3(図11(c)参照)として用いられる可能性を向上させることができるので、車両1の搭乗者に与える不快感を軽減できる走行経路RT1〜RT3を生成する可能性を向上させることができる。
【0133】
ここで、図11を参照して、仮の走行経路RT1の生成条件を変更しない場合に生成される走行経路RT1〜RT3の一例と、仮の走行経路RT1の生成条件を変更した場合に生成される走行経路RT1〜RT3の一例とについて説明する。
【0134】
図11(a)は、仮の走行経路RT1の生成条件を変更しない場合に生成される走行経路RT1〜RT3の一例を説明するための模式図であり、図11(b)は、図11(a)に示す走行経路RT1〜RT3を車両1に走行させた場合の操舵量累積値STを示すグラフである。まず、図11(a),(b)を参照して、仮の走行経路RT1の生成条件を変更しない場合に生成される走行経路RT1〜RT3の一例について説明する。
【0135】
図11(a)では、経路点P10が出発地点であり、経路点P15が目標とする駐車位置Oであって、車両1が出発地点を出発した後、経路点P11〜経路点P14を経由して、目標とする駐車位置Oへ至る走行経路RT1〜RT3を示している。尚、経路点P10から経路点P11までの区間と、経路点P12から経路点P13までの区間とは車両1が前進する一方、経路点P11から経路点P12までの区間と、経路点P13から経路点P15までの区間とは、車両1が後退する。また、図11(b)では、車両1の操舵量累積値STを縦軸に示し、走行経路RT1〜RT3における車両1の走行位置を横軸に示している。
【0136】
上述したように、本実施形態では、仮の走行経路RT1が、10種類の経路パターンPT1〜PT10の1つ、又は、複数の組み合わせにより生成される。この10種類の経路パターンPT1〜PT10については、経路パターンPT1〜PT10毎に、断片的な走行経路と(図3参照)、その断片的な走行経路を車両1が走行する場合の車両1の操舵角α1〜α10とが設定されている(図7参照)。そして、それぞれの断片的な走行経路を車両1が走行している間は、車両1においてその操舵角α1〜α10が維持されるように制御される。
【0137】
よって、図11(a)に示す走行経路RT1〜RT3を車両1が走行する場合、車両1の操舵角δは、まず出発地点(経路点P10)において変更され、その後は、車両1が各経路点P11〜P14を通過する度に変更される。
【0138】
従って、図11(a)に示す走行経路RT1〜RT3を車両1に走行させた場合の操舵量累積値STは、図11(b)に示すように、まず、出発地点(経路点P10)において発生し、その後は、車両1が各経路点P11〜P14を通過する度に増加していく。尚、車両1において操舵角δを変更する場合、車両1の構造上、変更開始から完了までに一定の制御時間を要する。そのため、操舵量累積値STは、瞬間的に上昇するのではなく、図11(b)に示すように、一定の制御時間をかけて上昇する。
【0139】
図11(a)に示す走行経路RT1〜RT3では、車両1が出発地点から目標地点まで走行できるものの、走行中の車両1の切り返しが多く、車両1の操舵角の変更回数や、変更量が多い。そのため、操舵量累積値STも大きく、この走行経路RT1〜RT3に従って車両1を走行させると、車両1の走行中に、車両1の搭乗者に横Gなどの力が何度も加わってしまう。その結果、車両1の搭乗者に不快感を与えてしまう。
【0140】
そこで、本実施形態では、走行経路RT1〜RT3を生成する前の段階で、即ち、仮の走行経路RT1を生成する段階で、生成予定の仮の走行経路RT1について、操舵量累積値STを算出し、評価している。
【0141】
具体的には、仮の走行経路RT1の生成を試みる度に、今回生成する予定の仮の走行経路RT1について、操舵量累積値STを算出する。そして、その算出した操舵量累積値STが、操舵量累積閾値Aを超えていれば、今回生成する予定の仮の走行経路RT1を、実際の走行経路RT1として利用できても、車両1が走行経路RT1を走行している間に、車両1の搭乗者に横Gなどの力が何度も加わってしまうおそれがある。
【0142】
よって、操舵量累積値STが操舵累積閾値Aを超えていれば、今回生成する予定の仮の走行経路RT1が、実際の走行経路RT1として利用できるかできないかに関係なく、そもそも生成も行わず、新たな仮の走行経路RT1の生成を開始する。更に、この場合には、操舵角累積値STの小さい仮の走行経路RT1が生成され易くなるように、仮の走行経路RT1の生成条件も変更する。
【0143】
具体的には、上述したように、経路パターンPT1〜PT10に対応する走行経路の長さCLを、2mから1mに変更する。これにより、今後、仮の走行経路RT1を生成する場合に、より詳細に経路を構成できる。
【0144】
次に、図11(c),(d)を参照して、仮の走行経路RT1の生成条件を変更した場合に生成される走行経路RT1〜RT3の一例について説明する。図11(c)は、仮の走行経路RT1の生成条件を変更した場合に生成される走行経路RT1〜RT3の一例を説明するための模式図であり、図11(d)は、図11(c)に示す走行経路RT1〜RT3を車両1に走行させた場合の操舵量累積値STを示すグラフである。
【0145】
図11(c)では、経路点P20が出発地点であり、経路点P23が目標とする駐車位置Oであって、車両1が出発地点を出発した後、経路点P21および経路点P22を経由して、目標とする駐車位置Oへ至る走行経路RT1〜RT3を示している。尚、経路点P20から経路点P22までの区間は車両1が前進する一方、経路点P22から経路点P23までの区間は車両1が後退する。また、図11(d)では、図11(b)と同様に、車両1の操舵量累積値STを縦軸に示し、走行経路RT1〜RT3における車両1の走行位置を横軸に示している。
【0146】
図11(c)に示す走行経路RT1〜RT3を車両1が走行する場合も、図11(a)の場合と同様に、車両1の操舵角δは、まず出発地点(経路点P20)において変更され、その後は、車両1が各経路点P21,P22を通過する度に変更される。
【0147】
よって、図11(c)に示す走行経路RT1〜RT3を車両1に走行させた場合の操舵量累積値STは、図11(d)に示すように、まず、出発地点(経路点P20)において発生し、その後は、車両1が各経路点P21,P22を通過する度に増加していく。
【0148】
図11(c)に示す走行経路RT1〜RT3では、車両1が出発地点から目標地点まで走行でき、更に、走行中の車両の切り返しは1回のみであり、車両1の操舵角の変更回数や、変更量が少ない。そのため、操舵量累積値STが小さく、操舵量累積閾値Aを下回る。よって、この走行経路RT1〜RT3に従って車両1を走行させた場合、図11(a)に示す走行経路RT1〜RT3と比較して、車両1の走行中に、車両1の搭乗者に横Gなどの力が加わることが軽減される。その結果、車両1の搭乗者に与える不快感を軽減できる。
【0149】
ここで、図10の説明に戻る。S39の判定が否定される場合は(S39:No)、予め規定していた重複順列を全て取得したが、走行経路RT1〜RT3が見つからなかった場合なので、RAM93の点経路メモリ93bをクリアして(S41)、点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0150】
一方、S37の判定が肯定される場合には(S37:Yes)、S32の処理で取得した経路パターン番号「PT1〜PT10」の重複順列を、RAM93の点経路パターンメモリ93aに記憶する(S45)。尚、本実施形態では、S37の処理において駐車可能条件が成立していると判定されると、駐車可能条件の成立している仮の走行経路RT1が、パターン走行部RT1に決定される。
【0151】
次に、図5(b)で説明したように、後退旋回部RT2の経路点Pを決定し(S46)、最終後退部RT3の経路点Pを決定する(S47)。そして、一連の走行経路RT1〜RT3に対応する各経路点Pの経路点情報(車両位置および車両方位θ)を点経路メモリ93bに記憶して(S48)、この点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0152】
以上の図10に示す点経路生成処理によって、仮の走行経路RT1の生成を試みる場合に、生成予定の仮の走行経路RT1について操舵量累積値STを算出し、その算出した操舵量累積値STが操舵量累積積閾値Aを超えていれば、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直すことができる。
【0153】
一方、その算出した操舵量累積値STが操舵量累積積閾値A以下であれば、その操舵量累積値STに対応する仮の走行経路RTを、パターン走行部RTとして用いることができる。上述したように、車両1が走行している間は、車両1の操舵角が変化する度に、車両1の搭乗者に横Gなどの力が加わるので、車両1の操舵角の変化量が少ないほど、車両1の搭乗者に加わる横Gなどの力を軽減できる可能性が高まり、搭乗者に与える不快感を軽減できる可能性が高まる。一方、車両1の操舵角の変化量が多いほど、車両1の搭乗者に横Gなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高くなる。
【0154】
本実施形態では、車両1の操舵量累積値STが少なく、車両1の搭乗者に加わる横Gなどの力を軽減できる仮の走行経路RT1を、パターン走行部RT1として用いることができるので、車両1の搭乗者に与える不快感を軽減できる走行経路RT1を生成できる。
【0155】
また、本実施形態では、走行距離の短い(経路パターンの組み合わせ数の少ないものから)順番に、仮の走行経路RT1が生成される。即ち、走行距離が徐々に長くなっていくため、一旦、操舵量累積値STが操舵量累積閾値Aを超えた場合、その後は、操舵量累積値STがより増える可能性の方が高く、また、その仮の走行経路RT1と同様なものが生成されるおそれも高い。
【0156】
そこで、操舵量累積値STが操舵量累積閾値Aを超えた場合、それ以降は、その仮の走行経路RT1と同様なものが生成されないように、現在の生成条件と同一条件での仮の走行経路RT1の生成を中断し、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直している。よって、今回生成された仮の走行経路RT1と同様なものが生成されるおそれを抑制できるので、無駄な仮の走行経路RT1が生成される可能性を抑制できる。
【0157】
また、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直すことで、変更前の生成条件では、操舵量累積値STが操舵量累積閾値Aを超える仮の走行経路RT1が生成されたとしても、変更後の生成条件では、操舵量累積値STの小さい仮の走行経路RT1が生成される可能性を向上させることができる。よって、車両1の搭乗者に与える不快感を軽減できる走行経路RT1を生成できる可能性を向上させることができる。
【0158】
また、仮の走行経路RT1の生成を試みる場合に、直ぐに仮の走行経路RT1を生成開始するのではなく、生成前にまず、その仮の走行経路RT1に対応する操舵量累積値STを算出し、その操舵量累積値STが操舵量累積閾値A以下であれば、実際に仮の走行経路RT1を生成している。よって、操舵量累積値STが操舵量累積閾値A超えている仮の走行経路RT1、即ち、車両1の搭乗者に不快感を与えるおそれの高い仮の走行経路RT1については、その生成を抑制できる。
【0159】
従って、生成しても意味のない仮の走行経路RT1については、その生成を抑制できるので、走行経路RT1が生成されるまでの時間を短縮できる。また、走行制御装置100に掛かる負担を軽減できる。
【0160】
また、仮の走行経路RT1の生成を試みる場合に、1つずつ仮の走行経路RT1の生成を試みて、その仮の走行経路RT1について操舵量累積値STを算出し、その操舵量累積値STが操舵量累積閾値Aを超えていれば、そこで、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直している。
【0161】
よって、操舵量累積値STが操舵量累積閾値Aを超える仮の走行経路RT1が1つでも見つかれば、そこで、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直すことができる。従って、仮の走行経路RT1の生成条件をより早く変更して、新たな生成条件の下で、仮の走行経路RT1の生成を開始できるので、車両1の搭乗者に与える不快感を軽減できる走行経路RT1を生成するまでの時間を、短縮できる。
【0162】
また、仮の走行経路RT1の生成条件を変更する場合に、生成に用いる経路パターンPT1〜PT10の種類を入れ替えるのではなく、経路パターンPT1〜PT10に対応する走行経路の長さCLを変更している。よって、経路パターンPT1〜PT10のパターンの種類を、予め多数設けて記憶しておかなくても、仮想的に、経路パターンPT1〜PT10のパターンの種類を増やすことができる。従って、経路パターンPT1〜PT10のパターンの種類を抑制しつつ、車両1の搭乗者に与える不快感を抑制できる走行経路を生成できる。
【0163】
尚、本実施形態では、仮の走行経路RT1の生成を試みる場合に、1つずつ仮の走行経路RT1の生成を試みて、その仮の走行経路RT1について操舵量累積値STを算出し、その操舵量累積値STが操舵量累積閾値Aを超えていれば、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直している。これに対して、仮の走行経路RT1の生成を試みる場合に、複数の仮の走行経路RT1の生成を試みてから、操舵量累積値STの算出と、算出した操舵量累積値STが操舵量累積閾値Aを超えているか否かの判定とを、纏めて行っても良い。
【0164】
ここで、図9の説明に戻る。点経路生成処理(S4)が終了したら、次に、S4の処理によって走行経路RT1〜RT3が生成されたかを判定する(S5)。例えば、点経路メモリ93bに経路点情報が記憶されている場合は、走行経路RT1〜RT3が生成されたと判定し、経路点情報が記憶されていない場合は、走行経路RT1〜RT3が生成されなかったと判定する。S5の判定が否定される場合は(S5:No)、運転者により設定された駐車位置までの走行経路が見つからなかった場合なので、運転者により設定された駐車位置までの走行経路RT1〜RT3が無いことを運転者に報知して(S12)、自動駐車処理を終了する。
【0165】
一方、S5の判定が肯定される場合には(S5:Yes)、変数である最大インデックス番号IDmaxに1を設定して、変数である最大インデックス番号IDmaxの初期設定を行う(S6)。そして、後述するS7〜S10の処理を実行して、S4の処理で生成した走行経路RT1〜RT3に対する走行制御点Qを生成する。
【0166】
具体的には、まず、上述した点経路生成処理(図10参照)において設定された変数aの値が0より大きいかを判定し(S7)、S7の判定が肯定される場合は(S7:Yes)、パターン走行部制御点生成処理を実行して(S8)、パターン走行部RT1に対する走行制御点Qを生成する。そして、S9処理へ移行する。
【0167】
一方、S7の判定が否定される場合は(S7:No)、出発地点において駐車可能条件が成立した場合である。この場合は、パターン走行部RT1が存在しないので、S8の処理をスキップして、S9の処理へ移行する。S9の処理では、後退旋回部制御点生成処理を実行して(S9)、後退旋回部RT2に対する走行制御点Qを生成する。その後、最終後退部制御点生成処理を実行して(S10)、最終後退部RT3に対する走行制御点Qを生成する。
【0168】
このように、本実施形態では、上述した点経路生成処理(S4)が実行され、走行経路RT1〜RT3が生成された場合(S5:Yesの場合)に限り、S6〜S10の各処理が実行されて、走行経路RT1〜RT3に対する走行制御点Qが生成される。
【0169】
よって、目標とする駐車位置に車両1が到達できない仮の走行経路RT1だけが生成された場合には、走行制御点Qを生成する処理は実行されない。従って、目標とする駐車位置まで車両1を自律走行させるために関係のない無駄な処理が実行されることを抑制できる。
【0170】
また、図2を参照して上述したように、本実施形態では、走行経路RT1〜RT3上のうち、各経路点Pに対応する位置だけでなく、各経路点P間にも仮想的に走行制御点Qを生成している。理想的には、各経路点P間に対応する位置にだけ仮想的に走行制御点Qを生成し、その走行制御点Qに基づいて車両1を自律走行させれば、車両1が走行経路RT1〜RT3上を走行できるが、実際には、路面の状況や、車両1の搭乗者数や荷重などの様々な外乱により、車両1が横滑りなどを起こし、走行経路RT1〜RT3上から車両位置がズレてしまう場合がある。
【0171】
そこで、本実施形態では、各経路点Pに対応する位置に加え、各経路点P間にも仮想的に走行制御点Qを生成し、各走行制御点Qごとに、進行方向などの車両1の走行状態を補正できるようにしている。よって、走行制御装置100が、車両1を自律走行させて走行経路RT1〜RT3上を走行させる場合に、走行経路RT1〜RT3上を車両1がスムーズに走行できるように、車両1の走行状態を制御できる。
【0172】
ここで、図12〜図17を参照して、パターン走行部制御点生成処理(S8)、後退旋回部制御点生成処理(S9)、最終後退部制御点生成処理(S10)について説明する。まず、図12を参照して、パターン走行部制御点生成処理(S8)について説明する。図12は、走行制御装置100により実行されるパターン走行部制御点生成処理を示すフローチャートである。
【0173】
パターン走行部制御点生成処理は、S4の処理で生成された走行経路RT1〜RT3のうち、パターン走行部RT1に対する走行制御点Qを生成するための処理であり、隣接する経路点P間ごとに0.05m間隔で走行制御点Qを生成する。上述した点経路生成処理(図10参照)において仮の走行経路RT1の生成条件が変更されていない場合は、隣接する経路点P間の走行距離CLが全て2mとなるので、隣接する経路点P間には常に41個の走行制御点Qが必要となるが、このパターン走行部制御点生成処理では、出発地点に近い側の経路点Pに重なる走行制御点は生成せずに、それ以外の40個の走行制御点Qを生成する。
【0174】
一方、上述した点経路生成処理において仮の走行経路RT1の生成条件が変更された場合は、隣接する経路点P間の走行距離CLが全て1mとなるので、隣接する経路点P間には常に21個の走行制御点Qが必要となるが、このパターン走行部制御点生成処理では、出発地点に近い側の経路点Pに重なる走行制御点は生成せずに、それ以外の20個の走行制御点Qを生成する。
【0175】
即ち、隣接する2つの経路点のうち、出発地点に近い側の経路点Pを第1経路点Pとし、運転者により設定された駐車位置に近い側の経路点Pを第2経路点Pとした場合、第1経路点P上には走行制御点Qを生成せず、第1経路点Pから0.05mだけ第2経路点Pに近づいた位置に1番目の走行制御点Qを生成する。そして、順番に走行制御点Qを生成し、最後の走行制御点Qが第2経路点Pに重なるようにしている。
【0176】
パターン走行部制御点生成処理では、まず、上述した点経路生成処理において仮の走行経路RT1の生成条件が変更されたか、即ち、経路パターンPT1〜PT10に対応する走行経路の長さが2mから1mに変更されたかを判定する(S51)。S51の判定が肯定される場合は(S51:Yes)、変数jに0を設定し、変数nに20を設定して、変数j,nの初期設定を行い(S51)、S54の処理へ移行する。一方、S51の判定が否定される場合は(S51:No)、変数jに0を設定し、変数nに40を設定して、変数j,nの初期設定を行い(S53)、S54の処理へ移行する。
【0177】
そして、S54の処理では、出発地点からj番目の経路点Pを第1経路点Pとし、(j+1)番目の経路点Pを第2経路点Pとする(S54)。例えば、図2に示す走行経路RT1では、経路点PがP0〜P6まで7個設けられている。ここで、変数jが0の場合には、経路点P0を第1経路点Pとし、経路点P1を第2経路点Pとする。
【0178】
次に、第1経路点Pの経路点情報である車両位置および車両方位を、RAM93の点経路メモリ93bから取得し(S55)、同様に、第2経路点Pの経路点情報である車両位置および車両方位を、点経路メモリ93bから取得する(S56)。
【0179】
そして、車両1が第1経路点Pから第2経路点Pへ向かうための車両1の操舵角δと、車両1の旋回中心Kと、車両1の旋回半径Rとをそれぞれ算出する(S57)。S57の処理では、点経路パターンメモリ93a記憶されている経路パターン番号の重複順列に基づいて、操舵角δと、旋回中心Kと、旋回半径Rとをそれぞれ算出する。パターン走行部RT1は、経路パターンPT1〜PT10に対応する走行経路を繋ぎ合わせたものなので、走行距離CLと、旋回半径Rとがそもそも決まっており、その結果、操舵角δと、旋回中心Kと、旋回半径Rとがそれぞれ一意に定まる。尚、車両1の旋回半径をRとし、車両1における前輪2FL,2FRの車軸と、車両1における後輪2RL,2RRの車軸との軸間距離をホイールベースWLとした場合、車両1の操舵角δは、
δ=tan−1(WL/R)
により算出される。また、車両1が第1経路点Pから第2経路点Pへ移動した場合の車両方位の変化量Δθを算出する(S58)。尚、車両方位の変化量Δθを算出する式については後述する。
【0180】
そして、変数iを1に設定して、変数iの初期設定を行う(S59)。次に、第1経路点Pから第2経路点Pまでの経路上に設ける各走行制御点Qのうち、第1経路点Pからi番目の走行制御点Qの位置(車両位置)と、その車両方位とを算出する(S60)。尚、1番目の走行制御点Qは、第1経路点Pから0.05mだけ第2経路点Pに近づく走行制御点Qとなり、40番目の走行制御点Qは、第2経路点Pに重なるようにしている。
【0181】
ここで、図13を参照して、パターン走行部RT1に対して生成される走行制御点Qの位置と、その車両方位とについて説明する。図13は、走行経路RT1〜RT3のうち、パターン走行部RT1に対して生成される走行制御点Qの一例を説明するための模式図であり、隣接している2つの経路点P間を図示したものである。ここでは、第1経路点をPv0(xv0,yv0)と示し、第2経路点をPvn(xvn,yvn)と示している。
【0182】
パターン走行部RT1は、経路パターンPT1〜PT10に対応する走行経路に基づいて生成されるものなので、走行距離CLと、旋回半径Rとがそもそも決まっている。よって、車両1が第1経路点Pv0から第2経路Pvnへ移動する場合の、旋回半径Rと、旋回中心K(x,y)とが予め定まる。また、第1経路点Pv0から第2経路Pvnまでの車両1の走行距離CLは全て2mまたは1mとなる。従って、第1経路点Pv0における車両方位θv0と、第2経路点Pvnにおける車両方位θvnとの変化量をΔθとした場合、その変化量Δθは、
Δθ=CL/R
により算出される。図12のS58の処理では、この式により車両方位の変化量Δθを算出する。そして、第1経路点Pからi番目の走行制御点をQ(xvi,yvi)とし、その車両方位をθとすると、
θ=i・Δθ/40
vi=x+R・cos(θv0−π/2+θ
vi=y+R・sin(θv0−π/2+θ
により算出される。ここで、第1経路点Pから1番目の走行制御点Qは、第1経路点Pから0.05mだけ第2経路点Pに近づく走行制御点Qとなり、40番目の走行制御点Qは、第2経路点Pに重なるようにしている。
【0183】
以上の図13を参照して説明した数式を用いることにより、パターン走行部RT1の各経路点P間において、20個または40個の走行制御点Qの位置と、その位置における車両1の車両方位θとを算出できるので、パターン走行部RT1に対応する各走行制御点Qを全て生成できる。
【0184】
本実施形態では、経路パターンPT1〜PT10の組み合わせに基づいて、2mや1m間隔で大まかに経路点Pを設けた走行経路RT1を生成しても、その後、走行経路RT1の各経路点P間に、0.05m間隔で仮想的に走行制御点Qを生成できる。また、詳細については後述するが、走行経路RT2,RT3についても、走行経路RT2,RT3の各経路点P間に、0.05m間隔で仮想的に走行制御点Qを生成できる。
【0185】
従って、経路パターンPT1〜PT10に対応する各走行経路の長さCLを短く(例えば、0.05mなど)しておき、詳細に走行経路RT1を生成したり、経路パターンPT1〜PT10のパターンの種類を多数設けて記憶しておく必要が無いので、処理コストを抑制できる。故に、走行制御装置100によれば、少ない処理コストで初期位置から目標とする駐車位置までの車両の走行経路RT1〜RT3を運転者に提供できる。
【0186】
ここで、図12の説明に戻る。そして、第1経路点Pからi番目の走行制御点Qにおける操舵角δと、進行方向(前進または後退)と、切り返しの有無とを取得する(S61)。S61の処理において、操舵角δは、何番目の走行制御点Qかに関係なく、全て第1経路点Pと同一の操舵角δが取得される。また、進行方向は、何番目の走行制御点Qかに関係なく、全て同じ方向(前進または後退)を示す値が取得される。
【0187】
尚、進行方向は、第1経路点Pから第2経路点Pに向かう経路パターンPT1〜RT10に基づいて一意に決まり、点経路パターンメモリ93aの内容に基づいて取得される。より具体的には、第1経路点Pから第2経路点Pに向かう経路パターンPT1〜PT10が、車両1を前進させる経路パターンPT1,PT3,PT4,PT7,PT8であれば、進行方向として前進を示す値が取得される。一方、車両1を後退させる経路パターンPT2,PT5,PT6,PT9,PT10であれば、進行方向として後退を示す値が取得される。
【0188】
また、切り返しの有無は、第2経路点Pに重なる走行制御点Qを除き、切り返しなしを示す値が取得される。そして、第2経路点Pと重なる走行制御点Qについては、切り返しの有無が、点経路パターンメモリ93aの内容に基づいて取得される。より具体的には、第1経路点Pから第2経路点Pへ向かう経路パターンPT1〜PT10と、第2経路点Pからその次の経路点Pに向かう経路パターンPT1〜PT10とが共に、車両1を前進させる経路パターンPT1,PT3,PT4,PT7,PT8、又は、車両1を後退させる経路パターンPT2,PT5,PT6,PT9,PT10であれば、第2経路点Pに重なる走行制御点Qの切り返しの有無として、切り返しなしを示す値が取得される。
【0189】
一方、第1経路点Pから第2経路点Pへ向かう経路パターンPT1〜PT10と、第2経路点Pからその次の経路点Pに向かう経路パターンPT1〜PT10との一方が、車両1を前進させる経路パターンPT1,PT3,PT4,PT7,PT8であり、他方が車両1を後退させる経路パターンPT2,PT5,PT6,PT9,PT10であれば、第2経路点Pに重なる走行制御点Qの切り返しの有無として、切り返しありを示す値が取得される。
【0190】
S61の処理が終了したら、i番目の走行制御点Qに対応する車両設定情報(車両位置、車両方位、操舵角δ、進行方向フラグ、切り返しフラグ)に、現在の最大インデックス番号IDmaxを関連づけて、RAM93の走行制御点メモリ93cに記憶する(S62)。
【0191】
上述したように、最大インデックス番号IDmaxは、図9のS6の処理により1に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Qが生成されるまで、走行制御点Qが生成される度に1が加算される。よって、走行制御点Qを生成して、その走行制御点Qに対応する車両設定情報に、現在の最大インデックス番号IDmaxを関連づける処理を繰り返すことで、各走行制御点Qの車両設定情報に、連続するID番号を1から順番に関連づけていくことができる(図7参照)。
【0192】
尚、S61の処理において、進行方向として前進を示す値が取得されていれば、S62の処理では、進行方向フラグが「1」に設定され、進行方向として後退を示す値が取得されていれば、進行方向フラグが「−1」に設定される。また、S61の処理において、切り返しの有無として切り返しなしを示す値が取得されていれば、S62の処理では、切り返しフラグが「0」に設定され、切り返しの有無として切り返しありを示す値が取得されていれば、切り返しフラグが「1」に設定される。
【0193】
また、S62の処理において、走行制御点Qの車両設定情報を走行制御点メモリ93cに記憶する場合には、他の走行制御点Qの車両設定情報を上書しないように、各走行制御点Qの車両設定情報をそれぞれ個別に記憶する(図7参照)。
【0194】
S62の処理が終了したら、次に、現在の最大インデックス番号IDmaxに1を加算して、最大インデックス番号IDmaxを更新する(S63)。
【0195】
次に、変数iの値が、変数nの値未満であるかを判定し(S64)、S64の判定が肯定される場合には(S64:Yes)、変数iに1を加算して(S65)、S60の処理に戻る。そして、第1経路点Pから第2経路点Pまでの経路上に、20個または40個の走行制御点Qを順番に生成する。
【0196】
一方、S64の判定が否定される場合は(S64:No)、第1経路点Pから第2経路点Pの間に、全て(20個または40個)の走行制御点Qを設定した場合なので、パターン走行部RT1の走行制御点Qを全て生成したかを判定する(S66)。
【0197】
S66の判定が否定される場合には(S66:No)、変数jに1を加算して(S67)、S54の処理に戻り、次の経路点P間についても、全て(20個または40個)の走行制御点Qを生成する。S66の判定が肯定される場合には(S66:Yes)、パターン走行部制御点生成処理(S8)を終了して、自動駐車処理(図9参照)に戻る。
【0198】
尚、S62の処理が実行された場合に、パターン走行部RT1における最後の走行制御点Qの車両設定情報が走行制御点メモリ93cに記憶されると、その後、S63の処理が実行されて、最大インデックス番号IDmaxが更新される。そして、S64の判定が否定されてS64:Noへ分岐し、更に、S66の判定が否定されてS66:Noへ分岐して、パターン走行部制御点生成処理が終了する。
【0199】
その結果、最大インデックス番号IDmaxは、実在しない走行制御点QのID番号を示すことになるが、この最大インデックス番号IDmaxは、後述する後退旋回部制御点生成処理が実行された場合に、後退旋回部RT2の最初の走行制御点Qの車両設定情報に関連づけられる。よって、走行制御点Qの車両設定情報に不連続となるID番号が関連づけられることはない。
【0200】
次に、図14を参照して、後退旋回部制御点生成処理(S9)について説明する。図14は、走行制御装置100により実行される後退旋回部制御点生成処理を示すフローチャートである。
【0201】
後退旋回部制御点生成処理は、S4の処理で生成された走行経路RT1〜RT3のうち、後退旋回部RT2に対する走行制御点Qを生成するための処理であり、後退旋回部RT2を示す2つの各経路点P間に、0.05m間隔で走行制御点Qを生成する。尚、後退旋回部RT2は、パターン走行部RT1のように走行距離CLが一定とならないため、走行距離CLに応じた数の走行制御点Qが、2つの経路点P間に生成される。
【0202】
尚、後退旋回部制御点生成処理でも、パターン走行部制御点生成処理(図12参照)と同様に、隣接する2つの経路点のうち、出発地点に近い側の経路点Pを第1経路点Pとし、運転者により設定された駐車位置に近い側の経路点Pを第2経路点Pとした場合、第1経路点P上には走行制御点Qを生成せず、第1経路点Pから0.05mだけ第2経路点Pに近づいた位置に1番目の走行制御点Qを生成している。そして、順番に走行制御点Qを生成し、最後の走行制御点Qが第2経路点Pに重なるようにしている。
【0203】
後退旋回部制御点生成処理では、まず、走行経路RT1〜RT3を示す各経路点Pのうち、後退旋回部RT2を示す2つの各経路点Pを特定する(S71)。例えば、図2に示す走行経路RT1〜RT3であれば、経路点P6と、経路点P7とが特定される。
【0204】
次に、特定した2つの経路点Pのうち、走行経路RT1〜RT3上で出発地点に近い側の経路点Pを第1経路点Pとし、運転者により設定された駐車位置に近い側の経路点Pを第2経路点Pとする(S72)。そして、第1経路点Pの経路点情報である車両位置および車両方位を、RAM93の点経路メモリ93bから取得し(S73)、同様に、第2経路点Pの経路点情報である車両位置および車両方位を、点経路メモリ93bから取得する(S74)。
【0205】
次に、車両1が第1経路点Pから第2経路点Pへ向かうための車両1の操舵角δと、車両1の旋回中心Kと、車両1の旋回半径Rとをそれぞれ算出する(S75)。尚、ここでの車両1の旋回中心Kと、車両1の旋回半径Rは、駐車可能条件が成立した場合に算出された旋回中心Kと、旋回半径Rとである。そして、車両1の旋回半径をRとし、車両1のホイールベースをWLとした場合、車両1の操舵角δは、
δ=tan−1(WL/R)
により算出される。また、車両1が第1経路点Pから第2経路点Pへ移動した場合の車両方位の変化量Δθを算出する(S76)。尚、車両方位の変化量Δθを算出する式については後述する。
【0206】
そして、第1経路点Pから第2経路点Pの間に生成する走行制御点Qの数を算出し、変数nに代入する(S77)。尚、走行制御点Qの数を算出する数式についても後述する。
【0207】
次に、変数iを1に設定して、変数iの初期設定を行う(S78)。そして、第1経路点Pから第2経路点Pまでの走行経路に対して生成する各走行制御点Qのうち、第1経路点Pからi番目の走行制御点Qの位置(車両位置)と、その車両方位とを算出する(S79)。尚、1番目の走行制御点Qは、第1経路点Pから0.05mだけ第2経路点Pに近づく走行制御点Qとなり、n番目の走行制御点Qは、第2経路点Pに重なるようにしている。
【0208】
ここで、図15を参照して、後退旋回部RT2に対して生成される走行制御点Qの位置と、その車両方位とについて説明する。図15は、走行経路RT1〜RT3のうち、後退旋回部RT2に対して生成される走行制御点Qの一例を説明するための模式図であり、後退旋回部RT2を示す2つの経路点P間を図示したものである。ここでは、2つの経路点Pのうち、第1経路点をPv0(xv0,yv0)と示し、第2経路点をPvn(0,yvn)と示している。尚、第2経路点Pvnでは、車両1の前後軸がy軸と必ず重なるため、x値が0になると共に車両方位がπ/2となる。
【0209】
後退旋回部RT2は、パターン走行部RT1に続く走行経路であって、パターン走行部RT1の終端から目標とする駐車位置に、車両1が同一の操舵角δで後退旋回するように走行経路が決定される(図10のS46参照)。よって、後退旋回部RT2が決定された場合には、その旋回中心K(x,y)と、旋回半径Rとが確定する。
【0210】
従って、第1経路点Pv0における車両方位θv0と、第2経路点Pvnにおける車両方位π/2との変化量をΔθとした場合、その変化量Δθは、
Δθ=θv0−π/2
により算出される。図14のS76の処理では、この式により車両方位の変化量Δθを算出する。そして、第1経路点Pv0から第2経路点Pvnまでの走行距離CLは、
CL=R・Δθ
により算出される。
【0211】
故に、第1経路点Pv0から第2経路点Pvnまでの間に、0.05m間隔で走行制御点Qを生成すると、その合計数nは、
n=R・Δθ/0.05
となる。尚、合計数nが整数にならない場合は、少数点以下を切り上げて整数にする。図14のS77の処理では、この式により算出される合計数nを、変数nに代入している。
【0212】
そして、第1経路点Pv0からi番目の走行制御点をQ(xvi,yvi)とし、その車両方位をθとすると、
θ=Δθ・(n−i)/n
vi=x+R・cos(θ
vi=y+R・sin(θ
により算出される。ここで、第1経路点Pv0から1番目の走行制御点Qは、第1経路点Pv0から0.05mだけ第2経路点Pに近づく走行制御点Qとなり、第1経路点Pv0からn番目の走行制御点Qは、第2経路点Pvnと重なるようにしている。
【0213】
以上の図15を参照して説明した数式を用いることにより、後退旋回部RT2の経路点P間において、n個の各走行制御点Qの位置と、その位置における車両1の車両方位θとを算出できるので、後退旋回部RT2に対応する各走行制御点Qを全て生成できる。
【0214】
ここで、図14の説明に戻る。次に、第1経路点Pからi番目の走行制御点Qにおける操舵角δと、進行方向(前進または後退)と、切り返しの有無とを取得する(S80)。尚、S80の処理では、操舵角δは、何番目の走行制御点Qかに関係なく、全て第1経路点Pと同一の操舵角δが取得される。また、進行方向は、全て後退を示す値が取得される。また、切り返しの有無は、全て切り返しなしを示す値が取得される。
【0215】
S80の処理が終了したら、i番目の走行制御点Qに対応する車両設定情報(車両位置、車両方位、操舵角δ、進行方向フラグ、切り返しフラグ)に、現在の最大インデックス番号IDmaxを関連づけて、RAM93の走行制御点メモリ93cに記憶する(S81)。
【0216】
上述したように、最大インデックス番号IDmaxは、図9のS6の処理により1に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Qが生成されるまで、走行制御点Qが生成される度に1が加算される。また、図9のS7の判定において、S7の判定が肯定されていれば、上述したパターン走行部制御点生成処理(図12参照)が実行された後である。よって、最初にS81の処理が実行される場合には、図12のS63の処理により、最大インデックス番号IDmaxが、後退旋回部RT2の最初のID番号に更新されている。
【0217】
従って、走行制御点Qを生成して、その走行制御点Qに対応する車両設定情報に、現在の最大インデックス番号IDmaxを関連づける処理を繰り返すことで、走行経路RT1〜RT2まで通して連続するIDを、各走行制御点Qの車両設定情報に順番に関連づけることができる。
【0218】
一方、図9のS7の処理において、S7の判定が否定されていれば、上述したパターン走行部制御点生成処理(図12参照)がスキップされるので、最大インデックス番号IDmaxは1に初期設定された状態である。よって、走行制御点Qを生成して、その走行制御点Qに対応する車両設定情報に、現在の最大インデックス番号IDmaxを関連づける処理を繰り返すことで、各走行制御点Qの車両設定情報に、連続するID番号を1から順番に関連づけることができる。
【0219】
尚、ここでは、進行方向フラグは全て「−1」に設定され、切り返しフラグは全てオフに設定される。また、走行制御点Qの車両設定情報を走行制御点メモリ93cに記憶する場合には、他の走行制御点Qの車両設定情報を上書しないように、各走行制御点Qの車両設定情報をそれぞれ個別に記憶する。
【0220】
S81の処理が終了したら、次に、現在の最大インデックス番号IDmaxに1を加算して、最大インデックス番号IDmaxを更新する(S82)。次に、変数iの値が、変数nの値未満であるかを判定し(S83)、S83の判定が肯定される場合には(S83:Yes)、変数iに1を加算して(S84)、S79の処理に戻る。そして、第1経路点Pから第2経路点Pまでの経路上に、n個の走行制御点Qを順番に生成する。一方、S83の判定が否定される場合は(S83:No)、n個の走行制御点Qを全て生成した場合なので、後退旋回部制御点生成処理(S9)を終了して、自動駐車処理(図9参照)に戻る。
【0221】
尚、S81の処理が実行された場合に、後退旋回部RT2における最後の走行制御点Qの車両設定情報が走行制御点メモリ93cに記憶されると、その後、S82の処理が実行されて、最大インデックス番号IDmaxが更新される。そして、S83の判定が否定されてS83:Noへ分岐して、パターン走行部制御点生成処理が終了する。
【0222】
その結果、最大インデックス番号IDmaxは、実在しない走行制御点QのID番号を示すことになるが、この最大インデックス番号IDmaxは、後述する最終後退部制御点生成処理が実行された場合に、最終後退部RT3の最初の走行制御点Qの車両設定情報に関連づけられる。よって、走行制御点Qの車両設定情報に不連続となるID番号が関連づけられることはない。
【0223】
次に、図16を参照して、最終後退部制御点生成処理(S10)について説明する。図16は、走行制御装置100により実行される最終後退部制御点生成処理を示すフローチャートである。
【0224】
最終後退部制御点生成処理は、S4の処理で生成された走行経路RT1〜RT3のうち、最終後退部RT3に対する走行制御点Qを生成するための処理であり、最終後退部RT3を示す2つの経路点P間に、0.05m間隔で走行制御点Qを生成する。尚、最終後退部RT3は、後退旋回部RT2と同様に走行距離CLが一定とならないため、走行距離CLに応じた数の走行制御点Qが、2つの経路点P間に生成される。
【0225】
尚、最終後退部制御点生成処理でも、パターン走行部制御点生成処理(図12参照)と同様に、隣接する2つの経路点のうち、出発地点に近い側の経路点Pを第1経路点Pとし、運転者により設定された駐車位置に近い側の経路点Pを第2経路点Pとした場合、第1経路点P上には走行制御点Qを生成せず、第1経路点Pから0.05mだけ第2経路点Pに近づいた位置に1番目の走行制御点Qを生成している。そして、順番に走行制御点Qを生成し、最後の走行制御点Qが第2経路点Pに重なるようにしている。
【0226】
最終後退部制御点生成処理におけるS92〜S95の各処理は、上述した図14の後退旋回部制御点生成処理におけるS72〜S75の各処理と同様な処理であり、最終後退部制御点生成処理におけるS97〜S100の各処理は、上述した図14の後退旋回部制御点生成処理におけるS78〜S81の各処理と同様な処理である。
【0227】
また、最終後退部制御点生成処理におけるS101,S102の各処理は、上述した図14の後退旋回部制御点生成処理におけるS83,S84の各処理と同様な処理である。よって、同様な処理についてはその詳細な説明を省略し、異なる部分(S91,S96,S103)についてのみ詳細に説明する。
【0228】
最終後退部制御点生成処理では、まず、走行経路RT1〜RT3を示す各経路点Pのうち、最終後退部RT3を示す2つの各経路点Pを特定する(S91)。例えば、図2に示す走行経路RT1〜RT3であれば、経路点P7と、経路点P8とが特定される。そして、S92〜S95の各処理を実行し、次に、第1経路点Pから第2経路点Pの間に生成する走行制御点Qの数を算出し、変数nに代入する(S96)。尚、走行制御点Qの数を算出する数式については後述する。
【0229】
そして、S97〜100の各処理を実行する。尚、最終後退部RT3では、車両1の前後軸がy軸と必ず重なる状態で、車両1が後退直進するため、車両方位が常にπ/2となる。よって、S99の処理では、操舵角δは、何番目の走行制御点Qかに関係なく、全て0が取得される。また、進行方向は、全て後退を示す値が取得される。また、切り返しの有無は、全て切り返しなしを示す値が取得される。よって、S100の処理では、進行方向フラグは全て「−1」に設定され、切り返しフラグは全てオフに設定される。
【0230】
また、上述したように、最大インデックス番号IDmaxは、図9のS6の処理により1に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Qが生成されるまで、走行制御点Qが生成される度に1が加算される。最初にS100の処理が実行される場合は、図12のS63の処理や、図14のS82の処理が実行された後なので、最大インデックス番号IDmaxが、最終後退部RT3の最初のID番号に更新されている。
【0231】
よって、走行制御点Qを生成して、その走行制御点Qに対応する車両設定情報に、現在の最大インデックス番号IDmaxを関連づける処理を繰り返すことで、走行経路RT1〜RT3まで通して連続するIDを、各走行制御点Qの車両設定情報に関連づけることができる。
【0232】
尚、S100の処理では、進行方向フラグは全て「−1」に設定され、切り返しフラグは全てオフに設定される。また、走行制御点Qの車両設定情報を走行制御点メモリ93cに記憶する場合には、他の走行制御点Qの車両設定情報を上書しないように、各走行制御点Qの車両設定情報をそれぞれ個別に記憶する。
【0233】
S100の処理が終了したら、次に、S101の処理を実行する。S101の判定が肯定される場合には(S101:Yes)、S102の処理を実行する。そして、現在の最大インデックス番号IDmaxに1を加算して、最大インデックス番号IDmaxを更新する(S103)。その後、S98の処理に戻る。そして、第1経路点Pから第2経路点Pまでの経路上に、n個の走行制御点Qを順番に生成する。一方、S101の判定が否定される場合は(S101:No)、n個の走行制御点Qを全て生成した場合なので、最終後退部制御点生成処理(S8)を終了して、自動駐車処理(図9参照)に戻る。
【0234】
尚、最終後退部制御点生成処理では、S100の処理が実行されて、走行制御点Qの車両設定情報が走行制御点メモリ93cに記憶された後、S101の判定が肯定された場合にだけ、S103の処理が実行され、最大インデックス番号IDmaxが更新される。
【0235】
即ち、次に生成すべき走行制御点Qが存在する場合にだけ、最大インデックス番号IDmaxが更新されるので、最終後退部RT3における最後の走行制御点Qが生成された後には、最大インデックス番号IDmaxは更新されない。よって、最大インデックス番号IDmaxには最後の走行制御点QのID番号が設定される。
【0236】
ここで、図17を参照して、最終後退部RT3に対して生成される走行制御点Qの位置と、その車両方位とについて説明する。図17は、走行経路RT1〜RT3のうち、最終後退部RT3に対して生成される走行制御点Qの一例を説明するための模式図であり、最終後退部RT3を示す2つの経路点P間を図示したものである。ここでは、2つの経路点Pのうち、走行経路RT1〜RT3上で出発地点に近い側の経路点Pを第1経路点Pv0(xv0,yv0)と示し、運転者により設定された駐車位置に近い側の経路点Pを第2経路点Pvn(xvn,yvn)と示している。
【0237】
尚、第1経路点Pv0および第2経路点Pvnでは共に、車両1の前後軸がy軸と必ず重なるため、x値が0になり、車両方位がπ/2になり、操舵角δが0になる。
【0238】
最終後退部RT3は、後退旋回部RT2に続く走行経路であって、後退旋回部RT2の終端から目標とする駐車位置に、車両1を後退直進させて停車できるように走行経路が決定される(図10のS47参照)。よって、第1経路点Pv0(xv0,yv0)から第2経路点Pvn(xvn,yvn)までの走行距離CLは、
CL=((xv0−xvn+(yv0−yvn1/2
により算出される。尚、本実施形態では、xv0およびxvnが共に0なので、「CL=|yv0−yvn|」として算出しても良い。
【0239】
従って、第1経路点Pv0から第2経路点Pvnまで間に、0.05m間隔で走行制御点Qを生成すると、その合計数nは、
n=CL/0.05
となる。尚、合計数nが整数にならない場合は、少数点以下を切り上げて整数にする。図16のS96の処理では、この式により算出される合計数nを、変数nに代入している。
【0240】
そして、第1経路点Pv0からi番目の走行制御点をQ(xvi,yvi)とし、その車両方位をθとすると、
θ=π/2
vi=0
vi=yv0−0.05・n
により算出される。ここで、第1経路点Pv0から1番目の走行制御点Qは、第1経路点Pから0.05mだけ第2経路点に近づく走行制御点Qとなり、第1経路点Pv0からn番目の走行制御点Qは、第2経路点Pvnと重なるようにしている。
【0241】
以上の図17を参照して説明した数式を用いることにより、最終後退部RT3の経路点P間において、n個の各走行制御点Qの位置と、その位置における車両1の車両方位θとを算出できるので、最終後退部RT3に対応する各走行制御点Qを全て生成できる。
【0242】
ここで、図9の説明に戻る。S6〜S10の処理が実行され、各走行経路RT1〜RT3に対する走行制御点Qが生成されたら、次に、運転者により設定された駐車位置に車両1を駐車させることが可能であることを、運転者に報知する(S11)。
【0243】
そして、自律走行を開始して車両1を駐車位置に駐車させることが運転者により指示されたか、又は、自律走行による駐車を中止することが運転者により指示されたかを判定し(S13)、自律走行による駐車を中止することが運転者により指示された場合には(S13:中止)、自動駐車処理を終了する。
【0244】
一方、自律走行を開始して車両1を駐車位置に駐車させることが運転者により指示された場合には(S13:開始)、出発地点に対応する走行制御点Qを現在地点として(S14)、走行制御点メモリ93cから現在地点の車両設定情報を取得する(S15)。そして、車両1が次に通過する予定の走行制御点Qを目標地点とし(S16)、走行制御点メモリ93cから目標地点の車両設定情報を取得する(S17)。
【0245】
次に、車両1に対して設定されている障害物判定領域E内に、障害物が有るかを判定する(S18)。例えば、障害物判定領域Eは、矩形状の領域であって、車体1を囲むように車両1より大きく設定されている。S18の判定が肯定される場合は(S18:Yes)、障害物に衝突する可能性があるので、車両1を停車させ(S19)、障害物を発見したため自律走行を中止したことを、運転者に報知して(S20)、自動駐車処理を終了する。
【0246】
S18の判定が否定される場合には(S18:No)、現在地点の車両設定情報に基づいて車両1を走行させ、車両1を目標地点まで移動させる(S21)。例えば、S21の処理では、ステアリングセンサ装置21により検出される車両1の操舵角δが、車両設定情報の操舵角δと一致するように、操舵駆動装置5を制御し、ステアリングシャフト61を回転させる。また、進行方向フラグが「1」であれば、車両1が前進するように車輪駆動装置3を制御し、進行方向フラグが「−1」であれば、車両1が後退するように車輪駆動装置3を制御する。
【0247】
そして、S21の処理が終了したら、次に、目標とする駐車位置Oに到着したかを判定し(S22)、S22の判定が否定される場合には(S22:No)、目標地点の車両設定情報を現在地点の車両設定情報として(S23)、S16の処理に戻る。そして、車両1を次の目標地点まで走行させる。S22の判定が肯定される場合には(S22:Yes)、車両1を停車させて、目標とする駐車位置Oに到着したことを運転者に報知し(S24)、自動駐車処理を終了する。
【0248】
次に、本発明の第2実施形態における走行制御装置100について説明する。尚、第1実施形態の走行制御装置100と同一な構成については、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【0249】
上述した第1実施形態では、車両1の搭乗者に与える不快感を軽減できる走行経路RT1〜RT3を生成するために、点経路生成処理(図10参照)において、仮の走行経路RT1に対応する操舵量累積値STを算出しているが、操舵量累積値STの算出は、仮の走行経路RT1を生成する前に行っている。
【0250】
これに対し、第2実施形態では、まず、仮の走行経路RT1を実際に生成し、更に、その仮の走行経路RT1について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路RT1に対応する操舵量累積値STを算出する。
【0251】
まず、第2実施形態における走行制御装置100の電気的構成について説明する。尚、第2実施形態における走行制御装置100の電気的構成において、第1実施形態と異なる部分は、フラッシュメモリ92(図示しない)のみである。フラッシュメモリ92には、上述した図12のフローチャートに示す点経路生成処理に代えて、後述する図18に示すフローチャートに示す点経路生成処理が格納されている。
【0252】
次に、図18を参照して、第2実施形態の点経路生成処理(S4)について説明する。図18は、第2実施形態の走行制御装置100により実行される点経路生成処理を示すフローチャートである。尚、第1実施形態の点経路生成処理(図10参照)における処理と、同一の処理を実行するステップについては、同一の符号を付してその説明を省略する。
【0253】
第2実施形態の点経路生成処理は、第1実施形態の点経路生成処理(図10参照)における各ステップS31〜48のうち、一部のステップSの実行順序を入れ替えたものである。
【0254】
第2実施形態の点経路生成処理も、第1実施形態と同様に、仮の走行経路RT1を生成するための処理であり、生成した仮の走行経路RT1の終端において駐車可能条件が成立している場合に、出発地点から運転者により設定された駐車位置までの走行経路RT1〜RT3全体を生成する。更に、車両1の搭乗者に不快感を与える仮の走行経路RT1が生成された場合に、仮の生成経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直す。
【0255】
第2実施形態の点経路生成処理では、まず、S31およびS32の各処理を実行して、次に、S36およびS37の各処理を実行する。S37の判定が否定される場合は(S37:No)、S38の処理を実行する。S38の判定が否定される場合は(S38:No)、S32の処理へ戻る。一方、S38の判定が肯定される場合は(S38:Yes)、S39の処理を実行する。
【0256】
S39の判定が肯定される場合は(S39:Yes)、S40の処理を実行して、S32の処理へ戻る。一方、S39の判定が否定される場合は(S39:No)、S41の処理を実行して、この点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0257】
S37の判定が肯定される場合は(S37:Yes)、S33、S34およびS35の各処理を実行する。S35の判定が肯定される場合は(S35:Yes)、S42、S43およびS44の各処理を実行して、S32の処理へ戻る。一方、S35の判定が否定される場合は(S35:No)、S45、S46、S47およびS48の各処理を実行して、この点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0258】
以上の図18に示す点経路生成処理によって、まず、仮の走行経路RT1を実際に生成し、更に、その仮の走行経路RT1について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路RT1に対応する操舵量累積値STを算出できる。
【0259】
よって、目標とする駐車位置に到着不可能な仮の走行経路RT1については、操舵量累積値STの算出、及び、算出した操舵量累積値STと操舵量累積閾値Aとの比較を行わなくて良いので、不要な処理を抑制できる。従って、車両1の搭乗者に与える不快感を軽減できる走行経路RT1を生成するまでの時間を、短縮できる。また、走行制御装置100に掛かる負担を軽減できる。
【0260】
尚、本実施形態では、仮の走行経路RT1を実際に1つずつ生成し、更に、その仮の走行経路RT1について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路RT1に対応する操舵量累積値STを算出する。そして、算出した操舵量累積値STが操舵量累積閾値Aを超えていれば、仮の走行経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直している。これに対して、仮の走行経路RT1を複数生成してから、その複数の仮の走行経路RT1について、駐車可能条件が成立しているか否かの判定と、操舵量累積値STの算出と、算出した操舵量累積値STが操舵量累積閾値Aを超えているか否かの判定とを纏めて行っても良い。
【0261】
また、図18に示す点経路生成処理では、算出した操舵量累積値STが操舵量累積閾値Aを超えたか否かで、仮の走行経路RT1の生成条件を変更しているが、操舵量累積値STが操舵量累積閾値Aをどの程度超えたか応じて、仮の走行経路RT1の生成条件を変更しても良い。これにより、操舵量累積値STの大きさに応じて、その大きさに相応しい生成条件を設定できる。
【0262】
具体的には、図19に示すように、操舵量累積閾値Aに加え、その操舵量累積閾値Aよりも大きい操舵量累積閾値Bを設けておき、操舵量累積値STが操舵量累積閾値Aを超え、且つ、操舵量累積値STが操舵量累積閾値B以下である場合と、操舵量累積値STが操舵量累積閾値Bを超えている場合とで、仮の走行経路RT1の生成条件を変えても良い。
【0263】
図19は、操舵量累積閾値を複数設ける場合の一例を説明するためのグラフである。また、経路点P30から経路点P37まで各経路点Pにより構成される走行経路RT1〜RT3(図示しない)を、車両1が走行した場合の操舵量累積値STを示している。尚、車両1の操舵量累積値STを縦軸に示し、走行経路RT1〜RT3における車両1の走行位置を横軸に示している。
【0264】
例えば、操舵量累積値STが、操舵量累積閾値Aと操舵量累積閾値Bとの間に収まる場合には、経路パターンPT1〜PT10に対応する走行経路の長さCLを、2mから1mに変更し、操舵量累積値STが操舵量累積閾値Bを超えている場合には、経路パターンPT1〜PT10に対応する走行経路の長さCLを、2mから0.5mに変更する。尚、操舵量累積閾値は、2つだけでなく3つ以上設けても良い。そして、操舵量累積値STが超えた操舵量累積閾値に応じて、仮の走行経路RT1の生成条件を変更しても良い。
【0265】
次に、本発明の第3実施形態における走行制御装置100について説明する。尚、第1実施形態の走行制御装置100と同一な構成については、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【0266】
上述した第1実施形態では、車両1の搭乗者に与える不快感を軽減できる走行経路RT1〜RT3を生成するために、点経路生成処理(図10参照)において、仮の走行経路RT1に対応する操舵量累積値STを算出しているが、操舵量累積値STの算出は、仮の走行経路RT1を生成する前に行っている。
【0267】
これに対し、第3実施形態では、仮の走行経路RT1の生成と、生成した仮の走行経路RT1について駐車可能条件が成立しているか否かの判定とを繰り返しながら、生成可能な仮の走行経路RT1を全て生成する。その後、駐車可能条件が成立していた全ての仮の走行経路RT1について、車両1の操舵量累積値STを算出し、評価する。
【0268】
まず、図20を参照して、第3実施形態における走行制御装置100の電気的構成について説明する。尚、第2実施形態における走行制御装置100の電気的構成において、第1実施形態と異なる部分は、フラッシュメモリ92(図示しない)およびRAM93である。
【0269】
フラッシュメモリ92には、上述した図10のフローチャートに示す点経路生成処理に代えて、後述する図21に示すフローチャートに示す点経路生成処理が格納されている。そして、RAM93には、上述した点経路パターンメモリ93aと、点経路メモリ93bと、走行制御点メモリ93cと、操舵量累積値メモリ93dに加えて、新たに、条件成立順列メモリ93eとが設けられている。
【0270】
条件成立順列メモリ93eは、仮の走行経路RT1を示す重複順列のうち、駐車可能条件が成立した仮の走行経路RT1を示す重複順列が記憶されるメモリである。この条件成立順列メモリ93eは、後述する点経路生成処理(図21参照)が開始される場合にクリアされる。詳細については後述するが、この点経路生成処理が開始されると、仮の走行経路RT1を示す重複順列が1つずつ順番に取得されていく。
【0271】
そして、重複順列が取得される度に、取得された重複順列に対応する仮の走行経路RT1について、駐車可能条件が成立しているか否かが判定され、駐車可能条件が成立していれば、その駐車可能条件の成立している仮の走行経路RT1を示す重複順列が、条件成立順列メモリ93eに追加される。
【0272】
尚、本実施形態では、仮の走行経路RT1を示す重複順列の取得と、駐車可能条件が成立しているか否かの判定とが、予め規定されている全種類の重複順列を取得するまで繰り返される。そのため、条件成立順列メモリ93eには、駐車可能条件が成立した仮の走行経路RT1を示す重複順列が全て記憶される。この条件成立順列メモリ93eは、生成可能な仮の走行経路RT1の中から、車両1の操舵累積閾値STが最も小さいものを取得するために、CPU91により参照される。
【0273】
次に、図21を参照して、第3実施形態の点経路生成処理(S4)について説明する。図21は、第3実施形態の走行制御装置100により実行される点経路生成処理を示すフローチャートである。尚、第1実施形態の点経路生成処理(図10参照)における処理と、同一の処理を実行するステップについては、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【0274】
第3実施形態の点経路生成処理も、第1実施形態と同様に、仮の走行経路RT1を生成するための処理である。第3実施形態の点経路生成処理では、予め規定されている全種類の仮の走行経路RT1の中から、駐車可能条件が成立しているものを全て抽出し、更に、その中から、車両1の操舵量累積値STが最も小さいものを1つ取得する。
【0275】
そして、その操舵量累積値STが操舵量累積閾値A以下であれば、その操舵量累積値STに対応する仮の走行経路RT1を用いて、出発地点から運転者により設定された駐車位置までの走行経路RT1〜RT3全体を生成する。一方、その操舵量累積値STが操舵量累積閾値Aを超えており、車両1の搭乗者に不快感を与える仮の走行経路RT1が生成されるおそれがあれば、仮の生成経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直す。
【0276】
第3実施形態の点経路生成処理では、まず、RAM93の条件成立順列メモリ93eをクリアする(S121)。そして、S31およびS32の各処理を実行して、次に、S36およびS37の各処理を実行する。S37の判定が肯定される場合は(S37:Yes)、S32の処理で取得した経路パターン番号「PT1〜PT10」の重複順列を、条件成立順列メモリ93eに追加して(S122)、S38の処理へ移行する。一方、S37の判定が否定される場合は(S37:No)、S38へ移行する。
【0277】
そして、S38の判定が否定される場合は(S38:No)、S32の処理へ戻る。一方、S38の判定が肯定される場合は(S38:Yes)、S39の処理を実行する。S39の判定が肯定される場合は(S39:Yes)、S40の処理を実行して、S32の処理へ戻る。一方、S39の判定が否定される場合は(S39:No)、条件成立順列メモリ93eに重複順列が記憶されているかを判定する(S123)。
【0278】
S123の判定が否定される場合は(S123:No)、予め規定していた全種類の仮の走行経路RT1を生成したものの、駐車可能条件が1つも成立しなかった場合なので、S41の処理を実行して、点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0279】
一方、S123の判定が肯定される場合は(S123:Yes)、条件成立順列メモリ93eに記憶されている重複順列毎に、その重複順列に対応する仮の走行経路RT1を車両1が走行したと仮定して、車両1の走行開始から終了までの車両1の操舵量累積値ST(即ち、操舵角の変化量の累積値)を算出する(S124)。
【0280】
そして、S124の処理で算出した操舵量累積値STの中から、値が最も小さいものを一つ取得して、操舵量累積値メモリ93dに記憶する(S125)。次に、その記憶した操舵量累積値STが、フラッシュメモリ92の操舵量累積閾値メモリ92bに格納されている操舵量累積閾値Aを超えているかを判定する(S126)。
【0281】
S126の判定が肯定される場合は(S126:Yes)、S42、S43およびS44の各処理を実行して、S32の処理へ戻る。一方、S126の判定が否定される場合は(S126:No)、S125の処理で取得した操舵量累積値STに対応する仮の走行経路RT1を示す重複順列を、RAM93の点経路パターンメモリ93aに記憶する(S127)。
【0282】
尚、本実施形態では、S126の処理において、操舵量累積値STが操舵量累積閾値A以下であると判定されると、その操舵量累積値STに対応する仮の走行経路RT1が、パターン走行部RT1に決定される。次に、S46、S47およびS48の各処理を実行して、この点経路生成処理を終了し、自動駐車処理(図9参照)に戻る。
【0283】
以上の図21に示す点経路生成処理によって、まず、予め規定されている全種類の仮の走行経路RT1を全て生成し、その中から駐車可能条件が成立しているものを全て抽出し、更に、その中から、車両1の操舵量累積値STが最も小さいものを取得できる。
【0284】
そして、その操舵量累積値STが操舵量累積閾値A以下であれば、出発地点から運転者により設定された駐車位置までの走行経路RT1〜RT3全体を生成できる。よって、車両1の操舵量累積値STが最も小さい仮の走行経路RT1を、パターン走行部RT1として用いることができるので、車両1の搭乗者に加わる横Gなどの力を極力軽減でき、車両1の搭乗者に与える不快感を極力軽減できる走行経路RT1を生成できる。
【0285】
一方、最も小さい操舵量累積値STが操舵量累積閾値Aを超えており、車両1の搭乗者に不快感を与える仮の走行経路RT1が生成されるおそれがあれば、仮の生成経路RT1の生成条件を変更して、仮の走行経路RT1の生成を始めからやり直すことができる。
【0286】
尚、最も小さい操舵量累積値STが操舵量累積閾値Aを超えている場合に、算出した他の操舵量累積値STについても取得し、それらの操舵量累積値STの傾向に応じて、仮の走行経路RT1の生成条件を変更し、仮の走行経路RT1の生成を始めからやり直しても良い。
【0287】
また、第3実施形態においても、第2実施形態の場合と同様に、複数の操舵量累積閾値A,Bを設けておき、操舵量累積値STの大きさに応じて、仮の走行経路RT1の生成条件を変更しても良い。
【0288】
尚、上記実施形態に記載の「車両1の出発地点」が、特許請求の範囲の「基準位置」に対応し、上記実施形態に記載の「運転者により設定される駐車位置O」が、特許請求の範囲の「目標位置」に対応する。また、上記実施形態に記載の「経路パターンPT1〜PT10に対応する走行経路の長さCLの変更」が、特許請求の範囲に記載の「仮経路の生成条件の変更」に対応する。
【0289】
以上、実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0290】
例えば、上記実施形態では、車両1の操舵量累積値STが、操舵量累積閾値Aを超えた場合に、経路パターンPT1〜PT10に対応する走行経路の長さCLを、短くしているが、長くしても良い。そして、操舵量累積閾値Aと、操舵量累積閾値B(但し、操舵量累積閾値A<操舵量累積閾値B)とを設けており、操舵量累積値STが、操舵量累積閾値Aと操舵量累積閾値Bとの間に収まる場合には、経路パターンPT1〜PT10に対応する走行経路の長さCLを、操舵量累積値STが操舵量累積閾値Bを超えている場合よりも短くしても良い。
【0291】
また、上記実施形態では、仮の走行経路RT1の生成を試みる場合に、その仮の走行経路RT1を示す経路パターンPT1〜PT10の組み合わせが取得されれば、その組み合わせのうち、隣接する2つの走行経路パターン毎に、車両1の操舵角の変化量を算出し、その累積値を、操舵量累積値STとしている。これに加えて、仮の走行経路RT1を示す経路パターンPT1〜PT10の組み合わせのうち、先頭の経路パターンPT1〜PTに対応する操舵角と、車両1の出発地点における操舵角との差についても、変化量を算出してその絶対値を、操舵量累積値STに加えても良い。これにより、車両1の走行開始時に、車両1の搭乗者に加わる横Gなどの力も評価できるので、車両1の搭乗者に与える不快感をより軽減できる走行経路を生成できる。
【0292】
また、上記実施形態では、仮の走行経路RT1の生成を試みる度に、仮の走行経路RT1を示す経路パターンPT1〜PT10の組み合わせから、車両1の操舵角の変化量を求めて、操舵量累積値STを算出している。これに対して、予め規定されている全種類の仮の走行経路RT1について、経路パターンPT1〜PT10の組み合わせを求め、更に、その組み合わせに対応する操舵量累積値STも算出しておき、テーブルなどに事前に記憶しておく。そして、仮の走行経路RT1の生成を試みる場合に、そのテーブルを参照して、仮の走行経路RT1に対応する操舵量累積値STを取得しても良い。これにより、仮の走行経路RT1の生成を試みる場合に、操舵量累積値STをわざわざ算出しなくて良いので、走行制御装置100に掛かる負担を抑制できる。また、走行経路RT1〜RT3が生成されるまでの時間を、短縮できる。
【0293】
また、上記実施形態では、仮の走行経路RT1の生成条件を変更する場合に、経路パターンPT1〜PT10に対応する走行経路の長さCLを、一律、2mから1mに変更しているが、操舵量累積値STに比例させて、経路パターンPT1〜PT10に対応する走行経路の長さCLを変化させても良い。即ち、操舵量累積値STが大きいほど、走行経路の長さが短くなるようにしても良い。また、操舵量累積値STが大きいほど、走行経路の長さが長くなるようにしても良い。また、操舵量累積値STごとに、経路パターンPT1〜PT10に対応する走行経路の長さCLを予め定めておき、操舵量累積値STに応じて、経路パターンPT1〜PT10に対応する走行経路の長さCLを変化させても良い。
【0294】
また、上記実施形態では、仮の走行経路RT1の生成条件を変更する場合に、経路パターンPT1〜PT10に対応する走行経路の長さCLを変更しているが、生成条件の変更を、経路パターンPT1〜PT10に対応する走行経路の長さCLの変更に限定するものではない。例えば、S32の処理(図10、図18、図21参照)において取得する重複順列の優先順位を設定しても良い。即ち、優先して生成する仮の走行経路RT1を設定しても良い。また、1種類だけでなく、複数種類の生成条件を変更しても良い。
【0295】
また、上記実施形態では、車両1の操舵角の変化量を求めて、操舵量累積値STを算出しているが、車両1の操舵角と、車両1のハンドル角とには相関があるため、車両1の操舵角の変化量に代えて、車両1のハンドル角の変化量を用いてもよい。
【0296】
また、上述した図10および図18に示す点経路生成処理では、S39の判定が否定された後は、点経路生成処理を終了しているが、少なくとも1回は、仮の走行経路RTの生成条件を変更して、仮の走行経路RT1の生成を始めからやり直しても良い。同様に、上述した図21に示す点経路生成処理でも、S123の判定が否定された後に、少なくとも1回は、仮の走行経路RTの生成条件を変更して、仮の走行経路RT1の生成を始めからやり直しても良い。
【0297】
また、上述した図10、図18および図21に示す点経路生成処理において、操舵量累積値STが操舵量累積閾値Aを超えている場合、仮の走行経路RT1の生成条件が変更されるが、仮の走行経路RT1の生成条件が変更された後に、再度、操舵量累積値STが操舵量累積閾値Aを超えた場合は、S41の処理を実行して、点経路生成処理を終了しても良い。また、1回目の変更とは異なる生成条件に変更しても良い。尚、生成条件の変更回数に応じて、生成条件を順次変更しても良い。
【0298】
また、上記実施形態では、目標とする駐車位置に車両1を停車させる場合、最終的には車両1を後退直進させて、目標とする駐車位置に車両1を停車させるように走行経路RT1〜RT3を生成しているが、最終的に車両1を前進直進させて、目標とする駐車位置に車両1を停車させるように走行経路RT1〜RT3を生成しても良い。
【0299】
また、上記実施形態では、10種類の経路パターンPT1〜PT10を設けているが、パターンの数は10種類に限らず、減らしても良いし、増やしても良い。また、各経路パターンPT1〜PT10に対応する各走行経路の距離CLを全て2mとしているが、数値は適宜設定すれば良い。また、経路パターンPT1〜PT10に対応する走行経路の形状も適宜設定すれば良い。
【0300】
また、上記実施形態では、現在位置から目標とする駐車位置まで0.05m間隔で、走行経路RT1〜RT3上に仮想的に走行制御点Qを生成しているが、走行制御点Qを設ける間隔は、0.01m間隔や、0.1m間隔や、0.5m間隔など適宜設定すれば良い。
【0301】
また、上記実施形態の走行制御装置100は、現在位置から運転者により設定される駐車位置まで車両1を自律走行させて、その駐車位置に車両1を駐車させるように構成されているが、車両1の車両速度Vは運転者がアクセルペダル11およびブレーキペダル12により操作できるように構成し、走行制御装置100は車両1のステアリング13のみを制御するように構成しても良い。
【0302】
また、上記実施形態の走行制御装置100は、現在位置から運転者により設定される駐車位置まで車両1を自律走行させて、その駐車位置に車両1を駐車させるように構成されているが、車両1の自律走行は行わず、現在位置から運転者により設定される駐車位置までの走行経路を運転者に報知するように構成しても良い。例えば、車両1内のモニタに、走行経路RT1〜RT3を表示しても良い。また、音声により運転者の運転操作を誘導して、車両1が走行経路RT1〜RT3上を走行するようにしても良い。
【0303】
また、上記実施形態では、目標とする駐車位置に車両1を駐車させた時の、左右の後輪2RL,2RRの車軸上をx軸とし、車両1中央の前後軸上をy軸とし、x軸およびy軸の交点を原点Oとした座標系を用いて、車両1の位置や、走行経路RT1〜RT3などの位置を算出しているが、車両1の現在位置における左右の後輪2FL,2FRの車軸上をx軸とし、車両1中央の前後軸上をy軸とし、x軸およびy軸の交点を原点Oとした座標系を用いても良い。また、任意にx軸およびy軸を設けて、x軸およびy軸の交点を原点Oとした座標系を用いても良い。
【0304】
また、上記実施形態では、隣接する経路点P間ごとに0.05m間隔で走行制御点Qを生成するように構成しているが、任意の2つの経路点P間に、0.05m間隔で走行制御点Qを生成するように構成しても良い。例えば、走行経路上に3つ以上の経路点Pが順番に並んでいる場合には、その3つ以上の経路点Pのうち最初(出発点に最も近い側)の経路点Pと、その3つ以上の経路点のうち最後(運転者により設定された駐車位置に最も近い側)の経路点Pとの間に、0.05m間隔で走行制御点Qを生成するように構成しても良い。
【0305】
また、上記実施形態では、現在位置から目標とする駐車位置までの車両1の走行経路RT1〜RT3を生成して、その走行経路RT1〜RT3に従って車両1を自律走行させ、目標とする駐車位置に車両1を停車させているが、単に、現在位置から目標とする位置まで車両1を自律走行させるように構成も良い。例えば、目標とする位置を遠方に設定し、自律走行により車両1を長距離走行させるように構成しても良い。
【0306】
また、上記実施形態では、経路点P0(出発地点)上に走行制御点Qを設けていないが、経路点P0上にも走行制御点Qを設けて、車両1を自律走行させる場合に参照するように構成して良い。
【0307】
また、上記実施形態は、車両1が4輪車である場合の実施形態であるが、本発明は、車輪の数に関係なく車両であれば適用できるし、ショベルカーなどの建設機械などにも適用できる。
【符号の説明】
【0308】
1 車両
100 走行制御装置
S4,S6,S8〜S10 走行経路生成手段
S32,S36 仮経路生成手段
S33,S124 特定手段
S35,S126 第1累積判定手段
S37 到着判定手段
S42〜S44 生成制御手段
S45〜S48 走行経路決定手段
A 操舵量累積閾値(第1所定値)
B 操舵量累積閾値(第2所定値)
PT1〜PT10 経路パターン(走行経路パターン)
RT1 走行経路




【特許請求の範囲】
【請求項1】
基準位置から目標位置までの車両の走行経路を生成する走行経路生成手段を備えた走行制御装置であって、
前記走行経路生成手段は、
前記走行経路の候補として仮経路を生成する仮経路生成手段と、
その仮経路生成手段により生成される仮経路の少なくとも一部区間を前記車両に走行させたと仮定して、その走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定する特定手段と、
その特定手段により特定される前記累積値が第1所定値を超えているかを判定する第1累積判定手段と、
その第1累積判定手段により前記累積値が前記第1所定値を超えていると判定される場合に、前記仮経路生成手段により新たな仮経路の生成が開始されるように制御する生成制御手段と、
前記第1累積判定手段により前記累積値が前記第1所定値を超えていないと判定され、前記仮経路生成手段により生成される仮経路によって前記車両が前記目標位置へ到着可能な場合に、その仮経路を前記車両の走行経路とする走行経路決定手段とを備えていることを特徴とする走行制御装置。
【請求項2】
前記生成制御手段は、
仮経路の生成条件を変更して、前記仮経路生成手段により新たな仮経路の生成が開始されるように制御するものであることを特徴とする請求項1記載の走行制御装置。
【請求項3】
前記仮経路生成手段は、
前記車両が走行すべき経路を示す走行経路パターンを組み合わせて仮経路を生成するものであり、
前記生成制御手段は、
前記仮経路生成手段で用いられる前記走行経路パターンの示す経路の距離を前記仮経路の生成条件として変更するものであることを特徴とする請求項2記載の走行制御装置。
【請求項4】
前記特定手段により特定される前記累積値が前記第1所定値よりも大きい第2所定値を超えているかを判定する第2累積判定手段を備え、
前記生成制御手段は、
前記第2累積判定手段により前記累積値が前記第2所定値を超えていると判定される場合と、前記第2所定値を超えていないと判定される場合とで、異なる生成条件に変更するものであることを特徴とする請求項2または3記載の走行制御装置。
【請求項5】
前記特定手段は、
前記仮経路生成手段により仮経路が1つ生成される度に、前記走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定するものであることを特徴とする請求項2から4の何れかに記載の走行制御装置。
【請求項6】
前記仮経路生成手段により生成される仮経路を前記車両に走行させたと仮定した場合に、その車両が目標位置へ到着可能か否かを判定する到着判定手段を備え、
前記特定手段は、
前記到着判定手段により到着可能と判定される場合に、前記走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定するものであることを特徴とする請求項1から4の何れかに記載の走行制御装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−81905(P2012−81905A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−230954(P2010−230954)
【出願日】平成22年10月13日(2010.10.13)
【出願人】(591261509)株式会社エクォス・リサーチ (1,360)
【Fターム(参考)】