[1 第1実施形態]
以下に本発明の第1実施形態について図面とともに説明する。
[1−1 構成]
図1は、本発明が適用された実施形態のナビゲーション装置1の構成を示すブロック図である。
ナビゲーション装置1は、車両に搭載され、図1に示すように、車両の現在位置を検出する位置検出器21と、車両の走行速度を検出する車速センサ22と、外部と通信を行う外部通信機23と、地図データや各種の情報を記憶可能なデータ記憶装置24と、ユーザからの各種指示を入力するための操作スイッチ群25と、地図表示画面やTV画面等の各種表示を行うための表示装置26と、各種の案内音声等を出力するための音声出力部27と、運転者が発話した音声に基づく電気信号を出力するマイクロフォン28と、上述の位置検出器21、車速センサ22、外部通信機23、データ記憶装置24、操作スイッチ群25、及びマイクロフォン28からの入力に応じて各種処理を実行し、外部通信機23、データ記憶装置24、表示装置26及び音声出力部27を制御する制御部20とを備えている。
これらのうち位置検出器21は、GPS(Global Positioning System)用の人工衛星からの送信電波をGPSアンテナを介して受信し、車両の位置、方位等を検出するGPS受信機21aと、車両に加えられる回転運動の大きさを検出するジャイロスコープ21bと、車両の前後方向の加速度等から距離を検出するための距離センサ21cと、地磁気から進行方位を検出するための地磁気センサ21dとを備えている。そして、これら各センサ等21a〜21dは、各々が性質の異なる誤差を有しているため、互いに補完しながら使用するように構成されている。なお、精度によっては、上述したうちの一部のセンサで構成してもよく、またステアリングの回転センサや各転動輪の車輪センサ等を用いてもよい。
また外部通信機23は、他車両との間でCSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)により数m〜数10mの比較的近距離で無線通信を行うものであり、他車両とフレームの送受信を行う。この外部通信機23は、アレーアンテナ23aを備えている。このアレーアンテナ23aは、複数のアンテナ素子を一列に配置したアンテナであり、フレームが到来した方向を推定する機能を持っている。フレームが到来した方向を推定する技術については、例えば、特開平11−231033号公報に記載されているスマートアンテナ技術や一般的なアレーアンテナ技術であるMUSIC(Multiple Signal Characterization)法やESPRIT法などの公知技術を用いることができる。
また、他車両との通信方式は、図2に示すように、複数の車両(図では、3台のみを示す)がそれぞれ、周囲の複数の他車両に対して、定期的に、ブロードキャスト通信でフレームを送受信する。そして各車両は、他車両から送信されたフレームを受信して、各外部通信機23を介して車載ネットワーク30で利用する。このフレームの種別としては、送信フレーム、要請フレーム及び応答フレームがある。なお、この通信方式では、前述のとおりCSMA/CAのアクセス制御が採用されているため、データを送信する際には他の通信と衝突しないよう適宜待ち時間が挿入される。
図3は、外部通信機23から他車両に対して定期的(例えば100ms毎)に送信される送信フレームを示している。図示するように送信フレームは「車両ID」、「位置」、「シリアル番号」、「フレーム種別」及び「ペイロード」の各項目を備えている。ペイロードには,車速やウィンカーの動作状態を備えていても良いし,そもそもペイロードは存在しなくても良い.
ここにいう「車両ID」は、ナビゲーション装置1が搭載された自車両(換言すれば送信フレームの送信元)を特定できるデータであり、図では例えば車両Cを「C」で表している。「位置」は、送信フレームが送信される時点での自車両の位置について、位置検出器21により検出されたデータを基に算出し取得した値であり、図では例えば「CF1」で表している。「シリアル番号」は送信フレームが送信された順序を示す連続番号であり、この「シリアル番号」から同一車両から送信された送信フレームの中でどの送信フレームであるかを特定することができる。図では例えば「C2」で表している。なお、ここでは、「車両ID」及び「シリアル番号」により、どの車両が送信した(「車両ID」)どの送信フレームであるか(「シリアル番号」)を特定できる構成としているが(本発明の「送信フレームID」に相当する)、これは「シリアル番号」のみで車両も含めて特定できるように構成してもよい。
「フレーム種別」は、当該フレームが、送信フレーム、要請フレーム又は応答フレームのいずれであるかを示すフラグであり、ここでは例えば「0」ならば送信フレーム、「1」ならば要請フレーム、「2」ならば応答フレームを表している。
ここに送信フレームは、例えば100ms毎にブロードキャスト通信により他車両に送信する場合のフレームである。要請フレームは、他車両から受信した送信フレームに含まれた他車両の位置(送信フレームの「位置」にあたるデータ)について信頼度が低いと判断した場合にブロードキャスト通信により他車両に対して、その送信フレームに含まれた他車両の位置の信頼度を送信するよう要請する場合のフレームである。応答フレームは、他車両から要請フレームを受信して、後述するフレームバッファ24aから信頼度が要請されたデータを読み出し、その読み出したデータを基に信頼度を判定した上でその判定結果を、さらにブロードキャスト通信により他車両に対して送信する場合のフレームである。要請フレーム及び応答フレームのデータ構成については後述する(図8、図10)。
「ペイロード」はヘッダ部分を除いた通信データの本体部分であり、本来送信されるデータの内容が含まれている。図では「データ」で表している。
図1に戻り、データ記憶装置24は、位置特定の精度向上のためのいわゆるマップマッチング用データ、地図データ、マークデータを含む各種データおよびナビゲーション装置1を動作させるために制御部20が実行するナビゲーションプログラムや、外部通信機23が通信により取得した情報を記憶するための装置である。これらのデータの記録媒体としては、そのデータ量からハードディスクなどの磁気記憶装置を用いている。なお、データ記憶装置24は、他車両から受信したフレームが予め設定された順序(例えば、フレームを受信した順)で記憶するための記憶領域としてフレームバッファ24aを備える。
図4は、フレームバッファ24aに記憶されているデータの構成を示す説明図である。図示するように、フレーム(例えば、送信フレーム)に含まれた、「車両ID」、「位置」、「シリアル番号」、「フレーム種別」に加えて、「受信位置」及び「到来方向」が記憶されている。
「車両ID」、「位置」、「シリアル番号」、「フレーム種別」は、他車両から外部通信機23により受信したフレーム(図3の例では送信フレーム)がそのまま記憶されるが、「受信位置」及び「到来方向」は、その送信フレームを受信した時点で各データを新たに取得して記憶する。
「受信位置」は、そのフレームを受信した時点における自車両の位置について、位置検出器21により検出されたデータを基に算出し取得した値である。図4では例えば、車両Eに搭載されたナビゲーション装置1についてフレームバッファ24aに記憶されたデータを表しており、車両B(「車両ID」が「B」)及び車両C(「車両ID」が「C」)から送信された送信フレームが記憶されている。車両Bから「シリアル番号」が「B1」の送信フレームを受信した時点での自車両(車両E)の位置は「Le1」であり、車両Cから「シリアル番号」が「C2」の送信フレームを受信した時点での自車両(車両E)の位置は「Le2」である。
また「到来方向」は、各フレームが到来した方向をアレーアンテナ23aで検出したデータを基に公知の技術を用いて推定し、ベクトル値として記憶されている。ここでは「シリアル番号」が「B1」の送信フレームの「到来方向」がベクトル値としての「D1」であり、「シリアル番号」が「C2」の送信フレームの「到来方向」がベクトル値としての「C1」である。
なおここでは送信フレームを例としたが、要請フレーム、応答フレームについても同様に受信した際にフレームバッファ24aに記憶される(後述するフレーム受信処理(図6)のS101)。
図1に戻り、データ記憶装置24は、過去に誤った位置を送信したことのある車両IDをブラックリストとして記憶している。
図5は、ブラックリストの構成を例示す説明図である。図に示すように、ブラックリストは「車両ID」及び「日時」の項目から構成されている。「車両ID」は、前述のとおり車両を特定できるデータであり、ここでは過去に誤った位置を送信したことのある車両が記憶されることになる。図では例えば、「C」(車両C)が登録されている。「日時」は、ブラックリストにその「車両ID」が登録された日時であり、図では例えば、「C」が登録された日時が「20081007165505」とされており、登録された日時が2008年10月7日16時55分05秒であることがわかる。この日時は,ミリ秒やマイクロ秒単位にしても良い.
図1に戻り、操作スイッチ群25は、表示装置26の表示画面上に設置されるタッチパネル及び表示装置26の周囲に設けられたメカニカルなキースイッチである。なおタッチパネルと表示装置26とは積層一体化されており、タッチパネルには、感圧方式、電磁誘導方式、静電容量方式、あるいはこれらを組み合わせた方式など各種の方式があるが、そのいずれを用いてもよい。
また表示装置26は、カラー表示装置であり、液晶ディスプレイ、プラズマディスプレイ、CRT、有機ELなどがあるが、そのいずれを用いてもよい。表示装置26の表示画面には、位置検出器21にて検出した車両の現在位置とデータ記憶装置24より入力された地図データとから特定した現在地を示すマーク、目的地までの誘導経路、名称、目印、各種施設のマーク等の付加データとを重ねて表示することができる。
またマイクロフォン28は、運転者が音声を入力(発話)するとその入力した音声に基づく電気信号(音声信号)を制御部20に出力するものである。このマイクロフォン28を介して入力される音声コマンドによって、ナビゲーション装置1の操作が可能なように構成されている。
また制御部20は、CPU、ROM、RAM、I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されており、データ記憶装置24に記憶されたプログラムに基づいて、位置検出器21からの各検出信号に基づき座標及び進行方向の組として車両の現在位置を算出し、データ記憶装置24から読み込んだ現在位置付近の地図等を表示装置26に表示する地図表示機能や、データ記憶装置24に格納された地点データに基づき、操作スイッチ群25の操作や、マイクロフォン28を介した音声入力に従って目的地となる施設を選択し、現在位置から目的地までの最適な経路を自動的に求める経路計算(例えば、ダイクストラ法)を行って経路案内を行う経路案内機能や、音声出力部27とマイクロフォン28を介して運転者との対話を行いながら運転者からの音声コマンドを入力することによってナビゲーション装置1を制御する対話機能(エージェント機能)を備える。
[1−2 処理]
このように構成されたナビゲーション装置1において制御部20は、ナビゲーション装置1に電源が入れられたり、所定の操作がなされたりすると、外部通信機23から周辺の他車両に対して定期的(例えば100ms毎)にブロードキャスト通信により送信フレームを送信する送信フレーム送信処理(図示しない)を実行する。
そして、制御部20は、他車両からフレームを受信することにより、フレーム受信処理を実行する。具体的には、フレームの種別により、送信フレーム受信処理、要請フレーム受信処理及び応答フレーム受信処理を実行することになる。
図6は、制御部20が他車両から送信されたフレーム(送信フレーム、要請フレーム又は応答フレーム)を受信した際に実行するフレーム受信処理のフローチャートである。
制御部20は、このフレーム受信処理を開始すると、まずS101で、フレームを受信した時点における自車両の位置及びそのフレームが到来した方向を取得して、フレームバッファ24aに記憶する(図4参照)。具体的には、自車両の位置は、位置検出器21により検出されたデータを基に算出し取得した値であり、フレームバッファ24aに「受信位置」として記憶する。またそのフレームが到来した方向(到来方向)は、アレーアンテナ23aで検出したデータを基に公知の技術を用いて推定したベクトル値であり、フレームバッファ24aに「到来方向」として記憶する。
続いてS102では、受信したフレームのフラグ「フレーム種別」を参照することにより、受信したフレームが、送信フレーム、要請フレーム及び応答フレームのいずれであるかを判別する。
ここで「フレーム種別」が「0」(つまり送信フレーム)であれば(S102:0)、S103へ進み、送信フレーム受信処理を実行する。「フレーム種別」が「1」(つまり要請フレーム)であれば(S102:1)、S104へ進み、要請フレーム受信処理を実行する。「フレーム種別」が「2」(つまり応答フレーム)であれば(S102:2)、S105へ進み、応答フレーム受信処理を実行する。
各処理を実行したら、このフレーム受信処理を終了する。
図7は、フレーム受信処理(図6)のS103として、制御部20が実行する送信フレーム受信処理を示すフローチャートである。
まずS201では、受信した送信フレームの「車両ID」が、データ記憶装置24に記憶されたブラックリストに含まれているか否かを判断する。ブラックリストに含まれていれば(S201:YES)、S202でそのフレームを破棄して、送信フレーム受信処理を終了する。ここでブラックリストは、図5に例示したように、「車両ID」及びその車両IDを登録した「日時」が記憶されている。このブラックリストに「車両ID」を登録する処理については後述するブラックリスト登録処理(図13)により行われる。ここで「破棄」とは、送信フレームに対してそのフレームを削除する処理以外には何の処理も実行しないことを意味する。
一方、ブラックリストに含まれていなければ(S201:NO)、S203に進む。
S203では、その送信フレームを受信した時点における自車両の位置(フレームバッファ24aに記憶される「受信位置」)及びその送信フレームに含まれた送信元である他車両の位置(送信フレームの「位置」)を結んだ直線と、その送信フレームが到来した方向(フレームバッファ24aに記憶される「到来方向」)とがなす角が予め定められた設定値(例えば、45度、すなわち(π/4)ラジアン)よりも大きいか否かを判断する。設定値よりも大きければ(S203:YES)、S204に進み、設定値よりも大きくなければ(S203:NO)、S207に進む。
このS203は、自車両の位置(「受信位置」)から送信フレームに含まれた他車両の位置(「位置」)に直線をひけば、本来であれば、その送信フレームが到来した方向(「到来方向」)と一致する(なす角はゼロ)になるはずのところ、仮に、他車両から送信された送信フレームの「位置」に誤りがあれば、これが一致せず角度が生じることになることを利用して、送信フレームに含まれた他車両の位置の誤り(信頼度)を検出しようとするものである。
そして、S203でなす角が設定値よりも大きかった場合(YES)、S204では、周辺の他車両に対してブロードキャスト通信により、その送信フレームに含まれた他車両(説明の便宜上「詐称疑惑車両」ともいう。)の位置の信頼度を判定してその判定結果が含まれた応答フレームを送信するよう要請するフレーム(要請フレーム)を送信する。
このS204は、S203で、その送信フレームに含まれた他車両(詐称疑惑車両)の位置について誤り(信頼度が低い)と判断されたことを受けて、その他車両(詐称疑惑車両)から同じ送信フレームをブロードキャスト通信により受信しているであろう周辺の他車両に対して、その送信フレームに含まれた他車両(詐称疑惑車両)の位置が誤りであるかどうかを検証する契機として、周辺の他車両で受信したデータを基にその他車両(詐称疑惑車両)の位置の信頼度を判定して送信するように要請するものである。
図8は、S204で送信される要請フレームのデータ構成を示す説明図である。図示するように要請フレームは「車両ID」、「位置」、「シリアル番号」、「フレーム種別」、「対象車両ID」、「対象シリアル番号」、「対象位置」及び「空間分割数」の各項目を備えている。
「車両ID」、「位置」、「シリアル番号」は、送信フレームの場合と同様であり、ここでは例えば、「車両ID」が「A」の車両(車両A)から、その要請フレームの送信時の「位置」が「La3」であり、その要請フレームの「シリアル番号」が「A3」である場合を示している(ただしこれらのデータは後の処理では用いない)。また「フレーム種別」は、そのフレームが、要請フレームであることからこれを示す「1」が設定されている。
「対象車両ID」及び「対象シリアル番号」は、周辺の他車両に信頼度を判定するよう要請する他車両(詐称疑惑車両)の送信フレームを特定するためのデータであり、車両(詐称疑惑車両)を特定するための「対象車両ID」と、どの送信フレームであるかを特定するための「対象シリアル番号」である。ここでは例えば、「車両ID」が「C」(車両C)で、「対象シリアル番号」が「C2」の送信フレーム(図3の送信フレーム)について信頼度を要請する場合を示している。
さらに「対象位置」及び「空間分割数」は、要請フレームを受信した他車両が、応答フレームを送信するタイミングを設定するためのデータであり、「対象位置」は、信頼度を判定するよう要請する他車両(詐称疑惑車両)の位置(「位置」)を示しており、「空間分割数」は、方角によりいくつの領域に分割するかについて、その分割する数を示している(詳細は後述)。図では、例えば、「対象位置」が「CF1」であり、「空間分割数」が「4」である場合を表している。
続いてS205では、応答フレームを受信するためのタイマTを設定(例えば、1秒間)して、S206に進む。このタイマTの設定により制御部20は、後述するブラックリスト登録処理(図13)を並行して開始する。
S206では、応答フレームをカウントするためのカウンタPVをゼロに初期化して、S207に進む。
これらタイマT及びカウンタPVは、送信フレーム単位で特定できるように、「車両ID」及び「対象シリアル番号」に関連付けられている。
S207では、受信した送信フレームの「ペイロード」部分を含めて、上位層に位置するアプリケーションに対して送信フレームのデータを渡す処理を行う。S207を実行したら、この送信フレーム受信処理を終了する。
図9は、フレーム受信処理(図6)のS104として、制御部20が実行する要請フレーム受信処理を示すフローチャートである。
まずS301では、フラグsendResに初期値として、真の値(true)を設定する。このフラグsendResは、受信した要請フレームに対して応答フレームを送信するか否かを判定するためのフラグであり、真の値(true)のままであれば、応答フレームを他の車両に送信するが(後述するS308以降)、偽の値(false)となっていれば応答フレームを送信する処理は行わない。なおこのフラグsendResは、後述する応答フレーム受信処理(図11)のS402により、真の値(true)から偽の値(false)に書き換わる可能性がある。
続いてS302では、要請フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームについて既に、タイマT及びカウンタPVが設定されているか否かを判断する。これらが設定されていなければ(S302:NO)、S303及びS304に進み、既に設定されていれば(S302:YES)、S305に進む。
S303及びS304は、前述のS205及びS206とそれぞれ同様の処理であり、S303では、応答フレームを受信するためのタイマTを設定(例えば、1秒間)して、S304に進む。このタイマTの設定により制御部20は、後述するブラックリスト登録処理(図13)を並行して開始する。
S304では、応答フレームをカウントするためのカウンタPVをゼロに初期化して、S305に進む。
これらタイマT及びカウンタPVは、送信フレーム単位で特定できるように、「車両ID」及び「対象シリアル番号」に関連付けられている。
S305では、要請フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定されるデータをフレームバッファ24aから読み出す。ここで読み出すデータは、図4に示すように、「対象車両ID」及び「対象シリアル番号」で特定される送信フレームに含まれた他車両の位置(「位置」)、その送信フレームを受信した自車両の位置(「受信位置」)及びその送信フレームが到来した方向(「到来方向」)である。
これを例えば図8に例示した要請フレーム(「対象車両ID」が「C」、「対象シリアル番号」が「C2」)についてみれば、図4に例示したフレームバッファ24aでは、「車両ID」が「C」、「シリアル番号」が「C2」で特定される送信フレームに対応するデータがこれにあたることになる。そのため、読み出されるデータは、「位置」が「CF1」、「受信位置」が「Le2」、「到来方向」がベクトル値としての「C1」ということになる。
なお要請フレームが自車両から送信した送信フレームに含まれた他車両(詐称疑惑車両)の位置についての信頼度を要請するものであった場合は、自車両は応答フレームを送信しないものとする。例えば、車両Cが送信した送信フレームについて要請フレームが送信された場合、車両Cはこの要請フレームに対して応答フレームを送信しない。つまり、自車両を詐称疑惑車両として他車両から送信される要請フレームについては応答しない。
S306では、後述する待ち時間算出処理(図16)で算出された待ち時間Twaitだけ待ち、S307に進む。
このS306では、要請フレームに含まれた「対象位置」及び「空間分割数」と、その要請フレームを受信した時点における自車両の位置とから、待ち時間Twaitが算出され、複数の車両から同時に応答フレームが送信されることのないように調整される。
S307では、フラグsendResが、真の値(true)であるか否かを判断する。真の値のままであれば(S307:YES)、S308に進み、偽の値(false)に書き換わっていれば(S307:NO)、この要請フレーム受信処理を終了する。
ここでフラグsendResが、真の値(true)であることは、後述する応答フレーム受信処理(図11)により、同一空間(他車両(詐称疑惑車両)の位置を中心に角度により複数(例えば、4個)の領域に区切った場合の各領域)に属する他車両から、その要請フレームに対する応答フレームがまだ送信されていないことを示しており、偽の値(false)であることは、すでに同一空間に属する他車両から、その要請フレームに対する応答フレームが送信されていることを示している。
S308では、S305で読み出した、他車両(詐称疑惑車両)の位置(「位置」)、その送信フレームを受信した自車両の位置(「受信位置」)及びその送信フレームが到来した方向(「到来方向」)について、前述した図7のS203と同様に、自車両の受信位置(「受信位置」)及び他車両の位置(「位置」)を結んだ直線と、その送信フレームが到来した方向(「到来方向」)とがなす角が予め定められた設定値(例えば、(π/4)ラジアン)よりも大きいか否かを判断する。設定値よりも大きければ(S308:YES)、S309に進み、設定値よりも大きくなければ(S308:NO)、S310に進む。
S309は、要請された信頼度について低い(誤り)と判断された場合の処理であり、後述する応答フレームの「位置詐称」フラグを「1」として、応答フレームをブロードキャスト通信により周辺の他車両に送信して、この要請フレーム受信処理を終了する。
一方、S310は、要請された信頼度について低くない(誤りでない)と判断された場合の処理であり、後述する応答フレームの「位置詐称」フラグを「0」として、応答フレームをブロードキャスト通信により周辺の他車両に送信して、この要請フレーム受信処理を終了する。
図10は、S309又はS310で送信される応答フレームのデータ構成を示す説明図である。図示するように応答フレームは「車両ID」、「位置」、「シリアル番号」、「フレーム種別」「対象車両ID」、「対象シリアル番号」及び「位置詐称」の各項目を備えている。
「車両ID」、「位置」、「シリアル番号」は、送信フレーム及び要請フレームの場合と同様であり、ここでは例えば、「車両ID」が「E」の車両(車両E)から、送信時の「位置」が「Le3」であり、当該応答フレームの「シリアル番号」が「E4」である場合を示している(ただしこれらのデータは後の処理では用いない)。また「フレーム種別」は、当該フレームが、応答フレームであることからこれを示す「2」が設定されている。
「対象車両ID」及び「対象シリアル番号」は、信頼度を判定した送信フレームを特定するためのデータであり、車両(詐称疑惑車両)を特定するための「対象車両ID」と、どの送信フレームであるかを特定するための「対象シリアル番号」である。ここでは例えば、「車両ID」が「C」で、「対象シリアル番号」が「C2」の送信フレーム(図3の送信フレーム、図5の要請フレームに対応している)について信頼度を応答する場合を示している。
そして、「位置詐称」は、要請フレーム受信処理によって判定した信頼度を示すフラグであり、この「位置詐称」フラグが「1」であれば、信頼度が低い(誤り)と判定されたことを示しており、この「位置詐称」フラグが「0」であれば、信頼度が低くなかった(誤りでない)と判定されたことを示している。なお「位置詐称」としたが、意図的に詐称している場合だけでなく、何らかの事情により、有過失又は無過失により、誤った位置を送信した場合も含まれる。
図11は、フレーム受信処理(図6)のS105として、制御部20が実行する応答フレーム受信処理を示すフローチャートである。
まずS401では、受信した応答フレームが、自車両と同一空間に属する他車両から送信されたものか否かを判断する。同一空間に属する他車両から送信されたものであれば(S401:YES)、S402に進み、そうでなければ(S401:NO)、S403に進む。
具体的には、まずその応答フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームに含まれた他車両(詐称疑惑車両)の位置(「位置」)をフレームバッファ24aから読み出し、その読み出した他車両(詐称疑惑車両)の位置を中心にして方角により複数(例えば、4個)の領域に分割して空間を確定する。例えば図12に示すように、真北から右回りで4分割して空間を定める。
次に、その応答フレームを受信した時点における自車両の位置を位置検出器21により検出されたデータを基に算出し取得して、この自車両の位置と、その応答フレームを送信した他車両の位置(応答フレームの「位置」)とが、分割した空間のうちで同一空間に属しているかどうかを判断する。この際、自車両の位置及び他車両の位置が、分割した空間のうちのどれに属しているかについては、後述する所属空間算出処理(図15)により算出する。
図12の例では、車両Dと車両Bとが同一空間(「空間0」)に属しているため、仮に、車両Bが車両Dから送信された応答フレームを受信したら、同一空間に属する他車両から応答フレームが送信されたと判断することになる(この場合はS402に進む)。
次にS402では、フラグsendResを偽の値(false)に書き換えて、S403に進む。このフラグsendResは、要請フレーム受信処理のS301及びS307に対応しており、偽の値(false)に書き換えられると、自車両から応答フレームを送信することは中止される。
S403では、要請フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームについて既に、タイマT及びカウンタPVが設定されているか否かを判断する。これらが設定されていなければ(S403:NO)、S404に進み、既に設定されていれば(S403:YES)、S406に進む。
S404及びS405は、前述のS205(S303)及びS206(S304)とそれぞれ同様の処理であり、S404では、応答フレームを受信するためのタイマTを設定(例えば、1秒間)して、S405に進む。このタイマTの設定により制御部20は、後述するブラックリスト登録処理(図13)を並行して開始する。
S405では、応答フレームをカウントするためのカウンタPVをゼロに初期化して、S406に進む。
これらタイマT及びカウンタPVは、送信フレーム単位で特定できるように、「車両ID」及び「対象シリアル番号」に関連付けられている。
S406では、受信した応答フレームに含まれた「位置詐称」フラグが「1」であるか否かを判断する。「位置詐称」フラグが「1」であれば(S406:YES)、S407に進み、「位置詐称」フラグが「1」でなければ、すなわち「0」であれば(S406:NO)、この応答フレーム受信処理を終了する。
S407では、カウンタPVを1だけ増加させて(インクリメントして)、この応答フレーム受信処理を終了する。
このS407により「対象車両ID」及び「対象シリアル番号」に関連付けられた送信フレームの他車両の位置(「位置」)を誤りと判定した応答フレームの数がカウントされることになる。
図13は、制御部20が実行するブラックリスト登録処理のフローチャートである。このブラックリスト登録処理は、送信フレーム受信処理のS205、要請フレーム受信処理のS303及び応答フレーム受信処理のS404により応答フレームを受信するためのタイマTが設定されることにより開始する。
まずS501では、タイマTが設定値(例えば、3秒)を経過してタイムアウトになったか否かを判断する。タイムアウトになっていなければ(S501:NO)、S501の処理に戻り、タイムアウトになっていれば(S501:YES)、S502に進む。
S502では、カウンタPVが設定値(例えば、3)より大きいか否かを判断する。カウンタPVが設定値より大きければ(S502:YES)、S503に進み、カウンタPVが設定値より大きくなければ(S502:NO)、S504に進む。
S503では、応答フレームで「位置詐称」フラグが「1」となっていた数が設定値よりも大きい場合であるから、その送信フレームに含まれた他車両(詐称疑惑車両)の位置は誤っていたと判断される場合であり、データ記憶装置24に記憶されているブラックリストにその送信フレームの「車両ID」及び登録する年月日及び時刻で構成される「日時」を記憶させる。
続いてS504では、カウンタPVをゼロに初期化して、このブラックリスト登録処理を終了する。
図14は、このブラックリスト登録処理のS501で実行するタイマT(応答フレームを受信する時間)の待機処理の具体例を示す説明図である。
図示するとおり、例えば車両Cから送信フレームが送信され、これを受信した車両Aがその送信フレームに含まれた他車両(車両C)の位置(「位置」)の信頼度が低いと判定して、周辺の他車両に対して要請フレームを送信すると、送信フレーム受信処理のS205によりタイマが設定値(例えば、1秒間)に設定されて、応答フレームを受信する時間(「カウント時間」)のカウントを開始する。その後、周辺の他車両B,D,E,Fが車両Aから送信された要請フレームを受信してこれに対応した応答フレームを要請フレーム受信処理のS306の待ち時間Twaitにしたがって送信する。要請フレームを送信した車両Aでは、ブラックリスト登録処理のS501により設定時間の間に送信された、要請フレームの「対象車両ID」及び「対象シリアル番号」で関連付けられている応答フレームのみを受信し、それ以降はタイムアウトとして、受信処理をしない。
またフローチャートには表れていないが、データ記憶装置24に記憶されたブラックリストの「日時」はクロックによる監視をされており、制御部20は、一定期間(例えば、1週間)が経過した後は、対応する「日時」及び「車両ID」をブラックリストから削除するブラックリスト削除処理を実行する。
図15は、制御部20が実行する所属空間算出処理を示すフローチャートである。この所属空間算出処理は、応答フレーム受信処理(図11)のS401、後述する待ち時間算出処理(図16)のS702で、自車両や他車両が属する空間がいずれであるか(「所属空間myspace」)を算出する際に実行される。
まずS601では、受信した要請フレームに含まれた他車両(詐称疑惑車両)の位置(「対象位置」)を中心にして方角により、要請フレームに含まれた「空間分割数」(複数であり例えば、4個)の領域に分割して空間を確定する。例えば図12に示すように、真北から右回りで4分割して空間を定める。なお、ここでは基準となる方角を北向きとしたが、あらかじめ決めておけば任意の方向に定めることができる。
次に、所属空間を算出する車両(自車両又は他車両)の位置を取得して、方位ベクトルνを算出して、S602に進む。
前述の図12の例でいえば、車両Cが実際の自車両よりも前方の位置を自車両の位置とする送信フレームを送信した場合に車両Bが自車両の所属空間を算出しようとする場合であり、方位ベクトルνは、送信フレームに含まれた他車両(詐称疑惑車両)の位置(「位置」)から車両Bへ向けたベクトルである。
S602では、単位角度angle0を算出する。具体的には、2πを空間分割する数L(例えば、4)で割った値を単位角度angle0とする。つまり、angle0 = 2π / L により単位角度angle0を算出し、S603に進む。
S603では、基準となる北向きのベクトルNとS601で算出したベクトルνとの角度θを次の式により算出し、S604に進む。
S604では、ベクトルνの東向き成分が正の値か否かを判断する。正の値であれば(S604:YES)、S606に進み、正の値でなければ(S604:NO)、S605に進む。
このS604は、S603で算出される角度θがゼロからπラジアンの値となるため、車両の属する空間がπから2πにある場合(ベクトルの東向き成分が正の値でない場合)は角度θを算出し直す必要があることによる。
S605では、角度θはπから2πの範囲にある場合であるから、角度θにつき、2πからθを減算して角度θを算出し直す。その後、S606に進む。
S606では、所属空間myspaceを整数値で算出して、この所属空間算出処理を終了する。具体的には、角度θを単位角度angle0で除算した商を算出する。この際、剰余は破棄する。
例えば、空間数を4とすれば、単位角度angle0は、(π/2)であるから、この所属空間myspaceは、0から3のいずれかの整数となる。図12の例でいえば、車両Bは空間0に属するため、所属空間myspaceは、0となる。
図16は、制御部20が実行する待ち時間算出処理であり、これは要請フレーム受信処理のS306で応答フレームの送信時間のタイミングを設定する待ち時間Twaitを算出する処理である。この処理はS306で待ち時間Twaitを設定する際に制御部20により実行される。
まずS701では、対象位置からの距離を基に時間Tdを算出する。具体的には、要請フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームに含まれた他車両(詐称疑惑車両)の位置(「位置」)をフレームバッファ24aから読み出し、この読み出した他車両の位置から、要請フレームを受信した時点での自車両の位置(位置検出器21により検出されたデータを基に算出し取得)までの距離(メートル)と、単位時間TdSetting(例えば、8μs)とを乗算して、時間Tdを算出し、S702に進む。
なおこのTdについては必ずしも距離に比例した値とする必要はなく、例えば、0〜50mまでは32μsec、50m〜100mまでは64μsなど階段状に設定してもよい。
S702では、所属空間myspaceを基に時間Tsを算出する。具体的には、所属空間算出処理により算出された所属空間myspace(ゼロ以上の整数で表される)と、単位時間TsSetting(例えば、128μs)とを乗算して、時間Tsを算出し、S703に進む。
S703では、S701で算出した時間Tdと、S702で算出した時間Tsとを加算して、待ち時間Twaitを算出し、この待ち時間算出処理を終了する。
図16は、応答フレームが返信されるタイミングを説明する説明図である。例えば空間0に属する車両Aから車両Cが送信した送信フレームに含まれた他車両(車両C)の位置について、要請フレームが送信された場合、各車両D,F,Eについて待ち時間Twaitが算出された上で応答フレームが送信される。例えば、同じ空間0に属する車両D、空間2に属するF,空間3に属するEの順に応答フレームが送信される。そして例えば、車両Bは空間0に属するが、既に同じ空間に属する車両Dから応答フレームが送信されているため、応答フレームを送信しない。
[1−3 効果]
以上説明したように、第1実施形態の車両用通信装置によれば、送信フレーム受信処理のS203及び要請フレーム受信処理のS308で、他車両の位置の信頼度を実際にその送信フレームが到来した方向(「到来方向」)との角度差から例えば(π/4)より大きければ信頼度が低いと判定するため、比較的近くに位置する他車両であり、特に異常な動きとは検出されない位置の誤りであっても、位置の誤りを正確に判定することができる。
また前述のとおり、周辺の他車両による判定(送信フレーム受信処理のS203)及び自車両による判定(要請フレーム受信処理のS308)により他車両の位置の誤りを判定するため、少なくとも2台以上の車両に搭載された車両用通信装置により判定されることになり、正確な誤りの判断が可能となる。
すなわち、いったん信頼度が低いと判定された他車両の位置についてさらに周辺の車両に情報を要請し、周辺の他車両から送信される情報をもとに他車両(詐称疑惑車両)の位置の信頼度を判定するため(S808、S906)、例えば反射波を受信してしまうなど、送信フレームに含まれた他車両の位置自体は誤りでなかった場合でも正確な判定が可能となる。
さらに他車両(詐称疑惑車両)の位置を中心にして方角により複数(例えば、4個)の領域に分割して応答フレームを送信するタイミングを設定するため(要請フレーム受信処理のS306、待ち時間算出処理のS702、所属空間算出処理)、応答フレームを送信するタイミングを適切に割り当てることが可能となり、通信帯域を効率よく利用することができる。
また他車両(詐称疑惑車両)の位置と自車両の位置との距離を基に応答フレームを送信するタイミングが設定されるため(要請フレーム受信処理のS306、待ち時間算出処理のS701)、通信帯域を効率よく利用することができる。
また自車両から同一空間(所定範囲内)にある他車両から応答フレームが送信された場合、フラグsendResが偽の値(false)となり(応答フレーム受信処理のS401及びS402)、自車両からの応答フレームの送信はされないことになるため(要請フレーム受信処理のS307)、近くに位置する複数の車両から応答フレームが送信されることが少なくなり、通信帯域を有効に利用することができる。
さらに応答フレームを受信する時間を設定時間(例えば、1秒間)に限定した上で他車両(詐称疑惑車両)の位置を判定するため(ブラックリスト登録処理のS501)、迅速に誤り(信頼度)の判定をなすことができる。
またカウンタPVが設定値(例えば、3)より大きい場合に誤りと判断するため(ブラックリスト登録処理のS502)、複数の他車両から送信された応答フレームを基に誤り(信頼度)を判定することとなり、より客観的な情報に基づき正確な判定が可能となる。
さらに誤った位置を送信したことのある車両はその車両IDがブラックリストに登録された上で(ブラックリスト登録処理のS505)、その車両IDを有する車両から送信された送信フレームは破棄されることになるため(送信フレーム受信処理のS201及びS202)、運転者が誤った車両の位置により誤った警告等を受ける可能性も低くなり、車両間通信に対する信頼も確保することができる。
またデータ記憶装置24に記憶されたブラックリストの「日時」はCPUクロックによる経過時間を監視されており、制御部20は、一定期間(例えば、1週間)が経過した後は、対応する「日時」及び「車両ID」をブラックリストから削除する(ブラックリスト削除処理)ため、仮に、誤って車両IDをブラックリストに登録してしまった場合や誤った位置を送信したが後にそのような位置を送信するおそれがなくなったような場合であっても、一定期間経過後は送信フレームの受信を再開することができ、適切な受信処理が可能となる。
[1−4 特許請求の範囲との対応]
なお、第1実施形態のナビゲーション装置1において、制御部20が実行するS101が位置取得手段、制御部20が実行する送信フレーム送信処理が送信手段、送信フレーム受信処理(S103、S201〜S207)が受信手段、制御部20が実行するS101が方向取得手段、制御部20が実行するS203,S308,S502が判定手段に相当する。
また制御部20が実行するS501〜S503及びブラックリスト削除処理がブラックリスト登録手段、制御部20が実行するS101が記憶手段、制御部20が実行するS204が要請手段、制御部20が実行するS309及びS310が応答手段、制御部20が実行するS306、待ち時間算出処理(S701〜S703)及び所属空間算出処理(S601〜S606)がタイミング設定手段に相当する。
[2 第2実施形態]
次に、第2実施形態としてのナビゲーション装置について説明する。
第2実施形態のナビゲーション装置は、第1実施形態のナビゲーション装置1と比較すると要請フレーム受信処理、応答フレームのデータ構成、応答フレーム受信処理、ブラックリスト登録処理及び待ち時間設定処理が相違する。そこで、この相違点についてのみ説明し他の共通する部分については説明を省略する。
[2−1 処理]
図17は、第2実施形態としての制御部20が実行する要請フレーム受信処理のフローチャートを示している。
第2実施形態の要請フレーム受信処理では、第1実施形態の要請フレーム受信処理のS308〜S310にあたる処理がなく、それらの処理の代りに、S808で、単に応答フレームを送信する処理が行われる点が異なる。
S808では、S805(第1実施形態のS305に相当)でフレームバッファ24aから読み出した「対象車両ID」及び「対象シリアル番号」で特定される送信フレームを受信した自車両の位置(「受信位置」)及びその送信フレームが到来した方向(「到来方向」)をそのまま応答フレームに追加する。
図18(a)は、第2実施形態の応答フレームのデータ構成を示す説明図である。第1実施形態の応答フレームと比較して、「車両ID」、「位置」、「シリアル番号」、「フレーム種別」、「対象車両ID」及び「対象シリアル番号」の各項目は同じであるが、「位置詐称」の項目がなく、「到来方向」及び「受信位置」が含まれている点が異なる。
ここで「到来方向」及び「受信位置」は、前述のとおり、その要請フレームを受信した車両のフレームバッファ24aに記憶されていた、その送信フレームが到来した方向(「到来方向」)及びその送信フレームを受信した自車両の位置(「受信位置」)を示している。
またさらにこの応答フレームの変形態様としては、図18(b)に示すように、さらにその要請フレームを受信した車両(自車両)が所属する空間を「所属空間」として追加してもよい。この「所属空間」は、第1実施形態の所属空間算出処理により、算出することができる。
次に、この応答フレームを受信した場合に第2実施形態としての制御部20が実行する応答フレーム受信処理について説明する。図19は、第2実施形態としての制御部20が実行する応答フレーム受信処理のフローチャートである。
第2実施形態の応答フレーム受信処理は、第1実施形態の応答フレーム受信処理のS406にあたる処理のみが異なる。すなわち第1実施形態ではS406で、応答フレームのフラグ「位置詐称」から他車両の位置の信頼度を判定していたが、第2実施形態では、「受信位置」及び「到来方向」となっており、応答フレームを受信した車両のナビゲーション装置で判断することになる。
S906では、直線の交点と他車両(詐称疑惑車両)の位置との距離が設定値より大きいか否かを判断する。設定値より大きければ(S906:YES)、S907に進み、大きくなければ(S906:NO)、この応答フレーム受信処理を終了することになる。
具体的には、まず周辺の他車両から送信された応答フレームに含まれたその他車両(応答フレームを送信した他車両からみれば「自車両」になる)の位置(「受信位置」)からその応答フレームに含まれた送信フレームが到来した方向(「到来方向」)にひいた直線(「直線1」とする)を特定する。
次に、その応答フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームIDに関連付けられた、自車両(応答フレームを受信した車両)の位置(「受信位置」)及び送信情報が到来した方向(「到来方向」)をフレームバッファ24aから読み出し、その読み出した「受信位置」から「到来方向」にひいた直線(「直線2」とする)を特定する。
そして、直線1と直線2との交点をクラメールの公式により算出し、その算出した交点から、その応答フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームIDに関連付けられた他車両(詐称疑惑車両)の位置(「位置」)までの距離を求め、その距離が設定値(例えば、5m)より大きいか否かを判定する。
図20は、このS906にて位置の信頼度を判定する方法を例示する説明図である。図示するように、車両Cが位置を詐称していた場合に、車両Eから送信された応答フレームを車両Aが受信すると、S906では、まず車両Eから送信された応答フレームに含まれた「受信位置」及び「到来方向」から「直線1」を特定し、次に、車両Aのフレームバッファ24aから読み出した「受信位置」及び「到来方向」から「直線2」を特定し、「直線1」及び「直線2」の交点(図では「交点1」)と、その送信フレームに含まれた他車両(車両C)の位置(「位置」)との距離が設定値より大きいか否かにより判断することになる。
なお、このS906にあたる判断については、第1実施形態の要請フレーム受信処理のS308に示したように、「受信位置」及び他車両(詐称疑惑車両)の位置を結んだ直線と「到来方向」とのなす角により判断することもできる。
図21は、第2実施形態としての制御部20が実行するブラックリスト登録処理を示すフローチャートである。
第2実施形態としてのブラックリスト登録処理は、第1実施形態のブラックリスト登録処理S502にあたる処理のみが異なる。すなわち第1実施形態のS502が第2実施形態ではS1002となる。なお、第2実施形態のブラックリスト登録手段を実行する前提として、制御部20は受信した応答フレームの数をカウントしているものとする。
S1002では、受信した応答フレームの中で、信頼性が低いと判定した数と、信頼性が低くないと判定した数を比較し、多数決により、その他車両の位置の信頼性を判定する。すなわち、受信した応答フレームの総数から、S906により信頼性が低いと判定された数(カウンタPV)を減算することにより、信頼性が低くないと判定した数を得ることができるため、この数とカウンタPVを比較すればよい。なお,S1002の判定は,応答フレーム全体の50%を閾値とした多数決に限らず,この閾値を,応答フレーム数の全体の10%や30%にして,少しでも怪しいフレームは「位置の信頼性が低い」と判断してもよいし,応答フレーム数の全体の60%や80%など周辺車両の大多数が「位置の信頼性が低い」と見なしたフレームだけを「位置の信頼性が低い」と判断しても良い.
図22は、第2実施形態としての制御部20が実行する待ち時間算出処理を示すフローチャートである。
第2実施形態の待ち時間算出処理は、第1実施形態のS702の代わりに、S1102及びS1103の処理が実行される点が異なる。
すなわち、第2実施形態では、時間Tsを算出する方法につき、受信した要請フレームに含まれた「対象車両ID」及び「対象シリアル番号」で特定される送信フレームに含まれた他車両の位置(「位置」)をフレームバッファ24aから読み出し、その他車両の位置を中心にして(π/2)ラジアン毎に領域を選択し、その選択した順に応答フレームが送信されるようにタイミングを設定する。
まずS1102では、整数値αを、ceil(空間分割数L / 4) により求め、S1103に進む。ここでceil(数値)は、入力された数値以上で最小の整数値を戻す関数である。例えば、空間分割数Lを8とすれば、整数値αは、2となる。この整数値αは、(π/2)ラジアンの範囲に含まれる空間数を表している。
S1103では、時間Tsを次の数式により算出する。
かかる数式の(所属空間myspace mod α)の部分は、所属空間myspaceを整数値αで除算した場合の剰余である。例えば整数値αが2であれば、所属空間myspaceが偶数の場合は0、奇数の場合は1という値が得られることになる。
この(所属空間myspace mod α)に4を乗算することにより、同じ剰余系に属する複数の所属空間spaceが、4の倍数毎に分類されることになる。例えば整数値αが2であれば、所属空間myspaceが偶数の場合(2の剰余系が0)は0、所属空間myspaceが奇数の場合(2の剰余系が1)は4となる。
次に(floor (所属空間myspace / α))について説明する。ここで、floor(数値)は、入力された数値以下の最大の整数値を戻す関数である。例えば、所属空間myspaceが「5」であれば、整数値5を戻すことになる。この値により同じ剰余系に属する所属空間myspaceの中で整数値(順序)が決まることになる。
このことをさらに図23の具体例により説明する。ここでは空間分割数Lが8の場合であり、空間0(所属空間myspaceが0)〜空間7(所属空間myspaceが7)に分割されている。
まず前述のとおり整数値αが2となることから、(所属空間myspace mod α)の値は、空間0が0、空間1が1、空間2が0、空間3が1、空間4が0、空間5が1、空間6が0、空間7が1となり、これに4を乗算するので、空間0が0、空間1が4、空間2が0、空間3が4、空間4が0、空間5が4、空間6が0となる。
一方、(floor (所属空間myspace / 4))については、空間0及び空間1が0、空間2及び空間3が1、空間4及び空間5が2、空間6及び空間7が3となる。
結局、TsSettingを除算する前の値は、空間0が0、空間1が4、空間2が1、空間3が5、空間4が2、空間5が6、空間6が3、空間7が7となり、この整数値を小さい順に並べると、空間0、空間2、空間4、空間6、空間1、空間3、空間5、空間7となり、(π/2)ラジアン領域を選択して、その選択した順に応答フレームが送信されることがわかる。
この整数値に単位時間TsSetting(例えば、128μs)を乗算して時間Tsを算出する処理以降は第1実施形態と同じである。
なお待ち時間Twaitを短くするために、TdSettingを1μs、TsSettingを13μsや32μsなどと設定してもよい。
[2−2 効果]
以上説明したとおり第2実施形態のナビゲーション装置によれば、他車両の位置の誤りについて、その送信フレームの到来方向とのなす角だけでは検出できない場合についても、直線の交点が実際の他車両の位置と異なることにより検出することが可能となる。
さらに第2実施形態のナビゲーション装置によれば、複数の他車両から送信された応答フレームを基に多数決により信頼度を判定するため(S1002)、仮に、誤判定がされた応答フレームが含まれていた場合であっても、適切に位置の誤りを判定できる。
また第2実施形態のナビゲーション装置では、特に(π/2)ラジアン毎に領域を選択してその選択した順に応答フレームを送信するため(S1102及びS1103)、より速く異なる角度からの情報を考慮して他車両の位置の信頼度を判定することになるため、他車両の位置の誤りを効率よく迅速に判定することができる。
ここで、対象位置を始点とし、自車両の位置を終点とする方向ベクトルのなす角が(π/2)に近い2つの位置のデータを用いる効果について説明する。
図24に例示するように、車両Pと車両Qの位置情報が±1.0だけばらついているとき、車両Pと車両Qが送信する応答フレームを使って、車両Rの推定位置のばらつきを検討する。
仮に、車両Pと車両Qの到来方向の推定が正しいと仮定すると、車両P又は車両Qから送信される応答フレームに含まれる位置情報のずれは、位置推定の仮定で算出する直線の平行移動と考えられる。つまり、図24の斜線部分が、位置推定のばらつく領域である。このばらつきの領域の面積Sとして、車両Pが到来方向を推定した方向ベクトルと車両Qが到来方向を推定した方向ベクトルのなす角をθとすると、面積Sは、次の式により算出できる。なお,なす角θ=0もしくはπとなる2つの応答フレームでは,2直線の交点を算出できない.したがって,このような場合は,なす角θが0でもなくπでもない2つの応答フレームをもちいて位置を推定する.
S = x × h かつ x =(h / sinθ)(0< θ < π)
ここで、車両Pと車両Qの位置情報は±1.0だけばらつき、h = 2.0 となるのが前提なので、
S =(4.0 / sinθ(0< θ < π)
となる。
したがって、面積Sが最小となるのは、θ=(π/2)のときとなることがわかる。また,上記Sは,0<θ<(π/2)のとき単調減少で,(π/2)<θ<πで単調増加の関数である.したがって,θとπ/2との差が大きくなるにつれて,図24の斜線部分の面積Sが大きくなる.つまり,斜線部分の平行四辺形の高さhは固定のまま,底辺xの長さが長くなる.この結果,斜線部分の平行四辺形の長いほうの対角線が長くなり,推定位置のばらつきが大きくなる.
次に実験例によりこのことが正しいことを示す。図25は、車両Rが(0,0)に存在し、車両P、車両Q、車両Mが、それぞれ(−4.5,3.0)、(−3.0,−4.5)、(3.0,−1.5)に存在する座標系を示している。これを前提に、車両P、車両Q、車両Mが送信する応答フレームを使って車両Rの位置を推定する場合を考える。この場合、車両P、車両Q、車両Mは、自車両の位置を、前述のとおりGPS受信機21a等の位置検出器21により推定しており、推定位置には±1.0のばらつきがあると仮定する。
図26は、車両P及び車両M(実験結果は(a))、並びに車両Q及び車両M(実験結果は(b))から送信される2つの応答フレームを使って、車両Rの位置を推定した実験結果を示している。今回の実験では、車両P、車両Q、車両Mともに実験毎に位置情報に±1.0の範囲でランダムに誤差を加え、車両Rの位置推定実験100回の結果(散布図)を示している。
図26(a)に示すように、なす角がπラジアンに近い位置の、車両P及び車両Mの応答フレームに含まれる位置情報の誤差のため、車両Rの位置推定結果は大きくばらつき、x軸方向の範囲Rが、26.87、標準偏差SDが、5.82であった。
これに対し、図26(b)に示すように、なす角が(π/2)ラジアンに近い位置の、車両Q及び車両Mの応答フレームに含まれる位置情報の誤差は、車両Rの位置推定結果(a)よりもばらつきが小さく、x軸方向の範囲Rが、2.42、標準偏差SDが、0.53であった。
このように、車両Rが、2つの応答フレームに含まれた情報(「受信位置」と「到来方向」)を使って特定の他車両の位置を推定する場合、応答フレームに含まれた「到来方向」のなす角が(π/2)ラジアンに近い2つの応答フレームを使って位置を推定すれば、推定結果のばらつきを最小限に抑えることができる。
言い換えれば、位置の信頼度を判定したい他車両の位置を始点として、応答フレームを送信する他車両の位置(「受信位置」)を終点とする方向ベクトルのなす角が(π/2)に近い2つの応答フレームを使って、他車両の位置を推定すれば、推定結果のばらつきを最小限におさえることができる。
[3 第3実施形態]
次に第3実施形態としてのナビゲーション装置について説明する。
第3実施形態のナビゲーション装置は、第1実施形態のナビゲーション装置1と比較すると送信フレームのデータ構成、送信フレーム受信処理のみが相違する。そこで、この相違点についてのみ説明し他の共通する部分については説明を省略する。
図27は、第3実施形態としての制御部20が実行する送信フレーム送信処理により送信される送信フレームのデータ構成を示す説明図である。
第1実施形態及び第2実施形態としての送信フレーム(図3)と比較して、「ブラックリスト数」、「車両ID1」…「車両IDn」(図では「車両ID1」及び「車両ID2」)及び「日時1」…「日時n」(図では「日時1」及び「日時2」)の項目が追加されている点が異なり、他の項目は同じである。
ここで「ブラックリスト数」は、この送信フレームを送信する車両(例えば、車両A)のデータ記憶装置24に記憶しているブラックリストに登録している「車両ID」の数nを示しており、図では例えば、「2」と表されている。
「車両ID1」…「車両IDn」及び「日時1」…「日時n」は、この送信フレームを送信する車両(例えば、車両A)のブラックリスト(図5参照)に登録されている「車両ID」及び「日時」を示している。図では例えば、「車両ID1」が「C」(車両C)について「日時」が「20081007165505」(2008年10月7日16時55分05秒)に登録されたこと、「車両ID2」が「B」(車両B)について「日時」が「20081007165510」(2008年10月7日16時55分10秒)に登録されたことが表されている。
図28は、第3実施形態の送信フレーム受信処理を示すフローチャートである。第1実施形態の送信フレーム受信処理のS201及びS203の間にS1203の処理が入り、S203及びS204の間にS1205の処理が入る点が異なる。なお第1実施形態のS201〜S207は、第2実施形態のS1201、S1202、S1204、S1206〜S1209にそれぞれ対応している。
S1203では、送信フレームに含まれたブラックリストの処理を行う。具体的には、送信フレームにブラックリストとして「車両ID」が含まれていた場合に、データ記憶装置24に記憶されている自車両のブラックリストと比較して、登録されていない「車両ID」があれば新たにブラックリストとして登録する。
またS1205では、S1204で判定した送信フレームに含まれていた「車両ID」をデータ記憶装置に記憶されている自車両のブラックリストに登録する。
なお第1実施形態及び第2実施形態では、要請フレーム及び応答フレームに対応した処理も行うものとしたが、第3実施形態によれば、自車両のみでブラックリストに登録を行うため、要請フレーム及び応答フレームに対応する処理はなくてもよい。
この第3実施形態によれば、送信フレームにブラックリストの内容を加えることで(図27)、この送信フレームを受信した他車両もブラックリストの情報を共有できる他、例えば、警察車両がこの送信フレームを受信して、不正を行っている車両を特定することも可能となる。
また第3実施形態では、誤った位置を送信した他車両は、迅速にブラックリストに登録されるため、他の実施形態よりも迅速かつ効果的に位置を誤って送信する他車両からの送信を排除できることができる。
[4 他の実施形態]
以上、本発明の実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、本実施形態では方向を取得するものとして、アレーアンテナ23aを用いたが、これは必ずしもアレーアンテナに限られるものではなく、送信フレームが到来した方向を検出できるものであれば何でもよく、例えば、自車両の前方又は後方かの2方向のみを検出できる簡素なアンテナのようなものであってもよい。このような簡素なアンテナを用いることにより、アレーアンテナを用いた場合よりも安価に構成を実現することができる。
また、本実施形態ではナビゲーション装置として車両用通信装置を実現したが、これは必ずしもナビゲーション装置でなくてもよく、通信端末であればよい。