説明

車両制御装置、車両、及び車両制御プログラム

【課題】追従走行中における先行車と追従車の接触や衝突を回避する。
【解決手段】追従車1は、先行車2の走行軌跡を記憶するが、先行車2が直線経路から所定量以上離れた場合にその地点を記憶する。また、追従車1は、追従走行の開始要求を受けた際に、追従車1、目標点T、先行車2が追従走行を開始するのに安全な位置関係にあることを確認してから追従走行を開始する。更に、追従車1は、追従走行中も追従車1、目標点T、及び先行車2の位置関係から追従車1と先行車2が接触、あるいは衝突しないか監視し、これらの可能性がある場合には追従車1を停止させる。加えて、追従車1は、先行車2の実際の現在位置Lpではなく、直進経路上に先行車2の現在位置Lpに対応する先行車相当位置Lp’を仮想的に設定することにより、先行車2のふらつきが追従車1の追従制御に影響するのを抑止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置、車両、及び車両制御プログラムに関し、例えば、先行車に対して追従走行するものに関する。
【背景技術】
【0002】
先行して走行する車両(以下、先行車)に追従しながらオートクルーズする車両(以下、追従車)の開発が進められている。
追従制御は、例えば、追従車に対する先行車の相対位置をレーザレーダや画像処理などで特定し、先行車から一定距離後方に目標点を設け、追従車と目標点との間の縦偏差、横偏差が0となるように、追従車の操舵や加速度を制御することにより行うことができる。
この追従制御方法は、簡易な方法であるが、先行車の旋回時に先行車と追従車の走行経路が異なるため、例えば、経路上にセンサが検知し得ない障害物が存在したり、経路に溝が存在した場合、これらに接触したり、溝に落ちることが考えられる。
【0003】
このような問題を回避する追従制御方法として、次の特許文献1に示されたように、追従車が先行車の走行した走行軌跡に沿って追従する同轍制御がある。
この技術は、先行車の移動走行軌跡を離散的にメモリに記憶し、その点に対して追従するものである。これにより、先行車の過去の通過経路を忠実に再現して追従走行することが可能となる。
【0004】
しかし、同轍制御を行う場合、先行車の自由度が大きく旋回性能が高いと、例えば、先行車が旋回して追従車に向かってくる場合も考えられ、追従車と先行車が接触、あるいは衝突する可能性があるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−155349号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、追従走行中における先行車と追従車の接触や衝突を回避することである。
【課題を解決するための手段】
【0007】
本発明は、前記目的を達成するために、請求項1に記載の発明では、先行車に対する目標点を設定し、当該目標点に向かうように追従車の走行を制御する走行制御手段と、前記追従車が前記追従車と前記目標点を結ぶ線分から離れる最大距離を推定する推定手段と、前記追従車の進行方向前方に先行車が存在し、更に、当該先行車の進行方向前方に目標点が存在する場合に、前記追従車と前記目標点を結ぶ線分と前記先行車との距離から、前記最大距離を減じた値が所定の値以下であるか否かを判断する判断手段と、前記判断手段が前記所定の値以下であると判断した場合に、前記先行車と前記追従車の接触を回避する回避動作を行う回避動作手段と、を具備したことを特徴とする車両制御装置を提供する。
請求項2に記載の発明では、前記判断手段は、前記追従車の進行方向と前記先行車が、前記線分に対して同じ領域にある場合に前記判断を行うことを特徴とする請求項1に記載の車両制御装置を提供する。
請求項3に記載の発明では、前記判断手段は、前記追従車から前記目標点までの線分に対して前記先行車から垂線が引ける場合に前記判断を行うことを特徴とする請求項1、又は請求項2に記載の車両制御装置を提供する。
請求項4に記載の発明では、前記所定の値は、前記追従車の速度の関数であり、前記追従車の速度が大きいほど大きな値となることを特徴とする請求項1、請求項2、又は請求項3に記載の車両制御装置を提供する。
請求項5に記載の発明では、前記回避動作手段は、前記追従車を停止させることを特徴とする請求項1から請求項4までのうちの何れか1の請求項に記載の車両制御装置を提供する。
請求項6に記載の発明では、前記判断手段が、前記所定の値以下であると判断した場合に、その旨を前記先行車に通知する通知手段を具備したことを特徴とする請求項1から請求項5までのうちの何れか1の請求項に記載の車両制御装置を提供する。
請求項7に記載の発明では、請求項1から請求項6に記載の車両制御装置を搭載し、先行車に追従することを特徴とする車両を提供する。
請求項8に記載の発明では、先行車に対する目標点を設定し、当該目標点に向かうように追従車の走行を制御する走行制御機能と、前記追従車が前記追従車と前記目標点を結ぶ線分から離れる最大距離を推定する推定機能と、前記追従車の進行方向前方に先行車が存在し、更に、当該先行車の進行方向前方に目標点が存在する場合に、前記追従車と前記目標点を結ぶ線分と前記先行車との距離から、前記最大距離を減じた値が所定の値以下であるか否かを判断する判断機能と、前記判断機能で前記所定の値以下であると判断された場合に、前記先行車と前記追従車の接触を回避する回避動作を行う回避動作機能と、をコンピュータで実現する車両制御プログラムを提供する。
【発明の効果】
【0008】
本発明によれば、追従車と先行車が接近できる限界距離を設定することにより、追従走行中における先行車と追従車の接触や衝突を回避することができる。
【図面の簡単な説明】
【0009】
【図1】追従車の車両制御装置を説明するための図である。
【図2】先行車相対位置検出部が先行車を認識する方法を説明するための図である。
【図3】追従車が記憶媒体に保存する先行車の走行軌跡を説明するための図である。
【図4】追従車が先行車の走行した地点を記憶する条件を説明するための図である。
【図5】追従車目標点を設定する方法を説明するための図である。
【図6】目標点Tを用いた追従方法を説明するための図である。
【図7】追従制御の全体的な手順を説明するためのフローチャートである。
【図8】追従車が先行車の走行軌跡を記憶する手順を説明するフローチャートである。
【図9】図8の続きを示したフローチャートである。
【図10】追従車が目標点Tを設定する手順を説明するためのフローチャートである。
【図11】追従車、目標点T、及び先行車の位置関係などを示した図である。
【図12】車両の基準点などを説明するための図である。
【図13】逸脱予測距離eTなどを説明するための図である。
【図14】限界距離Kを算出する手順を説明するためのフローチャートである。
【図15】変形例1の全体的な処理を説明するためのフローチャートである。
【図16】追従制御の開始と維持の判断を説明するためのフローチャートである。
【図17】先行車相当位置Lp’などを説明するための図である。
【図18】目標点Tの変化を緩和する方法を説明するための図である。
【図19】変形例2の追従車が先行車の走行軌跡を記憶する手順を説明するためのフローチャートである。
【図20】変形例2の追従車が目標点を設定する手順を説明するためのフローチャートである。
【図21】図20の続きを示したフローチャートである。
【発明を実施するための形態】
【0010】
(1)実施形態の概要
追従車1は、先行車2の通過した地点を記憶することにより先行車2の走行軌跡を記憶(記録)するが、先行車2が直線経路から所定量(所定距離)以上離れた場合にその地点を記憶することにより、旋回箇所では細かく地点を記憶すると共に、直進箇所では地点の記憶を省略する。
このように、旋回箇所では細かく地点を記憶するため、追従車1は、先行車2に滑らかに同轍追従することができると共に、記憶するデータ量、及び計算量を低減することができる。
【0011】
また、追従車1は、追従走行の開始要求を受けた際に、追従車1、目標点T、先行車2が追従走行を開始するのに安全な位置関係にあるか否かを、追従車1の進行方向前方に目標点Tが存在し、更に目標点Tの前方に先行車2が存在し、かつ、目標点Tと先行車2が追従車1のおおよそ進行方向前方に存在することによって確認してから追従走行を開始する。
更に、追従車1は、追従走行中も追従車1、目標点T、及び先行車2の位置関係から追従車1と先行車2が接触、あるいは衝突しないか監視し、これらの可能性がある場合には追従車1に回避動作を行わせる。
【0012】
加えて、追従車1は、先行車2の実際の現在位置Lpではなく、直進経路上に先行車2の現在位置Lpに対応する先行車相当位置Lp’を仮想的に設定することにより、先行車2のふらつきが追従車1の追従制御に影響するのを抑止する。
また、追従車1は、目標点Tの位置が急激に変化する場合に、これを緩和するための制御方法も備えている。
【0013】
(2)実施形態の詳細
図1は、追従車1の車両制御装置を説明するための図である。
レーザレーダ15は、レーザビームを追従車1の前方や側方に2次元走査し、その反射を検知するレーダ装置である。
ECU(Electronic Control Unit)10は、CPU21、RAM22、ROM23、入出力I/F24、記憶装置25などを備えたコンピュータを用いて構成されている。
【0014】
CPU21は、所定のプログラムに従って各種演算や追従車1の制御などを行う中央処理装置である。
RAM22は、各種データなどを一時的に記憶するランダムアクセスメモリであり、例えば、追従走行時に先行車2の位置を記憶したりなどする。
ROM23は、各種パラメータやプログラムなどが記憶されたリードオンリメモリである。
【0015】
入出力I/F24は、各種センサや周辺機器と接続するためのインターフェースであり、例えば、車速センサ16、ヨーレートセンサ17、無線通信装置18などと接続する。
記憶装置25は、例えば、ハードディスクや半導体などで構成された大容量の記憶媒体であり、各種のプログラムやデータなどが記憶されている。
そして、記憶装置25に記憶したプログラムをCPU21で実行すると、先行車相対位置検出部11、自車絶対位置検出部12、追従制御部13、車両制御部14などが構成される。
【0016】
先行車相対位置検出部11は、先行車2の外形を表すモデルパターンを記憶しており、レーザレーダ15により検出した反射対象物と、モデルパターンをマッチング(照合)し
て認識することにより、自車(追従車1)に対する先行車2の相対位置を検出する。
相対位置は、追従車1を基準とした相対座標系での位置であり、追従車1の移動に伴って移動する。
自車絶対位置検出部12は、車速センサ16、ヨーレートセンサ17、その他のセンサを用いて、自車の絶対位置を検出する。
絶対位置は、例えば、緯度経度など、予め地表面に固定して設定した絶対座標系での位置である。
【0017】
このように、本実施の形態では、追従車1が備える装置やセンサによって、先行車2の位置や自車の位置をデッドレコニングなどにより測定するが、通信を用いて外部からこれらの情報を得るように構成することもできる。
例えば、先行車相対位置検出部11は、先行車2から無線によって現在位置や速度、進行方向などに関する情報(例えば、先行車2のジャイロや速度センサの出力値)を取得し、これを用いて先行車2の相対位置を計算するように構成することができ、自車絶対位置検出部12は、例えば、GPS(Global Positioning Systems)衛星やビーコンなどから得た情報により自車の絶対位置を計算するように構成することもできる。この場合には、デッドレコニングを用いる必要はない。
【0018】
追従制御部13は、先行車相対位置検出部11で検出された先行車2の相対位置や自車絶対位置検出部12で検出された自車の絶対位置、車速センサ16やヨーレートセンサ17での検出値などを用いて先行車2に同轍追従走行するための制御信号を出力する。
車両制御部14は、追従制御部13が出力した制御信号に従って、ステアリングやエンジン、電気自動車の場合には駆動モータなどを駆動し、追従車1の車速、加速度、ヨーレートなどを制御する。
【0019】
車速センサ16は、追従車1の車速を検出するセンサであり、ヨーレートセンサ17は、追従車1のヨーレートを検出するセンサである。
追従車1は、この他に、例えば、加速度センサやジャイロなど、追従車1の走行状態を検出するために必要な各種のセンサを備えている。
無線通信装置18は、先行車2や他の車両、あるいはサーバなど無線通信するための装置であり、例えば、先行車に対して、追従制御を開始した旨の通知や解除した旨の通知などを送信したり、先行車2の現在位置などを無線で得る場合にはこれらの情報を受信したりなどすることができる。
【0020】
図2は、先行車相対位置検出部11がレーザレーダ15を用いて先行車2を認識する方法を説明するための図である。
レーザレーダ15は、例えば、回転走査型レーザレーダであり、追従車1の周囲を2次元(3次元でもよい)走査する。
レーザレーダ15は、走査可能角度(上記図では270°)を走査し、対象物までの距離を単位角度ごとに出力する。図では、レーザレーダ走査点を白抜きの円で示してある。これらの出力は以下のように先行車相対位置検出部11で解析される。
【0021】
先行車相対位置検出部11は、上記角度と距離のセットからなる走査結果の点列(白抜きの円)を線で結んでレーザレーダ線分を生成し、追従車1を基準とするRAM22に形成された平面座標上にこれを展開する。
なお、その際、点間の線分が閾値を超えたものは線分としないとすることでパターンマッチングの処理を軽減することができる。
【0022】
先行車相対位置検出部11は、このようにレーザレーダ線分を平面座標上に展開した後、先行車2のモデルパターン2aを回転させながら平面上を移動させてマッチングさせ、
線分の一致度が予め定めた基準値を超えた場合、そのときのモデルパターン2aを先行車2と認識する。
先行車2には、追従制御の基準となる車両中心点6が予め設定されており、先行車相対位置検出部11は、マッチングしたモデルパターン2aにより車両中心点6を特定する。
【0023】
このようにして、先行車相対位置検出部11は、マッチング結果により、先行車2の方位35、相対角31、及び車両中心点3(追従制御の基準となる自車の中心点)と車両中心点6を結んで追従車1と先行車2の相対距離34を求めることができ、相対距離34を縦横方向に分解して縦距離32、及び横距離33を求めることができる。
【0024】
なお、このようにして、ひとたびモデルパターン2aをマッチングした後は、全てのレーザレーダ線分を対象にマッチングのための検索を行う必要はなく、前回に検出された先行車2の車両中心点6から、定義済みの閾値の範囲を検索範囲として検索を行うことによりマッチング処理を軽減することができる。
【0025】
なお、先行車2の認識処理は上記のレーザレーダ15のパターンマッチングに限らず、先行車2の位置、相対角が検出できるのであれば、例えば、特開2008−82750のような構成を用いてもよい。
この技術は、所定の投光パターンを対象車両に投光し、その反射光の形状を用いて対象車両との距離や傾きを検出するものである。
以上のようにして、先行車相対位置検出部11は、先行車2の相対位置、即ち、自車両の車両中心点3に対する先行車2の車両中心点6の位置を検出することができる。
【0026】
図3は、追従車1が記憶媒体に保存する先行車2の走行軌跡を説明するための図である。なお、図3は走行軌跡を絶対位置にて示してある。
先行車2は、先行車相対位置検出部11によって車両中心点6の現在位置Lpを所定のサンプリング周期で検出しており、現在位置Lpが後述の地点記憶条件を満たす場合、これらの位置をRAM22に記憶する。
地点L0〜Lnは、追従車1が記憶した地点データを示しており、これらを時系列順に線分で結ぶと先行車2が走行した走行軌跡を再現することができる。
【0027】
地点Lnと地点Ln−1を結ぶ線分の長さをsn−1などと表し、現在位置Lpと地点Lnを結ぶ線分の長さをsnと表すことにし、追従車1は、Lpからこれら線分に沿って所定の追従距離(車間距離)の位置に目標点Tを設定し、これに向かって走行することにより先行車2に追従走行する。これによって、追従車1は、地点データの列に沿って走行し、先行車2に同轍追従走行することができる。
【0028】
図4の各図は、追従車1が先行車2の走行した地点を記憶する地点記憶条件を説明するための図である。
図4(a)に示したように、追従車1は、まず、自車の絶対座標系において、先行車2の現在位置を最初の地点L0としてRAM22に記憶する。
そして、追従車1は、次の制御周期(演算周期)時に先行車2の現在位置を検出し、当該現在位置と地点L0の距離が0より大きい場合には、当該現在位置を地点L1として記憶する。
【0029】
一方、当該現在位置と地点L0の距離が0である場合、即ち、先行車2が停止している場合、追従車1は、当該現在位置を破棄し、RAM22への追記は行わない。
追従車1は、地点L1が記憶できるまで(即ち、先行車2が走行するまで)、上記の動作を繰り返す。
追従制御の開始が即走行開始となるとは限らないため、追従車1は、このようにして先
行車2が走行を開始するまで地点L1の記憶は行わない。
【0030】
追従車1は、このようにして、最初の2地点L0、L1を記憶すると、これら2地点を結ぶ基準ベクトルVを算出する。
この計算は、制御周期ごとに行ってもよいが、別途RAM22に保存しておき、これを用いるようにしてもよい。
次の制御周期において、追従車1は、先行車2の現在位置Lpと、最後に記憶した地点(即ち、最新の地点L1)との距離を計算し、これが0ならば、先行車2は、停止しているため、現在位置Lpを破棄する。
【0031】
一方、当該距離が0より大きい場合、先行車2は、走行しているため、次の処理に移行する。
即ち、追従車1は、RAM22に記憶した最新の2地点L0、L1の古い方の地点L0と先行車2の現在位置Lpを結ぶベクトルV’を計算し、これと最新の2地点L0、L1を結ぶ基準ベクトルVとで形成される直角三角形から横移動量tを計算する。
横移動量tは、最後に記憶した2地点を結ぶ直線と、先行車2の現在位置Lpとの距離ということもできる。
【0032】
そして、追従車1は、横移動量tが、一定の距離aより大きい場合には、先行車2の現在位置Lpを地点L2としてRAM22に記憶し、横移動量tが一定の距離a未満であった場合には、今回検出した先行車2の現在位置Lpは破棄する。
追従車1は、新たな地点L2を記憶すると、図4(b)に示したように、最後に記憶した2地点L1、L2により基準ベクトルVを更新し、更新後の基準ベクトルVと先行車2の現在位置Lpに対して同様の処理を行い、以後、これを繰り返し、L3、L4、・・・を記憶していく。
一定の距離aは、概ね車両の幅の2分の1程度を目安とすることができるが、追従車1の運動性能などを考慮し、実験などで適切な値を決定することができる。
【0033】
このように、追従車1は、先行車2の現在位置Lpを監視しており、現在位置Lpが最後に記憶した2地点を結ぶ直線から一定の距離a以上離れると、これを新たな地点として記憶する。
即ち、追従車1が最後に記憶した2地点を結ぶ線分を中心とする幅2aの帯状の領域(図示せず)を走行している場合(略直進している場合)には、新たな地点を記憶せず、先行車2が旋回してこの帯状の領域を逸脱すると先行車2の現在位置の地点を記憶する。
このため、追従車1は、緻密な追従制御が必要な旋回部分では地点を密に記憶することができ、直線経路では必要のない地点を記憶せずに済み、RAM22の記憶領域の有効活用、及び計算量の低減を図ることができる。
【0034】
図5の各図は、追従車1がRAM22に記憶した地点を用いて追従制御を行うための目標点を設定する方法を説明するための図である。
追従車1は、先行車2と追従車1の直線距離ではなく、先行車2の走行軌跡に沿った距離によって追従距離を計測し、走行軌跡に沿って所定の追従距離Dの位置に目標点Tを設定する。
【0035】
RAM22には、時間間隔は一定でなく、1個(先行車2が停止している場合のL0)、あるいは複数個の地点データが検出した(記憶した)時刻順に記憶されている。
ここでは、図5(a)に示したように、先行車2の走行軌跡上の地点L0、L1、・・・、L6が記憶されているものとする。
追従車1は、記憶している地点データ間の距離を検出した時刻の新しいものから順に加算する。
このとき、地点データとしては記憶していないが、先行車2の現時点での最新の現在位置Lpを最も新しいデータとして用いる。
なお、現在位置Lpは、地点データとしては記憶されていないがRAM22などの記憶媒体に上書きされながら順次記憶される。
【0036】
図5(a)の例では、追従車1は、(現在位置Lpと地点L6との距離)+(地点L6と地点L5との距離)+・・・、即ち、s6+s5+・・・、というように、先行車2の現在位置Lpから各地点データをこれらの位置の新しい順に結ぶ線分に沿って長さを加算していく。
これらの距離は、制御周期ごとに計算してもよいが、各点の間の距離をRAM22に保存しておいて、これを次回の制御周期以降にも使用するようにして、CPU21が行う計算量を削減してもよい(ただし、最も新しいデータとして使用されている最新の先行車2の現在位置Lpを除く)。
【0037】
追従車1は、この加算値が、所定の値に設定された追従距離D(例えば、3[m])以上の値になった場合には、加算を終了し、次のステップに移行する。
即ち、例えば、地点Li(iは0以上の整数)まで加算した際に加算値が追従距離D以上の値になったとすると、目標点は、地点Li+1と地点Liを結ぶ線分上に存在するため、これを求めるステップに移行する。
このステップでは、追従距離D以上となる1つ前の地点Li+1までの合計値が追従距離Dに不足する不足分を求め、地点Li+1と地点Liを結ぶ線分上で、地点Li+1から当該不足分の距離にある点を目標点Tとする。
【0038】
図5(a)の例では、i=1であって、追従車1は、L2から不足分rの位置に目標点Tを設定する。
すると、s6+s5+s4+s3+s2+r=追従距離D、となり、追従車1は、先行車2の現在位置Lpから先行車2の走行軌跡に沿った追従距離Dの位置に追従走行のための目標点Tを設定することができる。
【0039】
なお、追従車1は、地点L0まで線分の長さを加算していっても合計値が追従距離Dに満たない場合には、図5(b)に示したように、地点L1と地点L0を結ぶ線分を進行方向とは逆方向(L0の方向)に延長し、当該延長線上で地点L0から不足分rの位置に目標点Tを設定する。
【0040】
このように、追従車1は、最後の地点データまで加算した合計値が追従距離D以上の値にならない場合で、メモリ中に2点以上が保存されている場合には、最後の2点からなる線分を進行方向とは逆に追従距離Dになるように延長し、その延長方向の端点を制御目標点Tとする。
それ以外は、追従動作を開始せず、必要に応じてディスプレイなどに表示を行って搭乗者へその旨を通知する。
【0041】
図6は、目標点Tを用いた追従方法を説明するための図である。
追従車1は、目標点Tを設定すると、自車の車両中心点3から目標点Tまでの進行方向の偏差である縦偏差Δy、及び進行方向に垂直な方向の偏差である横偏差Δxが、それぞれ0に収束するように追従車1の走行を制御する。
【0042】
これは、追従制御部13が、これら偏差が0となるように(即ち、目標点Tと車両中心点3が一致するように)ステアリングの操作、車速の加減速を行う指令を算出し、車両制御部14が当該指令に従って追従車1の走行を制御することにより行われる。
追従制御部13が行う指令の算出は、例えば、フィードバック制御やフィードフォワー
ド制御など、公知の技術を用いて行うことができる。
【0043】
このように、目標点Tは、先行車2の走行軌跡上、あるいは、走行軌跡の延長線上に設定され、追従車1は、車両中心点3と目標点Tが一致するように目標点Tに向かって走行するため、追従車1は、各地点を結ぶ線分に沿って先行車2に同轍走行する。
【0044】
図7は、追従車1が行う追従制御の全体的な手順を説明するためのフローチャートである。
なお、以下では各種の処理をフローチャートで説明するが、これらフローチャートの各ステップは、CPU21が所定のプログラムに従って行うものである。
まず、追従車1は、先行車2の現在位置Lpを検出し、地点L0、L1、・・・、をRAM22に記憶することにより、先行車2が走行した走行軌跡を記憶する(ステップ5)。
次いで、追従車1は、先行車2の現在位置Lpから当該走行軌跡に沿った所定の追従距離Dの位置を算出し、この位置に目標点Tを設定する(ステップ10)。
そして、追従車1は、車両中心点3が目標点Tと一致するように目標点Tに向かって追従車1の走行を制御する(ステップ20)。
【0045】
図8は、ステップ5(図7)の軌跡記憶処理の手順を説明するフローチャートである。
まず、追従車1は、フローチャートには記載しないが、後に地点Lに番号を付与するためカウンタnの値を0に初期化しておく。
次に、追従車1は、レーザレーダ15や先行車相対位置検出部11を用いて先行車2の相対位置を取得する(ステップ30)。
次に、追従車1は、自車絶対位置検出部12を用いて自車の現在位置を絶対位置にて取得する(ステップ35)。
【0046】
追従車1は、このようにして、先行車2の相対位置と自車の絶対位置を取得すると、自車の絶対位置に先行車2の相対位置を加算することにより、先行車2の現在位置Lpを絶対座標系にて算出する(ステップ40)。
次に、追従車1は、RAM22に地点L0が保存してあるか否かを判断する(ステップ45)。
保存してない場合(ステップ45;N)、追従車1は、先行車2の現在位置Lpを地点L0として保存し(ステップ60)、ステップ30にリターンする。
【0047】
一方、地点L0を保存してある場合(ステップ45;Y)、追従車1は、RAM22に地点L1が保存してあるか否かを判断する(ステップ50)。
地点L1が保存されていない場合(ステップ50;N)、追従車1は、地点L0と先行車2の現在位置Lpの距離dを算出し(ステップ65)、dが正であるか否かを判断する(ステップ70)。
【0048】
dが正でない場合、即ち、dが0の場合(ステップ70;N)、先行車2は、地点L0から移動していないため、ステップ30にリターンする。
dが正である場合(ステップ70;Y)、先行車2は、地点L0から移動したため、先行車2の現在位置LpをL1として保存し(ステップ75)、ステップ30にリターンする。なお、追従車1は、この際にカウンタnを1インクリメントしてカウンタnの値を1にセットする。
このようにして、先行車2の走行軌跡の初期値である地点L0とL1をRAM22に記憶すると、ステップ50がYとなり図9のフローチャートに続く。なお、追従車1は、この際にカウンタnを1インクリメントしてカウンタnの値を2にセットする。
【0049】
図9は、図8の続きを示したフローチャートである。
追従車1は、地点L0とL1をRAM22に記憶すると、最新の2地点による基準ベクトルVを算出する(ステップ80)。
そして、基準ベクトルVと先行車2の現在位置Lpを用いて図4(a)の横移動量tを算出する(ステップ85)。
【0050】
次に、追従車1は、横移動量tが一定の距離a以上か否かを判断する(ステップ90)。
横移動量tが一定の距離a未満であった場合(ステップ90;N)、先行車2の現在位置Lpは、地点として記憶せず、追従車1は、図8のステップ30にリターンする。
横移動量tが一定の距離a以上であった場合(ステップ90;Y)、追従車1は、先行車2の現在位置LpをLnとしてRAM22に保存し(ステップ95)、nを1だけインクリメントして(ステップ100)、図8のステップ30にリターンする。
このようにして、追従車1は、地点L0、L1に続き、L2、L3、・・・をRAM22に保存していくことができる。
【0051】
図10は、追従車1が目標点Tを設定する手順を説明するためのフローチャートである。
最初に追従車1は、フローチャートに不図示であるが、地点の端点を記録するために端点パラメータcの値を0に初期化してから図10のフローチャートを順に実行していく。
まず、追従車1は、所定の追従距離Dを取得する(ステップ105)。
追従車1は、RAM22や記憶装置25などの記憶媒体に予め追従距離Dを記憶しており、CPU21がこれを読み出すことにより追従車1は追従距離Dを取得する。
なお、追従距離Dは、ユーザが設定したり、あるいは、車速が早いほど長くするなど速度の関数としたりなど、各種の取得方法が可能である。
【0052】
次に、追従車1は、地点番号カウンタmをn−1に設定し、線分長さパラメータbを0に設定する(ステップ110)。
図9のステップ100でnに1をインクリメントしているため、現在のカウント値nから1を引いたものをmとすると、最後に記憶した地点が地点Lmとなる。
このように地点番号カウンタmは、カウンタnの値を実際の記憶している地点の地点番号に補正するものである。
一方、線分長さパラメータbは、各地点間の線分の長さを一時的に保持するための変数である。
【0053】
次に、追従車1は、絶対座標系における先行車2の現在位置Lpを取得する(ステップ115)。これは、新たに計算してもよいし、図8のステップ40で計算したものをRAM22に保存しておき、これを取得してもよい。
次に、追従車1は、RAM22から地点Lmを取得し(ステップ120)、先行車2の現在位置Lpと地点Lmの間の距離smを算出する(ステップ125)。ここで、地点Lmは、最後に記憶した地点データの絶対座標である。
【0054】
次に、追従車1は、線分長さ合計パラメータPをP=smとおく(ステップ130)。Pは、地点間の距離を加算していく場合の累積値を記憶しておくためのパラメータである。
追従車1は、Pを設定すると、Pが追従距離D未満であるか否かを判断する(ステップ135)。
PがD未満であった場合(ステップ135;Y)、線分の長さの合計値が追従距離Dに満たないため、追従車1は、地点Lmと地点Lm−1の間の距離sm−1を算出し(ステップ140)、線分長さパラメータbをb=sm−1とし(ステップ145)、Pにbを
加算する(ステップ150)。これにより、Pに次の線分の長さが加えられる。
【0055】
次に、追従車1は、mから1をデクリメントしてm−1とし(ステップ155)、これが端点パラメータcより大きいか否かを判断する(ステップ160)。
これは、地点Lを順次遡って線分の長さを加算していくところ、加算に使用した地点が端点(地点Lc)に達したか否かを判断するものである。
mがcより大きい場合(ステップ160;Y)、追従車1は、ステップ135に戻る。
そして、追従車1は、ステップ135で、PがD以上であった場合(ステップ135;N)、追従車1は、不足分rをD−(P−b)の絶対値としてRAM22に記憶し(ステップ170)、地点Lm+1と地点Lmを結ぶ直線上の長さrの位置Tを算出する(ステップ175)。
【0056】
一方、mがcである場合(ステップ160;N)、追従車1は、不足分rをD−PとしてRAM22に記憶し(ステップ165)、地点Lc+1と地点Lcを結ぶ直線を進行方向と逆に延長し、その延長方向に長さrの位置Tを算出する(ステップ166)。
【0057】
追従車1は、位置Tを算出した後、mがcより大きいか否かを判断し(ステップ180)、大きい場合には(ステップ180;Y)、目標点の算出に使用しなかった地点Lc〜Lm−1をRAM22から消去し(ステップ185)、RAM22の記憶空間を有効活用する。その後、追従車1は、端点パラメータcをc=mとする(ステップ186)。
mがc以下の場合、(ステップ180;N)、又は、地点Lc〜Lm−1をRAM22から消去してc=mとした後、追従車1は、位置Tを目標点Tに設定する(ステップ190)。
以上のようにして、追従車1は、先行車2の走行軌跡に沿った追従距離Dの位置Tに目標点Tを設定することができる。
【0058】
以上に説明したように、追従車1に搭載された車両制御装置は、先行車相対位置検出部11と自車絶対位置検出部12を用いて先行車2の現在位置Lpを(絶対座標で)取得して地点データとしてRAM22に記憶し、記憶した地点の列に沿って走行するため、先行車の現在位置を取得する現在位置取得手段と、これら取得した先行車の現在位置の地点を記憶する地点記憶手段と、これら記憶した地点の列に沿って走行するように追従車の走行を制御する走行制御手段と、を備えている。
そして、追従車1は、RAM22に記憶した地点に基づく直線経路として、基準ベクトルVを用い、先行車2の現在位置Lpがこれから横移動量t以上離れた場合に当該Lpの地点を地点データとして記憶するため、地点記憶手段は、先行車の現在位置が、既に記憶した地点に基づく直線経路から所定距離以上離れた場合に、当該先行車の現在位置の地点を記憶している。
【0059】
また、横移動量tは、先行車2の現在位置Lpと基準ベクトルVとの距離であり、先行車2の現在位置と最後に記憶した2地点を結ぶ直線との距離である。
このため、地点記憶手段は、最後に記憶した2つの地点を結ぶ直線と、先行車の現在位置の距離を、既に記憶した地点に基づく直線経路からの距離としている。
【0060】
更に、追従車1に搭載された車両制御装置は、先行車2の現在位置Lpと各地点データを順に結んだ線分に沿って、先行車2の現在位置Lpから所定の追従距離の位置を計算し、当該位置を目標点Tとし、目標点Tとの縦偏差、及び横偏差が0となるように追従車1の走行を制御するため、当該車両制御装置は、取得した先行車の現在位置と記憶した地点を順に結ぶ線分に沿って、取得した先行車の現在位置から所定の追従距離の位置に追従制御を行うための目標点を設定する目標点設定手段を備えており、走行制御手段は、追従車が当該設定した目標点に到達するように走行を制御している。
【0061】
また、追従車1に搭載された車両制御装置は、先行車2の現在位置Lpと各地点データを結んだ線分の長さが追従距離に満たない場合には地点Lcから後方に線分を延長して目標点Tを設定するため、取得した先行車の現在位置と記憶した地点を順に結ぶ線分の長さが前記所定の追従距離より短い場合、目標点設定手段は、最初に記憶した地点を端点とする線分を延長して目標点を設定している。
また、当該車両制御装置は、目標点Tより先の地点データを消去してメモリを有効活用するため、記憶した地点のうち、設定した目標点よりも後方にある地点を消去する消去手段を備えている。
【0062】
(変形例1)
次に、本実施の形態に係る変形例1について説明する。
変形例1では、先に説明した実施の形態に加え、追従車1が安全に追従走行を開始する方法や、走行中に追従車1と先行車2の接触・衝突の可能性を判断し、これを回避する方法について説明する。
追従車1は、例えば、搭乗者が追従開始ボタンを押下するなど、何らかのトリガによって先行車2に対する追従走行を開始する。
このように、先行車2に対する追従開始時において、先行車2と追従車1の位置関係は様々であり、これらの位置関係によっては、追従車1が急激な旋回や急加速を行う場合があるため、追従制御の開始条件を設定する必要がある。
【0063】
そこで、本実施の形態では、目標点Tと先行車2が追従車1の進行方向前方(追従車1の移動方向における前方)に存在し、かつ、追従車1、先行車2、及び目標点Tの位置関係が、先行車2の現在位置Lpを中心とする円を用いた後述の条件が満たされた場合に、追従車1が追従制御を開始することとした。
この方法により、追従車1に対して先行車2が目標点Tの前に存在し、目標点Tと先行車2の存在する位置が、追従車1の進行方向から大きくずれないことを確認することができ、追従制御を安全に開始することができる。
【0064】
図11(a)は、追従制御開始前における追従車1、目標点T、及び先行車2の位置関係の一例を示した図である。
追従車1は、相対座標系において、制御周期ごとに目標点Tを算出し、先行車2の現在位置Lpを取得する。
相対座標系は、追従車1の現在位置S(図2の車両中心点3)を原点とし、追従車1の進行方向をy軸方向(進行方向が正方向)、これに垂直な方向をx軸方向(進行方向に対して右側を正方向)とする。
【0065】
追従車1は、このように自車を中心とする相対座標系を設定して、目標点T、及び先行車2の現在位置Lpを相対座標上に配置する。
そして、追従車1は、目標点Tと先行車2の現在位置Lpの位置を確認し、双方が第3象限、又は第4象限(図11(a)の斜線領域)に存在する場合、即ち、両者のy座標値が負である間は追従制御を開始しない。
つまり追従車1の現在位置を原点とし、追従車1の進行方向と逆の位置に先行車2が存在する場合には追従制御を開始しない。
【0066】
これは、これら2点が第3象限、又は第4象限に存在する場合には、追従制御の開始時に追従車1が急激な旋回を行う可能性があるため、これを防止するためである。
なお、本変形例では、これら2点が共に第1象限、又は第2象限に存在することを必要条件としたが、少なくとも目標点Tが第1象限、又は第2象限に存在することを必要条件とするように条件を緩和してもよい。
【0067】
次に、追従車1は、追従車1の現在位置Sと、目標点Tとを両端とする線分に先行車2の現在位置Lpから垂線が引けるか否かを判断し、垂線が引ける場合には追従制御を開始せず、垂線が引けない場合には追従制御を開始する。図11(a)では、線分STに点Lpから垂線が引けるため、追従車1は、追従制御を開始しない。
一方、先行車2が現在位置Lp’に存在する場合、線分STに点Lp’から垂線が引けないため、追従車1は、追従制御を開始する。
【0068】
次に図11(b)を用いて、この条件について詳細に説明する。
目標点Tは、最大で先行車2の現在位置Lpから追従距離Dだけ離れるため、先行車2の現在位置Lpを中心とする半径Dの円内に存在する。
追従車1の現在位置Sからこの円にST1、ST2の2本の接線を引くことができるが、上記の条件は、目標点Tが扇形LpT1T2の内側に存在することを意味している。
このため、追従車1は、例えば、目標点がT3、T5の場合には追従制御を開始し、T4、T6の場合には開始しない。
【0069】
このように、上記条件は、追従車1の進行方向である前方に目標点Tが存在し、更に、目標点Tの前方に先行車2が存在し(追従車1から見て先行車2が目標点Tの前方に存在、言い換えると、追従車1の進行方向前方において追従車1と先行車2の間に目標点Tが存在し)、かつ、目標点Tが扇形LpT1T2の内側に存在する、即ち目標点Tと先行車2が存在する方向が追従車1の進行方向と大きくずれていないことを意味し、上記垂線を用いた方法では、これを簡便に検証することができる。
【0070】
短い追従距離Dを想定する場合、先行車2の現在位置Lpと、目標点Tの距離は、極端に長くなることはない。このため、先行車の現在位置Lpと目標点Tの間の走行軌跡は直線に非常に近くなるので、複雑な手法を使用せず、上記のような簡便な方法により安全な追従開始を担保することができる。
【0071】
以上のようにして、追従車1は、自車、目標点T、及び先行車2の位置関係により、追従動作を許可するか否かを決定し、危険な位置関係での追従開始が行われないようにする。
これにより、追従車1と先行車2の接触・衝突の危険を回避し、また、追従車1の搭乗者が不快になるような急激な動作を抑止することができる。
また、搭乗者が追従開始のボタンを押下するなどして追従走行を要求したにもかかわらず、追従走行を開始しない場合には、追従車1は、ディスプレイの表示や音声などによってその旨を搭乗者に通知する。
これにより、搭乗者が追従制御を行っていないにもかかわらず追従中であると誤解することを防ぐことができる。
【0072】
以上は、追従制御を安全に開始するための条件であったが、次に、追従制御を安全に行う条件について説明する。
先行車2の自由度が大きく、高速かつ旋回性能が高い場合、同轍制御による追従走行を高速で行うと、例えば、先行車2が極端な旋回を行って追従車1に対向してくるなど、両者が接触・衝突する可能性がある。
【0073】
そこで、追従車1は、先行車2が接触・衝突の可能性のある走行を行った場合に、これに対し警報を発し、追従動作を停止し、速やかに停止することにより追従時の安全を確保する。
以下に説明する方法により、接触・衝突の可能性があるか否かを的確に判断し、必要以上に警報を発したり、追従動作を停止させず、安全と利便性を兼ね備えることができる。
【0074】
追従車1は、先行車2との接触・衝突の可能性を判断する際に限界距離Kを用いるので、限界距離Kについて説明する。
まず、車両位置の演算に使用する点から、車両の位置を特定する基準点から車両端の一番遠い場所までの距離をeL(先行車2側)、eF(追従車1側)とする。
【0075】
通常、車両の基準点は車両中心に設定されるため、図12(a)に示したように、車両の平面形状を長方形とすると対角線の2分の1となる(図12(a)中の白丸印の線分)。
なお、車両中心に設定されていない場合は、図12(b)に示したように、基準点から最も遠い端までの長さをeL、あるいはeFとする。本実施の形態では、車両の基準点は車両中心点3、車両中心点6としている。
このようにeL、eFを設定したのは、先行車2がどのような姿勢で追従車1と接触・衝突するかわからないため、両者がeL+eF以上離れていれば、どのような姿勢でも接触しないためである。
【0076】
追従車1は、自車の値eFを記憶しており、先行車2の値eLに関しては、追従開始ごとに、先行車2と無線通信し、先行車2に送信してもらう。
なお、先行車2が所定の車両に固定されている場合には、追従車1が予め先行車2の値eLを記憶しておいてもよい。
【0077】
また、追従車1と先行車2がeL+eFの距離まで接近しても接触はしないが、ある程度余裕を持たせた方がより安全である。
そこで、追従車1は、余裕距離eSを設定する。
余裕距離eSは、安全を確保するための値であり固定値でもよいが、追従車1は、自車の車速に応じてeS=Av+eSminと調整する。
ここで、Aは正の定数であり、vは、追従車1の車速、eSminは、最低確保したい余裕距離である。
このようにeSを設定すると、追従車1の車速が大きいほどeSが大きくなり、より安全となる。
【0078】
次に、追従車1は、図13に示した逸脱予測距離eTを算出する。
逸脱予測距離eTは、追従車1が目標点Tに向かって走向した場合、追従車1の現在位置S(車両中心点3)と目標点Tを結ぶ線分から、先行車2の方に逸脱すると推定される最大距離であり、ここでは、追従車1の現在位置S、当該線分の中点C、及び追従車1の進行方向からなる直角三角形の高さ、即ち、eT=(L/2)tanθにより計算することとした。
ここで、Lは、目標点Tと追従車1の現在位置Sの直線距離であり、θは、追従車1の現在位置Sと目標点Tを結ぶ直線と追従車1の進行方向の成す角度である。
【0079】
このように、逸脱予測距離eTは、追従車1が目標点Tに向かう際に、どれだけ先行車2の側に移動するかを表す値であるため、追従車1は、追従車1の現在位置Sと目標点Tを結ぶ直線に対して進行方向が先行車2の存在している側に向いている場合にθを算出し、それ以外の場合は、θ=0とする。
また、0≦θ<90°(π/2)の場合は、上のようにして計算されるが、θ≧90°の場合には、θを90°未満とした場合にeTが取りうる最も大きい値とする。
追従車1は、以上のようにして、各値を計算すると、これらの総和であるK=eL+eF+eS+eTを限界距離とする。
以上では、限界距離Kを可変としたが、接触・衝突の可能性がある所定の距離を予め設定しておいてもよい。
【0080】
図14は、追従車1が限界距離Kを算出する手順を説明するためのフローチャートである。
追従車1は、まず、無線通信などを介して先行車2の値eLを取得し(ステップ205)、更に追従車1(自車)の値eFを記憶装置25などから読み出して取得する(ステップ210)。
次に、追従車1は、自車の車速を用いて余裕距離eSを算出する(ステップ215)。
【0081】
次に、追従車1は、追従車1の現在位置と目標点Tを結ぶ線分に対して自車の向き(進行方向)と先行車2の現在位置Lpが同じ方向にあるか否かを判断する(ステップ220)。
同じ方向にある場合(ステップ220;Y)、追従車1は、方向θを算出し(ステップ225)、これを先に説明した式に代入して逸脱予測距離eTを算出する(ステップ230)。
一方、同じ方向にない場合(ステップ220;N)、追従車1は、逸脱予測距離eT=0とする(ステップ240)。
次に、追従車1は、これらの総和を計算し、限界距離Kを算出する(ステップ235)。
【0082】
以上のようにして、追従車1は、限界距離Kを計算するが、次に、これを用いた接触・衝突回避方法について説明する。
追従車1は、先に説明したように、追従車1の現在位置Sから目標点Tに引いた線分に対して先行車2の現在位置Lpから垂線が引けない場合に追従走行を開始する。
その後、追従車1は、制御周期ごとに当該垂線が引けるか否かを判断し、引けない場合には追従走行を持続する。
【0083】
一方、図13に示したように、自車位置Sと現在の目標点Tまでの線分上に、先行車2の現在位置Lpから垂線が引ける場合、その距離uを算出し、uが限界距離K以下である場合、追従車1は、速やかに追従制御を中止し、走行中であれば制動をかけて停止させ、その旨を先行車2、追従車1の搭乗者に通知する。
即ち、距離uと限界距離Kを比較し、距離uが限界距離K以下であった場合に追従制御を中止するものであるが、これは、距離uから逸脱予測距離eTを減算した値が所定の値(eL+eF+eS)以下である場合に追従制御を中止するということもできる。
なお、本変形例では、追従車1と先行車2の接触・衝突を回避する回避動作として、追従車1の停止、及び、追従車1と先行車2の搭乗者への通知を行うが、例えば、追従車1の減速、追従車1の旋回など、他の回避動作を行うように構成してもよい。
【0084】
図15は、本変形例での全体的な処理を説明するためのフローチャートである。
図7のフローチャートと同じステップには同じステップ番号を付し、説明を簡略化する。
追従車1は、追従車1の走行軌跡を記憶し(ステップ5)、これを用いて目標点を算出して設定する(ステップ10)。
次に、追従車1は、限界距離Kを算出し(ステップ15)、目標点Tへの追従制御を行う(ステップ20)。
【0085】
図16は、追従制御の開始と維持の判断を説明するためのフローチャートである。
以下の処理は、先行車2に対する目標点Tの設定処理と平行して行う。
図示しないが、追従車1は、追従制御開始の要求前には、パラメータFを0に設定しておく。
パラメータFは、追従制御の開始、持続の各段階を識別する変数であり、
追従制御の開始前の初期状態ではF=0であり、追従制御の開始判断で目標点Tと先行車2が第1象限、又は第2象限(図11(a))に存在する場合にF=1となり、追従走行の開始後にはF=2となる。
【0086】
まず、追従車1は、例えば、搭乗者が追従走行開始のボタンを押下するなど、追従走行の開始要求があると、Fが0より大きいか否かを判断する(ステップ305)。
追従走行開始要求時にはF=0であり(ステップ305;N)、追従車1は、相対座標において、先行車2の現在位置Lpのy座標値であるLpyと、目標点Tのy座標値であるTyを取得する(ステップ310)。
【0087】
次に、追従車1は、LpyとTyが共に正であるか否かを判断する(ステップ320)。LpyとTyの少なくとも一方が0以下である場合(ステップ320;N)、相対座標上で両点が第1象限、第2象限に存在しないため、追従車1は、追従走行を開始せずにステップ305に戻る。
一方、LpyとTyが共に正である場合(ステップ320;Y)、相対座標上で両点が第1象限、第2象限に存在するため、追従車1は、パラメータFを1に設定し(ステップ325)、先行車2の現在位置Lpから追従車1の現在位置Sと目標点Tを結んだ線分上(以下、S−T線上)に垂線が引けるか否かを検証する(ステップ330)。
【0088】
垂線が引ける場合(ステップ335;Y)、追従車1は、追従制御を開始せずにステップ305に戻る。
垂線が引けない場合(ステップ335;N)、追従車1は、パラメータFを2に設定し(ステップ340)、限界距離Kを算出する(ステップ345)。
そして、追従車1は、先行車2の現在位置LpからS−T線上に垂線が引けるか検証し(ステップ350)、垂線が引けない場合には(ステップ355;N)、目標点Tへの追従制御を開始する(ステップ360)。
【0089】
ステップ305で、パラメータFが0より大きい場合(ステップ305;Y)、追従車1は、更に、パラメータFが1より大きいか否かを判断する(ステップ365)。
パラメータFが1より大きくない場合、即ち、パラメータF=1である場合(ステップ365;N)、目標点Tと先行車2の現在位置Lpが第1象限、又は第2象限に存在するため、追従車1は、ステップ330に移行する。
【0090】
一方、パラメータFが1より大きい場合、即ちF=2の場合(ステップ365;Y)、追従車1は、既に追従走行を開始しているため、ステップ345に移行する。
このように、追従車1は、追従走行を開始した後は、ステップ305〜ステップ340をスキップし、ステップ345以下を行う。
このように、追従車1は、走行開始した後、ステップ345で限界距離Kを算出し、ステップ350で先行車2の現在位置LpからS−T線上に垂線が引けるか検証し、垂線が引けない場合には(ステップ355;N)、目標点Tへの追従制御を行い、垂線が引ける場合には(ステップ355;Y)、当該垂線の距離uを算出する(ステップ370)。
【0091】
限界距離Kよりも距離uが大きい場合(ステップ375;Y)、追従車1は、目標点Tへの追従制御を行い(ステップ360)、限界距離Kが距離u以上である場合(ステップ375;N)、追従車1は、追従制御を停止し(ステップ380)、引き続き自車両を停止し(ステップ385)、追従車1と先行車2の搭乗者に追従走行を停止した旨の通知を行う(ステップ390)。
【0092】
このように、本変形例では、追従走行の開始時においては、追従車1、目標点T、先行車2の位置関係が安全であると判断した場合に、追従走行を開始し、追従走行を開始した
後は、先行車2の走行を検知し、追従車1と先行車2の接触・衝突の可能性がないと判断される間追従走行を維持する。
そのため、追従車1は、追従走行を安全に開始することができると共に、追従走行を安全に継続することができる。
【0093】
以上に説明したように、追従制御の開始について、追従車1に搭載された車両制御装置は、先行車2の現在位置を取得してその地点をRAM22に記憶し、これを基準として目標点Tを設定するため、先行車の現在位置を取得する現在位置取得手段と、取得した先行車の現在位置の地点を記憶する地点記憶手段と、記憶した地点を基準として目標点を設定する目標点設定手段と、を備えている。
そして、当該車両制御装置は、目標点Tが追従車1の進行方向前方に存在するか否かを判断し、また、目標点Tに向かうように追従車1の走行を制御し、更に、例えば、ボタンの押下などにより追従走行の開始要求を受け付けるため、設定した目標点が追従車の前方に存在するか否かを判断する判断手段と、設定した目標点に向かうように追従車の走行を制御する走行制御手段と、走行制御手段による制御の開始要求を受け付ける開始要求受付手段と、を備えている。
そして、当該車両制御装置は、目標点Tが追従車1の進行方向前方に存在することを追従開始条件の1つとしているため、走行制御手段は、制御の開始要求を受け付けた際に、設定した目標点が追従車の進行方向前方に存在すると判断手段が判断した場合に制御を開始している。
【0094】
当該車両制御装置は、更に、先行車2の現在位置Lpが追従車1の進行方向前方に存在することを追従開始条件の1つとしているため、判断手段は、更に、取得した先行車の現在位置が前記追従車の進行方向前方に存在するか否かを判断し、走行制御手段は、制御の開始要求を受け付けた際に、取得した先行車の現在位置が前記追従車の進行方向前方に存在すると判断した場合に制御を開始している。
【0095】
当該車両制御装置は、更に、目標点Tの前方に先行車2の現在位置Lpが存在することを追従開始条件の1つとしているため、判断手段は、更に、追従車に対して目標点の前方に先行車が存在するか否かを判断し、走行制御手段は、制御の開始要求を受け付けた際に、追従車に対して目標点の前方に先行車が存在すると前記判断手段が判断した場合に制御を開始している。
【0096】
また、当該車両制御装置は、先行車2の現在位置Lpから追従車1の現在位置Sと目標点Tを結ぶ線分に垂線が引けないことを用いて、追従車1の進行方向前方に目標点Tが存在し、更に、目標点Tの前方に先行車2が存在することを判断するため、判断手段は、追従車から前記設定した目標点を結ぶ線分に対して取得した先行車の現在位置から垂線が引けない場合に追従車に対して前記目標点の前方に前記先行車が存在すると判断している。
更に、当該車両制御装置は、追従要求があったにも関わらず追従制御を開始しない場合にはその旨を搭乗者に通知するため、開始要求を受け付けた際に走行制御手段が制御を開始しない場合に、追従車の搭乗者に追従走行を行わない旨の通知を行う通知手段を備えている。
【0097】
また、当該車両制御装置は、先行車2の現在位置Lpと各地点データを結ぶ線分に沿って、先行車2の現在位置Lpから所定の追従距離の位置に目標点Tを設定し、これに追従することで、地点データの列に沿って走行するように追従車1の走行を制御するため、走行制御手段は、前記記憶した地点の列に沿って走行するように追従車の走行を制御し、目標点設定手段は、取得した先行車の現在位置と記憶した地点を時系列順で結ぶ線分に沿って、取得した先行車の現在位置から所定の追従距離の位置に前記目標点を設定している。
【0098】
また、追従車1の搭載した車両制御装置は、追従走行中の接触・衝突回避について、先行車2の現在位置Lpや地点データを先行車2に対する目標点Tを設定し、当該目標点Tに向かうように追従車1を制御し、追従車1と目標点Tを結ぶ線分から追従車1が離れる最大距離(逸脱予測距離eT)を推定するため、先行車に対する目標点を設定し、当該目標点に向かうように追従車の走行を制御する走行制御手段と、追従車が前記追従車と目標点を結ぶ線分から離れる最大距離を推定する推定手段と、を備えている。
そして、当該車両制御装置は、追従車1の進行方向前方に先行車2が存在し、更に、その進行方向前方に目標点Tが存在する場合に、距離uから逸脱予測距離eTを減算した値が所定の値(eL+eF+eS)以下であるか否かを判断し、以下であると判断した場合には追従車1を停止させるなどの回避動作を追従車1に行わせるため、追従車の進行方向前方に先行車が存在し、更に、当該先行車の進行方向前方に目標点が存在する場合に、追従車と目標点を結ぶ線分と先行車との距離から、最大距離を減じた値が所定の値以下であるか否かを判断する判断手段と、当該判断手段が所定の値以下であると判断した場合に、先行車と追従車の接触を回避する回避動作を行う回避動作手段と、を備えている。
【0099】
また、当該車両制御装置は、追従車1の現在位置Sと目標点Tを結ぶ線分に対して、追従車1の進行方向と先行車2の現在位置Lpが同じ側(領域)にある時に上記判断を行い、異なる側に有るときは上記判断を行わないため、判断手段は、追従車の進行方向と先行車が、当該線分に対して同じ領域にある場合に判断を行っている。
ここで、「線分に対する領域」とは、関数に対する不等式の意味合いであり、例えば、線分がy=xであれば、y>xならば直線y=xの上側(yの正方向)の領域であり、y<xならばy=xの下側(yの負方向)の領域を意味している。
また、当該車両制御装置は、追従車1の現在位置Sと目標点Tを結ぶ線分に対して先行車2の現在位置Lpから垂線が引ける場合に上記判断を行うため、判断手段は、追従車から目標点までの線分に対して先行車から垂線が引ける場合に前記判断を行っている。
更に、余裕距離eSは、追従車1の速度が大きいほど大きくなるため、判断に用いる所定の値は、追従車の速度の関数であり、追従車の速度が大きいほど大きな値となっている。
【0100】
加えて、当該車両制御装置は、回避動作として追従車1を停止させると共に、先行車2の搭乗者にその旨を通知するため、回避動作手段は、追従車を停止させ、判断手段が、所定の値以下であると判断した場合に、その旨を先行車に通知する通知手段を備えている。
【0101】
(変形例2)
次に、本実施の形態に係る変形例2について説明する。
先に説明した実施の形態では、先行車2の現在位置Lpと地点Ln、Ln−1、・・・を線分で結んで先行車2の走行軌跡を忠実に再現した。
ところで、追従車1は、先行車2が幅2aの範囲で直線走向している場合には、地点データを記憶しないため、当該直線走行が長距離に渡ると現在位置Lpと最後に記憶した地点Lnの距離が長くなる。
すると、目標点Tは、現在位置Lpから追従距離Dの位置なので、現在位置Lpと最後に記憶した地点Lnを結ぶ線分上に目標点Tが設定される場合がある。
【0102】
図17(a)は、このような場合を示した図であり、現在位置Lpと最後に記憶した地点Lnを結ぶ線分上に目標点Tが設定されている。
このように、線分Lp−Ln上に目標点Tが設定されると、先行車2がふらつきながら走行すると、目標点Tもふらつき(図ではふらつきを線分に垂直な矢線で示している)、追従車1の搭乗者が不快を感じる場合があり、場合によっては、安全走行に支障を来す場合も考えられる。
このように、先行車2の走行軌跡を忠実に再現することは必ずしも安全で効率的とはい
えない場合がある。
【0103】
図17(b)は、本変形例に係る追従車1が行う目標点Tの設定方法を説明するための図である。
追従車1は、先行車2の現在位置Lpから2地点Ln−1、Lnを結ぶ基準ベクトルVに垂線を下ろしたときの交点、即ち、先行車2の現在位置Lpから最後に記憶した2地点Ln、Ln−1を結ぶ直線上に下ろした垂線の交点を先行車相当位置Lp’とし、当該先行車相当位置Lp’を先行車2の仮想的な現在位置とする。
そして、追従車1は、当該先行車相当位置Lp’を最も新しいデータとして、先行車相当位置Lp’、地点Ln、地点Ln−1、・・・を結ぶ線分上に目標点Tを設定する。
【0104】
先行車相当位置Lp’は、地点Lnと地点Ln−1を結ぶ直線上に設定されるため、先行車2の現在位置Lpがふらついても先行車相当位置Lp’はふらつかない。
そのため、先行車相当位置Lp’と地点Lnを結ぶ線分上に目標点Tが設定された場合でも目標点Tはふらつかず、追従車1は、安定した追従走行を行うことができる。
【0105】
ところで、このように先行車相当位置Lp’を用いて目標点を設定する場合、先行車2が直線走行を長距離に渡って行った後、旋回すると、目標点Tの位置が急激に変化する場合がある。
図18(a)は、この場合を説明するための図である。
先行車2の現在位置Lpが一定の距離a以上となった場合、追従車1は、Lpを地点Lnとして記憶する。
すると、先行車相当位置Lp’と地点Ln−1を結ぶ線分の上に設定されていた目標点T1は、地点Lnと地点Ln−1を結ぶ線分上の目標点T2に変化する。
場合によっては、追従車1の側方に目標点T2が設定されることも考えられ、追従車1は、急激な旋回を行う可能性がある。
【0106】
図18(b)は、このような目標点Tの急激な変化を回避する方法を説明するための図である。
追従車1は、先行車相当位置Lp’と最後に記憶した地点Ln−1を結ぶ線分上に目標点T1を設定した場合に限り、目標点T1を地点Lnとして記憶すると共に、先行車2の現在位置Lpを地点Ln+1として記憶し、地点Lnと地点Ln+1を結び、地点Lnから地点Ln+1を結ぶ線分を新たな基準ベクトルVとおく。
そして、追従車1は、基準ベクトルVの延長線上に新たな先行車相当位置Lp’を設定し、先行車相当位置Lp’、地点Ln+1、地点Ln、・・・を結ぶ線分上に新たな目標点T2を設定する。
なお、目標点Tが記憶済みの地点データ間(例えば、地点L−2と地点L−1を結ぶ線分上)にある場合には、通常通りに地点データの記憶を行う。
以上により、追従車1は、目標点T1から目標点T2の変化を緩和することができる。
【0107】
図19は、本変形例において追従車1が先行車2の走行軌跡を記憶する手順を説明するためのフローチャートである。
なお、図8のフローチャートに対応する手順は、図8と同じであるのでこれを省略し、図9に対応する部分について説明する。
また、図9と同じステップには同じステップ番号を付し、説明を簡略化する。
【0108】
本変形例では、パラメータFcを用いる。
Fc=0は、追従走行開始時で、まだ目標点Tが設定されていない状態を表し、Fc=1は、記憶されている地点データ間に目標点Tが設定されている状態を表し、Fc=2は、先行車相当位置Lp’と最後に記憶した地点データの間に目標点Tが設定されている状
態を表しており、追従制御の開始前はFc=0に初期化されている。
また、目標点Tを一時的に記憶するためのパラメータとてLtを用い、Ltの初期座標値は(0、0)とする。
【0109】
追従車1は、ステップ90でtが一定の距離a以上であるか否かを判断し、tがa未満であった場合(ステップ90;N)、ステップ30(図8)にリターンする。
一方、tがa以上であった場合(ステップ90;Y)、追従車1は、Fcの値を確認する。
Fcが2でなかった場合(ステップ405;N)、目標点Tは、記憶してある地点データ間に存在するため、追従車1は、LpをLnとして保存し(ステップ95)、nを1だけインクリメントする(ステップ100)。
【0110】
Fcが2であった場合(ステップ405;Y)、目標点Tは、先行車相当位置Lp’と地点データの間に存在するため、追従車1は、Lt(目標点T)を地点Lnとして記憶すると共に(ステップ410)、先行車2の現在位置LpをLn+1として記憶し(ステップ415)、nに2だけインクリメントする(ステップ420)。
追従車1は、以上のようにしてnに1、又は2をインクリメントした後、ステップ30にリターンする。
【0111】
図20は、本変形例において追従車1が目標点を設定する手順を説明するためのフローチャートである。
このフローチャートは、図10のステップ166、175までに対応し、ステップ115をステップ450としたものである。
図10のステップ115では、先行車2の現在位置Lpを取得したが、本変形例では、先行車2の先行車相当位置Lp’を算出して取得する(ステップ450)。
他のステップは、図10と同じであるため同じステップ番号を付し説明を省略する。
【0112】
図21は、図20の続きを示したフローチャートである。
このフローチャートは、図10のステップ166、175より下の手順に対応し、図10と同じステップには同じステップ番号を付して説明を簡略化、又は省略する。
また、図10のフローチャートに追加した部分は破線で囲んで示してある。
追従車1は、不足分rを計算し(図20のステップ165、又はステップ170)、位置Tを算出すると(図20のステップ166、又はステップ175)、mがn−1に等しいか否かを判断する(ステップ505)。
【0113】
mがn−1に等しくない場合(ステップ505;N)、これは、先行車相当位置Lp’と最後に記憶した地点Lmを結ぶ線分の長さよりも追従距離Dの方が長いことを意味し、この場合、通常通りに地点データを記憶できるため、追従車1は、Fcが2である場合には(ステップ520;Y)、これを1に設定し(ステップ525)、Fcが2でない場合には(ステップ520;N)、Fcを変更しない。
【0114】
一方、mがn−1に等しい場合(ステップ505;Y)、これは、先行車相当位置Lp’と最後に記憶した地点Lmを結ぶ線分の長さよりも追従距離Dの方が短い、即ち、先行車相当位置Lp’と最後に記憶した地点Lmを結ぶ線分上に目標点Tが存在することを意味し、Fcが0である場合(ステップ510;N)、追従車1は、ステップ180に移行し、Fcが0でない場合(ステップ510;Y)、追従車1は、Fcを2に設定する(ステップ515)。
【0115】
そして、追従車1は、位置Tを目標点Tに設定した後(ステップ190)、Fcが0である場合(ステップ530;Y)、Fcを1に設定して(ステップ535)、Ltを目標
点Tに設定する(ステップ540)。
Fcが0でない場合(ステップ530;N)、追従車1は、Ltを目標点Tに設定する(ステップ540)。
【0116】
このように、本変形例では、先行車2の現在位置Lpに対応する先行車相当位置Lp’を用いて目標点Tを設定するため、先行車2がふらついていたとしても、ふらつきの影響を必要以上に追従制御に反映させることがない。
また、前回の制御周期で先行車相当位置Lp’と最後に記憶した地点データの間に目標点Tを設定している場合には、前回の制御周期で設定していた目標点Tを地点データとして記憶対象の地点データとすることにより、旋回開始時に急激に目標点Tが変化することを防止し、遅れずに反応よく追従することができる。
【0117】
なお、本変形例では、目標点T1を新たな地点データとして記憶するように構成したが、例えば、追従車1の現在位置Sを新たな地点データとして記憶するように構成してもよい。
この場合、図18(b)で、先行相当位置Lp’、地点Ln+1、地点Ln(追従車1の現在位置S)、地点Ln−1、・・・を結ぶ線分上に目標点T2が設定される。
【0118】
以上に説明したように、追従車1に搭載された車両制御装置は、先行車2の現在位置Lpを取得し、当該現在位置Lpが横移動量t以上の場合にはこれを地点データとして記憶するため、先行車の現在位置を取得する現在位置取得手段と、取得した先行車の現在位置が、既に記憶した地点に基づく直線経路から所定距離以上離れた場合に当該先行車の現在位置の地点を記憶する地点記憶手段と、を備えている。
また、当該車両制御装置は、最後に記憶した2地点を結ぶ直線上で最後に記憶した地点データの前方に先行車2の現在位置Lpに対応する先行車相当位置Lp’を設定し、この先行車相当位置Lp’は先行車2の現在位置Lpに対応する対応点として機能しているため、記憶した地点に基づく直線経路上で最後に記憶した地点の先行車の移動方向における前方に、前記取得した先行車の現在位置に対応する対応点を設定する対応点設定手段を備えている。
更に、当該車両制御装置は、先行車相当位置Lp’と地点データを順に結ぶ線分に沿って追従制御を行うための目標点Tを設定し、追従車1がこれに追従するように追従車1の走行を制御するため、設定した対応点と前記記憶した地点を順に結ぶ線分に沿って追従制御を行うための目標点を設定する目標点設定手段と、追従車が設定した目標点に到達するように走行を制御する走行制御手段と、を備えている。
【0119】
また、当該車両制御装置は、目標点Tの急激な変化を緩和するために、追従車1が最後に記憶した地点データよりも前方に存在する状態で先行車2の現在位置Lpを新たな地点データとして記憶する際に、記憶直前の目標点Tを新たな地点データとして追加し、現在位置Lpを新たな地点データとして記憶した後、当該新たな先行車相当位置Lp’と追加した地点データを含む各地点データを結ぶ線分に沿って目標点を設定するため、先行車が直線経路から所定距離以上離れて地点記憶手段が当該先行車の現在位置を記憶する際に、記憶した地点に基づく直線経路上で最後に記憶した地点の前方で設定した対応点の後方の所定位置に追加の地点を設定する追加地点設定手段を備え、目標点設定手段は、追従車が最後に記憶した地点より前方に存在する場合、設定した対応点と、設定した追加の地点と、記憶した地点を順に結ぶ線分に沿って目標点を設定している。
また、追加地点設定手段は、先行車が直線経路から所定距離以上離れて地点記憶手段が当該先行車の現在位置を記憶する際に、当該記憶前の目標点を追加の地点としている。
【0120】
更に、当該車両制御装置は、先行車2の現在位置Lpから最後に記憶した2地点を結ぶ直線上に垂線を下ろし、その交点を先行車相当位置Lp’、即ち、対応点としているので
、対応点設定手段は、取得した先行車の現在位置から前記記憶した地点に基づく直線経路に引いた垂線と、当該直線経路との交点に対応点を設定している。
【0121】
そして、当該車両制御装置は、先行車相当位置Lp’から記憶済みの地点データに沿って所定の追従距離の位置に目標点Tを設定するため、目標点設定手段は、設定した対応点から当該線分に沿った所定の追従距離の位置に目標点を設定している。
また、当該車両制御装置は、先行車2の現在位置Lpから、最後に記憶した2地点による基本ベクトルVまでの距離を横移動量tとしているため、地点記憶手段は、最後に記憶した2つの地点を結ぶ直線と、取得した先行車の現在位置の距離を直線経路からの距離としている。
【0122】
以上に説明した本実施の形態、及び変形例によって、次のような効果を得ることができる。
(1)追従車1は、先行車2の走行軌跡を記憶し、これに沿って走行するように同轍制御することができる。
(2)先行車2の走行軌跡を記憶する際に、先行車2が所定量以上旋回した場合の地点データを記憶することにより、旋回箇所で多く地点データを記憶し、直進箇所では地点データを記憶しないことにより、追従車1は、記憶するデータ量や計算量を低減すると共に、スムーズに旋回することができる。
(3)追従車1、目標点T、先行車2の位置関係から、安全に追従走行が開始できるか判断し、安全に開始できると判断した場合に、追従走行を開始することができる。
(4)追従走行中も追従車1、目標点T、先行車2の位置関係を監視し、追従車1と先行車2が接触・衝突する可能性がある場合に、追従走行を停止すると共に、追従車1や先行車2の搭乗者にその旨を通知することができる。
(5)先行車2の現在位置Lpに対応して先行車相当位置Lp’を設定することにより、追従車1は、先行車2がふらついた場合にも安定した追従走行を行うことができる。
(6)目標点Tが先行車相当位置Lp’と最後に記憶した地点データの間に存在する場合に、先行車2が旋回したときに目標点Tを地点データとして記憶することにより、目標点Tの急激な変化を緩和することができる。
【符号の説明】
【0123】
1 追従車
2 先行車
3 車両中心点
6 車両中心点
11 先行車相対位置検出部
12 自車絶対位置検出部
13 追従制御部
14 車両制御部
15 レーザレーダ
16 車速センサ
17 ヨーレートセンサ
18 無線通信装置
21 CPU
22 RAM
23 ROM
24 入出力I/F
25 記憶装置

