(58)【調査した分野】(Int.Cl.,DB名)
前記乗り物の移動における前方向にある前記乗り物の左側及び右側の車線マーカー種別を1又は複数のセンサを用いて取得することが少なくとも部分的に、前記乗り物に取り付けられたカメラを用いて実行される、
請求項1に記載の方法。
プロセッサを用いて、前記道路において前記乗り物が現在走行している前記車線識別子と、前記車線識別子に対応する前記特定の車線に前記乗り物が存在する確率と、を出力すること、
を更に含む請求項1に記載の方法。
前記車線識別子信頼性が、前記道路のそれぞれの車線識別子と、前記乗り物が前記道路の複数の前記車線のそれぞれに存在する確率値と、で形成されたベクトルである、請求項1に記載の方法。
車線が前記道路に追加された又は前記道路から取り除かれたかどうかによって、且つ、前記道路のどちら側に前記車線が追加された又は取り除かれたかによって、前記車線識別子信頼性を再計算することを更に含む、
請求項10に記載の方法。
【発明を実施するための形態】
【0015】
次に、図面(具体的には
図1〜10)を参照して、複数の車線を有する道路における乗り物の現在の走行車線を識別する方法及び装置について説明する。
【0016】
図2は、道路における乗り物の車線識別子を決定する方法及び装置を実現するためのコンピューティングデバイス100のブロック図である。コンピューティングデバイス100は、乗り物搭載型、ハンドヘルド型、デスクトップ型、その他の形態の単一コンピューティングデバイスであってよく、或いは複数のコンピューティングデバイスで構成されていてもよい。コンピューティングデバイス内の処理装置又はプロセッサ102は、従来の中央処理装置(CPU)であってよく、或いは、情報を操作又は処理できる他の種類の単一又は複数のデバイスであってもよい。コンピューティングデバイス内のメモリ104は、ランダムアクセスメモリデバイス(RAM)又は他の適切な種類の記憶デバイスであってよい。メモリ104は、バス108を用いてCPU102からアクセスされるデータ106を有することができる。
【0017】
メモリ104は、オペレーティングシステム110及びインストールされた複数のアプリケーション112を有することもできる。インストールされたアプリケーション112は、プロセッサ102が自動運転方法を実行し後述の装置を操作することを可能にするプログラムを有することができる。また、コンピューティングデバイス100は、例えばメモリカード、フラッシュドライブ、その他の形態のコンピュータ可読媒体等の、二次的、追加的、又は外部の記憶装置114を備えることもできる。インストールされたアプリケーション112の全部又は一部を外部の記憶装置114に保存して、処理で必要とされる場合にメモリ104に読み込むこともできる。
【0018】
コンピューティングデバイス100を、1つ以上のセンサ116、110、120、122と連結することもできる。センサ116、118、120、122は、慣性計測装置(IMU)、推測航法システム、全地球航法衛星システム(GPS)、LIDAR(光検知測距)システム、レーダーシステム、ソーナーシステム、画像ベースのセンサシステム、その他、乗り物が走行するルートの特徴物又は他の局所的位置データ及び/若しくは信号を捕捉でき、対応するデータ及び/若しくは信号をプロセッサ102に出力できる任意の種類のシステムにより、処理用のデータ及び/又は信号を捕捉することができる。
【0019】
また、センサ118、120は、乗り物のX軸、Y軸、及びZ軸位置、速度、加速、回転角、並びに回転角速度のそれぞれの変化を表すデータ、並びに乗り物のナビゲーションルートに近接する物体に関する類似データを捕捉することもできる。センサ118、120が推測航法システム用のデータを捕捉する場合は、ホイール回転速度、走行距離、ステアリング角、及びステアリング角変化率を捕捉できる。センサがGPS 120用の信号を捕捉する場合は、GPS受信機が乗り物の位置と速度の推定値をグローバル座標で算出することができる。複数の衛星を使用して、三次元三角測量及び時間評価により乗り物の位置と速度を推定することができる。
【0020】
図1は、
図2に示すコンピューティングデバイス100を搭載した乗り物200の概略図である。コンピューティングデバイス100は、
図1に示すように乗り物200の内部に配置されてよく、或いは、乗り物200から離れた別の場所(図示せず)に配置されてもよい。コンピューティングデバイス100を乗り物から離れた場所に配置する場合、コンピューティングデバイス100と通信する能力を乗り物200に含めてよい。
【0021】
乗り物200は、
図2を参照して説明されているセンサ116等の複数のセンサも備えてよい。速度、加速、ホイール回転速度、周辺環境内物体までの距離、のそれぞれの変化を捕捉してコンピューティングデバイス100が使用できるように、センサ120及び122の1つ以上を構成してよく、これにより、複数の衛星からの信号の他、乗り物の現在の状態や乗り物の周囲環境に対する乗り物200の位置を特定するのに使用可能なデータ及び/又は信号に基づいて、乗り物の位置と向き、推測航法システム用のステアリング角、画像センサ処理用の画像、グローバル座標の乗り物の位置を推定することができる。
【0022】
例えば、モノクロカメラ又はLIDARシステムが使用するデータを捕捉するようにセンサ118を構成した場合、センサ118は、信号がセンサ118に戻るまでの時間を計測することにより算出されたレーザー測定距離と共に、乗り物200の周辺領域内の物理的物体から復帰するレーザーに関連するデータを捕捉できる。復帰するレーザー又は光には、センサ118から、又は乗り物200に接触若しくは近接する他の源から発せられる光源(例えばレーザー光)が衝突した物体から反射する後方散乱光(backscattered light)が含まれ得る。光が物体から反射した後、センサ118は、物体表面の各ポイントの強度値及び反射率を捕捉して、これらのデータを用いて物体を解析し分類でき、例えば、プロセッサ102により、又はコンピューティングデバイス100内に保存されているかコンピューティングデバイス100にアクセス可能なアプリケーション112のいずれかにより、物体を解析し分類することができる。
【0023】
図1の乗り物200は道路202に沿って前方向に移動しており、道路202は複数の並列車線を含み、例として3車線204、206、208が図示されている。道路202の車線は2車線や4車線以上であってもよいことが理解される。
【0024】
センサ又はカメラ118は、それぞれ矢印210、212、214で示される前方、左側、及び右側を向いた視界を有する。この配置により、カメラ118は、道路202の車線マーカー等の表面特徴物を検出することができる。道路202は、典型的な車線マーカーを有する幹線道路又は高速道路であってよく、典型的な車線マーカーとは、例えば、左端車線204の(乗り物の走行方向に対して)左端にある実線の車線マーカー216、左端車線204の右端を画定する破線の車線マーカー218、及び中央車線206の右端を画定する破線の車線マーカー220である。右端車線208は、実線の車線マーカー222により右端位置の境界が画定されている。センサ又はカメラ118は
図1に示す視野を有し、カメラ118は、乗り物の左右真横にある車線マーカー種別の画像を取得でき、例えば
図1の乗り物200が中央車線206の位置にある場合に車線マーカー218、220の画像を取得できる。或いは、カメラ118がより広い視野を有する場合は、隣接車線の遠端にある車線マーカー種別(例えば車線マーカー2
18、220)も取得できる。
【0025】
カメラ118は、カメラ118の視野の範囲内で検出した車線マーカーをプロセッサ102に送信できるカメラであれば、モノクロカメラ、カラーカメラのどちらでもよく、プロセッサ102は、カメラ画像から車線マーカーの種別(例えば実線、破線)を判定する。
【0026】
カラーカメラ118を採用すれば、車線マーカーの典型的な色である黄色や白色もカメラ118からの画像で検出してプロセッサ102に送信できるので、車線マーカーの種別として実線か破線かを識別するのに役立つ。
【0027】
地図データ116は、コンピューティングデバイス100のメモリ104若しくは外部の記憶装置114に保存されているか、又は、遠隔位置から(例えばデジタル地図データ源から無線伝送により)プロセッサ102に提供可能なデジタル地図情報であってよい。地図データ116には、道路におけるスタブ(stub)や分離部の存在とその位置の他、道路上のスタブに先行する所定位置から各スタブまでの距離が含まれていてよい。
【0028】
また、地図データ116には、特定の道路区間における以前の乗り物の走行に基づく乗り物の運転履歴が含まれていてもよい。このようなデータはメモリ104又は外部の記憶装置114に記憶でき、リモートのデータメモリにアップロードすることもできる。
【0029】
乗り物の速度及び走行距離センサ122は、幾つかの異なる形態を取ることができる。センサ122は、乗り物のプロセッサ装置のいずれか1つ又は速度計からの速度入力を使用して乗り物の速度を判定できる。
【0030】
プロセッサ102は、現在の乗り物の速度で所定期間に渡って走行した距離を計算して、乗り物の速度及び走行距離の出力をプロセッサ102用に生成することができる。
【0031】
或いは、センサ122の乗り物の速度と走行距離の出力は、乗り物200に搭載された複数の個別センサ(乗り物の速度計、乗り物の走行距離計等)から得てもよく、又は、乗り物に搭載された中央処理装置が速度計又は走行距離計から乗り物の速度及び走行距離の出力を受信し、この中央処理装置が生成した電子データ信号であってもよい。
【0032】
図3〜10のフローチャートは、プロセッサ102が実行する道路車線識別の方法及び装置の動作順序又は方法ステップを表す。
【0033】
下記の説明では、便宜上、道路202の車線204、206、208を車線ID(又は車線識別子) 0、車線ID 1、車線ID 2又は車線ID n−1(nは道路の車線総数)とも称する。道路202の車線総数は、GPS受信機センサ120により決定される乗り物20
0の瞬間位置を用いて地図データ116から取得する。
【0034】
本発明の方法及び装置は、乗り物200による車線横断(検出された場合)も利用する。車線横断とは、乗り物202が車線マーカー218、220のいずれか一方を完全に横断し、且つ最も外側の車線マーカー216、220は横断していない状態をいう。カメラ118から送信され後述の方法ステップ実行のため保存されるデータから、プロセッサ102が車線マーカー横断事象(lane marker crossing events)を検出する。
【0035】
本発明の方法及び装置は、所定の走行距離も利用する。所定の走行距離とは、下記の工程ステップにおいて例えば1,000メートルと表される。任意の距離を所定の走行距離として使用できる。
【0036】
本発明の方法及び装置により車線IDの信頼性(confidence belief)が生成されて、乗り物200が車線204、206、208のうちの特定の1つに存在する確率が出力される。この信頼性は、検出された車線横断、道路202の車線数、所定の走行距離までの車線マーカー種別の履歴、及び道路202における乗り物200の瞬間位置の車線マーカー種別に基づいて決定される。乗り物が道路202の所定の走行距離を走行する間、信頼性は常に更新される。車線横断が検出されると、プロセッサ102は所定の走行距離を最小値にリセットするか、又は例えば100メートルからスタートする。同様に、乗り物200が所定距離の最大値1,000メートル(この例の場合)に達すると、所定の走行距離値を100メートルにリセットする。
【0037】
本発明の方法及び装置は、道路202の道路ジャンクション又はスタブに関連するデータも利用する。スタブとは道路202の分離部又は合流部であり、各スタブの後に道路202は複数の下位経路を有し、各下位経路は車線を1本以上含み得る。
【0038】
乗り物200の前方走行方向にある次のスタブに差し掛かる前に、乗り物200が道路202のどの車線を現在走行中であるかの信頼性を構築する一環として、地図データ116からスタブデータが取得されプロセッサ102に供給される。
【0039】
次に
図3を参照すると、プロセッサ102は、本発明の車線識別方法の実行を開始するステップ300において、いくつかの入力、例えば検出された左右の車線マーカー(例えば
図1の車線マーカー218、220)から乗り物200の中心線までの距離を画定する左右の車線マーカーオフセット値を入力する。他の入力事項として、左右の車線マーカーの種別、車線数(N)、道路202の中で乗り物が取る確率が最も高い経路、現在の乗り物の速度、及び所定の走行距離の決定に使われる最新期間(dt)がある。
【0040】
ステップ302において、プロセッサ102は地図データ116からスタブ情報を受信する。単なる一例を挙げると、地図データ116は、道路202における乗り物200に対して、乗り物200の現在位置より前方の所定最小距離(例えば500メートル)にあるスタブの瞬間位置を特定する。
【0041】
ステップ304において、プロセッサ102は、一最新期間(最新期間とは、所定の走行距離の一部分を画定する期間)中の走行距離を計算する。ステップ306において、現在の乗り物の速度に期間(dt)を乗じて、最新期間中の総走行距離を生成する。
【0042】
次に、ステップ308において、プロセッサ102は、車線変更が検出されたかどうかを判断する。車線変更が検出されず、且つ所定の走行距離が(この例の場合)1,000メートル未満であり、ステップ310において次のスタブ検出が空であるか存在しない場合、本方法はステップ316に進み、車線マーカー種別により車線IDを判定する。
【0043】
これに対して、ステップ310において、所定の走行距離内の走行距離が1,000メートル以上であるか、又は乗り物200より前方の所定前方距離500メートル以内にスタブが検出される場合、プロセッサ102は、ステップ312において、所定の走行距離を100メートルにリセットして新規の走行期間を開始する。
【0044】
或いは、ステップ308で車線変更が検出された場合、ステップ313において、当該期間内の乗り物の総走行距離がクリアされる。次にステップ314において、プロセッサ102は、
図5に示すサブルーチンを実行し、ステップ320において、現在の車線IDが左端車線ID(すなわち「0」)に一致するかどうかを確認する。判定結果がYesの場合、ステップ322において、不明車線(車線X)に車線ID 0が付与され、この車線が道路202の上記左端車線204と特定される。現在の車線IDが左端車線204に一致しない場合、ステップ324において、プロセッサ102は車線IDが右端車線に一致するかどうかを確認する。判定結果がYesの場合、ステップ326において、本方法は不明車線を車線ID N−1として特定する。この例ではN=3(3車線)であるため、乗り物200の車線IDは2となり、道路202の右端車線208と特定される。
【0045】
これに対して、ステップ324において、車線IDが右端車線の車線IDに一致しないと判定された場合、ステップ328において、プロセッサ102は現在の車線IDが0以上又はN−1以下であるかどうかを確認する。判定結果がNoである場合、ステップ330において、プロセッサ102は当該車線IDが不明であるという出力を割り当てる。
【0046】
これに対して、ステップ328の判定結果がYesである場合、ステップ332において、プロセッサ102は、車線横断事象が道路202内の乗り物の左側を横切る車線横断であるかどうかを確認する。ステップ332の判定結果がNoである場合、ステップ334で車線IDが1増える。
【0047】
或いは、ステップ332の判定結果がYesである場合、ステップ336において、プロセッサ102は車線IDを1減らし、道路202の車線が204、206、208の3車線であるこの例では、道路202における乗り物200の現在の瞬間位置の車線IDとして1が生成される。次に、プロセッサは
図3のステップ316を順に実行するが、具体的には、
図6に示すサブルーチンを実行して車線マーカー種別により車線IDを判定する。
【0048】
図6に示すシーケンスは、車線マーカー種別により車線IDを判定するものであり、ステップ340において、プロセッサ102は、道路202における乗り物200の瞬間位置に対してN(車線数)が有効かどうか地図データ116を用いて判断して、乗り物200の瞬間位置の車線数を決定する。Nが有効でない場合、ステップ34
2において本方法は車線IDを不明として設定し、サブルーチンを終了する。
【0049】
ステップ34
0でNを有効と判断した場合、ステップ344において、プロセッサ102はN=1かどうかを判断する。判定結果がYesであれば、ステップ346で車線IDが単一車線と判断されて、この場合もサブルーチンの実行が終了する。
【0050】
ステップ344でNが1でないと判断された場合、本方法は、右車線マーカーと左車線マーカーが有効且つ真であるかどうかを判断する。ステップ347の判定結果がYesの場合、ステップ348において、プロセッサ102は、カメラ116で見た左車線マーカーが実線であり、右車線マーカーが破線であるかどうかを判断する。ステップ348の判定結果が真又はYesである場合、ステップ350において、車線IDは左端車線ID(この例では0)に設定される。ステップ348の判定結果が偽又はNoである場合、ステップ352において、プロセッサ102は、左車線マーカー種別が破線且つ右車線マーカー種別が実線であるかどうかを判断する。判定結果が真又はYesである場合、ステップ354において、車線IDは右端車線ID(車線ID=N−1又は2)(この例の道路202は3本の車線204、206、208を有する)に設定される。
【0051】
ステップ352の判定結果が偽又はNoである場合、ステップ356において、プロセッサ102は、左車線マーカー種別が実線且つ右車線マーカー種別が実線であるかを判断する。判定結果がYesである場合、車線IDは単一車線と特定されて、ステップ346でサブルーチンが終了する。
【0052】
これに対して、ステップ356の判定結果が偽又はNoである場合、ステップ358を実行して車線数が3であるかどうかを判断する。判定結果がYesである場合、ステップ360において、車線IDは左端車線から2番目に設定される。ステップ358でNが3でないと判断された場合、ステップ362において、プロセッサ102はN=2かどうかを判断する。Yesであれば、ステップ346において、車線IDは単一車線であると特定される。これに対して、ステップ362の判定結果が偽又はNoである場合、車線IDは「左端車線でなく且つ右端車線でない」車線に設定される。この状況は、道路202が4車線以上を有する場合に発生し得る。
【0053】
再び
図6のステップ347を参照すると、ステップ34
7の判定結果がNoである場合、すなわち左車線マーカーと右車線マーカーのいずれかが真且つ有効でない場合(すなわち分離又は破線)、ステップ370においてプロセッサ102は、左車線
マーカーが有効且つ真であ
る、又は、右車線マーカーが有効且つ真であるかどうかを判断する。偽の場合、ステップ372において、車線IDは不明とマーキングされる。ステップ370の判定結果がYes又は真である場合、ステップ374において、プロセッサ102は道路の車線数が2であるかどうかを判断する。判定結果がNoである場合、ステップ372で車線IDは不明と設定される。Yesの場合、ステップ376において、プロセッサ102は右車線マーカーが有効且つ真かどうかを判断する。Noの場合、ステップ378で左車線マーカー種別が実線かどうかを確認する。ステップ378の判定結果がNoである場合、ステップ380において、車線IDは右端車線ID(N−1)に設定される。これに対して、ステップ378の判定結果がYes又は真である場合、ステップ382において、車線IDは左端車線ID(すなわち0)に設定される。
【0054】
再びステップ376を参照すると、右端車線マーカーが有効且つ真であると判断された場合、ステップ384において、プロセッサ102は右車線マーカー種別が実線であるかを判断する。判定結果がYesである場合、ステップ380において、車線IDは右端車線ID(N−1)に設定される。Noである場合、ステップ382において、車線IDは左端車線ID(すなわち0)に設定される。
【0055】
再び
図3を参照すると、ステップ316のサブルーチンが完了した後、プロセッサ102はステップ400に進み、瞬間位置の車線IDの信頼性を設定する。車線IDの信頼性とは、車線204、206、208の各々の車線IDで形成されるベクトルであり、乗り物200が道路202の車線204、206、208のいずれかに存在するという信頼性により決定され、
図1に示す例では、信頼性ベクトルは0,1,0と表され、これに加えて、前回の所定の走行距離再開以降、車線横断が検出されずに乗り物200が走行した所定の走行距離内の走行距離量に基づく確率計算値を伴う。乗り物200が所定の走行距離に沿って同一車線を走行する時間が長いほど、本発明の方法及び装置が決定する車線ID確率が高くなる。したがって、
図1に示す乗り物200が道路202の瞬間位置にあるとき、乗り物200の信頼性ベクトルは、例えば確率(0.3,0.5,0.2)を有する0,1,0のように決定される。或いは、乗り物200が所定の走行距離内で実際に走行した距離によっては、確率は(0.1,0.9,0.0)であり得る。
【0056】
図7は、プロセッサ102がステップ400から実行するサブルーチンであり、ここでは車線の瞬間信頼性ベクトルを設定する。ステップ402で、前の車線信頼性ベクトルをクリアする。ステップ404で、乗り物200の道路202上の瞬間位置における道路202の車線数を示す地図データ116を用いて、車線数(N)が有効であるかを確認する。Nが有効でない場合、制御はサブルーチンの最終ステップ426(後述)に移る。
【0057】
Nが有効である場合、この例の道路202の車線は204、206、208の3本であるため、各車線番号i=0、1、2又はN−1についてチェックすることにより、制御ベクトルを設定する。ステップ410で、現在の車線IDがiに等しい場合、車線制御ベクトルは「1」とプッシュバックされる。車線IDが「1」と等しくない場合、ステップ412で、車線信頼性ベクトルは「0」がプッシュバックされる。全ての車線IDのチェックが完了するまでループ406を繰り返す。
【0058】
ステップ414で車線IDが不明と判定された場合、別の制御ループ416が実行され、3本の車線204、206、208の各車線番号に1/N、又は0.33、0.33、0.33の確率が設定される。ループ416の実行が完了すると、制御は出力ステップ426(後述)に移る。
【0059】
再びステップ414を参照すると、ステップ414でYesにより車線IDが不明でないと判定された場合、ステップ420において、車線IDが左端車線でなく且つ右端車線でないかどうか判断する。判定結果がNo又は偽である場合、制御は出力ステップ426(後述)に移る。
【0060】
ステップ420の出力がYesである場合、最大車線数より小さい車線番号の各々について、車線信頼性ベクトルがプッシュバックされ1.0/
(N−2
)に設定される。5車線道路の場合、LCVは0,0,1,0,0であり得る。
【0061】
次に、ステップ412、4
10又はステップ416、42
4で設定された車線制御ベクトルを、
瞬間車線ID信頼性ベクトルとして設定する。
【0062】
図4のステップ500で開始するメインルーチンに制御が戻る。車線数(N)が不明である場合、ステップ502において、前の車線ID車線信頼性がステップ502の出力に使われる。ステップ500で車線数(N)が既知の場合、ステップ504において、プロセッサ102は、車線数(N)が前の車線数(N)とイコールでない又は一致しないかを確認する。ステップ504でNが前のNとイコールでない又は一致しないと判定した場合、プロセッサ102は、ステップ506において、車線数(N)が変わったため車線信頼性ベクトルを更新するが、この場合、
図8A、8Bに示すサブルーチンに進む(このサブルーチンは、道路202の右側と左側の一方又は両方で車線総数が減少又は増加することにより道路の車線数が変化したときに作用し始める)。
【0063】
図8Aのステップ602を参照すると、プロセッサ102は、
図8Bのステップ630において道路202のどちら側が車線変化したか既知又は不明である車線変化に対するルーチンを実行する。
【0064】
ステップ604において、道路202のどの側に車線が追加されたかが不明でない場合、プロセッサ102は、各車線ID(すなわちi=0,1,2)について、ステップ614、616、618を含むサブルーチンループ612を実行する。例えば、ステップ614では、プロセッサ102は道路202の左側に車線が追加されたかどうかを確認する。判定結果がYesである場合、プロセッサ102は、ステップ615において、車線信頼性の前にゼロをプッシュすることにより車線信頼性の車線ID番号を変更する。例えば、乗り物が車線信頼性確率1,0,0で左端車線にあると車線信頼性が判定されていた場合、道路202の左側に新規車線が追加されたため、車線信頼性確率は0,1,0,0となる。
【0065】
新規車線の追加先が道路202の左側でない場合、プロセッサ102は、ステップ616において、道路202の右側に新規車線が追加されたかどうかを確認する。判定結果がYesであれば、プロセッサ102は、車線信頼性ベクトルの後にゼロを追加することにより、車線信頼性ベクトルをプッシュバックする。ステップ614と同じ例を使用すると、乗り物が1の確率で左車線(車線ID 0)を走行していると判定された場合、前の車線信頼性ベクトル1,0,0はステップ617の後1,0,0,0となる。
【0066】
ステップ616の判定結果がNoである場合、ステップ618において、プロセッサは道路の両側に新規車線が追加されたかどうかを確認する。ステップ618の判定結果がYesである場合、ステップ619において、プロセッサは車線信頼性ベクトルの前と後の両方にゼロをプッシュする。ステップ614と同じ例を使用すると、車線信頼性ベクトルが1,0,0であり、道路202の両側に新規車線が追加された場合、新規車線の信頼性ベクトルは0,1,0,0,0となる。
【0067】
全ての車線の確認が完了するまで、各車線ID番号についてループ612を繰り返す。
【0068】
逆に、ステップ604の判定結果として、道路202のどちら側に新規車線が追加されたかが不明である場合、プロセッサ102はステップ606に進む。ステップ606において、プロセッサ102は、車線信頼性ベクトル(LCV:lane confidence vector)に関して2つの可能性を設定し、既存のLCVをクリアする。車線総数Nより小さい車線数のインデックスKを用いて、サブルーチンループ608を実行する。可能性1とは、道路202の左側に新規車線が追加されている可能性である。可能性2とは、道路202の右側に新規車線が追加されている可能性である。可能性1では、プロセッサ102はベクトルのLCV可能性部分の前にゼロを追加することによりLCVをプッシュする。同様に可能性2では、可能性ベクトルの後にゼロを追加する。例えば、道路202の最初の車線数が3であり、乗り物が1,0,0のLCVで左端車線を走行している確率がある場合、可能性1は0,1,0,0のLCVを有し、可能性2は1,0,0,0のLCVを有する。次に、追加された各車線数についてサブルーチンループ610を実行する。追加された車線数は地図データ116から取得する。ステップ611において、プロセッサ102は可能性1、可能性2の2つのベクトルを平均する。上記の可能性1ベクトル、可能性2ベクトルの例の場合、可能性の平均は0.5,0.5,0,0になる。
【0069】
次に、制御がステップ602に戻り、
図8Bのステップ630に進んで、道路202の車線数が減少した場合(例えば3本から2本への減少)を処理する。道路202の左右のどちら側が減少したのか不明であるとステップ630で判断された場合、
図8Aに記載のルーチンと同様のルーチンを繰り返す。プロセッサ102は、
図8Aのルーチン606、608、610、611のステップと同じ方法でルーチン632、634、636、637を実行して、車線信頼性ベクトル確率信用度の平均を決定する。
【0070】
同様に、道路202のどちら側が減少したのかが不明でない場合、制御はサブルーチン638(
図8Aのサブルーチン612と同様のサブルーチン)に進む。サブルーチン638は、前に存在していた車線が道路のどちら側から削除されたかに応じて、車線信頼性ベクトル確率を前方又は後方にプッシュすることに基づいて、車線信頼性ベクトル確率を設定する働きをする。
【0071】
図8A、8Bのルーチンが完了すると、制御が
図4のステップ510に戻り、続いて
図9のステップ800に移動して、
瞬間車線ID信頼
性に基づいて車線ID信頼性を更新する。
図9に示す通り、ステップ800で車線ID信頼性が更新される。
【0072】
図9のルーチン800は、瞬間車線ID信頼性に基づいて車線ID信頼性を更新する。計算は継続的に行われており、例えば乗り物の走行中の個々のサンプル時間区間(例えば0.2秒)ごとに計算される。前回のサンプルから現在のサンプルの間に経過した時間中に走行した距離(ds)と共に、総所定距離区分(例えば上記1,000メートル)が継続的に計算される。車線I
D信頼性は次式により計算される。
車線ID信頼性=[車線ID信頼性×(距離−ds)+
瞬間車線ID信頼性ベクトル×(ds)]/距離
【0073】
下記の例では、瞬間車線ID信頼性の計算について説明する。
図1に示す道路202の3本の車線に対して、現在のサンプル期間より前の履歴車線信頼性が0.15,0.8,0.05である場合、新規サンプルでは、LCVとして計算される車線ID信頼性は、例えば0,1,0となる。毎秒30メートルの乗り物の速度を例とすると、前回のサンプルから現在のサンプルまでの経過時間(0.2秒)中に走行する距離(ds)は6メートルである。例えば、ステップ312で前回距離がリセットされてから現時点までの、現在の所定距離区分中に走行した総距離が550メートルである場合、新しい車線ID信頼性は[0.1484,0.802,0.05]と算出される。この値が示すことは、増分距離の間、乗り物200は中央車線を走行し続けたため、乗り物200が中央車線を走行中であるという車線ID信頼性の値が増加したということである。一方、左端車線と右端車線の車線ID信頼性確率は、減少したか実質的に同一である。
【0074】
このようにして、各所定距離区分(例えば1,000メートル)の間、乗り物200が車線202に沿って進行すると同時に、瞬間車線ID信頼性が履歴車線ID信頼性で更新される。
【0075】
図9のステップ800が完了すると、プロセッサ102は
図4のステップ512に戻り、信頼性により車線IDを判定する。今度は
図10のサブルーチンを実行する。
【0076】
最初にステップ700において、プロセッサ102は、瞬間地図データと比較することにより車線数が有効であるか判断し、且つLCVが空であるかを判断する。判定結果がNoである場合、ステップ702で車線IDが不明と設定され、その後の処理は終了する。
【0077】
同様に、ステップ700の判定結果がYes又は真である場合、プロセッサ102は、ステップ704で車線数が1かどうかを判断する。判定結果がYesである場合、ステップ705でプロセッサ102は車線IDを単一車線として設定し、その後の処理は終了する。
【0078】
これに対して、ステップ704の判定結果がNoである場合、プロセッサ102は、ステップ706で車線数が2に等しいかどうかを判断する。ステップ706で判定した車線数が2に等しい場合、プロセッサ102はステップ708を実行し、2車線道路の車線0、1の車線信頼性の
差の絶対値が0.1未満であるか比較する。判定結果がYesの場合、プロセッサ102は、ステップ710で車線IDを不明として設定し、その後の処理は終了する。
【0079】
これに対して、ステップ708の判定結果がNoすなわち
絶対値が0.1より大きい場合、プロセッサ102は、ステップ712において車線ID 0の信頼性が0.5より大きいかを確認する。Noの場合、ステップ714において、プロセッサ102は車線IDを右端車線に設定する。逆に、車線ID 0の車線信頼性が0.5より大きい場合、ステップ716において、プロセッサは車線IDを左端車線に設定する。
【0080】
再びステップ706を参照すると、ステップ706で車線数が2より大きいと判定された場合、プロセッサ102は、ステップ720で車線信頼性ベクトル値を降順に並べ替える(例えば
3車線道路の場合0.7,0.2,0.1のようにする)。
【0081】
ステップ722において、プロセッサ102は、並べ替え後のLC
V信頼性確率の差の絶対値が0.1未満かを判別する。絶対値が0.1未満の場合、ステップ728で、複数車線道路の中央車線について確認する。高い方のLCV確率値が左端車線IDでも右端車線IDでもないと判断された場合、ステップ730において、車線IDは左端でも右端でもない車線に設定される。これに対して、高い方の2つのLC
V確率値が左端車線又は右端車線である場合、プロセッサ102は、ステップ732で車線IDを不明として設定する。
【0082】
再びステップ722を参照すると、並べ替え後のLC
V信頼性確率の差の絶対値が0.1未満でない場合、すなわち確率値の少なくとも1つが0.1より大きい場合、ステップ724において、プロセッサ102は、並べ替え後のLC
V信頼性最高値が0.4より大きいかどうかを確認する。判定結果がYesである場合、車線IDは、並べ替え後のLC
V最高値の車線に設定される。Noの場合、ステップ732で車線IDは不明として設定される。
【0083】
次に制御がステップ514に戻り、ステップ726で設定された車線IDが左端車線ID又は右端車線IDに一致するかどうかを判断する。判定結果がYesの場合、プロセッサ102は、ステップ516において、
図10のサブルーチンから得た車線IDにより車線IDを判定し、ステップ518において、車線ID信頼性を出力する。ステップ514において車線IDが左端車線と右端車線に一致しない場合、プロセッサ102はステップ518に進み、車線ID及び車線信頼性を出力する。
本開示には以下が含まれる。
[構成1]
乗り物が走行している、複数の車線を含む道路における車線識別子を決定する方法であって、
前記乗り物に取り付けられ且つ複数のセンサに結合された少なくとも1つのプロセッサを含むコンピュータデバイスと、
前記少なくとも1つのプロセッサによって使用されるデータ及びプログラム命令を記憶するためのメモリと、を具備し、前記少なくとも1つのプロセッサは、前記メモリに記憶されたプログラム命令を実行して、
前記乗り物の移動における前方向にある前記乗り物の左側及び右側の車線マーカー種別を前記センサの1つから取得することと、
前記センサの1つを用いて前記道路における前記乗り物の瞬間位置を取得することと、
前記メモリに記憶された地図データを用いて、前記乗り物の前記瞬間位置における前記道路の前記車線の数を決定することと、
少なくとも1つの前記センサを用いて前記道路の複数の前記車線間の前記乗り物の車線横断を検出することと、
前記乗り物が前記道路の複数の前記車線のうち特定の車線に存在する確率を示す車線識別子信頼性を、検出された任意の車線横断と、前記道路の前記車線の数と、所定の走行距離に至るまでの車線マーカー種別の履歴と、前記道路における前記乗り物の前記瞬間位置での前記車線マーカー種別と、に基づいて生成することと、を行う、方法。
[構成2]
少なくとも1つの車線の車線マーカー種別と車線横断とを取得するために、1つの前記センサを前記乗り物に取り付けられたカメラとして設けることを更に含む、
構成1に記載の方法。
[構成3]
少なくとも一部が前記乗り物により運ばれる全地球測位衛星システムによって、前記乗り物の前記瞬間位置を決定する、
構成1に記載の方法。
[構成4]
前記乗り物の前記瞬間位置における前記道路の前記車線の数を決定する工程は、前記少なくとも1つのプロセッサによってアクセスされる前記メモリのデータを使用する、
構成1に記載の方法。
[構成5]
前記乗り物の前記車線横断の検出が、前記乗り物に取り付けられたカメラによって取得される、
構成1に記載の方法。
[構成6]
前記車線識別子信頼性が、任意の車線横断の検出に基づいて更新される、
構成1に記載の方法。
[構成7]
前記少なくとも1つのプロセッサが、前記道路において前記乗り物が現在走行している前記車線識別子と、前記乗り物が前記車線識別子に対応する特定の車線に存在する確率と、を出力する、
構成1に記載の方法。
[構成8]
前記車線信頼性が、前記道路のそれぞれの車線識別子と、前記乗り物が前記道路の複数の前記車線のそれぞれに存在する確率値と、で形成されたベクトルである、構成1に記載の方法。
[構成9]
前記車線識別子信頼性を、
LCV=[LCV(距離−ds)+瞬間LCV×ds]/距離
ここで、LCVは、履歴車線識別子信頼性であり、距離は、前回の所定距離区分がリセットされてから前記乗り物が走行した距離であり、dsは、現在のサンプルの間に前記乗り物が走行した距離であり、瞬間LCVは、前記現在のサンプル時間の間に前記道路における前記乗り物の前記瞬間位置で計算された瞬間車線識別子信頼性ベクトル確率である、として計算することを更に含む、
構成8に記載の方法。
[構成10]
前記車線識別子信頼性は、前回の所定距離区分がリセットされてから前記所定の距離時間区分の間のそれぞれの時間サンプルの間に変化する、
構成8に記載の方法。
[構成11]
前記道路における前記車線の数の各変化が生じる度に前記車線識別子信頼性を再計算することを更に含む、
構成1に記載の方法。
[構成12]
車線が前記道路に追加された又は前記道路から取り除かれたかどうかによって、且つ、前記道路のどちら側に前記車線が追加された又は取り除かれたかによって、前記車線識別子信頼性を再計算することを更に含む、
構成11に記載の方法。
[構成13]
それぞれの車線横断を検出したときに前記車線信頼性を再計算することを更に含む、
構成1に記載の方法。
[構成14]
それぞれの車線横断を検出する度に、前回の所定距離区分がリセットされてから前記乗り物が走行した距離をリセットすることを更に含む、
構成13に記載の方法。
[構成15]
複数の車線を含む道路のどの車線を乗り物が現在走行しているのかを決定するための、コンピュータにより実施される方法であって、
前記乗り物に取り付けられ且つ複数のセンサに結合された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって使用されるデータ及びプログラム命令を記憶するためのメモリと、を具備し、前記少なくとも1つのプロセッサは、前記メモリに記憶されたプログラム命令を実行して、
前記乗り物の移動における前方向にある前記乗り物の左側及び右側の車線マーカー種別を前記センサの1つから取得することと、
前記センサの1つを用いて前記道路における前記乗り物の瞬間位置を取得することと、
前記メモリに記憶された地図データを用いて、前記乗り物の前記瞬間位置における前記道路の前記車線の数を決定することと、
少なくとも1つの前記センサを用いて前記道路の複数の前記車線間の前記乗り物の車線横断を検出することと、
前記乗り物が前記道路の複数の前記車線のうち特定の車線に存在する確率を示す車線識別子信頼性を、特定の車線における所定の移動距離と、検出された任意の車線横断と、前記道路の前記車線の数と、所定の走行距離に至るまでの車線マーカー種別の履歴と、前記道路における前記乗り物の前記瞬間位置での前記車線マーカー種別と、に基づいて生成することと、を行う方法。
[構成16]
前記少なくとも1つのプロセッサによってアクセスされるカメラ、GPSシステム、地図データを用いて、道路における前記乗り物の前記瞬間位置と、前記乗り物の右側及び左側の前記車線マーカー種別と、前記乗り物の前記瞬間位置における前記道路の前記車線の数と、をそれぞれ決定すること、を更に含む、
構成15に記載の方法。
[構成17]
前記車線識別子信頼性を用いて乗り物が現在走行している道路の車線を識別することを更に含む、
構成15に記載の方法。
[構成18]
複数の車線を含む道路を走行している乗り物の車線識別子を決定するための、乗り物と関連したコンピューティング装置であって、
前記乗り物に取り付けられ且つ複数のセンサに結合された少なくとも1つのプロセッサを含むコンピューティングデバイスと、
前記少なくとも1つのプロセッサによって使用されるデータ及びプログラム命令を記憶するためのメモリと、を具備し、前記少なくとも1つのプロセッサは、前記メモリに記憶されたプログラム命令を実行し、且つ、前記乗り物に取り付けられた1又は複数のセンサによって、前記道路における前記乗り物のそれぞれの瞬間位置において前記乗り物の左側及び右側の車線マーカー種別を検出すると共に、前記道路における前記乗り物の車線横断を検出し、前記コンピューティングデバイスは、
前記乗り物の移動における前方向にある、前記乗り物の左側及び右側の車線マーカー種別を少なくとも1つの前記センサから取得し、
前記センサの1つ及び地図データを用いて前記道路における前記乗り物の瞬間位置を取得し、
前記メモリに記憶された又は前記メモリにアクセス可能な地図データを用いて、前記乗り物の前記瞬間位置における前記道路の前記車線の数を決定し、
前記センサの1つを用いて前記道路の複数の前記車線間の前記乗り物の車線横断を検出し、
前記乗り物が前記道路の複数の前記車線のうち特定の車線にある確率を示す車線識別子信頼性を、検出された任意の車線横断と、前記道路の前記車線の数と、前記道路に沿った前記乗り物の所定の走行距離に至るまでの車線マーカー種別の履歴と、前記道路における前記乗り物の前記瞬間位置での前記車線マーカー種別と、に基づいて生成するために、前記プログラム命令を実行する、コンピューティング装置。
[構成19]
前記センサは、少なくとも1つのGPS受信機、カメラ及び乗り物の速度入力を含む、
構成18に記載のコンピューティング装置。