以下、本発明の好ましい実施形態について添付図面を参照して説明する。図1は、本発明の一例である制御装置100が搭載される車両1の上面視を模式的に示した模式図である。なお、図1の矢印U−D,L−R,F−Bは、車両1の上下方向、左右方向、前後方向をそれぞれ示している。
まず、図1を参照して、車両1の概略構成について説明する。車両1は、予め指定された走行ルートを通り目的地まで自律走行可能に構成された自律走行車両であって、搭乗者が搭乗可能に構成されている。また、車両1は、後述する周辺環境監視装置26(図2参照)の第1距離センサ26aおよび第2距離センサ26bによって車両1の周辺を常に走査し、車両1の走行の障害となり得る障害物を検出したら、その障害物を回避して走行するように構成されている。
図1に示すように、車両1は、車体フレームBFと、その車体フレームBFに支持される複数(本実施の形態では4輪)の車輪2と、それら複数の車輪2の内の一部(本実施形態では、左右の前輪2FL,2FR)を回転駆動する車輪駆動装置3と、各車輪2を車体フレームBFに懸架する懸架装置4と、複数の車輪2の内の一部(本実施の形態では、左右の前輪2FL,2FR)を操舵するステアリング装置6と、そのステアリング装置6と同様に車輪2(左右の前輪2FL,2FR)を操舵する操舵駆動装置5とを主に備えている。
次いで、各部の詳細構成について説明する。車体フレームBFは、車両1の骨格をなすものであり、懸架装置4を支持すると共に、その懸架装置4を介して車輪2を支持している。懸架装置4は、いわゆるサスペンションとして機能する装置であり、図1に示すように、各車輪2に独立して設けられている。
車輪2は、図1に示すように、車体フレームBFの前方側(矢印F側)に配置される左右の前輪2FL,2FRと、車体フレームBFの後方側(矢印B側)に配置される左右の後輪2RL,2RRとの4輪を備えている。また、左右の前輪2FL,2FRは、車輪駆動装置3によって回転駆動される駆動輪として構成される一方、左右の後輪2RL,2RRは、車両1の走行に伴って従動する従動輪として構成されている。
車輪駆動装置3は、左右の前輪2FL,2FRを回転駆動するための装置であり、それら左右の前輪2FL,2FRに回転駆動力を付与するモータ3aを備えて構成されている。なお、モータ3aは、図1に示すように、ディファレンシャルギヤ(図示せず)及び一対のドライブシャフト31を介して左右の前輪2FL,2FRに接続されている。
例えば、搭乗者がアクセルペダル11を操作した場合には、モータ3aから左右の前輪2FL,2FRに回転駆動力が付与され、それら左右の前輪2FL,2FRがアクセルペダル11の傾斜状態(傾斜角度、傾斜する速度など)に応じた速度で回転駆動される。なお、左右の前輪2FL,2FRの回転差は、ディファレンシャルギヤにより吸収される。
ステアリング装置6は、上述したように、左右の前輪2FL,2FRを操舵するための装置であり、図1に示すように、ステアリングシャフト61と、フックジョイント62と、ステアリングギヤ63と、タイロッド64と、ナックルアーム65とを主に備えて構成されている。なお、ステアリング装置6は、ステアリングギヤ63がピニオン63aとラック63bとを備えたラックアンドピニオン機構によって構成されている。
例えば、制御装置100によりステアリング13が操作された場合には、ステアリング13の操作がステアリングシャフト61を介してフックジョイント62に伝達されると共にフックジョイント62によって角度を変えられ、ステアリングギヤ63のピニオン63aに回転運動として伝達される。そして、ピニオン63aに伝達された回転運動がラック63bの直線運動に変換され、ラック63bが直線運動することで、ラック63bの両端に接続されたタイロッド64が移動し、ナックルアーム65を介して車輪2が操舵される。
操舵駆動装置5は、ステアリング装置6と同様に、左右の前輪2FL,2FRを操舵するための装置であり、ステアリングシャフト61に回転駆動力を付与するモータ5aを備えて構成されている。即ち、モータ5aが駆動されてステアリングシャフト61が回転すると、制御装置100によりステアリング13が操作された場合と同様に車輪2が操舵される。
アクセルペダル11、ブレーキペダル12及びステアリング13は、いずれも制御装置100により制御される操作部材であり、各ペダル11,12の傾斜状態(傾斜角度、傾斜する速度など)に応じて車両1の加速力や制動力が決定されると共に、ステアリング13の操作状態(操作量、操作方向)に応じて車両1の旋回半径や旋回方向が決定される。なお、アクセルペダル11、ブレーキペダル12及びステアリング13をそれぞれ、搭乗者(例えば、運転者)が操作可能に構成しても良い。
制御装置100は、車両1の各部を制御するための装置であり、車輪駆動装置3を制御したり、或いは、ブレーキ装置(図示せず)を制御して車両1を走行させるものである。なお、例えば、各ペダル11,12やステアリング13が、搭乗者(例えば、運転者)により操作可能に構成されている場合には、各ペダル11,12の踏み込み状態(踏み込み量、踏み込み速度など)を検出し、その検出結果に応じて車輪駆動装置3を制御したり、或いは、ブレーキペダル12の踏み込み状態を検出し、その検出結果に応じてブレーキ装置(図示せず)を制御させても良い。
また、制御装置100は、車両1の右前(矢印F方向の端部で且つ矢印R方向の端部)に取り付けられている第1距離センサ26aと、車両1の左後(矢印B方向の端部で且つ矢印L方向の端部)に取り付けられている第2距離センサ26bとによる車両1の周辺の走査結果を監視し、車両1の走行の障害となり得る障害物を検出したら、その障害物を回避するために車両1を旋回させるなどの制御を行うものである。
ここで、図2を参照して、制御装置100の詳細構成について説明する。図2は、制御装置100の電気的構成を示したブロック図である。図2に示すように、制御装置100は、CPU91、ROM92及びRAM93を備え、それらがバスライン94を介して入出力ポート95に接続されている。
また、入出力ポート95には、車輪駆動装置3、操舵駆動装置5、アクセルペダルセンサ装置21、ブレーキペダルセンサ装置22、ステアリングセンサ装置23、車速情報取得装置24、車体姿勢センサ装置25、周辺環境監視装置26及びその他の入出力装置99などが接続されている。
CPU91は、バスライン94によって接続された各部を制御する演算装置であり、ROM92は、CPU91によって実行される制御プログラムや固定値データ等を記憶するための書換不能な不揮発性のメモリである。なお、後述する図6のフローチャートに示す障害物監視エリア設定処理、図8のフローチャートに示す障害物回避処理、図10のフローチャートに示す減速処理、図11のフローチャートに示す障害物通過処理、図12のフローチャートに示す再回避処理を実行する各プログラムは、ROM92に格納されている。
また、ROM92には、障害物監視エリア設定マップ92aが格納されている。障害物監視エリア設定マップ92aは、車両1の走行の障害となり得る障害物を監視する範囲(以後、「障害物監視エリア」と称する)を、車両1の車両速度に応じて設定するためのマップである。制御装置100は、周辺環境監視装置26の第1距離センサ26aおよび第2距離センサ26bによる車両1の周辺の走査結果のうち、障害物監視エリア内のみを監視し、車両1の走行の障害となり得る障害物が存在しているかを検出する。
ここで、図3を参照して、障害物監視エリア設定マップ92aについて説明する。なお、本実施形態では、障害物監視エリア設定マップ92aは、障害物監視エリアにおける車両1の進行方向の距離L(範囲)を設定するためのマップと、障害物監視エリアにおける車両1の側面方向の幅W(範囲)を設定するためのマップとにより構成されている。
図3(a)は、障害物監視エリアにおける車両1の進行方向の距離Lを設定するためのマップの概略を説明するための概略図であり、図3(b)は、障害物監視エリアにおける車両1の側面方向の幅Wを設定するためのマップの概略を説明するための概略図である。なお、図3(a),(b)において、図面全体の左半分(以後、「左図」と称す)ではマップの一例を示し、図面全体の右半分(以後、「右図」と称す)では車両1に対して設定される障害物監視エリアの一例を示している。
まず、図3(a)を参照して、障害物監視エリアにおける車両1の進行方向の距離Lを設定するためのマップについて説明する。図3(a)の左図に示すマップ(グラフ)は、障害物監視エリアにおける車両1の進行方向の距離L[m]と、車両1の車両速度V[m/s]との関係の一例を定めたものであり、マップの縦軸は距離Lに対応し、マップの横軸は車両速度Vに対応している。
このマップに示すように、障害物監視エリアにおける車両1の進行方向の距離Lは、初期値(最小値)が長さLaに設定されており、車両速度Vの2乗に比例して長く設定される。より具体的には、図3(a)の右図に示すように、初期状態では、車両1の後輪の車軸を基準として、車両1の進行方向に向かって距離Laを有する障害物監視エリアE1が設定される。その後、車両1の車両速度Vが上昇すると、その車両速度Vの2乗に比例して、車両1の進行方向に向かって障害物監視エリアの距離ΔLが増加していく。
本実施形態では、障害物監視エリアにおける車両1の進行方向の距離Lを、車両速度Vの2乗に応じて増加させているが、これは、車両速度Vに応じた制動距離を確保するためである。一般的に、走行中の車両1を急停車させるには、車両速度Vの2乗に応じた制動距離が必要となる。そこで、障害物監視エリアにおける車両1の進行方向の距離Lを、急停車に必要な制動距離以上に設定すれば、進行方向にある障害物を検出した際に、その障害物を回避不可能であっても、車両1を停車させて衝突を避けることができる。よって、車両1の安全性を向上させることができる。
なお、本実施形態では、障害物監視エリアにおける車両1の進行方向の距離ΔLを、車両速度Vの2乗に比例させて連続的に増加させているが、段階的に増加させても良い。即ち、車両速度Vが予め定めた速度に達する度に、障害物監視エリアにおける車両1の進行方向の距離ΔLを、車両速度Vの2乗に比例させて増加させても良い。
また、本実施形態では、車両速度Vの2乗に比例させて、障害物監視エリアにおける車両1の進行方向の距離ΔLを増加させているが、これに限らず、単に、車両速度Vに比例させて増加させても良い。また、距離ΔLを指数関数的に増加させても良いし、対数関数的に増加させても良い。また、車両速度Vと、その車両速度Vに対応する距離ΔLとを対応づけたテーブルを予め設けておき、そのテーブルに従って距離ΔLを増加させても良い。
また、車両速度Vに代えて、車両1の減速度や、車両1の減速速度に基づいて、障害物監視エリアにおける車両1の進行方向の距離ΔLを増加させてもよい。例えば、車両1の減速度や、車両1の減速速度が大きいほど、障害物監視エリアにおける車両1の進行方向の距離ΔLを増加させる。
次に、図3(b)を参照して、障害物監視エリアにおける車両1の側面方向の幅Wを設定するためのマップについて説明する。図3(b)の左図に示すマップ(グラフ)は、障害物監視エリアにおける車両1の側面方向の幅W[m]と、車両1の車両速度V[m/s]との関係の一例を定めたものであり、マップの縦軸は幅Wに対応し、マップの横軸は車両速度Vに対応している。
このマップに示すように、障害物監視エリアにおける車両1の側面方向の幅Wは、初期値(最小値)が長さWaに設定されており、車両速度Vの2乗に比例して長く設定される。より具体的には、図3(b)の右図に示すように、初期状態では、車両1を進行方向に向かって左右に等分する等分線を基準として、車両1の両方の側面方向に向かってそれぞれ幅Wa/2を有する障害物監視エリアE1が設定される。その後、車両1の車両速度Vが上昇すると、その車両速度Vの2乗に比例して、車両1の両方の側面方向に向かって、障害物監視エリアの幅ΔW/2がそれぞれ増加していく。
なお、本実施形態では、障害物監視エリアにおける車両1の側面方向の幅ΔWを、車両速度Vの2乗に比例させて連続的に増加させているが、段階的に増加させても良い。即ち、車両速度Vが予め定めた速度に達する度に、車両1の両方の側面方向に向かって障害物監視エリアの幅ΔW/2をそれぞれ、車両速度Vの2乗に比例させて増加させても良い。
また、本実施形態では、車両速度Vの2乗に比例させて、障害物監視エリアにおける車両1の側面方向の幅ΔWを増加させているが、これに限らず、単に、車両速度Vに比例させて増加させても良い。また、幅ΔWを指数関数的に増加させても良いし、対数関数的に増加させても良い。また、車両速度Vと、その車両速度Vに対応する幅ΔWとを対応づけたテーブルを予め設けておき、そのテーブルに従って幅ΔWを増加させても良い。
また、車両速度Vに代えて、車両1の減速度や、車両1の減速速度に基づいて、障害物監視エリアにおける車両1の側面方向の幅ΔWを増加させてもよい。例えば、車両1の減速度や、車両1の減速速度が大きいほど、障害物監視エリアにおける車両1の側面方向の幅ΔWを増加させる。
ここで、図2の説明に戻る。RAM93は、書換可能な揮発性のメモリであり、CPU91によって実行される制御プログラムの実行時に各種のデータを一時的に記憶するためのメモリである。RAM93には、走査結果メモリ93aと、旋回優先ステータスメモリ93bと、走行ルートメモリ93cと、車両速度メモリ93dとが設けられている。
走査結果メモリ93aは、周辺環境監視装置26の第1距離センサ26aおよび第2距離センサ26bによって車両1の周辺が走査された場合に、その走査結果が記憶されるメモリである。
旋回優先ステータスメモリ93bは、旋回優先ステータスを記憶するためのメモリである。旋回優先ステータスには、車両1の走行の障害となり得る障害物の存在を検出した場合に、車両1を「右方向に優先的に旋回させる」か、車両1を「左方向に優先的に旋回させる」か、又は、車両1を「優先的に旋回させる方向なし」を示すステータス値のうち、何れか1つが設定される。
走行ルートメモリ93cは、車両1を目的地まで自律走行させる場合の走行ルートが記憶されるメモリである。車両速度メモリ93dは、走行ルートメモリ93cに記憶されている走行ルートに従って、車両1を自律走行させる場合に、走行ルートの各地点における車両速度Vがそれぞれ記憶されるメモリである。
車輪駆動装置3は、上述したように、左右の前輪2FL,2FR(図1参照)を回転駆動するための装置であり、左右の前輪2FL,2FRに回転駆動力を付与する電動モータ3aと、その電動モータ3aをCPU91からの命令に基づいて制御する制御回路(図示せず)とを主に備えて構成されている。
操舵駆動装置5は、上述したように、左右の前輪2FL,2FRを操舵するための装置であり、ステアリングシャフト61に回転駆動力を付与するモータ5aと、その電動モータ5aをCPU91からの命令に基づいて制御する制御回路(図示せず)とを主に備えて構成されている。
アクセルペダルセンサ装置21は、アクセルペダル11の傾斜状態(傾斜角度、傾斜する速度など)を検出すると共に、その検出結果をCPU91に出力するための装置であり、アクセルペダル11の傾斜状態を検出する角度センサ(図示せず)と、その角度センサの検出結果を処理してCPU91に出力する処理回路(図示せず)とを備えている。
ブレーキペダルセンサ装置22は、ブレーキペダル12の傾斜状態(傾斜角度、傾斜する速度など)を検出すると共に、その検出結果をCPU91に出力するための装置であり、ブレーキペダル12の傾斜状態を検出する角度センサ(図示せず)と、その角度センサの検出結果を処理してCPU91に出力する処理回路(図示せず)とを備えている。
ステアリングセンサ装置23は、ステアリング13の操作状態を検出すると共に、その検出結果をCPU91に出力するための装置であり、ステアリング13の操作量を操作方向に対応付けて検出する角度センサ(図示せず)と、その角度センサの検出結果を処理してCPU91に出力する処理回路(図示せず)とを備えている。
なお、本実施の形態では、各角度センサが電気抵抗を利用した接触型のポテンショメータとして構成されている。CPU91は、各センサ装置21,22,23から入力された各角度センサの検出結果によって各ペダル11,12の傾斜状態(傾斜角度、傾斜する速度など)およびステアリング13の操作量を得ることができる。
車速情報取得装置24は、車両1の車速をCPU91に出力するための装置であり、ドライブシャフト31が所定角度回転する毎にパルスを出力する角度センサ(図示せず)と、その角度センサの検出結果から所定時間内のパルス数に基づいて車両1の車速を算出してCPU91に出力する処理回路(図示せず)とを備えている。
車体姿勢センサ装置25は、車両1の姿勢(進行方向)や、車両1のヨーレートなどをCPU91に出力するための装置であり、地磁気を用いて車両1の姿勢を検出するジャイロセンサ(図示せず)と、そのジャイロセンサの検出結果から車両1の姿勢や、車両1のヨーレートなどを算出してCPU91に出力する処理回路(図示せず)とを備えている。
周辺環境監視装置26は、車両1の周辺に存在する各対象物までの距離データをCPU91に出力するための装置である。周辺環境監視装置26は、車両1の前面から右側面までの範囲を外方向に走査し、対象物までの距離を検出する第1距離センサ26aと、車両1の後面から左側面までの範囲を外方向に走査し、対象物までの距離を検出する第2距離センサ26bとを有している。各距離センサ26a,26bは、レーザー光を目標物に照射し、その反射の度合いで目標物までの距離を測定するレーザレンジファインダで構成されている。
なお、詳細については、図4を参照して後述するが、第1距離センサ26aは、車両1の右前に取り付けられ、第2距離センサ26bは、車両1の左後ろに取り付けられており、各距離センサ26a,26bによる車両1の周辺の走査は、一定間隔(例えば、200ms)ごとに繰り返し行われる。そして、走査が終了する度に、その走査結果がRAM93の走査結果メモリ93aに記憶される。他の入出力装置99としては、例えば、車両1のキーシリンダからの入力や、窓の開閉スイッチ、ライト、ランプ等の入出力装置が例示される。
次に、図4を参照して、第1距離センサ26aによる車両1の周辺の走査の一例と、その走査結果の一例とについて説明する。図4(a)は、第1距離センサ26aによる車両1の周辺の走査の一例を示す概略図であり、図4(b)は、図4(a)における走査結果の内容の一例を示す概略図である。
図4(a)に示すように、第1距離センサ26aは、車両1の右前に取り付けられており、その取り付け位置を中心とし、車両1の前面から左側面後方までの略270度の範囲(図4(a)の矢印Aで示す範囲)に位置する対象物との距離を検出可能に構成されている。
より具体的には、第1距離センサ26aは、略270度の範囲内で、円周方向の0.5度毎(図4(a)の矢印θで示す範囲毎)にレーザー光を放射状に照射し、放射状に延びる直線上に位置する対象物までの距離を検出すると共に、その略270度の範囲内の全走査を、約80msで完了するように構成されている。なお、図4(a)において、矢印Aで示した範囲や、矢印θで示した角度は、実際のものとは縮尺などが異なる。
例えば、図4(a)に示す状態で、第1距離センサ26aにより車両1の周辺が走査されると、車両1から対象物Z1における各検出位置までの距離と、車両1から対象物Z2における各検出位置までの距離とが検出される。なお、図4(a)では、対象物Z1,Z2の各検出位置を分かり易くするために、各検出位置をそれぞれ黒点により仮想的に示している。
そして、第1距離センサ26aによる車両1の周辺の走査が終了すると、その走査結果がRAM93の走査結果メモリ93aに記憶される。なお、この第1距離センサ26aによる走査は、一定間隔(例えば、200ms)ごとに繰り返し行われるので、走査結果メモリ93aには常に最新の走査結果が記憶される。
図4(b)は、図4(a)における走査結果の内容の一例を示す概略図である。なお、図4(b)では、破線により仮想的に車両1と、障害物監視エリアE1とを図示している。図4(b)に示すように、第1距離センサ26aによる走査結果として、円周方向の0.5度毎に検出された対象物Z1,Z2までの各距離がそれぞれ点として検出される。なお、対象物Z1,Z2の外周のうち一部分しか検出されていないのは、第1距離センサ26aからは死角となる検出不可能な部分が生じているからである。
そして、その検出された各点は、走査結果として、車両1の後輪の車軸をX軸とし、車両1を進行方向に向かって左右に等分する等分線をY軸とする座標系に並べられて、RAM93の走査結果メモリ93aに記憶される。
例えば、図4(a)に示す状態で、第1距離センサ26aによる走査が終了すると、走査結果メモリ93aには、図4(b)に示すように、対象物Z1に対応する各点から成るグループD1のデータと、対象物Z2に対応する各点から成るグループD2のデータとで構成されたデータ(走査結果)が記憶される。
上述した通り、制御装置100は、走査結果メモリ93aに記憶されているデータ(走査結果)のうち、車両1に対して設定された障害物監視エリアE1に対応するデータだけを監視する。そして、障害物監視エリアE1内に、対象物を示す各点が存在する場合には、その対象物を全て障害物として検出する。
例えば、図4(b)に示す状態では、車両1の障害物監視エリアE1内に、対象物Z1に対応する各点が存在するので、その対象物Z1に対応する各点が、車両1の走行の障害となり得る障害物として検出される。以上図4を参照して、第1距離センサ26aによる車両1の周辺の走査の一例と、その走査結果の一例とについて説明したが、第1距離センサ26aと、第2距離センサ26bとは同様に構成されているので、第2距離センサ26bについての説明は省略する。
次に、図5を参照して、本実施形態の車両1が障害物を回避する過程について説明する。図5(a)〜(d)のそれぞれは、車両1が障害物を回避する過程の一例を示す概略図である。なお、図5では、車両1は、図面の上方向に進行しているものとする。
図5(a)に示す通り、車両1では、車両1の車両速度Vに応じて、障害物監視エリアE2が設定され、その障害物監視エリアE2内に、障害物Z1が存在しないかが常に監視される。そして、障害物監視エリアE2内に、車両1の走行の障害となり得る障害物Z1が入ったこと(存在)が検出されたら、車両1では、その障害物Z1を回避するための回避行動が開始される。
具体的には、図5(b)に示す通り、障害物監視エリアE2内から、障害物Z1を除外可能な方向に車両1が旋回(例えば、左旋回)させられる。その後、旋回が終了したら、車両1の側面のうち、回避した障害物Z1がある側面側に回避物監視エリアKが設定される。この回避物監視エリアKは、車両1が回避した障害物Z1(以後、「回避物」と称する)の横を通過するまでの間、その回避物Z1を監視するために、障害物監視エリアE2の外側に設けられるものであり、車両1の車両速度Vに関わらずその大きさは固定されている。
その後、車両1は、障害物監視エリアE2内および回避物監視エリアK内をそれぞれ監視しつつ、回避物監視エリアK内において回避物Z1が検出されなくなるまで、直進走行する。もし、自律走行車両である車両1が、一定距離を直進した後に走行ルートに戻るよう構成されていると、回避物Z1(回避した障害物)を通過していないにも関わらず、車両1が走行ルートに戻ろうとする場合がある。
その場合には、再度、同一の障害物Z1を回避することになるので、これが繰り返されると、車両1が蛇行してしまう。しかしながら、本実施形態の車両1では、回避物監視エリアK内において回避物Z1が検出されなくなるまで、直進走行するので、回避物Z1(回避した障害物)の横を確実に通過でき、車両1の蛇行を抑制できる。
そして、図5(c)に示す通り、車両1が回避物Z1(回避した障害物)の横を通過すると、設定されていた回避物監視エリアKが解除される。車両1は、回避物監視エリアKが解除されると直進走行を止めて、その後は、図5(d)に示す通り、走行ルートに戻る。より具体的には、回避物よりも進行方向側の走行ルートに向けて、車両1が旋回させられると共に走行させられる。以上説明した通り、車両1は、走行ルート上にある障害物を検出した場合、その障害物を迂回(回避)して、再度、走行ルート上に戻り目的地まで走行することができる。
次に、図6〜図13を参照して、車両1に搭載された制御装置100のCPU91により実行される障害物監視エリア設定処理について説明する。図6は、制御装置100により実行される障害物監視エリア設定処理を示すフローチャートである。障害物監視エリア設定処理は、車両1の車両速度Vに応じて、障害物監視エリアの大きさを変化させるための処理であり、制御装置100の電源が投入されている間、CPU91によって繰り返し(例えば、200ms間隔で)実行される処理である。
障害物監視エリア設定処理では、まず、RAM93の旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスのステータス値をクリアする(S1)。即ち、旋回優先ステータスに、「優先的に旋回させる方向なし」を示すステータス値を設定する。次に、走査結果メモリ93aに記憶されている車両の周辺の走査結果を取得して(S2)、車両1の車両速度Vを取得する(S3)。
そして、S3で取得した車両1の車両速度Vに応じて、車両1の進行方向の障害物監視エリアを設定する(S4)。具体的には、図3(a)を参照して説明した通り、ROM92に格納されている障害物監視エリア設定マップ92aに基づいて、障害物監視エリアにおける車両1の進行方向の距離Lを設定する。これにより、車両1の車両速度Vが上昇すると、その車両速度Vの2乗に比例して、障害物監視エリアにおける車両1の進行方向の距離ΔLが増加していく。なお、障害物監視エリアのうち、このS3の処理で設定されるエリアが、特許請求の範囲に記載の前面エリアZE(図7(a)参照)に対応する。
次に、S3で取得した車両1の車両速度Vに応じて、車両1の側面方向の障害物監視エリアを設定する(S5)。具体的には、図3(b)を参照して説明した通り、ROM92に格納されている障害物監視エリア設定マップ92aに基づいて、障害物監視エリアにおける車両1の側面方向の幅Wを設定する。これにより、車両1の車両速度Vが上昇すると、その車両速度Vの2乗に比例して、障害物監視エリアにおける車両1の側面方向の幅ΔWが増加していく。なお、障害物監視エリアのうち、このS4の処理で設定されるエリアが、特許請求の範囲に記載の側面エリア(図7(a)参照)に対応する。
ここで、図7を参照して、車両1に対して設定される障害物監視エリアの一例について説明する。図7(a)は、車両速度Vの違いにより変化する障害物の検出タイミングの一例を説明するための概略図であり、図7(b)は、障害物を回避する場合に、車両速度Vの違いにより変化する車両から障害物までの距離の一例を示す概略図である。
上述した通り、本実施形態では、車両1の車両速度Vが速くなる程、障害物監視エリアが大きく設定される。また、車両1では、各距離センサ26a,26bによる車両1の周辺の走査結果が常に監視されており、障害物監視エリアE3内に、車両1の走行の障害となり得る障害物が入ったこと(存在)が検出されたら、その障害物を回避するために旋回が開始される。
例えば、車両1が車両速度V1で走行している場合に、図7(a)の左図に示すように、車両1に対して障害物監視エリアE3が設定されているとする。車両1は、障害物監視エリアE3内に、車両1の走行の障害となり得る障害物Z1が入ると、障害物を回避するための回避行動(旋回)を開始する。
一方、車両1が車両速度V2(但し、車両速度V1<車両速度V2)で走行している場合には、図7(a)の右図に示すように、車両速度V1で走行していた場合よりも、進行方向の距離L、及び、側面方向の幅Wが長い障害物監視エリアE4が設定される。なお、図示はしないが、障害物監視エリアE4のうち、車両1の前面の延長線上よりも進行方向に位置するエリアを前面エリアZEと称し、残りのエリア、即ち、車両1の側面から車幅方向に位置するエリアを側面エリアSEと称する。
よって、車両速度V2で走行している方が、車両速度V1で走行している場合よりも、障害物監視エリアE4における進行方向の距離LがΔLだけ長いので、車両速度V1で走行している場合よりも手前で、進行方向にある障害物を検出できる。即ち、車両速度Vが速くなる程、進行方向の距離Lが長くなるように障害物監視エリアの前面エリアZEが設定されるので、前面エリアZEの距離Lが長くなった分だけ、車両1の進行方向にある障害物Z1をより早く(より手前から)検出できる。従って、車両速度Vが速くなる程、障害物からより遠い位置で車両1に旋回を開始させることができるので、車両1の搭乗者に対して安心感をもたらすことができる。また、車両速度Vが速くなる程、障害物を回避するための回避行動(旋回)を早く開始できるので、車両速度Vが速い場合でも、緩やかな旋回により障害物を回避できる。
また、車両速度V2で走行している方が、車両速度V1で走行している場合よりも、障害物監視エリアE4における側面方向の幅WがΔWだけ長いので、車両速度V1で走行している場合よりも、進行方向から外れる方向(即ち、旋回方向)の障害物をより広範囲にわたって検出できる。即ち、車両速度Vが速くなる程、側面方向の幅Wが長くなるように障害物監視エリアの前面エリアZEが設定されるので、前面エリアの幅Wが長くなった分だけ、旋回により回避すべき障害物をより広範囲にわたって事前に検出できる。よって、車両1の車両速度Vが速くなる程、車両1が旋回して障害物を回避する場合に、障害物を回避可能な旋回方向をより精度良く決定できる。従って、車両1における障害物の回避能力を向上させることができる。
上述した通り、本実施形態では、S3及びS4の処理によって、障害物監視エリアが、車両1の車両速度Vに応じて、矩形状に設定される。例えば、障害物監視エリアを複数の(例えば、矩形状の)エリアを組み合わせて構成するなど、障害物監視エリアの形状を複雑な構成とした場合には、各エリアごとに、エリア範囲を設定しなければならないので処理が煩雑となる。
例えば、前面エリアZEの範囲と、側面エリアSEの範囲とを別々に設定するように構成した場合には、前面エリアZEにおける境界線SL1と、側面エリアSEにおける境界線SL2とを別々に設定しなければならないので処理が煩雑となる。本実施形態では、障害物監視エリアを1つの矩形状のエリアで構成しているので、一回の処理で境界線SL1,SL2を共に設定できる。つまり、障害物監視エリアの形状を複雑な形状とした場合よりも、障害物監視エリアの設定を容易に行うことができるので、制御装置100の制御的負担を軽減できる。
また、詳細については後述するが、本実施形態では、障害物を回避するために車両1を旋回させる場合、その障害物監視エリア内にある障害物を全て、障害物監視エリアから除外するように車両1を旋回させている。
例えば、図7(b)の左図に示すように、車両1が車両速度V1で走行している状態で、車両1の障害物監視エリアE3内に障害物Z1が入ると、図7(b)の左図に示すように、車両1は障害物監視エリアE3から障害物Z1を除外するように、左旋回して障害物Z1を回避する。
また、図7(b)の右図に示すように、車両1が車両速度V2(但し、車両速度V1<車両速度V2)で走行している状態で、車両1の障害物監視エリアE4内に障害物Z1が入ると、同様に、図7(b)の右図に示すように、車両1は障害物監視エリアE4から障害物Z1を除外するように、左旋回して障害物Z1を回避する。より具体的には、車両速度V2で走行している方が、車両速度V1で走行している場合よりも、障害物監視エリアE4における側面方向の幅がΔW/2だけ長いので、車両1を旋回させた場合に、障害物Z1から遠くに離れて旋回できる。
つまり、車両速度V2で走行している方が、車両速度V1で走行している場合よりも、障害物監視エリアE4における側面方向の幅WがΔWだけ長いので、車両1を旋回させて障害物Z1を回避する場合に、その幅Wが長くなった障害物監視エリア内からも障害物を除外するように車両1を旋回させることができる。
言い換えると、車両速度Vが速くなる程、側面方向の幅Wが長くなるように障害物監視エリアの側面エリアSE(図7(a)参照)が設定されるので、側面エリアSEの幅Wが長くなった分だけ、障害物から遠くに離れて車両1を旋回させることができる。よって、車両1の車両速度Vが速くなる程、より障害物から遠くに離れて車両1を旋回させることができる。従って、車両1の搭乗者に対して安心感をもたらすことができる。
一方、車両1の周辺にいる歩行者や自転車などの通行人が車両1によって障害物と検出された場合には、車両1の車両速度Vが速くなる程、その通行人から遠くに離れて車両1が旋回することになる。よって、通行人は、車両1に衝突されるのではないかという不安感や危機感などを軽減できると共に、安心感を抱くことができる。従って、車両1は、車両1の周辺にいる通行人と、車両1の搭乗者とに対して共に安心感をもたらすことができる。
ここで、図6の説明に戻る。S5の処理が終了したら、次に、障害物監視エリア内にある対象物(即ち、対象物に対応する各点)を全て障害物として抽出する(S6)。そして、障害物が抽出されたかを判定し(S7)、障害物が抽出されなかった場合には(S7:No)、S2の処理に戻り、上述したS2〜S7の各処理を繰り返す。一方、1つでも障害物が抽出された場合には(S7:Yes)、障害物回避処理を実行する(S8)。
なお、障害物回避処理については、図8を参照して後述するが、車両1に障害物を回避させるための処理である。なお、車両1が障害物を回避できない場合には、車両1は停車させられる。
障害物回避処理(S8)が終了したら、次に、車両1を停車させたかを判定し(S9)、車両1を停車させた場合には(S9:Yes)、この障害物監視エリア設定処理を終了する。一方、車両1が走行している場合には(S9:No)、予め指定されている走行ルートのうち、回避物よりも目的地(進行方向)側の(進行すべき)走行ルートに向けて車両1を旋回させ、車両1を指定の走行ルート上に戻し、その走行ルート上を指定の車両速度Vで走行させる(S10)。そして、S1の処理に戻り、上述した1〜S10の各処理を繰り返す。
以上の図6の障害物監視エリア設定処理によれば、車両1の車両速度Vが速くなる程、障害物監視エリアにおける進行方向の距離ΔL、および、側面方向の幅ΔWをそれぞれ長く設定できる。よって、車両速度Vが速くなる程、障害物を回避するための回避行動(旋回)を早く開始でき、また、障害物からより遠くに離れて車両1を旋回させることができるので、車両1の搭乗者に対して安心感をもたらすことができる。また、車両速度Vが速い場合でも、緩やかな旋回により障害物を回避できる。
また、車両1が障害物を回避するために走行ルートから外れた場合でも、障害物の回避が確実に終了した段階で、車両1を走行ルートに戻すことができる。従って、車両1が走行ルートから外れた場合でも、安全に走行ルートに戻すことができると共に、目的地に向かって走行を継続させることができる。
次に、図8を参照して、制御装置100のCPU91により実行される障害物回避処理(S8)について説明する。図8は、制御装置100により実行される障害物回避処理を示すフローチャートである。この障害物回避処理は、車両1に障害物を回避させるための処理であり、障害物監視エリア設定処理(図6参照)の中で実行される処理である。
障害物回避処理では、まず、車両1を左旋回させた場合に、S6の処理(図5参照)で抽出された全障害物を障害物監視エリア内から除外可能な旋回半径RLを算出する(S21)。なお、本実施形態では、旋回半径RLは最大値を算出するものとする。これは、旋回半径RLが大きいほど、車両1の旋回が緩やかになるからである。
次に、車両1を右旋回させた場合に、S6の処理(図5参照)で抽出された全障害物を障害物監視エリア内から除外可能な旋回半径RRを算出する(S22)。なお、上述した同様の理由により、旋回半径RRも最大値を算出するものとする。
ここで、図9を参照して、障害物監視エリアの大きさの違いにより変化する旋回半径の一例について説明する。図9(a),(b)は、障害物監視エリアの大きさの違いにより変化する旋回半径の一例を説明するための概略図である。
まず、図9(a)を参照して、障害物監視エリアにおける進行方向の距離Lおよび側面方向の幅Wのうち、側面方向の幅Wのみを車両速度Vに応じて変化させた場合の旋回半径について説明する。なお、図9(a)の左図に示す車両1は、車両速度Vに関わらず障害物監視エリアの大きさが固定されているものとし、図9(a)の右図に示す車両1は、障害物監視エリアにおける側面方向の幅Wのみが車両速度Vに応じて変化するものとする。
上述した通り、S21の処理、又は、S22の処理(図8参照)が実行されると、車両1を旋回させた場合に、障害物監視エリア内から全障害物を除外可能な旋回半径RL,RRが算出される。例えば、図9(a)の左図に示す車両1では、車両1の障害物監視エリアE5内に障害物Z1が入ると、障害物監視エリアE5から障害物Z1を除外可能な旋回半径の中で、最大値となる旋回半径R1が算出される。
一方、図9(a)の右図に示す車両1では、車両速度Vが速くなると、障害物監視エリアE6における側面方向の幅Wが長くなる。ここでは、車両1の障害物監視エリアE6が、図9(a)の左図に示す障害物監視エリアE5よりも、側面方向に幅ΔWだけ長く設定されているとする。この状態で、車両1の障害物監視エリアE6内に障害物Z1が入ると、障害物監視エリアE6から障害物Z1を除外可能な旋回半径の中で、最大値となる旋回半径R2が算出される。
ここで、図9(a)の左図に示す障害物監視エリアE5と、図9(a)の右図に示す障害物監視エリアE6と比較した場合、進行方向の距離Lは等しいので、車両1の車両速度Vが同一なら、各車両1の障害物Z1を検出するタイミングも同一となる。つまり、各車両1の回避行動(旋回)を開始するタイミングは同一となる。
しかし、図9(a)の右図に示す障害物監視エリアE6は、図9(a)の左図に示す障害物監視エリアE5よりも、側面方向の幅Wが長いので、図9(a)の右図に示す車両1は、図9(a)の左図に示す車両1よりも、障害物Z1から遠くに離れて旋回しなければならない。即ち、図9(a)の右図に示す車両1は、図9(a)の左図に示す車両1よりも、急な角度で旋回して障害物Z1を回避しなければならず、旋回半径R2が小さくなってしまう。
以上説明した通り、障害物監視エリアにおける進行方向の距離Lおよび側面方向の幅Wのうち、側面方向の幅Wのみを車両速度Vに応じて変化させると、車両1の旋回半径が小さくなってしまう。
次に、図9(b)を参照して、障害物監視エリアにおける進行方向の距離Lおよび側面方向の幅Wを共に、車両速度Vに応じて変化させた場合の旋回半径について説明する。なお、図9(b)の左図は、図9(a)の左図と同一であり、この車両1は、車両速度Vに関わらず障害物監視エリアの大きさが固定されているものする。よって、図9(b)の左図の説明については省略する。また、図9(b)の右図に示す車両1は、障害物監視エリアにおける進行方向の距離Lおよび側面方向の幅Wが共に、車両速度Vに応じて変化するものとする。
上述した通り、図9(b)の右図に示す車両1では、車両速度Vが速くなると、障害物監視エリアE7における進行方向の距離Lおよび側面方向の幅Wがそれぞれ長くなる。ここでは、車両1の障害物監視エリアE7が、図9(b)の左図に示す障害物監視エリアE5よりも、進行方向に距離ΔL長く、更に、側面方向に幅ΔW長く設定されているとする。この状態で、車両1の障害物監視エリアE7内に障害物Z1が入ると、障害物監視エリアE7から障害物Z1を除外可能な旋回半径の中で、最大値となる旋回半径R3が算出される。
ここで、図9(b)の左図に示す障害物監視エリアE5と、図9(b)の右図に示す障害物監視エリアE7と比較した場合、障害物監視エリアE7は、障害物監視エリアE5よりも進行方向の距離LがΔL長いので、図9(b)の右図に示す車両1は、図9(b)の左図に示す車両1よりも手前で、障害物Z1を検出できる。
即ち、車両1の進行方向にある障害物Z1をより早く(より手前から)検出できるので、障害物を回避するための回避行動(旋回)を早く開始できる。その結果、車両1の旋回半径R3は、図9(a)の右図に示す車両1の旋回半径R2よりも大きくなると共に、図9(b)の左図に示す車両1の旋回半径R1と同等にすることが可能である。
以上説明した通り、障害物監視エリアにおける進行方向の距離Lおよび側面方向の幅Wのうち、側面方向の幅Wのみを車両速度Vに応じて変化させると、車両1の旋回半径が小さくなってしまうが、進行方向の距離Lおよび側面方向の幅Wを共に車両速度Vに応じて変化させることで、障害物Z1から離れて旋回できると共に、緩やかな旋回により障害物Z1を回避できる。
ここで、図8の説明に戻る。S22の処理が終了したら、次に、S21の処理およびS22の処理が実行された結果、旋回半径RL,RRの少なくとも一方が算出され、全障害物を回避可能かを判定する(S23)。S23の処理において、旋回半径RL,RRが共に算出されず、全障害物を回避不可能な場合には(S23:No)、減速処理を実行する(S24)。なお、減速処理については、図10を参照して後述するが、車両1を旋回させても障害物を回避できない場合に、車両1の車両速度Vを低下させる、又は、車両1を停車させるための処理である。
減速処理(S24)が終了したら、次に、車両1を停車させたかを判定し(S25)、車両1を停車させた場合には(S25:Yes)、この障害物回避処理を終了する。一方、車両1を停車させていない場合には(S25:No)、S21の処理に戻り、再度、全障害物を回避可能な旋回半径RL,RRの算出を試みる。
上述した減速処理(図10参照)の実行前には、旋回半径RL,RRが共に算出されなかった場合でも、減速処理が実行されると、障害物監視エリアの大きさが縮小されるので、全障害物を回避可能な旋回半径RL,RRが算出され易くなる。よって、車両1が障害物を回避できる確率が向上するので、車両1の障害物回避能力を向上させることができる。
一方、S23の処理において、全障害物を回避可能な場合には(S23:Yes)、車体姿勢センサ装置25から出力されるヨーレートを取得する(S26)。次に、算出された旋回半径RLが旋回半径RR以上であるかを判定し(S27)、旋回半径RLが旋回半径RR以上である場合には(S27:Yes)、旋回半径RLで車両1を左旋回させるために必要なヨーレートYaを算出する(S28)。ここで算出されるヨーレートYaは、S26の処理で取得されたヨーレートが加味された値となる。
そして、RAM93の旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスに、車両1を「左方向に優先的に旋回させる」を示すステータス値を設定する(S29)。なお、車両1を「左方向に優先的に旋回させる」と設定するのは、車両1を左旋回させて障害物を回避すると、その後、回避した障害物が車両1の右側面にくるからであり、左旋回を優先した方が、回避した障害物に衝突する可能性をより低くできるからである。
一方、S27の処理において、旋回半径RLが旋回半径RR未満である場合には(S27:No)、旋回半径RRで車両1を右旋回させるために必要なヨーレートYaを算出する(S30)。なお、S28の処理の場合と同様に、ここで算出されるヨーレートYaも、S26の処理で取得されたヨーレートが加味された値となる。
そして、RAM93の旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスに、車両1を「右方向に優先的に旋回させる」を示すステータス値を設定する(S31)。なお、上述した同様の理由により、ステータス値を設定している。
次に、S28またはS30の処理で算出したヨーレートYaが、車体姿勢センサ装置25から出力されるように車両1を旋回させる(S32)。そして、障害物通過処理を実行し(S33)、この障害物回避処理を終了する。なお、障害物通過処理については、図11を参照して後述するが、障害物を回避するために車両1を旋回させた後、車両1にその回避した障害物の横を通過させるための処理である。そして、障害物通過処理(S33)が終了したら、この障害物回避処理を終了する。
以上の図8の障害物回避処理によれば、障害物を回避可能な旋回半径を算出した後、より大きな旋回半径で車両1に障害物を回避させることができる。よって、障害物をより緩やかな旋回で回避できる。また、車両1を旋回させた方向を、即ち、回避物(回避した障害物)が存在しない方向を旋回優先ステータスに設定できる。
次に、図10を参照して、制御装置100のCPU91により実行される減速処理(S24)について説明する。図10は、制御装置100により実行される減速処理を示すフローチャートである。この減速処理は、車両1を旋回させても障害物を回避できない場合に、車両1の車両速度Vを低下させる、又は、車両1を停車させるための処理であり、障害物回避処理(図8参照)、及び、後述する再回避処理(図12)の中で実行される処理である。
減速処理では、まず、車両1の車両速度Vが、所定閾値以下であるかを判定する(S41)。所定閾値とは、例えば、車両1を即座に停車可能な車両速度Vであり、1.4〜2.8[m/s]などが例示される。なお、この所定閾値は、常に一定の値でなくても良く、車両1の車両速度Vと、車両1から障害物までの最短距離とに基づいて設定することも可能であるし、車両1の減速度や、車両1の減速速度に基づいて設定することも可能である。S41の処理において、車両1の車両速度Vが、所定閾値以下である場合には(S41:Yes)、その場で車両1を停車させて(S48)、この減速処理を終了する。
一方、車両1の車両速度Vが、所定閾値を超えている場合には(S41:No)、車両1の車両速度Vを所定閾値以下に設定して(S42)、走査結果メモリ93aに記憶されている車両の周辺の走査結果を取得する(S43)。次に、車両1の車両速度Vを取得して(S44)、その取得した車両速度Vに応じて、車両1の進行方向の障害物監視エリアを設定し(S45)、同様に、その取得した車両速度Vに応じて、車両1の側面方向の障害物監視エリアを設定する(S46)。
なお、S42の処理よって、車両速度Vが低下するので、S45及びS46の処理によって、障害物監視エリアの大きさは縮小される。次に、障害物監視エリア内にある対象物(即ち、対象物に対応する各点)を全て障害物として抽出して(S47)、この減速処理を終了する。
以上の図10の減速処理によれば、車両1を旋回させても障害物を回避できない場合に、車両1の車両速度Vを低下させる、又は、車両1を停車させることができる。車両1の車両速度Vを低下させた場合には、障害物監視エリアの大きさが縮小されるので、その状態で、再度、障害物や回避物の回避を試みることができる。よって、車両1が障害物や回避物を回避できる確率が向上するので、車両1の障害物回避能力を向上させることができる。また、車両1を停車させた場合には、障害物との衝突を防止できるので、障害物の回避時における車両の安全性を向上させることができる。
次に、図11を参照して、制御装置100のCPU91により実行される障害物通過処理(S33)について説明する。図11は、制御装置100により実行される障害物通過処理を示すフローチャートである。この障害物通過処理は、障害物を回避するために車両1を旋回させた後、車両1にその回避した障害物の横を通過させるための処理であり、障害物回避処理(図8参照)の中で実行される処理である。
障害物通過処理では、まず、車両1の側面のうち、回避した障害物がある側面側に回避物監視エリアK(図5(b)参照)を設定する(S51)。なお、上述した通り、回避物監視エリアKは、車両1が回避した障害物(回避物)の横を通過するまでの間、その回避物を監視するために、障害物監視エリアの外側に設けられるものであり、車両1の車両速度Vに関わらずその大きさは固定されている。
次に、走査結果メモリ93aに記憶されている車両の周辺の走査結果を取得して(S52)、回避物監視エリアK内にある対象物(即ち、対象物に対応する各点)を全て回避物として抽出する(S53)。そして、車両1の車両速度Vを取得して(S54)、その取得した車両1の車両速度Vに応じて、車両1の進行方向の障害物監視エリアを設定する(S55)。また、S54で取得した車両1の車両速度Vに応じて、車両1の側面方向の障害物監視エリアも設定する(S56)。
次に、障害物監視エリア内にある対象物(即ち、対象物に対応する各点)を全て障害物として抽出する(S57)。そして、障害物が抽出されたかを判定し(S58)、障害物が抽出されなかった場合には(S58:No)、回避物が抽出されたかを判定する(S59)。回避物が抽出された場合は(S59:Yes)、車両1が回避物の横を通過している最中なので、車両1を直進走行させて進行方向を維持する(S60)。その後、S52の処理に戻り、上述したS52〜S60の各処理を繰り返す。
S58の処理において、障害物が抽出された場合は(S58:Yes)、車両1が回避物の横を通過している最中に、進行方向に新たな障害物を検出した場合であるので、再回避処理を実行する(S61)。
なお、再回避処理については、図12を参照して後述するが、車両1が回避物(回避した障害物)の横を通過している状態で、進行方向に新たな障害物を検出した場合に、車両1に障害物および回避物を回避させるための処理である。なお、車両1が障害物および回避物を回避できない場合には、車両1は停車させられる。
再回避処理(S61)が終了したら、次に、車両1を停車させたかを判定し(S62)、車両1を停車させた場合には(S62:Yes)、S63の処理へ移行する。一方、車両1が走行している場合には(S62:No)、S52の処理に戻り、上述したS52〜S62の各処理を繰り返す。
S59の処理において、回避物が抽出されなかった場合は(S59:No)、車両1が回避物の横を通過した場合なので、設定した回避物監視エリアを解除して(S63)、この障害物通過処理を終了する。
以上の図11の障害物通過処理によれば、車両1が回避した障害物(回避物)の横を通過するまでの間、車両1の側面のうち回避物がある方の側面側に、回避物を監視するための回避物監視エリアを設定できる。そして、回避物監視エリアが設定されている間は、優先的に車両1を直進走行させるので、車両1が回避物に衝突することを抑制できる。よって、障害物の回避時における車両の安全性を向上させることができる。
次に、図12を参照して、制御装置100のCPU91により実行される再回避処理(S61)について説明する。図12は、制御装置100により実行される再回避処理を示すフローチャートである。この再回避処理は、車両1が回避物(回避した障害物)の横を通過している状態で、進行方向に新たな障害物を検出した場合に、車両1に障害物および回避物を回避させるための処理であり、障害物通過処理(図11参照)の中で実行される処理である。
再回避処理では、まず、車両1を左旋回させた場合に、S53の処理(図11参照)で抽出された全回避物と、S57の処理(図11参照)で抽出された全障害物とを、障害物監視エリア内から除外可能な旋回半径RLを算出する(S71)。なお、この旋回半径RLは、障害物回避処理(図8のS21参照)の場合と同様の理由により、最大値を算出するものとする。
次に、車両1を右旋回させた場合に、S53の処理(図11参照)で抽出された全回避物と、S57の処理(図11参照)で抽出された全障害物とを、障害物監視エリア内から除外可能な旋回半径RRを算出する(S72)。なお、上述した同様の理由により、旋回半径RRも最大値を算出するものとする。
そして、S71の処理およびS72の処理が実行された結果、旋回半径RL,RRの少なくとも一方が算出され、全障害物および全回避物を回避可能かを判定する(S73)。S73の処理において、旋回半径RL,RRが共に算出されず、全障害物および全回避物を回避不可能な場合には(S73:No)、上述した減速処理(S24)を実行する(図10参照)。なお、上述した通り、減速処理は、車両1を旋回させても障害物を回避できない場合に、車両1の車両速度Vを低下させる、又は、車両1を停車させるための処理である。
減速処理(S24)が終了したら、次に、車両1を停車させたかを判定し(S74)、車両1を停車させた場合には(S74:Yes)、この再回避処理を終了する。一方、車両1を停車させていない場合には(S74:No)、S71の処理に戻り、再度、全障害物および全回避物を回避可能な旋回半径RL,RRの算出を試みる。
上述した減速処理(図10参照)の実行前には、旋回半径RL,RRが共に算出されなかった場合でも、減速処理が実行されると、障害物監視エリアの大きさが縮小されるので、全障害物および全回避物を回避可能な旋回半径RL,RRが算出され易くなる。よって、車両1が障害物および回避物を回避できる確率が向上するので、車両1の障害物回避能力を向上させることができる。
一方、S73の処理において、全障害物および全回避物を回避可能な場合には(S73:Yes)、車体姿勢センサ装置25から出力されるヨーレートを取得する(S75)。次に、旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスの値が、「左方向に優先的に旋回させる」又は「優先的に旋回させる方向なし」を示すステータス値であるかを判定する(S76)。
旋回優先ステータスの値が「左方向に優先的に旋回させる」又は「優先的に旋回させる方向なし」を示すステータス値である場合には(S76:Yes)、車両1を左旋回させることで全障害物および全回避物を回避可能であるかを判定する(S77)。
なお、上述した障害物回避処理(図8参照)では、算出された旋回半径RL,RRのうち、その値が大きい方に車両1を旋回させているが、この再回避処理では、旋回優先ステータスのステータス値が示す方向を優先して、車両1を旋回させる。その理由は、上述した通り、旋回優先ステータスには、回避した障害物(回避物)が無い方向へ、優先的に車両1を旋回させるステータス値を設定しているからであり、旋回優先ステータスにより示される方向へ車両1を旋回させることにより、回避した障害物に衝突する可能性をより低くできるからである。
S77の処理において、車両1を左旋回させても全障害物および全回避物を回避可能できない場合には(S77:No)、S81の処理に移行する。一方、車両1を左旋回させることで全障害物および全回避物を回避可能である場合には(S77:Yes)、旋回半径RLで車両1を左旋回させるために必要なヨーレートYaを算出する(S78)。ここで算出されるヨーレートYaは、S75の処理で取得されたヨーレートが加味された値となる。
そして、旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスに、車両1を「左方向に優先的に旋回させる」を示すステータス値を設定する(S79)。ここで、車両1を「左方向に優先的に旋回させる」と設定するのは、車両1を左旋回させて障害物を回避すると、その後、回避した障害物が車両1の右側の側面にくるからであり、左旋回を優先した方が、回避した障害物に衝突する可能性をより低くできるからである。
一方、S76の処理において、旋回優先ステータスの値が「右方向に優先的に旋回させる」を示すステータス値である場合には(S76:No)、車両1を右旋回させることで全障害物および全回避物を回避可能であるかを判定する(S80)。
車両1を右旋回させても全障害物および全回避物を回避可能できない場合には(S80:No)、S78の処理に移行する。一方、車両1を右旋回させることで全障害物および全回避物を回避可能である場合には(S80:Yes)、旋回半径RRで車両1を右旋回させるために必要なヨーレートYaを算出する(S81)。なお、S78の処理の場合と同様に、ここで算出されるヨーレートYaも、S75の処理で取得されたヨーレートが加味された値となる。
そして、旋回優先ステータスメモリ93bに記憶されている旋回優先ステータスに、車両1を「右方向に優先的に旋回させる」を示すステータス値を設定する(S82)。なお、上述した同様の理由により、ステータス値を設定している。次に、S78またはS81の処理で算出したヨーレートYaが、車体姿勢センサ装置25から出力されるように車両1を旋回させて(S83)、この再回避処理を終了する。
以上の図12の再回避処理によれば、車両1が回避物(回避した障害物)の横を通過している状態で、進行方向に新たな障害物を検出した場合に、車両1を回避物が存在しない方向へ優先的に車両1を旋回させることができる。よって、車両1が回避物に衝突する可能性を低減できるので、障害物の回避時における車両の安全性を向上させることができる。
また、進行方向の新たな障害物と、回避物とを共に車両1が回避可能に旋回できる方向が、回避物が存在する方向のみである場合には、車両1をその方向に旋回させることができる。よって、可能な限り車両1を旋回させて、車両1に障害物(又は、回避物)を回避させることができるので、車両1における障害物の回避能力を向上させることができる。
次に、図13を参照して、本実施形態の車両1が障害物および回避物を回避する過程の一例について説明する。図13(a)〜(d)のそれぞれは、車両1が障害物および回避物を回避する過程の一例を示す概略図である。なお、図13では、車両1は、図面の上方向に進行しているものとする。
例えば、図13(a)に示す通り、車両1が障害物Z1を回避するために旋回し、その後、回避物監視エリアKが設定された状態で直進している場合に、再度、障害物監視エリアE8内に、車両1の走行の障害となり得る障害物Z3が入ったこと(存在)が検出されると、車両1では、その障害物Z3を回避するための回避行動が開始される。
なお、ここでは、右方向に車両1を旋回させると、障害物監視エリアE8内に、障害物Z3および回避物Z1の少なくとも一方が入るものとする。即ち、車両1は、左方向に旋回して障害物を回避するものとする。
その場合、車両1は、図13(b)に示す通り、回避物監視エリアKが設定された状態で、左方向に旋回する。そして、車両1は、障害物監視エリアE8および回避物監視エリアKをそれぞれ監視しつつ、回避物監視エリアKから回避物Z3が検出されなくなるまで、直進走行する。
なお、図示はしないが、車両1が回避物Z3(回避した障害物)の横を通過すると、設定されていた回避物監視エリアKが解除される。すると、車両1は、直進走行を止めて走行ルートに戻る。より具体的には、回避物Z1,Z3よりも進行方向側の走行ルートに向けて、車両1が旋回させられると共に走行させられる。
以上説明した通り、車両1は、障害物の回避中に、再度、進行方向にある障害物を検出した場合でも、その障害物および回避物を迂回(回避)して、走行ルート上に戻り目的地まで走行することができる。
また、例えば、図13(c)に示す通り、車両1が障害物Z1を回避するために旋回し、その後、回避物監視エリアKが設定された状態で直進している場合に、再度、障害物監視エリアE8内に、車両1の走行の障害となり得る障害物Z4が入ったこと(存在)が検出されたとする。
なお、ここでは、右方向に車両1を旋回させると、障害物監視エリアE8内に、障害物Z4および回避物Z1の少なくとも一方が入るものとする。更に、左方向に車両1を旋回させると、直ぐに、障害物Z5が障害物監視エリアE8内に入ってしまい、その結果、左旋回が中断されるものとする。即ち、車両1は、左方向に旋回しても、右方向に旋回しても共に、障害物を回避できないものとする。
その場合、車両1は、車両速度Vを低下させて、障害物監視エリアE9の大きさを縮小する。そして、再度、障害物監視エリアE9から、障害物Z4および回避物Z1を除外可能な方向への旋回が試みられる。例えば、図13(d)に示す通り、障害物監視エリアE9の大きさが縮小されると、その結果、車両1が障害物Z4および回避物Z1を共に回避可能となり、車両1は、障害物Z4および回避物Z1を回避可能な方向へと旋回(右旋回)する。
その後、旋回が終了したら、車両1の側面のうち、回避した障害物Z4がある側面側に回避物監視エリアKが設定される。つまり、この場合には、車両1の両側面に回避物監視エリアKが設定される。そして、車両1は、障害物監視エリアE9および回避物監視エリアKをそれぞれ監視しつつ、回避物監視エリアKから回避物Z1,Z4が検出されなくなるまで、直進走行する。
なお、図示はしないが、車両1が回避物Z1,Z4(回避した障害物)の横を通過すると、設定されていた回避物監視エリアKが解除される。すると、車両1は、直進走行を止めて走行ルートに戻る。より具体的には、回避物Z1,Z4よりも進行方向側の走行ルートに向けて、車両1が旋回させられると共に走行させられる。
以上説明した通り、車両1は、障害物や回避物の回避中に、障害物や回避物を回避できなければ、車両速度Vを低下させて、再度、障害物や回避物の回避を試みることができる。よって、車両1が障害物や回避物を回避できる確率が向上するので、車両1の障害物回避能力を向上させることができる。
以上説明したように、制御装置100は、車両1の車両速度Vが速くなる程、障害物監視エリアにおける進行方向の距離ΔL、および、側面方向の幅ΔWをそれぞれ長く設定する。よって、車両速度Vが速くなる程、障害物を回避するための回避行動(旋回)を早く開始でき、また、障害物からより遠くに離れて車両1を旋回させることができるので、車両1の搭乗者に対して安心感をもたらすことができる。
また、制御装置100は、車両1が回避した障害物(回避物)の横を通過するまでの間、車両1の側面のうち回避物がある方の側面側に、回避物を監視するための回避物監視エリアを設定する。そして、回避物監視エリアが設定されている間、車両1に直進走行させることを優先させるので、車両1が回避物に衝突することを抑制できる。よって、障害物の回避時における車両の安全性を向上させることができる。
また、車両1が障害物を回避するために走行ルートから外れた場合でも、障害物の回避が確実に終了したら、走行ルートに戻ることができる。従って、車両1が走行ルートから外れた場合でも、安全に走行ルートに戻ることができると共に、目的地に向かって走行を継続することができる。
上記実施形態では、車両1が、予め指定された走行ルートを通り目的地まで自律走行可能に構成されている場合の一例について説明した。しかしながら、本発明は、自律走行可能に構成された車両のみに限らず、運転者が運転可能に構成された車両にも適用可能である。例えば、本発明を、運転者の運転をアシスト(補助)する制御装置としても良い。より具体的には、運転者の運転では車両1が障害物と衝突する場合に、車両1を旋回させて障害物を回避させる制御装置としても良い。
次に、図14を参照して、運転者の運転をアシストする場合の障害物回避処理について説明する。図14は、上述した障害物回避処理(図8参照)の変形例であり、運転者の運転をアシストする場合の障害物回避処理を示すフローチャートである。なお、上述した障害物回避処理(図8参照)と同一の処理を実行するステップについては、同一の符号を付してその説明を省略する。
この障害物回避処理では、S26の処理が終了したら、車両1の車両速度Vに基づいて、障害物の回避に必要なヨーレートYaを算出する(S91)。ここで算出されるヨーレートYaは、S26の処理で取得されたヨーレートが加味された値となる。次に、運転者によりハンドルが操作されているかを判断し(S92)、運転者によりハンドル操作されていない場合には(S92:No)、S95の処理へ移行する。一方、運転者によりハンドルが操作されている場合には(S92:Yes)、更に、現在のハンドル操作によって、これから車両1に生じるヨーレートYbを算出する(S93)。
次に、これから車両1に生じるヨーレートYbが、障害物の回避に必要なヨーレートYa未満であるかを判定する(S94)。これから車両1に生じるヨーレートYbが、障害物の回避に必要なヨーレートYa未満である場合は(S94:Yes)、運転者の運転では車両1が障害物を回避できず、車両1が障害物に衝突してしまう場合である。よって、この場合は、障害物の回避に必要なヨーレートYaが、車体姿勢センサ装置25から出力されるように車両1を旋回させて(S95)、S33の処理へ移行する。
一方、S94の処理において、これから車両1に生じるヨーレートYbが、障害物の回避に必要なヨーレートYa以上である場合は(S94:No)、運転者の運転で車両1が障害物を回避できる場合である。よって、この場合は、何もせずにS33の処理へ移行する。
以上の図14の障害物回避処理によれば、運転者が運転可能に構成された車両の場合でも、車両1に障害物を回避させることができる。
なお、図示はしないが、上述した再回避処理(図12参照)についても同様に、一部の処理を入れ替えることにより、再回避処理を運転者の運転をアシストする処理に変更できる。具体的には、図12に示す再回避処理のS76〜S83の処理を、上述した図14の障害物回避と同様に、S91〜S95に入れ替える。即ち、S75の処理の次に、S91の処理が実行されるようにし、S94:Noの場合、又は、S95の処理が終了した場合に、再回避処理を終了するようにする。
以上の障害物回避処理によれば、運転者が運転可能に構成された車両の場合でも、車両1に障害物および回避物を回避させることができる。
以上、実施の形態に基づき本発明を説明したが、本発明は上記実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、上記実施形態では、回避物監視エリアを障害物監視エリアの外側の範囲に、それぞれのエリアが重複しないように構成しているが、回避物監視エリアを障害物監視エリアと重複する範囲に設定しても良い。
また、上記実施形態では、車両1の車両速度Vに応じて、障害物監視エリアの大きさを矩形状に拡大または縮小させているが、障害物監視エリアの一部の大きさだけを拡大または縮小させ、その他の部分について大きさを固定させるように構成しても良い。例えば、障害物監視エリアのうち、進行方向寄りの部分だけを拡大または縮小させても良いし、車両の前面寄りの部分だけや、中央の部分だけを拡大または縮小させても良い。
また、上記実施形態では、車両1の車両速度Vに応じて、障害物監視エリアの大きさを矩形状に拡大または縮小させているが、例えば、歩行者や自転車などの通行人を検出可能な人感センサを車両の外周に設けておき、車両の周辺に通行人がいる場合には、障害物監視エリアの大きさを拡大し、通行人から遠くに離れて車両1を旋回させるように構成しても良い。特に、車両1が市街地などを走行している場合には、車両の周辺にいる通行人に対して安心感をもたらすように車両1を走行させることができる。
また、上記実施形態の減速処理(図10参照)では、車両1の車両速度Vが所定閾値(例えば、1.4m/s〜2.8m/s)以上なら、車両速度Vを一度に所定閾値以下に低下させているが、車両速度Vを数回に分けて段階的に所定値以下となるように低下させても良い。即ち、減速処理が実行される毎に、車両1の車両速度Vを所定速度ずつ低下させていく。もし、車両速度Vが所定閾値以下となる前に、車両1が障害物や回避物を回避可能となれば、その車両速度Vのままで障害物や回避物を回避できるので、障害物や回避物を迅速に回避できる。
また、上記実施形態では、障害物監視エリアを、車両1の後輪の車軸を基準として、車両1の進行方向に向かって設けているが、障害物監視エリアを設ける範囲は、任意に設定しても良い。例えば、車両1の全体が覆われるように設けても良いし、車両1の前面から進行方向に向けて設けても良い。また、障害物監視エリアにおける車両1の進行方向の距離Lや、車両1の側面方向の幅Wも、適宜設定すれば良い。
また、上記実施形態では、車両1の進行方向が前進する方向なので、障害物監視エリアを後輪の車軸を基準として、車両1の前進方向に向かって設けているが、車両1の進行方向が後進する方向の場合には、障害物監視エリアを後輪の車軸を基準として、車両1の後進方向(車両1の後面から、車両1が後進する方向)に向かって設けても良い。
また、上記実施形態では、回避物監視エリアKを、車両1の側面から車幅方向に向かって設けているが、回避物監視エリアを設ける範囲は、任意に設定しても良い。例えば、車両1の側面の一部から車幅方向に向かって設けても良いし、車両1の側面に加えて、車両1の一部や全体が覆われるように設けても良い。また、回避物監視エリアKにおける車両1の進行方向の長さは、適宜設定すれば良く、例えば、車両1の側面の長さ(車両1の全長)よりも長くても良い。また、回避物監視エリアKにおける車両1の側面方向の長さも、適宜設定すれば良い。
また、上記実施形態では、障害物監視エリアの形状や、回避物監視エリアの形状を矩形状としているが、矩形状に限らず円形や扇形や三角形などの形状としても良い。
また、上記実施形態では、障害物監視エリアの大きさを車両1の進行方向と、車両1の車幅方向とに拡大または縮小させているが、車両の進行方向や車幅方向に対して、斜めの方向に拡大または縮小させても良い。
また、上記実施形態では、回避物監視エリアの大きさを固定としているが、障害物監視エリアのように、車両1の車両速度Vに応じて、その大きさを拡大または縮小させても良い。
また、上記実施形態は、車両1が4輪車である場合の実施形態であるが、本発明は、車輪の数に関係なく車両であれば適用できるし、ショベルカーなどの建設機械などにも適用できる。特に、工事現場の様な障害物の多い場所を走行する車両に本発明を適用すれば、障害物の回避時における車両の安全性をより向上させることができるので好適である。
また、上記実施形態では、各距離センサ26a,26bをレーザレンジファインダで構成するものとしたが、超音波を発信する超音波センサや、ミリ波を発信するミリ波センサなどで構成するものとしても良い。また、カメラにより入力される画像を解析して、車両の周辺に存在する対象物までの距離を算出するように構成しても良い。
また、上記実施形態では、第1距離センサ26aを車両1の右前に取り付けるものとしたが、車両1の左前、右後または左後に取り付けても良いし、車両1の前側の左右2箇所や、車両1の後側左右2箇所、車両1の4隅の4箇所などに取り付けても良い。即ち、第1距離センサ26aの数や取り付け位置は如何なる数や場所であっても良い。同様に、第2距離センサ26bの数や取り付け位置は如何なる数や場所であっても良い。