以下、本発明による物体認識装置および物体認識方法を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。
実施の形態1.
図1は、本発明の実施の形態1における物体認識装置3を備えた車両制御システムの構成を示すブロック図である。図1において、車両制御システムは、第1のセンサ1、第2のセンサ2、物体認識装置3および車両制御装置4を備える。なお、実施の形態1では、センサの数が2つである場合を例示しているが、センサの数は3つ以上であってもよい。
第1のセンサ1および第2のセンサ2のそれぞれは、自車両に搭載されており、検出可能な範囲に存在する自車両周辺の物体の状態を表す物理量に関する情報を、観測データDとして検出し、その観測データDを物体認識装置3に送信する。観測データDには、自車両に対する物体の相対位置を示す位置観測値、自車両に対する物体の相対速度を示す速度観測値、自車両に対する物体の相対加速度を示す加速度観測値などの情報が含まれる。
以下、第1のセンサ1および第2のセンサ2のそれぞれによって検出された観測データDを区別して表記する必要がある場合、便宜上、以下のように表記する。すなわち、第1のセンサ1によって検出された観測データDを「第1の観測データD1」と表記し、第2のセンサ2によって検出された観測データDを「第2の観測データD2」と表記する。
第1のセンサ1および第2のセンサ2として、例えば、物体から放射された光、電磁波等の検出波を受信し、受信した検出波に対して信号処理、画像処理等の処理が行われることで、その物体に関する情報を検出するタイプのセンサを用いればよい。第1のセンサ1および第2のセンサ2として、物体に検出波を照射し、その物体から反射した検出波を受信し、受信した検出波に対して処理が行われることで、その物体に関する情報を検出するタイプのセンサを用いてもよい。具体的には、第1のセンサ1および第2のセンサ2として、例えば、ミリ波レーダ、レーザレーダ、超音波センサ、赤外線センサ、光学カメラ等を用いることができる。
第1のセンサ1および第2のセンサ2の自車両への搭載位置、および第1のセンサ1および第2のセンサ2の各センサの検出範囲は、既知であるものとする。また、第1のセンサ1および第2のセンサ2の自車両への搭載位置等は任意に設定することができる。なお、第1のセンサ1および第2のセンサ2は、互いに異なる検出方式のセンサであってもよいし、互いに同じ検出方式のセンサであってもよい。
物体認識装置3は、第1のセンサ1および第2のセンサ2のそれぞれから受信した観測データDから、フュージョンデータFを生成して出力する。物体認識装置3は、具体的な構成として、データ受信部31、予測処理部32、相関処理部33、追尾処理部34、フュージョン結果出力部35および相関状況判定部36を備える。
データ受信部31は、第1のセンサ1および第2のセンサ2のそれぞれから、第1の観測データD1および第2の観測データD2を受信する。第1の観測データD1には、位置観測値Dp1、速度観測値Dv1および加速度観測値Da1が含まれる。第2の観測データD2には、位置観測値Dp2、速度観測値Dv2および加速度観測値Da2が含まれる。データ受信部31は、受信した観測データDを出力する。
予測処理部32は、フュージョン結果出力部35によって出力されるフュージョンデータFの前回値を用いて、特定の運動モデルに従って、フュージョンデータFの今回値の予測結果である予測データPを生成する予測処理を行う。すなわち、予測処理部32は、フュージョンデータFの前回値を、特定の運動モデルに従って時間遷移させることでフュージョンデータFの今回値を予測し、その予測結果を予測データPとして出力する。予測データPには、位置予測値Pp、速度予測値Pvおよび加速度予測値Paが含まれる。
なお、上述の特定の運動モデルは、フュージョンデータFの前回値に対して、フュージョンデータFの今回値の予測結果に相当する予測データPが後述する許容範囲を超えて変化する状態を発生させないようにするためのモデルであり、予め定められるものである。実施の形態1では、センサによって検出される物体が等加速度運動していると仮定し、特定の運動モデルとして等加速度運動モデルが適用される場合を例示する。
相関処理部33は、相関データCを生成する相関処理を行う。すなわち、相関処理部33は、データ受信部31によって出力される観測データDと、予測処理部32によって出力される予測データPとの相関関係を決定する。相関処理部33は、観測データDおよび予測データPを、決定した相関関係とともに、相関データCとして出力する。
なお、相関処理部33は、観測データDと予測データPとの相関関係を、公知のアルゴリズムを用いて決定するように構成されている。公知のアルゴリズムとして、例えば、SNN(Simple Nearest Neighbor)アルゴリズム、MHT(Multiple Hypothesis Tracking)アルゴリズム、GNN(Global Nearest Neighbor)アルゴリズム、JPDA(Joint Probabilistic Data Association)アルゴリズムなどが挙げられる。
追尾処理部34は、後述するフュージョンデータ不連続状態が発生している場合、通常追尾処理とは異なる処理である特殊追尾処理を実行する。ここで、通常追尾処理とは、予測処理部32によって出力される予測データPと、予測データPと相関している観測データDとを用いて、追尾データTの前回値を更新することで、追尾データTを生成して出力する処理である。特殊追尾処理とは、フュージョンデータ不連続状態が解消するようにするための調整用の物理量を設定し、予測データPと等価である追尾データTを出力する処理である。なお、通常追尾処理および特殊追尾処理については、さらに詳細に後述する。また、追尾処理部34は、実行する追尾処理を、通常追尾処理と特殊追尾処理との間で切り替える追尾切り替え処理を行う。具体的には、追尾処理部34は、フュージョンデータ不連続状態が発生しているか否かを判定する不連続判定を行い、その不連続判定の結果に基づいて、実行する追尾処理を、通常追尾処理と特殊追尾処理との間で切り替え可能に構成されている。追尾処理部34は、その不連続判定の結果、フュージョンデータ不連続状態が発生していると判定された場合、実行する追尾処理を、通常追尾処理から特殊追尾処理に切り替える。
また、追尾処理部34は、相関状況判定部36によって出力される相関状況判定データCSの前回値を参照して、実行する追尾処理を、通常追尾処理と特殊追尾処理との間で切り替える。なお、追尾切り替え処理の詳細については後述する。また、フュージョンデータ不連続状態については、後述する図2を参照しながら説明する。
追尾処理部34は、相関処理部33によって出力される相関データCを用いて、追尾切り替え処理で選択した方の追尾処理を行うことで、追尾データTを生成する。
追尾処理部34は、実行する追尾処理が通常追尾処理である場合、予測データPと、その予測データPと相関している観測データDとを用いて、追尾データTの前回値を更新することで、追尾データTを生成して出力する。つまり、追尾データTの前回値を更新することで得られる更新値が追尾データTである。
なお、追尾処理部34は、公知の追尾手法を用いて、追尾データTの前回値を更新するように構成されている。公知の追尾手法として、例えば、最小二乗法、カルマンフィルタ、粒子フィルタなどが挙げられる。
追尾処理部34は、実行する追尾処理が特殊追尾処理である場合、後述する調整用の物理量を設定し、さらに、予測データPと等価である追尾データTを出力する。なお、特殊追尾処理の詳細については後述する。
フュージョン結果出力部35は、フュージョンデータFの今回値を生成するフュージョン結果更新処理を行う。すなわち、フュージョン結果出力部35は、追尾処理部34によって出力される追尾データTが通常追尾処理を実行することで得られたデータである場合、その追尾データTを、フュージョンデータFの今回値として出力する。
また、フュージョン結果出力部35は、追尾処理部34によって出力される追尾データTが特殊追尾処理を実行することで得られたデータである場合、その追尾データTと等価である予測データPに対して、後述する物理量制御処理を施し、その物理量制御処理後の予測データPを、フュージョンデータFの今回値として出力する。
フュージョンデータFには、位置フュージョン値Fp、速度フュージョン値Fvおよび加速度フュージョン値Faが含まれる。なお、フュージョン結果更新処理の詳細については後述する。
相関状況判定部36は、フュージョン結果出力部35によって出力されるフュージョンデータFの今回値を用いて、相関状況判定データCSを生成する相関状況判定処理を行う。すなわち、相関状況判定部36は、第1の相関フラグ、第2の相関フラグおよび相関状況変化フラグを含む相関状況判定データCSを出力する。
第1の相関フラグは、第1のセンサ1とフュージョンデータFとの相関の有無を示すフラグである。第2の相関フラグは、第2のセンサ2とフュージョンデータFとの相関の有無を示すフラグである。相関状況変化フラグは、第1のセンサ1および第2のセンサ2のそれぞれと、フュージョンデータFとの相関の状況変化の有無を示すフラグである。なお、相関状況判定処理の詳細については後述する。
車両制御装置4は、フュージョン結果出力部35によって出力されるフュージョンデータFの今回値を用いて、自車両を制御する。具体的には、一例として、車両制御装置4は、フュージョンデータFから、自車両と前方車両との衝突を予想した場合、自車両に搭載される警報器が警報を鳴らすように制御したり、自車両に搭載されるディスプレイがその旨を表示するように制御したりする。別例として、車両制御装置4は、フュージョンデータFを用いて、車間距離維持制御、車線維持制御、自動ブレーキ制御等の制御を行う。
図2は、比較例における物体認識装置によってセンサのロストが発生した場合に出力されるフュージョンデータFの時間変化の例を示す説明図である。なお、比較例における物体認識装置は、上述の特殊追尾処理を行うことなく、通常追尾処理だけを行って、フュージョンデータFを生成するように構成されているものとする。
ここで、ロストとは、センサがフュージョンデータと相関する状態から相関していない状態に変化したことを意味する。具体的には、センサによって物体が検出されない状況、または、センサから観測データDが物体認識装置3に入力されない状況が発生すれば、そのセンサのロストが発生することとなる。図2では、第1のセンサ1のロストが発生した場合を例示している。
以下、時刻tk(k=0,1,・・・)におけるデータを表す場合、便宜上、データに付された符号の末尾に(tk)を表記する。例えば、時刻tkにおける第1の観測データD1を表す場合、第1の観測データD1(tk)と表記する。
図2に示すように、時刻t0では、物体認識装置は、第1のセンサ1から第1の観測データD1(t0)を受信し、第2のセンサ2から第2の観測データD2(t0)を受信する。この場合、第1のセンサ1がフュージョンデータFと相関することとなる。同様に、第2のセンサ2がフュージョンデータFと相関することとなる。
時刻t0では、物体認識装置は、第1の観測データD1(t0)および第2の観測データD2(t0)を用いて、通常追尾処理を行うことで、フュージョンデータF(t0)を生成する。
時刻t1では、物体認識装置3は、第2のセンサ2から第2の観測データD2(t0)を受信する一方、第1のセンサ1から第1の観測データD1(t1)を受信しない。この場合、第2のセンサ2がフュージョンデータF(t0)と相関することとなる。一方、第1のセンサ1がフュージョンデータF(t0)と相関しないこととなる。すなわち、時刻t1では、第1のセンサ1および第2のセンサ2のうち、第1のセンサ1のロストが発生し、フュージョンデータF(t0)と相関するセンサの数が「2」から「1」に減少している。
時刻t1では、物体認識装置は、フュージョンデータF(t0)から予測した予測データP(t1)と、第2の観測データD2(t1)とを用いて、通常追尾処理を行うことで、フュージョンデータF(t1)を生成する。ここで、図2に示すように、予測データP(t1)と、第2の観測データD2(t1)との間が遠ければ、フュージョンデータF(t1)は、第2の観測データD2(t1)側に寄って、フュージョンデータF(t0)から大きく離れる。
したがって、前回のフュージョンデータF(t0)に対して、今回のフュージョンデータF(t1)が許容範囲を超えて変化する状態が発生する可能性がある。以下、フュージョンデータFの前回値に対してフュージョンデータFの今回値が許容範囲を超えて変化する状態を、「フュージョンデータ不連続状態」と称す。ここでいう許容範囲とは、フュージョンデータFの前回値からのフュージョンデータFの今回値の変化の度合いが許容される範囲、より具体的には、その変化の度合いが、例えば車両制御装置4による車両制御に不都合を生じさせるようなことがない範囲をいう。
このように、フュージョンデータFと相関するセンサの数が減少すると、フュージョンデータ不連続状態が発生する可能性があり、結果として、フュージョンデータFが入力された車両制御装置4によって行われる車両制御に影響を及ぼす可能性がある。また、フュージョンデータFと相関するセンサの数が増加した場合であっても、同様に、フュージョンデータ不連続状態が発生する可能性がある。
フュージョンデータFと相関するセンサの数が減少する具体例としては、第1のセンサ1および第2のセンサ2によって同一物体が検出されている状態から、一方のセンサのロストが発生する状態に変化する例が挙げられる。フュージョンデータFと相関するセンサの数が増加する具体例としては、これら2つのセンサの一方のセンサによって物体が検出されている状態から、これら2つのセンサによってその物体が検出されている状態に変化する例が挙げられる。
図3は、本発明の実施の形態1における物体認識装置3によってセンサのロストが発生した場合に出力されるフュージョンデータFの時間変化の例を示す説明図である。
図3に示すように、時刻t1では、先の図2と同様に、物体認識装置3のデータ受信部31は、第2のセンサ2から第2の観測データD2(t1)を受信する一方、第1のセンサ1から第1の観測データD1(t1)を受信しない。したがって、第1のセンサ1および第2のセンサ2のうち、第1のセンサ1のロストが発生し、フュージョンデータFと相関するセンサの数が「2」から「1」に減少している。
時刻t1では、上述のような状況で、物体認識装置3の追尾処理部34は、予測データP(t1)に含まれる位置予測値Pp(t1)と、第2の観測データD2(t1)に含まれる位置観測値Dp2(t1)との差分の大きさである位置差分を算出する。続いて、追尾処理部34は、算出した位置差分が、閾値以上であれば、通常追尾処理から特殊追尾処理に切り替え、特殊追尾処理を開始する。その後、物体認識装置3は、予測データP(t1)をフュージョンデータF(t1)として出力する。
時刻t2では、物体認識装置3の予測処理部32は、特定の運動モデルに従って、フュージョンデータF(t1)を、時刻t1から時刻t2まで時間遷移させる。予測処理部32は、このようにフュージョンデータF(t1)を時間遷移させることで得られる値を、予測データP(t2)として生成する。
特定の運動モデルとして、上述したとおり、等加速度運動モデルが用いられる。この場合、予測処理部32は、時刻t1から時刻t2までの間、第2の観測データD2(t1)に向けて、フュージョンデータF(t1)を等加速度運動させる。予測処理部32は、このようにフュージョンデータF(t1)を等加速度運動に従って時間遷移させることで得られる値を、予測データP(t2)として生成する。
時刻t2以降も、フュージョンデータFは、加速度が調整されながら、第2の観測データD2に向かって等加速度運動に従って時間遷移することにより、フュージョンデータFの前回値に対してフュージョンデータFの今回値が許容範囲を超えて変化する状態、すなわち、フュージョンデータ不連続状態を発生させないようにすることが可能となる。
このように、追尾処理部34は、フュージョンデータFと相関するセンサの数が変化した場合、位置目標値FTpと位置予測値Ppとの間の位置差分に基づいて、上述した通常追尾処理から上述した特殊追尾処理に切り替えるように構成されている。なお、位置差分の詳細については後述する。
これにより、フュージョンデータFと相関するセンサの数が変化した場合であっても、上述したフュージョンデータ不連続状態の発生を抑制することができる。その結果、上述の比較例における物体認識装置に対して、実施の形態1における物体認識装置3は、フュージョンデータFが入力された車両制御装置4によって行われる車両制御に影響を及ぼすことを抑制することが可能となる。
<物体認識装置3の処理>
次に、物体認識装置の処理について、図4を参照しながら説明する。図4は、本発明の実施の形態1における物体認識装置の一連の処理を示すフローチャートである。なお、物体認識装置は、或る動作周期で、処理を繰り返し行う。以下、物体認識装置3は、上述の時刻tk(k=0,1,・・・)で処理を開始するものとして、処理の内容について説明する。
ステップS11において、予測処理部32は、予測処理を実行することで、予測データP(tk)を生成する。その後、処理がステップS12へと進む。
ステップS12において、相関処理部33は、相関処理を実行することで、相関データC(tk)を生成する。その後、処理がステップS13へと進む。
ステップS13において、追尾処理部34は、追尾切り替え処理を実行する。その後、処理がステップS14へと進む。
ステップS14において、追尾処理部34は、追尾切り替え処理で通常追尾処理を選択したか否かを判定する。通常追尾処理を選択したと判定された場合には、処理がステップS15へと進み、特殊追尾処理を選択したと判定された場合には、処理がステップS16へと進む。
ステップS15において、追尾処理部34は、通常追尾処理を実行することで、追尾データT(tk)を生成する。その後、処理がステップS17へと進む。
ステップS16において、追尾処理部34は、特殊追尾処理を実行することで、追尾データT(tk)を生成する。その後、処理がステップS17へと進む。
ステップS17において、フュージョン結果出力部35は、フュージョン結果更新処理を実行することで、フュージョンデータF(tk)を生成する。その後、処理がステップS18へと進む。
ステップS18において、相関状況判定部36は、相関状況判定処理を実行することで、相関状況判定データCS(tk)を生成する。その後、処理が終了となる。
<追尾切り替え処理>
次に、追尾処理部34によって行われる追尾切り替え処理について、図5を参照しながら説明する。図5は、本発明の実施の形態1における追尾処理部34によって行われる一連の追尾切り替え処理を示すフローチャートである。
ステップS101において、追尾処理部34は、相関状況判定部36によって出力される前回の相関状況判定データCS(tk−1)を取得する。その後、処理がステップS102へと進む。
ステップS102において、追尾処理部34は、第1のセンサ1によって検出される第1の観測データD1(tk)と、第2のセンサ2によって検出される第2の観測データD2(tk)とに基づいて、フュージョンデータ目標値FT(tk)を算出する。その後、処理がステップS103へと進む。
ここで、フュージョンデータ目標値FTについて説明する。フュージョンデータ目標値FTは、第1のセンサ1および第2のセンサ2の各センサによって検出される観測データDの精度を表す分散の値を用いて、観測データDを加重平均することで算出される。ただし、第1のセンサ1および第2のセンサ2の一方のセンサのロストが発生した場合には、ロストが発生していない他方のセンサによって検出される観測データDがそのままフュージョンデータ目標値FTとして算出される。
フュージョンデータ目標値FTには、位置目標値FTp、速度目標値FTvおよび加速度目標値FTaが含まれる。
図5の説明に戻り、ステップS103において、追尾処理部34は、前回の追尾切り替え処理、すなわち、時刻tk−1の追尾切り替え処理で特殊追尾処理を選択しているか否かを判定する。前回の追尾切り替え処理で特殊追尾処理を選択していると判定された場合には、処理がステップS104へと進む。前回の追尾切り替え処理で特殊追尾処理を選択していないと判定された場合には、処理がステップS107へと進む。
ステップS104において、追尾処理部34は、フュージョンデータ不連続状態が未解消であるか否か、すなわち、フュージョンデータ不連続状態が発生しているか否かを判定する不連続判定を行う。
具体的には、追尾処理部34は、ステップS102で算出されたフュージョンデータ目標値FT(tk)に含まれる位置目標値FTp(tk)と、予測処理部32によって出力される予測データP(tk)に含まれる位置予測値Pp(tk)との差分の大きさである位置差分を算出する。
追尾処理部34は、算出した位置差分が、第1の設定閾値以上であれば、フュージョンデータ不連続状態が未解消である、すなわち、フュージョンデータ不連続状態が発生していると判定する。一方、追尾処理部34は、算出した位置差分が、第1の設定閾値未満であれば、フュージョンデータ不連続状態が解消している、すなわち、フュージョンデータ不連続状態が発生していないと判定する。
このように、追尾処理部34は、位置目標値FTpと位置予測値Ppとの間の位置差分と、第1の設定閾値との比較によって、フュージョンデータFの時間的な不連続が発生し得る状況を検出することとなる。不連続判定において、フュージョンデータ不連続状態が未解消である、すなわち、フュージョンデータ不連続状態が発生していると判定された場合には、処理がステップS106へと進む。フュージョンデータ不連続状態が解消している、すなわち、フュージョンデータ不連続状態が発生していないと判定された場合には、処理がステップS105へと進む。
ステップS105において、追尾処理部34は、前回の追尾切り替え処理で選択されている特殊追尾処理を解除し、通常追尾処理を選択する。この場合、追尾処理部34は、通常追尾処理を実行することとなる。
以上のステップS103〜ステップS105から分かるように、追尾処理部34は、通常追尾処理から特殊追尾処理に切り替えた後の不連続判定の結果として、フュージョンデータ不連続状態が発生してないと判定された場合、特殊追尾処理から通常追尾処理に切り替える。
ステップS106において、追尾処理部34は、前回の追尾切り替え処理で選択されている特殊追尾処理を継続する。この場合、追尾処理部34は、特殊追尾処理の選択を継続し、特定追尾処理を実行することとなる。
以上のステップS103、ステップS104およびステップS106から分かるように、追尾処理部34は、通常追尾処理から特殊追尾処理に切り替えた後の不連続判定の結果として、フュージョンデータ不連続状態が未解消である、すなわち、フュージョンデータ不連続状態が発生していると判定された場合、特殊追尾処理を継続する。これにより、フュージョンデータ不連続状態が解消されていなければ、特殊追尾処理を継続して実行することが可能となる。
ステップS107において、追尾処理部34は、ステップS101で取得される相関状況判定データCS(tk−1)に含まれる相関状況変化フラグの値が「1」であるか否かを判定する。相関状況変化フラグの値が「1」である場合には、処理がステップS108へと進む。相関状況変化フラグの値が「0」である場合には、追尾処理部34は、通常追尾処理を実行する。
例外として、相関状況判定データCS(tk−1)に含まれる第1の相関フラグが「0」であり、時刻tkで、第1のセンサ1がフュージョンデータFと相関する場合、処理がステップS107からステップS108に移行するように構成されている。第2のセンサ2についても同様である。
また、追尾処理部34は、相関状況判定データCS(tk−1)を参照して、時刻tkで、フュージョンデータFと相関するセンサの数が変化した場合と判断した場合、処理がステップS107からステップS108に移行するように構成されている。
ステップS108において、追尾処理部34は、フュージョンデータ不連続状態が発生しているか否かを判定する不連続判定を行う。
具体的には、追尾処理部34は、ステップS102で算出されたフュージョンデータ目標値FT(tk)に含まれる位置目標値FTp(tk)と、予測処理部32によって出力される予測データP(tk)に含まれる位置予測値Pp(tk)との差分の大きさである位置差分を算出する。
追尾処理部34は、算出した位置差分が、第2の設定閾値以上であれば、フュージョンデータ不連続状態が発生していると判定する。一方、追尾処理部34は、算出した位置差分が、第2の設定閾値未満であれば、フュージョンデータ不連続状態が発生していないと判定する。この第2の設定閾値は、第1の設定閾値よりも大きい。第1の設定閾値および第2の設定閾値のそれぞれは、固定値であってもよいし、可変値であってもよい。第1の設定閾値および第2の設定閾値のそれぞれが固定値となるように設定される場合、例えば、第2の設定閾値が3mに設定され、第1の設定閾値が0.1mに設定される。また、第2の設定閾値が可変値となるように設定される場合、例えば、以下のように、第2の設定閾値が設定される。すなわち、第2の設定閾値は、前回の時刻tk−1から今回の時刻tkまでの間、前回のフュージョンデータF(tk−1)を等加速度運動させることで得られる位置情報に対して、誤差を加味した値となるように設定される。
このように、追尾処理部34は、位置目標値FTpと位置予測値Ppとの間の位置差分と、第2の設定閾値との比較によって、フュージョンデータFの時間的な不連続が発生し得る状況を検出することとなる。不連続判定において、フュージョンデータ不連続状態が発生していると判定された場合には、処理がステップS109へと進む。フュージョンデータ不連続状態が発生していないと判定された場合には、処理がステップS110へと進む。
ステップS109において、追尾処理部34は、前回の追尾切り替え処理で選択されている通常追尾処理から特殊追尾処理に切り替え、特殊追尾処理を開始する。この場合、追尾処理部34は、特殊追尾処理を実行することとなる。
以上のステップS108およびステップS109から分かるように、追尾処理部34は、不連続判定を行い、その不連続判定の結果、フュージョンデータ不連続状態が発生していると判定された場合、実行する追尾処理を、通常追尾処理から特殊追尾処理に切り替える。これにより、フュージョンデータ不連続状態が発生している場合であっても、特殊追尾処理によってフュージョンデータFの出力の連続性を担保することが可能となる。
以上のステップS107〜ステップS109から分かるように、追尾処理部34は、フュージョンデータFと相関するセンサの数が変化した場合に不連続判定を行う。また、追尾処理部34は、相関状況判定データCS(tk−1)に含まれる相関状況変化フラグの値が「1」である場合、すなわち、第1のセンサ1および第2のセンサ2のそれぞれとフュージョンデータFとの相関の状況変化があった場合にも、不連続判定を行う。
追尾処理部34は、不連続判定の結果、フュージョンデータ不連続状態が発生していると判定された場合、実行する追尾処理を、通常追尾処理から特殊追尾処理に切り替える。これにより、フュージョンデータ不連続状態が発生している場合であっても、特殊追尾処理によってフュージョンデータFの出力の連続性を担保することが可能となる。
なお、追尾処理部34は、ステップS105において、特殊追尾処理から通常追尾処理に切り替えた場合にフュージョンデータ不連続状態の発生を抑制する抑制処理を行うように構成されていてもよい。具体的には、追尾処理部34は、抑制処理として、以下の処理を行う。
すなわち、追尾処理部34は、ステップS109において、通常追尾処理から特殊追尾処理に切り替えた場合に通常追尾処理で用いていた誤差共分散行列を保存しておく。また、追尾処理部34は、ステップS105において、特殊追尾処理から通常追尾処理に切り替えた場合に、この保存しておいた誤差共分散行列を用いて通常追尾処理を行う。
これにより、通常追尾処理で更新されている物体毎の誤差共分散行列が、特殊追尾処理では更新されず適切でない値になっている場合に対応することができる。つまり、このような適切でない値の誤差共分散行列を通常追尾処理に用いると、フュージョンデータFが観測データDに急激に近づくなどの要因によって、フュージョンデータ不連続状態が発生する可能性がある。これに対して、追尾処理部34が上述の抑制処理を行うように構成されることによって、特殊追尾処理から通常追尾処理への切り替え時に発生しうるフュージョンデータ不連続状態を抑制することが可能となる。
ステップS110において、前回の追尾切り替え処理で選択されている通常追尾処理を継続する。この場合、追尾処理部34は、通常追尾処理の選択を継続し、通常追尾処理を実行することとなる。
<特殊追尾処理>
次に、追尾処理部34によって行われる特殊追尾処理について、図6を参照しながら説明する。図6は、本発明の実施の形態1における追尾処理部34によって行われる一連の特殊追尾処理を示すフローチャートである。
ステップS201において、追尾処理部34は、追尾切り替え処理で算出されるフュージョンデータ目標値FT(tk)に含まれる位置目標値FTp(tk)が、予測処理部32によって予測される予測データP(tk)に含まれる位置予測値Pp(tk)よりも大きいか否かを判定する。位置目標値FTp(tk)が位置予測値Pp(tk)よりも大きいと判定された場合には、処理がステップS202へと進む。位置目標値FTp(tk)が位置予測値Pp(tk)以下であると判定された場合には、処理がステップS203へと進む。
ステップS202において、追尾処理部34は、調整用加速度を「加速度A1」に設定する。その後、処理がステップS204へと進む。ここで、加速度A1は、予め設定される値であり、正の値を取る。
ステップS203において、追尾処理部34は、調整用加速度を「加速度A2」に設定する。その後、処理がステップS204へと進む。ここで、加速度A2は、予め設定される値であり、負の値を取る。負の加速度は、減速度とも呼ばれる。
ステップS202またはステップS203で設定される調整用加速度は、フュージョンデータFの前回値に対してフュージョンデータFの今回値が許容範囲を超えて変化する状態、すなわち、フュージョンデータ不連続状態を発生させないようにするための調整用の物理量の一例である。
以上のステップS201〜ステップS203から分かるように、フュージョンデータ目標値FT(tk)と、予測データP(tk)との間の位置関係に応じて、調整用加速度の値が決定される。
ステップS204において、追尾処理部34は、フュージョンデータ目標値FT(tk)に含まれる速度目標値FTv(tk)が、予測データP(tk)に含まれる速度予測値Pv(tk)よりも大きいか否かを判定する。速度目標値FTv(tk)が速度予測値Pv(tk)よりも大きいと判定された場合には、処理がステップS205へと進む。速度目標値FTv(tk)が速度予測値Pv(tk)以下であると判定された場合には、処理がステップS206へと進む。
ステップS205において、追尾処理部34は、調整用距離B1を算出する。その後、処理がステップS207へと進む。この調整用距離B1は、速度目標値FTv(tk)から速度予測値Pv(tk)を減算することで得られるプラスの速度差Δv(tk)を、調整用加速度によって解消するために必要な距離である。調整用距離B1は、例えば、以下の式に従って算出される。
B1=(T×Pv(tk))+(0.5×調整用加速度×T2)
ただし、T=Δv(tk)/調整用加速度
ステップS206において、追尾処理部34は、調整用距離B2を算出する。その後、処理がステップS207へと進む。この調整用距離B2は、速度目標値FTv(tk)から速度予測値Pv(tk)を減算することで得られるマイナスの速度差を、調整用加速度によって解消するために必要な距離である。なお、調整用距離B2の算出方法は、調整用距離B1の算出方法と同様である。
ステップS207において、追尾処理部34は、ステップS201と同様のステップを実行する。位置目標値FTp(tk)が位置予測値Pp(tk)よりも大きいと判定された場合には、処理がステップS208へと進む。位置目標値FTp(tk)が位置予測値Pp(tk)以下であると判定された場合には、処理がステップS211へと進む。
ステップS208において、追尾処理部34は、位置予測値Pp(tk)と、位置目標値FTp(tk)との差分の大きさである位置差分を算出し、算出した位置差分が、調整用距離B1よりも大きいか否かを判定する。位置差分が調整用距離B1よりも大きいと判定された場合には、処理がステップS209へと進む。位置差分が調整用距離B1以下であると判定された場合には、処理がステップS210へと進む。
ステップS209において、追尾処理部34は、ステップS202で設定された調整用加速度をそのまま保持する。その後、特殊追尾処理が終了となる。
ステップS210において、追尾処理部34は、ステップS202で設定された調整用加速度を、「加速度A1」から「加速度A2」に設定し直す。その後、特殊追尾処理が終了となる。この場合、負の値である加速度A2によって、フュージョンデータF(tk)の減速が開始されることとなる。
ステップS211において、追尾処理部34は、位置予測値Pp(tk)と、位置目標値FTp(tk)との差分の大きさである位置差分を算出し、算出した位置差分が、調整用距離B2よりも大きいか否かを判定する。位置差分が調整用距離B2よりも大きいと判定された場合には、処理がステップS212へと進む。位置差分が調整用距離B2以下であると判定された場合には、処理がステップS213へと進む。
ステップS212において、追尾処理部34は、ステップS203で設定された調整用加速度をそのまま保持する。その後、特殊追尾処理が終了となる。
ステップS213において、追尾処理部34は、ステップS203で設定された調整用加速度を、「加速度A2」から「加速度A1」に設定し直す。その後、特殊追尾処理が終了となる。この場合、正の値である加速度A1によって、フュージョンデータF(tk)の加速が開始されることとなる。
以上のステップS204〜ステップS213から分かるように、追尾処理部34は、調整用距離および位置差分を算出し、算出した調整用距離および位置差分に応じて、ステップS202またはステップS203で設定された調整用加速度の見直しを行う。これにより、位置フュージョン値Fpを位置目標値FTpに接近させるとともに、速度フュージョン値Fvを速度目標値FTvに接近させることが可能となる。
追尾処理部34は、上述の調整用加速度の設定が完了すれば、予測データP(tk)と等価である追尾データT(tk)をフュージョン結果出力部35に出力する。
<フュージョン結果更新処理>
次に、フュージョン結果出力部35によって行われるフュージョン結果更新処理について、図7を参照しながら説明する。図7は、本発明の実施の形態1におけるフュージョン結果出力部35によって行われる一連のフュージョン結果更新処理を示すフローチャートである。
ステップS301において、フュージョン結果出力部35は、追尾処理部34から入力される追尾データT(tk)が、通常追尾処理が実行されることで得られたデータであるか否かを判定する。追尾データT(tk)が、通常追尾処理が実行されることで得られたデータであると判定された場合には、処理がステップS302へと進む。追尾データT(tk)が、通常追尾処理が実行されることで得られたデータでないと判定された場合には、処理がステップS303へと進む。
ステップS302において、フュージョン結果出力部35は、通常追尾処理が実行されることで得られた追尾データT(tk)を、フュージョンデータF(tk)として出力する。
ステップS303において、フュージョン結果出力部35は、特殊追尾処理が実行されることで得られた追尾データT(tk)と等価である予測データP(tk)に対して、物理量制御処理を施し、その物理量制御処理後の予測データPを、フュージョンデータFとして出力する。すなわち、ステップS303において、フュージョン結果出力部35は、予測データP(tk)に含まれる加速度予測値Pa(tk)を、上述の特殊追尾処理で設定した調整用加速度に置き換え、その置き換え後の予測データP(tk)を、フュージョンデータF(tk)として出力する。この場合、フュージョンデータF(tk)に含まれる加速度フュージョン値Fa(tk)は、この調整用加速度と等価である。
以上のステップS303から分かるように、フュージョン結果出力部35は、追尾処理部34によって出力される追尾データT(tk)が通常追尾処理を実行することで得られたデータである場合、追尾データT(tk)と等価である予測データP(tk)に含まれる特定の物理量の予測値の一例である加速度予測値Pa(tk)を、調整用の物理量の一例である調整用加速度に置き換える。フュージョン結果出力部35は、その置き換え後の予測データP(tk)を、フュージョンデータF(tk)として出力する。
このようなフュージョンデータFが予測処理部32に与えられるので、予測処理部32は、追尾処理部34によって実行される追尾処理が特殊追尾処理に切り替わっている場合の予測処理において、時間経過に従って滑らかに遷移する予測データPを生成することが可能となる。その結果、フュージョンデータ不連続状態が発生している場合であっても、フュージョンデータFの出力の連続性を担保することが可能となる。
<相関状況判定処理>
次に、相関状況判定部36によって行われる相関状況判定処理について、図8を参照しながら説明する。図8は、本発明の実施の形態1における相関状況判定部36によって行われる一連の相関状況判定処理を示すフローチャートである。
ステップS401において、相関状況判定部36は、前回の相関状況判定処理、すなわち、時刻tk−1の相関状況判定処理で得られた相関状況判定データCS(tk−1)を取得する。その後、処理がステップS402へと進む。
ステップS402において、相関状況判定部36は、第1のセンサ1とフュージョンデータF(tk)とが相関するか否かを判定する。第1のセンサ1とフュージョンデータF(tk)とが相関すると判定された場合には、処理がステップS403へと進む。第1のセンサ1とフュージョンデータF(tk)とが相関しないと判定された場合には、処理がステップS404へと進む。
ステップS403において、相関状況判定部36は、第1の相関フラグを「1」に設定する。その後、処理がステップS405へと進む。第1の相関フラグが「1」であることは、第1のセンサ1とフュージョンデータF(tk)とが相関することと等価である。
ステップS404において、相関状況判定部36は、第1の相関フラグを「0」に設定する。その後、処理がステップS405へと進む。第1の相関フラグが「0」であることは、第1のセンサ1とフュージョンデータF(tk)とが相関しないことと等価である。
ステップS405において、相関状況判定部36は、第2のセンサ2とフュージョンデータF(tk)とが相関するか否かを判定する。第2のセンサ2とフュージョンデータF(tk)とが相関すると判定された場合には、処理がステップS406へと進む。第2のセンサ2とフュージョンデータF(tk)とが相関しないと判定された場合には、処理がステップS407へと進む。
ステップS406において、相関状況判定部36は、第2の相関フラグを「1」に設定する。その後、処理がステップS408へと進む。第2の相関フラグが「1」であることは、第2のセンサ2とフュージョンデータF(tk)とが相関することと等価である。
ステップS407において、相関状況判定部36は、第2の相関フラグを「0」に設定する。その後、処理がステップS408へと進む。第2の相関フラグが「0」であることは、第2のセンサ2とフュージョンデータF(tk)とが相関しないことと等価である。
ステップS408において、相関状況判定部36は、ステップS403またはステップS404で設定された第1の相関フラグの値と、相関状況判定データCS(tk−1)に含まれる第1の相関フラグの値とが同じであるか否かを判定する。今回の第1の相関フラグの値と、前回の第1の相関フラグの値とが同じであると判定された場合には、処理がステップS409へと進む。今回の第1の相関フラグの値と、前回の第1の相関フラグの値とが同じでないと判定された場合には、処理がステップS412へと進む。
ステップS409において、相関状況判定部36は、ステップS406またはステップS407で設定された第2の相関フラグの値と、相関状況判定データCS(tk−1)に含まれる第2の相関フラグの値とが同じであるか否かを判定する。今回の第2の相関フラグの値と、前回の第2の相関フラグの値とが同じであると判定された場合には、処理がステップS410へと進む。今回の第2の相関フラグの値と、前回の第2の相関フラグの値とが同じでないと判定された場合には、処理がステップS411へと進む。
ステップS410において、相関状況判定部36は、相関状況変化フラグを「0」に設定する。その後、処理がステップS413へと進む。相関状況変化フラグが「0」であることは、前回の相関状況判定処理と、今回の相関状況判定処理との間で、相関状況、すなわち相関フラグに変化がないことと等価である。
ステップS411において、相関状況判定部36は、相関状況変化フラグを「1」に設定する。その後、処理がステップS413へと進む。相関状況変化フラグが「1」であることは、前回の相関状況判定処理と、今回の相関状況判定処理との間で、相関状況、すなわち相関フラグに変化があったことと等価である。
ステップS412において、相関状況判定部36は、相関状況変化フラグを「1」に設定する。その後、処理がステップS413へと進む。
ステップS413において、相関状況判定部36は、第1の相関フラグ、第2の相関フラグおよび相関状況変化フラグを含む相関状況判定データCS(tk)を追尾処理部34に出力する。このような相関状況判定データCSを追尾処理部34に与えることで、フュージョンデータFと相関しているセンサの数が変化していないが、フュージョンデータFと相関するセンサの種類が変化したという状況に対応した追尾切り替え処理の実行が可能となる。
<物体認識装置3の処理例>
次に、物体認識装置3の処理例について、図9〜図12を参照しながら説明する。図9は、本発明の実施の形態1における物体認識装置3の処理例を示す説明図である。図10は、図9のフュージョンデータFに含まれる位置フュージョン値Fpと、図9のフュージョンデータ目標値FTに含まれる位置目標値FTpとの各時間変化を示すグラフである。
図11は、図9のフュージョンデータFに含まれる速度フュージョン値Fvと、図9のフュージョンデータ目標値FTに含まれる速度目標値FTvとの各時間変化を示すグラフである。図12は、図9のフュージョンデータFに含まれる加速度フュージョン値Faと、図9のフュージョンデータ目標値FTに含まれる加速度目標値FTaとの各時間変化を示すグラフである。
なお、図9では、物体と自車両がともに同一の加速度および速度で前進しているものとする。この場合、自車両に対する物体の相対速度および相対加速度がともに0となる。また、図9では、第2のセンサ2がフュージョンデータFと相関するものとし、さらに、時刻t1以降に第1のセンサ1のロストが発生するものとする。この場合、時刻t1以降では、フュージョンデータ目標値FTは、第2の観測データD2と等価である。
図10〜図12の横軸は、時間を示す。図10〜図12の縦軸は、それぞれ、自車両に対する物体の縦方向の相対位置、自車両に対する物体の縦方向の相対速度、および自車両に対する物体の縦方向の相対加速度を示す。
時刻t0では、第1のセンサ1から得られた第1の観測データD1(t0)と、第2のセンサ2から得られた第2の観測データD2(t0)を用いて、通常追尾処理が行われ、結果として、フュージョンデータF(t0)が得られている。
上述の状況では、フュージョンデータF(t0)が第1のセンサ1および第2のセンサ2のそれぞれと相関しているので、相関状況判定部36は、第1のフラグおよび第2のフラグをそれぞれ「1」に設定する。また、相関状況判定部36は、相関状況変化フラグを「0」に設定する。相関状況判定部36は、第1の相関フラグ、第2の相関フラグおよび相関状況変化フラグを含む相関状況判定データCS(t0)を追尾処理部34に与える。
図9に示すように、時刻t1では、予測処理部32は、フュージョンデータF(t0)を用いて予測処理を実行することで、予測データP(t1)を生成する。
追尾処理部34は、先の図5に示す追尾切り替え処理を実行する。追尾処理部34は、ステップS101を実行することで、相関状況判定データCS(t0)を取得する。続いて、追尾処理部34は、ステップS102を実行することで、第2の観測データD2(t1)に基づいて、フュージョンデータ目標値FT(t1)を算出する。
前回の時刻t0では通常追尾処理が実行されている。また、相関状況判定データCS(t0)に含まれる相関状況変化フラグの値が「0」である。しかしながら、時刻t1では、フュージョンデータFと相関するセンサの数が「2」から「1」に減少している。この場合、追尾切り替え処理は、ステップS103から、ステップS107、ステップS108の順に移行する。
続いて、追尾処理部34は、フュージョンデータ目標値FT(t1)と予測データP(t1)とから算出した位置差分を用いて、ステップS108を実行する。ここでは、この位置差分は、第2の設定閾値よりも大きいものとする。この場合、フュージョンデータ不連続状態が発生していると判定されるので、追尾切り替え処理は、ステップS108からステップS109に移行する。追尾処理部34は、ステップS109を実行することで、先の図6に示す特殊追尾処理を開始する。
追尾処理部34は、先の図6に示す特殊追尾処理を実行する。追尾処理部34は、フュージョンデータ目標値FT(t1)と予測データP(t1)とを用いて、ステップS201を実行する。ここでは、図10から分かるように、位置目標値FTp(t1)が位置予測値Pp(t1)以下であるものとする。この場合、特殊追尾処理は、ステップS201からステップS203に移行する。追尾処理部34は、ステップS203を実行することで、調整用加速度を「加速度A2」に設定する。ここでは、加速度A2の値が「−0.4G」であるものとする。
続いて、追尾処理部34は、フュージョンデータ目標値FT(t1)と予測データP(t1)とを用いて、ステップS204を実行する。ここでは、図11から分かるように、速度目標値FTv(t1)が速度予測値Pv(t1)以下であるものとする。この場合、特殊追尾処理は、ステップS204からステップS206に移行する。追尾処理部34は、ステップS206を実行することで、調整用距離B2を算出する。
続いて、追尾処理部34は、ステップS201と同様のステップS207を実行する。この場合、特殊追尾処理は、ステップS207からステップS211に移行する。追尾処理部34は、位置予測値Pp(t1)と位置目標値FTp(t1)とから算出した位置差分と、調整用距離B2とを用いて、ステップS211を実行する。ここでは、位置差分が調整用距離B2よりも大きいものとする。この場合、特殊追尾処理は、ステップS211からステップS212に移行する。
続いて、追尾処理部34は、ステップS212を実行することで、設定された調整用加速度、すなわち、加速度A2をそのまま保持する。追尾処理部34は、予測データP(t1)を、追尾データT(t1)として出力する。
フュージョン結果出力部35は、先の図7に示すフュージョン結果更新処理を実行する。追尾データT(t1)は、追尾処理部34によって特殊追尾処理が実行されることで得られたデータである。したがって、フュージョン結果更新処理は、ステップS301からステップS303に移行する。
続いて、フュージョン結果出力部35は、特殊追尾処理が実行されることで得られた追尾データT(t1)と等価である予測データP(t1)に含まれる加速度予測値Pa(t1)を、上述の「−0.4G」に変更する。フュージョン結果出力部35は、その変更後の予測データP(t1)を、フュージョンデータF(t1)として出力する。
相関状況判定部36は、先の図8に示す相関状況判定処理を実行する。相関状況判定部36は、ステップS401を実行することで、相関状況判定データCS(t0)を取得する。図9から分かるように、相関状況判定部36は、第1のフラグを「0」に設定し、第2の相関フラグを「1」に設定する。
相関状況判定データCS(t0)に含まれる第1の相関フラグおよび第2の相関フラグは、それぞれ、「1」および「1」である。したがって、相関状況判定部36は、相関状況変化フラグを「1」に設定する。また、相関状況判定部36は、相関状況判定データCS(t1)を、追尾処理部34に与える。
図9に示すように、時刻t2では、予測処理部32は、前回のフュージョンデータF(t1)と、前回の特殊追尾処理で設定された調整用加速度、すなわち「−0.4G」とを用いて、時刻t1から時刻t2までの間、フュージョンデータF(t1)を等加速度運動させることで得られる予測データP(t2)を生成する。
追尾処理部34は、先の図5に示す追尾切り替え処理を実行する。ここで、前回の時刻t1では特殊追尾処理が実行されている。したがって、追尾切り替え処理は、ステップS101から、ステップS102、ステップS103、ステップS104の順に移行する。
続いて、追尾処理部34は、フュージョンデータ目標値FT(t2)と、予測データP(t2)とから算出した位置差分を用いて、ステップS104を実行する。ここでは、この位置差分は、第1の設定閾値よりも大きいものとする。この場合、フュージョンデータ不連続状態が発生していると判定されるので、追尾切り替え処理は、ステップS104からステップS106に移行する。追尾処理部34は、ステップS106を実行することで、特殊追尾処理を継続する。
追尾処理部34は、先の図6に示す特殊追尾処理を実行する。追尾処理部34は、フュージョンデータ目標値FT(t2)と予測データP(t2)とを用いて、ステップS201を実行する。ここでは、図10から分かるように、位置目標値FTp(t2)が位置予測値Pp(t2)以下であるものとする。また、図11から分かるように、速度目標値FTv(t1)が速度予測値Pv(t1)以下であるものとする。
この場合、特殊追尾処理は、ステップS201から、ステップS203、ステップS204、ステップS206、ステップS207、ステップS211の順に移行する。これにより、追尾処理部34は、調整用加速度を「加速度A2」に設定し、調整用距離B2を算出する。
続いて、追尾処理部34は、位置予測値Pp(t2)と位置目標値FTp(t2)とから算出した位置差分と、調整用距離B2とを用いて、ステップS211を実行する。ここでは、位置差分が調整用距離B2よりも大きいものとする。この場合、特殊追尾処理は、ステップS211からステップS212に移行する。
続いて、追尾処理部34は、時刻t1と同様に、ステップS212を実行することで、調整用加速度として「−0.4G」をそのまま保持する。追尾処理部34は、予測データP(t2)を、追尾データT(t2)として出力する。
フュージョン結果出力部35は、先の図7に示すフュージョン結果更新処理を実行する。追尾データT(t1)は、追尾処理部34によって特殊追尾処理が実行されることで得られたデータである。したがって、フュージョン結果更新処理は、ステップS301からステップS303に移行する。
続いて、フュージョン結果出力部35は、特殊追尾処理が実行されることで得られた追尾データT(t2)と等価である予測データP(t2)に含まれる加速度予測値Pa(t2)を、上述の「−0.4G」にする。フュージョン結果出力部35は、この予測データP(t2)を、フュージョンデータF(t2)として出力する。
相関状況判定部36は、先の図8に示す相関状況判定処理を実行する。図9から分かるように、相関状況判定部36は、第1のフラグを「0」に設定し、第2の相関フラグを「1」に設定する。
相関状況判定データCS(t1)に含まれる第1の相関フラグおよび第2の相関フラグは、それぞれ、「0」および「1」である。したがって、相関状況判定部36は、相関状況変化フラグを「0」に設定する。また、相関状況判定部36は、相関状況判定データCS(t2)を、追尾処理部34に与える。
時刻t2以降、時刻tnまでの期間、物体認識装置3は、時刻t2と同様の処理を行う。この期間に特殊追尾処理が繰り返し行われることで、図10〜図12に示すように、調整用加速度を「−0.4G」として、フュージョンデータFが等加速度運動に従って時間的に遷移する。これにより、位置フュージョン値Fpが位置目標値FTpに近づく。
図9に示すように、時刻tnでは、予測処理部32は、前回のフュージョンデータF(tn−1)と、前回の特殊追尾処理で設定された調整用加速度、すなわち「−0.4G」とを用いて、時刻tn−1から時刻tnまでの間、フュージョンデータF(tn−1)を等加速度運動させることで得られる予測データP(tn)を生成する。
追尾処理部34は、先の図5に示す追尾切り替え処理を実行する。ここで、前回の時刻tn−1では特殊追尾処理が実行されている。したがって、追尾切り替え処理は、ステップS101から、ステップS102、ステップS103、ステップS104の順に移行する。
続いて、追尾処理部34は、フュージョンデータ目標値FT(tn)と、予測データP(tn)とから算出した位置差分を用いて、ステップS104を実行する。ここでは、この位置差分は、第1の設定閾値よりも大きいものとする。この場合、フュージョンデータ不連続状態が発生していると判定されるので、追尾切り替え処理は、ステップS104からステップS106に移行する。追尾処理部34は、ステップS106を実行することで、特殊追尾処理を継続する。
追尾処理部34は、先の図6に示す特殊追尾処理を実行する。追尾処理部34は、フュージョンデータ目標値FT(tn)と予測データP(tn)とを用いて、ステップS201を実行する。ここでは、図10に示すように、位置目標値FTp(tn)が位置予測値Pp(tn)以下であるものとする。また、図11に示すように、速度目標値FTv(tn)が速度予測値Pv(tn)以下であるものとする。
この場合、特殊追尾処理は、ステップS201から、ステップS203、ステップS204、ステップS206、ステップS207、ステップS211の順に移行する。これにより、追尾処理部34は、調整用加速度を「加速度A2」に設定し、調整用距離B2を算出する。
続いて、追尾処理部34は、位置予測値Pp(tn)と位置目標値FTp(tn)とから算出した位置差分と、調整用距離B2とを用いて、ステップS211を実行する。ここでは、図9に示すように、位置差分が調整用距離B2よりも小さいものとする。この場合、特殊追尾処理は、ステップS211からステップS213に移行する。
続いて、追尾処理部34は、ステップS213を実行することで、ステップS203で設定された調整用加速度を、「加速度A2」から「加速度A1」に設定し直す。ここでは、加速度A1の値が「0.2G」であるものとする。追尾処理部34は、予測データP(tn)を、追尾データT(tn)として出力する。
フュージョン結果出力部35は、先の図7に示すフュージョン結果更新処理を実行する。追尾データT(tn)は、追尾処理部34によって特殊追尾処理が実行されることで得られたデータである。したがって、フュージョン結果更新処理は、ステップS301からステップS303に移行する。
続いて、フュージョン結果出力部35は、特殊追尾処理が実行されることで得られた追尾データT(tn)と等価である予測データP(tn)に含まれる加速度予測値Pa(tn)を、上述の「0.2G」に変更する。フュージョン結果出力部35は、その変更後の予測データP(tn)を、フュージョンデータF(tn)として出力する。
相関状況判定部36は、先の図8に示す相関状況判定処理を実行する。図9から分かるように、相関状況判定部36は、第1のフラグを「0」に設定し、第2の相関フラグを「1」に設定する。
相関状況判定データCS(tn−1)に含まれる第1の相関フラグおよび第2の相関フラグは、それぞれ、「0」および「1」である。したがって、相関状況判定部36は、相関状況変化フラグを「0」に設定する。また、相関状況判定部36は、相関状況判定データCS(tn)を、追尾処理部34に与える。
時刻tn以降、時刻tmまでの期間、物体認識装置3は、時刻tnと同様の処理を行う。この期間に上述の特殊追尾処理が繰り返し行われることで、図10〜図12に示すように、調整用加速度を「0.2G」として、フュージョンデータFが等加速度運動に従って時間的に遷移する。これにより、位置フュージョン値Fpが位置目標値FTpに近づくとともに、速度フュージョン値Fvが速度目標値FTvに近づく。
図9に示すように、時刻tmでは、予測処理部32は、前回のフュージョンデータF(tm−1)と、前回の特殊追尾処理で設定された調整用加速度、すなわち「0.2G」とを用いて、時刻tm−1から時刻tmまでの間、フュージョンデータF(tm−1)を等加速度運動させることで得られる予測データP(tm)を生成する。
追尾処理部34は、先の図5に示す追尾切り替え処理を実行する。ここで、前回の時刻tm−1では特殊追尾処理が実行されている。したがって、追尾切り替え処理は、ステップS101から、ステップS102、ステップS103、ステップS104の順に移行する。
続いて、追尾処理部34は、フュージョンデータ目標値FT(tm)と、予測データP(tm)とから算出した位置差分を用いて、ステップS104を実行する。ここでは、この位置差分は、第1の設定閾値よりも小さいものとする。この場合、フュージョンデータ不連続状態が発生していないと判定されるので、追尾切り替え処理は、ステップS104からステップS105に移行する。追尾処理部34は、ステップS105を実行することで、特殊追尾処理を解除する。
追尾処理部34は、フュージョンデータ目標値FT(tm)、すなわち第2の観測データD2(tm)と、予測データP(tm)とを用いて、通常追尾処理を行うことで、追尾データT(tm)を生成する。
次に、フュージョン結果出力部35は、先の図7に示すフュージョン結果更新処理を実行する。追尾データT(tm)は、追尾処理部34によって通常追尾処理が実行されることで得られたデータである。したがって、フュージョン結果更新処理は、ステップS301からステップS302に移行する。
続いて、フュージョン結果出力部35は、通常追尾処理で得られた追尾データT(tm)を、フュージョンデータF(tm)として出力する。
以上、本実施の形態1によれば、物体認識装置3は、フュージョンデータ不連続状態が発生している場合、特殊追尾処理を実行し、特殊追尾処理において、フュージョンデータ不連続状態が解消するようにするための調整用の物理量を設定し、予測データPと等価である追尾データTを生成するように構成されている。より具体的には、物体認識装置3は、その追尾データTと等価である予測データPに含まれる特定の物理量の予測値を、設定される調整用の物理量に置き換え、置き換え後の予測データPを、フュージョンデータFの今回値として出力するように構成されている。これにより、フュージョンデータの前回値に対してフュージョンデータの今回値が許容範囲を超えて変化する状態が発生してしまうことを抑制することができる。
なお、上述した実施の形態1における物体認識装置3の各機能は、処理回路によって実現される。各機能を実現する処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサであってもよい。
処理回路が専用のハードウェアである場合、処理回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。データ受信部31、予測処理部32、相関処理部33、追尾処理部34、フュージョン結果出力部35、および相関状況判定部36の各部の機能それぞれを個別の処理回路で実現してもよいし、各部の機能をまとめて処理回路で実現してもよい。
一方、処理回路がプロセッサの場合、データ受信部31、予測処理部32、相関処理部33、追尾処理部34、フュージョン結果出力部35、および相関状況判定部36の各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリに格納される。プロセッサは、メモリに記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、データ受信ステップ、予測処理ステップ、相関処理ステップ、追尾処理ステップ、フュージョン結果出力ステップ、および相関状況判定ステップが結果的に実行されることになるプログラムを格納するためのメモリを備える。
これらのプログラムは、上述した各部の手順あるいは方法をコンピュータに実行させるものであるともいえる。ここで、メモリとは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリが該当する。また、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等も、メモリに該当する。
なお、上述した各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。