【特許請求の範囲】
【請求項1】
先行車に対する目標点を設定し、当該目標点に向かうように追従車の走行を制御する走行制御手段と、
前記追従車が前記追従車と前記目標点を結ぶ線分から離れる最大距離を推定する推定手段と、
前記追従車の進行方向前方に先行車が存在し、更に、当該先行車の進行方向前方に目標点が存在する場合に、前記追従車と前記目標点を結ぶ線分と前記先行車との距離から、前記最大距離を減じた値が所定の値以下であるか否かを判断する判断手段と、
前記判断手段が前記所定の値以下であると判断した場合に、前記先行車と前記追従車の接触を回避する回避動作を行う回避動作手段と、
を具備したことを特徴とする車両制御装置。
【請求項2】
前記判断手段は、前記追従車の進行方向と前記先行車が、前記線分に対して同じ領域にある場合に前記判断を行うことを特徴とする請求項1に記載の車両制御装置。
【請求項3】
前記判断手段は、前記追従車から前記目標点までの線分に対して前記先行車から垂線が引ける場合に前記判断を行うことを特徴とする請求項1、又は請求項2に記載の車両制御装置。
【請求項4】
前記所定の値は、前記追従車の速度の関数であり、前記追従車の速度が大きいほど大きな値となることを特徴とする請求項1、請求項2、又は請求項3に記載の車両制御装置。
【請求項5】
前記回避動作手段は、前記追従車を停止させることを特徴とする請求項1から請求項4までのうちの何れか1の請求項に記載の車両制御装置。
【請求項6】
前記判断手段が、前記所定の値以下であると判断した場合に、その旨を前記先行車に通知する通知手段を具備したことを特徴とする請求項1から請求項5までのうちの何れか1の請求項に記載の車両制御装置。
【請求項7】
請求項1から請求項6に記載の車両制御装置を搭載し、先行車に追従することを特徴とする車両。
【請求項8】
先行車に対する目標点を設定し、当該目標点に向かうように追従車の走行を制御する走行制御機能と、
前記追従車が前記追従車と前記目標点を結ぶ線分から離れる最大距離を推定する推定機能と、
前記追従車の進行方向前方に先行車が存在し、更に、当該先行車の進行方向前方に目標点が存在する場合に、前記追従車と前記目標点を結ぶ線分と前記先行車との距離から、前記最大距離を減じた値が所定の値以下であるか否かを判断する判断機能と、
前記判断機能で前記所定の値以下であると判断された場合に、前記先行車と前記追従車の接触を回避する回避動作を行う回避動作機能と、
をコンピュータで実現する車両制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2010−235063(P2010−235063A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−87891(P2009−87891)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(591261509)株式会社エクォス・リサーチ (1,360)
【Fターム(参考)】