(57)【要約】      （修正有）【課題】追従車の安全を確保しながらスムーズに追従させる。【解決手段】追従車１は、先行車２の走行軌跡上の地点と当該地点における先行車２の車速を逐次対応づけて記憶する。追従車１は、記憶した地点のうち、自車よりも最小制御縦距離より前方にある地点を制御直近点として選択し、自車が制御直近点に向かうように旋回指令を出力する。車速が大きいほど最小制御縦距離が大きくなる。追従車１は、自車から制御直近点への方位角θｒｌが閾値α未満である場合には、目標点Ｐｂｃから自車までの目標点距離Ｄｄが０となるように車速指令を出力し、α以上である場合には、制御直近点での先行車２の車速を車速指令として出力する。または、先行車２の地点、ヨーレート、及び車速を逐次対応づけて記憶し、追従車１の横加速度が先行車２の横加速度と等しくなるような車速指令も可能である。【選択図】図３
2010238163.tif 000002
【特許請求の範囲】
【請求項１】
先行車の走行した地点と当該地点における前記先行車の車速に対応する車速対応情報を含む走行データを取得する走行データ取得手段と、
前記先行車に追従走行するための目標点を設定する目標点設定手段と、
前記設定した目標点に到達するように追従車の走行を制御する走行制御手段と、
前記取得した走行データを用いて旋回量を取得する旋回量取得手段と、
を具備し、
前記走行制御手段は、前記取得した旋回量が所定量以上である場合には、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする車両制御装置。
【請求項２】
前記追従車の車速を取得する車速取得手段を具備し、
前記走行制御手段は、前記取得した車速が大きいほど前記追従車の進行方向前方の所定距離を大きく設定することを特徴とする請求項１に記載の車両制御装置。
【請求項３】
前記選択した地点における前記先行車の車速情報による車速が０の場合、前記走行制御手段は、当該地点よりも前記順序が新しい地点のうち、車速情報による車速が所定の閾値以上の最も古い地点を選択することを特徴とする請求項１、又は請求項２に記載の車両制御装置。
【請求項４】
前記設定した目標点に到達するための車速指令値を取得する車速指令値取得手段を具備し、
前記走行制御手段は、前記設定した車速指令値が０よりも大きく、かつ、前記取得した旋回量が所定量以上である場合に、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする請求項１、請求項２、又は請求項３に記載の車両制御装置。
【請求項５】
請求項１から請求項４までのうちの何れか１の請求項に記載の車両制御装置を搭載し、先行車に追従して走行する車両。
【請求項６】
先行車の走行した地点と当該地点における前記先行車の車速に対応する車速対応情報を含む走行データを取得する走行データ取得機能と、
前記先行車に追従走行するための目標点を設定する目標点設定機能と、
前記設定した目標点に到達するように追従車の走行を制御する走行制御機能と、
前記取得した走行データを用いて旋回量を取得する旋回量取得機能と、
をコンピュータで実現し、
前記走行制御機能は、前記取得した旋回量が所定量以上である場合には、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする車両制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置、車両、及び車両制御プログラムに関し、例えば、先行車に対して追従走行するものに関する。
【背景技術】
【０００２】
先行して走行する車両（以下、先行車）に追従しながら協調走行する車両（以下、追従車）の開発が進められている。
追従制御には、例えば、先行車から単純に一定距離後方に目標点を設け、追従車が当該目標点の位置に到達するように制御するものがあるが、この制御では、先行車が旋回すると追従車が先行車とは異なるルートを走行するために追従車が壁などの障害物に接触したり、縁石に乗り上げたりする場合がある。
【０００３】
このような問題が回避可能な追従制御方法として、特許文献１の「追尾方法、追尾装置、追尾システム及び追尾プログラム」がある。
この技術は、先行車の走行軌跡（移動軌跡）上の地点を離散的にメモリに記憶し、先行車から一定距離を保ちながら当該地点を辿ることにより、先行車に追従するものである。
この技術を用いると、追従車が先行車の走行軌跡に沿って走行する、所謂同轍（どうてつ）走行が可能となり、先行車が障害物を避けて走行したように、追従車も障害物を避けて走行することができる。
例えば、図１５（ａ）〜（ｄ）に示したように、先行車２が障害物１００の先を右旋回すると、追従車１は、先行車２の走行軌跡に沿って障害物１００の先を右旋回する。
【０００４】
このように、追従車１は、先行車２の走行軌跡上の地点を基準として追従走行するが、何れの地点を制御の基準として選択するか、という問題があった。
例えば、追従車１の車速が大きいにもかかわらず、追従車１の側方にある地点を基準として選択すると、追従車１は、当該地点を目指して大きく旋回することになり、追従車１の安定性が損なわれてしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１５５３４９公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、追従車の安全を確保しながら先行車にスムーズに追従させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記目的を達成するために、請求項１に記載の発明では、先行車の走行した地点と当該地点における前記先行車の車速に対応する車速対応情報を含む走行データを取得する走行データ取得手段と、前記先行車に追従走行するための目標点を設定する目標点設定手段と、前記設定した目標点に到達するように追従車の走行を制御する走行制御手段と、前記取得した走行データを用いて旋回量を取得する旋回量取得手段と、を具備し、前記走行制御手段は、前記取得した旋回量が所定量以上である場合には、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする車両制御装置を提供する。
請求項２に記載の発明では、前記追従車の車速を取得する車速取得手段を具備し、前記走行制御手段は、前記取得した車速が大きいほど前記追従車の進行方向前方の所定距離を大きく設定することを特徴とする請求項１に記載の車両制御装置を提供する。
請求項３に記載の発明では、前記選択した地点における前記先行車の車速情報による車速が０の場合、前記走行制御手段は、当該地点よりも前記順序が新しい地点のうち、車速情報による車速が所定の閾値以上の最も古い地点を選択することを特徴とする請求項１、又は請求項２に記載の車両制御装置を提供する。
請求項４に記載の発明では、前記設定した目標点に到達するための車速指令値を取得する車速指令値取得手段を具備し、前記走行制御手段は、前記設定した車速指令値が０よりも大きく、かつ、前記取得した旋回量が所定量以上である場合に、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする請求項１、請求項２、又は請求項３に記載の車両制御装置を提供する。
請求項５に記載の発明では、請求項１から請求項４までのうちの何れか１の請求項に記載の車両制御装置を搭載し、先行車に追従して走行する車両を提供する。
請求項６に記載の発明では、先行車の走行した地点と当該地点における前記先行車の車速に対応する車速対応情報を含む走行データを取得する走行データ取得機能と、前記先行車に追従走行するための目標点を設定する目標点設定機能と、前記設定した目標点に到達するように追従車の走行を制御する走行制御機能と、前記取得した走行データを用いて旋回量を取得する旋回量取得機能と、をコンピュータで実現し、前記走行制御機能は、前記取得した旋回量が所定量以上である場合には、前記追従車の進行方向前方の所定距離で、前記先行車が通過した順序が最も古い地点を選択し、当該選択した地点における前記先行車の車速対応情報を用いて前記追従車の車速を設定することを特徴とする車両制御プログラムを提供する。
【０００８】
本発明によれば、追従車が先行車の走行軌跡上の地点を選択することにより、追従車の安全を確保しながら先行車にスムーズに追従させることができる。
【図面の簡単な説明】
【０００９】
【図１】追従車と先行車の機能的な構成を示したブロック図である。
【図２】レーザレーダを用いて先行車を認識する方法を説明するための図である。
【図３】追従車が記憶した先行車の走行軌跡の一例を説明するための図である。
【図４】先行車軌跡情報の論理的な構成の一例を示した図である。
【図５】制御直近点の選択方法を説明するための図である。
【図６】旋回指令を説明するための図である。
【図７】目標点距離などを説明するための図である。
【図８】追従制御の手順を説明するためのフローチャートである。
【図９】先行車軌跡情報保存処理の手順を説明するためのフローチャートである。
【図１０】追従制御指令値算出処理の手順を説明するためのフローチャートである。
【図１１】図１０の続きのフローチャートである。
【図１２】横加速度を用いて車速指令を生成する場合を説明するための図である。
【図１３】第２の実施の形態における先行車軌跡情報の論理的な構成の一例を示した図である。
【図１４】第２の実施の形態における追従制御指令値算出処理の手順を説明するためのフローチャートである。
【図１５】従来例を説明するための図である。
【発明を実施するための形態】
【００１０】
（１）実施の形態の概要
追従車１（図３）は、先行車２の走行軌跡上の地点と当該地点における先行車２の車速
を逐次対応づけて記憶する。
追従車１は、記憶した地点のうち、自車よりも最小制御縦距離Ｄｍｉｎ（図５）より進行方向前方にある地点を制御直近点として選択し、自車が制御直近点に向かうように旋回指令を出力する。このように旋回指令を出力することにより、追従車１は、先行車２の走行軌跡上の地点に沿って先行車２に同轍追従走行する。
【００１１】
追従車１は、追従車１の車速が大きいほど最小制御縦距離Ｄｍｉｎが大きくなるように設定し、追従車１の車速が大きい場合には、より先に存在する地点を制御直近点として選択する。
このように、制御対象の座標点である制御直近点を定める判定距離を車速に応じて可変とすることにより、高速走行時に発生する不安定な旋回動作を軽減することができる。
【００１２】
また、追従車１（図３）は、先行車２からの距離を各地点を結ぶ線分に沿って計測し、先行車２から追従距離Ｄｂｃの位置に目標点Ｐｂｃを設定する。
追従車１は、旋回指令と車速指令を計算してこれにより追従走行するが、旋回指令に関しては、自車から制御直近点への方位角θｒｌ（即ち、方位角θｒｌは、旋回量に対応している）が０となるように出力する。
一方、車速指令に関しては、追従車１は、自車から制御直近点への方位角θｒｌが閾値α未満である場合には、目標点Ｐｂｃから自車までの目標点距離Ｄｄが０となるように車速指令を出力し（第１の車速制御）、方位角θｒｌが閾値α以上である場合には、制御直近点での先行車２の車速を車速指令として出力する（第２の車速制御）。
【００１３】
または、先行車２の地点、ヨーレート、及び車速を逐次対応づけて記憶し、追従車１の横加速度（ヨーレート×車速）が先行車２の横加速度と等しくなるような車速指令も可能である（第３の車速制御）。
この場合、追従車１は、自車から制御直近点への方位角θｒｌが閾値α未満である場合には、第１の車速制御によって車速指令を出力し、方位角θｒｌが閾値α以上である場合には、第３の車速制御によって車速指令を出力する。
【００１４】
このように、追従車１は、旋回量に応じて第１の車速制御と第２の車速制御、あるいは、第１の車速制御と第３の車速制御を切り替えることより、追従車１が旋回していない場合（あるいは、旋回量が小さい場合）には、先行車２と追従距離Ｄｂｃを保って同轍追従し、追従車１が旋回している場合（あるいは、旋回量が大きい場合）には、先行車２との追従距離を一定に保とうとせず、追従距離が増えることを許容し、追従車１の当該地点通過時の車速、あるいは横加速度を基準とした減速を行う。
【００１５】
なお、追従車１が減速により先行車２から遅れた分は、追従車１が旋回箇所を通過し終え、第１の車速制御に復帰した際に加速して速やかに解消する。このように、追従車１は、旋回を終えると、すばやく先行車２の軌跡をたどり車間距離の偏差をつめることができる。
【００１６】
以上のように、追従車１は、旋回量が小さい場合には、先行車２と距離に応じた車速制御を行い、旋回量が大きい場合には、先行車２の制御直近点での車速などを基準とした車速制御を行うことにより、先行車２に対して、安全でスムーズな同轍追従走行を行うことができる。
【００１７】
（２）実施の形態の詳細
（第１の実施の形態）
図１は、本実施の形態に係る追従車１と先行車２の機能的な構成を示したブロック図である。
先行車２は、車間通信部４１、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４２、車速センサ４３、姿勢センサ４４などを備えている。
いる。
車間通信部４１は、追従車１の車間通信部１４と無線にて車車間通信することができ、先行車２は、車間通信部４１を介して追従車１に走行データ（先行車情報）を送信する。
走行データには、先行車２の車速、ヨーレート、タイムスタンプ（例えば、追従車１が車速、ヨーレートを受信した際の日時刻）などが含まれている。
【００１８】
なお、タイムスタンプは、先行車２が追従車１に車速、ヨーレートを送信し、追従車１がこれらを受信した際に、現在日時刻をタイムスタンプとして付与するように構成してもよいし、あるいは、先行車２が車速、ヨーレートに、これらを計測した際の日時刻をタイムスタンプとして付与し、これらを追従車１に送信するように構成してもよい。
【００１９】
詳細は後述するが、追従車１は、車速とヨーレート、及びタイムスタンプから得られる測定時刻の間隔ΔＴから先行車２の移動量を計算することにより、先行車２の走行した地点を追跡・記録していく。
このため、車速、ヨーレート、及びタイムスタンプは、先行車２の走行した地点を特定する地点情報として機能している。
なお、先行車２から走行データにて、先行車２の現在位置を送信してもらい、これにより先行車２が走行した地点を記録するように構成することもできる。
【００２０】
ＥＣＵ４２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、大容量の記憶装置などを備えたコンピュータを用いて構成されており、ＣＰＵが記憶装置に記憶されたプログラムに従って先行車２に対する各種の電子制御を行う。
車速センサ４３は、先行車２の車速を計測するセンサであり、姿勢センサ４４は、車速センサ４３のヨーレートなどを計測するセンサである。
これらセンサで測定された値は、走行データとして追従車１に送信される。
【００２１】
追従車１は、車間通信部１４、レーザレーダ１５、ＥＣＵ１７、車両駆動部１１、車速センサ１２、姿勢センサ１３などを備えている。
車間通信部１４は、車間通信部４１と無線通信し、先行車２から走行データを受信する。
レーザレーダ１５は、レーザビームを追従車１の前方や側方に２次元走査し、その反射を検知するレーダ装置である。
追従車１は、先行車２の移動量を計算して先行車２の走行した地点を記録していくが、その場合、最初に先行車２の初期位置を計測して、これに移動量を加算していく必要がある。レーザレーダ１５は、当該初期位置を計測するのに用いられる。
【００２２】
車両駆動部１１は、車両制御指令算出部２０から発せられる速度指令と旋回指令により追従車１の車速と旋回を制御する。
車速センサ１２は、追従車１の車速を検出するセンサであり、姿勢センサ１３は、ヨーレートなどを計測するセンサである。
ＥＣＵ１７は、ＣＰＵ、ＲＯＭ、ＲＡＭ、大容量の記憶装置などを備えたコンピュータであり、ＣＰＵが記憶装置に記憶されているプログラムを実行することにより先行車走行軌跡認識部１８、先行車軌跡情報記憶部１９、車両制御指令算出部２０、追従車走行軌跡認識部２１などが構成されている。
【００２３】
先行車走行軌跡認識部１８は、先行車２の追跡開始時には、レーザレーダ１５を用いて先行車２の位置を計測することにより認識し、その後は、車間通信部１４で受信した走行
データによって先行車２の移動量を計算し、これをレーザレーダ１５で計測した先行車２の位置に加算していくことにより先行車２の現在位置を認識する。
【００２４】
先行車軌跡情報記憶部１９は、追従車走行軌跡認識部２１が認識した地点と、先行車２が当該地点を通過した際の車速（走行データより得られる）を対応づけ、これに地点インデックスを付与して地点データを構成し、これら地点データを先行車軌跡情報としてＲＡＭなどの記憶媒体に順次記憶する。
地点インデックスは、先行車２の走行の時系列に従って付与されるため、地点データを地点インデックス順に線分で結ぶと先行車２の走行軌跡が得られる。
【００２５】
追従車走行軌跡認識部２１は、車速センサ１２からの車速や姿勢センサ１３からヨーレートを用いて追従車１の移動量を計算し、これを追従走行開始時の追従車１の位置に加算していくことにより追従車１の走行軌跡、現在位置、及び姿勢（絶対座標系における追従車１の方位角など）を認識する。
【００２６】
車両制御指令算出部２０は、先行車２から地点データの線分に沿った所定距離の追従距離（車間距離）の位置に目標点を設定すると共に、追従車走行軌跡認識部２１から追従車１の現在位置や車速、ヨーレートなどを取得して、追従車１が当該目標点に到達するように車速指令値と旋回指令値を生成し、車両駆動部１１に出力する。
【００２７】
車両制御指令算出部２０は、旋回指令については、追従車１の前方向（進行方向前方）と、後述する制御直近点（追従車１の前方所定量に存在する地点データのうち、時系列が最も古いもの）の成す方位角θｒｌが０となるように設定する。即ち、方位角θｒｌは、追従車１の旋回量を表している。
一方、車速指令については、方位角θｒｌが所定の閾値α未満の場合には、地点データを結んだ線分に沿った目標点から追従車１までの距離に応じた値とし（第１の車速制御）、方位角θｒｌが所定の閾値α以上の場合には、先行車２が制御直近点を通過した際の先行車２の車速を車速指令値とする（第２の車速制御）。
【００２８】
このように、追従車１は、閾値αによって追従車１の旋回量の大小を判断し、旋回量が小さい場合には、第１の車速制御によって、追従車１と先行車２の車間距離を一定に保つように走行し、旋回量が大きい場合には、追従車１と先行車２の車間距離が一定値よりも大きくなることを許容して、追従車１の車速を先行車２がその地点を通過した際の車速とすることにより、安全に旋回することができる。
【００２９】
図２は、先行車走行軌跡認識部１８がレーザレーダ１５を用いて先行車２を認識する方法を説明するための図である。
レーザレーダ１５は、例えば、回転走査型レーザレーダであり、追従車１の周囲を２次元（３次元でもよい）走査する。
レーザレーダ１５は、走査可能角度（上記図では２７０°）を走査し、対象物までの距離を単位角度ごとに出力する。図では、レーザレーダ走査点を白抜きの円で示してある。これらの出力は以下のように先行車走行軌跡認識部１８で解析される。
【００３０】
先行車走行軌跡認識部１８は、上記角度と距離のセットからなる走査結果の点列（白抜きの円）を線で結んでレーザレーダ線分を生成し、追従車１を基準とするＲＡＭに形成された平面座標上にこれを展開する。
なお、その際、点間の線分が閾値を超えたものは線分としないとすることでパターンマッチングの処理を軽減することができる。
【００３１】
先行車走行軌跡認識部１８は、このようにレーザレーダ線分を平面座標上に展開した後
、先行車２のモデルパターン２ａを回転させながら平面上を移動させてマッチングさせ、線分の一致度が予め定めた基準値を超えた場合、そのときのモデルパターン２ａを先行車２と認識する。
先行車２には、追従制御の基準となる車両中心点６が予め設定されており、先行車走行軌跡認識部１８は、マッチングしたモデルパターン２ａにより車両中心点６を特定する。
【００３２】
このようにして、先行車走行軌跡認識部１８は、マッチング結果により、先行車２の方位３５、相対角３１、及び車両中心点３（追従制御の基準となる自車の中心点）と車両中心点６を結んで追従車１と先行車２の相対距離３４を求めることができ、相対距離３４を縦横方向に分解して縦距離３２、及び横距離３３を求めることができる。
【００３３】
なお、このようにして、ひとたびモデルパターン２ａをマッチングした後は、全てのレーザレーダ線分を対象にマッチングのための検索を行う必要はなく、前回に検出された先行車２の車両中心点６から、定義済みの閾値の範囲を検索範囲として検索を行うことによりマッチング処理を軽減することができる。
【００３４】
なお、先行車２の認識処理は上記のレーザレーダ１５のパターンマッチングに限らず、先行車２の位置、相対角が検出できるのであれば、例えば、特開２００８−８２７５０のような構成を用いてもよい。
この技術は、所定の投光パターンを対象車両に投光し、その反射光の形状を用いて対象車両との距離や傾きを検出するものである。
以上のようにして、先行車走行軌跡認識部１８は、先行車２の相対位置、即ち、追従車１の車両中心点３に対する先行車２の車両中心点６の位置を検出することができる。
【００３５】
図３は、先行車走行軌跡認識部１８が認識し、先行車軌跡情報記憶部１９が記憶した先行車２の走行軌跡の一例を説明するための図である。
この例では、先行車２は、障害物１００、１００の間を蛇行するように走行している。
なお、以下で用いる添字について、ａ（ａｂｓｏｌｕｔｅ）は絶対座標系、ｒ（ｒｅｌａｔｉｏｎ）は相対座標系、ｌ（ｌｅａｄｅｒ）は先行車２、ｆ（ｆｏｌｌｏｗｅｒ）は追従車１、ｄ（ｄｅｓｔｉｎａｔｉｏｎ）は目標点、をそれぞれ表しているものとする。
例えば、地点ＰをＰａｌ（２）と表す場合、これは、絶対座標系における先行車２の地点のうち、３番目に記録したもの（括弧内の地点インデックスは０から始まるため）を意味し、ｘａｌは、先行車２の絶対座標系におけるｘ座標値を意味する。
また、追従車１の位置は、追従車１の車両中心点３の位置によって表され、先行車２の位置は、先行車２の車両中心点６によって表されるものとする。
【００３６】
先行車２は、車速センサ４３、姿勢センサ４４により車速Ｖｌ、ヨーレートωｌ、タイムスタンプＴｌ（現在日時刻）を所定のサンプリング周期（制御周期）で計測し、これらを走行データとして追従車１に送信する。なお、タイムスタンプは、追従車１で付与してもよい。
追従車１は、先行車２の初期位置の地点Ｐａｌ（０）をレーザレーダ１５で計測し、その後は、走行データを用いて先行車２の移動量を計算して加算していくことにより、先行車２の走行した地点Ｐａｌ（１）、Ｐａｌ（２）、・・・、Ｐａｌ（ｎ）、・・・を記憶していく。
これらの線分を順に結ぶと先行車２の走行軌跡となり、ｎが最大となるＰａｌ（ｎ）（図ではｎ＝９）が、先行車２の現在位置となる。なお、この点は先行車２の車両中心点６ともなっている。
【００３７】
Ｐａｌ（ｎ）（ｘａｌ、ｙａｌ）の具体的な計算式は、次の式（１）〜（４）ようになる。
ただし、ｘａｌ、ｙａｌは、Ｐａｌ（ｎ）の絶対座標系におけるｘ、ｙ座標値であり、Ｔｌ（ｎ）、ωｌ（ｎ）、Ｖｌ（ｎ）は、それぞれ、Ｐａｌ（ｎ）を計算するための走行データに含まれていたタイムスタンプ、ヨーレート、車速であり、先行車２のｙａｗはヨー角を表す。
【００３８】
ΔＴ＝Ｔｌ（ｎ）−Ｔｌ（ｎ−１）・・・（１）
ｙａｗ（ｎ）＝∫（ωｌ（ｎ−１）×ΔＴ）ｄｔ＝ωｌ（ｎ−１）×ΔＴ＋ｙａｗ（ｎ−１）・・・（２）
ｘａｌ（ｎ）＝Ｖｌ（ｎ）×ΔＴ×ｓｉｎ（−ｙａｗ）＋ｘａｌ（ｎ−１）・・・（３）
ｙａｌ（ｎ）＝Ｖｌ（ｎ）×ΔＴ×ｃｏｓ（−ｙａｗ）＋ｙａｌ（ｎ−１）・・・（４）
【００３９】
今、Ｐａｌ（１）が後述の制御直近点として選択されたとする。追従車１は、自車を基準とする相対座標でのＰａｌ（１）の方位角θｒｌが０となるように旋回指令を発する。
また、追従車１は、先行車２の現在位置Ｐａｌ（９）から各地点を結ぶ線分に沿って追従距離Ｄｂｃの位置に目標点Ｐｂｃを設定する。
更に、追従車１は、各地点を結ぶ線分に沿って目標点Ｐｂｃから自車の車両中心点３までの目標点距離Ｄｄを計算し、追従車１の旋回量が小さい場合には、第１の車速制御にて目標点距離Ｄｄが０となるように車速を設定し、追従車１の旋回量が大きい場合には、第２の車速制御にてＰａｌ（１）での先行車２の車速を設定する。
以上により、追従車１は、先行車２の走行軌跡上の地点に沿って最短の車間距離がＤｂｃとなるように先行車２に同轍走行することができる。
【００４０】
図４は、先行車軌跡情報記憶部１９に記憶される先行車軌跡情報の論理的な構成の一例を示した図である。なお、これらは０．５秒間隔で記録したものであり、何れのデータもΔＴは０．５となっている。
先行車軌跡情報は、先行車２が走行した走行軌跡上の各地点における先行車２の車速と絶対座標系における位置に地点インデックスを付与した地点データから構成されている。
【００４１】
項目「ｎ」は、地点インデックスであり、車車間通信によって先行車２から送信されてきた走行データに対応して昇順に付与される番号であり、地点データの時系列を表している。即ち、新しい地点データほど、大きな地点インデックスが付与されている。
項目「車速Ｖｌ」は、先行車２の走行軌跡上の各地点での車速Ｖｌであり、走行データに含まれていたものである。
項目「座標Ｐａｌ」は、先行車２の絶対座標系での座標値であり、項目「ｘａｌ」、「ｙａｌ」は、それぞれｘ、ｙ座標値である。
これらの座標値は、走行データを用いて式（３）、（４）により算出されたものである。
【００４２】
このように、先行車軌跡情報では、先行車２の走行軌跡上の各地点での車速Ｖｌ、及び座標値Ｐａｌ（ｘａｌ、ｙａｌ）が対応づけて記憶されており、追従車１は、先行車２から走行データを受信するごとに地点データを追加していく。
なお、初回開始時におけるＶ（０）、Ｐａｌ（０）は、レーザレーダ１５によって計測した値を用いる。又は、追従車１の車速と車両中心点３の位置とすることも可能である。
【００４３】
図５は、制御直近点の選択方法を説明するための図である。
追従車１は、自車両の車両中心点３を原点とする相対座標を設定し、最小制御縦距離Ｄｍｉｎから先にある位置のうち、タイムスタンプによる時系列が最も古いもの、即ち、地点インデックスが最も小さいものを制御直近点として選択する。
【００４４】
換言すれば、前回の制御に使用した地点から時系列に従ってＰａｌ（ｎ）を昇順に辿り、追従車１を中心とした相対座標系でＰａｌ（ｎ）の縦距離ｙ（ｎ）が最小制御縦距離Ｄｍｉｎ以上のものを選択する。
このように、追従車１の進行方向前方に存在する地点を選択することにより、追従車１の急旋回を抑制することができる。
【００４５】
図５の例では、先行車２の地点が時系列順にＰａｌ（ｎ＋１）、・・・、Ｐａｌ（ｎ＋４）と記憶されており、これを時系列に従って辿っていくと、地点Ｐａｌ（ｎ＋３）の縦距離ｙ（ｎ＋３）が最小制御縦距離Ｄｍｉｎより進行方向前方にあるため、Ｐａｌ（ｎ＋３）が制御直近点として選択される。
【００４６】
また、最小制御縦距離Ｄｍｉｎは、固定値とすることもできるし、追従車１の車速の関数とすることもできる。
追従車１の車速の関数とする場合、例えば、最小制御縦距離Ｄｍｉｎが追従車１の車速Ｖｆに比例し、追従車１の車速が０の場合はｂとすると、Ｄｍｉｎは、次の１次式（５）によって計算される。ここで、ａとｂは、共に正の数である。
【００４７】
Ｄｍｉｎ＝ａ×Ｖｆ＋ｂ・・・（５）、
【００４８】
この例では、追従車１の車速が大きいほど最小制御縦距離Ｄｍｉｎが大きくなり、追従車１は、より先に存在する地点を制御直近点として選択するため、追従車１の旋回時のオーバーシュートを低減することができる。
このように、追従車１の車速に応じた適切な制御直近点を使用することにより、追従車１の走行軌跡に応じた制御指令値の補正が行われる。
なお、図５では、追従車１の車体に固定した相対座標系を用いて追従車１の進行方向前方を規定したが、例えば、追従車１の進行方向（旋回の接線方向）を軸とする相対座標系を用いて進行方向前方を規定してもよい。
【００４９】
図６の各図は、追従車１が行う旋回指令を説明するための図である。
この例では、追従車１は、絶対座標系における制御直近点の方位角と自身の方位角を求め、これらから追従車１に対する制御直近点の相対的な方位角を求める。
【００５０】
図６（ａ）において、Ｐａｌ（ｎ）を選択された制御直近点とする。
追従車１は、追従車１の車両中心点３（絶対座標系における座標値は（ｘｆ、ｙｆ））を原点とし、追従車１の向きを縦軸、方位角を０とする相対座標系を設定する。
追従車１は、当該相対座標系における制御直近点Ｐａｌ（ｎ）への方位角θｒｌを、次の式（６）により計算する。
【００５１】
θｒｌ＝θａｎ−θａｆ・・・（６）
【００５２】
ここで、θａｎは、絶対座標系での制御直近点Ｐａｌ（ｎ）の方位角であり、次の式（７）により計算される。
【００５３】
θａｎ＝ａｒｃｔａｎ２（ｘａｌ（ｎ）−ｘｆ，ｙａｌ（ｎ）−ｙｆ）・・・（７）
【００５４】
また、θａｆは、絶対座標系での自車の方位角であり姿勢センサ１３などによって得ることができる。
なお、絶対座標系における角度の正負を、第１、４象限が負、第２、３象限を正としたため、θａｆは減算となっている。
【００５５】
このようにして計算された方位角θｒｌは、追従車１が第１の車速制御と第２の車速制御を選択する際の判断に用いられる。
即ち、追従車１は、方位角θｒｌが所定の閾値α未満である場合には第１の車速制御を行い、所定の閾値α以上である場合には第２の車速制御を行う。
【００５６】
ところで、本実施の形態では、追従車１に対する制御直近点の方位角θｒｌで、即ち、追従車１の旋回量によって第１の車速制御と第２の車速制御の切り替えを判断した。
これに対し、先行車２の旋回量に応じて車速制御を切り替えるように構成した変形例も可能である。
例えば、図６（ｂ）に示したように、追従車１は、制御直近点Ｐａｌ（ｎ）と、これの手前の地点Ｐａｌ（ｎ−１）を結ぶ線と、制御直近点Ｐａｌ（ｎ）と、これより１つ先の地点Ｐａｌ（ｎ＋１）を結ぶ線のなす角θｒｌ’を計算する。この角θｒｌ’は、先行車２の旋回角に相当するものである。
【００５７】
そして、追従車１は、方位角θｒｌ’が所定の閾値α以上か否かを判断し、α未満である場合には第１の車速制御を行い、α以上である場合には第２の車速制御を行う。
旋回指令値は、図６（ａ）と同様に相対座標系における制御直近点Ｐａｌ（ｎ）の方位角が０に収束するように発する。
このように、第１の車速制御と第２の車速制御の切り替えには、追従車１の旋回量を用いて行うこともできるし、先行車２の旋回量を用いて行うこともできる。
【００５８】
図７（ａ）は、目標点距離を説明するための図である。
追従車１は、Ｐａｌ（ｎ）（ｎは最も大きいｎであり、図の例ではＰａｌ（９）で先行車２の車両中心点６に対応する）から先行車２の後方に各地点を結ぶ線分に沿って追従距離（車間距離）Ｄｂｃの位置に目標点Ｐｂｃを設定する。
目標点距離Ｄｄは、目標点Ｐｂｃから車両中心点３までの各地点を結ぶ線に沿った距離である。
【００５９】
地点Ｐａｌ（ｎ）とＰａｌ（ｎ−１）の距離Ｄａｌ（ｎ）は、図７（ｂ）の式（８）で表される。
一方、追従車１の車両中心点３から最も近い地点Ｐａｌ（ｎ）（図ではＰａｌ（０））までの距離は、図７（ｂ）の式（９）の第１項で表される。
そこで、当該第１項に、地点を遡りながらｎの最大値（図では９）を式（８）に加算していけば（式（９）の第２項）、先行車２から追従車１までの地点を結ぶ線分に沿った距離が計算される。
これから、追従距離Ｄｂｃを減算すると（式（９）の第３項）、線分に沿った追従車１から目標点Ｐｂｃまでの目標点距離Ｄｄが計算される（式（９））。
【００６０】
第１の車速制御では、追従車１が位置３ａなど、ほぼ直線状の走行軌跡上にある場合に行われ、単純な比例制御を行う場合は、目標点距離Ｄｄに比例ゲインＫｐを乗算し、更に先行車２の現在の車速Ｖｌ（ｎ）（ｎは最大値）を加算して追従車１の車速指令値Ｖｔｓを算出する。
【００６１】
第２の車速制御では、第１の車速制御の指令速度Ｖｔｓをそのまま使用すると、追従車１が旋回状態であるにもかかわらず速度が出てしまうため、制御直近点Ｐａｌ（ｎ）を先行車２が通過した車速を先行車軌跡情報から読み出し、これを速度指令値Ｖｔｓとする。
これにより、追従車１は、先行車２と同様の速度で旋回を行い、旋回時に速度が上がることを防ぐことができる。
【００６２】
先行車２は、当該地点を当該車速によって旋回したため、当該車速以下であれば当該地点を安全に旋回できると考えることができる。
そのため、追従車１は、先行車２の車速を用いることにより、安全かつ、不必要に遅くならない車速で当該地点を旋回することができる。
【００６３】
ところで、先行車２が旋回中に停止した場合、先行車軌跡情報に車速Ｖｌ（ｎ）が０で座標値が同じ地点データが先行車軌跡情報に複数記録される。
この場合、追従車１が旋回時に先行車２の車速を用いると、車速Ｖｌ（ｎ）が０であるため、停止する必要がなくても追従車１は、停止してしまう。
【００６４】
そこで、追従車１は、地点Ｐａｌ（ｎ）の車速Ｖｌ（ｎ）が停止状態であると判断される場合には、当該地点データを制御直近点として採用せず、先行車２に現在位置に向かって車速Ｖ（ｎ）が所定の閾値を超えるまで、時系列の昇順に車速Ｖ（ｎ）と閾値の比較を行い、閾値を超えたものを制御直近点として採用する。
また、閾値を超える地点Ｐａｌ（ｎ）がなかった場合、追従車１は、先行車２の車両中心点６（軌跡情報の最新のもの）を制御直近点として採用する。
【００６５】
なお、本実施の形態では、車速Ｖｌ（ｎ）が０である地点データをスキップする（採用しない）ように構成したが、例えば、車速Ｖｌ（ｎ）が１［Ｋｍ／ｈ］以下の地点データをスキップするなど、所定の値以下の地点データをスキップするように構成してもよい。
【００６６】
図８は、追従車１が行う追従制御の手順を説明するためのフローチャートである。
以下の各フローチャートで追従車１が行う処理は、追従車１のＥＣＵ１７が所定のプログラムに従って行うものである。
まず、追従車１は、追従走行を開始する場合、先行車２の初期位置を取得する（ステップ５）。
追従走行の開始は、例えば、追従車１の搭乗者が追従開始ボタンを押下するなど、何らかのトリガによって開始する。
このステップにおいて、追従車１は、レーザレーダ１５により、先行車２の現在位置を相対座標系で計測し、これを自車の絶対座標値を用いて絶対座標系に変換することにより、追従車１の絶対座標値を取得する。
【００６７】
次に、追従車１は、各種の値を初期化する（ステップ１０）。
この初期化により、地点データに時系列による順序を付与する地点インデックスｎは０に、先行車２の車速Ｖｌ（ｎ）は０に、自車の絶対座標における座標値（ｘａｌ（ｎ）、ｙａｌ（ｎ））は現在位置の絶対座標における座標値（ｘ、ｙ）に、前回（即ち、地点インデックスが１つ前の）のタイムスタンプを格納するパラメータであるＴｏｌｄは、追従車１が、先行車２の初期位置取得の際の日時刻に設定される。
次に、追従車１は、地点インデックスｎを１だけインクリメントする（ステップ１５）。
【００６８】
次に、追従車１は、先行車軌跡情報保存処理を行い（ステップ２０）、追従し制御指令値算出処理を行い（ステップ２５）、これによって算出される旋回指令、及び車速指令を用いて追従走行を行うように車両制御処理を行う（ステップ３０）。
次に、追従車１は、追従走行を継続するか否かを判断し（ステップ３５）、継続する場合には（ステップ３５；Ｙ）、ステップ２０に戻り、継続しない場合には（ステップ３５；Ｎ）、追従制御を終了する。
追従走行の終了は、例えば、追従車１の搭乗者が追従走行終了ボタンを押下するなど、何らかのトリガによって終了する。
【００６９】
図９は、ステップ２０（図８）の先行車軌跡情報保存処理の手順を説明するためのフローチャートである。
追従車１は、車車間通信により先行車の走行データ（ヨーレートω、車速Ｖ、タイムスタンプＴが含まれている）を受信する（ステップ５５）。なお、タイムスタンプは、追従車１がヨーレートω、車速Ｖを受信した際に、現在日時刻を付与するように構成してもよい。
次に、追従車１は、前回のヨーレートωを格納するパラメータであるωｏｌｄに前回のヨーレートω（ｎ−１）を設定し、ΔＴには、式（１）に従ってΔＴ＝Ｔ−Ｔｏｌｄを設定する（ステップ６０）。
【００７０】
次に、追従車１は、先行車の絶対座標系における座標値を次のようにして算出する（ステップ６５）。
まず、追従車１は、先行車２のヨー角を格納するパラメータであるｙａｗには、式（２）に従ってωｏｌｄ×ΔＴ＋ｙａｗを設定する。
次に、追従車１は、式（３）、式（４）に従って、先行車２の絶対座標系におけるｘ座標値ｘａｌ（ｎ）と、ｙ座標値ｙａｌ（ｎ）を算出する。
【００７１】
追従車１は、このようにして先行車２の座標値を算出すると、走行データで受信した車速ＶをＶ（ｎ）と、ステップ６５で算出したｘａｌ（ｎ）、ｙａｌ（ｎ）を対応づけて、地点インデックスを付与して地点データとし、先行車軌跡情報に保存する（ステップ７０）。
更に、追従車１は、走行データに含まれるタイムスタンプＴをＴｏｌｄとしてＲＡＭなどのメモリに記憶する（ステップ７５）。
そして、追従車１は、地点インデックスをｎ←ｎ＋１として１だけインクリメントする（ステップ８０）。
【００７２】
図１０は、ステップ２５（図８）の追従制御指令値算出処理の手順を説明するためのフローチャートである。
まず、追従車１は、自車の絶対座標系における現在位置とヨー角を取得する（ステップ１０５）。
そして、追従車１は、ｘｆに現在位置のｘ座標値を設定し、ｙｆに現在位置のｙ座標を設定し、更に、θａｆにヨー角を設定する。
【００７３】
次に、追従車１は、自車の車速を式（５）に適用して最小制御縦距離Ｄｍｉｎを計算し、これを用いて先行車軌跡情報で制御直近点を探索することにより、制御直近点の地点インデックスを取得する（ステップ１１０）。制御直近点のインデックスをｎとする。なお、このｎは、先の先行車軌跡情報保存処理で使用したｎから独立したパラメータである。
次に、追従車１は、絶対座標系における制御直近点の方位角θａｎを計算する（ステップ１１５）。この計算は、式（７）を用いて行うことができる。
【００７４】
次に、追従車１は、式（６）にθａｆとθａｎを適用して相対座標系での追従車１に対する制御直近点の方位角θｒｌを算出することにより（ステップ１２０）、自車に対する制御直近点の方位角を相対座標系から絶対座標系に変換する。
次に、追従車１は、方位角θｒｌに比例ゲインＫｐを乗じて（Ｋｐ×θｒｌ）旋回指令値ωｆを算出する（ステップ１２５）。
【００７５】
次に、追従車１は、パラメータｉと目標点距離Ｄｄの初期値を０に設定する（ステップ１３０）。
目標点距離Ｄｄを０に初期化すると、追従車１は、まず、追従車１から制御直近点までの距離（式（９）の第１項）を算出する（ステップ１３５）。
次に、追従車１は、式（８）を用いてＤａｌ（ｎ＋ｉ＋１）を計算し、Ｄｄ←Ｄｄ＋Ｄａｌ（ｎ＋ｉ＋１）として、Ｄｄを２地点Ｐａｌ（ｎ＋ｉ）、Ｐａｌ（ｎ＋ｉ＋１）の距離だけインクリメントする（ステップ１４０）。
【００７６】
次に、追従車１は、ｉをｉ←ｉ＋１として１だけインクリメントし（ステップ１４５）し、ｎ＋ｉ＋１が地点インデックスｎの最大値以下であるか否かを判断する（ステップ１５０）。
ｎ＋ｉ＋１が最大値以下である場合（ステップ１５０）、先行車２の位置までの全ての地点データについて地点データ間の距離を合計したわけではないので、追従車１は、ステップ１４０に戻り、更に、地点データを遡って同様の計算を行い、目標点距離Ｄｄを更新する。ステップ１４０〜１４５は、式（９）の第２項に対応する処理である。
【００７７】
一方、ｎ＋ｉ＋１が最大値以下でない場合（この場合、ｎ＋ｉ＋１が最大値と等しくなる）（ステップ１５０）、先行車２の現在位置まで地点データを遡って地点間の距離を合計したため、追従車１は、図１１のフローチャートに移行し、目標点距離Ｄｄの値から追従距離Ｄｂｃを減算して、目標点距離Ｄｄの最終値を得る（ステップ１５５）。
以上により、式（９）に従って、目標点距離Ｄｄが算出される。
【００７８】
次に、追従車１は、目標点距離Ｄｄに比例ゲインＫｐを乗じた次の式（１０）により、目標速度Ｖｔｓを算出する（ステップ１６０）。
【００７９】
Ｖｔｓ＝Ｋｐ×Ｄｄ＋Ｖｌ（ｎの最大値）・・・（１０）
【００８０】
次に、追従車１は、方位角θｒｌが閾値α以上であり、かつ、Ｖｔｓが０より大きいか否かを判断する（ステップ１６５）。
何れか一方、あるいは両方の条件が満たされていない場合（ステップ１６５；Ｎ）、追従車１は、車速指令値Ｖｔとして目標速度Ｖｔｓを設定する（ステップ１７５）。
【００８１】
一方、両方の条件が満たされている場合（ステップ１６５；Ｙ）、追従車１は、制御直近点通過時の先行車２の車速Ｖｌ（ｎ）を車速指令値Ｖｔに設定する（ステップ１７０）。
なお、本実施の形態では、一方、両方の条件が満たされている場合（ステップ１６５；Ｙ）にＶｔ←Ｖｌ（ｎ）としたが、Ｖｌ（ｎ）以下の車速であれば安全に旋回できるため、Ｖｌ（ｎ）以下の値を車速指令値とするように構成することもできる。
【００８２】
ステップ１６５の判断で、Ｖｔｓが０より大きいか否かを判断したのは、先行車２が停止して、追従車１が目標点Ｐｂｃに到達したにもかかわらず、追従車１が第２の車速制御を行って地点Ｐａｌ（ｎ）での車速で走行することにより、追従車１が追従距離Ｄｂｃよりも先行車２に接近するのを防ぐためである。
【００８３】
以上に説明した本実施の形態では、追従車１は、先行車２の初期位置をレーザレーダ１５で計測した後は、先行車２から受信した先行車２の車速とヨーレートを用いて先行車２の地点を計算したが、これは、一例であって、レーザレーダ１５を用いて持続的に先行車２の地点と車速を計測するように構成することもできる。
【００８４】
以上、第１の実施の形態について説明したが、これにより次のような効果を得ることができる。
（１）先行車２の走行軌跡上の地点について、その位置と、その地点を通過した際の先行車２の車速を対応づけて記憶することができる。
（２）先行車２の走行軌跡の地点から制御直近点を選択し、当該制御直近点への方位角θ
ｒｌが０となるように旋回指令を発することにより、追従車１は、先行車２の走行軌跡に沿って同轍走行することができる。
（３）制御直近点の方位角θｒｌが閾値α未満の場合に、目標点距離Ｄｄが０となるように第１の車速制御を行うことにより、追従車１は、先行車２との追従距離を一定に保ちながら同轍追従走行を行うことができる。
（４）制御直近点の方位角θｒｌが閾値α以上の場合に、制御直近点での先行車２の車速が追従車１の車速となるように第２の車速制御を行うことにより、追従車１は、安全に旋回することができる。
（５）制御直近点の方位θｒｌによって第１の車速制御と第２の車速制御を切り替えることにより、追従車１は、安全かつスムーズに同轍追従走行することができる。
（６）追従車１から所定距離進行方向前方にあり、最も古い地点を制御直近点として選択することにより、常に追従車１の前方に制御直近点を設定することができ、安全な旋回を行うことができる。
（７）追従車１の車速に応じて最小制御縦距離Ｄｍｉｎを設定することにより、より適切な地点を制御直近点として選択することができ、高速走行時に発生する不安定な旋回動作を軽減すると共に、地点データに対応づけられた先行車２の車速も適切なものが選択されるため、遅れのない制御を行うことができる。
【００８５】
（第２の実施の形態）
先に説明した実施の形態では、第２の車速制御において、追従車１は、先行車２の制御直近点での車速を車速指令に用いたが、第２の実施の形態では、先行車２の制御直近点での横加速度を用いて車速指令を算出する。
【００８６】
図１２は、横加速度を用いて追従車１の車速指令を生成する場合を説明するための図である。
追従車１は、制御性能が異なるなどの各種の理由から、必ずしも先行車２が各地点を通過したときの姿勢と同じ姿勢で各地点を通過するわけではない。
このため、制御直近点Ｐａｌ（ｎ）に向かう追従車１の向きは、制御によって先行車２と異なる場合がある。
この場合、追従車１は、制御のずれにより、先行車２がＰａｌ（ｎ）を通過した際のヨーレートより大きなヨーレートで旋回する場合がある。
【００８７】
例えば、図の線分で示した右旋回の走行軌跡を先行車２が通過した際の姿勢に対して、追従車１の姿勢が旋回の外側を向いていたとする。
この場合、追従車１の制御直近点Ｐａｌ（ｎ）に対する方位角の方が先行車２より大きいため、追従車１は、先行車２と同じ車速で制御直近点に向けて旋回すると横加速度が大きくなり、車体が不安定になったり、搭乗者が不快な感じを受けたりする可能性がある。
【００８８】
そこで、本実施の形態では、先行車２が当該地点を通過した際の横加速度を取得し、追従車１が当該地点を通過する際に、先行車２の当該地点での横加速度と同じ横加速度（あるいは、当該横加速度以下）となるように追従車１の車速を設定する。
このように、先行車通過時の横加速度と同じ横加速度で追従車１が旋回することにより、より追従性のよい旋回を行うことができる。
【００８９】
図１３は、第２の実施の形態における追従車１が記録した先行車軌跡情報の論理的な構成の一例を示した図である。ただし、何れのデータもΔＴは０．５となっている。
第２の実施の形態の先行車軌跡情報は、第１の実施の形態の地点データに、先行車２の走行データから取得した項目「ヨーレート」を加えたものとなっている。
このように、本実施の形態の地点データは、先行車２が通過した地点での先行車２の車速、ヨーレート、及び座標値に地点インデックスを付与して構成されている。
【００９０】
一般に、横加速度は、車速にヨーレートを乗じた値であり、先行車２の横加速度は、Ｖｌ（ｎ）×ωｌ（ｎ）で計算される。
追従車１は、これを用いて以下のように追従制御を行う。
まず、旋回指令は、第１の実施の形態と同様であり、追従車１は、制御直近点の方位角が０となるように旋回指令を出力する。
【００９１】
車速指令に関しては、追従車１は、制御直近点の方位角θｒｌが閾値α未満の場合には、目標点距離Ｄｄを０にするように車速指令を出力する。これは、第１の車速制御と同じである。
一方、方位角θｒｌが閾値α以上の場合には、追従車１は、制御直近点での先行車２の車速とヨーレートを先行車軌跡情報から読み出して制御直近点での先行車２の横加速度を計算し（この際、追従車１のヨーレートは旋回指令ωｆを用いる）、これを自車の旋回指令値で除することにより、先行車２と同じ横加速度となる自車の車速を計算・出力する（第３の車速制御）。
【００９２】
例えば、制御直近点が地点Ｐａｌ（ｎ）であったとすると、方位角θｒｌが閾値α以上となる場合、追従車１は、地点Ｐａｌ（ｎ）での車速Ｖ（ｎ）とヨーレートωｌ（ｎ）を先行車軌跡情報から読み出して、次の式（１１）で表されるＰａｌ（ｎ）での先行車２の横加速度Ａｌを計算し、更に、これをωｆで除した次の式（１２）のＶｔを自車の車速指令値とする。または、当該Ｖｔを上限として、これ以下の値を設定してもよい。
【００９３】
横加速度Ａｌ（ｎ）＝Ｐａｌ（ｎ）×車速Ｖ（ｎ）・・・（１１）
Ｖｔ＝Ａｌ（ｎ）／ωｆの絶対値・・・（１２）
【００９４】
以上のように、追従車１の旋回量が大きい場合に、制御直近点での先行車２の横加速度を追従車１の横加速度と等しく、あるいは上限とすることにより、先行車２と同様の横加速度で旋回を行い、旋回時に車速が過度に上がることを防止することができる。
【００９５】
図１４は、追従制御指令値算出処理の手順を説明するためのフローチャートであり、第１の実施の形態の図１１に対応するものである。
なお、図１０に対応する処理は、第１の実施の形態と同じであり、説明は省略する。
図１４のフローチャートにおいて、ステップ１５５〜１７５は、図１１と同じであり、追従車１は、追従距離Ｄｂｃを減算して（ステップ１５５）、目標速度Ｖｔｓを算出する（ステップ１６０）。
次いで、追従車１は、方位角θｒｌが閾値α以上であり、かつ、Ｖｔｓが０より大きいか否かを判断する（ステップ１６５）。
何れか一方、あるいは両方の条件が満たされていない場合（ステップ１６５；Ｎ）、追従車１は、車速指令値Ｖｔとして目標速度Ｖｔｓを設定する（ステップ１７５）。
【００９６】
一方、両方の条件が満たされている場合（ステップ１６５；Ｙ）、追従車１は、制御直近点通過時の先行車２の横加速度Ａｌ（ｎ）を式（１１）によって算出し（ステップ２０５）、式（１２）によるＡｌ（ｎ）／ωｆの絶対値を車速指令値Ｖｔに設定する（ステップ２１０）。
以上のようにして、本実施の形態では、追従車１の旋回量が大きい場合に、当該地点を通過した際の先行車２の横加速度によって追従車１の横加速度を規制することができる。
【００９７】
（変形例１）
第２の実施の形態では、直近制御点の方位角θｒｌによって第１の車速制御と第３の車速制御を切り替えたが、方位角θｒｌにかかわらず、当該切り替えを行わずに第３の車速
制御を実行するように追従車１を構成することも可能である。即ち、追従車１は、追従走行の開始から終了まで、上記の旋回指令と第３の車速制御による車速制御によって追従走行する。
この場合、追従車１は、旋回指令に関しては、制御直近点の方位角θｒｌが０となるように指令を出力し、車速指令に関しては、当該旋回指令に対し、制御直近点での横加速度が当該制御直近点を通過した際の先行車２の横加速度と同じになるように指令を出力する。
【００９８】
（変形例２）
第２の実施の形態では、制御直近点の方位角θｒｌによって第１の車速制御と第３の車速制御を切り替えたが、この他に、追従車１が旋回指令のヨーレートωｆを監視し、ωｆの絶対値が所定の閾値β未満の場合には、第１の車速制御を行い、ωｆの絶対値が閾値β以上の場合には、第３の車速制御を行うように構成することも可能である。
例えば、制御直近点が地点Ｐａｌ（ｎ）であったとすると、旋回指令のヨーレートωｆの絶対値が閾値β以上となる場合、追従車１は、地点Ｐａｌ（ｎ）での車速Ｖ（ｎ）とヨーレートωｌ（ｎ）を先行車軌跡情報から読み出して、Ｐａｌ（ｎ）での先行車２の横加速度Ａａｌ（ｎ）＝Ｐａｌ（ｎ）×車速Ｖ（ｎ）を計算し、更に、これをωｆで除したＶｔ＝Ａａｌ（ｎ）／ωｆを自車の車速指令値とする。または、当該Ｖｔを上限として、これ以下の値を設定してもよい。
【００９９】
以上に説明した第２の実施の形態により、次のような効果を得ることができる。
（１）追従車１は、先行車２の走行軌跡上の地点に沿って走向する場合に、当該地点における先行車２の横加速度と同じ、又は、それ以下の横加速度となるように車速を設定することができる。
（２）制御直近点の方位角θｒｌが閾値α以上の場合には、第３の車速制御により、追従車１の横加速度が当該地点での先行車２の横加速度以下となるように車速を制御し、α未満の場合には、第１の車速制御により、先行車２からの追従距離が一定となるように制御することにより、追従車１は、先行車２に安全かつスムーズに追従することができる。
【０１００】
以上に説明した第１の実施の形態、及び第２の実施の形態において、追従車１を制御する車両制御装置は、車車間通信によって先行車２から、地点を特定する情報（車速、ヨーレート、タイムスタンプ）と車速対応する車速情報（この場合、車速や横加速度）を含む走行データを受信するため、先行車の走行した地点を特定する地点情報と当該地点における先行車の車速に対応する車速対応情報を含む走行データを取得する走行データ取得手段を備えている。
また、当該車両制御装置は、目標点Ｐｂｃを設定し、当該目標点Ｐｂｃに到達するように追従車１を制御するため、先行車に追従走行するための目標点を設定する目標点設定手段と、設定した目標点に到達するように追従車の走行を制御する走行制御手段を備えている。
また、当該車両制御装置は、走行データを用いて先行車２の走行軌跡上の地点を取得し、当該地点から制御直近点を選択し、追従車１と制御直近点の位置関係からの方位角θｒｌを旋回量とするため、取得した走行データを用いて旋回量を取得する旋回量取得手段を備えている。
そして、当該車両制御装置は、方位角θｒｌが閾値α以上である場合には、追従車１の現在位置を基準として対応する地点、ここでは、制御直近点における先行車２の車速を用いて追従車１の車速を設定するため、走行制御手段は、取得した旋回量が所定量以上である場合には、追従車の現在位置を基準として対応する地点における先行車の車速対応情報を用いて当該追従車の車速を設定している。
【０１０１】
第１の実施の形態では、旋回量、即ち、方位角θｒｌが閾値α以上の場合、当該車両制
御装置は、制御直近点での先行車２の車速以下となるように追従車１の車速を制御するため、車速対応情報は、先行車の車速であり、走行制御手段は、取得した旋回量が所定量以上である場合には、追従車の現在位置を基準として対応する地点における先行車の車速以下となるように追従車の車速を設定している。
【０１０２】
第２の実施の形態では、方位角θｒｌが閾値α以上に場合、当該車両制御装置は、追従車１の横加速度が制御直近点での先行車２の横加速度以下となるように追従車１の車速を制御するため、車速対応情報は、先行車の横加速度を特定する情報（車速、ヨーレートなど）であり、走行制御手段は、取得した旋回量が所定量以上である場合には、追従車の横加速度が、当該追従車の現在位置を基準として対応する地点における先行車の横加速度以下となるように追従車の車速を設定している。
【０１０３】
また、第１の車速制御では、当該車両制御装置は、目標点距離Ｄｄが０となるように車速指令を設定するため、当該車両制御装置は、設定した目標点に到達するための車速指令値を取得する車速指令値取得手段を備えている。
また、当該車両制御装置は、方位角θｒｌが閾値α未満の場合には、第１の車速制御を行うため、取得した旋回量が所定量未満の場合、走行制御手段は、追従車の車速を取得した車速指令値に設定している。
【０１０４】
そして、当該車両制御装置は、方位角θｒｌが閾値α以上であり、かつ、目標点距離Ｄｄとの距離で定まる車速指令が０より大きい場合に、第２の車速制御、又は第３の車速制御を行うため、走行制御手段は、取得した旋回量が所定量以上であり、かつ、取得した車速指令値の値が０より大きい場合に、追従車の現在位置を基準として対応する地点における先行車の車速対応情報を用いて当該追従車の車速を設定している。
【０１０５】
更に、追従車１を制御する車両制御装置は、上に述べたように、走行データ取得手段と、目標点設定手段と、走行制御手段と、旋回量取得手段と、を備えており、当該車両制御装置は、旋回量、即ち、方位角θｒｌが閾値α以上である場合には、最小制御縦距離Ｄｍｉｎから先にあり、先行車２が通過した順序が最も古い地点データを制御直近点として選択し、その地点データでの先行車２の車速を追従車１の車速に設定するため、走行制御手段は、取得した旋回量が所定量以上である場合には、追従車の進行方向前方の所定距離（から先）で、先行車が通過した順序が最も古い地点を選択し、当該選択した地点における先行車の車速対応情報を用いて追従車の車速を設定している。
【０１０６】
また、当該車両制御装置は、車速センサ１２によって追従車１の車速を計測し、式（５）によって最小制御縦距離Ｄｍｉｎを設定するため、当該車両制御装置は、追従車の車速を取得する車速取得手段を備え、走行制御手段は、取得した車速が大きいほど追従車の進行方向前方の所定距離を大きく設定している。
【０１０７】
また、当該車両制御装置は、地点データにおける先行車２の車速が０の場合、当該地点データをスキップして所定の閾値以上の車速となる最も古い地点データを選択するため、選択した地点における先行車の車速情報による車速が０の場合、走行制御手段は、当該地点よりも順序が新しい地点のうち、車速情報による車速が所定の閾値以上の最も古い地点を選択している。
【０１０８】
また、当該車両制御装置は、先行車２からの目標点距離Ｄｄに基づく車速指令値を設定し、当該車速指令値が０よりも大きい場合に、地点データでの先行車２の車速に基づく追従車１の車速指令を設定するため、設定した目標点に到達するための車速指令値を取得する車速指令値取得手段を備え、走行制御手段は、設定した車速指令値が０よりも大きく、かつ、取得した旋回量が所定量以上である場合に、追従車の進行方向前方の所定距離（か
ら先）で、先行車が通過した順序が最も古い地点を選択し、当該選択した地点における先行車の車速対応情報を用いて追従車の車速を設定している。
【０１０９】
また、第２の実施の形態において、追従車１を制御する車両制御装置は、車車間通信によって先行車２から、地点を特定する情報（車速、ヨーレート、タイムスタンプ）と横加速度を特定する横加速度情報（車速とヨーレート）を含む走行データを受信するため、先行車の走行した地点と当該地点における先行車の横加速度を特定する横加速度情報を含む走行データを取得する走行データ取得手段を備えている。なお、タイムスタンプは、車速、ヨーレートを受信した際に追従車１が付与してもよい。
また、当該車両制御装置は、目標点Ｐｂｃを設定し、当該目標点Ｐｂｃに到達するように追従車１を制御するため、先行車に追従走行するための目標点を設定する目標点設定手段と、設定した目標点に到達するように追従車の走行を制御する走行制御手段を備えている。
そして、当該車両制御装置は、方位角θｒｌが閾値α以上である場合には、追従車１の横加速度が、追従車１の現在位置を基準として対応する地点、ここでは、制御直近点における先行車２の横加速度以下となるように設定するため、走行制御手段は、追従車の横加速度が、当該追従車の現在位置を基準に対応する地点における先行車の横加速度以下となるように追従車の車速を設定している。
【０１１０】
また、当該車両制御装置は、追従車１と制御直近点の位置関係からの方位角θｒｌを旋回量とするため、取得した走行データを用いて旋回量を取得する旋回量取得手段を備えている。
そして、当該制御手段は、方位角θｒｌが閾値α以上となる地点において、第３の車速制御を行い、閾値α未満の地点では第１の車速制御を行うため、走行制御手段は、取得した旋回量が所定量以上となる地点においては、当該追従車の現在位置を基準に対応する地点の横加速度情報を用いて車速の設定を行い、取得した旋回量が所定量未満となる地点においては、目標点に基づいて車速の設定を行っている。
【０１１１】
また、第２の実施の形態の変形例２では、当該車両制御装置は、走行データを用いてヨーレートを取得するため、取得した走行データを用いてヨーレートを取得するヨーレート取得手段を備えている。
そして、当該車両制御装置は、追従車１のヨーレートが閾値β以上の場合には第３の車速制御を行い、閾値β未満の場合には第１の車速制御を行うため、走行制御手段は、取得したヨーレートが所定量以上となる地点においては、当該追従車の現在位置を基準に対応する地点の横加速度情報を用いて車速の設定を行い、取得したヨーレートが所定量未満となる地点においては、目標点に基づいて車速の設定を行っている。
【符号の説明】
【０１１２】
１  追従車
２  先行車
１１  車両駆動部
１２  車速センサ
１３  姿勢センサ
１４  車間通信部
１５  レーザレーダ
１７  ＥＣＵ
１８  先行車走行軌跡認識部
１９  先行車軌跡情報記憶部
２０  車両制御指令算出部
２１  追従車走行軌跡認識部
４１  車間通信部
４２  ＥＣＵ
４３  車速センサ
４４  姿勢センサ
【図１】
2010238163.tif 000003
【図２】
2010238163.tif 000004
【図３】
2010238163.tif 000005
【図４】
2010238163.tif 000006
【図５】
2010238163.tif 000007
【図６】
2010238163.tif 000008
【図７】
2010238163.tif 000009
【図８】
2010238163.tif 000010
【図９】
2010238163.tif 000011
【図１０】
2010238163.tif 000012
【図１１】
2010238163.tif 000013
【図１２】
2010238163.tif 000014
【図１３】
2010238163.tif 000015
【図１４】
2010238163.tif 000016
【図１５】
2010238163.tif 000017