車両挙動推定装置の詳細を図示した実施形態に基づいて説明する。
〈概略構成〉
図1は、車両挙動推定装置の概略構成を示す機能ブロック図である。
車両挙動推定装置100は、挙動パラメータ算出部101と、車両モデル演算部102と、模擬制御部103とを備える。
挙動パラメータ算出部101は、所定地点を通過する際の制約条件を満たす車両モデルの挙動パラメータを算出する。所定地点を通過する際の制約条件は、たとえば、道路上の所定地点に設置されたセンサによって検出された車両の観測データに基づいて生成され、車両モデルが所定地点を通過する際の時刻、速度に関する条件を含むことができる。挙動パラメータ算出部101は、最初の所定地点を通過する際の制約条件を満たす値を車両状態データの初期値とし、この車両状態データと次の所定地点を通過する際の制約条件とに基づいて、車両モデルの目標速度及び/または目標加速度を挙動パラメータとして算出する。
車両モデル演算部102は、挙動パラメータ算出部101で算出された挙動パラメータに基づいて車両モデルの挙動を決定し、車両状態データを出力する。車両モデル演算部102では、たとえば、挙動パラメータに基づいて、その車両を運転する運転者の運転挙動を模擬する運転者モデルと、運転者モデルの運転挙動に基づいて車体の物理的な運動を模擬する車体運動モデルとを演算して、車両モデルの現在の車両状態データを更新することができる。
模擬制御部103は、挙動パラメータ算出部101及び車両モデル演算部102における処理を所定時間間隔で実行させる。
図2は、車両挙動推定装置100の処理に関する説明図である。
第1時刻t1において走行速度v1で所定地点s1を通過すること、および第2時刻t2において走行速度v2で所定地点s2を通過することが、所定地点s1および所定地点s2を通過する際の制約条件であるとする。
車両モデル演算部102は、所定地点s1を通過する際の制約条件を満たす値を初期値とする車両モデルを生成する。車両モデル演算部102は、走行速度v1で走行する車両モデルを第1時刻t1に所定地点s1に出現させる。
車両モデル演算部102により生成された車両モデルの車両状態データは、たとえば、車両モデルの現在の位置情報、走行速度情報などを備え、所定の記憶領域に格納される。車両モデル演算部102は、挙動パラメータに基づいて車両モデルの挙動を決定し、車両状態データを出力する。
挙動パラメータ算出部101は、次の所定地点s2を通過する際の制約条件と、現在の車両状態データとに基づいて、挙動パラメータを算出する。挙動パラメータ算出部101は、車両モデルが第2時刻t2に次の所定地点s2を走行速度v2で走行するための車両モデルの挙動に関するパラメータを決定するものであって、車両モデルの目標走行速度、目標加速度などを挙動パラメータとして算出する。
車両モデル演算部102は、挙動パラメータ算出部101で算出された挙動パラメータに基づいて車両モデルの挙動を決定し、車両状態データを算出する。車両モデル演算部102は、運転者の運転挙動を決定する運転者モデルと、車体の物理的な挙動を決定する車体運動モデルから構成されるようにしてもよい。運転者モデルは、周辺に存在する他の車両モデルや、信号、踏切、その他の交通環境を考慮して運転者の挙動を決定する。車体運動モデルは、運転者モデルの操作に応じて車輪の回転や路面との摩擦などの物理的な車体の挙動を決定する。
模擬制御部103は、挙動パラメータ算出部101及び車両モデル演算部102による処理を所定時間間隔で実行させる。模擬制御部103は、車両モデル演算部102から出力される車両状態データと次の所定地点における制約条件に基づいて挙動パラメータ算出部101による挙動パラメータの算出処理を所定時間間隔で実行させる。車両モデル演算部102は、所定時間間隔で更新される挙動パラメータに基づいて、車両モデルの挙動を特定し車両モデルの車両状態データを算出して出力する。
なお、模擬制御部103は、挙動パラメータ算出部101及び車両モデル演算部102による処理の時間間隔によりシミュレーションの精度を変更することが可能である。
また、この車両挙動推定装置100は、同一時間帯において出現する複数の車両の挙動を推定するものであって、車両モデル演算部102から出力される各車両モデルに対する車両状態データが所定の記憶領域に格納される。この場合、車両モデル演算部102は、他の車両モデルの車両状態データにより影響をうける運転者の運転挙動を算出し、これに基づいた車両モデルの挙動を決定することができる。この場合、周囲の車両モデルの影響を考慮した車両挙動を推定することができる。
車両モデル演算部102により出力される車両状態データに基づいて表される車両モデルの挙動は、物理的法則に従うように算出されており、図2に示されているように、第1所定地点s1から第2所定地点s2に到達するまでの間に、過度の急加速や急停車などの不自然な挙動が含まれなくなる。
〈第1実施形態〉
車両挙動推定装置の第1実施形態について説明する。
図3は、車両挙動推定装置の第1実施形態の機能ブロック図である。
ここでは、概略構成で示した基本構成に各種データベースを追加した構成を示す。
車両挙動推定装置100は、所定地点を通過する際の制約条件を格納する制約条件格納部110を備えている。
制約条件格納部110に格納される制約条件は、たとえば、所定地点を通過する時刻、その時の走行速度などを含むものである。制約条件は観測データに基づいて生成することができる。
挙動パラメータ格納部111は、挙動パラメータ算出部101で算出された挙動パラメータを格納するものであって、現在の目標速度、目標加速度などを挙動パラメータとして格納する。
車両状態データ格納部112は、車両モデル制御部103によって模擬される車両モデルの現在の位置情報、速度情報などを格納する。
車両モデル演算部102は、車両を運転する運転者の挙動を模擬する運転者モデル演算部105と、車体の物理的な挙動を模擬する車体運動モデル演算部106から構成される。
運転者モデル演算部105は、現在の挙動パラメータに基づき運転者の挙動を模擬する。運転者モデル演算部105は、たとえば、長周期的な経路選択行動、中周期的な自由走行、追従走行、信号などによる停止などを含む運転行動、短周期的なペダルやハンドル操作などを模擬する。最終的には、ステアリング操作量、アクセル・ブレーキペダル操作量などを決定して、車体運動モデル演算部106に送信する。
車両モデル演算部102は、車体の物理的な挙動を模擬する。車両モデル演算部102は、例えば、車輪の回転やタイヤと路面との摩擦などを模擬し、座標系における車両モデルの位置、及び速度を決定する。車体運動モデルに関しては、当該技術分野において周知であり、詳細は省略する。
前述したように、制約条件格納部110には、車両が所定地点を通過する際の通過時刻と、その時の走行速度に関する制約条件が格納されている。
模擬制御部103は、最初の所定地点における制約条件を満たす値を初期値とする車両モデルを車両モデル演算部102に生成させる。この時の車両状態データは、最初の所定地点における位置情報と、その所定地点を通過する際の車両モデルの走行速度とすることができる。
挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件のうち、次の所定地点における制約条件と、現在の車両状態データに基づいて挙動パラメータを算出する。
図4は、制約条件格納部110に格納される制約条件テーブルの一例を示す説明図である。
制約条件テーブル400は、車両ID欄、位置欄、通過時刻欄、通過速度欄を備えており、車両毎に所定位置を通過する時刻とその時の走行速度を格納することができる。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。観測時には、車両ナンバー、車体の特徴、通過順などに応じて、所定地点を通過する車両が同一車両と同定できる。そこで、同一車両の観測データから制約条件を生成する場合、同一の車両IDを制約条件に付与することができる。
位置欄は、所定地点の位置座標を格納するものである。観測データから制約条件を生成する場合、観測データを検出したセンサの配置位置である。
通過時刻欄及び通過速度欄には、所定地点を車両が通過する時刻とその時の走行速度が格納される。観測データから制約条件を生成する場合、センサ地点を車両が通過した時刻とその時の走行速度に基づき条件を設定する。
図5は、観測データを説明するための説明図である。
図5に示すように、車両IDが「A」の車両は、時刻t1aにおいて、走行速度v1aで位置s1を通過したものとする。
この場合、位置s1に設置された第1センサにより、通過時刻t1a、通過速度v1aを車両Aの観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
同様に、車両IDが「A」の車両が、時刻t2aにおいて、走行速度v2aで位置s2を通過した場合、位置s2に設置された第2センサにより、通過時刻t2a、通過速度v2aを車両Aの観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
また、同様に、車両IDが「B」の車両が、通過時刻t1b、通過速度v1bで位置s1を通過し、通過時刻t2b、通過速度v2bで位置s2を通過したことをそれぞれの所定地点に設置されたセンサにより検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
車両モデル演算部102は、最初の制約条件を満たす値を車両状態データとする車両モデルを生成し、その時の車両状態データを車両状態データ格納部112に格納する。
たとえば、位置s1における制約条件が最初の制約条件である場合には、車両モデル演算部102は、位置s1における制約条件を満たす値を車両状態データの初期値とする車両モデルを生成し、車両状態データ格納部112に車両状態データを格納する。
図6は、車両状態データ格納部112に格納される車両状態データテーブルの一例を示す説明図である。
車両状態データテーブル600は、車両ID欄、位置座標欄、速度欄を備えている。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。
位置座標欄には、現在の車両モデルの位置情報が格納される。位置座標欄に格納される位置座標は、最初の制約条件を満たす値を初期値として、車両モデル演算部102により更新される。
速度欄には、現在の車両モデルの走行速度情報が格納される。速度欄に格納される走行速度情報は、最初の制約条件を満たす値を初期値として、車両モデル演算部102により更新される。
挙動パラメータ算出部101は、次の所定地点の制約条件と、車両状態データ格納部112に格納されている現在の車両状態データから挙動パラメータを算出する。
次の所定地点が図4に示す所定位置s2である場合、挙動パラメータ算出部101は、通過時刻t2a時点における走行速度がv2aとなるように、現在の車両状態データの位置情報と速度情報から目標速度及び目標加速度を算出する。
図7は、挙動パラメータ格納部111に格納される挙動パラメータテーブルの一例を示す説明図である。
挙動パラメータテーブル700は、車両ID欄、目標速度欄、目標加速度欄を備えている。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。
目標速度欄には、挙動パラメータ算出部101により挙動パラメータとして算出された目標速度が格納される。
目標加速度欄には、挙動パラメータ算出部101により挙動パラメータとして算出された目標加速度が格納される。
車両モデル演算部102は、挙動パラメータ算出部101により算出されて挙動パラメータ格納部111に格納されている挙動パラメータに基づいて車両モデルの挙動を決定する。図7に示すように、目標速度と目標加速度とを挙動パラメータとする場合、車両モデル演算部102は、速度が目標速度に達するまで、目標加速度で加速または減速するように車両モデルの挙動を決定する。
〈第2実施形態〉
第2実施形態による車両挙動推定装置を以下に示す。
図8は、第2実施形態による車両挙動推定装置の機能ブロック図である。
第1実施形態と同様にして、挙動パラメータ算出部101、車両モデル演算部102、模擬制御部103、制約条件格納部110、挙動パラメータ格納部111、車両状態データ格納部112の構成は第1実施形態と同様である。
車両挙動推定装置100は、制約条件格納部110に格納される制約条件を、車両検出部801で検出される観測データから生成する。
また、車両挙動推定装置100は、車両モデル演算部102により算出された車両モデルの挙動が、制約条件とどの程度一致しているかを判定するための制約条件充足状況出力部802を備える。
車両検出部801は、道路上の所定地点に配置されたセンサ群とすることができ、所定地点において通過する車両の通過時刻及び通過速度を検出して、観測データに基づき制約条件を生成して制約条件格納部110に格納する。
制約条件充足状況出力部802は、車両モデル演算部102で算出された車両状態データが、制約条件格納部110に格納された制約条件をどの程度充足しているかを判定する。
図9は、第2実施形態の車両挙動推定装置100の動作を示すフローチャートである。
ステップS901において、車両挙動推定装置100は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件が存在するか否かを判別する。
模擬制御部103は、制約条件格納部110に格納された制約条件を検索して、シミュレーションの現在時刻に一致する通過時刻を有する制約条件がある場合には、ステップS902に移行し、そうでない場合にはステップS907に移行する。
ステップS902において、車両挙動推定装置100は、通過時刻がシミュレーションの現在時刻に一致する制約条件に対応する車両モデルが、既に存在するか否かを判別する。
模擬制御部103は、制約条件が、車両モデル演算部102において制御される車両モデルに対応するものであるか否かを判別して、存在していない場合にはステップS903に移行し、既に存在している場合にはステップS905に移行する。
ステップS903において、車両挙動推定装置100は、制約条件に基づいて車両状態データを設定する。車両モデル演算部102は、制約条件格納部110から取得した制約条件に基づいて、新たに出現させる車両モデルの車両状態データを設定する。制約条件格納部110に格納されている制約条件中に、所定地点を通過する際の走行速度情報が含まれている場合には、その所定地点の位置情報と走行速度情報を車両状態データの初期値として設定する。
ステップS904において、車両挙動推定装置100は、新たな車両モデルを追加する。車両モデル演算部102は、制約条件格納部110から取得した制約条件を満たす値を初期値とする車両モデルを追加する。
ステップS907において、車両挙動推定装置100は、シミュレーションを実行する全ての車両モデルについて、処理を実行していない車両モデルがあるか否かを判別する。
ここでは、車両モデル演算部102において制御している車両モデルについて、シミュレーションの現在時刻における車両状態データの更新を行ったか否かを判別し、処理していない車両モデルがあると判断した場合にステップS908に移行し、全ての車両モデルに対して処理を行ったと判断した場合にはステップS911に移行する。
ステップS908において、車両挙動推定装置100は、制約条件に基づき挙動パラメータを更新する。挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件と、現在の車両状態データから目標速度及び目標加速度を算出して、これを挙動パラメータとして挙動パラメータ格納部111に格納する。
ステップS909において、車両挙動推定装置100は、車両の運転者による運転挙動をシミュレーションする。ここでは、運転モデル演算部105が、周囲の交通環境情報や目標経路情報などから、運転者の運転挙動をシミュレーションし、少なくとも挙動パラメータ算出部111で算出された目標速度及び目標加速度に基づいて、ステアリング操作量、アクセル・ブレーキ操作量などの運転挙動を算出する。
ステップS910において、車両挙動推定装置100は、車体の挙動をシミュレーションする。ここでは、車体運動モデル演算部106が、運転者モデル演算部105により演算された運転挙動に基づいて、車体の運動挙動をシミュレーションし、たとえば、ステアリング操作量、アクセル・ブレーキ操作量に基づいて車両状態データを算出する。
この後、ステップS907に移行して、全ての車両モデルについて車両状態データの更新処理を行う。
ステップS911において、車両挙動推定装置100は、シミュレーションの現在時刻を更新する。模擬制御部103は、シミュレーションの現在時刻を所定時間Δtだけインクリメントし、処理をステップS912に移行させる。
ステップS912において、車両挙動推定装置100は、シミュレーションの現在時刻が終了時刻であるか否かを判別する。模擬制御部103は、シミュレーションの現在時刻が終了時刻であると判断した場合にはこの処理を終了し、そうでないと判断した場合にはステップS901に移行する。
ステップS905において、車両挙動推定装置100は、車両モデルの現在の車両状態データが、制約条件とどの程度充足しているかを判別し、その判別結果を出力する。
ステップS906において、車両挙動推定装置100は、車両モデルを削除する。車両モデル演算部102は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件の車両モデルを削除し、ステップS907に移行する。
図10は、図9のステップS908をさらに詳細に説明するためのフローチャートである。
ステップS1001において、車両挙動推定装置100は、目標速度、および目標加速度を算出する。挙動パラメータ算出部101は、次の所定地点における通過速度v2を目標速度として、現在の走行速度vtから目標加速度atを算出する。
図11は、現在位置から所定地点s2に到達するまでの速度変化を表すための説明図である。
図11では、縦軸を距離、横軸を時刻として車両モデルの位置情報を相対的な距離で示している。
車両モデルの現在位置をscとし、現在時刻tcにおける速度をvcとする。制約条件は、所定位置s2を時刻t2に走行速度v2で走行することである。
現在位置scから次の所定位置s2までの距離をdとする時、現在位置scにおける目標速度vt及び目標加速度atは、以下の式で表される。
(1)目標速度vt=v2
(2)目標加速度at=(v2−vc)/(t'−tc)
ここで、車両モデルの速度がv2に到達する時刻を到達時刻t'としている。この到達時刻t'は、以下の式で表すことができる。
(3)t'=(2d−2v2t2+v2tc+vctc)/(vc−v2)(ただし、tc<t'<t2)
ステップS1002において、車両挙動推定装置100は、到達時刻t'が時刻t2以下であるか否かを判別する。挙動パラメータ算出部101は、算出される到達時刻t'が次の制約条件である時刻t2を超えない場合にはステップS1003に移行し、算出される到達時刻t'が次の制約条件である時刻t2を超える場合にはステップS1006に移行する。
ステップS1003において、車両挙動推定装置100は、目標加速度atが通常の最大減速度amin以上、最大加速度amax以下であるか否かを判別する。車両の通常運転時における挙動での最大減速度aminと最大加速度amaxを設定しておき、挙動パラメータ算出部101は、目標加速度atが最大減速度aminと最大加速度amaxの間の範囲にあるか否かを判定する。ここで、通常の最大加速度amaxは、たとえば、2m/s2とすることができ、通常の最大減速度aminは、たとえば、−2m/s2とすることができる。挙動パラメータ算出部101は、目標加速度atが最大減速度aminと最大加速度amaxの間の範囲にあると判断した場合には、ステップS1004に移行し、そうでない場合にはステップS1005に移行する。
ステップS1004において、挙動パラメータ算出部101は、(1)式のように、目標速度vtを時刻t2における通過速度v2に設定し、(3)式により到達時刻t'を算出するとともに、(2)式により目標加速度at=(v2−vc)/(t'−tc)を算出する。
図12は、現在速度vcが目標速度v2より小さい場合の到達時刻t'の算出方法を説明するための説明図である。
図12において、縦軸を車両モデルの速度、横軸を時刻としており、この場合2点間の傾きが加速度となり、2つの時刻間における走行速度を積分した面積が走行距離となる。
図12に示すように、現在速度vcが目標速度v2より小さく、時刻t2よりも以前に目標速度v2に到達可能である場合には、現在時刻tcから到達時刻t'までの加速度aは、正の値を持つこととなる。
これから、挙動パラメータ算出部101は、現在時刻tcから到達時刻t'までの間を加速度aで走行する場合の傾きaの直線下部の面積と、到達時刻t'から時刻t2までの間を速度v2で走行する場合の長方形の面積との合計が距離dに一致するように、到達時刻t'を決定する。
挙動パラメータ算出部101は、到達時刻t'を算出した後、(2)式により目標加速度atを求める。この時、挙動パラメータ算出部101により算出された目標加速度atは、図12の傾きaと一致する。
図13は、現在速度vcが目標速度v2より大きい場合の到達時刻t'の算出方法を説明するための説明図である。
図13では、図12の場合と同様に、縦軸を車両モデルの速度、横軸を時刻としており、この場合2点間の傾きが加速度となり、2つの時刻間における走行速度を積分した面積が走行距離となる。
図13に示すように、現在速度vcが目標速度v2より大きく、時刻t2よりも以前に目標速度v2に到達可能である場合には、現在時刻tcから到達時刻t'までの加速度aは、負の値を持つこととなる。
これから、挙動パラメータ算出部101は、現在時刻tcから到達時刻t'までの間を加速度aで走行する場合の傾きaの直線下部の面積と、到達時刻t'から時刻t2までの間を速度v2で走行する場合の長方形の面積との合計が距離dに一致するように、到達時刻t'を決定する。
挙動パラメータ算出部101は、到達時刻t'を算出した後、(2)式により目標加速度atを求める。この時、挙動パラメータ算出部101により算出された目標加速度atは、図13の傾きaと一致する。
ステップS1005において、車両挙動推定装置100は、目標加速度を最大加速度として次の所定地点における通過速度より大きい値を目標速度とするか、または目標加速度を最大減速度として次の所定地点における通過速度より小さい値を目標速度とする。
挙動パラメータ算出部101は、ステップS1001において算出した目標加速度atの値が通常の最大加速度amaxよりも大きいと判断した場合には、最大加速度amaxにより加速して目標速度v2に到達したとしても、次の通過時刻t2に所定位置s2に到達できないと判断する。また、挙動パラメータ算出部101は、ステップS1001において算出した目標加速度atの値が通常の最大減速度aminよりも小さいと判断した場合には、最大減速度aminにより減速して目標速度v2に到達したとしても、次の通過時刻t2に所定位置s2を超えてしまうと判断する。
挙動パラメータ算出部101は、次の通過時刻t2に所定位置s2に到達できないと判断した場合には、目標加速度atを最大加速度amaxとして、次の通過速度v2よりも大きな値を目標速度vtとする。また、挙動パラメータ算出部101は、次の通過時刻t2に所定位置s2を超えてしまうと判断した場合には、目標加速度atを最大減速度aminとして、次の通過速度v2よりも小さな値を目標速度vtとする。
図14は、ステップS1001で算出された目標加速度atが通常の最大加速度amaxを超える場合の挙動パラメータの算出に関する説明図である。
図14に示すものは、現在時刻tcにおける速度vcから、次の所定地点s2における通過速度v2に到達するまで、最大加速度amaxにより加速したとしても、所定地点s2に到達できない場合である。
この場合には、挙動パラメータ算出部101は、所定地点s2における通過速度v2よりも大きな値の目標速度vtまで最大加速度amaxにより加速するように挙動パラメータを設定する。
次の通過速度v2よりも大きな値である目標速度vtに到達する時刻を到達時刻trとする場合、目標速度vtは以下の計算式により算出することができる。
(4)tr=tc+(vt−vc)/amax (ただし、tr<t2)
(5)(t2−tr)vt+(vc+vt)(tr−tc)/2=d
ただし、上限速度vmax及び下限速度vminとする場合に、vmin<vt<vmaxである。通常、上限速度vmaxは規制速度または法定速度とし、vminは走行可能な下限値とすることができる。
また、速度vtから次の通過速度v2への速度変化に要する時間は便宜的に0として計算しているが、図に示すように、最大減速度aminにより、目標速度vtから次の通過速度v2に到達する時間を考慮して、目標速度vtを算出することも可能である。目標速度vtから次の通過速度v2まで減速するための加速度の計算は、到達時刻tr以降において挙動パラメータの演算処理として行うことができる。
この場合、現在時刻tcにおける現在速度vcから到達時刻trにおける目標速度vtまでを最大加速度amaxで加速する際の傾きamaxの直線下部の面積と、到達時刻trから次の通過時刻t2までを目標速度vtで走行する際の長方形の面積とを合計した値が、現在位置scから次の所定位置s2までの距離dに一致する。
図15は、ステップS1001で算出された目標加速度atが通常の最大減速度aminよりも小さい場合の挙動パラメータの算出に関する説明図である。
図15に示すものは、現在時刻tcにおける速度vcから、次の所定地点s2における通過速度v2に到達するまで、最大減速度aminにより減速したとしても、所定地点s2を超える場合である。
この場合には、挙動パラメータ算出部101は、所定地点s2における通過速度v2よりも小さい値の目標速度vtまで最大減速度aminにより減速するように挙動パラメータを設定する。
次の通過速度v2よりも小さい値である目標速度vtに到達する時刻を到達時刻trとする場合、目標速度vtは以下の計算式により算出することができる。
(6)tr=tc+(vt−vc)/amin (ただし、tr<t2)
(7)(t2−tr)vt+(vc+vt)(tr−tc)/2=d
ただし、上限速度vmax及び下限速度vminとする場合に、vmin<vt<vmaxである。通常、上限速度vmaxは規制速度または法定速度とし、下限速度vminは走行可能な下限値とすることができる。
ここでも、速度vtから次の通過速度v2への速度変化に要する時間は便宜的に0として計算しているが、図に示すように、最大加速度amaxにより、目標速度vtから次の通過速度v2に到達する時間を考慮して、目標速度vtを算出することも可能である。目標速度vtから次の通過速度v2まで加速するための加速度の計算は、到達時刻tr以降において挙動パラメータの演算処理として行うことができる。
この場合、現在時刻tcにおける現在速度vcから到達時刻trにおける目標速度vtまでを最大減速度aminで減速する際の傾きaminの直線下部の面積と、到達時刻trから次の通過時刻t2までを目標速度vtで走行する際の長方形の面積とを合計した値が、現在位置scから次の所定位置s2までの距離dに一致する。
ステップS1006において、車両挙動推定装置100は、現在速度を維持して制約条件を充足できるか否かを判別する。
ステップS1001で算出した到達時刻t'が次の通過時刻t2を超える場合は、現在時刻tcにおいて目標加速度atで加速を開始すると、次の通過時刻t2において所定地点s2を超えてしまう。挙動パラメータ算出部101は、現在速度vcを所定時間だけ維持し、その後、目標加速度atで加速を開始した場合に、制約条件である通過時刻t2において所定位置s2を通過できるか否かを判別する。挙動パラメータ算出部101は、現在速度vcを所定時間だけ維持することで、制約条件を充足することができると判断した場合には、ステップS1007に移行し、そうでない場合にはステップS1008に移行する。
ステップS1007において、車両挙動推定装置100は、目標速度を現在速度とし、目標加速度を0に設定する。
前述したように、挙動パラメータ算出部101は、所定時間だけ現在速度vcを維持して直ちに加速を行わないように、目標速度vt=現在速度vcとし、目標加速度at=0とする。
図16は、現在速度を維持して制約条件を充足できる場合であって、現在速度の値が次の通過速度の値より小さい時の目標加速度設定についての説明図である。
現在速度vcの値が次の通過速度v2の値より小さい場合には、挙動パラメータ算出部101は、現在速度vcを所定時刻tmまで維持し、所定時刻tmから最大加速度amaxによる加速を開始することを決定する。
図16において、現在速度vcで現在時刻tcから所定時刻tmまで走行する長方形の面積と、目標加速度at=最大加速度amaxで加速する傾きamaxの直線下部の面積との合計が、現在位置scから次の所定位置s2までの距離dとなるように、挙動パラメータ算出部101は所定時刻tmを算出する。所定時刻tmの算出には、以下の計算式を用いることができる。
(8)tm=t2−(v2−vc)/amax
挙動パラメータ算出部101は、目標速度vt=現在速度vcとし、目標加速度at=0として、これを所定時刻tmまで維持することで、次の通過時刻t2において所定位置s2を超えてしまうことを防止できる。
挙動パラメータ算出部101は、所定時間間隔で挙動パラメータの算出処理を実行していることから、現在速度vcを維持する所定時刻tmの算出を行わないようにすることもできる。
図17は、現在速度を維持して制約条件を充足できる場合であって、現在速度の値が次の通過速度の値より大きい時の目標加速度設定についての説明図である。
現在速度vcの値が次の通過速度v2の値より大きい場合には、挙動パラメータ算出部101は、現在速度vcを所定時刻tmまで維持し、所定時刻tmから最大減速度aminによる減速を開始することを決定する。
図17において、現在速度vcで現在時刻tcから所定時刻tmまで走行する長方形の面積と、目標加速度at=最大減速度aminで減速する傾きaminの直線下部の面積との合計が、現在位置scから次の所定位置s2までの距離dとなるように、挙動パラメータ算出部101は所定時刻tmを算出する。所定時刻tmの算出には、以下の計算式を用いることができる。
(9)tm=t2−(v2−vc)/amin
挙動パラメータ算出部101は、目標速度vt=現在速度vcとし、目標加速度at=0として、これを所定時刻tmまで維持することで、次の通過時刻t2において所定位置s2を超えてしまうことを防止できる。
挙動パラメータ算出部101は、所定時間間隔で挙動パラメータの算出処理を実行していることから、現在速度vcを維持する所定時刻tmの算出を行わないようにすることもできる。
ステップS1008において、車両挙動推定装置100は、現在速度が次の通過速度より小さい値である場合に目標速度を現在速度より小さい値とし、現在速度が次の通過速度より大きい値である場合に目標速度を現在速度より大きい値に設定する。
図18は、現在速度を所定時間維持しても制約条件を充足できない場合であって現在速度が次の通過速度より小さい値である時の挙動パラメータ設定の説明図である。
現在速度vcが次の通過速度v2より小さい値である場合に、現在速度vcを所定時間維持した後に、最大加速度amaxで加速を開始しても、次の通過時刻t2において所定地点s2を超えてしまう場合には、挙動パラメータ算出部101は、目標速度vtを現在速度vcよりも小さい値に設定する。すなわち、図16に示すような所定時刻tmにおける速度を速度vmとする時、以下のような不等式が成立する場合には、現在速度vcよりも小さい値の目標速度vtを設定する。
(10) d<vc(tm−tc)+(vc+v2)(t2+vm)
この時、挙動パラメータ算出部101は、目標加速度atを最大減速度aminとし、目標速度vtを以下の計算式から算出する。
(11) tm=t2−(v2−vt)/amax (ただし、tm>tc)
(12) (tm−tc)vt+(vt+v2)(t2−tm)/2=d
ただし、上限速度vmax及び下限速度vminとする場合に、vmin<vt<vmaxである。通常、上限速度vmaxは規制速度または法定速度とし、下限速度vminは走行可能な下限値とすることができる。
ここでは、現在速度vcから目標速度vtへの速度変化に要する時間は便宜的に0として計算しているが、最大減速度aminにより、現在速度vcから目標速度vtに到達する時間を考慮して、目標速度vtを算出することも可能である。
この場合、現在時刻tcから所定時刻tmまでを目標速度vtで走行する際の長方形の面積と、所定時刻tmにおける目標速度vtから通過時刻t2における通過速度v2までを最大加速度amaxで加速する際の傾きamaxの直線下部の面積とを合計した値が、現在位置scから次の所定位置s2までの距離dに一致する。
図19は、現在速度を所定時間維持しても制約条件を充足できない場合であって現在速度が次の通過速度より大きい値である時の挙動パラメータ設定の説明図である。
現在速度vcが次の通過速度v2より大きい値である場合に、現在速度vcを所定時間維持した後に、最大減速度aminで減速を開始しても、次の通過時刻t2において所定地点s2を超えてしまう場合には、挙動パラメータ算出部101は、目標速度vtを現在速度vcよりも大きい値に設定する。すなわち、図17に示すような所定時刻tmにおける速度を速度vmとする時、以下のような不等式が成立する場合には、現在速度vcよりも大きい値の目標速度vtを設定する。
(13) d>vc(tm−tc)+(vc+v2)(t2+vm)/2
この時、挙動パラメータ算出部101は、目標加速度atを最大減速度aminとし、目標速度vtを以下の計算式から算出する。
(14) tm=t2−(v2−vt)/amin (ただし、tm>tc)
(15) (tm−tc)vt+(vt+v2)(t2−tm)/2=d
ただし、上限速度vmax及び下限速度vminとする場合に、vmin<vt<vmaxである。通常、上限速度vmaxは規制速度または法定速度とし、vminは走行可能な下限値とすることができる。
ここでは、現在速度vcから目標速度vtへの速度変化に要する時間は便宜的に0として計算しているが、最大加速度amaxにより、現在速度vcから目標速度vtに到達する時間を考慮して、目標速度vtを算出することも可能である。
この場合、現在時刻tcから所定時刻tmまでを目標速度vtで走行する際の長方形の面積と、
所定時刻tmにおける目標速度vtから通過時刻t2における通過速度v2までを最大減速度aminで加速する際の傾きaminの直線下部の面積とを合計した値が、現在位置scから次の所定位置s2までの距離dに一致する。
以上のようにして、最大減速度aminまたは最大加速度amaxにより加速を行っても、制約条件を充足できないような場合には、挙動パラメータ算出部101は、現在速度vcを所定時間維持した後、目標加速度による加速を開始するように挙動パラメータを算出する。
また、現在速度vcを所定時間維持した後、目標加速度による加速を開始するようにしても制約条件を充足できない場合には、現在速度vcから次の通過速度v2への加速とは逆の目標加速度により加速することで、制約条件を充足するように挙動パラメータを決定している。
〈想定した車両挙動との乖離〉
車両挙動推定装置100では、前方を走行する車両モデルの挙動による影響、障害物との衝突の回避、信号機や停止線における停止などの交通法規、その他の交通環境に応じて、車両モデルの挙動を決定している。
たとえば、前述したように、車両モデル演算部102の運転者モデル演算部105は、目標経路、道路の物理的形状、交通規制、交通標識、周辺に存在する他の車両モデルの車両状態データなどの交通環境、選択される走行車線選択、信号、踏切、一時停止規制などの停止標識対応などに基づいて、ステアリング操作値、アクセル・ブレーキ操作値などを演算している。車体運動モデル演算部106は、運転者モデル演算部105から出力される運転挙動に応じて、車体の物理的な挙動をモデル化して、これにより得られる車両状態データを出力する。したがって、挙動パラメータ算出部101によって算出された挙動パラメータにより想定される挙動と、車両モデル演算部102により制御される車両モデルの挙動とは、必ずしも一致するわけではない。
車両モデルの挙動が、挙動パラメータ算出101によって算出される挙動パラメータにより想定される挙動と乖離している場合であっても、挙動パラメータ算出部101は制約条件を満たすように挙動パラメータを随時算出する。
図20及び図21は、挙動パラメータにより想定される挙動と車両モデルの挙動が乖離した場合の挙動パラメータの修正方法に関する説明図である。
図20に示すように、通過速度v1から次の通過速度v2を目標速度vtとして目標加速度aで加速している間に、周辺の交通環境の影響により減速して、現在時刻tcにおける走行速度vcが、挙動パラメータ算出部101が算出した挙動パラメータにより想定される挙動と乖離している。
この場合には、挙動パラメータ算出部101は、現在時刻tcにおける走行速度vcから目標速度vt(=v2)に到達するための目標加速度a’を算出する。
減速が生じる前の目標加速度aにより加速した場合、車両モデルの走行速度vcが目標速度v2に到達する時刻は到達時刻t’であった。この場合、所定地点s1から次の所定地点s2までの距離dに応じて、到達時刻t’が決定されており、走行速度を積分した面積が距離dに一致する。
これに対して、現在時刻tcにおける走行速度vcは、目標加速度aにより一定に加速した場合よりも遅くなっており、走行速度を積分した面積が距離dよりも小さくなっている。したがって、現在時刻tcにおける走行速度vcからの目標加速度atを、減速が生じる前に算出された目標加速度aとしても、次の通過時刻t2において所定地点s2に到達することができない。また、減速が生じる前に算出された目標速度v2への到達時刻tcを用いて、現在時刻tcにおける走行速度vcからの目標加速度atを算出した場合であっても、次の通過時刻t2において所定地点s2に到達することができない。
したがって、挙動パラメータ算出部101は、走行速度を積分した面積が距離dに一致するように、現在時刻tcにおける走行速度vcから目標速度v2に到達する到達時刻t’’を算出し、これに基づいて目標加速度a’を挙動パラメータとして算出する。
なお、車両モデル演算部102は、運転者挙動モデル演算部105及び車体運動モデル演算部106によって、交通法規や周囲の交通環境、ならびに車体の物理的法則に従った挙動の範囲で、車両モデルの車両挙動を決定している。
このことにより、周辺の交通環境に影響されて、車両モデルの挙動が目標速度及び目標加速度から乖離した場合であっても、交通法規や周辺の交通環境、車体の物理的法則に従う範囲で挙動パラメータが更新される。
〈挙動パラメータの他の例〉
車両検出部801が検出する観測データとして、所定地点を通過する際に、複数のレーンを備える道路のいずれのレーンを走行しているかの通過レーン情報を含む場合が想定される。
制約条件格納部110に格納される制約条件には、車両検出部801で検出された通過レーン情報が制約条件の1つとして含まれる。
挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件に基づいて、目標レーン情報を挙動パラメータとして出力することができる。
図22Aは、複数のレーンを有する道路における観測データを説明するための説明図である。
片側2車線の道路において、位置s1及び位置s2に車両検出部(センサ)が設置されている。図22Aに示すように、車両IDが「A」の車両は、時刻t1aにおいて位置s1を通過する際に、走行速度v1aで第1レーンを走行していたとする。
この場合、位置s1に設置されたセンサにより、車両の通過時刻、その時の通過速度、通過レーンを観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
同様に、車両IDが「A」の車両が、時刻t2aにおいて位置s2を通過する際に、走行速度v2aで第2レーンを走行していたとする。
この場合、位置s2に設置された第2センサにより、通過時刻t2a、通過速度v2a、通過レーンを車両IDが「A」の車両の観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
図23は、制約条件格納部110に格納される制約条件テーブルの一例を示す説明図である。
制約条件テーブル2300は、車両ID欄、位置欄、通過時刻欄、通過速度欄、通過レーン欄を備えており、車両毎に所定位置を通過した時刻とその時の走行速度及び通過レーン情報を格納することができる。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。観測時には、車両ナンバー、車体の特徴、通過順などに応じて、所定地点を通過する車両が同一車両と同定できる。そこで、同一車両の観測データから制約条件を生成する場合、同一の車両IDを付与することができる。
位置欄は、所定地点の位置座標を格納するものである。観測データから制約条件を生成する場合、観測データを検出したセンサの配置位置である。
通過時刻欄及び通過速度欄には、車両が通過する時刻とその時の走行速度が格納される。観測データから制約条件を生成する場合、センサの地点を車両が通過した時刻とその時の走行速度に基づき条件を設定する。
通過レーン欄は、車両が所定位置を通過する際に、複数のレーンを有する道路のいずれのレーンを通過するかの通過レーン情報が格納される。観測データから制約条件を生成する場合、走行レーンを識別可能なセンサにより検出した走行レーンに基づき条件を設定する。
図23に示される例では、車両IDが「A」の車両は、時刻t1aにおいて、走行速度v1aで位置s1を通過し、この時に第1レーンを通過することが制約条件である。
また、車両IDが「A」の車両は、時刻t2aにおいて、走行速度v2aで位置s2を通過したものであり、この時に第2レーンを通過することが制約条件である。
挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件を満たすように、挙動パラメータを算出するものであり、たとえば、目標速度、目標加速度、目標レーン情報を挙動パラメータとして算出して挙動パラメータ格納部111に格納する。
図24は、挙動パラメータ格納部111に格納される挙動パラメータテーブルの一例を示す説明図である。
図24に示される挙動パラメータテーブル2400は、車両ID欄、目標レーン欄を備えている。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。
目標レーン欄には、次の所定地点における車両の通過レーンを目標レーン情報として格納される。
図24では図示していないが、挙動パラメータテーブル2400は、挙動パラメータ算出部101が算出する目標速度及び目標加速度を格納する目標速度欄及び目標加速度欄を含むことができる。
挙動パラメータ算出部101は、次の位置s2における通過レーン情報に基づいて、目標レーン情報を決定し、これを挙動パラメータテーブル2400の目標レーン欄に格納する。
図示した例では、車両IDが「A」である車両は、位置s1では第1レーンを通過し、位置s2では第2レーンを通過することが制約条件である。車両IDが「A」である車両が位置s1を通過した後、挙動パラメータ算出部101は、次の位置s2における通過レーンである第2レーンを目標レーン情報として挙動パラメータテーブル2400に格納する。
運転者モデル演算部105は、挙動パラメータテーブル2400の目標レーン情報に基づいて、レーン変更を行うための運転挙動を算出する。運転者モデル演算部105は、周辺の車両モデルの車両状態データを考慮して運転挙動を決定している。
目標レーン情報が、現在走行中のレーンと異なるレーンである場合には、運転者モデル演算部105は、目標レーンの前方及び後方を走行中の車両モデルの挙動についても考慮して挙動を決定する。
図22Bは、車両IDが「A」である車両に対応する車両モデルの車両変更時の説明図である。
図22Bでは、車両IDが「A」である車両に対応する車両モデル(以下、車両モデルAと称す)が、位置s3を走行していることを示している。ここで、車両モデルAが現在走行中のレーンを第1レーンとし、位置s2における通過レーンを第2レーンとする。
車両モデルAの周辺には、第1レーンの後方に車両モデル2211、第1レーンの前方に車両モデル2212、第2レーンの後方に車両モデル2210、第2レーンの前方に車両モデル2213がそれぞれ存在するとする。
運転者モデル演算部105は、目標レーン情報を満たすために、レーン変更が可能であるか否かの判断を行う。運転者モデル演算部105は、第2レーンの後方の車両モデル2210、第2レーンの前方の車両モデル2213との距離に応じて、レーン変更が可能か否かを判別する。
運転者モデル演算部105は、レーン変更が可能であると判断した場合には、他の車両モデルの挙動を考慮して、目標速度、目標加速度に応じたアクセル・ブレーキ操作量を決定し、目標レーン情報に応じてステアリング操作量を決定する。
レーン変更が可能か否かの判断条件は、挙動パラメータ格納部111に格納される挙動パラメータに含ませることも可能である。
また、制約条件として通過レーン情報が含まれている場合には、レーン変更を行うための挙動を優先的に行うために、レーン変更可能か否かの判断条件を緩和することも可能である。
以上のように、挙動パラメータ算出部101が算出する挙動パラメータに目標レーン情報を含ませることにより、車両の挙動をより正確に推定することが可能となる。
〈制約条件充足状況〉
制約条件充足状況出力部802は、所定地点を通過する車両モデルの車両状態データと、制約条件格納部110に格納された制約条件との誤差を算出し、シミュレーションによる車両状態データが制約条件をどの程度充足しているかの程度を出力する。
たとえば、制約条件充足状況出力部802は、所定地点を通過する車両モデルの通過時刻、通過速度と、制約条件格納部110に格納された制約条件に含まれる通過時刻、通過速度との誤差を算出して出力することができる。
図25は、制約条件充足状況データテーブルの一例を示す説明図である。
制約条件充足状況データテーブル2500は、車両ID欄、位置欄、通過時刻欄、通過速度欄を備えており、通過時刻欄及び通過速度欄はそれぞれ推定データ欄と誤差欄を備えている。
車両ID欄は、車両を特定するための車両識別記号を格納するものであり、制約条件テーブルの車両ID欄と同一の車両識別記号が格納される。
位置欄は、所定地点の位置座標を格納するものである。観測データから制約条件を生成する場合、車両を検出した車両検出部801の配置位置に関するものである。
通過時刻欄の推定データ欄には、車両モデルが所定地点を通過した通過時刻が格納される。また、通過時刻欄の誤差欄には、車両モデルが所定地点を通過した通過時刻と制約条件に含まれる通過時刻との誤差が格納される。
通過速度欄の推定データ欄には、車両モデルが所定地点を通過した際の通過速度が格納される。また、通過時刻欄の誤差欄には、車両モデルが所定地点を通過した際の通過速度と制約条件に含まれる通過速度との誤差が格納される。
制約条件充足状況出力部802は、通過時刻の誤差または通過速度の誤差が所定の閾値を超えたか否かを判別して、閾値を超えた車両モデルがあった場合にアラームを通知することができる。たとえば、制約条件充足状況データテーブル2500に、アラーム欄をさらに設けておき、所定の閾値を超える誤差があった場合に、アラーム表示を出力することができる。
〈複数の制約条件〉
挙動パラメータ算出部101が、制約条件格納部110に格納されている3つ以上の制約条件に基づいて挙動パラメータを算出する場合について説明する。
図26は、車両の観測データを説明するための説明図である。
図26に示すように、車両IDが「A」の車両は、時刻t1aにおいて、走行速度v1aで位置s1を通過したものとする。
この場合、位置s1に設置された第1センサにより、通過時刻t1a、通過速度v1aを車両Aの観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
同様に、車両IDが「A」の車両が、時刻t2aにおいて、走行速度v2aで位置s2を通過した場合、位置s2に設置された第2センサにより、通過時刻t2a、通過速度v2aを車両Aの観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
さらに、車両IDが「A」の車両が、時刻t3aにおいて、走行速度v3aで位置s3を通過した場合、位置s3に設置された第3センサにより、通過時刻t3a、通過速度v3aを車両Aの観測データとして検出し、この観測データから生成した制約条件が制約条件格納部110に格納される。
図27は、制約条件格納部110に格納される制約条件テーブルの一例を示す説明図である。
図27に示す制約条件テーブル2700は、図6に示す制約条件テーブル400と同様に、車両ID欄、位置欄、通過時刻欄、通過速度欄を備えており、車両毎に所定位置を通過した時刻とその時の走行速度を格納することができる。
車両ID欄は、車両を特定するための車両識別記号を格納するものである。観測時には、車両ナンバー、車体の特徴、通過順などに応じて、所定地点を通過する車両が同一車両と同定できる。そこで、同一車両の観測データから制約条件を生成する場合、同一の車両IDを制約条件に付与することができる。
位置欄は、所定地点の位置座標を格納するものである。観測データから制約条件を生成する場合、観測データを検出したセンサの配置位置である。
通過時刻欄及び通過速度欄には、車両が通過する時刻とその時の走行速度が格納される。観測データから制約条件を生成する場合、センサの地点を車両が通過した時刻とその時の走行速度に基づき条件を設定する。
図示した例では、所定位置s1〜s3を通過した車両Aの通過時刻及び通過速度が格納されている。
図28は、3つ以上の制約条件に基づいて挙動パラメータを算出する場合の車両挙動推定装置100の動作を示すフローチャートである。
ステップS2801において、車両挙動推定装置100は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件が存在するか否かを判別する。
模擬制御部103は、制約条件格納部110に格納された制約条件を検索して、シミュレーションの現在時刻に一致する通過時刻を有する制約条件がある場合には、ステップS2802に移行し、そうでない場合にはステップS2808に移行する。
ステップS2802において、車両挙動推定装置100は、通過時刻がシミュレーションの現在時刻に一致する制約条件に対応する車両モデルが、既に存在するか否かを判別する。
模擬制御部103は、制約条件が、車両モデル演算部102において制御される車両モデルに対応するものであるか否かを判別して、存在していない場合にはステップS2803に移行し、既に存在している場合にはステップS2805に移行する。
ステップS2803において、車両挙動推定装置100は、制約条件に基づいて車両状態データを設定する。車両モデル演算部102は、制約条件格納部110から取得した制約条件に基づいて、新たに出現させる車両モデルの車両状態データを設定する。制約条件格納部110に格納されている制約条件中に、所定地点を通過する際の走行速度情報が含まれている場合には、その所定地点の位置情報と走行速度情報を車両状態データの初期値として設定する。
ステップS2804において、車両挙動推定装置100は、新たな車両モデルを追加する。車両モデル演算部102は、制約条件格納部110から取得した制約条件を満たす値を初期値とする車両モデルを追加する。
ステップS2808において、車両挙動推定装置100は、シミュレーションを実行する車両について、処理を実行していない車両があるか否かを判別する。
ここでは、車両モデル演算部102において制御している車両モデルについて、シミュレーションの現在時刻における車両状態データの更新を行ったか否かを判別し、処理していない車両モデルがあると判断した場合にステップS2809に移行し、全ての車両モデルに対して処理を行ったと判断した場合にはステップS2812に移行する。
ステップS2809において、車両挙動推定装置100は、制約条件に基づく挙動パラメータを更新する。挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件と現在の車両状態データから目標速度及び目標加速度を算出して、これを挙動パラメータとして挙動パラメータ格納部111に格納する。
ステップS2810において、車両挙動推定装置100は、車両の運転者による運転挙動をシミュレーションする。ここでは、運転モデル演算部105が、周囲の交通環境情報や目標経路情報などから、運転者の運転挙動をシミュレーションし、少なくとも挙動パラメータ算出部111で算出された目標速度及び目標加速度に基づいて、ステアリング操作量、アクセル・ブレーキ操作量などの運転挙動を算出する。
ステップS2881において、車両挙動推定装置100は、車体の挙動をシミュレーションする。ここでは、車体運動モデル演算部106が、運転者モデル演算部105により演算された運転挙動に基づいて、車体の運動挙動をシミュレーションし、たとえば、ステアリング操作量、アクセル・ブレーキ操作量に基づいて車両状態データを算出する。
この後、ステップS2808に移行して、全ての車両モデルについて車両状態データの更新処理を行う。
ステップS2812において、車両挙動推定装置100は、シミュレーションの現在時刻を更新する。模擬制御部103は、シミュレーションの現在時刻を所定時間Δtだけインクリメントし、処理をステップS2813に移行させる。
ステップS2813において、車両挙動推定装置100は、シミュレーションの現在時刻が終了時刻であるか否かを判別する。模擬制御部103は、シミュレーションの現在時刻が終了時刻であると判断した場合にはこの処理を終了し、そうでないと判断した場合にはステップS2801に移行する。
ステップS2805において、車両挙動推定装置100は、現在時刻以降の通過時刻を含む制約条件が存在するか否かを判断する。模擬制御部103は、制約条件格納部101に格納された制約条件を検索し、現在時刻以上の通過時刻を含む制約条件が存在すると判断した場合にはステップS2808に移行し、そうでないと判断した場合にはステップS2806に移行する。
ステップS2806において、車両挙動推定装置100は、車両モデルの現在の車両状態データが、制約条件とどの程度充足しているかを判別し、その判別結果を出力する。
ステップS2807において、車両挙動推定装置100は、車両モデルを更新する。車両モデル演算部102は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件の車両モデルを削除し、ステップS2808に移行する。
このように、模擬制御部103は、現在時刻が通過時刻であるような制約条件について、車両モデルとして存在していないものについては、制約条件を満たす値を初期値とした車両モデルを追加する。また、模擬制御部103は、現在時刻が通過時刻であるような制約条件について、車両モデルとして存在しているものであって、現在時刻以降の制約条件が存在するものについて、車両モデルの追加のし直しを行わずに、次の制約条件を満たす挙動を算出する。
このような実施例の場合、現在時刻以降の制約条件が存在する場合には、通過時刻において車両モデルを削除して新たに追加することなく、車両モデルの挙動の連続性を重視した車両挙動のシミュレーションを行うことができる。
〈第3実施形態〉
運転者モデル演算部105は、周辺の交通状況、信号機や交通規制、その他の交通環境を監視して、運転者の運転挙動を演算している。
これとは別に、制約条件を充足するために、挙動パラメータ算出部101が算出する挙動パラメータを周辺の交通環境に応じて修正することが好ましい場合がある。たとえば、車両モデルの前方に位置する信号交差点で停止するか否かで、その後の制約条件の充足状況に影響が出てくる。したがって、前方交差点の信号タイミングに応じて、挙動パラメータを修正することにより、交差点において停止せずに通過する、あるいは交差点において停止するように、車両モデルの挙動を決定することによって、制約条件を充足するように車両モデルを制御できる。
第3実施形態として、交通環境情報に基づいて挙動パラメータを修正する場合について考察する。
図29は、第3実施形態による車両挙動推定装置の機能ブロック図である。
車両挙動推定装置100は、挙動パラメータ算出部101、車両モデル演算部102、模擬制御部103、制約条件格納部110、挙動パラメータ格納部111、車両状態データ格納部112を備えている。
車両挙動推定装置100は、信号機設定データ格納部2901、信号機モデル演算部2902、信号機状態データ格納部2903、挙動パラメータ修正部2904をさらに備えている。
信号機設定データ格納部2901は、信号機の点灯及び点滅の順番と、継続時間に関する信号機設定データを格納している。
信号機モデル演算部2902は、信号機設定データ格納部2901に格納された信号機設定データに基づいて。信号機の点灯及び点滅に係る信号状態データを算出して出力する。
信号機状態データ格納部2903は、信号機モデル演算部2902から出力される信号状態データを格納する。
図30は、信号機設定データ格納部2901に格納された信号機設定データテーブルの一例を示す説明図である。
信号機設定データテーブル3000は、設定ID欄、状態欄、継続時間欄などを含む。
設定ID欄には、信号機の点灯・点滅の順序とその継続時間の組み合わせパターンに対応する設定IDが格納される。
状態欄には、信号機の表示方向と表示色の組み合わせに関する状態情報が格納される。例示したものは、2つの道路が交差する一般的な交差点において、対面する車線に対して同タイミングで赤、黄、青の各信号が点灯するものとし、一方の道路側の信号機をa側、他方の道路側をb側としている。
継続時間欄には、状態欄に格納されている状態の継続時間が格納される。
図30では、赤、青、黄色の点灯の組み合わせとその継続時間を例示しているが、信号の点滅を状態情報とし、その組み合わせについても継続時間とともに格納することもできる。さらに、右折専用信号、直進専用信号、左折専用信号を有する交差点である場合には、これらの信号についても状態情報として格納することができる。さらに、交差点が三叉路である場合、5方向以上の交差点である場合については、表示方向の各組み合わせについてその継続時間とともに設定パターンが格納される。また、歩道者用の信号が存在する場合についても、車両用信号及び歩行者用信号の表示状態、表示方向の組み合わせと継続時間が設定パターンとして格納される。
信号機モデル演算部2902では、交差点に設置された各信号機の設定IDに基づいて、信号機設定データ格納部2901の信号機設定データテーブルを参照し、各信号の表示状態を方向毎に決定して、信号機状態データ格納部2903に格納する。
図31は、信号機状態データ格納部2903に格納される信号機状態データテーブルの一例を示す説明図である。
信号機状態データテーブル3100は、信号機ID欄、状態欄、更新時刻欄、設定欄を含んでいる。
信号機ID欄には、各信号機に設定された識別記号が格納される。
状態欄には、信号機モデル演算部2902で演算された信号機の状態が格納される。
更新時刻欄には、信号機モデル演算部2902で更新された時刻情報が格納される。
設定欄には、信号機IDに対応する信号機に設定された設定IDと、表示方向情報が格納される。
信号モデル演算部2902は、信号機に設定された設定IDに基づいて、表示方向毎に点灯・点滅状態を決定し、その更新時刻とともに信号機状態データ格納部2903に格納する。
挙動パラメータ修正部2904は、信号機状態データ格納部2903に格納されている信号機状態データに基づいて、挙動パラメータ算出部101で算出された挙動パラメータを修正する。
たとえば、挙動パラメータ修正部2904は、挙動パラメータ算出部101が算出する挙動パラメータを用いると、前方に位置する信号交差点の赤信号で停車することとなり、次の通過時刻に所定地点に到達できないと判断した場合には、挙動パラメータの目標速度、および目標加速度の値を大きくする修正を行う。また、挙動パラメータ修正部2904は、挙動パラメータ算出部101が算出する挙動パラメータを用いると、前方に位置する信号交差点を青信号で通過し、目標加速度を最大減速度にしても、次の通過時刻に所定地点を超えてしまうと判断した場合には、挙動パラメータの目標速度、および目標加速度の値を小さくする修正を行う。
このような挙動パラメータの修正を行う処理について、以下に説明する。
図32は、第3実施形態の車両挙動推定装置100のフローチャートである。
ステップS3201において、車両挙動推定装置100は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件が存在するか否かを判別する。
模擬制御部103は、制約条件格納部110に格納された制約条件を検索して、シミュレーションの現在時刻に一致する通過時刻を有する制約条件がある場合には、ステップS3202に移行し、そうでない場合にはステップS3207に移行する。
ステップS3202において、車両挙動推定装置100は、通過時刻がシミュレーションの現在時刻に一致する制約条件に対応する車両モデルが、既に存在するか否かを判別する。
模擬制御部103は、制約条件が、車両モデル演算部102において制御される車両モデルに対応するものであるか否かを判別して、存在していない場合にはステップS3203に移行し、既に存在している場合にはステップS3205に移行する。
ステップS3203において、車両挙動推定装置100は、制約条件に基づいて車両状態データを設定する。車両モデル演算部102は、制約条件格納部110から取得した制約条件に基づいて、新たに出現させる車両モデルの車両状態データを設定する。制約条件格納部110に格納されている制約条件中に、所定地点を通過する際の走行速度情報が含まれている場合には、その所定地点の位置情報と走行速度情報を車両状態データの初期値として設定する。
ステップS3204において、車両挙動推定装置100は、新たな車両モデルを追加する。車両モデル演算部102は、制約条件格納部110から取得した制約条件を満たす値を初期値とする車両モデルを追加する。
ステップS3207において、車両挙動推定装置100は、シミュレーションを実行する各車両について、処理を実行していない車両があるか否かを判別する。
ここでは、車両モデル演算部102において制御している車両モデルについて、シミュレーションの現在時刻における車両状態データの更新を行ったか否かを判別し、処理していない車両モデルがあると判断した場合にステップS3208に移行し、全ての車両モデルに対して処理を行ったと判断した場合にはステップS3212に移行する。
ステップS3208において、車両挙動推定装置100は、制約条件に基づく挙動パラメータを更新する。挙動パラメータ算出部101は、制約条件格納部110に格納されている制約条件と現在の車両状態データから目標速度及び目標加速度を算出して、これを挙動パラメータとして挙動パラメータ格納部111に格納する。
ステップS3209において、車両挙動推定装置100は、信号交差点における停止の必要性を判断して挙動パラメータの修正を行う。
挙動パラメータ修正部2904は、信号機状態データ格納部2903に格納されている信号機状態データを参照し、走行方向前方に位置する信号交差点の信号機状態データを取得する。挙動パラメータ修正部2904は、挙動パラメータ算出部101が算出する挙動パラメータを用いた場合に、制約条件を充足できなくなるような信号機状態データがあるか否かを判別する。たとえば、挙動パラメータ算出部101が算出した挙動パラメータを用いた場合、前方に位置する信号交差点の赤信号で停車することとなり、次の通過時刻に所定地点に到達できないと判断した場合には、挙動パラメータ修正部2904は、挙動パラメータの目標速度、および目標加速度の値を大きくする修正を行う。また、挙動パラメータ算出部101が算出する挙動パラメータを用いると、前方に位置する信号交差点を青信号で通過し、目標加速度を最大減速度にしても、次の通過時刻に所定地点を超えてしまうと判断した場合には、挙動パラメータ修正部2904は、挙動パラメータの目標速度、および目標加速度の値を小さくする修正を行う。
ステップS3210において、車両挙動推定装置100は、車両の運転者による運転挙動をシミュレーションする。ここでは、運転者モデル演算部105が、周辺の交通環境情報などから、運転者の運転挙動をシミュレーションし、少なくとも挙動パラメータ算出部111で算出された目標速度及び目標加速度に基づいて、ステアリング操作量、アクセル・ブレーキ操作量などの運転挙動を算出する。
なお、運転者モデル演算部105は、周辺の交通環境情報として、信号機状態データ格納部2903に格納されている信号機状態データを用いることができ、走行方向前方に位置する信号機の状態に応じた運転挙動を算出することができる。
ステップS3211において、車両挙動推定装置100は、車体の挙動をシミュレーションする。ここでは、車体運動モデル演算部106が、運転者モデル演算部105により演算された運転挙動に基づいて、車体の運動挙動をシミュレーションし、たとえば、ステアリング操作量、アクセル・ブレーキ操作量に基づいて車両状態データを算出する。
この後、ステップS3207に移行して、全ての車両モデルについて車両状態データの更新処理を行う。
ステップS3212において、車両挙動推定装置100は、信号機状態データの更新処理を行っていない信号機があるか否かを判断する。信号機モデル演算部2902は、信号機設定データ格納部2901に格納された信号機設定データに基づいて各信号機の点灯・点滅状態を演算するものであって、信号機状態データ格納部2903に格納された信号機状態データのうち、シミュレーションの現在時刻における信号機状態データの更新処理をしていない信号機IDがあれば、ステップS3213に移行し、全ての信号機に対して信号機状態データの更新を終了したと判断した場合にはステップS3214に移行する。
ステップS3213において、車両挙動推定装置100は、信号機状態データ更新処理を行う。信号機モデル演算部2902は、現在対象となっている信号機について、信号機設定データ格納部2901に格納された設定情報に基づいて、現在時刻における信号機状態データを決定し、これに基づいて信号機状態データ格納部2903に格納されている信号機状態データを更新する。
ステップS3214において、車両挙動推定装置100は、シミュレーションの現在時刻を更新する。模擬制御部103は、シミュレーションの現在時刻を所定時間Δtだけインクリメントする。
ステップS3215において、車両挙動推定装置100は、シミュレーションの現在時刻が終了時刻であるか否かを判別する。模擬制御部103は、シミュレーションの現在時刻が終了時刻であると判断した場合にはこの処理を終了し、そうでないと判断した場合にはステップS3201に移行する。
ステップS3205において、車両挙動推定装置100は、車両モデルの現在の車両状態データが、制約条件とどの程度充足しているかを判別し、その判別結果を出力する。
ステップS3206において、車両挙動推定装置100は、車両モデルを更新する。車両モデル演算部102は、シミュレーションの現在時刻に一致する通過時刻を有する制約条件の車両モデルを削除し、ステップS3207に移行する。
図33は、挙動パラメータ修正処理の一例を示すフローチャートである。
ステップS3301において、車両挙動推定装置100は、信号交差点への到達時刻を算出する。挙動パラメータ修正部2904は、挙動パラメータ算出部101が算出する挙動パラメータに基づいて車両モデルが走行した場合に、走行方向前方に位置する信号交差点に車両モデルが到達する時刻を算出する。
ステップS3302において、車両挙動推定装置100は、車両モデルが信号交差点で停止するか否かを判別する。挙動パラメータ修正部2904は、信号機状態データ格納部2903に格納されている信号機状態データ、および信号機設定データ格納部2901に格納されている信号機設定データを参照して、ステップS3301で算出された車両モデルの信号交差点への到達時刻における該当する信号機の状態を調べる。この結果、挙動パラメータ修正部2904は、現在の挙動パラメータで走行すると、信号交差点で停止すると判断した場合にはステップS3302に移行し、信号交差点で停止しないと判断した場合にはステップS3305に移行する。
ステップS3303において、車両挙動推定装置100は、次の通過時刻t2において所定地点s2に到達可能か否かを判断する。挙動パラメータ修正部2904は、信号交差点において停止した後、当該信号交差点から次の所定地点s2までを最大加速度amax以内の目標加速度として時刻t2に所定地点t2に到達できるか否かを判別し、到達できると判断した場合には処理を終了し、到達できないと判断した場合にはステップS3304に移行する。
ステップS3304において、車両挙動推定装置100は、車両モデルが信号交差点に停止しないように挙動パラメータを修正する。挙動パラメータ修正部2904は、走行方向前方に位置する当該車両モデルに対する信号機の状態が赤に変わる前に、車両モデルが信号交差点を通過できるように、挙動パラメータの目標速度、および目標加速度の値を大きくする。
図34及び図35は、信号交差点に停止しないように挙動パラメータを修正する場合の説明図である。
車両モデルの現在時刻tcにおける現在位置を位置sc、制約条件となる次の通過時刻t2における到達位置を所定地点s2、信号交差点位置を位置ssとし、現在位置scから交差点位置ssまでの距離を距離dcs、交差点位置ssから所定位置s2までの距離を距離ds2とする。
信号交差点における車両モデルに対する信号表示が、赤に変わる時刻を時刻tr、次に青に変わる時刻を時刻tbとしている。
この場合、挙動パラメータ修正部2904は、現在の挙動パラメータで走行した場合に交差点位置ssに到達する時刻が、信号表示が赤に変わる時刻trを超えると判断した場合に、次に青信号に変わる時刻tbから次の通過時刻t2までの間に所定地点s2に到達可能か否かを判別する。次に青信号に変わる時刻tbから次の通過時刻t2までの間に所定地点s2に到達できないと判断される条件は以下のうちのいずれかである。
(16) ds2/(t2−tb)>amax
(17) tb>t2
(16)式は、信号表示が青に変わる時刻tbから、最大加速度amaxを目標加速度として走行しても、信号交差点ssから所定地点s2まで到達できない場合を示している。
また、 (17)式は、信号表示が青に変わる時刻tbが、通過時刻t2よりも後である場合を示している。
このような場合には、挙動パラメータ修正部2904は、交通法規に沿った範囲で走行速度を速めて、信号交差点における信号表示が赤に変わる時刻trよりも前に信号交差点ssを通過できるように、目標加速度at及び目標速度vtを修正する。挙動パラメータ修正部2904は、目標加速度atを最大加速度amaxとすることができ、目標速度vtを次の計算式で算出される速度とすることができる。
(18) tn=tc+(vt−vc)/ at (ただし、tn<tr)
(19) (tr−tn)vt+(vc+vt)(tn−tc)/2=dcs+α
ここで、走行速度が目標速度vtに到達する時刻を到達時刻tnとしており、この到達時刻tnは、信号交差点における信号表示が赤に変わる時刻trよりも前とする。
(19)式に示すように、挙動パラメータ修正部2904は、最大加速度amaxで加速した場合に、目標速度vtに到達する時刻を到達時刻tnとしている。また、挙動パラメータ修正部2904は、現在時刻tcから到達時刻tnまで最大加速度amaxで加速し、その後信号表示が赤に変わる時刻trまで目標速度vtを維持することで、信号表示が赤に変わる時刻trまでの走行距離が現在位置scから交差点位置ssまでの距離dcsを超えるように、目標速度vtを決定する。
目標速度vtに到達する到達時刻tnと、信号表示が赤に変わる時刻trとの間に十分な時間差がある場合には、(19)式のαの値は0であってもよく、信号交差点を通過後の目標速度及び目標加速度との関係から適宜設定することが可能である。
たとえば、図35に示すように、挙動パラメータ修正部2904は、現在時刻tcから到達時刻tnまで、目標加速度atを最大加速度amaxとし、目標速度vtに到達した後は、信号表示が赤に変わる時刻trまでこの速度を維持するようにする。このことにより、現在時刻tcから信号表示が赤に変わる時刻trまでの走行距離は、現在位置scから交差点位置ssまでの距離dcsを超えることとなり、図35における速度を積分した面積はdcs以上になる。
ステップS3305において、車両挙動推定装置100は、次の通過時刻t2において所定地点s2を超えるか否かを判断する。挙動パラメータ修正部2904は、信号交差点において停止せずに通過した場合に、当該信号交差点から次の所定地点s2までの速度が下限速度vminを下回るか否かを判断し、下限速度vminを下回ると判断した場合にはステップS3306に移行し、下限速度vminを下回らないと判断した場合には処理を終了する。
ステップS3306において、車両挙動推定装置100は、車両モデルが信号交差点に停止するように挙動パラメータを修正する。挙動パラメータ修正部2904は、走行方向前方に位置する信号機の状態が赤に変わった後に、車両モデルが信号交差点に到達するように、挙動パラメータの目標速度、および目標加速度の値を小さくする。
図36及び図37は、信号交差点に停止するように挙動パラメータを修正する場合の説明図である。
車両モデルの現在時刻tcにおける現在位置を位置sc、制約条件となる次の通過時刻t2における到達位置を所定地点s2、信号交差点位置を位置ssとし、現在位置scから交差点位置ssまでの距離を距離dcs、交差点位置ssから所定位置s2までの距離を距離ds2とする。
信号交差点における車両モデルに対する信号表示が、赤に変わる時刻を時刻tr、次に青に変わる時刻を時刻tbとしている。
挙動パラメータ修正部2904は、現在の挙動パラメータで走行すると、交差点位置ssに到達する時刻が、信号表示が赤に変わる時刻tr前であると判断した場合に、次の通過時刻t2で所定地点s2を超えるか否かを判別する。たとえば、次の通過時刻t2において所定地点s2を通過するためには、目標速度vtが下限速度vminを下回ると判断した場合には、挙動パラメータ修正部2904は、目標加速度及び目標速度を修正する。目標速度vtが下限速度vminを下回ると判断される条件の一例は以下の通りである。
(20) ds2/(t2−tr)<vmin
このような場合、挙動パラメータ修正部2904は、信号交差点における信号表示が赤に変わる時刻trよりも後に信号交差点ssに到達するように、目標加速度at及び目標速度vtを修正する。挙動パラメータ修正部2904は、目標加速度atを最大減速度aminとすることができ、目標速度vtを次の式で算出される速度とすることができる。
(21) tn=tc+(vt−vc)/ at (ただし、tn<tr)
(22) (tr−tn)vt+(vc+vt)(tn−tc)/2=dcs−β
ここで、走行速度が目標速度vtに到達する時刻を到達時刻tnとしている。
(21)式に示すように、挙動パラメータ修正部2904は、現在速度vcから最大減速度aminで減速した場合に目標速度vtに到達する時刻を達時刻tnとする。また、挙動パラメータ修正部2904は、現在時刻tcから到達時刻tnまで最大減速度aminで減速し、その後信号表示が赤に変わる時刻trまで目標速度vtを維持することで、信号表示が赤に変わる時刻trよりも前に、走行距離が現在位置scから交差点位置ssまでの距離dcsを超えないように、目標速度vtを決定する。
目標速度vtに到達する到達時刻tnと、信号表示が赤に変わる時刻trとの間に十分な時間差がある場合には、(21)式のβの値は0であってもよく、適宜設定することが可能である。
たとえば、図37に示すように、挙動パラメータ修正部2904は、現在時刻tcから到達時刻tnまで、目標加速度atを最大減速度aminとし、目標速度vtに到達した後は、信号表示が赤に変わる時刻trまでこの速度を維持するようにする。このことにより、現在時刻tcから信号表示が赤に変わる時刻trまでの走行距離は、現在位置scから交差点位置ssまでの距離dcs以下になり、図35における速度を積分した面積はdcs以下になる。
なお、信号交差点の前方で渋滞が発生していると判断できるような場合には、挙動パラメータ修正部2904は、下限速度vmin以下になるような場合を許容して、現在の挙動パラメータを修正しないようにすることもできる。渋滞発生の判断条件としては、次の通過速度v2が所定の閾値以下であるような場合、周辺に存在する車両モデルの密度などを用いることができる。
以上のようにした第3実施形態では、信号機の状態により、制約条件を充足できないような場合には、信号交差点前後の挙動パラメータを修正することによって、制約条件を満たすことができるように車両モデルを制御することができる。挙動パラメータ修正部2904は、信号機状態データの他に、踏み切りの開閉情報、信号機のない交差点からの車両の流入、交差点における歩行者の状態情報、道路上における故障車や事故情報などの情報に基づいて、挙動パラメータの修正を行うことも可能である。