(57)【要約】【課題】車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置を提供すること。【解決手段】走行制御装置１００では、仮の走行経路の生成を試みる場合に、生成予定の仮の走行経路について操舵量累積値ＳＴを算出する。そして、算出した操舵量累積値ＳＴが操舵量累積積閾値Ａを超えていれば、車両１が蛇行するなどの走行経路が生成されるおそれがあり、搭乗者に不快感を与えるおそれがあるため、別の仮の走行経路の生成を試みる。一方、算出した操舵量累積値ＳＴが操舵量累積積閾値Ａ以下であり、目標とする駐車位置に到着可能であれば、その仮の走行経路を用いて、走行経路全体を生成する。これにより、走行経路が生成される場合には、車両１の操舵角の変化が抑制される走行経路を生成できるので、搭乗者に与える不快感を軽減できる走行経路を生成できる。【選択図】図１０
2012081905.tif 000002
【特許請求の範囲】
【請求項１】
基準位置から目標位置までの車両の走行経路を生成する走行経路生成手段を備えた走行制御装置であって、
前記走行経路生成手段は、
前記走行経路の候補として仮経路を生成する仮経路生成手段と、
その仮経路生成手段により生成される仮経路の少なくとも一部区間を前記車両に走行させたと仮定して、その走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定する特定手段と、
その特定手段により特定される前記累積値が第１所定値を超えているかを判定する第１累積判定手段と、
その第１累積判定手段により前記累積値が前記第１所定値を超えていると判定される場合に、前記仮経路生成手段により新たな仮経路の生成が開始されるように制御する生成制御手段と、
前記第１累積判定手段により前記累積値が前記第１所定値を超えていないと判定され、前記仮経路生成手段により生成される仮経路によって前記車両が前記目標位置へ到着可能な場合に、その仮経路を前記車両の走行経路とする走行経路決定手段とを備えていることを特徴とする走行制御装置。
【請求項２】
前記生成制御手段は、
仮経路の生成条件を変更して、前記仮経路生成手段により新たな仮経路の生成が開始されるように制御するものであることを特徴とする請求項１記載の走行制御装置。
【請求項３】
前記仮経路生成手段は、
前記車両が走行すべき経路を示す走行経路パターンを組み合わせて仮経路を生成するものであり、
前記生成制御手段は、
前記仮経路生成手段で用いられる前記走行経路パターンの示す経路の距離を前記仮経路の生成条件として変更するものであることを特徴とする請求項２記載の走行制御装置。
【請求項４】
前記特定手段により特定される前記累積値が前記第１所定値よりも大きい第２所定値を超えているかを判定する第２累積判定手段を備え、
前記生成制御手段は、
前記第２累積判定手段により前記累積値が前記第２所定値を超えていると判定される場合と、前記第２所定値を超えていないと判定される場合とで、異なる生成条件に変更するものであることを特徴とする請求項２または３記載の走行制御装置。
【請求項５】
前記特定手段は、
前記仮経路生成手段により仮経路が１つ生成される度に、前記走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定するものであることを特徴とする請求項２から４の何れかに記載の走行制御装置。
【請求項６】
前記仮経路生成手段により生成される仮経路を前記車両に走行させたと仮定した場合に、その車両が目標位置へ到着可能か否かを判定する到着判定手段を備え、
前記特定手段は、
前記到着判定手段により到着可能と判定される場合に、前記走行中に制御すべき操舵角またはハンドル角の変化量の累積値を特定するものであることを特徴とする請求項１から４の何れかに記載の走行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行制御装置に関し、特に、車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置に関するものである。
【背景技術】
【０００２】
従来より、運転者が自車両を目標位置まで走行させる場合に、自車両を現在の車両位置から目標位置まで走行させることが可能な走行経路を生成し、運転者がハンドル操作を行わなくても、自車両が走行経路に沿って走行するように自車両の走行を制御する走行制御装置が知られている。この種の走行制御装置に関し、次の特許文献１に記載の走行制御装置では、運転者が走行経路の生成を指示すると、自車両を現在の車両位置から後退により目標位置へ走行させることが可能な走行経路の生成が試みられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２８４９６９号公報（第００６２段落など）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の走行制御装置では、走行経路の生成が繰り返し試みられる中で、偶然最初に生成できた走行経路が自車両の走行経路として選ばれるので、走行経路が生成されたとしても、自車両が蛇行するような走行経路が生成されるおそれがある。そのため、自車両が走行する場合に、自車両の搭乗者に何度も横Ｇが加わって、搭乗者に不快感を与えるおそれがあった。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、車両の搭乗者に与える不快感を軽減できる走行経路を生成する走行制御装置を提供することを目的としている。
【課題を解決するための手段および発明の効果】
【０００６】
請求項１記載の走行制御装置によれば、基準位置から目標位置までの車両の走行経路の候補として仮経路生成手段により仮経路が生成され、その仮経路の少なくとも一部区間を車両に走行させたと仮定して、その走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定手段により特定される。そして、その累積値が第１所定値を超えているかが第１累積判定手段により判定され、ここで、累積値が第１所定値を超えていると判定されると、仮経路生成手段により新たな仮経路の生成が開始されるように、生成制御手段によって制御される。一方、累積値が第１所定値を超えていないと判定され、仮経路生成手段により生成される仮経路によって車両が目標位置へ到着可能な場合は、走行経路決定手段によって、その仮経路が車両の走行経路とされる。車両が走行している間は、車両の操舵角またはハンドル角が変化する度に、車両の搭乗者に横Ｇなどの力が加わるので、車両の操舵角またはハンドル角の変化量が少ないほど、車両の搭乗者に加わる横Ｇなどの力を軽減できる可能性が高まり、その搭乗者に与える不快感を軽減できる可能性が高まる。請求項１記載の走行制御装置によれば、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が第１所定値を超えない仮経路を、車両の走行経路にすることができる。よって、走行経路を生成する場合に、車両の搭乗者に加わる横Ｇなどの力を軽減できる走行経路を生成できる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成できるという効果がある。
【０００７】
尚、仮経路生成手段により仮経路を１つ生成する度に、その生成した仮経路について、特定手段による累積値の特定と、第１累積判定手段による累積値の判定とを行っても良い。また、仮経路生成手段により仮経路を複数生成した後に、その生成した複数の仮経路について、特定手段による累積値の特定と、第１累積判定手段による累積値の判定とを、纏めて行っても良い。
【０００８】
請求項２記載の走行制御装置によれば、請求項１記載の走行制御装置の奏する効果に加え、生成制御手段では、仮経路の生成条件が変更され、仮経路生成手段により新たな仮経路の生成が開始されるように制御される。よって、車両の操舵角またはハンドル角の変化量の累積値が第１所定値を超える仮経路が生成され、その結果、新たな仮経路が生成される場合に、仮経路の生成条件を変更してからその生成を開始するので、車両の操舵角またはハンドル角の変化量の少ない仮経路を生成できる可能性を向上させることができる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性を向上させることができるという効果がある。
【０００９】
請求項３記載の走行制御装置によれば、請求項２記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、仮経路生成手段では、車両が走行すべき経路を示す走行経路パターンが組み合わされて仮経路が生成され、生成制御手段では、仮経路生成手段で用いられる走行経路パターンの示す経路の距離が、仮経路の生成条件として変更される。よって、変更前の走行経路パターンを組み合わせて仮の走行経路を生成した場合に、車両の操舵角またはハンドル角の変化量の累積値が大きくなる仮経路が生成されたとしても、走行経路パターンの示す経路の距離を変更することで、その変更後の走行経路パターンを組み合わせて仮の走行経路を生成した場合に、車両の操舵角またはハンドル角の変化量の累積値が小さくなる仮経路が生成される可能性を高め得る。故に、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性をより向上させることができるという効果がある。
【００１０】
請求項４記載の走行制御装置によれば、請求項２または３記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、特定手段により特定される累積値が第１所定値よりも大きい第２所定値を超えているかが第２累積判定手段により判定され、生成制御手段では、第２累積判定手段により累積値が第２所定値を超えていると判定される場合と、第２所定値を超えていないと判定される場合とで、異なる生成条件に変更される。よって、特定手段によって特定された累積値の大きさに応じて、仮経路の生成条件を相応しいものに変更できるので、新たな仮経路を生成する場合に、車両の操舵角またはハンドル角の変化量の少ない仮経路が生成される可能性を向上させることができる。従って、車両の搭乗者に与える不快感を軽減できる走行経路を生成する可能性を向上させることができるという効果がある。
【００１１】
尚、仮経路生成手段により仮経路を１つ生成する度に、その生成した仮経路について、特定手段による累積値の特定と、第２累積判定手段による累積値の判定とを行っても良い。また、仮経路生成手段により仮経路を複数生成した後に、その生成した複数の仮経路について、特定手段による累積値の特定と、第２累積判定手段による累積値の判定とを、纏めて行っても良い。
【００１２】
請求項５記載の走行制御装置によれば、請求項２から４の何れかに記載の走行制御装置の奏する効果に加え、特定手段では、仮経路生成手段により仮経路が１つ生成される度に、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定される。よって、車両の搭乗者に不快感を与えるおそれの高い仮経路が１つでも生成されれば、そこで仮経路の生成条件を変更して、新たな仮経路の生成を開始できる。従って、仮経路の生成条件をより早く変更して、新たな仮経路の生成を開始できるので、車両の搭乗者に与える不快感を軽減できる走行経路を生成するまでの時間を短縮できるという効果がある。
【００１３】
請求項６記載の走行制御装置によれば、請求項１から４の何れかに記載の走行制御装置の奏する効果に加え、次の効果を奏する。即ち、仮経路生成手段により生成される仮経路を車両に走行させたと仮定した場合に、その車両が目標位置へ到着可能か否かが到着判定手段により判定される。そして、特定手段では、到着判定手段により到着可能と判定される場合に、走行中に制御すべき操舵角またはハンドル角の変化量の累積値が特定される。よって、車両が目標位置へ到達不可能な仮経路が生成された場合については、特定手段による特定と、第１累積判定手段による判定とを抑制できる。従って、不要な処理を抑制できるので、車両の搭乗者に与える不快感を軽減できる走行経路を生成するまでの時間を短縮できるという効果がある。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態における走行制御装置が搭載される車両の上面視を模式的に示した模式図である。
【図２】走行経路全体に対して生成される走行制御点の一例を説明するための模式図である。
【図３】走行経路全体のうち、パターン走行部を生成するために用いる経路パターンの一例を示す模式図である。
【図４】経路パターンに応じて車両を移動させた場合の移動先と、その車両方位とを説明するための模式図である。
【図５】（ａ）は、走行経路上の経路点の一例を説明するための模式図であり、（ｂ）は、駐車可能条件を説明するための模式図である。
【図６】走行制御装置の電気的構成を示したブロック図である。
【図７】１０種類の各経路パターンに個別に設定されている車両の操舵角を説明するための模式図である。
【図８】走行制御点メモリの内容の一例を示す模式図である。
【図９】走行制御装置の自動駐車処理を示すフローチャートである。
【図１０】走行制御装置の点経路生成処理を示すフローチャートである。
【図１１】（ａ）は、仮の走行経路の生成条件を変更しない場合に生成される走行経路の一例を説明するための模式図であり、（ｂ）は、（ａ）に示す走行経路を車両に走行させた場合の操舵量累積値を示すグラフである。（ｃ）は、仮の走行経路の生成条件を変更した場合に生成される走行経路の一例を説明するための模式図であり、（ｄ）は、（ｃ）に示す走行経路を車両に走行させた場合の操舵量累積値を示すグラフである。
【図１２】走行制御装置のパターン走行部制御点生成処理を示すフローチャートである。
【図１３】走行経路全体のうち、パターン走行部に対して生成される走行制御点の一例を説明するための模式図である。
【図１４】走行制御装置の後退旋回部制御点生成処理を示すフローチャートである。
【図１５】走行経路全体のうち、後退旋回部に対して生成される走行制御点の一例を説明するための模式図である。
【図１６】走行制御装置の最終後退部制御点生成処理を示すフローチャートである。
【図１７】走行経路全体のうち、最終後退部に対して生成される走行制御点の一例を説明するための模式図である。
【図１８】第２実施形態における走行制御装置の点経路生成処理を示すフローチャートである。
【図１９】操舵量累積閾値を複数設ける場合の一例を説明するためのグラフである。
【図２０】第２実施形態における走行制御装置の電気的構成を示したブロック図である。
【図２１】第３実施形態における走行制御装置の点経路生成処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の好ましい実施形態について添付図面を参照して、説明する。図１は、本発明の第１実施形態における走行制御装置１００が搭載される車両１の上面視を模式的に示した模式図である。尚、図１の矢印Ｕ−Ｄ，Ｌ−Ｒ，Ｆ−Ｂは、車両１の上下方向、左右方向、前後方向をそれぞれ示している。
【００１６】
まず、図１を参照して、車両１の概略構成について説明する。車両１は、運転者により運転操作可能に構成された車両であり、現在の車両位置から運転者により設定される駐車位置まで車両１を自律走行させて、その駐車位置に車両１を駐車させることができる走行制御装置１００が搭載されている。尚、本実施形態における自律走行とは、運転者の運転操作なしで車両１を走行させることを意味する。即ち、車両１が自律走行している場合、運転者は、後述するアクセルペダル１１、ブレーキペダル１２及びステアリング１３を操作しなくて良い。
【００１７】
走行制御装置１００は、目標とする駐車位置が運転者により設定されると、予め記憶されている１０の経路パターンＰＴ１〜ＰＴ１０（図３参照）を複数組み合わせて、現在の車両位置から目標とする駐車位置までの車両１の走行経路を生成し、その生成した走行経路に従って車両１を自律走行させて、目標とする駐車位置に車両１を停車させるものである。
【００１８】
詳細については後述するが、この走行制御装置１００によれば、走行経路を生成する場合に、まず、その走行経路の候補である仮の走行経路を１つずつ順番に生成する。そして、その仮の走行経路を車両１に走行させたと仮定して、車両１の走行開始から終了までの車両１における操舵角の変化量（以下、「操舵量」と称す）の累積値を算出する。なお、操舵量の累積値（以下、「操舵量累積値」と称す）ＳＴを算出する場合は、操舵量の絶対値を累積するものとする。
【００１９】
そして、算出された操舵量累積値ＳＴが、後述する操舵量累積閾値Ａを超えた場合は、目標とする駐車位置に車両１が到着するしないに関わらず、車両１が蛇行するなどの走行経路が生成されるおそれがあり、車両１の走行中に搭乗者に横Ｇが何度も加わって、搭乗者に不快感を与えるおそれがあるため、別の仮の走行経路の生成を試みる。これにより、走行経路が生成される場合には、仮の走行経路のうち、車両１の操舵角変化の抑制されるものが走行経路として用いられる。よって、搭乗者に与える不快感を軽減できる走行経路を生成できる。
【００２０】
尚、本実施形態では、目標とする駐車位置に車両１を駐車させた時の、左右の後輪２ＲＬ，２ＲＲの車軸上をｘ軸とし、車両１中央の前後軸上をｙ軸とし、ｘ軸およびｙ軸の交点を原点Ｏとした座標系を用いて、車両１の位置や、走行経路ＲＴ１〜ＲＴ３などの位置を算出する。
【００２１】
よって、以下の説明では、この座標系を用いて、車両１や、走行経路ＲＴ１〜ＲＴ３などの各位置を示す。また、車両１の前後軸と、車両１における左右の後輪２ＲＬ，２ＲＲの車軸との交点を車両１の基準点とし、上述した座標系における車両１の基準点の位置を、車両１の車両位置とする。また、車両１の前後軸方向のうち車両１が進行している方向を、車両１の進行方向とする。
【００２２】
車両１は、走行制御装置１００の他、車体フレームＢＦと、その車体フレームＢＦに支持される複数（本実施形態では４輪）の車輪２ＦＬ，２ＦＲ，２ＲＬ，２ＲＲと、それら複数の車輪２ＦＬ〜２ＲＲの内の一部（本実施形態では、左右の前輪２ＦＬ，２ＦＲ）を回転駆動する車輪駆動装置３と、各車輪２ＦＬ〜２ＲＲを車体フレームＢＦに懸架する懸架装置４と、複数の車輪２ＦＬ〜２ＲＲの内の一部（本実施形態では、左右の前輪２ＦＬ，２ＦＲ）を操舵するステアリング装置６と、操舵駆動装置５と、ステアリングセンサ装置２１と、ジャイロセンサ装置２２と、車輪回転センサ２３と、アクセルペダル１１と、ブレーキペダル１２と、ステアリング１３と、第１から第３までの距離センサ２４ａ〜２４ｃと、自動駐車スイッチ２５と、第１から第４までのカメラ２６ａ〜２６ｄと、を主に備えている。
【００２３】
車輪２ＦＬ，２ＦＲは、図１に示すように、車体フレームＢＦの前方側（矢印Ｆ側）に配置される左右の前輪であり、車輪駆動装置３によって回転駆動される駆動輪として構成されている。一方、車輪２ＲＬ，２ＲＲは、車体フレームＢＦの後方側（矢印Ｂ側）に配置される左右の後輪であり、車両１の走行に伴って従動する従動輪として構成されている。４つの車輪２ＦＬ〜２ＲＲのうち、左右の前輪２ＦＬ，２ＦＲには共に、車輪の回転量を検出する車輪回転センサ２３が取り付けられている。
【００２４】
車輪回転センサ２３は、センサ２３が取り付けられている車輪２ＦＬ，２ＦＲの回転量を検出して、その検出結果をＣＰＵ９１（図６参照）に出力するセンサであり、車輪２ＦＬ，２ＦＲが所定の角度回転する度に、回転検出信号をＣＰＵ９１に出力するものである。車輪２ＦＬ，２ＦＲの外周の長さと、回転検出信号が出力される回転角度とは予め決まっているので、回転検出信号が出力されから次の回転検出信号が出力されるまでに車両１が走行する走行距離も予め決まる。ＣＰＵ９１は、車両１が自律走行をする場合、２つの車輪回転センサ２３の回転検出信号を個別にカウントし、２つのカウント数の平均値を用いて出発地点からの走行距離を算出する。
【００２５】
ジャイロセンサ装置２２は、車両１の水平面に対するロール角およびピッチ角と、ヨー
角とを検出すると共に、その検出結果をＣＰＵ９１に出力するための装置であり、車両１の重心を通る基準軸（図１矢印Ｆ−Ｂ，Ｌ−Ｒ，Ｕ−Ｄ方向軸）回りの車両１（車体フレームＢＦ）の回転角（ロール角、ピッチ角、ヨー角）をそれぞれ検出するジャイロセンサ（図示せず）と、そのジャイロセンサの検出結果を処理してＣＰＵ９１に出力する出力回路（図示せず）とを主に備えている。
【００２６】
尚、以下の説明では、車両１のヨー角のことを、車両１の車両方位と記載する。尚、車両１における車両方位の基準軸は、上述したｘ軸とし、そのｘ軸から車両１の進行方向までの反時計回りの角度を、車両１の車両方位とする。
【００２７】
ＣＰＵ９１は、車両１が自律走行する場合、ジャイロセンサ装置２２から出力される車両１の車両方位を取得し、車両１の進行方向を算出する。そして、その車両１の進行方向と、車輪回転センサ２３の回転検出信号から算出される車両１の走行距離とに基づいて、出発地点からの移動距離を算出する。ＣＰＵ９１は、出発地点からの移動距離に基づいて、原点Ｏを基準とした車両１の現在位置を算出できる。
【００２８】
尚、車両１の車両方位は計算でも算出できる。具体的には、ヨー方向の角速度を検出するジャイロセンサ装置を車両１に搭載しておく。そして、その検出される角速度を時間積分することで、車両１の車両方位を算出できる。
【００２９】
車輪駆動装置３は、左右の前輪２ＦＬ，２ＦＲに回転駆動力を付与するモータ３ａ（図６参照）を備えて構成されている。尚、モータ３ａは、ディファレンシャルギヤ（図示せず）及び一対のドライブシャフト３１を介して左右の前輪２ＦＬ，２ＦＲに接続されている。
【００３０】
例えば、運転者がアクセルペダル１１を操作した場合には、モータ３ａから左右の前輪２ＦＬ，２ＦＲに回転駆動力が付与され、それら左右の前輪２ＦＬ，２ＦＲがアクセルペダル１１の傾斜状態（傾斜角度、傾斜する速度など）に応じた速度で回転駆動される。
【００３１】
ステアリング装置６は、図１に示すように、ステアリングシャフト６１と、フックジョイント６２と、ステアリングギヤ６３と、タイロッド６４と、ナックルアーム６５とを主に備えて構成されている。尚、ステアリング装置６は、ステアリングギヤ６３がピニオン（図示せず）とラック（図示せず）とを備えたラックアンドピニオン機構によって構成されている。
【００３２】
例えば、運転者がステアリング１３を操作した場合には、ステアリング１３の操作がステアリングシャフト６１を介してフックジョイント６２に伝達されると共にフックジョイント６２によって角度を変えられ、ステアリングギヤ６３のピニオンに回転運動として伝達される。そして、ピニオンに伝達された回転運動がラックの直線運動に変換され、ラックが直線運動することで、ラックの両端に接続されたタイロッド６４が移動し、ナックルアーム６５を介して車輪２ＦＬ〜２ＲＲが操舵される。
【００３３】
操舵駆動装置５は、ステアリング装置６と同様に、左右の前輪２ＦＬ，２ＦＲを操舵するための装置であり、ステアリングシャフト６１に回転駆動力を付与するモータ５ａ（図６参照）を備えて構成されている。即ち、モータ５ａが駆動されてステアリングシャフト６１が回転すると、運転者によりステアリング１３が操作された場合と同様に車輪２ＦＬ，２ＦＲが操舵される。
【００３４】
ステアリングシャフト６１には、左右の前輪２ＦＬ，２ＦＲの操舵角δを算出してＣＰＵ９１へ出力するステアリングセンサ装置２１が取り付けられている。ステアリングセンサ装置２１は、基準位置からのステアリングシャフト６１の回転角度に基づいて、左右の前輪２ＦＬ，２ＦＲの操舵角δを算出し、その算出結果を走行制御装置１００に設けられたＣＰＵ９１（図６参照）へ出力する。
【００３５】
アクセルペダル１１、ブレーキペダル１２及びステアリング１３は、いずれも運転者により制御される操作部材であり、各ペダル１１，１２の傾斜状態（傾斜角度、傾斜する速度など）に応じて車両１の加速力や制動力が決定されると共に、ステアリング１３の操作状態（操作量、操作方向）に応じて車両１の旋回半径や旋回方向が決定される。
【００３６】
第１から第３までの各距離センサ２４ａ〜２４ｃは、車両１の周辺に存在する物体までの距離データをＣＰＵ９１（図６参照）に出力するための装置である。各距離センサ２４ａ，２４ｂ，２４ｃは、レーザ光を対象物に向けて照射し、その反射の強度で対象物までの距離を測定するレーザレンジファインダで構成されている。
【００３７】
第１距離センサ２４ａは、車両１の前面右端に、第２距離センサ２４ｂは、車両１の前面左端に、第３距離センサ２４ｃは、車両１の後面中央に取り付けられている。本実施形態では、３つの距離センサ２４ａ〜２４ｃにより、車両１を中心として少なくとも６０ｍ四方の領域内に存在する各対象物までの距離を検出可能に構成されている。
【００３８】
自動駐車スイッチ２５は、自律走行により目標とする駐車位置に車両１を駐車させたい場合に、運転者が押下するスイッチであり、これが運転者により押下されると、走行制御装置１００において後述する自動駐車処理（図９参照）が実行される。その結果、現在位置から運転者により設定される駐車位置まで車両１が自律走行させられ、その駐車位置に車両１が停車させられる。
【００３９】
第１から第４までの各カメラ２６ａ〜２６ｄは、車両１の周囲を撮像するための撮像装置であり、ＣＣＤイメージセンサや、ＣＭＯＳイメージセンサなどの撮像素子が搭載されたデジタルカメラで構成されている。この第１から第４までの各カメラ２６ａ〜２６ｄは、撮像した画像を画像データに変換してＣＰＵ９１（図６参照）に出力するものである。
【００４０】
第１カメラ２６ａは、車両１の前方中央に取り付けられており、第２カメラ２６ｂは、車両１の右側面のサイドミラー（非図示）に取り付けられており、第３カメラ２６ｃは、車両１の後方中央に取り付けられており、第４カメラ２６ｄは、車両１の左側面のサイドミラー（非図示）に取り付けられている。本実施形態では、第１から第４までの４つのカメラ２６ａ〜２６ｄにより、車両１を中心として車両１の前後方向に少なくとも１５ｍ、且つ、車両１を中心として車両１の左右方向に少なくとも１２ｍの範囲を撮像可能に構成されている。
【００４１】
走行制御装置１００は、車輪駆動装置３、操舵駆動装置５、及び、ブレーキ装置（図示せず）などを制御して、現在位置から運転者により設定される駐車位置まで車両１を自律走行させて、その駐車位置に車両１を停車させるものである。
【００４２】
次に、図２〜図５を参照して、走行制御装置１００により生成される走行経路ＲＴ１〜ＲＴ３について説明する。本実施形態では、運転者により自動駐車スイッチ２５が押下され、運転者により目標とする駐車位置が設定されると、走行制御装置１００によって、現在位置から目標とする駐車位置へ到達可能な走行経路ＲＴ１〜ＲＴ３が生成される（図２参照）。詳細については後述するが、走行経路ＲＴ１〜ＲＴ３全体は、パターン走行部ＲＴ１と、後退旋回部ＲＴ２と、最終後退部ＲＴ３との３つにより構成されている。
【００４３】
この走行経路ＲＴ１〜ＲＴ３は線として連続的に構成されるが、走行経路ＲＴ１〜ＲＴ３を示すデータについては、走行経路ＲＴ１〜ＲＴ３を構成する点のうち、所定間隔ごとの点を示すデータより構成される。以下、この所定間隔ごとの点を、経路点Ｐと称し、経路点Ｐを示すデータを、経路点情報と称する。尚、この経路点Ｐは、車両１が走行経路ＲＴ１〜ＲＴ３を自律走行する場合に経由すべき点であり、経路点情報は、経路点Ｐにおける車両１の車両位置と、その経路点Ｐにおける車両１の車両方位θとにより構成される。各経路点Ｐの経路点情報は、後述する点経路メモリ９３ｂ（図６参照）に記憶される。詳細については後述するが、例えば、走行経路ＲＴ１であれば、走行経路ＲＴ１上を構成する点のうち、２ｍ間隔ごとの点を経路点Ｐとしている。
【００４４】
そして、本実施形態では、走行経路ＲＴ１〜ＲＴ３全体が生成されると、次に、走行制御装置１００が車両１を自律走行させる場合に車両１の車両状態を制御する点である走行制御点Ｑが、走行経路ＲＴ１〜ＲＴ３上に、０．０５ｍ間隔で仮想的に生成される。つまり、本実施形態では、車両１の走行状態が０．０５ｍ毎に制御される。尚、各走行制御点Ｑの車両設定情報は、後述する走行制御点メモリ９３ｃ（図６参照）にそれぞれ記憶される。
【００４５】
車両設定情報の詳細については後述するが、走行制御装置１００は、走行経路ＲＴ１〜ＲＴ３に沿って車両１を自律走行させる場合に、各走行制御点Ｑに到達する度に、その走行制御点Ｑに対応する車両設定情報に基づいて車両１の走行状態を設定し、運転者により設定された駐車位置まで車両１を自律走行させる。
【００４６】
ここで、図２を参照して、走行制御装置１００により生成される走行経路ＲＴ１〜ＲＴ３と、走行経路ＲＴ１〜ＲＴ３に対して生成される走行制御点Ｑについて説明する。図２は、走行経路ＲＴ１〜ＲＴ３全体と、その走行経路ＲＴ１〜ＲＴ３を示す経路点Ｐと、その走行経路ＲＴ１〜ＲＴ３に対して生成される走行制御点Ｑとの一例を説明するための模式図である。尚、走行制御点Ｑは、経路点Ｐ０（車両１の出発位置）上には生成されず、経路点Ｐ０から０．０５ｍだけ目標とする駐車位置に近づいた位置から生成されて行く。
【００４７】
以下、図２を含め、走行経路ＲＴ１〜ＲＴ３を示す図においては、経路点Ｐを白抜きの丸で示し、走行制御点Ｑを黒塗りの丸で示す。また、経路点Ｐ０は、車両１の出発位置を示し、経路点Ｐ８は、運転者が目標とする駐車位置を示す。尚、他の経路点Ｐ１〜Ｐ７の詳細については後述する。また、走行制御点Ｑは、本来なら０．０５ｍ間隔で仮想的に生成されるが、図を見易くするために一部の走行制御点Ｑのみを示す。
【００４８】
上述したように、走行経路ＲＴ１〜ＲＴ３全体は、パターン走行部ＲＴ１と、後退旋回部ＲＴ２と、最終後退部ＲＴ３との３つにより構成される。パターン走行部ＲＴ１は、後述する経路パターンメモリ９２ａ（図６参照）に格納されている経路パターンＰＴ１〜ＰＴ１０の組み合わせにより生成される走行経路である。図２に示す例では、経路点Ｐ０から経路点Ｐ６までの走行経路が、パターン走行部ＲＴ１となる。
【００４９】
また、後退旋回部ＲＴ２は、パターン走行部ＲＴ１に続く走行経路であって、パターン走行部ＲＴ１の終端から目標とする駐車位置に車両１を後退直進させることが可能となる車両位置までの走行経路である。図２に示す例では、経路点Ｐ６から経路点Ｐ７までの経路が、後退旋回部ＲＴ２となる。尚、この後退旋回部ＲＴ２では、車両１が同一の操舵角δで後退旋回するように走行経路が決定される。
【００５０】
最終後退部ＲＴ３は、後退旋回部ＲＴ２に続く走行経路であって、後退旋回部ＲＴ２の終端から目標とする駐車位置までの走行経路である。図２に示す例では、経路点Ｐ７から経路点Ｐ８までの経路が、最終後退部ＲＴ３となる。尚、この最終後退部ＲＴ３は、車両１が後退直進するように走行経路が決定される。
【００５１】
ここで、図３を参照して、経路パターンＰＴ１〜ＰＴ１０について説明する。図３は、走行経路ＲＴ１〜ＲＴ３全体のうち、パターン走行部ＲＴ１を生成するために用いる経路パターンＰＴ１〜ＰＴ１０の一例を示す模式図である。
【００５２】
本実施形態では、１０種類の断片的な走行経路が予め設定されており、それぞれが経路パターンとして、後述する経路パターンメモリ９２ａ（図６参照）に格納されている。１０種類の経路パターンＰＴ１〜ＰＴ１０には、「ＰＴ１」から「ＰＴ１０」までのパターン番号が付されている。１０種類の経路パターンＰＴ１〜ＰＴ１０では、各走行経路の軌跡はそれぞれ異なるが、各走行経路の長さ（即ち、走行距離）ＣＬは全て２ｍに設定されている。パターン走行部ＲＴ１は、この経路パターンＰＴ１〜ＰＴ１０に対応する走行経路が組み合わされて生成される。
【００５３】
そして、パターン走行部ＲＴ１では、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の始端および終端を、それぞれ経路点Ｐとしている。つまり、経路点Ｐ１〜Ｐ５は、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の接続点を示している。
【００５４】
経路パターンＰＴ１は、経路点Ｐｉから車両１を前方直進させ２ｍ移動させる走行経路を示すパターンであり、経路パターンＰＴ２は、経路点Ｐｉから車両１を後退直進させ２ｍ移動させる走行経路を示すパターンである。
【００５５】
経路パターンＰＴ３は、車両１の旋回半径Ｒを最小旋回半径の２倍とし、車両１を経路点Ｐｉから前方左旋回させ２ｍ移動させる走行経路を示すパターンであり、以下同様に、経路パターンＰＴ４は、車両１の旋回半径Ｒを最小旋回半径の２倍とし車両１を前方右旋回させ、経路パターンＰＴ５は、車両１の旋回半径Ｒを最小旋回半径の２倍とし車両１を後退左旋回させ、経路パターンＰＴ６は、車両１の旋回半径Ｒを最小旋回半径の２倍とし車両１を旋回半径Ｒで後退右旋回させ、それぞれ２ｍ移動させる走行経路を示すパターンである。
【００５６】
また、経路パターンＰＴ７は、車両１の旋回半径Ｒを最小旋回半径とし、車両１を経路点Ｐｉから前方左旋回させ２ｍ移動させる走行経路を示すパターンであり、以下同様に、経路パターンＰＴ８は、車両１の旋回半径Ｒを最小旋回半径とし車両１を前方右旋回させ、経路パターンＰＴ９は、車両１の旋回半径Ｒを最小旋回半径とし車両１を後退左旋回させ、経路パターンＰＴ１０は、車両１の旋回半径Ｒを最小旋回半径とし車両１を後退右旋回させ、それぞれ２ｍ移動させる走行経路を示すパターンである。
【００５７】
ここで、図４を参照して、経路パターンＰＴ１〜ＰＴ１０に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する各経路点Ｐおよび車両方位θについて説明する。図４は、経路パターンＰＴ１〜ＰＴ１０に応じて車両１を移動させた場合の移動先に対応する各経路点Ｐおよび車両方位θを算出するための模式図である。ここで、経路点Ｐｉ（ｘｉ，ｙｉ）は、移動前の車両１の車両位置を示す。また、経路点Ｐｉにおける車両１の車両方位をθｉと示し、車両１の進行方向を矢印で示す。
【００５８】
まず、経路パターンＰＴ８に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＡ（ｘＡ，ｙＡ）と、その経路点ＰＡにおける車両方位θＡを算出する方法について説明する。
【００５９】
車両１の走行距離をＣＬとし、車両１の旋回半径をＲとし、更に、経路点ＰＡにおける車両方位θＡと、経路点Ｐｉにおける車両方位θｉとの変化量をΔθとした場合、その変化量Δθは、
Δθ＝ＣＬ／Ｒ
により算出できる。従って、経路点ＰＡ（ｘＡ，ｙＡ）と、その経路点ＰＡにおける車両方位θＡとは、
θＡ＝θｉ−Δθ
ｘＡ＝ｘｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｃｏｓ（θｉ−Δθ／２）
ｙＡ＝ｙｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｓｉｎ（θｉ−Δθ／２）
により算出できる。尚、経路パターンＰＴ４についても同様に、この式により経路点Ｐおよび車両方位θを算出できる。
【００６０】
次に、経路パターンＰＴ７に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＢ（ｘＢ，ｙＢ）と、その経路点ＰＢにおける車両方位θＢを算出する方法について説明する。尚、経路点ＰＢにおける車両方位θＢと、経路点Ｐｉにおける車両方位θｉとの変化量Δθは、上述した式により同様に算出できる。よって、経路点ＰＢ（ｘＢ，ｙＢ）と、その経路点ＰＢにおける車両方位θＢとは、
θＢ＝θｉ＋Δθ
ｘＢ＝ｘｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｃｏｓ（θｉ＋Δθ／２）
ｙＢ＝ｙｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｓｉｎ（θｉ＋Δθ／２）
により算出できる。尚、経路パターンＰＴ３についても同様に、この式により経路点Ｐおよび車両方位θを算出できる。
【００６１】
以下同様に、経路パターンＰＴ９に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＣ（ｘＣ，ｙＣ）と、その経路点ＰＣにおける車両方位θＣとは、
θＣ＝θｉ−Δθ
ｘＣ＝ｘｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｃｏｓ（θｉ−Δθ／２−π）
ｙＣ＝ｙｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｓｉｎ（θｉ−Δθ／２−π）
により算出できる。尚、経路パターンＰＴ５についても同様に、この式により経路点Ｐおよび車両方位θを算出できる。
【００６２】
また、経路パターンＰＴ１０に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＤ（ｘＤ，ｙＤ）と、その経路点ＰＤにおける車両方位θＤとは、
θＤ＝θｉ＋Δθ
ｘＤ＝ｘｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｃｏｓ（θｉ＋Δθ／２−π）
ｙＤ＝ｙｉ＋２Ｒ・ｓｉｎ（Δθ／２）・ｓｉｎ（θｉ＋Δθ／２−π）
により算出できる。尚、経路パターンＰＴ６についても同様に、この式により経路点Ｐおよび車両方位θを算出できる。
【００６３】
また、図示はしていないが、経路パターンＰＴ１に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＥ（ｘＥ，ｙＥ）と、その経路点ＰＥにおける車両方位θＥとは、
θＥ＝θｉ
ｘＥ＝ｘｉ＋ＣＬ・ｃｏｓ（θｉ）
ｙＥ＝ｙｉ＋ＣＬ・ｓｉｎ（θｉ）
により算出できる。
【００６４】
また、経路パターンＰＴ２に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点ＰＦ（ｘＦ，ｙＦ）と、その経路点ＰＦにおける車両方位θＦとは、
θＦ＝θｉ
ｘＦ＝ｘｉ＋ＣＬ・ｃｏｓ（θｉ＋π）
ｙＦ＝ｙｉ＋ＣＬ・ｓｉｎ（θｉ＋π）
により算出できる。
【００６５】
以上の図４を参照して説明した数式を用いることにより、経路パターンＰＴ１〜ＰＴ１０に応じて車両１を経路点Ｐｉから移動させた場合の移動先に対応する経路点Ｐと、その車両方位θとを算出できる。よって、パターン走行部ＲＴ１を構成する各経路点Ｐを特定できる。
【００６６】
本実施形態では、予め定められている順序で、経路パターンＰＴ１〜ＰＴ１０が組み合わされて、仮の走行経路ＲＴ１が生成されていく。この仮の走行経路ＲＴ１が生成されると、次に、その仮の走行経路ＲＴ１に続く後退旋回部ＲＴ２と、その後退旋回部ＲＴ２に続く最終後退部ＲＴ３とを生成できるかが判定される。この判定条件のことを、本実施形態では、駐車可能条件と称する。
【００６７】
尚、ここで駐車可能条件が成立する場合には、仮の走行経路ＲＴ１がパターン走行部ＲＴ１とされ、成立した駐車可能条件に基づいて、後退旋回部ＲＴ２および最終後退部ＲＴ３が決定され、走行経路ＲＴ１〜ＲＴ３全体が生成される。一方、駐車可能条件が成立しない場合には、別の仮の走行経路ＲＴ１が生成され、再度、駐車可能条件が成立しているかが判定される。仮の走行経路ＲＴ１の生成と、駐車可能条件の判定とは、駐車可能条件が成立するか、又は、予め定められている経路パターンＰＴ１〜ＰＴ１０の組み合わせが全て生成されるまで、繰り返される。
【００６８】
ここで、図５（ａ），（ｂ）を参照して、走行経路ＲＴ１〜ＲＴ３全体が生成されるまでの流れと、駐車可能条件とについて説明する。図５（ａ）は、走行経路ＲＴ１〜ＲＴ３上の経路点Ｐの一例を説明するための模式図であり、図５（ｂ）は、駐車可能条件を説明するための模式図である。図５（ａ）では、経路点Ｐ０〜Ｐ６までの走行経路が、パターン走行部ＲＴ１に対応し、経路点Ｐ６〜Ｐ７までの走行経路が、後退旋回部ＲＴ２に対応し、経路点Ｐ７〜Ｐ８までの走行経路が、最終後退部ＲＴ３に対応している。
【００６９】
本実施形態では、走行経路ＲＴ１〜ＲＴ３全体の生成が試みられる場合、まず、走行経路ＲＴ１の生成が試みられる。例えば、図５（ａ）に示すように、車両１の出発地点である経路点Ｐ０では、点線および実線で示した１０通りの仮の走行経路ＲＴ１が一つずつ順番に生成される。そして、仮の走行経路ＲＴ１が生成される度に、仮の走行経路ＲＴ１の終端に対応する経路点Ｐにおいて、駐車可能条件が成立しているかが判定される（図１０のＳ３７参照）。
【００７０】
ここで、駐車可能条件が成立していると判定されると、仮の走行経路ＲＴ１が、車両１の走行経路ＲＴ１とされて、走行経路ＲＴ１〜ＲＴ３全体が生成され、そこで仮の走行経路ＲＴ１の生成が終了する。一方、１０通りの仮の走行経路ＲＴ１が生成され、何れにおいても駐車可能条件が成立しなければ、次に、別の仮の走行経路ＲＴ１が生成される。具体的には、先ほど生成した１０の仮の走行経路ＲＴ１毎に、その終端から１０通りの方向に走行経路を延長するように、別の仮の走行経路ＲＴ１を生成する。そして、それぞれの仮の走行経路ＲＴ１ごとに、駐車可能条件が成立しているかを判定する。
【００７１】
以後同様に、別の仮の走行経路ＲＴ１の生成と、駐車可能条件の成立の判定とが繰り返される。図５（ａ）の例では、経路点Ｐ０〜Ｐ６までの走行経路が生成され、経路点Ｐ６において、駐車可能条件が成立した状態を示している。
【００７２】
駐車可能条件は、２つの条件から構成されており、１つ目の条件は、仮の走行経路ＲＴ１の終端に対応する経路点Ｐから車両１を同一の旋回半径Ｒにより後退旋回させ、続けて車両１を後退直進させることで、車両１を目標とする駐車位置に停車させることが可能かという条件である。
【００７３】
ここで、図５（ｂ）を参照して、駐車可能条件が成立する経路点Ｐおよび車両方位θについて説明する。上述したとおり、駐車可能条件における１つ目の条件は、車両１を経路点Ｐから同一の旋回半径Ｒにより後退旋回させ、続けて車両１を後退直進させることで、車両１を目標とする駐車位置に停車させることが可能かという条件である。
【００７４】
図５（ｂ）は、駐車可能条件を説明するための模式図であり、経路点Ｐｖ０（ｘｖ０，ｙｖ０）は、駐車可能条件が成立しているかを判定する車両１の車両位置を示し、経路点ＰＶｎ（ｘｖｎ，ｙｖｎ）は、運転者が目標とする駐車位置と示す。また、経路点Ｐｖ０における車両１の車両方位をθｖと示し、経路点Ｐｖｎにおける車両１の車両方位をθｐと示す。
【００７５】
経路点Ｐｖ０から経路点Ｐｖｎへ向けて引いた直線と、ｘ軸（図５（ａ）参照）とのなす角度をθとした場合、その角度θは、
θ＝ｔａｎ−１（（ｙｖ０−ｙｖｎ）／（ｘｖ０−ｘｖｎ））
により算出できる。よって、経路点Ｐｖ０から経路点Ｐｖｎまでのｘ軸（図５（ａ）参照）に平行な距離をＰｘとし、経路点Ｐｖ０から経路点Ｐｖｎまでのｙ軸（図５（ａ）参照）に平行な距離をＰｙとすると、
Ｐｘ＝｜（（ｘｖ０−ｘｖｎ）２＋（ｙｖ０−ｙｖｎ）２）１／２・ｃｏｓ（θ＋π／２−θｐ）｜
Ｐｙ＝｜（（ｘｖ０−ｘｖｎ）２＋（ｙｖ０−ｙｖｎ）２）１／２・ｓｉｎ（θ＋π／２−θｐ）｜
により算出できる。
【００７６】
また、車両１の旋回中心Ｋからｙ軸に向けて垂直に引いた直線と、車両１の旋回中心Ｋから車両１の経路点ＰＶ０に向けて引いた直線とのなす角度をθｖｐとした場合、その角度θｖｐは、
θｖｐ＝θｖ０−θｖｎ
により算出できる。よって、これらの式から、車両１の旋回半径Ｒｐを次の式で算出できる。
【００７７】
Ｒｐ＝Ｐｘ／（１−ｃｏｓ（θＶｐ））
尚、この旋回半径Ｒｐが車両１の最小旋回半径以上となる場合に、上述した駐車可能条件の１つ目の条件が成立する。つまり、この式が、駐車可能条件における１つ目の条件である。
【００７８】
そして、経路点Ｐｖ０から車両１の旋回中心Ｋまでのｙ軸に平行な距離をＰｒｙとした場合、距離Ｐｒｙは、
Ｐｒｙ＝Ｒｐ・ｓｉｎ（θｖｐ）
により算出できる。ここで、駐車スペースの入り口から経路点Ｐｖｎまでのｙ軸に平行な距離をＰＬとすると、
Ｐｙ−ＰＬ＞Ｐｒｙ
が成立している場合にのみ、車両１を後退直進させて駐車スペースに進入させることができる。つまり、この式が、駐車可能条件における２つ目の条件である。
【００７９】
走行制御装置１００は、仮の走行経路ＲＴ１の終端に対応する経路点Ｐにおいて、上述した駐車可能条件における２つの条件が成立していれば、仮の走行経路ＲＴ１をパターン走行部ＲＴ１とし、そして、後退旋回部ＲＴ２と、最終後退部ＲＴ３とを決定し、走行経路ＲＴ１〜ＲＴ３全体を生成する。
【００８０】
尚、後退旋回部ＲＴ２と、最終後退部ＲＴ３との接続位置に対応する経路点Ｐは、（ｘｖ０−Ｐｘ，ｙｖ０−Ｐｒｙ）となるので、後退旋回部ＲＴ２を示す２つの経路点Ｐは、経路点ＰＶ０と、経路点Ｐ（ｘｖ０−Ｐｘ，ｙｖ０−Ｐｒｙ）とになり、最終後退部ＲＴ３を示す２つの経路点Ｐは、経路点Ｐ（ｘｖ０−Ｐｘ，ｙｖ０−Ｐｒｙ）と、経路点Ｐｖｎとになる。
【００８１】
パターン走行部ＲＴ１が生成され、後退旋回部ＲＴ２、および、最終後退部ＲＴ３が決定されると、各走行経路ＲＴ１〜ＲＴ３ごとに走行制御点Ｑが仮想的に生成される。走行制御点Ｑが仮想的に生成される場合には、走行制御点Ｑごとに、車両１の車両状態を設定するための車両設定情報が生成されると共に、その走行制御点Ｑを識別するためのインデックス番号（以下、「ＩＤ番号」と称す）が設定される（図２参照）。
【００８２】
このＩＤ番号は、走行経路ＲＴ１〜ＲＴ３上における走行制御点Ｑのうち、経路点Ｐ０（車両１の出発位置）に最も近い位置の走行制御点Ｑが１番に設定される。その後は、走行経路ＲＴ１〜ＲＴ３に沿ってＩＤ番号が１番ずつ大きくなるように、目標とする駐車位置に重なる走行制御点Ｑまで順番にＩＤ番号が設定される。
【００８３】
次に、図６を参照して、走行制御装置１００の詳細構成について説明する。図６は、走行制御装置１００の電気的構成を示したブロック図である。走行制御装置１００は、ＣＰＵ９１、フラッシュメモリ９２及びＲＡＭ９３を備え、それらがバスライン９４を介して入出力ポート９５に接続されている。また、入出力ポート９５には、車輪駆動装置３、操舵駆動装置５、ステアリングセンサ装置２１、ジャイロセンサ装置２２、車輪回転センサ２３、第１から第３までの各距離センサ２４ａ〜２４ｃ、自動駐車スイッチ２５、第１から第４までの各カメラ２６ａ〜２６ｄ、及び、その他の入出力装置９９などが接続されている。
【００８４】
ＣＰＵ９１は、バスライン９４によって接続された各部を制御する演算装置であり、フラッシュメモリ９２は、ＣＰＵ９１によって実行される制御プログラムや固定値データ等を記憶するための書き換え不能な不揮発性のメモリである。尚、後述する図９のフローチャートに示す自動駐車処理、図１０のフローチャートに示す点経路生成処理、図１２のフローチャートに示すパターン走行部制御点生成処理、図１４のフローチャートに示す後退旋回部制御点生成処理、図１６のフローチャートに示す最終後退部制御点生成処理を実行する各プログラムは、フラッシュメモリ９２に格納されている。
【００８５】
また、フラッシュメモリ９２には、経路パターンメモリ９２ａと、操舵量累積閾値メモリ９２ｂとが設けられている。経路パターンメモリ９２ａは、上述した１０種類の各経路パターンＰＴ１〜ＰＴ１０の形状や特性などを示すデータが格納されている。
【００８６】
具体的には、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さ（即ち、走行距離２ｍ）ＣＬや、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路を車両１が走行している間の旋回半径Ｒや、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路を車両１が走行している間の車両１の操舵角α１〜α１０や、車両１を前進させるものか後退させるものかや、車両１を直進させるものか旋回させるものかなどを示すデータが、１０種類の経路パターンＰＴ１〜ＰＴ１０毎に格納されている。
【００８７】
ここで、図７を参照して、１０種類の各経路パターンＰＴ１〜ＰＴ１０に個別に設定されている車両１の操舵角α１〜α１０について説明する。図７は、１０種類の各経路パターンに個別に設定されている車両１の操舵角を説明するための模式図である。
【００８８】
上述したように、本実施形態では、経路パターンＰＴ１〜ＰＴ１０毎に、断片的な走行経路が設定されており、それぞれの断片的な走行経路を車両１が走行している間は、車両１が同一の旋回半径Ｒで走行するように経路が設定されている。車両１の操舵角δは、車両１の旋回半径Ｒに対して相対的に決まるため、経路パターンＰＴ１〜ＰＴ１０毎に、車両１を走行させるための操舵角α１〜α１０が一意に決まる。そのため、本実施形態では、１０の各経路パターンＰＴ１〜ＰＴ１０に対して、車両１の操舵角α１〜α１０を予め設定している。
【００８９】
具体的には、図７に示すように、経路パターンＰＴ１には、車両１を前方直進させるための操舵角としてα１が設定されており、経路パターンＰＴ２には、車両１を後退直進させるための操舵角としてα２が設定されている。
【００９０】
同様に、経路パターンＰＴ３には、車両１の旋回半径Ｒを最小旋回半径の２倍とし、車両１を前方左旋回させるための操舵角としてα３が設定され、経路パターンＰＴ４には、車両１の旋回半径Ｒを最小旋回半径の２倍とし、車両１を前方右旋回させるための操舵角としてα４が設定されている。その他の経路パターンＰＴ４〜ＰＴ１０についても、操舵角α４〜α１０がそれぞれ設定されている。
【００９１】
例えば、経路パターンＰＴ１に対応する走行経路を車両１が走行している場合、車両１では操舵角がα１に維持される。また、経路パターンＰＴ４に対応する走行経路を車両１が走行している場合、車両１では操舵角がα４に維持される。
【００９２】
また、例えば、これまで経路パターンＰＴ１に対応する走行経路を車両１が走行していたが、これから経路パターンＰＴ４に対応する走行経路を車両１が走行し始める場合、車両１の操舵角はα１からα４に変更され、経路パターンＰＴ４に対応する走行経路を車両１が通過するまで操舵角α４が維持される。
【００９３】
ここで、図６の説明に戻る。操舵量累積閾値メモリ９２ｂは、仮の走行経路ＲＴ１を生成する場合の生成条件（図１０のＳ４２参照）を変更するか否かの判定基準となる操舵量累積閾値Ａが格納されるメモリである。この操舵量累積閾値Ａは、車両１が蛇行するような仮の走行経路ＲＴ１など、走行中の車両１の操舵変化が大きいものが、走行経路ＲＴ１として用いられることを抑制するための閾値である。操舵量累積閾値メモリ９２ｂは、仮の走行経路ＲＴ１の生成が試みられる場合に、ＣＰＵ９１により参照される。尚、操舵量累積閾値Ａは、適宜決めれば良い。
【００９４】
車両１が走行している間は、車両１の操舵角が変化する度に、車両１の搭乗者に横Ｇなどの力が加わるので、車両１の操舵角の変化量が少ないほど、車両１の搭乗者に加わる横Ｇなどの力を軽減できる可能性が高まり、搭乗者に与える不快感を軽減できる可能性が高まる。一方、車両１の操舵角の変化量が多いほど、車両１の搭乗者に横Ｇなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高くなる。
【００９５】
詳細については後述するが、そこで、本実施形態では、仮の走行経路ＲＴ１の生成を試みる場合に、仮の走行経路ＲＴ１を車両１が走行したと仮定して、車両１の走行開始から終了までの車両１の操舵量累積値ＳＴを算出している。
【００９６】
そして、その算出した操舵量累積値ＳＴ（後述する操舵量累積値メモリ９３ｄの値）と、操舵量累積閾値メモリ９２ｂの操舵量累積閾値Ａとを比較し、操舵量累積値ＳＴが操舵量累積閾値Ａ以下であれば、車両１の操舵角の変化量が少ないため、車両１の搭乗者に加わる横Ｇなどの力を軽減できる可能性が高く、搭乗者に与える不快感を軽減できる可能性が高い。よって、この場合は、今回生成を試みた仮の走行経路ＲＴ１を実際の走行経路ＲＴ１として用いる。
【００９７】
一方、算出した操舵量累積値ＳＴが操舵量累積閾値Ａを超えていれば、車両１の操舵角の変化量が多く、車両１の搭乗者に横Ｇなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高い。よって、この場合は、今回生成を試みた仮の走行経路ＲＴ１を、実際の走行経路ＲＴ１としては用いず、次の仮の走行経路ＲＴ１の生成を試みる。
【００９８】
ＲＡＭ９３は、書き換え可能な揮発性のメモリであり、ＣＰＵ９１によって実行される制御プログラムの実行時に各種のデータを一時的に記憶するためのメモリである。ＲＡＭ９３には、点経路パターンメモリ９３ａと、点経路メモリ９３ｂと、走行制御点メモリ９３ｃと、操舵量累積値メモリ９３ｄとが設けられている。
【００９９】
点経路パターンメモリ９３ａは、パターン走行部ＲＴ１を示す経路パターン番号「ＰＴ１〜ＰＴ１０」の組み合わせ（以後、経路パターン番号「ＰＴ１〜ＰＴ１０」の順列と称す）が記憶されるメモリである。点経路パターンメモリ９３ａは、後述する自動駐車処理（図９参照）が実行された場合に、ＣＰＵ９１によりクリアされる。そして、現在の車両位置から目標とする駐車位置までの走行経路ＲＴ１〜ＲＴ３全体がＣＰＵ９１により生成される場合に、そのパターン走行部ＲＴ１を示す経路パターン番号「ＰＴ１〜ＰＴ１０」の順列が記憶される。
【０１００】
この点経路パターンメモリ９３ａに記憶される経路パターン番号「ＰＴ１〜ＰＴ１０」の順列は、走行経路ＲＴ１〜ＲＴ３上の各経路点Ｐにおいて、車両１が前進しているか後退しているかの状態を取得する場合や、切り返しの有無の状態を取得する場合に参照される（図１２のＳ６１、図１４のＳ８０、図１６のＳ９９参照）。また、パターン走行部ＲＴ１における経路点Ｐの位置を算出する場合にも参照される（図４参照）。
【０１０１】
点経路メモリ９３ｂは、走行経路ＲＴ１〜ＲＴ３を示す各経路点Ｐの経路点情報が記憶されるメモリである。上述したように、経路点情報は、経路点Ｐにおける車両１の車両位置と、経路点Ｐにおける車両１の車両方位θにより構成されている。また、上述したように、走行経路ＲＴ１〜ＲＴ３のうち、パターン走行部ＲＴ１では、各経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の始端および終端を、それぞれ経路点Ｐとしている。また、後退旋回部ＲＴ２および最終後退部ＲＴ３では、各走行経路ＲＴ２，ＲＴ３の始端および終端を、経路点Ｐとしている。
【０１０２】
ＣＰＵ９１は、走行経路ＲＴ１〜ＲＴ３全体を生成した場合に、パターン走行部ＲＴ１における経路点Ｐの経路点情報と、後退旋回部ＲＴ２における経路点Ｐの経路点情報と、最終後退部ＲＴ３における経路点Ｐの経路点情報とをそれぞれ点経路メモリ９３ｂに記憶する（図１０のＳ４８参照）。この点経路メモリ９３ｂに記憶されている各経路点Ｐの経路点情報は、走行制御点Ｑを生成するために参照される。
【０１０３】
走行制御点メモリ９３ｃは、走行経路ＲＴ１〜ＲＴ３に対して生成される点である各走行制御点Ｑの車両設定情報が記憶されるメモリである。上述したように、走行制御点Ｑは、走行制御装置１００が車両１を走行経路ＲＴ１〜ＲＴ３に沿って自律走行させる場合に、進行方向や操舵角などの車両１の走行状態を制御するための点である。
【０１０４】
本実施形態では、走行経路ＲＴ１〜ＲＴ３に対して走行制御点Ｑが生成される場合、現在位置から目標とする駐車位置まで０．０５ｍ間隔で、走行経路ＲＴ１〜ＲＴ３上に仮想的に走行制御点Ｑが生成される（図９のＳ８，Ｓ９，Ｓ１０参照）。尚、経路点Ｐ０（車両１の出発位置）を除く各経路点Ｐ上には、必ず走行制御点Ｑが生成される。そして、各走行制御点Ｑごとに、車両設定情報が生成されると共に、その走行制御点Ｑを識別するためのＩＤ番号が設定され、生成された走行制御点Ｑの車両設定情報と、設定された走行制御点ＱのＩＤ番号とが関連づけられて、この走行制御点メモリ９３ｃにそれぞれ記憶される。
【０１０５】
ここで、図８を参照して、走行制御点メモリ９３ｃの内容の一例について説明する。図８は、走行制御点メモリ９３ｃの内容の一例を示す模式図である。図８に示すように、走行制御点メモリ９３ｃには、各走行制御点Ｑの車両設定情報を示すテーブルが記憶される。このテーブルは、各走行制御点Ｑに対応する車両設定情報が、その走行制御点Ｑに対応するＩＤ番号に関連づけられている状態を示している。また、このテーブルでは、各車両設定情報がＩＤ番号順に並べられている。
【０１０６】
各走行制御点Ｑの車両設定情報は、走行制御点Ｑにおける車両１の車両位置と、走行制御点Ｑにおける車両１の車両方位θと、走行制御点Ｑにおける車両１の操舵角δと、走行制御点Ｑにおける進行方向フラグと、走行制御点Ｑにおける切り返し判定フラグとにより構成される。そして、これらの各走行制御点Ｑの車両設定情報には、それぞれＩＤ番号が関連づけられている。尚、テーブルにおけるＩＤ番号の最大値は、最大インデックス番号ＩＤｍａｘとして、ＲＡＭ９３の所定領域に記憶されている。
【０１０７】
車両位置と、車両方位θと、操舵角δと、ＩＤ番号とについては上述したので、その説明を省略する。進行方向フラグは、走行制御点Ｑにおいて車両１が前進するか、後退するかを示すフラグであり、走行制御点Ｑにおいて車両１が前進する場合には「１」に設定される一方、車両１が後退する場合には「−１」に設定される。切り返し判定フラグは、走行制御点Ｑにおいて車両１が前進または後退を切り替えるかを示すフラグであり、走行制御点Ｑにおいて車両１が前進または後退を維持し走行する場合には「０」に設定される一方、車両１が前進を後退に切り替える場合や、車両１が後退を前進に切り替える場合には「１」に設定される。
【０１０８】
ＣＰＵ９１は、走行経路ＲＴ１〜ＲＴ３を車両１が自律走行している場合、所定間隔（例えば、５０ｍｓ）ごとに、現在の車両１の車両位置に最も近い走行制御点Ｑに基づいて車両１の走行状態を設定し、車両１が次に通過すべき走行制御点Ｑへ向かうように車両１を自律走行させる。
【０１０９】
ここで、図６の説明に戻る。操舵量累積値メモリ９３ｄは、仮の走行経路ＲＴ１の生成を試みる場合に、その仮の走行経路ＲＴ１を車両１に走行させたと仮定して算出する操舵量累積値ＳＴ（即ち、操舵角の変化量の累積値）を記憶するためのメモリである。操舵量累積値メモリ９３ｄの値は、仮の走行経路ＲＴ１の生成が試みられる度に、その仮の走行経路ＲＴ１に応じて更新される。
【０１１０】
上述したように、仮の走行経路ＲＴ１は、経路パターンＰＴ１〜ＰＴ１０が順番に組み合わされて構成される。本実施形態では、仮の走行経路ＲＴ１を示す経路パターンＰＴ１〜ＰＴ１０の組み合わせが取得されると、その組み合わせのうち、隣接する２つの経路パターン毎に、車両１の操舵角の変化量を算出し、各変化量の絶対値を累積したものを、操舵量累積値ＳＴとして算出している。
【０１１１】
例えば、経路パターンＰＴ１→経路パターンＰＴ４→経路パターンＰＴ４→経路パターンＰＴ３という経路パターンＰＴ１〜ＰＴ１０の組み合わせが取得されたとする。即ち、４つの走行区間で構成される仮の走行経路ＲＴ１の生成が、これから試みられるとする。
【０１１２】
この仮の走行経路ＲＴ１を車両１が走行したと仮定すると、まず、出発地点において車両１の操舵角がα１に設定される。その後、設定された操舵角α１が維持され、車両１は、１番目の走行区間（経路パターンＰＴ１に対応する走行経路）を走行する。そして、車両１が、２番目の走行区間（経路パターンＰＴ４に対応する走行経路）に差し掛かると、車両１の操舵角がα１からα４に変更される。よって、ここでは「α４−α１」という操舵量が生じる。
【０１１３】
その後、車両１の操舵角がα４に維持されて、車両１は、２番目の走行区間を走行する。次に、車両１は、３番目の走行区間（経路パターンＰＴ４に対応する走行経路）に差し掛かるが、２番目の走行区間と、３番目の走行区間とは同一の経路パターンＰＴ４なので、車両１の操舵角は、α４のまま変わらない。よって、ここでは、操舵量が生じない。
【０１１４】
そして、車両１が、４番目の走行区間（経路パターンＰＴ３に対応する走行経路）に差し掛かると、車両１の操舵角がα４からα３に変更される。よって、ここでは、「α３−α４」という操舵量が生じる。その後、車両１の操舵角がα３に維持されて、車両１は、４番目の走行区間を走行し、仮の走行経路ＲＴ１全体の走行を終える。
【０１１５】
その結果、仮の走行経路ＲＴ１を車両１が走行したと仮定した場合、車両１の走行開始から終了までに、車両１において「｜α４−α１｜＋｜α３−α４｜」という操舵量（操舵角の変化量）の累積が生じる。操舵量累積値メモリ９３ｄには、この累積値が、操舵量累積値ＳＴとして記憶される。この操舵量累積値メモリ９３ｄは、仮の走行経路ＲＴ１の生成条件を変更するか否かを判定するために、ＣＰＵ９１により参照される。
【０１１６】
次に、図９〜図１７までのフローチャートと、模式図とを参照して、車両１に搭載された走行制御装置１００のＣＰＵ９１により実行される自動駐車処理について説明する。図９は、走行制御装置１００により実行される自動駐車処理を示すフローチャートである。自動駐車処理は、現在位置から運転者により設定される駐車位置まで車両１を自律走行させて、その駐車位置に車両１を停車させるものであり、運転者により自動駐車スイッチ２５が押下された場合に実行される。
【０１１７】
自動駐車処理では、まず、ＲＡＭ９３の点経路パターンメモリ９３ａをクリアする（Ｓ１）。次に、運転者により設定される駐車位置を取得し、その駐車位置に車両１が駐車した場合の、左右の後輪２ＲＬ，２ＲＲの車軸上をｘ軸とし、車両１中央の前後軸上をｙ軸とし、ｘ軸およびｙ軸の交点を原点Ｏに決定する（Ｓ２）。例えば、４つのカメラ２６ａ〜２６ｄで撮像した画像を繋ぎ合わせて、車両１の周囲画像を作成する。そして、その作成した画像を、車両１の車内に設けられているタッチパネル（図示せず）上に表示して、運転者に駐車位置を入力するように報知する。その後、表示画面が運転者により触れられたら、その触れられた画面位置に対応する駐車位置を算出して、原点Ｏとする。
【０１１８】
次に、現在地点を出発地点として（Ｓ３）、点経路生成処理を実行する（Ｓ４）。ここで、図１０を参照して、車両１に搭載された走行制御装置１００のＣＰＵ９１により実行される点経路生成処理について説明する。図１０は、走行制御装置１００により実行される点経路生成処理を示すフローチャートである。
【０１１９】
点経路生成処理は、経路パターン番号「ＰＴ１〜ＰＴ１０」を１つ、又は、複数組み合わせて、経路パターン番号「ＰＴ１〜ＰＴ１０」の順列を生成し、その順列に対応する仮の走行経路ＲＴ１を生成するための処理である。また、生成した仮の走行経路ＲＴ１の終端において駐車可能条件が成立している場合に、出発地点から運転者により設定された駐車位置までの走行経路ＲＴ１〜ＲＴ３全体を生成する。
【０１２０】
更に、仮の走行経路ＲＴ１の生成を試みている場合に、車両１の搭乗者に不快感を与える仮の走行経路ＲＴ１が生成されるおそれがあれば、仮の生成経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直す。
【０１２１】
点経路生成処理では、変数ａに０を設定し、変数ｍに６を設定して、変数ａ，ｍの初期設定を行う（Ｓ３１）。尚、変数ａは、仮の走行経路ＲＴ１を構成する経路パターンＰＴ１〜ＰＴ１０の合計数を設定するものであり、変数ｍは、仮の走行経路ＲＴ１を構成する経路パターンＰＴ１〜ＰＴ１０数の最大値を設定するものである。
【０１２２】
次に、１０の経路パターン番号「ＰＴ１〜ＰＴ１０」のうち、重複を許すａ個の経路パターン番号で構成される重複順列の中から、順列を一つ取得する（Ｓ３２）。尚、ここでは、経路パターン番号の小さいものから順に、重複順列を一つずつ取得する。例えば、ａ＝０の場合には何も取得されず、ａ＝１の場合の１番目には「ＰＴ１」が取得され、２番目には「ＰＴ２」が取得され、以下同様に重複順列が取得される。また、ａ＝２の場合の１番目には「ＰＴ１，ＰＴ１」が取得され、２番目には「ＰＴ１，ＰＴ２」が取得され、３番目には「ＰＴ１，ＰＴ３」が取得され、以下同様に重複順列が取得され、ａ＝６の場合の最後には「ＰＴ１０，ＰＴ１０，ＰＴ１０，ＰＴ１０，ＰＴ１０，ＰＴ１０」が取得される。
【０１２３】
次に、Ｓ３２の処理で取得した重複順列に対応する仮の走行経路ＲＴ１を車両１が走行したと仮定して、車両１の走行開始から終了までの車両１の操舵量累積値ＳＴ（即ち、操舵角の変化量の累積値）を算出する（Ｓ３３）。そして、算出した操舵量累積値ＳＴを、ＲＡＭ９３の操舵量累積値メモリ９３ｄに記憶して（Ｓ３４）、その操舵量累積値ＳＴが、フラッシュメモリ９２の操舵量累積閾値メモリ９２ｂに格納されている操舵量累積閾値Ａを超えているかを判定する（Ｓ３５）。
【０１２４】
Ｓ３５の判定が否定される場合は（Ｓ３５：Ｎｏ）、操舵量累積値ＳＴが操舵量累積閾値Ａ以下なので、Ｓ３２の処理で取得した重複順列に対応する仮の走行経路ＲＴ１を実際に生成したとしても、走行中の操舵角の変化が少なく、車両１の搭乗者に与える不快感を軽減できる仮の走行経路ＲＴ１を生成できる。よって、この場合は、Ｓ３２の処理で取得した重複順列に対応する仮の走行経路ＲＴ１の生成を試みる。
【０１２５】
具体的には、Ｓ３２の処理で取得した重複順列に対応する仮の走行経路ＲＴ１を生成し、その到着地点を取得する（Ｓ３６）。尚、上述したように、本実施形態では、仮の走行経路ＲＴ１を生成する場合、その仮の走行経路ＲＴ１を示す経路点Ｐが生成される。次に、仮の走行経路ＲＴ１を示す各経路点Ｐのうち、到着地点を示す経路点Ｐにおいて、駐車可能条件が成立しているかを判定する（Ｓ３７）。
【０１２６】
尚、本実施形態では、Ｓ３１の処理において、ａ＝１と初期設定せずに、ａ＝０と初期設定を行っている。これは、Ｓ３７の処理により、出発地点において駐車可能条件が成立しているかを判定するためである。もし、ａ＝１と初期設定すると、必ず走行経路ＲＴ１が生成されることになり、出発地点において駐車可能条件が成立する場合には、無駄な走行経路ＲＴ１を生成してしまう。よって、ａ＝０と初期設定することにより、無駄な走行経路ＲＴ１の生成を抑制できる。
【０１２７】
Ｓ３７の判定が否定される場合には（Ｓ３７：Ｎｏ）、ａ個の経路パターン番号で構成される重複順列を全て取得したかを判定する（Ｓ３８）。Ｓ３８の判定が否定される場合には（Ｓ３８：Ｎｏ）、Ｓ３２の処理に戻る。Ｓ３８の判定が肯定される場合には（Ｓ３８：Ｙｅｓ）、変数ａの値が、変数ｍの値未満であるかを判定する（Ｓ３９）。Ｓ３９の判定が肯定される場合には（Ｓ３９：Ｙｅｓ）、変数ａに１を加算して（Ｓ４０）、Ｓ３２の処理に戻る。
【０１２８】
一方、Ｓ３５の判定が肯定される場合は（Ｓ３５：Ｙｅｓ）、操舵量累積値ＳＴが操舵量累積閾値Ａを超えているので、Ｓ３２の処理で取得した重複順列に対応する仮の走行経路ＲＴ１を実際に生成した場合、走行中の操舵角の変化が多く、車両１の搭乗者に不快感を与える可能性が高い仮の走行経路ＲＴ１が生成される。
【０１２９】
そこで、この場合は、仮の走行経路ＲＴ１の生成を行わず、走行中の操舵角の変化を軽減できる仮の走行経路ＲＴ１が生成されるように、仮の走行経路ＲＴ１の生成条件を変更し、仮の走行経路ＲＴ１の生成を最初からやり直す。即ち、Ｓ３５の判定が肯定される場合は（Ｓ３５：Ｙｅｓ）、まず、仮の走行経路ＲＴ１の生成条件を変更する（Ｓ４２）。具体的には、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、２ｍから１ｍに変更する。
【０１３０】
次に、変数ａに１を設定し、変数ｍに１２を設定して、変数ａ，ｍの設定を行い（Ｓ４３）、１０の経路パターン「ＰＴ１〜ＰＴ１０」の重複順列の取得を始めからやり直すように設定して（Ｓ４４）、Ｓ３２の処理に戻る。これにより、今後、仮の走行経路ＲＴ１を生成する場合に、より詳細に経路を構成できる。
【０１３１】
よって、例えば、車両１の出発位置および目標とする駐車位置Ｏの位置関係と、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬとの折り合いが悪く、車両１が回りくどく走行するような仮の走行経路ＲＴ１が生成され、それが走行経路ＲＴ１〜ＲＴ３（図１１（ａ）参照）として用いられるような場合に、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを短くすることで、その折り合いがつく可能性を向上させることができる。
【０１３２】
その結果、車両１がスムーズに走行できる仮の走行経路ＲＴ１が生成され、それが走行経路ＲＴ１〜ＲＴ３（図１１（ｃ）参照）として用いられる可能性を向上させることができるので、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１〜ＲＴ３を生成する可能性を向上させることができる。
【０１３３】
ここで、図１１を参照して、仮の走行経路ＲＴ１の生成条件を変更しない場合に生成される走行経路ＲＴ１〜ＲＴ３の一例と、仮の走行経路ＲＴ１の生成条件を変更した場合に生成される走行経路ＲＴ１〜ＲＴ３の一例とについて説明する。
【０１３４】
図１１（ａ）は、仮の走行経路ＲＴ１の生成条件を変更しない場合に生成される走行経路ＲＴ１〜ＲＴ３の一例を説明するための模式図であり、図１１（ｂ）は、図１１（ａ）に示す走行経路ＲＴ１〜ＲＴ３を車両１に走行させた場合の操舵量累積値ＳＴを示すグラフである。まず、図１１（ａ），（ｂ）を参照して、仮の走行経路ＲＴ１の生成条件を変更しない場合に生成される走行経路ＲＴ１〜ＲＴ３の一例について説明する。
【０１３５】
図１１（ａ）では、経路点Ｐ１０が出発地点であり、経路点Ｐ１５が目標とする駐車位置Ｏであって、車両１が出発地点を出発した後、経路点Ｐ１１〜経路点Ｐ１４を経由して、目標とする駐車位置Ｏへ至る走行経路ＲＴ１〜ＲＴ３を示している。尚、経路点Ｐ１０から経路点Ｐ１１までの区間と、経路点Ｐ１２から経路点Ｐ１３までの区間とは車両１が前進する一方、経路点Ｐ１１から経路点Ｐ１２までの区間と、経路点Ｐ１３から経路点Ｐ１５までの区間とは、車両１が後退する。また、図１１（ｂ）では、車両１の操舵量累積値ＳＴを縦軸に示し、走行経路ＲＴ１〜ＲＴ３における車両１の走行位置を横軸に示している。
【０１３６】
上述したように、本実施形態では、仮の走行経路ＲＴ１が、１０種類の経路パターンＰＴ１〜ＰＴ１０の１つ、又は、複数の組み合わせにより生成される。この１０種類の経路パターンＰＴ１〜ＰＴ１０については、経路パターンＰＴ１〜ＰＴ１０毎に、断片的な走行経路と（図３参照）、その断片的な走行経路を車両１が走行する場合の車両１の操舵角α１〜α１０とが設定されている（図７参照）。そして、それぞれの断片的な走行経路を車両１が走行している間は、車両１においてその操舵角α１〜α１０が維持されるように制御される。
【０１３７】
よって、図１１（ａ）に示す走行経路ＲＴ１〜ＲＴ３を車両１が走行する場合、車両１の操舵角δは、まず出発地点（経路点Ｐ１０）において変更され、その後は、車両１が各経路点Ｐ１１〜Ｐ１４を通過する度に変更される。
【０１３８】
従って、図１１（ａ）に示す走行経路ＲＴ１〜ＲＴ３を車両１に走行させた場合の操舵量累積値ＳＴは、図１１（ｂ）に示すように、まず、出発地点（経路点Ｐ１０）において発生し、その後は、車両１が各経路点Ｐ１１〜Ｐ１４を通過する度に増加していく。尚、車両１において操舵角δを変更する場合、車両１の構造上、変更開始から完了までに一定の制御時間を要する。そのため、操舵量累積値ＳＴは、瞬間的に上昇するのではなく、図１１（ｂ）に示すように、一定の制御時間をかけて上昇する。
【０１３９】
図１１（ａ）に示す走行経路ＲＴ１〜ＲＴ３では、車両１が出発地点から目標地点まで走行できるものの、走行中の車両１の切り返しが多く、車両１の操舵角の変更回数や、変更量が多い。そのため、操舵量累積値ＳＴも大きく、この走行経路ＲＴ１〜ＲＴ３に従って車両１を走行させると、車両１の走行中に、車両１の搭乗者に横Ｇなどの力が何度も加わってしまう。その結果、車両１の搭乗者に不快感を与えてしまう。
【０１４０】
そこで、本実施形態では、走行経路ＲＴ１〜ＲＴ３を生成する前の段階で、即ち、仮の走行経路ＲＴ１を生成する段階で、生成予定の仮の走行経路ＲＴ１について、操舵量累積値ＳＴを算出し、評価している。
【０１４１】
具体的には、仮の走行経路ＲＴ１の生成を試みる度に、今回生成する予定の仮の走行経路ＲＴ１について、操舵量累積値ＳＴを算出する。そして、その算出した操舵量累積値ＳＴが、操舵量累積閾値Ａを超えていれば、今回生成する予定の仮の走行経路ＲＴ１を、実際の走行経路ＲＴ１として利用できても、車両１が走行経路ＲＴ１を走行している間に、車両１の搭乗者に横Ｇなどの力が何度も加わってしまうおそれがある。
【０１４２】
よって、操舵量累積値ＳＴが操舵累積閾値Ａを超えていれば、今回生成する予定の仮の走行経路ＲＴ１が、実際の走行経路ＲＴ１として利用できるかできないかに関係なく、そもそも生成も行わず、新たな仮の走行経路ＲＴ１の生成を開始する。更に、この場合には、操舵角累積値ＳＴの小さい仮の走行経路ＲＴ１が生成され易くなるように、仮の走行経路ＲＴ１の生成条件も変更する。
【０１４３】
具体的には、上述したように、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、２ｍから１ｍに変更する。これにより、今後、仮の走行経路ＲＴ１を生成する場合に、より詳細に経路を構成できる。
【０１４４】
次に、図１１（ｃ），（ｄ）を参照して、仮の走行経路ＲＴ１の生成条件を変更した場合に生成される走行経路ＲＴ１〜ＲＴ３の一例について説明する。図１１（ｃ）は、仮の走行経路ＲＴ１の生成条件を変更した場合に生成される走行経路ＲＴ１〜ＲＴ３の一例を説明するための模式図であり、図１１（ｄ）は、図１１（ｃ）に示す走行経路ＲＴ１〜ＲＴ３を車両１に走行させた場合の操舵量累積値ＳＴを示すグラフである。
【０１４５】
図１１（ｃ）では、経路点Ｐ２０が出発地点であり、経路点Ｐ２３が目標とする駐車位置Ｏであって、車両１が出発地点を出発した後、経路点Ｐ２１および経路点Ｐ２２を経由して、目標とする駐車位置Ｏへ至る走行経路ＲＴ１〜ＲＴ３を示している。尚、経路点Ｐ２０から経路点Ｐ２２までの区間は車両１が前進する一方、経路点Ｐ２２から経路点Ｐ２３までの区間は車両１が後退する。また、図１１（ｄ）では、図１１（ｂ）と同様に、車両１の操舵量累積値ＳＴを縦軸に示し、走行経路ＲＴ１〜ＲＴ３における車両１の走行位置を横軸に示している。
【０１４６】
図１１（ｃ）に示す走行経路ＲＴ１〜ＲＴ３を車両１が走行する場合も、図１１（ａ）の場合と同様に、車両１の操舵角δは、まず出発地点（経路点Ｐ２０）において変更され、その後は、車両１が各経路点Ｐ２１，Ｐ２２を通過する度に変更される。
【０１４７】
よって、図１１（ｃ）に示す走行経路ＲＴ１〜ＲＴ３を車両１に走行させた場合の操舵量累積値ＳＴは、図１１（ｄ）に示すように、まず、出発地点（経路点Ｐ２０）において発生し、その後は、車両１が各経路点Ｐ２１，Ｐ２２を通過する度に増加していく。
【０１４８】
図１１（ｃ）に示す走行経路ＲＴ１〜ＲＴ３では、車両１が出発地点から目標地点まで走行でき、更に、走行中の車両の切り返しは１回のみであり、車両１の操舵角の変更回数や、変更量が少ない。そのため、操舵量累積値ＳＴが小さく、操舵量累積閾値Ａを下回る。よって、この走行経路ＲＴ１〜ＲＴ３に従って車両１を走行させた場合、図１１（ａ）に示す走行経路ＲＴ１〜ＲＴ３と比較して、車両１の走行中に、車両１の搭乗者に横Ｇなどの力が加わることが軽減される。その結果、車両１の搭乗者に与える不快感を軽減できる。
【０１４９】
ここで、図１０の説明に戻る。Ｓ３９の判定が否定される場合は（Ｓ３９：Ｎｏ）、予め規定していた重複順列を全て取得したが、走行経路ＲＴ１〜ＲＴ３が見つからなかった場合なので、ＲＡＭ９３の点経路メモリ９３ｂをクリアして（Ｓ４１）、点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０１５０】
一方、Ｓ３７の判定が肯定される場合には（Ｓ３７：Ｙｅｓ）、Ｓ３２の処理で取得した経路パターン番号「ＰＴ１〜ＰＴ１０」の重複順列を、ＲＡＭ９３の点経路パターンメモリ９３ａに記憶する（Ｓ４５）。尚、本実施形態では、Ｓ３７の処理において駐車可能条件が成立していると判定されると、駐車可能条件の成立している仮の走行経路ＲＴ１が、パターン走行部ＲＴ１に決定される。
【０１５１】
次に、図５（ｂ）で説明したように、後退旋回部ＲＴ２の経路点Ｐを決定し（Ｓ４６）、最終後退部ＲＴ３の経路点Ｐを決定する（Ｓ４７）。そして、一連の走行経路ＲＴ１〜ＲＴ３に対応する各経路点Ｐの経路点情報（車両位置および車両方位θ）を点経路メモリ９３ｂに記憶して（Ｓ４８）、この点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０１５２】
以上の図１０に示す点経路生成処理によって、仮の走行経路ＲＴ１の生成を試みる場合に、生成予定の仮の走行経路ＲＴ１について操舵量累積値ＳＴを算出し、その算出した操舵量累積値ＳＴが操舵量累積積閾値Ａを超えていれば、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直すことができる。
【０１５３】
一方、その算出した操舵量累積値ＳＴが操舵量累積積閾値Ａ以下であれば、その操舵量累積値ＳＴに対応する仮の走行経路ＲＴを、パターン走行部ＲＴとして用いることができる。上述したように、車両１が走行している間は、車両１の操舵角が変化する度に、車両１の搭乗者に横Ｇなどの力が加わるので、車両１の操舵角の変化量が少ないほど、車両１の搭乗者に加わる横Ｇなどの力を軽減できる可能性が高まり、搭乗者に与える不快感を軽減できる可能性が高まる。一方、車両１の操舵角の変化量が多いほど、車両１の搭乗者に横Ｇなどの力が何度も加わるおそれがあり、搭乗者に不快感を与える可能性が高くなる。
【０１５４】
本実施形態では、車両１の操舵量累積値ＳＴが少なく、車両１の搭乗者に加わる横Ｇなどの力を軽減できる仮の走行経路ＲＴ１を、パターン走行部ＲＴ１として用いることができるので、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１を生成できる。
【０１５５】
また、本実施形態では、走行距離の短い（経路パターンの組み合わせ数の少ないものから）順番に、仮の走行経路ＲＴ１が生成される。即ち、走行距離が徐々に長くなっていくため、一旦、操舵量累積値ＳＴが操舵量累積閾値Ａを超えた場合、その後は、操舵量累積値ＳＴがより増える可能性の方が高く、また、その仮の走行経路ＲＴ１と同様なものが生成されるおそれも高い。
【０１５６】
そこで、操舵量累積値ＳＴが操舵量累積閾値Ａを超えた場合、それ以降は、その仮の走行経路ＲＴ１と同様なものが生成されないように、現在の生成条件と同一条件での仮の走行経路ＲＴ１の生成を中断し、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直している。よって、今回生成された仮の走行経路ＲＴ１と同様なものが生成されるおそれを抑制できるので、無駄な仮の走行経路ＲＴ１が生成される可能性を抑制できる。
【０１５７】
また、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直すことで、変更前の生成条件では、操舵量累積値ＳＴが操舵量累積閾値Ａを超える仮の走行経路ＲＴ１が生成されたとしても、変更後の生成条件では、操舵量累積値ＳＴの小さい仮の走行経路ＲＴ１が生成される可能性を向上させることができる。よって、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１を生成できる可能性を向上させることができる。
【０１５８】
また、仮の走行経路ＲＴ１の生成を試みる場合に、直ぐに仮の走行経路ＲＴ１を生成開始するのではなく、生成前にまず、その仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出し、その操舵量累積値ＳＴが操舵量累積閾値Ａ以下であれば、実際に仮の走行経路ＲＴ１を生成している。よって、操舵量累積値ＳＴが操舵量累積閾値Ａ超えている仮の走行経路ＲＴ１、即ち、車両１の搭乗者に不快感を与えるおそれの高い仮の走行経路ＲＴ１については、その生成を抑制できる。
【０１５９】
従って、生成しても意味のない仮の走行経路ＲＴ１については、その生成を抑制できるので、走行経路ＲＴ１が生成されるまでの時間を短縮できる。また、走行制御装置１００に掛かる負担を軽減できる。
【０１６０】
また、仮の走行経路ＲＴ１の生成を試みる場合に、１つずつ仮の走行経路ＲＴ１の生成を試みて、その仮の走行経路ＲＴ１について操舵量累積値ＳＴを算出し、その操舵量累積値ＳＴが操舵量累積閾値Ａを超えていれば、そこで、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直している。
【０１６１】
よって、操舵量累積値ＳＴが操舵量累積閾値Ａを超える仮の走行経路ＲＴ１が１つでも見つかれば、そこで、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直すことができる。従って、仮の走行経路ＲＴ１の生成条件をより早く変更して、新たな生成条件の下で、仮の走行経路ＲＴ１の生成を開始できるので、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１を生成するまでの時間を、短縮できる。
【０１６２】
また、仮の走行経路ＲＴ１の生成条件を変更する場合に、生成に用いる経路パターンＰＴ１〜ＰＴ１０の種類を入れ替えるのではなく、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを変更している。よって、経路パターンＰＴ１〜ＰＴ１０のパターンの種類を、予め多数設けて記憶しておかなくても、仮想的に、経路パターンＰＴ１〜ＰＴ１０のパターンの種類を増やすことができる。従って、経路パターンＰＴ１〜ＰＴ１０のパターンの種類を抑制しつつ、車両１の搭乗者に与える不快感を抑制できる走行経路を生成できる。
【０１６３】
尚、本実施形態では、仮の走行経路ＲＴ１の生成を試みる場合に、１つずつ仮の走行経路ＲＴ１の生成を試みて、その仮の走行経路ＲＴ１について操舵量累積値ＳＴを算出し、その操舵量累積値ＳＴが操舵量累積閾値Ａを超えていれば、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直している。これに対して、仮の走行経路ＲＴ１の生成を試みる場合に、複数の仮の走行経路ＲＴ１の生成を試みてから、操舵量累積値ＳＴの算出と、算出した操舵量累積値ＳＴが操舵量累積閾値Ａを超えているか否かの判定とを、纏めて行っても良い。
【０１６４】
ここで、図９の説明に戻る。点経路生成処理（Ｓ４）が終了したら、次に、Ｓ４の処理によって走行経路ＲＴ１〜ＲＴ３が生成されたかを判定する（Ｓ５）。例えば、点経路メモリ９３ｂに経路点情報が記憶されている場合は、走行経路ＲＴ１〜ＲＴ３が生成されたと判定し、経路点情報が記憶されていない場合は、走行経路ＲＴ１〜ＲＴ３が生成されなかったと判定する。Ｓ５の判定が否定される場合は（Ｓ５：Ｎｏ）、運転者により設定された駐車位置までの走行経路が見つからなかった場合なので、運転者により設定された駐車位置までの走行経路ＲＴ１〜ＲＴ３が無いことを運転者に報知して（Ｓ１２）、自動駐車処理を終了する。
【０１６５】
一方、Ｓ５の判定が肯定される場合には（Ｓ５：Ｙｅｓ）、変数である最大インデックス番号ＩＤｍａｘに１を設定して、変数である最大インデックス番号ＩＤｍａｘの初期設定を行う（Ｓ６）。そして、後述するＳ７〜Ｓ１０の処理を実行して、Ｓ４の処理で生成した走行経路ＲＴ１〜ＲＴ３に対する走行制御点Ｑを生成する。
【０１６６】
具体的には、まず、上述した点経路生成処理（図１０参照）において設定された変数ａの値が０より大きいかを判定し（Ｓ７）、Ｓ７の判定が肯定される場合は（Ｓ７：Ｙｅｓ）、パターン走行部制御点生成処理を実行して（Ｓ８）、パターン走行部ＲＴ１に対する走行制御点Ｑを生成する。そして、Ｓ９処理へ移行する。
【０１６７】
一方、Ｓ７の判定が否定される場合は（Ｓ７：Ｎｏ）、出発地点において駐車可能条件が成立した場合である。この場合は、パターン走行部ＲＴ１が存在しないので、Ｓ８の処理をスキップして、Ｓ９の処理へ移行する。Ｓ９の処理では、後退旋回部制御点生成処理を実行して（Ｓ９）、後退旋回部ＲＴ２に対する走行制御点Ｑを生成する。その後、最終後退部制御点生成処理を実行して（Ｓ１０）、最終後退部ＲＴ３に対する走行制御点Ｑを生成する。
【０１６８】
このように、本実施形態では、上述した点経路生成処理（Ｓ４）が実行され、走行経路ＲＴ１〜ＲＴ３が生成された場合（Ｓ５：Ｙｅｓの場合）に限り、Ｓ６〜Ｓ１０の各処理が実行されて、走行経路ＲＴ１〜ＲＴ３に対する走行制御点Ｑが生成される。
【０１６９】
よって、目標とする駐車位置に車両１が到達できない仮の走行経路ＲＴ１だけが生成された場合には、走行制御点Ｑを生成する処理は実行されない。従って、目標とする駐車位置まで車両１を自律走行させるために関係のない無駄な処理が実行されることを抑制できる。
【０１７０】
また、図２を参照して上述したように、本実施形態では、走行経路ＲＴ１〜ＲＴ３上のうち、各経路点Ｐに対応する位置だけでなく、各経路点Ｐ間にも仮想的に走行制御点Ｑを生成している。理想的には、各経路点Ｐ間に対応する位置にだけ仮想的に走行制御点Ｑを生成し、その走行制御点Ｑに基づいて車両１を自律走行させれば、車両１が走行経路ＲＴ１〜ＲＴ３上を走行できるが、実際には、路面の状況や、車両１の搭乗者数や荷重などの様々な外乱により、車両１が横滑りなどを起こし、走行経路ＲＴ１〜ＲＴ３上から車両位置がズレてしまう場合がある。
【０１７１】
そこで、本実施形態では、各経路点Ｐに対応する位置に加え、各経路点Ｐ間にも仮想的に走行制御点Ｑを生成し、各走行制御点Ｑごとに、進行方向などの車両１の走行状態を補正できるようにしている。よって、走行制御装置１００が、車両１を自律走行させて走行経路ＲＴ１〜ＲＴ３上を走行させる場合に、走行経路ＲＴ１〜ＲＴ３上を車両１がスムーズに走行できるように、車両１の走行状態を制御できる。
【０１７２】
ここで、図１２〜図１７を参照して、パターン走行部制御点生成処理（Ｓ８）、後退旋回部制御点生成処理（Ｓ９）、最終後退部制御点生成処理（Ｓ１０）について説明する。まず、図１２を参照して、パターン走行部制御点生成処理（Ｓ８）について説明する。図１２は、走行制御装置１００により実行されるパターン走行部制御点生成処理を示すフローチャートである。
【０１７３】
パターン走行部制御点生成処理は、Ｓ４の処理で生成された走行経路ＲＴ１〜ＲＴ３のうち、パターン走行部ＲＴ１に対する走行制御点Ｑを生成するための処理であり、隣接する経路点Ｐ間ごとに０．０５ｍ間隔で走行制御点Ｑを生成する。上述した点経路生成処理（図１０参照）において仮の走行経路ＲＴ１の生成条件が変更されていない場合は、隣接する経路点Ｐ間の走行距離ＣＬが全て２ｍとなるので、隣接する経路点Ｐ間には常に４１個の走行制御点Ｑが必要となるが、このパターン走行部制御点生成処理では、出発地点に近い側の経路点Ｐに重なる走行制御点は生成せずに、それ以外の４０個の走行制御点Ｑを生成する。
【０１７４】
一方、上述した点経路生成処理において仮の走行経路ＲＴ１の生成条件が変更された場合は、隣接する経路点Ｐ間の走行距離ＣＬが全て１ｍとなるので、隣接する経路点Ｐ間には常に２１個の走行制御点Ｑが必要となるが、このパターン走行部制御点生成処理では、出発地点に近い側の経路点Ｐに重なる走行制御点は生成せずに、それ以外の２０個の走行制御点Ｑを生成する。
【０１７５】
即ち、隣接する２つの経路点のうち、出発地点に近い側の経路点Ｐを第１経路点Ｐとし、運転者により設定された駐車位置に近い側の経路点Ｐを第２経路点Ｐとした場合、第１経路点Ｐ上には走行制御点Ｑを生成せず、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づいた位置に１番目の走行制御点Ｑを生成する。そして、順番に走行制御点Ｑを生成し、最後の走行制御点Ｑが第２経路点Ｐに重なるようにしている。
【０１７６】
パターン走行部制御点生成処理では、まず、上述した点経路生成処理において仮の走行経路ＲＴ１の生成条件が変更されたか、即ち、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さが２ｍから１ｍに変更されたかを判定する（Ｓ５１）。Ｓ５１の判定が肯定される場合は（Ｓ５１：Ｙｅｓ）、変数ｊに０を設定し、変数ｎに２０を設定して、変数ｊ，ｎの初期設定を行い（Ｓ５１）、Ｓ５４の処理へ移行する。一方、Ｓ５１の判定が否定される場合は（Ｓ５１：Ｎｏ）、変数ｊに０を設定し、変数ｎに４０を設定して、変数ｊ，ｎの初期設定を行い（Ｓ５３）、Ｓ５４の処理へ移行する。
【０１７７】
そして、Ｓ５４の処理では、出発地点からｊ番目の経路点Ｐを第１経路点Ｐとし、（ｊ＋１）番目の経路点Ｐを第２経路点Ｐとする（Ｓ５４）。例えば、図２に示す走行経路ＲＴ１では、経路点ＰがＰ０〜Ｐ６まで７個設けられている。ここで、変数ｊが０の場合には、経路点Ｐ０を第１経路点Ｐとし、経路点Ｐ１を第２経路点Ｐとする。
【０１７８】
次に、第１経路点Ｐの経路点情報である車両位置および車両方位を、ＲＡＭ９３の点経路メモリ９３ｂから取得し（Ｓ５５）、同様に、第２経路点Ｐの経路点情報である車両位置および車両方位を、点経路メモリ９３ｂから取得する（Ｓ５６）。
【０１７９】
そして、車両１が第１経路点Ｐから第２経路点Ｐへ向かうための車両１の操舵角δと、車両１の旋回中心Ｋと、車両１の旋回半径Ｒとをそれぞれ算出する（Ｓ５７）。Ｓ５７の処理では、点経路パターンメモリ９３ａ記憶されている経路パターン番号の重複順列に基づいて、操舵角δと、旋回中心Ｋと、旋回半径Ｒとをそれぞれ算出する。パターン走行部ＲＴ１は、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路を繋ぎ合わせたものなので、走行距離ＣＬと、旋回半径Ｒとがそもそも決まっており、その結果、操舵角δと、旋回中心Ｋと、旋回半径Ｒとがそれぞれ一意に定まる。尚、車両１の旋回半径をＲとし、車両１における前輪２ＦＬ，２ＦＲの車軸と、車両１における後輪２ＲＬ，２ＲＲの車軸との軸間距離をホイールベースＷＬとした場合、車両１の操舵角δは、
δ＝ｔａｎ−１（ＷＬ／Ｒ）
により算出される。また、車両１が第１経路点Ｐから第２経路点Ｐへ移動した場合の車両方位の変化量Δθを算出する（Ｓ５８）。尚、車両方位の変化量Δθを算出する式については後述する。
【０１８０】
そして、変数ｉを１に設定して、変数ｉの初期設定を行う（Ｓ５９）。次に、第１経路点Ｐから第２経路点Ｐまでの経路上に設ける各走行制御点Ｑのうち、第１経路点Ｐからｉ番目の走行制御点Ｑの位置（車両位置）と、その車両方位とを算出する（Ｓ６０）。尚、１番目の走行制御点Ｑは、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づく走行制御点Ｑとなり、４０番目の走行制御点Ｑは、第２経路点Ｐに重なるようにしている。
【０１８１】
ここで、図１３を参照して、パターン走行部ＲＴ１に対して生成される走行制御点Ｑの位置と、その車両方位とについて説明する。図１３は、走行経路ＲＴ１〜ＲＴ３のうち、パターン走行部ＲＴ１に対して生成される走行制御点Ｑの一例を説明するための模式図であり、隣接している２つの経路点Ｐ間を図示したものである。ここでは、第１経路点をＰｖ０（ｘｖ０，ｙｖ０）と示し、第２経路点をＰｖｎ（ｘｖｎ，ｙｖｎ）と示している。
【０１８２】
パターン走行部ＲＴ１は、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路に基づいて生成されるものなので、走行距離ＣＬと、旋回半径Ｒとがそもそも決まっている。よって、車両１が第１経路点Ｐｖ０から第２経路Ｐｖｎへ移動する場合の、旋回半径Ｒと、旋回中心Ｋ（ｘｋ，ｙｋ）とが予め定まる。また、第１経路点Ｐｖ０から第２経路Ｐｖｎまでの車両１の走行距離ＣＬは全て２ｍまたは１ｍとなる。従って、第１経路点Ｐｖ０における車両方位θｖ０と、第２経路点Ｐｖｎにおける車両方位θｖｎとの変化量をΔθとした場合、その変化量Δθは、
Δθ＝ＣＬ／Ｒ
により算出される。図１２のＳ５８の処理では、この式により車両方位の変化量Δθを算出する。そして、第１経路点Ｐからｉ番目の走行制御点をＱ（ｘｖｉ，ｙｖｉ）とし、その車両方位をθｉとすると、
θｉ＝ｉ・Δθ／４０
ｘｖｉ＝ｘｋ＋Ｒ・ｃｏｓ（θｖ０−π／２＋θｉ）
ｙｖｉ＝ｙｋ＋Ｒ・ｓｉｎ（θｖ０−π／２＋θｉ）
により算出される。ここで、第１経路点Ｐから１番目の走行制御点Ｑは、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づく走行制御点Ｑとなり、４０番目の走行制御点Ｑは、第２経路点Ｐに重なるようにしている。
【０１８３】
以上の図１３を参照して説明した数式を用いることにより、パターン走行部ＲＴ１の各経路点Ｐ間において、２０個または４０個の走行制御点Ｑの位置と、その位置における車両１の車両方位θｉとを算出できるので、パターン走行部ＲＴ１に対応する各走行制御点Ｑを全て生成できる。
【０１８４】
本実施形態では、経路パターンＰＴ１〜ＰＴ１０の組み合わせに基づいて、２ｍや１ｍ間隔で大まかに経路点Ｐを設けた走行経路ＲＴ１を生成しても、その後、走行経路ＲＴ１の各経路点Ｐ間に、０．０５ｍ間隔で仮想的に走行制御点Ｑを生成できる。また、詳細については後述するが、走行経路ＲＴ２，ＲＴ３についても、走行経路ＲＴ２，ＲＴ３の各経路点Ｐ間に、０．０５ｍ間隔で仮想的に走行制御点Ｑを生成できる。
【０１８５】
従って、経路パターンＰＴ１〜ＰＴ１０に対応する各走行経路の長さＣＬを短く（例えば、０．０５ｍなど）しておき、詳細に走行経路ＲＴ１を生成したり、経路パターンＰＴ１〜ＰＴ１０のパターンの種類を多数設けて記憶しておく必要が無いので、処理コストを抑制できる。故に、走行制御装置１００によれば、少ない処理コストで初期位置から目標とする駐車位置までの車両の走行経路ＲＴ１〜ＲＴ３を運転者に提供できる。
【０１８６】
ここで、図１２の説明に戻る。そして、第１経路点Ｐからｉ番目の走行制御点Ｑにおける操舵角δと、進行方向（前進または後退）と、切り返しの有無とを取得する（Ｓ６１）。Ｓ６１の処理において、操舵角δは、何番目の走行制御点Ｑかに関係なく、全て第１経路点Ｐと同一の操舵角δが取得される。また、進行方向は、何番目の走行制御点Ｑかに関係なく、全て同じ方向（前進または後退）を示す値が取得される。
【０１８７】
尚、進行方向は、第１経路点Ｐから第２経路点Ｐに向かう経路パターンＰＴ１〜ＲＴ１０に基づいて一意に決まり、点経路パターンメモリ９３ａの内容に基づいて取得される。より具体的には、第１経路点Ｐから第２経路点Ｐに向かう経路パターンＰＴ１〜ＰＴ１０が、車両１を前進させる経路パターンＰＴ１，ＰＴ３，ＰＴ４，ＰＴ７，ＰＴ８であれば、進行方向として前進を示す値が取得される。一方、車両１を後退させる経路パターンＰＴ２，ＰＴ５，ＰＴ６，ＰＴ９，ＰＴ１０であれば、進行方向として後退を示す値が取得される。
【０１８８】
また、切り返しの有無は、第２経路点Ｐに重なる走行制御点Ｑを除き、切り返しなしを示す値が取得される。そして、第２経路点Ｐと重なる走行制御点Ｑについては、切り返しの有無が、点経路パターンメモリ９３ａの内容に基づいて取得される。より具体的には、第１経路点Ｐから第２経路点Ｐへ向かう経路パターンＰＴ１〜ＰＴ１０と、第２経路点Ｐからその次の経路点Ｐに向かう経路パターンＰＴ１〜ＰＴ１０とが共に、車両１を前進させる経路パターンＰＴ１，ＰＴ３，ＰＴ４，ＰＴ７，ＰＴ８、又は、車両１を後退させる経路パターンＰＴ２，ＰＴ５，ＰＴ６，ＰＴ９，ＰＴ１０であれば、第２経路点Ｐに重なる走行制御点Ｑの切り返しの有無として、切り返しなしを示す値が取得される。
【０１８９】
一方、第１経路点Ｐから第２経路点Ｐへ向かう経路パターンＰＴ１〜ＰＴ１０と、第２経路点Ｐからその次の経路点Ｐに向かう経路パターンＰＴ１〜ＰＴ１０との一方が、車両１を前進させる経路パターンＰＴ１，ＰＴ３，ＰＴ４，ＰＴ７，ＰＴ８であり、他方が車両１を後退させる経路パターンＰＴ２，ＰＴ５，ＰＴ６，ＰＴ９，ＰＴ１０であれば、第２経路点Ｐに重なる走行制御点Ｑの切り返しの有無として、切り返しありを示す値が取得される。
【０１９０】
Ｓ６１の処理が終了したら、ｉ番目の走行制御点Ｑに対応する車両設定情報（車両位置、車両方位、操舵角δ、進行方向フラグ、切り返しフラグ）に、現在の最大インデックス番号ＩＤｍａｘを関連づけて、ＲＡＭ９３の走行制御点メモリ９３ｃに記憶する（Ｓ６２）。
【０１９１】
上述したように、最大インデックス番号ＩＤｍａｘは、図９のＳ６の処理により１に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Ｑが生成されるまで、走行制御点Ｑが生成される度に１が加算される。よって、走行制御点Ｑを生成して、その走行制御点Ｑに対応する車両設定情報に、現在の最大インデックス番号ＩＤｍａｘを関連づける処理を繰り返すことで、各走行制御点Ｑの車両設定情報に、連続するＩＤ番号を１から順番に関連づけていくことができる（図７参照）。
【０１９２】
尚、Ｓ６１の処理において、進行方向として前進を示す値が取得されていれば、Ｓ６２の処理では、進行方向フラグが「１」に設定され、進行方向として後退を示す値が取得されていれば、進行方向フラグが「−１」に設定される。また、Ｓ６１の処理において、切り返しの有無として切り返しなしを示す値が取得されていれば、Ｓ６２の処理では、切り返しフラグが「０」に設定され、切り返しの有無として切り返しありを示す値が取得されていれば、切り返しフラグが「１」に設定される。
【０１９３】
また、Ｓ６２の処理において、走行制御点Ｑの車両設定情報を走行制御点メモリ９３ｃに記憶する場合には、他の走行制御点Ｑの車両設定情報を上書しないように、各走行制御点Ｑの車両設定情報をそれぞれ個別に記憶する（図７参照）。
【０１９４】
Ｓ６２の処理が終了したら、次に、現在の最大インデックス番号ＩＤｍａｘに１を加算して、最大インデックス番号ＩＤｍａｘを更新する（Ｓ６３）。
【０１９５】
次に、変数ｉの値が、変数ｎの値未満であるかを判定し（Ｓ６４）、Ｓ６４の判定が肯定される場合には（Ｓ６４：Ｙｅｓ）、変数ｉに１を加算して（Ｓ６５）、Ｓ６０の処理に戻る。そして、第１経路点Ｐから第２経路点Ｐまでの経路上に、２０個または４０個の走行制御点Ｑを順番に生成する。
【０１９６】
一方、Ｓ６４の判定が否定される場合は（Ｓ６４：Ｎｏ）、第１経路点Ｐから第２経路点Ｐの間に、全て（２０個または４０個）の走行制御点Ｑを設定した場合なので、パターン走行部ＲＴ１の走行制御点Ｑを全て生成したかを判定する（Ｓ６６）。
【０１９７】
Ｓ６６の判定が否定される場合には（Ｓ６６：Ｎｏ）、変数ｊに１を加算して（Ｓ６７）、Ｓ５４の処理に戻り、次の経路点Ｐ間についても、全て（２０個または４０個）の走行制御点Ｑを生成する。Ｓ６６の判定が肯定される場合には（Ｓ６６：Ｙｅｓ）、パターン走行部制御点生成処理（Ｓ８）を終了して、自動駐車処理（図９参照）に戻る。
【０１９８】
尚、Ｓ６２の処理が実行された場合に、パターン走行部ＲＴ１における最後の走行制御点Ｑの車両設定情報が走行制御点メモリ９３ｃに記憶されると、その後、Ｓ６３の処理が実行されて、最大インデックス番号ＩＤｍａｘが更新される。そして、Ｓ６４の判定が否定されてＳ６４：Ｎｏへ分岐し、更に、Ｓ６６の判定が否定されてＳ６６：Ｎｏへ分岐して、パターン走行部制御点生成処理が終了する。
【０１９９】
その結果、最大インデックス番号ＩＤｍａｘは、実在しない走行制御点ＱのＩＤ番号を示すことになるが、この最大インデックス番号ＩＤｍａｘは、後述する後退旋回部制御点生成処理が実行された場合に、後退旋回部ＲＴ２の最初の走行制御点Ｑの車両設定情報に関連づけられる。よって、走行制御点Ｑの車両設定情報に不連続となるＩＤ番号が関連づけられることはない。
【０２００】
次に、図１４を参照して、後退旋回部制御点生成処理（Ｓ９）について説明する。図１４は、走行制御装置１００により実行される後退旋回部制御点生成処理を示すフローチャートである。
【０２０１】
後退旋回部制御点生成処理は、Ｓ４の処理で生成された走行経路ＲＴ１〜ＲＴ３のうち、後退旋回部ＲＴ２に対する走行制御点Ｑを生成するための処理であり、後退旋回部ＲＴ２を示す２つの各経路点Ｐ間に、０．０５ｍ間隔で走行制御点Ｑを生成する。尚、後退旋回部ＲＴ２は、パターン走行部ＲＴ１のように走行距離ＣＬが一定とならないため、走行距離ＣＬに応じた数の走行制御点Ｑが、２つの経路点Ｐ間に生成される。
【０２０２】
尚、後退旋回部制御点生成処理でも、パターン走行部制御点生成処理（図１２参照）と同様に、隣接する２つの経路点のうち、出発地点に近い側の経路点Ｐを第１経路点Ｐとし、運転者により設定された駐車位置に近い側の経路点Ｐを第２経路点Ｐとした場合、第１経路点Ｐ上には走行制御点Ｑを生成せず、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づいた位置に１番目の走行制御点Ｑを生成している。そして、順番に走行制御点Ｑを生成し、最後の走行制御点Ｑが第２経路点Ｐに重なるようにしている。
【０２０３】
後退旋回部制御点生成処理では、まず、走行経路ＲＴ１〜ＲＴ３を示す各経路点Ｐのうち、後退旋回部ＲＴ２を示す２つの各経路点Ｐを特定する（Ｓ７１）。例えば、図２に示す走行経路ＲＴ１〜ＲＴ３であれば、経路点Ｐ６と、経路点Ｐ７とが特定される。
【０２０４】
次に、特定した２つの経路点Ｐのうち、走行経路ＲＴ１〜ＲＴ３上で出発地点に近い側の経路点Ｐを第１経路点Ｐとし、運転者により設定された駐車位置に近い側の経路点Ｐを第２経路点Ｐとする（Ｓ７２）。そして、第１経路点Ｐの経路点情報である車両位置および車両方位を、ＲＡＭ９３の点経路メモリ９３ｂから取得し（Ｓ７３）、同様に、第２経路点Ｐの経路点情報である車両位置および車両方位を、点経路メモリ９３ｂから取得する（Ｓ７４）。
【０２０５】
次に、車両１が第１経路点Ｐから第２経路点Ｐへ向かうための車両１の操舵角δと、車両１の旋回中心Ｋと、車両１の旋回半径Ｒとをそれぞれ算出する（Ｓ７５）。尚、ここでの車両１の旋回中心Ｋと、車両１の旋回半径Ｒは、駐車可能条件が成立した場合に算出された旋回中心Ｋと、旋回半径Ｒｐとである。そして、車両１の旋回半径をＲとし、車両１のホイールベースをＷＬとした場合、車両１の操舵角δは、
δ＝ｔａｎ−１（ＷＬ／Ｒ）
により算出される。また、車両１が第１経路点Ｐから第２経路点Ｐへ移動した場合の車両方位の変化量Δθを算出する（Ｓ７６）。尚、車両方位の変化量Δθを算出する式については後述する。
【０２０６】
そして、第１経路点Ｐから第２経路点Ｐの間に生成する走行制御点Ｑの数を算出し、変数ｎに代入する（Ｓ７７）。尚、走行制御点Ｑの数を算出する数式についても後述する。
【０２０７】
次に、変数ｉを１に設定して、変数ｉの初期設定を行う（Ｓ７８）。そして、第１経路点Ｐから第２経路点Ｐまでの走行経路に対して生成する各走行制御点Ｑのうち、第１経路点Ｐからｉ番目の走行制御点Ｑの位置（車両位置）と、その車両方位とを算出する（Ｓ７９）。尚、１番目の走行制御点Ｑは、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づく走行制御点Ｑとなり、ｎ番目の走行制御点Ｑは、第２経路点Ｐに重なるようにしている。
【０２０８】
ここで、図１５を参照して、後退旋回部ＲＴ２に対して生成される走行制御点Ｑの位置と、その車両方位とについて説明する。図１５は、走行経路ＲＴ１〜ＲＴ３のうち、後退旋回部ＲＴ２に対して生成される走行制御点Ｑの一例を説明するための模式図であり、後退旋回部ＲＴ２を示す２つの経路点Ｐ間を図示したものである。ここでは、２つの経路点Ｐのうち、第１経路点をＰｖ０（ｘｖ０，ｙｖ０）と示し、第２経路点をＰｖｎ（０，ｙｖｎ）と示している。尚、第２経路点Ｐｖｎでは、車両１の前後軸がｙ軸と必ず重なるため、ｘ値が０になると共に車両方位がπ／２となる。
【０２０９】
後退旋回部ＲＴ２は、パターン走行部ＲＴ１に続く走行経路であって、パターン走行部ＲＴ１の終端から目標とする駐車位置に、車両１が同一の操舵角δで後退旋回するように走行経路が決定される（図１０のＳ４６参照）。よって、後退旋回部ＲＴ２が決定された場合には、その旋回中心Ｋ（ｘｋ，ｙｋ）と、旋回半径Ｒとが確定する。
【０２１０】
従って、第１経路点Ｐｖ０における車両方位θｖ０と、第２経路点Ｐｖｎにおける車両方位π／２との変化量をΔθとした場合、その変化量Δθは、
Δθ＝θｖ０−π／２
により算出される。図１４のＳ７６の処理では、この式により車両方位の変化量Δθを算出する。そして、第１経路点Ｐｖ０から第２経路点Ｐｖｎまでの走行距離ＣＬは、
ＣＬ＝Ｒ・Δθ
により算出される。
【０２１１】
故に、第１経路点Ｐｖ０から第２経路点Ｐｖｎまでの間に、０．０５ｍ間隔で走行制御点Ｑを生成すると、その合計数ｎは、
ｎ＝Ｒ・Δθ／０．０５
となる。尚、合計数ｎが整数にならない場合は、少数点以下を切り上げて整数にする。図１４のＳ７７の処理では、この式により算出される合計数ｎを、変数ｎに代入している。
【０２１２】
そして、第１経路点Ｐｖ０からｉ番目の走行制御点をＱ（ｘｖｉ，ｙｖｉ）とし、その車両方位をθｉとすると、
θｉ＝Δθ・（ｎ−ｉ）／ｎ
ｘｖｉ＝ｘｋ＋Ｒ・ｃｏｓ（θｉ）
ｙｖｉ＝ｙｋ＋Ｒ・ｓｉｎ（θｉ）
により算出される。ここで、第１経路点Ｐｖ０から１番目の走行制御点Ｑは、第１経路点Ｐｖ０から０．０５ｍだけ第２経路点Ｐに近づく走行制御点Ｑとなり、第１経路点Ｐｖ０からｎ番目の走行制御点Ｑは、第２経路点Ｐｖｎと重なるようにしている。
【０２１３】
以上の図１５を参照して説明した数式を用いることにより、後退旋回部ＲＴ２の経路点Ｐ間において、ｎ個の各走行制御点Ｑの位置と、その位置における車両１の車両方位θｉとを算出できるので、後退旋回部ＲＴ２に対応する各走行制御点Ｑを全て生成できる。
【０２１４】
ここで、図１４の説明に戻る。次に、第１経路点Ｐからｉ番目の走行制御点Ｑにおける操舵角δと、進行方向（前進または後退）と、切り返しの有無とを取得する（Ｓ８０）。尚、Ｓ８０の処理では、操舵角δは、何番目の走行制御点Ｑかに関係なく、全て第１経路点Ｐと同一の操舵角δが取得される。また、進行方向は、全て後退を示す値が取得される。また、切り返しの有無は、全て切り返しなしを示す値が取得される。
【０２１５】
Ｓ８０の処理が終了したら、ｉ番目の走行制御点Ｑに対応する車両設定情報（車両位置、車両方位、操舵角δ、進行方向フラグ、切り返しフラグ）に、現在の最大インデックス番号ＩＤｍａｘを関連づけて、ＲＡＭ９３の走行制御点メモリ９３ｃに記憶する（Ｓ８１）。
【０２１６】
上述したように、最大インデックス番号ＩＤｍａｘは、図９のＳ６の処理により１に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Ｑが生成されるまで、走行制御点Ｑが生成される度に１が加算される。また、図９のＳ７の判定において、Ｓ７の判定が肯定されていれば、上述したパターン走行部制御点生成処理（図１２参照）が実行された後である。よって、最初にＳ８１の処理が実行される場合には、図１２のＳ６３の処理により、最大インデックス番号ＩＤｍａｘが、後退旋回部ＲＴ２の最初のＩＤ番号に更新されている。
【０２１７】
従って、走行制御点Ｑを生成して、その走行制御点Ｑに対応する車両設定情報に、現在の最大インデックス番号ＩＤｍａｘを関連づける処理を繰り返すことで、走行経路ＲＴ１〜ＲＴ２まで通して連続するＩＤを、各走行制御点Ｑの車両設定情報に順番に関連づけることができる。
【０２１８】
一方、図９のＳ７の処理において、Ｓ７の判定が否定されていれば、上述したパターン走行部制御点生成処理（図１２参照）がスキップされるので、最大インデックス番号ＩＤｍａｘは１に初期設定された状態である。よって、走行制御点Ｑを生成して、その走行制御点Ｑに対応する車両設定情報に、現在の最大インデックス番号ＩＤｍａｘを関連づける処理を繰り返すことで、各走行制御点Ｑの車両設定情報に、連続するＩＤ番号を１から順番に関連づけることができる。
【０２１９】
尚、ここでは、進行方向フラグは全て「−１」に設定され、切り返しフラグは全てオフに設定される。また、走行制御点Ｑの車両設定情報を走行制御点メモリ９３ｃに記憶する場合には、他の走行制御点Ｑの車両設定情報を上書しないように、各走行制御点Ｑの車両設定情報をそれぞれ個別に記憶する。
【０２２０】
Ｓ８１の処理が終了したら、次に、現在の最大インデックス番号ＩＤｍａｘに１を加算して、最大インデックス番号ＩＤｍａｘを更新する（Ｓ８２）。次に、変数ｉの値が、変数ｎの値未満であるかを判定し（Ｓ８３）、Ｓ８３の判定が肯定される場合には（Ｓ８３：Ｙｅｓ）、変数ｉに１を加算して（Ｓ８４）、Ｓ７９の処理に戻る。そして、第１経路点Ｐから第２経路点Ｐまでの経路上に、ｎ個の走行制御点Ｑを順番に生成する。一方、Ｓ８３の判定が否定される場合は（Ｓ８３：Ｎｏ）、ｎ個の走行制御点Ｑを全て生成した場合なので、後退旋回部制御点生成処理（Ｓ９）を終了して、自動駐車処理（図９参照）に戻る。
【０２２１】
尚、Ｓ８１の処理が実行された場合に、後退旋回部ＲＴ２における最後の走行制御点Ｑの車両設定情報が走行制御点メモリ９３ｃに記憶されると、その後、Ｓ８２の処理が実行されて、最大インデックス番号ＩＤｍａｘが更新される。そして、Ｓ８３の判定が否定されてＳ８３：Ｎｏへ分岐して、パターン走行部制御点生成処理が終了する。
【０２２２】
その結果、最大インデックス番号ＩＤｍａｘは、実在しない走行制御点ＱのＩＤ番号を示すことになるが、この最大インデックス番号ＩＤｍａｘは、後述する最終後退部制御点生成処理が実行された場合に、最終後退部ＲＴ３の最初の走行制御点Ｑの車両設定情報に関連づけられる。よって、走行制御点Ｑの車両設定情報に不連続となるＩＤ番号が関連づけられることはない。
【０２２３】
次に、図１６を参照して、最終後退部制御点生成処理（Ｓ１０）について説明する。図１６は、走行制御装置１００により実行される最終後退部制御点生成処理を示すフローチャートである。
【０２２４】
最終後退部制御点生成処理は、Ｓ４の処理で生成された走行経路ＲＴ１〜ＲＴ３のうち、最終後退部ＲＴ３に対する走行制御点Ｑを生成するための処理であり、最終後退部ＲＴ３を示す２つの経路点Ｐ間に、０．０５ｍ間隔で走行制御点Ｑを生成する。尚、最終後退部ＲＴ３は、後退旋回部ＲＴ２と同様に走行距離ＣＬが一定とならないため、走行距離ＣＬに応じた数の走行制御点Ｑが、２つの経路点Ｐ間に生成される。
【０２２５】
尚、最終後退部制御点生成処理でも、パターン走行部制御点生成処理（図１２参照）と同様に、隣接する２つの経路点のうち、出発地点に近い側の経路点Ｐを第１経路点Ｐとし、運転者により設定された駐車位置に近い側の経路点Ｐを第２経路点Ｐとした場合、第１経路点Ｐ上には走行制御点Ｑを生成せず、第１経路点Ｐから０．０５ｍだけ第２経路点Ｐに近づいた位置に１番目の走行制御点Ｑを生成している。そして、順番に走行制御点Ｑを生成し、最後の走行制御点Ｑが第２経路点Ｐに重なるようにしている。
【０２２６】
最終後退部制御点生成処理におけるＳ９２〜Ｓ９５の各処理は、上述した図１４の後退旋回部制御点生成処理におけるＳ７２〜Ｓ７５の各処理と同様な処理であり、最終後退部制御点生成処理におけるＳ９７〜Ｓ１００の各処理は、上述した図１４の後退旋回部制御点生成処理におけるＳ７８〜Ｓ８１の各処理と同様な処理である。
【０２２７】
また、最終後退部制御点生成処理におけるＳ１０１，Ｓ１０２の各処理は、上述した図１４の後退旋回部制御点生成処理におけるＳ８３，Ｓ８４の各処理と同様な処理である。よって、同様な処理についてはその詳細な説明を省略し、異なる部分（Ｓ９１，Ｓ９６，Ｓ１０３）についてのみ詳細に説明する。
【０２２８】
最終後退部制御点生成処理では、まず、走行経路ＲＴ１〜ＲＴ３を示す各経路点Ｐのうち、最終後退部ＲＴ３を示す２つの各経路点Ｐを特定する（Ｓ９１）。例えば、図２に示す走行経路ＲＴ１〜ＲＴ３であれば、経路点Ｐ７と、経路点Ｐ８とが特定される。そして、Ｓ９２〜Ｓ９５の各処理を実行し、次に、第１経路点Ｐから第２経路点Ｐの間に生成する走行制御点Ｑの数を算出し、変数ｎに代入する（Ｓ９６）。尚、走行制御点Ｑの数を算出する数式については後述する。
【０２２９】
そして、Ｓ９７〜１００の各処理を実行する。尚、最終後退部ＲＴ３では、車両１の前後軸がｙ軸と必ず重なる状態で、車両１が後退直進するため、車両方位が常にπ／２となる。よって、Ｓ９９の処理では、操舵角δは、何番目の走行制御点Ｑかに関係なく、全て０が取得される。また、進行方向は、全て後退を示す値が取得される。また、切り返しの有無は、全て切り返しなしを示す値が取得される。よって、Ｓ１００の処理では、進行方向フラグは全て「−１」に設定され、切り返しフラグは全てオフに設定される。
【０２３０】
また、上述したように、最大インデックス番号ＩＤｍａｘは、図９のＳ６の処理により１に初期設定され、その後、運転者により設定された駐車位置に重なる走行制御点Ｑが生成されるまで、走行制御点Ｑが生成される度に１が加算される。最初にＳ１００の処理が実行される場合は、図１２のＳ６３の処理や、図１４のＳ８２の処理が実行された後なので、最大インデックス番号ＩＤｍａｘが、最終後退部ＲＴ３の最初のＩＤ番号に更新されている。
【０２３１】
よって、走行制御点Ｑを生成して、その走行制御点Ｑに対応する車両設定情報に、現在の最大インデックス番号ＩＤｍａｘを関連づける処理を繰り返すことで、走行経路ＲＴ１〜ＲＴ３まで通して連続するＩＤを、各走行制御点Ｑの車両設定情報に関連づけることができる。
【０２３２】
尚、Ｓ１００の処理では、進行方向フラグは全て「−１」に設定され、切り返しフラグは全てオフに設定される。また、走行制御点Ｑの車両設定情報を走行制御点メモリ９３ｃに記憶する場合には、他の走行制御点Ｑの車両設定情報を上書しないように、各走行制御点Ｑの車両設定情報をそれぞれ個別に記憶する。
【０２３３】
Ｓ１００の処理が終了したら、次に、Ｓ１０１の処理を実行する。Ｓ１０１の判定が肯定される場合には（Ｓ１０１：Ｙｅｓ）、Ｓ１０２の処理を実行する。そして、現在の最大インデックス番号ＩＤｍａｘに１を加算して、最大インデックス番号ＩＤｍａｘを更新する（Ｓ１０３）。その後、Ｓ９８の処理に戻る。そして、第１経路点Ｐから第２経路点Ｐまでの経路上に、ｎ個の走行制御点Ｑを順番に生成する。一方、Ｓ１０１の判定が否定される場合は（Ｓ１０１：Ｎｏ）、ｎ個の走行制御点Ｑを全て生成した場合なので、最終後退部制御点生成処理（Ｓ８）を終了して、自動駐車処理（図９参照）に戻る。
【０２３４】
尚、最終後退部制御点生成処理では、Ｓ１００の処理が実行されて、走行制御点Ｑの車両設定情報が走行制御点メモリ９３ｃに記憶された後、Ｓ１０１の判定が肯定された場合にだけ、Ｓ１０３の処理が実行され、最大インデックス番号ＩＤｍａｘが更新される。
【０２３５】
即ち、次に生成すべき走行制御点Ｑが存在する場合にだけ、最大インデックス番号ＩＤｍａｘが更新されるので、最終後退部ＲＴ３における最後の走行制御点Ｑが生成された後には、最大インデックス番号ＩＤｍａｘは更新されない。よって、最大インデックス番号ＩＤｍａｘには最後の走行制御点ＱのＩＤ番号が設定される。
【０２３６】
ここで、図１７を参照して、最終後退部ＲＴ３に対して生成される走行制御点Ｑの位置と、その車両方位とについて説明する。図１７は、走行経路ＲＴ１〜ＲＴ３のうち、最終後退部ＲＴ３に対して生成される走行制御点Ｑの一例を説明するための模式図であり、最終後退部ＲＴ３を示す２つの経路点Ｐ間を図示したものである。ここでは、２つの経路点Ｐのうち、走行経路ＲＴ１〜ＲＴ３上で出発地点に近い側の経路点Ｐを第１経路点Ｐｖ０（ｘｖ０，ｙｖ０）と示し、運転者により設定された駐車位置に近い側の経路点Ｐを第２経路点Ｐｖｎ（ｘｖｎ，ｙｖｎ）と示している。
【０２３７】
尚、第１経路点Ｐｖ０および第２経路点Ｐｖｎでは共に、車両１の前後軸がｙ軸と必ず重なるため、ｘ値が０になり、車両方位がπ／２になり、操舵角δが０になる。
【０２３８】
最終後退部ＲＴ３は、後退旋回部ＲＴ２に続く走行経路であって、後退旋回部ＲＴ２の終端から目標とする駐車位置に、車両１を後退直進させて停車できるように走行経路が決定される（図１０のＳ４７参照）。よって、第１経路点Ｐｖ０（ｘｖ０，ｙｖ０）から第２経路点Ｐｖｎ（ｘｖｎ，ｙｖｎ）までの走行距離ＣＬは、
ＣＬ＝（（ｘｖ０−ｘｖｎ）２＋（ｙｖ０−ｙｖｎ）２）１／２
により算出される。尚、本実施形態では、ｘｖ０およびｘｖｎが共に０なので、「ＣＬ＝｜ｙｖ０−ｙｖｎ｜」として算出しても良い。
【０２３９】
従って、第１経路点Ｐｖ０から第２経路点Ｐｖｎまで間に、０．０５ｍ間隔で走行制御点Ｑを生成すると、その合計数ｎは、
ｎ＝ＣＬ／０．０５
となる。尚、合計数ｎが整数にならない場合は、少数点以下を切り上げて整数にする。図１６のＳ９６の処理では、この式により算出される合計数ｎを、変数ｎに代入している。
【０２４０】
そして、第１経路点Ｐｖ０からｉ番目の走行制御点をＱ（ｘｖｉ，ｙｖｉ）とし、その車両方位をθｉとすると、
θｉ＝π／２
ｘｖｉ＝０
ｙｖｉ＝ｙｖ０−０．０５・ｎ
により算出される。ここで、第１経路点Ｐｖ０から１番目の走行制御点Ｑは、第１経路点Ｐから０．０５ｍだけ第２経路点に近づく走行制御点Ｑとなり、第１経路点Ｐｖ０からｎ番目の走行制御点Ｑは、第２経路点Ｐｖｎと重なるようにしている。
【０２４１】
以上の図１７を参照して説明した数式を用いることにより、最終後退部ＲＴ３の経路点Ｐ間において、ｎ個の各走行制御点Ｑの位置と、その位置における車両１の車両方位θｉとを算出できるので、最終後退部ＲＴ３に対応する各走行制御点Ｑを全て生成できる。
【０２４２】
ここで、図９の説明に戻る。Ｓ６〜Ｓ１０の処理が実行され、各走行経路ＲＴ１〜ＲＴ３に対する走行制御点Ｑが生成されたら、次に、運転者により設定された駐車位置に車両１を駐車させることが可能であることを、運転者に報知する（Ｓ１１）。
【０２４３】
そして、自律走行を開始して車両１を駐車位置に駐車させることが運転者により指示されたか、又は、自律走行による駐車を中止することが運転者により指示されたかを判定し（Ｓ１３）、自律走行による駐車を中止することが運転者により指示された場合には（Ｓ１３：中止）、自動駐車処理を終了する。
【０２４４】
一方、自律走行を開始して車両１を駐車位置に駐車させることが運転者により指示された場合には（Ｓ１３：開始）、出発地点に対応する走行制御点Ｑを現在地点として（Ｓ１４）、走行制御点メモリ９３ｃから現在地点の車両設定情報を取得する（Ｓ１５）。そして、車両１が次に通過する予定の走行制御点Ｑを目標地点とし（Ｓ１６）、走行制御点メモリ９３ｃから目標地点の車両設定情報を取得する（Ｓ１７）。
【０２４５】
次に、車両１に対して設定されている障害物判定領域Ｅ内に、障害物が有るかを判定する（Ｓ１８）。例えば、障害物判定領域Ｅは、矩形状の領域であって、車体１を囲むように車両１より大きく設定されている。Ｓ１８の判定が肯定される場合は（Ｓ１８：Ｙｅｓ）、障害物に衝突する可能性があるので、車両１を停車させ（Ｓ１９）、障害物を発見したため自律走行を中止したことを、運転者に報知して（Ｓ２０）、自動駐車処理を終了する。
【０２４６】
Ｓ１８の判定が否定される場合には（Ｓ１８：Ｎｏ）、現在地点の車両設定情報に基づいて車両１を走行させ、車両１を目標地点まで移動させる（Ｓ２１）。例えば、Ｓ２１の処理では、ステアリングセンサ装置２１により検出される車両１の操舵角δが、車両設定情報の操舵角δと一致するように、操舵駆動装置５を制御し、ステアリングシャフト６１を回転させる。また、進行方向フラグが「１」であれば、車両１が前進するように車輪駆動装置３を制御し、進行方向フラグが「−１」であれば、車両１が後退するように車輪駆動装置３を制御する。
【０２４７】
そして、Ｓ２１の処理が終了したら、次に、目標とする駐車位置Ｏに到着したかを判定し（Ｓ２２）、Ｓ２２の判定が否定される場合には（Ｓ２２：Ｎｏ）、目標地点の車両設定情報を現在地点の車両設定情報として（Ｓ２３）、Ｓ１６の処理に戻る。そして、車両１を次の目標地点まで走行させる。Ｓ２２の判定が肯定される場合には（Ｓ２２：Ｙｅｓ）、車両１を停車させて、目標とする駐車位置Ｏに到着したことを運転者に報知し（Ｓ２４）、自動駐車処理を終了する。
【０２４８】
次に、本発明の第２実施形態における走行制御装置１００について説明する。尚、第１実施形態の走行制御装置１００と同一な構成については、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【０２４９】
上述した第１実施形態では、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１〜ＲＴ３を生成するために、点経路生成処理（図１０参照）において、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出しているが、操舵量累積値ＳＴの算出は、仮の走行経路ＲＴ１を生成する前に行っている。
【０２５０】
これに対し、第２実施形態では、まず、仮の走行経路ＲＴ１を実際に生成し、更に、その仮の走行経路ＲＴ１について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出する。
【０２５１】
まず、第２実施形態における走行制御装置１００の電気的構成について説明する。尚、第２実施形態における走行制御装置１００の電気的構成において、第１実施形態と異なる部分は、フラッシュメモリ９２（図示しない）のみである。フラッシュメモリ９２には、上述した図１２のフローチャートに示す点経路生成処理に代えて、後述する図１８に示すフローチャートに示す点経路生成処理が格納されている。
【０２５２】
次に、図１８を参照して、第２実施形態の点経路生成処理（Ｓ４）について説明する。図１８は、第２実施形態の走行制御装置１００により実行される点経路生成処理を示すフローチャートである。尚、第１実施形態の点経路生成処理（図１０参照）における処理と、同一の処理を実行するステップについては、同一の符号を付してその説明を省略する。
【０２５３】
第２実施形態の点経路生成処理は、第１実施形態の点経路生成処理（図１０参照）における各ステップＳ３１〜４８のうち、一部のステップＳの実行順序を入れ替えたものである。
【０２５４】
第２実施形態の点経路生成処理も、第１実施形態と同様に、仮の走行経路ＲＴ１を生成するための処理であり、生成した仮の走行経路ＲＴ１の終端において駐車可能条件が成立している場合に、出発地点から運転者により設定された駐車位置までの走行経路ＲＴ１〜ＲＴ３全体を生成する。更に、車両１の搭乗者に不快感を与える仮の走行経路ＲＴ１が生成された場合に、仮の生成経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直す。
【０２５５】
第２実施形態の点経路生成処理では、まず、Ｓ３１およびＳ３２の各処理を実行して、次に、Ｓ３６およびＳ３７の各処理を実行する。Ｓ３７の判定が否定される場合は（Ｓ３７：Ｎｏ）、Ｓ３８の処理を実行する。Ｓ３８の判定が否定される場合は（Ｓ３８：Ｎｏ）、Ｓ３２の処理へ戻る。一方、Ｓ３８の判定が肯定される場合は（Ｓ３８：Ｙｅｓ）、Ｓ３９の処理を実行する。
【０２５６】
Ｓ３９の判定が肯定される場合は（Ｓ３９：Ｙｅｓ）、Ｓ４０の処理を実行して、Ｓ３２の処理へ戻る。一方、Ｓ３９の判定が否定される場合は（Ｓ３９：Ｎｏ）、Ｓ４１の処理を実行して、この点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０２５７】
Ｓ３７の判定が肯定される場合は（Ｓ３７：Ｙｅｓ）、Ｓ３３、Ｓ３４およびＳ３５の各処理を実行する。Ｓ３５の判定が肯定される場合は（Ｓ３５：Ｙｅｓ）、Ｓ４２、Ｓ４３およびＳ４４の各処理を実行して、Ｓ３２の処理へ戻る。一方、Ｓ３５の判定が否定される場合は（Ｓ３５：Ｎｏ）、Ｓ４５、Ｓ４６、Ｓ４７およびＳ４８の各処理を実行して、この点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０２５８】
以上の図１８に示す点経路生成処理によって、まず、仮の走行経路ＲＴ１を実際に生成し、更に、その仮の走行経路ＲＴ１について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出できる。
【０２５９】
よって、目標とする駐車位置に到着不可能な仮の走行経路ＲＴ１については、操舵量累積値ＳＴの算出、及び、算出した操舵量累積値ＳＴと操舵量累積閾値Ａとの比較を行わなくて良いので、不要な処理を抑制できる。従って、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１を生成するまでの時間を、短縮できる。また、走行制御装置１００に掛かる負担を軽減できる。
【０２６０】
尚、本実施形態では、仮の走行経路ＲＴ１を実際に１つずつ生成し、更に、その仮の走行経路ＲＴ１について駐車可能条件が成立しているか否かを判定し、駐車可能条件が成立していれば、そこで、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出する。そして、算出した操舵量累積値ＳＴが操舵量累積閾値Ａを超えていれば、仮の走行経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直している。これに対して、仮の走行経路ＲＴ１を複数生成してから、その複数の仮の走行経路ＲＴ１について、駐車可能条件が成立しているか否かの判定と、操舵量累積値ＳＴの算出と、算出した操舵量累積値ＳＴが操舵量累積閾値Ａを超えているか否かの判定とを纏めて行っても良い。
【０２６１】
また、図１８に示す点経路生成処理では、算出した操舵量累積値ＳＴが操舵量累積閾値Ａを超えたか否かで、仮の走行経路ＲＴ１の生成条件を変更しているが、操舵量累積値ＳＴが操舵量累積閾値Ａをどの程度超えたか応じて、仮の走行経路ＲＴ１の生成条件を変更しても良い。これにより、操舵量累積値ＳＴの大きさに応じて、その大きさに相応しい生成条件を設定できる。
【０２６２】
具体的には、図１９に示すように、操舵量累積閾値Ａに加え、その操舵量累積閾値Ａよりも大きい操舵量累積閾値Ｂを設けておき、操舵量累積値ＳＴが操舵量累積閾値Ａを超え、且つ、操舵量累積値ＳＴが操舵量累積閾値Ｂ以下である場合と、操舵量累積値ＳＴが操舵量累積閾値Ｂを超えている場合とで、仮の走行経路ＲＴ１の生成条件を変えても良い。
【０２６３】
図１９は、操舵量累積閾値を複数設ける場合の一例を説明するためのグラフである。また、経路点Ｐ３０から経路点Ｐ３７まで各経路点Ｐにより構成される走行経路ＲＴ１〜ＲＴ３（図示しない）を、車両１が走行した場合の操舵量累積値ＳＴを示している。尚、車両１の操舵量累積値ＳＴを縦軸に示し、走行経路ＲＴ１〜ＲＴ３における車両１の走行位置を横軸に示している。
【０２６４】
例えば、操舵量累積値ＳＴが、操舵量累積閾値Ａと操舵量累積閾値Ｂとの間に収まる場合には、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、２ｍから１ｍに変更し、操舵量累積値ＳＴが操舵量累積閾値Ｂを超えている場合には、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、２ｍから０．５ｍに変更する。尚、操舵量累積閾値は、２つだけでなく３つ以上設けても良い。そして、操舵量累積値ＳＴが超えた操舵量累積閾値に応じて、仮の走行経路ＲＴ１の生成条件を変更しても良い。
【０２６５】
次に、本発明の第３実施形態における走行制御装置１００について説明する。尚、第１実施形態の走行制御装置１００と同一な構成については、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【０２６６】
上述した第１実施形態では、車両１の搭乗者に与える不快感を軽減できる走行経路ＲＴ１〜ＲＴ３を生成するために、点経路生成処理（図１０参照）において、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを算出しているが、操舵量累積値ＳＴの算出は、仮の走行経路ＲＴ１を生成する前に行っている。
【０２６７】
これに対し、第３実施形態では、仮の走行経路ＲＴ１の生成と、生成した仮の走行経路ＲＴ１について駐車可能条件が成立しているか否かの判定とを繰り返しながら、生成可能な仮の走行経路ＲＴ１を全て生成する。その後、駐車可能条件が成立していた全ての仮の走行経路ＲＴ１について、車両１の操舵量累積値ＳＴを算出し、評価する。
【０２６８】
まず、図２０を参照して、第３実施形態における走行制御装置１００の電気的構成について説明する。尚、第２実施形態における走行制御装置１００の電気的構成において、第１実施形態と異なる部分は、フラッシュメモリ９２（図示しない）およびＲＡＭ９３である。
【０２６９】
フラッシュメモリ９２には、上述した図１０のフローチャートに示す点経路生成処理に代えて、後述する図２１に示すフローチャートに示す点経路生成処理が格納されている。そして、ＲＡＭ９３には、上述した点経路パターンメモリ９３ａと、点経路メモリ９３ｂと、走行制御点メモリ９３ｃと、操舵量累積値メモリ９３ｄに加えて、新たに、条件成立順列メモリ９３ｅとが設けられている。
【０２７０】
条件成立順列メモリ９３ｅは、仮の走行経路ＲＴ１を示す重複順列のうち、駐車可能条件が成立した仮の走行経路ＲＴ１を示す重複順列が記憶されるメモリである。この条件成立順列メモリ９３ｅは、後述する点経路生成処理（図２１参照）が開始される場合にクリアされる。詳細については後述するが、この点経路生成処理が開始されると、仮の走行経路ＲＴ１を示す重複順列が１つずつ順番に取得されていく。
【０２７１】
そして、重複順列が取得される度に、取得された重複順列に対応する仮の走行経路ＲＴ１について、駐車可能条件が成立しているか否かが判定され、駐車可能条件が成立していれば、その駐車可能条件の成立している仮の走行経路ＲＴ１を示す重複順列が、条件成立順列メモリ９３ｅに追加される。
【０２７２】
尚、本実施形態では、仮の走行経路ＲＴ１を示す重複順列の取得と、駐車可能条件が成立しているか否かの判定とが、予め規定されている全種類の重複順列を取得するまで繰り返される。そのため、条件成立順列メモリ９３ｅには、駐車可能条件が成立した仮の走行経路ＲＴ１を示す重複順列が全て記憶される。この条件成立順列メモリ９３ｅは、生成可能な仮の走行経路ＲＴ１の中から、車両１の操舵累積閾値ＳＴが最も小さいものを取得するために、ＣＰＵ９１により参照される。
【０２７３】
次に、図２１を参照して、第３実施形態の点経路生成処理（Ｓ４）について説明する。図２１は、第３実施形態の走行制御装置１００により実行される点経路生成処理を示すフローチャートである。尚、第１実施形態の点経路生成処理（図１０参照）における処理と、同一の処理を実行するステップについては、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【０２７４】
第３実施形態の点経路生成処理も、第１実施形態と同様に、仮の走行経路ＲＴ１を生成するための処理である。第３実施形態の点経路生成処理では、予め規定されている全種類の仮の走行経路ＲＴ１の中から、駐車可能条件が成立しているものを全て抽出し、更に、その中から、車両１の操舵量累積値ＳＴが最も小さいものを１つ取得する。
【０２７５】
そして、その操舵量累積値ＳＴが操舵量累積閾値Ａ以下であれば、その操舵量累積値ＳＴに対応する仮の走行経路ＲＴ１を用いて、出発地点から運転者により設定された駐車位置までの走行経路ＲＴ１〜ＲＴ３全体を生成する。一方、その操舵量累積値ＳＴが操舵量累積閾値Ａを超えており、車両１の搭乗者に不快感を与える仮の走行経路ＲＴ１が生成されるおそれがあれば、仮の生成経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直す。
【０２７６】
第３実施形態の点経路生成処理では、まず、ＲＡＭ９３の条件成立順列メモリ９３ｅをクリアする（Ｓ１２１）。そして、Ｓ３１およびＳ３２の各処理を実行して、次に、Ｓ３６およびＳ３７の各処理を実行する。Ｓ３７の判定が肯定される場合は（Ｓ３７：Ｙｅｓ）、Ｓ３２の処理で取得した経路パターン番号「ＰＴ１〜ＰＴ１０」の重複順列を、条件成立順列メモリ９３ｅに追加して（Ｓ１２２）、Ｓ３８の処理へ移行する。一方、Ｓ３７の判定が否定される場合は（Ｓ３７：Ｎｏ）、Ｓ３８へ移行する。
【０２７７】
そして、Ｓ３８の判定が否定される場合は（Ｓ３８：Ｎｏ）、Ｓ３２の処理へ戻る。一方、Ｓ３８の判定が肯定される場合は（Ｓ３８：Ｙｅｓ）、Ｓ３９の処理を実行する。Ｓ３９の判定が肯定される場合は（Ｓ３９：Ｙｅｓ）、Ｓ４０の処理を実行して、Ｓ３２の処理へ戻る。一方、Ｓ３９の判定が否定される場合は（Ｓ３９：Ｎｏ）、条件成立順列メモリ９３ｅに重複順列が記憶されているかを判定する（Ｓ１２３）。
【０２７８】
Ｓ１２３の判定が否定される場合は（Ｓ１２３：Ｎｏ）、予め規定していた全種類の仮の走行経路ＲＴ１を生成したものの、駐車可能条件が１つも成立しなかった場合なので、Ｓ４１の処理を実行して、点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０２７９】
一方、Ｓ１２３の判定が肯定される場合は（Ｓ１２３：Ｙｅｓ）、条件成立順列メモリ９３ｅに記憶されている重複順列毎に、その重複順列に対応する仮の走行経路ＲＴ１を車両１が走行したと仮定して、車両１の走行開始から終了までの車両１の操舵量累積値ＳＴ（即ち、操舵角の変化量の累積値）を算出する（Ｓ１２４）。
【０２８０】
そして、Ｓ１２４の処理で算出した操舵量累積値ＳＴの中から、値が最も小さいものを一つ取得して、操舵量累積値メモリ９３ｄに記憶する（Ｓ１２５）。次に、その記憶した操舵量累積値ＳＴが、フラッシュメモリ９２の操舵量累積閾値メモリ９２ｂに格納されている操舵量累積閾値Ａを超えているかを判定する（Ｓ１２６）。
【０２８１】
Ｓ１２６の判定が肯定される場合は（Ｓ１２６：Ｙｅｓ）、Ｓ４２、Ｓ４３およびＳ４４の各処理を実行して、Ｓ３２の処理へ戻る。一方、Ｓ１２６の判定が否定される場合は（Ｓ１２６：Ｎｏ）、Ｓ１２５の処理で取得した操舵量累積値ＳＴに対応する仮の走行経路ＲＴ１を示す重複順列を、ＲＡＭ９３の点経路パターンメモリ９３ａに記憶する（Ｓ１２７）。
【０２８２】
尚、本実施形態では、Ｓ１２６の処理において、操舵量累積値ＳＴが操舵量累積閾値Ａ以下であると判定されると、その操舵量累積値ＳＴに対応する仮の走行経路ＲＴ１が、パターン走行部ＲＴ１に決定される。次に、Ｓ４６、Ｓ４７およびＳ４８の各処理を実行して、この点経路生成処理を終了し、自動駐車処理（図９参照）に戻る。
【０２８３】
以上の図２１に示す点経路生成処理によって、まず、予め規定されている全種類の仮の走行経路ＲＴ１を全て生成し、その中から駐車可能条件が成立しているものを全て抽出し、更に、その中から、車両１の操舵量累積値ＳＴが最も小さいものを取得できる。
【０２８４】
そして、その操舵量累積値ＳＴが操舵量累積閾値Ａ以下であれば、出発地点から運転者により設定された駐車位置までの走行経路ＲＴ１〜ＲＴ３全体を生成できる。よって、車両１の操舵量累積値ＳＴが最も小さい仮の走行経路ＲＴ１を、パターン走行部ＲＴ１として用いることができるので、車両１の搭乗者に加わる横Ｇなどの力を極力軽減でき、車両１の搭乗者に与える不快感を極力軽減できる走行経路ＲＴ１を生成できる。
【０２８５】
一方、最も小さい操舵量累積値ＳＴが操舵量累積閾値Ａを超えており、車両１の搭乗者に不快感を与える仮の走行経路ＲＴ１が生成されるおそれがあれば、仮の生成経路ＲＴ１の生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直すことができる。
【０２８６】
尚、最も小さい操舵量累積値ＳＴが操舵量累積閾値Ａを超えている場合に、算出した他の操舵量累積値ＳＴについても取得し、それらの操舵量累積値ＳＴの傾向に応じて、仮の走行経路ＲＴ１の生成条件を変更し、仮の走行経路ＲＴ１の生成を始めからやり直しても良い。
【０２８７】
また、第３実施形態においても、第２実施形態の場合と同様に、複数の操舵量累積閾値Ａ，Ｂを設けておき、操舵量累積値ＳＴの大きさに応じて、仮の走行経路ＲＴ１の生成条件を変更しても良い。
【０２８８】
尚、上記実施形態に記載の「車両１の出発地点」が、特許請求の範囲の「基準位置」に対応し、上記実施形態に記載の「運転者により設定される駐車位置Ｏ」が、特許請求の範囲の「目標位置」に対応する。また、上記実施形態に記載の「経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬの変更」が、特許請求の範囲に記載の「仮経路の生成条件の変更」に対応する。
【０２８９】
以上、実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０２９０】
例えば、上記実施形態では、車両１の操舵量累積値ＳＴが、操舵量累積閾値Ａを超えた場合に、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、短くしているが、長くしても良い。そして、操舵量累積閾値Ａと、操舵量累積閾値Ｂ（但し、操舵量累積閾値Ａ＜操舵量累積閾値Ｂ）とを設けており、操舵量累積値ＳＴが、操舵量累積閾値Ａと操舵量累積閾値Ｂとの間に収まる場合には、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、操舵量累積値ＳＴが操舵量累積閾値Ｂを超えている場合よりも短くしても良い。
【０２９１】
また、上記実施形態では、仮の走行経路ＲＴ１の生成を試みる場合に、その仮の走行経路ＲＴ１を示す経路パターンＰＴ１〜ＰＴ１０の組み合わせが取得されれば、その組み合わせのうち、隣接する２つの走行経路パターン毎に、車両１の操舵角の変化量を算出し、その累積値を、操舵量累積値ＳＴとしている。これに加えて、仮の走行経路ＲＴ１を示す経路パターンＰＴ１〜ＰＴ１０の組み合わせのうち、先頭の経路パターンＰＴ１〜ＰＴに対応する操舵角と、車両１の出発地点における操舵角との差についても、変化量を算出してその絶対値を、操舵量累積値ＳＴに加えても良い。これにより、車両１の走行開始時に、車両１の搭乗者に加わる横Ｇなどの力も評価できるので、車両１の搭乗者に与える不快感をより軽減できる走行経路を生成できる。
【０２９２】
また、上記実施形態では、仮の走行経路ＲＴ１の生成を試みる度に、仮の走行経路ＲＴ１を示す経路パターンＰＴ１〜ＰＴ１０の組み合わせから、車両１の操舵角の変化量を求めて、操舵量累積値ＳＴを算出している。これに対して、予め規定されている全種類の仮の走行経路ＲＴ１について、経路パターンＰＴ１〜ＰＴ１０の組み合わせを求め、更に、その組み合わせに対応する操舵量累積値ＳＴも算出しておき、テーブルなどに事前に記憶しておく。そして、仮の走行経路ＲＴ１の生成を試みる場合に、そのテーブルを参照して、仮の走行経路ＲＴ１に対応する操舵量累積値ＳＴを取得しても良い。これにより、仮の走行経路ＲＴ１の生成を試みる場合に、操舵量累積値ＳＴをわざわざ算出しなくて良いので、走行制御装置１００に掛かる負担を抑制できる。また、走行経路ＲＴ１〜ＲＴ３が生成されるまでの時間を、短縮できる。
【０２９３】
また、上記実施形態では、仮の走行経路ＲＴ１の生成条件を変更する場合に、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを、一律、２ｍから１ｍに変更しているが、操舵量累積値ＳＴに比例させて、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを変化させても良い。即ち、操舵量累積値ＳＴが大きいほど、走行経路の長さが短くなるようにしても良い。また、操舵量累積値ＳＴが大きいほど、走行経路の長さが長くなるようにしても良い。また、操舵量累積値ＳＴごとに、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを予め定めておき、操舵量累積値ＳＴに応じて、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを変化させても良い。
【０２９４】
また、上記実施形態では、仮の走行経路ＲＴ１の生成条件を変更する場合に、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬを変更しているが、生成条件の変更を、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の長さＣＬの変更に限定するものではない。例えば、Ｓ３２の処理（図１０、図１８、図２１参照）において取得する重複順列の優先順位を設定しても良い。即ち、優先して生成する仮の走行経路ＲＴ１を設定しても良い。また、１種類だけでなく、複数種類の生成条件を変更しても良い。
【０２９５】
また、上記実施形態では、車両１の操舵角の変化量を求めて、操舵量累積値ＳＴを算出しているが、車両１の操舵角と、車両１のハンドル角とには相関があるため、車両１の操舵角の変化量に代えて、車両１のハンドル角の変化量を用いてもよい。
【０２９６】
また、上述した図１０および図１８に示す点経路生成処理では、Ｓ３９の判定が否定された後は、点経路生成処理を終了しているが、少なくとも１回は、仮の走行経路ＲＴの生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直しても良い。同様に、上述した図２１に示す点経路生成処理でも、Ｓ１２３の判定が否定された後に、少なくとも１回は、仮の走行経路ＲＴの生成条件を変更して、仮の走行経路ＲＴ１の生成を始めからやり直しても良い。
【０２９７】
また、上述した図１０、図１８および図２１に示す点経路生成処理において、操舵量累積値ＳＴが操舵量累積閾値Ａを超えている場合、仮の走行経路ＲＴ１の生成条件が変更されるが、仮の走行経路ＲＴ１の生成条件が変更された後に、再度、操舵量累積値ＳＴが操舵量累積閾値Ａを超えた場合は、Ｓ４１の処理を実行して、点経路生成処理を終了しても良い。また、１回目の変更とは異なる生成条件に変更しても良い。尚、生成条件の変更回数に応じて、生成条件を順次変更しても良い。
【０２９８】
また、上記実施形態では、目標とする駐車位置に車両１を停車させる場合、最終的には車両１を後退直進させて、目標とする駐車位置に車両１を停車させるように走行経路ＲＴ１〜ＲＴ３を生成しているが、最終的に車両１を前進直進させて、目標とする駐車位置に車両１を停車させるように走行経路ＲＴ１〜ＲＴ３を生成しても良い。
【０２９９】
また、上記実施形態では、１０種類の経路パターンＰＴ１〜ＰＴ１０を設けているが、パターンの数は１０種類に限らず、減らしても良いし、増やしても良い。また、各経路パターンＰＴ１〜ＰＴ１０に対応する各走行経路の距離ＣＬを全て２ｍとしているが、数値は適宜設定すれば良い。また、経路パターンＰＴ１〜ＰＴ１０に対応する走行経路の形状も適宜設定すれば良い。
【０３００】
また、上記実施形態では、現在位置から目標とする駐車位置まで０．０５ｍ間隔で、走行経路ＲＴ１〜ＲＴ３上に仮想的に走行制御点Ｑを生成しているが、走行制御点Ｑを設ける間隔は、０．０１ｍ間隔や、０．１ｍ間隔や、０．５ｍ間隔など適宜設定すれば良い。
【０３０１】
また、上記実施形態の走行制御装置１００は、現在位置から運転者により設定される駐車位置まで車両１を自律走行させて、その駐車位置に車両１を駐車させるように構成されているが、車両１の車両速度Ｖは運転者がアクセルペダル１１およびブレーキペダル１２により操作できるように構成し、走行制御装置１００は車両１のステアリング１３のみを制御するように構成しても良い。
【０３０２】
また、上記実施形態の走行制御装置１００は、現在位置から運転者により設定される駐車位置まで車両１を自律走行させて、その駐車位置に車両１を駐車させるように構成されているが、車両１の自律走行は行わず、現在位置から運転者により設定される駐車位置までの走行経路を運転者に報知するように構成しても良い。例えば、車両１内のモニタに、走行経路ＲＴ１〜ＲＴ３を表示しても良い。また、音声により運転者の運転操作を誘導して、車両１が走行経路ＲＴ１〜ＲＴ３上を走行するようにしても良い。
【０３０３】
また、上記実施形態では、目標とする駐車位置に車両１を駐車させた時の、左右の後輪２ＲＬ，２ＲＲの車軸上をｘ軸とし、車両１中央の前後軸上をｙ軸とし、ｘ軸およびｙ軸の交点を原点Ｏとした座標系を用いて、車両１の位置や、走行経路ＲＴ１〜ＲＴ３などの位置を算出しているが、車両１の現在位置における左右の後輪２ＦＬ，２ＦＲの車軸上をｘ軸とし、車両１中央の前後軸上をｙ軸とし、ｘ軸およびｙ軸の交点を原点Ｏとした座標系を用いても良い。また、任意にｘ軸およびｙ軸を設けて、ｘ軸およびｙ軸の交点を原点Ｏとした座標系を用いても良い。
【０３０４】
また、上記実施形態では、隣接する経路点Ｐ間ごとに０．０５ｍ間隔で走行制御点Ｑを生成するように構成しているが、任意の２つの経路点Ｐ間に、０．０５ｍ間隔で走行制御点Ｑを生成するように構成しても良い。例えば、走行経路上に３つ以上の経路点Ｐが順番に並んでいる場合には、その３つ以上の経路点Ｐのうち最初（出発点に最も近い側）の経路点Ｐと、その３つ以上の経路点のうち最後（運転者により設定された駐車位置に最も近い側）の経路点Ｐとの間に、０．０５ｍ間隔で走行制御点Ｑを生成するように構成しても良い。
【０３０５】
また、上記実施形態では、現在位置から目標とする駐車位置までの車両１の走行経路ＲＴ１〜ＲＴ３を生成して、その走行経路ＲＴ１〜ＲＴ３に従って車両１を自律走行させ、目標とする駐車位置に車両１を停車させているが、単に、現在位置から目標とする位置まで車両１を自律走行させるように構成も良い。例えば、目標とする位置を遠方に設定し、自律走行により車両１を長距離走行させるように構成しても良い。
【０３０６】
また、上記実施形態では、経路点Ｐ０（出発地点）上に走行制御点Ｑを設けていないが、経路点Ｐ０上にも走行制御点Ｑを設けて、車両１を自律走行させる場合に参照するように構成して良い。
【０３０７】
また、上記実施形態は、車両１が４輪車である場合の実施形態であるが、本発明は、車輪の数に関係なく車両であれば適用できるし、ショベルカーなどの建設機械などにも適用できる。
【符号の説明】
【０３０８】
１                          車両
１００                      走行制御装置
Ｓ４，Ｓ６，Ｓ８〜Ｓ１０    走行経路生成手段
Ｓ３２，Ｓ３６              仮経路生成手段
Ｓ３３，Ｓ１２４            特定手段
Ｓ３５，Ｓ１２６            第１累積判定手段
Ｓ３７                      到着判定手段
Ｓ４２〜Ｓ４４              生成制御手段
Ｓ４５〜Ｓ４８              走行経路決定手段
Ａ                          操舵量累積閾値（第１所定値）
Ｂ                          操舵量累積閾値（第２所定値）
ＰＴ１〜ＰＴ１０            経路パターン（走行経路パターン）
ＲＴ１                      走行経路
【図１】
2012081905.tif 000003
【図２】
2012081905.tif 000004
【図３】
2012081905.tif 000005
【図４】
2012081905.tif 000006
【図５】
2012081905.tif 000007
【図６】
2012081905.tif 000008
【図７】
2012081905.tif 000009
【図８】
2012081905.tif 000010
【図９】
2012081905.tif 000011
【図１０】
2012081905.tif 000012
【図１１】
2012081905.tif 000013
【図１２】
2012081905.tif 000014
【図１３】
2012081905.tif 000015
【図１４】
2012081905.tif 000016
【図１５】
2012081905.tif 000017
【図１６】
2012081905.tif 000018
【図１７】
2012081905.tif 000019
【図１８】
2012081905.tif 000020
【図１９】
2012081905.tif 000021
【図２０】
2012081905.tif 000022
【図２１】
2012081905.tif 000023