(57)【要約】【課題】様々なバリエーションを有するシミュレーションの実現が容易である。【解決手段】交通流制御装置は、基準車両の走行状態が入力される基準車両動作入力部と、基準車両の走行状態を用いた複数の被制御車両の目標走行状態の定義が含まれる走行シナリオを読み込むシナリオ入力部と、走行状態および走行シナリオに基づき被制御車両の目標走行状態を算出する目標設定部とを備える。【選択図】図２
2019117329.tif 000002
【特許請求の範囲】
【請求項１】
基準車両の走行状態が入力される基準車両動作入力部と、
前記基準車両の前記走行状態を用いた複数の被制御車両の目標走行状態の定義が含まれる走行シナリオを読み込むシナリオ入力部と、
前記走行状態および前記走行シナリオに基づき前記被制御車両の前記目標走行状態を算出する目標設定部とを備える交通流制御装置。
【請求項２】
請求項１に記載の交通流制御装置において、
前記目標設定部が算出した前記目標走行状態に基づき、前記被制御車両の操作量を決定する操作量決定部をさらに備える交通流制御装置。
【請求項３】
請求項２に記載の交通流制御装置において、
前記操作量は、アクセル、ブレーキ、およびステアリングホイールの操作量を含む交通流制御装置。
【請求項４】
請求項１に記載の交通流制御装置において、
前記走行シナリオには、複数の前記被制御車両の初期状態、およびそれぞれの前記被制御車両の動作定義が含まれ、前記動作定義には、前記被制御車両の動作を規定する複数の状態、および前記状態に遷移する条件である遷移条件とが含まれ、
前記目標設定部は、前記被制御車両のそれぞれについて前記初期状態からの前記状態の遷移を管理する交通流制御装置。
【請求項５】
請求項１に記載の交通流制御装置において、
前記走行シナリオには、第１の前記被制御車両の走行状態を用いた第２の前記被制御車両の目標走行状態の定義が含まれ、
前記被制御車両の走行状態が入力される被制御車両動作入力部をさらに備え、
前記目標設定部は、第１の前記被制御車両の走行状態を用いて第２の前記被制御車両の目標走行状態を算出する交通流制御装置。
【請求項６】
複数の被制御車両の動作を決定するために用いられる走行シナリオのデータ構造であって、
少なくとも１つの前記被制御車両について前記被制御車両に含まれない基準車両を基準として初期状態を定義する被制御車両初期状態と、
前記被制御車両のそれぞれについて前記初期状態以後の動作を定義する動作定義とを含む走行シナリオのデータ構造。
【請求項７】
請求項６に記載の走行シナリオのデータ構造において、
前記動作定義には、前記被制御車両の動作を規定する複数の状態と、前記状態に遷移する条件である遷移条件とが含まれ、
前記状態ごとに前記被制御車両の目標制御状態が設定され、
少なくとも１つの前記状態に設定される前記目標制御状態は、前記基準車両の動作との相対関係を示す走行シナリオのデータ構造。
【請求項８】
請求項７に記載の走行シナリオのデータ構造において、
前記相対関係は、相対速度、相対加速度、相対ヨーレイト、および相対位置の少なくとも１つを含む走行シナリオのデータ構造。
【請求項９】
請求項６に記載の走行シナリオのデータ構造において、
前記動作定義には、前記被制御車両の動作を規定する複数の状態と、前記状態に遷移する条件である遷移条件とが含まれ、
前記状態ごとに前記被制御車両の目標制御状態が設定され、
少なくとも１つの前記状態に設定される前記目標制御状態は、他の前記被制御車両の動作との相対関係を示す走行シナリオのデータ構造。
【請求項１０】
請求項９に記載の走行シナリオのデータ構造において、
前記相対関係は、相対速度、相対加速度、相対ヨーレイト、および相対位置の少なくとも１つを含む走行シナリオのデータ構造。
【請求項１１】
請求項６に記載の走行シナリオのデータ構造において、
前記動作定義には、前記被制御車両の動作を規定する複数の状態と、前記状態に遷移する条件である遷移条件とが含まれ、
前記走行シナリオは、ユーザによる任意のタイミングでの入力が可能なシナリオイベント発生部と接続される装置において実行される複数の車両の動作のシミュレーションに用いられ、
前記遷移条件には、前記シナリオイベント発生部への前記入力が含まれる走行シナリオのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、交通流制御装置、および走行シナリオのデータ構造に関する。
【背景技術】
【０００２】
近年、自動車の自動運転技術の開発が盛んである。開発した自動運転装置の性能を検証するために、シミュレーションが用いられることが多い。このシミュレーションでは、現実に発生する可能性がある様々な状況を作り出し、自動運転装置の性能を検証する。具体的にはシミュレーションでは、自動運転装置が制御対象とする車両だけでなく、周囲の車両のパラメータを様々に変化させて膨大なパターンを用意する必要がある。
特許文献１には、模擬運転席に着座する運転者に対して模擬視界画像を表示するための表示手段と、前記運転者の運転操作に基づいて、該運転操作に応じて模擬走行路上を走行する仮想的な自車両の模擬走行路座標上における位置を表す第１の位置情報を順次更新する自車両情報更新手段と、前記順次更新される第１の位置情報に基づいて、模擬走行路上又はその近傍に存在する移動体の移動が自車両の移動に同期するように、模擬走行路座標上の移動体の位置を表す第２の位置情報を順次更新する移動体情報更新手段と、前記第１の位置情報が表す自車両の位置と前記第２の位置情報が表す移動体の位置とに基づいて、自車両の運転席からの視界を模擬した模擬視界画像を表す情報を順次生成し、前記模擬視界画像を前記表示手段に表示させる模擬視界生成手段と、を含む自動車模擬運転装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２４８８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、様々なバリエーションを有するシミュレーションの実現が非常に煩雑である。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による交通流制御装置は、基準車両の走行状態が入力される基準車両動作入力部と、前記基準車両の前記走行状態を用いた複数の被制御車両の目標走行状態の定義が含まれる走行シナリオを読み込むシナリオ入力部と、前記走行状態および前記走行シナリオに基づき前記被制御車両の前記目標走行状態を算出する目標設定部とを備える。
本発明の第２の態様による走行シナリオのデータ構造は、複数の被制御車両の動作を決定するために用いられる走行シナリオのデータ構造であって、前記被制御車両に含まれない基準車両を基準として前記被制御車両の初期状態を定義する被制御車両初期状態と、前記被制御車両のそれぞれについて前記初期状態以後の動作を定義する動作定義とを含む。
【発明の効果】
【０００６】
本発明によれば、様々なバリエーションを有するシミュレーションの実現が容易である。
【図面の簡単な説明】
【０００７】
【図１】運転シミュレーションシステムＳのハードウエア構成図
【図２】第１の実施の形態における運転シミュレーションシステムＳの機能構成図
【図３】走行シナリオＤＢ４１の概念図
【図４】図４（ａ）は、初期状態４３の一例を示す図、図４（ｂ）は図４（ａ）に対応する初期状態を示す模式図
【図５】図５（ａ）は、動作定義４４の一例を示す図、図５（ｂ）は、図５（ａ）に対応する他車両Ｄ１の動作を示す概要図
【図６】目標設定部３１の動作を表すフローチャート
【図７】操作量決定部３２の動作を表すフローチャート
【図８】動作例における他車両Ｄ１の目標速度を示す図
【図９】変形例１における運転シミュレーションシステムＳの機能構成図
【図１０】図１０（ａ）は変形例７における初期状態４３の一例を示す図、図１０（ｂ）は変形例７における動作定義４４の一例を示す図
【図１１】第２の実施の形態における他車両制御装置３０のハードウエア構成図
【図１２】第２の実施の形態における動作定義４４の一例を示す図
【発明を実施するための形態】
【０００８】
―第１の実施の形態―
以下、図１〜図８を参照して、交通流制御装置である他車両制御装置の第１の実施の形態を説明する。
【０００９】
（ハードウエア構成）
図１は、運転シミュレーションシステムＳのハードウエア構成を示す図である。運転シミュレーションシステムＳは、接続装置１０と、シミュレーション装置２０と、他車両制御装置３０と、データベース装置４０と、自動運転ＥＣＵ９０とを備える。本システムはシミュレーション装置２０を中心として構成される。シミュレーション装置２０は接続装置１０および他車両制御装置３０と信号線により接続され、接続装置１０はシミュレーション装置２０および自動運転ＥＣＵ９０と信号線により接続され、他車両制御装置３０はシミュレーション装置２０およびデータベース装置４０と信号線により接続される。
【００１０】
接続装置１０は、中央演算装置であるＣＰＵ１０Ａと、読み込み専用の記憶装置であるＲＯＭ１０Ｂと、読み書き可能な記憶装置であるＲＡＭ１０Ｃと、第１通信部１０Ｄと、第２通信部１０Ｅとを備える。ＣＰＵ１０Ａは、ＲＯＭ１０Ｂに格納されるプログラムをＲＡＭ１０Ｃに展開して実行することにより後述する機能を実現する。第１通信部１０Ｄは、自動運転ＥＣＵ９０と通信を行う通信インタフェースであり、たとえばＣＡＮ（Controller Area Network；登録商標）に対応する。第２通信部１０Ｅはシミュレーション装置２０と通信を行う通信インタフェースであり、たとえばＩＥＥＥ８０２．３に対応する。なお自動運転ＥＣＵ９０とシミュレーション装置２０が同一の通信方式に対応する場合は、接続装置１０は第１通信部１０Ｄおよび第２通信部１０Ｅのいずれか一方を備えればよい。
【００１１】
シミュレーション装置２０は、中央演算装置であるＣＰＵ２０Ａと、読み込み専用の記憶装置であるＲＯＭ２０Ｂと、読み書き可能な記憶装置であるＲＡＭ２０Ｃと、第３通信部２０Ｄとを備える。ＣＰＵ２０Ａは、ＲＯＭ２０Ｂに格納されるプログラムをＲＡＭ２０Ｃに展開して実行することにより、後述する機能を実現する。第３通信部２０Ｄは接続装置１０および他車両制御装置３０と通信を行う通信インタフェースであり、たとえばＩＥＥＥ８０２．３に対応する。
【００１２】
他車両制御装置３０は、中央演算装置であるＣＰＵ３０Ａと、読み込み専用の記憶装置であるＲＯＭ３０Ｂと、読み書き可能な記憶装置であるＲＡＭ３０Ｃと、第４通信部３０Ｄと、シナリオ選択部３０Ｅとを備える。ＣＰＵ３０Ａは、ＲＯＭ３０Ｂに格納されるプログラムをＲＡＭ３０Ｃに展開して実行することにより、後述する機能を実現する。第４通信部３０Ｄはシミュレーション装置２０およびデータベース装置４０と通信を行う通信インタフェースであり、たとえばＩＥＥＥ８０２．３に対応する。シナリオ選択部３０Ｅは、たとえば複数のボタンから構成されオペレータにより後述するいずれかの走行シナリオが選択される。
【００１３】
データベース装置４０は、中央演算装置であるＣＰＵ４０Ａと、読み込み専用の記憶装置であるＲＯＭ４０Ｂと、読み書き可能な記憶装置であるＲＡＭ４０Ｃと、第５通信部４０Ｄと、記憶部４０Ｆとを備える。ＣＰＵ４０Ａは、ＲＯＭ４０Ｂに格納されるプログラムをＲＡＭ４０Ｃに展開して実行することにより、後述する機能を実現する。記憶部４０Ｆは不揮発性の記憶装置、たとえばハードディスクドライブである。記憶部４０Ｆには走行シナリオデータベース（以下、走行シナリオＤＢ）４１が格納される。走行シナリオＤＢ４１の構成は後述する。
【００１４】
自動運転ＥＣＵ９０は、車両に搭載されることを念頭に開発、作成された電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。ただし本実施の形態では自動運転ＥＣＵ９０は車両には搭載されず、接続装置１０に接続される。自動運転ＥＣＵ９０は、中央演算装置であるＣＰＵ９０Ａと、読み込み専用の記憶装置であるＲＯＭ９０Ｂと、読み書き可能な記憶装置であるＲＡＭ９０Ｃと、第６通信部９０Ｄとを備える。ＣＰＵ９０Ａは、ＲＯＭ９０Ｂに格納されるプログラムをＲＡＭ９０Ｃに展開して実行することにより、後述する機能を実現する。第６通信部９０Ｄは、接続装置１０と通信を行う通信インタフェースであり、たとえばＣＡＮに対応する。
【００１５】
（機能構成）
図２は、運転シミュレーションシステムＳの機能構成を示す図である。運転シミュレーションシステムＳは、様々な状況における自動運転ＥＣＵ９０の挙動をシミュレーションにより確認するシステムである。以下では、自動運転ＥＣＵ９０が動作させる車両を「自車両」または「基準車両」と呼ぶ。そして運転シミュレーションシステムＳにおける自車両以外の車両を「他車両」または「被制御車両」と呼ぶ。また運転シミュレーションシステムＳを利用する者を「ユーザ」や「オペレータ」と呼ぶ。
【００１６】
シミュレーション装置２０は、自車両モデル２１および複数の他車両モデル２２を備える。自車両モデル２１および複数の他車両モデル２２は、前述のプログラムにより実現される。シミュレーション装置２０は、シミュレーション内での単位時間ごと、たとえば１０ｍｓごとに自車両および他車両の挙動を算出して走行状態２５として出力する。走行状態２５には、各車両の位置、速度、加速度、および姿勢角が含まれる。姿勢角とは、ヨー角、ロール角、およびピッチ角である。本実施の形態では、車両の挙動を算出するシミュレーション内での単位時間ごとのタイミングを「フレーム」と呼ぶ。
【００１７】
なおシミュレーション内における時間の経過と、実世界での時間の経過は一致しなくてもよい。たとえばシミュレーション装置２０は実世界での時間の経過を考慮せずに演算を行い、走行状態２５を出力してもよい。また装置間の通信の遅延、すなわち実世界での時間の経過を無視してよい。
【００１８】
自車両モデル２１の操作量は接続装置１０を介して自動運転ＥＣＵ９０からシミュレーション装置２０に入力され、他車両モデル２２の操作量は他車両制御装置３０からシミュレーション装置２０に入力される。ただし以下では、自車両モデル２１の操作量を自車両操作量９６とも呼び、他車両モデル２２の操作量を他車両操作量３６とも呼ぶ。
【００１９】
自車両モデル２１は、あるフレームにおける自車両の状態と外部から入力される操作量とに基づき、次のフレームにおける自車両の位置、速度、加速度、およびエンジンの回転数を算出する。操作量には、アクセルペダルの踏込量、ブレーキペダルの踏込量、およびステアリングホイールの操作角度が含まれる。他車両モデル２２は、あるフレームにおける他車両の状態と外部から入力される操作量とに基づき、次のフレームにおける他車両の位置、速度、加速度、およびエンジンの回転数を算出する。自車両モデル２１およびそれぞれの他車両モデル２２には、あらかじめ各車両の諸元、すなわち車両の質量、エンジンの特性、およびブレーキの特性などが設定されている。
【００２０】
シミュレーション装置２０には、接続装置１０を介して自動運転ＥＣＵ９０から自車両操作量９６が入力され、他車両制御装置３０から他車両操作量３６が入力される。シミュレーション装置２０は、接続装置１０および他車両制御装置３０に走行状態２５を出力する。すなわちシミュレーション装置２０は、自動運転ＥＣＵ９０および他車両制御装置３０の両方に、自車両および他車両の状態を送信する。
【００２１】
自動運転ＥＣＵ９０は、前述したプログラムにより実現される自動運転部９１を備える。自動運転部９１はあらかじめ作成された動作アルゴリズムにしたがって動作し、入力されるあるフレームの走行状態２５に基づき、次のフレームの自車両の最適な操作量を算出し、自車両操作量９６として出力する。自車両操作量９６は、接続装置１０を介してシミュレーション装置２０に送信される。
【００２２】
接続装置１０は、前述したプログラムにより実現される中継部１１を備える。中継部１１は、自動運転ＥＣＵ９０から入力される自車両操作量９６をシミュレーション装置２０に送信し、シミュレーション装置２０から入力される走行状態２５を接続装置１０に送信する。
【００２３】
他車両制御装置３０は、前述したプログラムにより実現される目標設定部３１および操作量決定部３２を備える。他車両制御装置３０は、オペレータがシナリオ選択部３０Ｅを操作していずれかのシナリオを選択すると、その選択をデータベース装置４０に伝達してデータベース装置４０から走行シナリオ４２を受信する。目標設定部３１は、シミュレーション装置２０から受信する走行状態２５およびデータベース装置４０から受信した走行シナリオ４２に基づき他車両の目標状態３５を出力する。操作量決定部３２は、目標設定部３１が出力する他車両の目標状態３５に基づき、それぞれの他車両の操作量を決定して他車両操作量３６としてシミュレーション装置２０に出力する。目標設定部３１および操作量決定部３２の動作の詳細は後述する。
【００２４】
他車両制御装置３０は、シミュレーションにおける基準車両以外の多数の被制御車両を制御する。そのため他車両制御装置３０は、多数の被制御車両によりシミュレーション内で交通流を制御しているとも言える。したがって他車両制御装置３０は、「交通流制御装置」と呼ぶこともできる。第４通信部３０Ｄには走行状態２５が入力され、この走行状態２５は基準車両や被制御車両の走行状態を含むので、第４通信部３０Ｄは「基準車両動作入力部」や「被制御車両動作入力部」と呼ぶこともできる。また第４通信部３０Ｄには走行シナリオ４２が入力されるので、第４通信部３０Ｄは「シナリオ入力部」と呼ぶこともできる。
【００２５】
データベース装置４０は、前述したプログラムにより実現されるシナリオ選択部４６を備える。シナリオ選択部４６は、他車両制御装置３０から要求された走行シナリオ４２を走行シナリオＤＢ４１から読み取り、他車両制御装置３０に送信する。
【００２６】
（走行シナリオＤＢ４１）
図３は走行シナリオＤＢ４１の概念図である。走行シナリオＤＢ４１には複数の走行シナリオ４２が格納される。それぞれの走行シナリオ４２は、初期状態４３と、複数の動作定義４４とから構成される。初期状態４３には、自車両および全ての他車両のシミュレーション開始時の情報が格納される。それぞれの動作定義４４には、ある１台分の他車両の動作の規定が記述される。それぞれ具体例とともに説明する。
【００２７】
（初期状態４３）
図４（ａ）は、初期状態４３の一例を示す図である。初期状態４３はたとえば図４（ａ）に示すように複数のレコードを有する表形式で表され、各レコードは、車両、初期位置、初期速度、および走行レーンのフィールドを有する。車両のフィールドには、該当するレコードが対象とする車両の識別情報が格納される。図４（ａ）に示す例では自車両は「ＥＧＯ」と表され、他車両はＤ１〜Ｄ３で表される。初期位置のフィールドには、シミュレーション開始時の各車両の位置が格納される。たとえば図４（ａ）に示す例では自車両ＥＧＯの初期位置は、シミュレーションにおいてあらかじめ定義された基準位置から１００ｍ離れた位置である。また図４（ａ）に示す例では「Ｄ１」〜「Ｄ３」の初期位置は全て、自車両ＥＧＯの位置を基準とする相対位置で表されている。
【００２８】
初期速度のフィールドには、シミュレーション開始時の各車両の速度が格納される。図４（ａ）に示す例では単位を記載していないが、速度の単位はたとえば「ｋｍ／時」でもよいし「マイル／分」でもよい。図４（ａ）に示す例では「Ｄ１」および「Ｄ２」は初期速度が「相対０」である。これは自車両ＥＧＯとの相対速度がゼロ、すなわち速度が自車両ＥＧＯと同一であることを示している。走行レーンのフィールドには、シミュレーション開始時に各車両が存在する走行レーンの識別子が格納される。
【００２９】
なお図４（ａ）に示す例では他車両の初期位置、および初期速度は全て自車両ＥＧＯを基準とする相対位置や相対速度であった。しかしいくつかの他車両は自車両ＥＧＯのように絶対位置や絶対速度が規定されてもよい。
【００３０】
図４（ｂ）は図４（ａ）に対応する初期状態を示す模式図である。図４（ｂ）では図示左端が基準位置、すなわち距離ゼロの位置である。そして自車両ＥＧＯは１００ｍの位置にあり、他車両Ｄ１は相対位置が＋８０ｍなので１８０ｍの位置にある。他車両Ｄ２は相対位置が−８０ｍなので２０ｍの位置にあり、他車両Ｄ３は相対位置が−４０ｍなので６０ｍの位置にある。また自車両ＥＧＯの初期状態での速度は５０であり、他車両Ｄ１および他車両Ｄ２は相対速度がゼロなので自車両ＥＧＯと同じく速度は５０である。一方で他車両Ｄ３は相対速度が「＋２０」なので速度は７０である。
【００３１】
（動作定義４４）
図５（ａ）は、動作定義４４の一例を示す図である。動作定義４４はたとえば図５（ａ）に示すように複数のレコードを有する表形式で表され、各レコードは、状態、概要、目標速度、次状態、および遷移条件のフィールドを有する。またこれらのフィールドとは独立して、動作定義４４が適用される対象の他車両の識別子が動作定義４４の上部に記載される。状態のフィールドには、状態を示す識別子が格納される。図５（ａ）に示す例では状態の識別子は「Ｓ」と２桁の数字の連番で表されるが、識別子のフォーマットは任意である。
【００３２】
概要のフィールドには、各状態における動作の概要が記載される。たとえば１つ目のレコードである状態「Ｓ−００」は、概要が「初期状態」なので、図５（ａ）に示す動作定義４４が適用される他車両は、Ｓ−００から動作を開始する。目標速度のフィールドには、それぞれの状態における他車両の目標速度が格納される。目標速度は、自車両ＥＧＯを基準とする相対速度でもよいし、絶対速度でもよい。
【００３３】
次状態のフィールド、および遷移条件のフィールドは組み合わせて判断され、遷移条件のフィールドに記載された条件を満たすと、次状態のフィールドに記載された状態に遷移する。遷移条件のフィールドに記載された条件を満たさない場合は、現在の状態に留まる。なお遷移条件のフィールドに記載される条件式で用いられている記号の意味は以下のとおりである。すなわちＴｓｉｍはシミュレーション内におけるシミュレーション開始からの経過時間であり、Ｖｅｇｏは自車両の速度である。
【００３４】
動作定義４４において、１つの状態は次状態と遷移条件を複数組有する場合があり、その場合は先に満たされた遷移条件に対応する次状態に遷移する。たとえば図５（ａ）に示す例ではＳ−００は次状態と遷移条件を２組有しており、それぞれ次の意味である。すなわち第１には、シミュレーション開始からの経過時間が１０秒よりも長い時間が経過し、かつ自車両ＥＧＯの速度が時速５０ｋｍよりも速い場合はＳ−０１に遷移する。第２には、シミュレーション開始からの経過時間が５０秒よりも長い時間が経過すると、ＥＮＤへの遷移、すなわちシミュレーションを終了する。
【００３５】
図５（ａ）の状態Ｓ−０１以下を説明する。状態Ｓ−０１では、他車両は目標速度を相対速度ゼロ、すなわち自車両ＥＧＯと同じ速度を目標として走行しながらレーン移動を行い、レーン移動が完了するとＳ−０２に遷移する。レーン移動は別途詳細が定められており、たとえば次のように行われる。すなわち、レーン移動を開始する際の他車両自身の速度に応じて、レーン移動のための仮想的な軌跡を生成し、生成した軌跡をなぞるように移動する。
【００３６】
状態Ｓ−０２では他車両は、自車両ＥＧＯよりも時速１０ｋｍ遅い速度を目標速度として１秒間走行して、状態Ｓ−０３に遷移する。状態Ｓ−０３では他車両は、目標速度をゼロとし、他車両の速度がゼロになると状態ＥＮＤへの遷移、すなわちシミュレーションを終了する。
【００３７】
図５（ｂ）は、図５（ａ）に対応する他車両Ｄ１の動作を示す概要図である。図３（ｂ）では左端から状態Ｓ−００、状態Ｓ−０１、状態Ｓ−０２、状態Ｓ−０３を経て状態ＥＮＤに至る様子を示している。図５（ｂ）に示す他車両Ｄ１は、状態Ｓ−００では目標速度を自車両ＥＧＯと同じとし、その速度が時速５０ｋｍより速く、かつ１０秒よりも長く継続したので状態Ｓ−０１に遷移してレーン移動を行う。レーン移動が完了すると他車両Ｄ１は状態Ｓ−０２に遷移して目標速度を自車両よりも時速１０ｋｍ遅い速度として１秒間走行し、その後に状態Ｓ−０３に遷移する。状態Ｓ−０３では他車両Ｄ１は目標速度をゼロとし、速度がゼロになるとシミュレーションを終了する。
【００３８】
（目標設定部３１）
図６は目標設定部３１の動作を表すフローチャートである。以下に説明するフローチャートの各ステップの実行主体は他車両制御装置３０のＣＰＵ３０Ａである。ただし図６に示すフローチャートではある１つの他車両についてのみ記載している。実際には目標設定部３１は複数の他車両について同様の処理を行う。
【００３９】
最初のステップであるＳ６０１では目標設定部３１は、データベース装置４０から受信した走行シナリオ４２から初期状態を表すレコードを特定して読み込む。続くＳ６０２では目標設定部３１は、読み込んだレコードの記載に基づき目標状態３５を決定し、操作量決定部３２に送信する。たとえば図５に示す例において初期状態である状態Ｓ−００の場合は、目標状態３５を「基準車両との速度差ゼロ」とする。続くＳ６０３では目標設定部３１は、読み込んだレコードにおける遷移条件に合致するか否かを判断する。目標設定部３１は遷移条件に合致すると判断する場合はＳ６０４に進み、遷移条件に合致しないと判断する場合はＳ６０２に戻る。なお読み込んだレコードに複数の遷移条件が含まれる場合は、いずれかの遷移条件に合致すると判断する場合にＳ６０２を肯定判断する。
【００４０】
Ｓ６０４では目標設定部３１は、Ｓ６０３において合致すると判断した遷移条件に対応する遷移先がＥＮＤであるか否かを判断する。目標設定部３１は遷移先がＥＮＤであると判断する場合は本フローチャートの処理を終了し、遷移先がＥＮＤではないと判断する場合はＳ６０５に進む。Ｓ６０５では目標設定部３１は、遷移先のレコードを読み込みＳ６０２に戻る。
【００４１】
（操作量決定部３２）
図７は操作量決定部３２の動作を表すフローチャートである。以下に説明するフローチャートの各ステップの実行主体は他車両制御装置３０のＣＰＵ３０Ａである。ただし図７に示すフローチャートではある１つの他車両についてのみ記載している。実際には操作量決定部３２は複数の他車両について同様の処理を行う。図７において操作量を決定する対象としている他車両を、ここでは「制御対象他車両」と呼ぶ。操作量決定部３２は目標設定部３１から目標状態３５が入力されるたびに図７に示す動作を行う。
【００４２】
最初のステップであるＳ６５１では操作量決定部３２は、目標設定部３１から受信した目標状態３５を読み込む。続くＳ６５２では操作量決定部３２は、シミュレーション装置２０から受信した走行状態２５を読み込む。ただしこのとき走行状態２５の全てを読み込まなくてもよく、Ｓ６５１において読み込んだ目標状態３５に関連する情報のみを読み込んでもよい。たとえば目標状態３５が「基準車両との速度差ゼロ」である場合は、基準車両の速度と制御対象他車両の速度だけを読み込んでもよい。続くＳ６５３では操作量決定部３２は、目標状態３５と現在の状態、すなわち走行状態２５との差分を算出する。たとえば目標状態３５が「基準車両との速度差ゼロ」である場合は、直前のフレームにおける基準車両の速度と制御対象他車両の速度の差分を算出する。
【００４３】
続くＳ６５４では操作量決定部３２は、Ｓ６５３において算出した差分に基づき操作量を決定し、決定した操作量を他車両操作量３６としてシミュレーション装置２０に出力する。差分と操作量の関係はたとえばあらかじめ作成されたルックアップテーブルで表されてもよいし、あらかじめ定義された両者の関係式で表されてもよい。以上で操作量決定部３２の動作が終了する。
【００４４】
（動作例）
他車両制御装置３０の動作例として、他車両制御装置３０が図４（ａ）に示した初期状態４３および図５（ａ）に示した動作定義４４を読み込んだ場合の他車両Ｄ１の状態遷移および目標速度が、基準車両の速度によりどのように変化するかを説明する。基準車両の操作量は自動運転ＥＣＵ９０から入力されるので、基準車両の速度は走行シナリオ４２を変更することなく変化させることができる。
【００４５】
図８は、動作例における他車両Ｄ１の目標速度を示す図である。ただし図８では他車両Ｄ１の目標速度の単位の記載を省略している。この動作例では図４（ａ）に示した初期状態４３および図５（ａ）に示した動作定義４４を用いてテスト１〜テスト３の３回のシミュレーションを行った。自動運転ＥＣＵ９０は、基準車両の速度が、テスト１では時速８０ｋｍ、テスト２では時速１００ｋｍ、テスト３では時速１５０ｋｍとなるように操作量を出力した。この場合に他車両Ｄ１の目標速度は図８に示すように、基準車両の速度に応じて変化している。このように、他車両制御装置３０を用いることで走行シナリオ４２を変更することなく複数のシミュレーションを行うことができる。
【００４６】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）交通流制御装置とも呼べる他車両制御装置３０は、基準車両および他車両の走行状態２５が入力される第４通信部３０Ｄ（基準車両動作入力部）と、基準車両の走行状態を用いた複数の被制御車両の目標走行状態の定義が含まれる走行シナリオ４２を読み込む第４通信部３０Ｄ（シナリオ入力部）と、走行状態２５および走行シナリオ４２に基づき被制御車両の目標状態３５を算出する目標設定部３１とを備える。そのため走行シナリオ４２を書き換えなくても、基準車両の走行状態、たとえば速度を変化させるだけで異なる状況のシミュレーションが可能となる。仮に自車両の速度を１０とおりに変化させると、異なる１０の状況でのシミュレーションが可能となる。すなわち他車両制御装置３０を用いることで様々なバリエーションを有するシミュレーションの実現が容易になる。
【００４７】
（２）他車両制御装置３０は、目標設定部３１が算出した目標状態３５に基づき、被制御車両の操作量を決定する操作量決定部３２を備える。他車両制御装置３０が被制御車両の操作量を決定するので、他車両制御装置３０と組み合わされて動作するシミュレーション装置２０は操作量を算出する必要がない。
【００４８】
（３）操作量は、アクセル、ブレーキ、およびステアリングホイールの操作量である。車両の動作に直接影響する操作量を決定することにより被制御車両の動作を現実に近いものとすることができる。
【００４９】
（４）走行シナリオ４２には、複数の被制御車両の初期状態４３、およびそれぞれの被制御車両の動作定義４４とが含まれ、動作定義４４には、被制御車両の動作を規定する複数の状態と、状態に遷移する条件である遷移条件とが含まれる。目標設定部３１は、被制御車両のそれぞれについて初期状態からの状態の遷移を管理する。そのため目標設定部３１は、それぞれの他車両について状態ごとに定義された目標状態を設定できる。すなわち個別の他車両に複雑な場合分けを行い、様々な目標状態を設定できる。
【００５０】
（５）複数の被制御車両の動作を決定するために用いられる走行シナリオ４２のデータ構造は、被制御車両に含まれない基準車両を基準として被制御車両の初期状態を定義する被制御車両初期状態と、被制御車両のそれぞれについて初期状態以後の動作を定義する動作定義とを含む。そのため基準車両の初期状態以後の動作を異ならせることで、走行シナリオ４２を書き換えることなく様々なバリエーションを有するシミュレーションを実現できる。
【００５１】
（６）動作定義４４には、被制御車両の動作を規定する複数の状態と、状態に遷移する条件である遷移条件とが含まれる。状態ごとに被制御車両の目標制御状態が設定される。少なくとも１つの状態に設定される目標制御状態は、基準車両の動作との相対関係を示す。そのため被制御車両の動作を状態ごとに定義することで、被制御車両の複雑な動作を実現できる。さらに被制御車両の動作が基準車両との相対関係で記述されるので、走行シナリオ４２を書き換えることなく様々なバリエーションを有するシミュレーションを実現できる。
【００５２】
（変形例１）
第１の実施の形態では操作量決定部３２は他車両制御装置３０に備えられた。しかし操作量決定部３２は、シミュレーション装置２０に備えられてもよい。この場合に他車両制御装置３０は、目標状態３５をシミュレーション装置２０に送信する。
【００５３】
図９は変形例１における運転シミュレーションシステムＳの機能構成を示す図である。前述のとおり、本変形例では操作量決定部３２はシミュレーション装置２０に備えられる。この変形例１によれば、他車両制御装置３０は操作量決定部３２を備えないので計算量を削減できる。
【００５４】
（変形例２）
中継部１１は、シミュレーション装置２０から入力される走行状態２５をそのまま自動運転ＥＣＵ９０に送信する代わりに、自動運転ＥＣＵ９０が搭載される車両が備えるセンサの出力を模擬してもよい。たとえば中継部１１は、シミュレーション装置２０から入力される走行状態２５に基づきレーザーレンジファインダやカメラに模擬した出力を生成して自動運転ＥＣＵ９０に出力してもよい。
【００５５】
（変形例３）
基準車両および被制御車両の諸元がシミュレーション装置２０に予め設定されていなくてもよい。その場合は走行シナリオ４２にそれぞれの車両の諸元が含まれ、シミュレーション装置２０はデータベース装置４０から走行シナリオ４２を受信する。そしてシミュレーション装置２０は走行シナリオ４２に含まれるそれぞれの車両の諸元を用いて自車両モデル２１および他車両モデル２２を動作させる。
【００５６】
（変形例４）
接続装置１０、シミュレーション装置２０、他車両制御装置３０、およびデータベース装置４０は２つ以上の装置が一体に構成されてもよい。またシナリオ選択部３０Ｅは、他車両制御装置３０以外の装置に備えられてもよい。なお自車両モデル２１と他車両モデル２２は異なる装置で実行されてもよいし、複数の他車両モデル２２がそれぞれ異なる装置で実行されてもよい。また目標設定部３１と操作量決定部３２とが異なる装置で実行されてもよい。
【００５７】
（変形例５）
接続装置１０と自動運転ＥＣＵ９０は同一箇所に設置される必要があるが、接続装置１０、シミュレーション装置２０、他車両制御装置３０、およびデータベース装置４０は、物理的に隔てられた場所に設置されてもよい。すなわちこれらの装置がそれぞれ異なる場所に設置され、長距離の通信、たとえばインターネットを経由して接続されてもよい。たとえば自動運転ＥＣＵ９０を開発するＡ社が、シミュレーションサービスを提供するＢ社から接続装置１０を借り受けて自動運転ＥＣＵ９０とともにＡ社内に設置し、Ｂ社に設置されたシミュレーション装置２０とインターネットを経由して通信してもよい。さらにＢ社に対して走行シナリオ４１を提供するＣ社が存在し、Ｃ社内に設置されたデータベース装置４０からＢ社内に設置された他車両制御装置３０にインターネットを経由して接続してもよい。
【００５８】
（変形例６）
走行シナリオ４２を構成する初期状態４３には、自車両および他車両の初期状態が含まれた。しかし初期状態４３は他車両の初期状態が含まれればよく、自車両の初期状態は含まれなくてもよい。この場合は自車両の初期状態はシミュレーション装置２０に別途提供される。
【００５９】
（変形例７）
上述した第１の実施の形態では、走行シナリオ４２の初期状態４３および動作定義４４には、基準車両の動作状態を基準とする相対的な記載がされた。しかし相対的な記載の基準は基準車両に限定されない。すなわちある他車両の初期状態や目標状態を別の他車両を基準として記載してもよい。
【００６０】
図１０（ａ）は変形例７における初期状態４３の一例を示す図、図１０（ｂ）は変形例７における動作定義４４の一例を示す図である。図１０に示す例では、初期状態や目標状態における相対関係の基準が複数ありえるので、いずれを基準にするかを明記している。たとえば初期状態４３の他車両Ｄ１の初期位置は「ＥＧＯ相対＋８０ｍ」とし、基準車両ＥＧＯを基準として＋８０ｍとしている。また他車両Ｄ３の初期位置は「Ｄ２相対＋４０ｍ」とし、他車両Ｄ２を基準として＋４０ｍとしている。
【００６１】
この変形例７によれば、次の作用効果が得られる。
（７）走行シナリオ４２には、ある被制御車両の走行状態を用いた別のある被制御車両の目標走行状態の定義が含まれる。他車両制御装置３０は被制御車両の走行状態が入力される第４通信部３０Ｄ（被制御車両動作入力部）を備える。目標設定部３１は、ある被制御車両の走行状態を用いて別のある被制御車両の目標走行状態を算出する。そのため他車両制御装置３０は被制御車両同士の相対関係が記載された走行シナリオ４２を用いて被制御車両の目標状態を設定できる。
【００６２】
（８）走行シナリオ４２の動作定義４４には、被制御車両の動作を規定する複数の状態と、状態に遷移する条件である遷移条件とが含まれる。動作定義４４には、状態ごとに被制御車両の目標制御状態が設定される。動作定義４４の少なくとも１つの状態に設定される目標制御状態は、他の被制御車両の動作との相対関係を示す。そのためある走行シナリオ４２を編集して別の走行シナリオ４２とする場合に、被制御車両同士の相対関係が変化しない場合はその記載を変更する必要がなく、編集が簡便である。
【００６３】
（変形例８）
データベース装置４０は、ＣＰＵ４０Ａ、ＲＯＭ４０Ｂ、およびＲＡＭ４０Ｃを備えなくてもよく、記憶部４０Ｆおよび他車両制御装置３０との通信インタフェースを備えればよい。この場合に他車両制御装置３０は、走行シナリオＤＢ４１を検索してオペレータがシナリオ選択部３０Ｅから選択した走行シナリオ４２を読み取る。
【００６４】
（変形例９）
接続装置１０は表示部を備え、シミュレーション装置２０から入力される走行状態２５を表示してもよい。また他車両制御装置３０は、接続装置１０に備えられる表示部に、それぞれの他車両の動作定義４４および現在の状態を表示させてもよい。
【００６５】
（変形例１０）
目標設定部３１は具体的な目標量を算出して操作量決定部３２に出力してもよい。たとえば第１の実施の形態では、目標状態３５が「基準車両との速度差ゼロ」と設定される場合があった。しかし目標設定部３１が走行状態２５に含まれる基準車両の速度を参照し、具体的にたとえば基準車両の速度が時速５５ｋｍの場合は目標状態３５を「目標速度：時速５５ｋｍ」としてもよい。
【００６６】
（変形例１１）
上述した第１の実施の形態では動作定義４４は他車両の目標状態は基準車両の速度との相対関係で規定された。しかし他車両の目標状態を規定する基準車両の物理量は速度に限定されない。たとえば、加速度、ヨーレイト、または位置を用いてもよい。たとえば他車両の目標状態を基準車両のヨーレイトとの相対関係で規定すると、基準車両が車線変更を行った際に、その他車両も同様に車線変更を行うことになる。
【００６７】
―第２の実施の形態―
図１１〜図１２を参照して、交通流制御装置である他車両制御装置の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、他車両制御装置３０がシナリオに影響を与える入力部を備える点で、第１の実施の形態と異なる。また走行シナリオ４２の動作定義４４も第１の実施の形態と異なる。
【００６８】
図１１は、第２の実施の形態における他車両制御装置３０のハードウエア構成図である。第２の実施の形態における他車両制御装置３０は、第１の実施の形態における構成に加えてシナリオイベント発生部３０Ｇをさらに備える。シナリオイベント発生部３０Ｇはたとえば１または複数のボタンである。シナリオイベント発生部３０Ｇはオペレータにより操作され、いずれかのボタンが押されるとＣＰＵ３０Ａにボタンが押された旨が伝達される。本実施の形態ではシナリオイベント発生部３０ＧはＳＷ１とＳＷ２の２つのスイッチを含む。またこれらスイッチのデフォルトの状態はオフであり、オペレータが操作することによりオン状態に切り替わる。
【００６９】
図１２は、第２の実施の形態における動作定義４４の一例を示す図である。図１２に示す動作定義４４は、第１の実施の形態において図５（ａ）に示した動作定義４４とは、遷移条件の欄の最上段、および下から２段目の記載が異なる。すなわち最上段は「ＳＷ１＝”ＯＮ”」であり、下から２行目は「ＳＷ２＝”ＯＮ”」である。そのため目標設定部３１は、他車両Ｄ１が状態Ｓ−００の場合にＳＷ１がオペレータによりオンにされると、状態Ｓ−０１に遷移させる。また他車両Ｄ１が状態Ｓ−０２の場合にＳＷ２がオペレータによりオンにされると、状態Ｓ−０３に遷移させる。
【００７０】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（９）走行シナリオ４２は、ユーザ、すなわちオペレータによる任意のタイミングでの入力が可能なシナリオイベント発生部３０Ｇと接続される装置において実行される複数の車両の動作のシミュレーションに用いられる。走行シナリオ４２の動作定義４４に含まれる遷移条件には、シナリオイベント発生部３０Ｇへの入力が含まれる。そのためオペレータによるシナリオイベント発生部３０Ｇの操作タイミングを異ならせることで、走行シナリオ４２を書き換えることなく様々なバリエーションを有するシミュレーションの実現が容易である。
【００７１】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００７２】
１０…接続装置
１１…中継部
２０…シミュレーション装置
２１…自車両モデル
２２…他車両モデル
２５…走行状態
３０…他車両制御装置
３０Ｇ…シナリオイベント発生部
３１…目標設定部
３２…操作量決定部
３５…目標状態
３６…他車両操作量
４０…データベース装置
４０Ｆ…記憶部
４１…走行シナリオデータベース
４２…走行シナリオ
４３…初期状態
４４…動作定義
４６…シナリオ選択部
９１…自動運転部
９６…自車両操作量
【図１】
2019117329.tif 000003
【図２】
2019117329.tif 000004
【図３】
2019117329.tif 000005
【図４】
2019117329.tif 000006
【図５】
2019117329.tif 000007
【図６】
2019117329.tif 000008
【図７】
2019117329.tif 000009
【図８】
2019117329.tif 000010
【図９】
2019117329.tif 000011
【図１０】
2019117329.tif 000012
【図１１】
2019117329.tif 000013
【図１２】
2019117329.tif 000014