(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.実施形態]
[1−1.構成]
運転支援装置1は、例えば乗用車等の車両に搭載されている。運転支援装置1は、軌道を生成する対象となる車両を表す対象車両の走行状態に応じて、複数のノードとこれらのノードを接続するリンクとを有する軌道生成用グラフを生成し、この軌道生成用グラフを用いて運転支援を実施する。
【0014】
なお、対象車両とは、任意の車両を表し、対象車両のうちの、運転支援装置1の構成の少なくとも一部が搭載された車両を自車両ともいう。運転支援装置1は、
図1に示すように、制御部10を備える。運転支援装置1は、各種センサ21と、報知部26と、支援実施部27とを備えてもよい。
【0015】
各種センサ21としては、自車両の車速を検知する車速センサ、自車両の加速度を検知する加速度センサ、自車両のアクセル開度を検知する開度センサ、自車両の操舵角を検知する操舵角センサ、自車両のブレーキ操作量を検知するブレーキセンサ、自車両の現在地を検出する位置センサ、交通オブジェクト情報Ojを検知するレーダやカメラ等、周知のセンサを備える。各種センサ21は、各値の検知結果を制御部10に送る。
【0016】
なお、交通オブジェクトとは、交通に関する物体を意味し、交通オブジェクト情報Ojには交通に関する物体の位置や移動速度等の情報が含まれる。交通オブジェクトには、例えば、他車両、白線、道路の縁、障害物等が含まれる。
【0017】
報知部26は、制御部10にて生成された表示画像を表示させるディスプレイや、制御部10にて生成された音声を出力するスピーカ等、何らかの注意を促す情報をドライバに報知するための構成とされる。なお、報知部26の構成は周知の構成を採用することができる。
【0018】
支援実施部27は、制御部10による指令に従って自車両のアクセル開度、ブレーキ操作量、ハンドル舵角等の自車両の移動ベクトルを制御することで自車両の運転支援を行う。
【0019】
制御部10は、CPU11と、RAM、ROM、フラッシュメモリ等の半導体メモリ(以下、メモリ12)と、を有する周知のマイクロコンピュータを中心に構成される。制御部10の各種機能は、CPU11が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。
【0020】
この例では、メモリ12が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、非遷移的実体的記録媒体とは、記録媒体のうちの電磁波を除く意味である。また、制御部10を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0021】
制御部10は、CPU11がプログラムを実行することで実現される機能の構成のうち、軌道を生成するための構成として、
図2に示すように、情報収集部31、グラフ生成部33、リスク場生成部37、最適パス探索部38を備える。また、リスク関数を求めるための構成として、
図15に示すように、軌道データ離散化部34、逆強化学習部35と、既出の情報収集部31、グラフ生成部33とを備える。また、軌道を生成するための構成として、
図2に示すように、リスク場生成部37、最適パス探索部38と、既出の情報収集部31、グラフ生成部33とを備える。
【0022】
なお、前述のメモリ12の一部として、車両軌道DB32、リスク関数DB36を備える。データベースはDBと表記する。
制御部10を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その一部または全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、またはアナログ回路、あるいはこれらの組合せによって実現してもよい。
【0023】
[1−2.処理]
制御部10が有する機能の構成は、情報処理によって実現される。
軌道を生成する際の処理については
図2を用いて説明する。
図2に示すように、軌道を生成する際において、情報収集部31の機能は、自車両の現在の走行環境に応じた交通オブジェクト情報Ojを取得する。
【0024】
そして、リスク場生成部37の機能では、情報収集部31にて得られた交通オブジェクト情報Ojと、後述するリスク関数で求められる各座標でのリスク量とに応じて、座標値毎にリスク量を対応付けたリスク場を得る。このリスク場では、例えば他車両や障害物等、他の物体が存在する位置に近づくにつれてリスク量が高くなるよう設定される。
【0025】
グラフ生成部33としての機能では、グラフ生成処理を実行することによってグラフ情報Grを生成する。なお、グラフ生成処理については後述する。なお、グラフ生成処理で生成されたグラフでは、各ノードにリスク量が対応付けられていない。そこで、以下に示す処理にて各ノードにリスク量を対応付ける。
【0026】
最適パス探索部38の機能では、グラフ情報Grから得られる複数のノードのうちから始点ノードおよび終点ノードを設定し、始点ノードから終点ノードまでをリンクに沿って移動するものとして、通過するノードに対応付けられたリスク量の総和が最小となるパスを探索し、リスク量の総和が最小となるパスを対象車両の軌道Wgとして設定する。
【0027】
この際、各ノードにおけるリスク場の値、すなわちリスク関数に到達可能ノードの状態量を入力することによって得られた値の総和を各ノードのリスク量として対応付ける。なお、到達可能ノードとは、走行状態を考慮したときに対象車両が基準ノードから所定の一定時間で到達可能な1または複数のノードを表す。言い換えれば、到達可能ノードとは、基準ノードでの車両走行状態と動力学的制約に従って所定の時間で到達可能な1または複数のノードとも言える。
【0028】
次に、グラフ生成処理について
図3を用いて説明する。グラフ生成処理は、制御部10のうちのグラフ生成部33としての機能が実行する処理であり、グラフを生成する旨の指令が入力されると開始される。なお、
図4はグラフ生成処理の一例を示す疑似コードである。参考のために提示するものである。
【0029】
グラフ生成処理では、
図3に示すように、まず、S100にて、車両情報を取得する。ここでの車両状態には、対象車両の走行状態が含まれる。なお、走行状態とは、車両の走行に関する値を示し、例えば、対象車両の速度、加速度、ヨーレート等が該当する。
【0030】
続いて、S110にて、グラフを構成するノード集合Vの初期化を行う。初期ノードの集合V
initialは、例えば、現在の自車の走行状態に対応する始点ノード、終端状態に対応する終点ノード、および始点ノードと終点ノードを対角の頂点とする、または内部に包含する矩形内にランダムに配置したノードから構成すればよい。生成した初期ノード集合は、その時点でのノード集合Vとみなす。続いて、基準ノードx
τを選択する。基準ノードとは、複数のノードのうちの基準となるノードを表す。例えば、対象車両の現在値を示すノード等、任意のノードが最初に選択される基準ノードとなり得る。本処理では、対象車両の現在値を示すノードを起点として、基準ノードを逐次変更しながら処理を進める。
【0031】
続いて、S120にて、リンク追加処理を実施する。リンク追加処理は、基準ノードから到達可能ノードにリンクを追加して設定する処理である。なお、リンク追加処理の詳細については後述する。
【0032】
続いて、S130にて、ノード追加処理を実施する。ノード追加処理は、基準ノードに設定されたリンクの数が基準数となるようにリンクの数を追加する処理である。なお、ノード追加処理の詳細については後述する。
【0033】
続いて、S140にて、軌道生成領域として予め設定された道路の領域を外れて設定されたノードを削除する。つまり、自車両の走行状態に基づいて走行可能な位置であっても、実際の道路の状態等の走行環境に基づいて走行不可能と判断される領域に位置するノードについては削除する。
【0034】
続いて、S150にて、新規に追加されたノードに対するリンク追加処理およびノード追加処理が終了したか否かを判定する。新規に追加されたノードに対するリンク追加処理およびノード追加処理が終了していなければ、S120の処理に戻る。また、新規に追加されたノードに対するリンク追加処理およびノード追加処理が終了していれば、新たに追加されたノードをノードの集合Vに追加する。
【0035】
続いて、S180にて、未選択の基準ノードx
τの有無を判定する。未選択の基準ノードx
τがあれば、S190にて、未選択の基準ノードx
τの何れかを選択し、S120に戻る。また、未選択の基準ノードx
τがなければ、グラフ生成処理を終了する。
【0036】
次に、リンク追加処理の詳細について説明する。
リンク追加処理では、
図5に示すように、基準ノードから到達可能ノードにリンクを追加して設定する。なお、
図6はリンク追加処理の一例を示す疑似コードである。参考のために提示するものである。
【0037】
リンク追加処理では、
図5に示すように、まず、S210にて、ステップ数κを入力するとともに、制御入力u
τ+1:τ+κを任意の初期値に設定する。ステップ数κとは、繰り返し実施される任意の処理が実行される回数を表す。したがって、例えば、uが加減速と操舵角を表す場合、加減速と操舵角を決定・実行する周期が50msであれば、ステップ数κは50ms*κの時間を表すともいえる。
【0038】
続いて、S220にて、複数のノードのうちS110にて指定された基準ノードx
τ以外のあるノードxをリンク追加可否の判定対象として選択する。続いて、S230にて、基準ノードx
τ、制御入力u
τ+1:τ+κ、状態方程式fに従って、κステップ後の自車両の状態x
τ+κを演算する。
【0039】
状態方程式fは制御入力を受けた車両の一時刻の動きを表す車両運動モデルで、すなわち制御の時間ステップtに対して車両の走行状態x
t-1と制御入力u
tを入力としてx
tを出力する関数である。
【0040】
続いて、S240にて、自車両の状態x
τ+κと基準ノード以外のノードxの位置との誤差δx、および拡張ヤコビ行列Jとに基づいて誤差δxが小さくなるように制御入力u
τ+1:τ+κを修正する。ただし、制御入力u
τ+1:τ+κには、現在の車両の走行状態に応じて採りうる範囲が予め設定される。例えば、車両の運動特性・制御特性と現在の速度等をもとに決まる、加速度の上限値および下限値、加速度の変化量の上限値および下限値等の制限値が設定される。
【0041】
また、拡張ヤコビ行列Jについては下記のように設定される。
例えば、自車両の状態が、連続な状態
【0047】
で表わされる系とする。
拡張ヤコビ行列Jについては下記のように表すことができる。
【0053】
と求めることができ、制御入力uを、所定の学習係数ηを用いてu+ηδu
τ+1:τ+κと更新する。ただし更新の結果uの制限を超える次元があれば、制限値までの更新とする。更新されたuにもとづいてx
τ+κ、δuの計算とuの更新を繰り返すことで、uの制限の範囲内でx
τ+κをxに近づける。
【0054】
すなわち、S240では、誤差δxが小さくなるよう制御入力u
τ+1:τ+κを変更する。
続いて、S250にて、制御入力u
τ+1:τ+κが収束したか否かを判定する。制御入力u
τ+1:τ+κが収束する場合とは、制御入力u
τ+1:τ+κの値の変化がごく小さくなったことを表す。制御入力u
τ+1:τ+κが収束する場合には、誤差δxが充分小さくなった場合と、制御入力u
τ+1:τ+κが上限値または下限値と一致した場合とがある。
【0055】
制御入力u
τ+1:τ+κが収束していなければ、S230に戻る。また、制御入力u
τ+1:τ+κが収束していれば、S260にて、誤差δxと予め設定された閾値εとを比較する。
【0056】
誤差δxが閾値ε以上であれば、後述するS280に移行する。また、誤差δxが閾値ε未満であれば、S270にて、基準ノードx
τからノードxへのリンクを新たに設定する。つまり、誤差δxが充分小さくなっていれば、このノードxへ到達可能であるものとしてリンクを張る。
【0057】
続いて、S280にて、全てのノードxがx
τを起点とするリンクの追加可否の判定対象のノードとして選択されたか否かを判定する。何れかのノードxが選択されていなければ、S290にて未選択の他のノードxを選択し、S230の処理に戻る。
【0058】
また、全てのノードxが選択されていれば、リンク追加処理を終了する。
このようなリンク追加処理では、例えば、
図7に示すように、ノードx
1を基準ノードとすると、基準ノードx
1からステップ数κで到達可能な自車両の位置x
τ+κの範囲が
図8の破線にて示すような領域として求められる。つまり、制御入力u
τ+1:τ+κを変更しつつ誤差δxを演算することによって、自車両の位置x
τ+κが領域として求められる。
【0059】
ただし、本処理ではこの領域を直接的に求める必要はない。つまり、誤差δx<閾値εにできれば対象のノードが領域内にあることが判るということから、各ノードに対して誤差δx<閾値εであるか否かを判定する処理を行い、対象ノードが領域内にあるか否かを判定している。そして、
図9に示すように、この領域内のノードにリンクを設定することになる。このようなノードおよびリンクは、軌道生成用グラフを構成する。
【0060】
次に、ノード追加処理の詳細について説明する。ノード追加処理では、
図10に示すように、基準ノードに設定されたリンクの数が基準数となるようにリンクの数を追加する。なお、
図11はノード追加処理の一例を示す疑似コードである。参考のために提示するものである。
【0061】
ノード追加処理では、
図10に示すように、まずS310にて、制限値の範囲内で制御入力u
τ+1:τ+κを算出する。そして、S320にて、制御入力u
τ+1:τ+κに従うノードx
τ+κを状態方程式fにより算出し、基準ノードx
τからノードx
τ+κまでの新たなリンクを、x
τから出るリンクの集合E(x
τ)に追加する。
【0062】
続いて、S330にて、基準ノードx
τからのリンク数|E(x
τ)|と予め設定されたリンク設定数|A|とを比較する。リンク数|E(x
τ)|がリンク設定数|A|未満であれば、S310に戻る。また、リンク数|E(x
τ)|がリンク設定数|A|以上であれば、ノード追加処理を終了する。
【0063】
このようなノード追加処理では、例えば、
図12に示すように、基準ノードx
1からステップ数κで到達可能な自車両の位置x
τ+κの範囲内にノードがリンク設定数|A|未満しか存在しない場合であっても、
図13に示すように、新たなノードNが追加される。例えば、現在のリンク数が3であり、リンク設定数|A|が4である場合、1つのノードNが追加される。そして、
図14に示すように、基準ノードx
1からノードNまでの新たなリンクE(x
τ)が追加される。
【0064】
上記のように説明したグラフ生成処理では、リンクを設定した到達可能ノードのそれぞれを基準ノードとして、新たな到達可能ノードを探索し、新たな到達可能ノードが探索される度に、それぞれの基準ノードからそれぞれの到達可能ノードにリンクを設定する。ただし、リンクの設定後、軌道生成をしても自車両が走行できない領域に生成されたノードは削除する。
【0065】
このような処理を繰り返すことで、自車両が走行可能な領域内で、かつ軌道生成可能な領域内で、グラフを生成することになる。
次に、リスク関数を求めるための構成については
図15を用いて説明する。
【0066】
情報収集部31としての機能では、任意の車両が走行した経路である軌道Wr、および交通オブジェクトの種別や位置に関するオブジェクト情報Ojを取得する。
情報収集部31の機能が、軌道Wrとして、自車両の軌道を取得する際には、例えば、各種センサ21による検知結果を用いて軌道を推定し、この軌道を自車両の軌道とする。軌道Wrとして、他車両の軌道を取得する際には、例えば、周知の通信技術を用いて、他車両やサーバ等において蓄積された他車両の軌道を取得する。取得した軌道は、車両軌道DB32に記録される。
【0067】
グラフ生成部33としての機能では、グラフ生成処理を実行することによってグラフ情報Grを生成する。なお、グラフ生成処理については後述する。
軌道データ離散化部34としての機能では、グラフ情報Grとを用いて、車両軌道DB32から得られる軌道Wrを離散化する。すなわち、グラフ情報Grに基づいて、走行履歴として車両軌道DB32に記録されている軌道のそれぞれを、グラフ上で形状が最も類似している離散軌道に変換し、離散軌道上のノードの座標値の系列Wdとして得る。例えば、連続値で測定された軌道{s
1,...,s
T}に対し、次式で定義するコストを最小化するグラフ上のノードx
n∈Vを逐次的に求めることで、離散的な状態系列Wdとする。
【0069】
この際、郊外の道路や統制された特殊な作業場等の、自車両以外に移動体が存在しない特定領域のみを対象とする場合、軌道Wdとして走行された軌道はグラフ上の経路としてありえる他の軌道より安全な軌道であるものとして、Wd上のノードを、リスク量を他のノードよりも低減させるべきノードとして分類し、各ノードのリスク量を調整する。なお、リスク量とは、車両が走行するにあたり、事故が発生する可能性の高さ等、車両にとっての危険性を数値化した値を示す。
【0070】
自車両以外の移動体が存在する領域で軌道を取得したり、複数の領域における軌道が混在している場合、ノードに直接リスク量を付与せず、逆強化学習を用いてオブジェクト依存のリスク関数を調節することで、その都度の状況に合わせたリスク量を算出できるリスク関数を得ればよい。逆強化学習部35としての機能では、軌道データ離散化部34による出力として得られる離散軌道Wdのセットを用いて、逆強化学習を行う。逆強化学習は、離散軌道のデータセットからリスク関数を得るためのアルゴリズムであり、ここでは、軌道上のノードに対応した状態量を入力として、ノードのリスク量を求めるための関数を表すリスク関数を得る。
【0071】
なお、逆強化学習は、周知の技術であり、例えば、下記の文献にて詳細が開示されている。
文献1:“Algorithms for inverse reinforcement learning”, Ng, A. and Russel, S., ICML, 2000、
文献2:“Maximum Entropy Inverse Reinforcement Learning”, Ziebart B., et al., AAAI, 2008。
【0072】
なお、本開示におけるリスク関数は文献によっては報酬関数、コスト関数、ポテンシャル関数等、異なる名称を用いられることがある。
逆強化学習部35の機能で得られたリスク関数は、リスク関数DB36に記録される。逆強化学習によって得られたリスク関数を用いると、実際に走行された軌道Wrはより安全な軌道であるものとして、よりリスク量が低く設定される。
【0073】
リスク関数は走行状態を入力として、リスク量を返す関数であり、例えば下記の文献3におけるfeature descriptor f(s) にて示すように、指数関数を用いてリスクが一般的に高いと考えられる走行状態において値が高くなるよう設計すればよい。
【0074】
文献3:“Modeling Risk Anticipation and Defensive Driving on Residential Roads with Inverse Reinforcement Learning”, Simosaka, M., et al., 2014 IEEE 17th International Conference on Intelligent Transportation Systems (ITSC))。
【0075】
上記の文献3ではリスク関数を下記のように設定する。
【0077】
この式では、s とΣの値を変えたものを複数用意することで、過大・過小な速度の走行状態や、信号のない交差点付近での高速走行状態、直線部での低速走行状態等における値が小さくなるようなリスク関数を用意している。ただし、この表記でのsは走行状態を示す。
【0078】
また、上記の特許文献1では、他車両等の障害物iに因るリスク関数を、「危険度場を構成する諸要素のうち、障害物iの存在に因る直接寄与項」として次のように設計している。
【0080】
ただし、O_iは障害物iによって専有されている領域として設計されており、a_i、b_iは設計者が設計するパラメータ、x_i(t)、y_i(t)は障害物iの時刻tにおける予測位置である。各障害物に対して、
【0082】
を用意し、その総和をノードの危険度としている。
これらのリスク関数は走行状態として自車速度や自車・障害物の位置を入力としているが、例えば加速度や、相対速度にもとづいたものを設計してもよい。得られたリスク関数は、リスク関数DB36に記録される。
【0083】
なお、グラフ中の各ノードのリスク量は、ノードに対応した走行状態をリスク関数に入力して得られる。ただし、特許文献1では”危険度の総和”がリスク量に該当する。グラフ上の経路のリスク量は、経路に含まれるノードのリスク量の総和として得られる。
【0084】
このようにして得られたグラフ情報Grや軌道Wgは、任意の処理で利用することができる。例えば、軌道Wgを用いる場合、
図16に示すような支援処理を実施することができる。
【0085】
なお、グラフ情報Grを他の装置に提供するような場合には、各ノードにリスク量を対応付ける処理は他の装置にて実施してもよい。つまり、各ノードにリスク量を対応付ける構成は、運転支援装置1において必須の構成ではない。
【0086】
支援処理では、
図16に示すように、まず、S410にて、自車両の現在地を取得する。続いて、S420にて、自車両についての車両情報を取得する。車両情報を取得する処理は前述のS100の処理と同様の処理を採用できる。
【0087】
続いて、S430にて、軌道生成処理を実施する。軌道生成処理は、
図2を用いて説明した軌道を生成する際の処理に相当する処理である。
続いて、S440にて、例えば軌道Wgに沿って自車両を走行させるための制御量を演算する。ここでの制御量には、アクセル開度、ブレーキ量、操舵量等、自車両の走行に影響を与えうるパラメータが含まれうる。また、例えば、軌道Wgと実際の自車両の軌道との逸脱程度に応じて報知部26から出力する警報についての制御量を演算してもよい。
【0088】
続いて、S450にて、求めた制御量を報知部26や支援実施部27に対して出力する。この処理により、軌道Wgに応じた支援を実現する。
このような処理が終了すると、支援処理を終了する。
【0089】
[1−3.効果]
以上詳述した第1実施形態によれば、以下の効果を奏する。
(1a)上記の運転支援装置1において、グラフ生成部33は、軌道を求める対象となる対象車両の走行状態を取得する。また、グラフ生成部33は、走行状態に応じて、複数のノードのうちの基準となるノードを表す基準ノードから対象車両が到達可能な1または複数のノードを表す到達可能ノードを探索する。また、グラフ生成部33は、基準ノードから到達可能ノードのそれぞれにリンクを設定し、最適パス探索部38は、到達可能ノードのそれぞれにリスク量を対応付ける。
【0090】
すなわち、運転支援装置1では、対象車両が到達可能なノードを表す到達可能ノードを探索し、このノードを含むグラフを生成して到達可能ノードのそれぞれにリスク量を対応付けておく。
【0091】
したがって、このような運転支援装置1によれば、軌道を生成する際には、リスク量に応じて最適なリンクを選択すれば走行可能な軌道を生成できる可能性が高い。よって、軌道を生成する際の精度を向上させることができる。
【0092】
(1b)上記の運転支援装置1において、情報収集部31は、任意の車両が走行した経路である軌道Wrを取得し、軌道データ離散化部34、逆強化学習部35は、経路上に位置する到達可能ノードのリスク量を低減させる。
【0093】
このような運転支援装置1によれば、任意の車両が走行した経路上に位置する到達可能ノードのリスク量を低減させるので、実際に車両が走行した経路がより安全であるものとして軌道を生成することができる。
【0094】
(1c)上記の運転支援装置1において、最適パス探索部38は、リスク量を求めるために予め準備されたリスク関数に前記到達可能ノードの座標を入力することによって得られた値をリスク量として対応付けるように構成され、逆強化学習部35は、経路に応じてリスク関数を補正する。
【0095】
このような運転支援装置1によれば、任意の車両が走行した経路に応じてリスク関数を補正することでリスク関数を最適化できるので、適切なリスク関数を得ることができる。
(1d)上記の運転支援装置1において、最適パス探索部38は、リスク量を求めるために予め準備されたリスク関数に到達可能ノードの座標を入力することによって得られた値をリスク量として対応付ける。
【0096】
このような運転支援装置1によれば、リスク関数に到達可能ノードの座標を入力するだけでリスク量を求めることができるので、リスク量を簡素な処理で求めることができる。
(1e)上記の運転支援装置1において、逆強化学習部35は、運転支援装置1が生成した軌道生成用グラフを用いて任意の車両が走行した経路上に位置する到達可能ノードを探索し、該探索結果に応じてリスク関数を補正する。
【0097】
このような運転支援装置1によれば、運転支援装置1が生成した軌道生成用グラフを利用して学習したリスク関数に従って、軌道生成用グラフを用いて軌道生成するので、より精度のよい軌道を生成することができる。
【0098】
(1f)上記の運転支援装置1において、逆強化学習部35は、逆強化学習によって経路上に位置する到達可能ノードのリスク量を低減させる。
このような運転支援装置1によれば、逆強化学習によって到達可能ノードのリスク量を最適化することができる。
【0099】
(1g)上記の運転支援装置1において、グラフ生成部33は、リンクを設定した到達可能ノードのそれぞれを基準ノードとして、新たな到達可能ノードを探索し、新たな到達可能ノードが探索される度に、それぞれの基準ノードからそれぞれの到達可能ノードにリンクを設定する。
【0100】
このような運転支援装置1によれば、多数のノードのそれぞれにリンクを設定したグラフを生成することができる。
(1h)上記の運転支援装置1において、グラフ生成部33は、基準ノードに設定されたリンクの数と予め設定された基準数とを比較し、リンクの数が基準数未満である場合に、リンクの数が基準数となるように、対象車両が到達可能な領域を表す可能領域内に、ノードを追加するとともに、基準ノードから追加したノードに対してリンクを追加して設定する。
【0101】
このような運転支援装置1によれば、基準ノードに設定されたリンクの数が基準数未満である場合に到達可能な領域である可能領域内にノードを追加し、リンクも追加するので、リンク数が過剰となることを抑制するだけでなく、可能領域内のリンク数が過少になることも抑制することができる。よって、軌道を生成するためのより適切なグラフを生成することができる。
【0102】
なお、上記の基準ノードから追加したノードに対してリンクを追加して設定する処理と、基準ノードから到達可能ノードにリンクを設定する処理との両方を実施する際に、これらの処理の順序は問わない。
【0103】
(1i)上記の運転支援装置1において、最適パス探索部38は、複数のノードのうちから始点ノードおよび終点ノードを設定し、始点ノードから終点ノードまでをリンクに沿って移動するものとして、通過する到達可能ノードに対応付けられたリスク量の総和が最小となるパスを探索し、リスク量の総和が最小となるパスを対象車両の軌道として設定するように構成される。
【0104】
このような運転支援装置1によれば、リスク量の総和が最小となるパスを探索し、このパスを対象車両の軌道として設定するので、走行可能な軌道であり最も安全な軌道を設定することができる。
【0105】
[2.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0106】
(2a)上記実施形態において、リスク関数は、軌道を示す座標値やリスク量等を入力として、走行状態に応じて道路上の座標値毎にリスク量を求めるための関数として説明したが、時刻等の他のパラメータを含んでもよい。
【0107】
(2b)上記実施形態においては、リンクの数が基準数未満である場合に、リンクの数が基準数となるように、自車両が到達可能な領域を表す可能領域内にノードを追加するよう構成したが、この構成は省略してもよい。
【0108】
(2c)上記実施形態においては、自車両が将来走行すべき軌道を生成するためにグラフ情報Grを用いたが、他車両の軌道を予測する際にグラフ情報Grを用いてもよい。グラフ情報Grを用いる際には、リスク量が対応付けられたものを利用してもよいし、リスク量が対応付けられていないものを利用してもよい。
【0109】
(2d)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【0110】
(2e)上述した運転支援装置1の他、当該運転支援装置1を構成要素とするシステム、当該運転支援装置1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、運転支援方法など、種々の形態で本開示を実現することもできる。
【0111】
[3.実施形態の構成と本開示の構成との対応関係]
実施形態において運転支援装置1は本開示でいうグラフ生成装置に相当し、実施形態において情報収集部31は本開示でいう経路取得部に相当する。また、実施形態において軌道データ離散化部34、逆強化学習部35は本開示でいうリスク低減部および関数補正部に相当し、実施形態において最適パス探索部38は本開示でいう軌道設定部およびリスク対応部に相当する。
【0112】
また、実施形態において制御部10が実行する処理のうちのS100の処理は本開示でいう状態取得部に相当し、実施形態においてS220、S230、S240、S250の処理は本開示でいうノード探索部に相当する。また、実施形態においてグラフ生成部33、S270の処理は本開示でいうリンク設定部に相当し、実施形態においてS320,S330の処理は本開示でいう追加設定部に相当する。