JP6414247B2 - クラウドソースを利用した車両シミュレーション装置 - Google Patents

クラウドソースを利用した車両シミュレーション装置 Download PDF

Info

Publication number
JP6414247B2
JP6414247B2 JP2017025679A JP2017025679A JP6414247B2 JP 6414247 B2 JP6414247 B2 JP 6414247B2 JP 2017025679 A JP2017025679 A JP 2017025679A JP 2017025679 A JP2017025679 A JP 2017025679A JP 6414247 B2 JP6414247 B2 JP 6414247B2
Authority
JP
Japan
Prior art keywords
vehicle
model
virtual
data
test environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017025679A
Other languages
English (en)
Other versions
JP2017173309A (ja
Inventor
雅弘 山浦
雅弘 山浦
真一 白石
真一 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of JP2017173309A publication Critical patent/JP2017173309A/ja
Application granted granted Critical
Publication of JP6414247B2 publication Critical patent/JP6414247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Description

本明細書は、クラウドソースを利用して車両シミュレーションデータを取得する車両シミュレーション装置に関する。
(関連出願への相互参照)
本出願は、"VEHICLE SIMULATION DEVICE FOR CROWD-SOURCED VEHICLE SIMULATION DATA"と題し、2016年3月18日に出願された米国特許出願第15/074,842号の
優先権を主張する。当該出願は、その全体が本明細書中に参照として組み込まれる。
自動車は設計技術者によって設計される。設計技術者は、異なる設計選択肢の性能のシミュレーションおよび異なる設計代案の評価を含む、車両設計の設計空間探索のためのモデリングソフトウェアを用いる。車両設計に適したモデリングソフトウェアとして、例えば、MapleSimといったModelicaプラットフォームがある。
設計技術者は、自分の車両設計がある特定の強い制約に適合するか否かを判定するために、自分の車両設計をチェックしなければならない。車両設計についての強い制約は、意図された目的で運転者が車両を用いるあらゆる状況に常に適用される制約を含む。例えば、車両が公道で法定制限に準拠した速度で運転されている限り、ドライブシャフトは折損してはならず、車両は、アクセルを踏んでいる限り前進し続けなければならない。
車両設計は、先進運転者支援システム(Advanced Driver Assistance System,ADAS)ソフトウェアを含むことができる。PreScanといったADASシミュレーションツールは、ADASソフトウェアが実際の車両に搭載される前に、仮想道路環境および車両運動力学環境においてADASソフトウェアの正確さをテストするために広く用いられている。ADASシミュレーションの成績を最大化するために、設計技術者は、ADASソフトウェアおよび仮想テスト環境における車両設計を表す仮想車両の他の挙動を含む車両設計の性能を実証する多数のテストシナリオを作成する必要がある。仮想テスト環境におけるテストシナリオを手動で生成するプロセスは時間を要し、シミュレートされるシナリオの多くの事例が最良形態(best practice)に
従う必要がある。
本発明の実施形態は、複数のクライアント装置から提案車両(proposed vehicle,本明細書では設計対象車両を意味する)をテストした結果を表すデータ(車両シミュレーションデータ)を取得するための方法、システム、または非一時的コンピュータ可読媒体を含むことができる。
複数のクライアント装置は、提案車両をシミュレートした仮想車両のテストを行うことができる。複数のクライアント装置のうちの何台かは、仮想車両をテストするために提案車両の開発者によって設計された仮想テスト環境において、同時に仮想車両のテストを行うことができる。
例えば、100台のクライアント装置が、仮想テスト環境において同時に、仮想車両の複数台のコピーをテストすることができる。仮想車両の複数台のコピーは、仮想的な車道上に同時に存在し、互いに障害物となる。車道上の仮想車両の中には、提案車両の設計と異なる設計に基づくものがあってもよい。複数の仮想車両が仮想テスト環境において複数のクライアント装置(例えば、数十台、数百台、数千台または数百万台のクライアント装置)によってシミュレートされるため、仮想車両を短期間(例えば、1日、1週間、1ヵ
月など)で十分にテストすることができる。複数のクライアント装置は、仮想車両の性能を記述する車両シミュレーションデータを提供することができ、それによって開発者は、提案車両の設計を修正すべきか否かを判定することができる。また、開発者は提案車両の設計を修正することができる。その後、提案車両は実世界で配備するために製造される。
1つまたは複数のコンピュータのシステムを、動作に際してシステムに特定の操作または動作を行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステム上にインストールすることによってそれらの動作を行うように構成することができる。1つまたは複数のコンピュータプログラムを、データ処理装置によって実行されることで当該装置に特定の操作または動作を行わせる命令を含むことによってそれらの動作を行うように構成することができる。
本発明の1つの一般的態様は、
設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成ステップと、前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成ステップと、プロセッサにより実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成ステップと、前記実行可能ファイルを複数のクライアント装置に配布する配布ステップと、前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを収集する収集ステップと、前記走行の量が、前記車両力学モデルおよび制御モデルを評価するのに十分な量であるか否かを決定する決定ステップと、表示装置に、前記テスト環境における前記仮想車両の性能に関する情報を出力する出力ステップと、を含む、方法を含む。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および方法の動作を行うように各々構成された1つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
各実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
例えば、前記複数のクライアント装置は、複数の異なるプラットフォームを含んでもよい。
また、前記車両シミュレーションデータは、前記テスト環境における前記仮想車両の性能を表す性能データ、および、前記仮想車両の運転におけるユーザ入力を表すテストシナリオデータ、を含むことを特徴としてもよい。
また、前記仮想車両の性能を表す性能データは、複数のデータ点を含み、前記データ点は、当該データ点に寄与した特定のユーザ入力に対応する、前記テストシナリオデータ内のデータ点と関連付けられることを特徴としてもよい。
また、前記テストシナリオデータは、前記仮想テスト環境に存在する条件を記述するテスト環境データを含み、前記性能データに含まれる各データ点が、当該データ点に寄与したユーザ入力を特定のユーザが提供した時点のテスト環境を記述する、前記テスト環境データ内のデータ点と関連付けられることを特徴としてもよい。
また、前記決定ステップでは、前記走行が延べ100万キロメートル以上である場合に、前記走行の量が十分であると決定することを特徴としてもよい。
また、前記制御モデルは、前記対象車両向けに設計されたADAS(先進運転支援システム)ソフトウェアのデジタルモデルを含むことを特徴としてもよい。
また、前記車両シミュレーションデータは、前記実行可能ファイルを前記クライアント装置に送信してから30日/7日/24時間以内に収集されることを特徴としてもよい。
また、前記車両シミュレーションデータに基づいて、修正された前記車両力学モデルおよび修正された前記制御モデルを表す修正モデルデータを生成する修正ステップをさらに
含むことを特徴としてもよい。
また、前記修正モデルデータに基づいて、前記設計対象車両を製造するステップをさらに含むことを特徴としてもよい。
また、前記仮想車両の性能不足を特定するために前記車両シミュレーションデータを解析するステップと、前記性能不足を修正するように構成された、前記車両力学モデルまたは制御モデルに対する修正案を決定するステップと、前記修正案の少なくとも一つを選択するための入力を取得するステップと、前記入力に基づいて、修正された前記車両力学モデルおよび修正された前記制御モデルを表す修正モデルデータを生成するステップと、をさらに含むことを特徴としてもよい。
前述の技法の実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含むことができる。
1つの一般的態様は、
コンピュータに、設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成ステップと、前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成ステップと、プロセッサにより実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成ステップと、前記実行可能ファイルを複数のクライアント装置に配布する配布ステップと、前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを収集する収集ステップと、前記走行の量が、前記車両力学モデルおよび制御モデルを評価するのに十分な量であるか否かを決定する決定ステップと、表示装置に、前記テスト環境における前記仮想車両の性能に関する情報を出力する出力ステップと、を実行させるプログラムを含む。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および方法の動作を行うように各々構成された1つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
各実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
例えば、前記道路モデルは、実世界に存在する道路を表す実世界道路データに基づいて生成されることを特徴としてもよい。
また、前記設計対象車両は自動運転車両であることを特徴としてもよい。
また、前記複数のクライアント装置は、2台〜100万台であり、前記クライアント装置のそれぞれが、前記実行可能ファイルを同時刻に実行することを特徴としてもよい。
また、前記複数のクライアント装置の少なくとも一部はスマートフォンであることを特徴としてもよい。
また、前記クライアント装置のそれぞれが、前記実行可能ファイルを同時刻に実行し、それにより、前記テスト環境において、前記クライアント装置のそれぞれに対応する複数の仮想車両が出現することを特徴としてもよい。
また、前記複数の仮想車両が、前記テスト環境内において互いに干渉可能であることを特徴としてもよい。
前述の技法の実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含むことができる。
1つの一般的態様は、
開発装置と、複数のクライアント装置と、からなるシステムであって、前記開発装置は、設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成手段と、前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成手段と、プロセッサにより
実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成手段と、前記実行可能ファイルを複数のクライアント装置に配布する配布手段と、前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを収集する収集手段と、前記走行の量が、前記車両力学モデルおよび制御モデルを評価するのに十分な量であるか否かを決定する決定手段と、表示装置に、前記テスト環境における前記仮想車両の性能に関する情報を出力する出力手段と、を有する、システムを含む。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および方法の動作を行うように各々構成された1つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
本開示は、限定のためではなく例として、添付の図面の各図において示されており、図面において類似した参照符号は類似した要素を指すのに用いられている。
本発明に係るシミュレーションシステムの動作環境の例を示すブロック図である。 本発明に係るコンピュータシステムの例を示すブロック図である。 本発明に係るシミュレーションシステムを含むフロープロセスの例を示すブロック図である。 クラウドソースされた車両シミュレーションデータに基づいて、修正モデルデータを生成するためのGUIを生成する方法の例を示したフローチャートである。 クラウドソースされた車両シミュレーションデータに基づいて、修正モデルデータを生成するためのGUIを生成する方法の例を示したフローチャートである。 実行可能ファイルがクライアント側で実行されるときに行われる開発装置側の動作およびクライアント側の動作を示すブロック図である。 実行可能ファイルがクライアント側で実行されるときに行われる開発装置側の動作およびクライアント側の動作を示すブロック図である。 いくつかの実装形態によるGUIの例である。 いくつかの実装形態によるGUIの例である。 いくつかの実装形態によるGUIの例である。 いくつかの実装形態によるGUIの例である。
設計技術者は、異なる設計選択肢の性能のシミュレーションおよび異なる設計代案の評価を含む、車両設計の設計空間探索のためのモデリングソフトウェアを用いる。車両設計に適したモデリングソフトウェアとして、例えば、MapleSimといったModelicaプラットフォームがある。
設計技術者は、自分の車両設計がある特定の強い制約に適合するか否かを判定するために、自分の車両設計をチェックしなければならない。当該制約は、政府機関、規格作成団体または車両の製造者によって設定される。
車両設計についての強い制約は、意図された目的で運転者が車両を用いるあらゆる状況に常に適用される制約を含む。例えば、車両が公道で法定制限に準拠した速度で運転されている限り、ドライブシャフトは折損してはならず、車両は、アクセルを踏んでいる限り前進し続けなければならない。
車両設計は、ADASソフトウェアを含むことができる。オランダのTASS Internationalによって公開されているPreScanといったADASシミュレーションツールは、ADASソフトウェアが実際の車両に搭載される前に、仮想道路環境および車両運動力学環境においてADASソフトウェアの正確さをテストするために広く用いられている。業界規格を満たすADASソフトウェアを用いたADASシミュレーションを達成するために、設計技術者は、ADASソフトウェアおよび仮想テスト環境における車両設計を表す仮想車両の他の挙動を含む車両設計の性能を実証する多数のテストシナリオを作成する必要がある。
仮想テスト環境におけるテストシナリオを手動で生成するプロセスは時間を要する。例えば、各テストシナリオは、開発者によってハンドコーディングされ、異なる摩擦係数および回転角度を有する様々な仮想車道、仮想車道上にある他の車両、交通管理機器(交通信号、停止標識、踏切など)、歩行者などのような多くの異なる詳細を含まなければならない。開発者は、これらのすべての詳細をハンドコーディングする必要を回避したいはずである。本明細書に記載するグラフィカル・ユーザ・インターフェース(GUI)システムは、開発者が仮想車道上のその他の車両をハンドコーディングせずに当該車両設計をテストすることを可能にする。
提案車両の設計をテストするための現在のプロセスのもう1つの欠陥は、シミュレートされるシナリオの多くの事例が最良形態に従う必要があるという点である。
例えば、仮想車両は、ADASソフトウェアを含む車両設計に基づいて実際の車両が製造される前に、仮想テスト環境において百万マイルにわたってテストされることが必要となる。現在市販されているADASソフトウェアは、一度に仮想車両の1回のシミュレーションを可能にするにすぎず、テストは、仮想テスト環境における何十万マイルもの走行を経なければならないため、テストを完了するのに何ヶ月も、または何年間さえも要する場合がある。以下で述べるシミュレーションシステムは、多くのユーザ(例えば、数十人、数百人、数千人、または数百万人のユーザ)が同時に仮想車両をテストし、仮想車両の性能を記述する車両シミュレーションデータを開発者に提供することを可能にすることによってこの問題を解決する。
本発明者らの研究によれば、提案車両の設計を、本シミュレーションシステムを用いれば24時間未満で十分にテストすることができる。例えば、百万人のユーザが任意の24時間の間に仮想テスト環境において1マイルにわたって仮想車両を運転した場合、24時間経過後に、提案車両の設計が十分にテストされることになる。
いくつかの実装形態において、シミュレーションシステムは、車両モデル生成アプリケーションと、制御ソフトウェアモデル生成アプリケーションと、ゲームエンジンとを含む。シミュレーションシステムはネットワークに通信可能に結合することができる。シミュレーションシステムは開発者によって運用される。また、開発者は人間を含む。この人間は設計技術者を含む。開発者はシミュレーションシステムを用いて提案車両を設計することができる。
いくつかの実装形態において、開発者は、1つまたは複数のモデル生成アプリケーションを用いて車両運動力学モデルおよび制御ソフトウェアモデルを開発する。例えば、車両モデル生成アプリケーションは、開発者からの入力に基づいて車両運動力学モデルを生成する。制御ソフトウェアモデル生成アプリケーションは、開発者からの入力に基づいて制御ソフトウェアモデルを生成することができる。車両運動力学モデルは、提案車両の設計の各部分を含む。制御ソフトウェアモデルは、提案車両の設計に含まれるADASソフトウェアを含む。また、提案車両は、自律型車両または半自律型車両を含んでもよい。
いくつかの実装形態において、開発者はゲームエンジンを用いて道路モデルを開発する
ことができる。例えば、ゲームエンジンは、開発者からの入力に基づいて道路モデルを生成することができる。道路モデルは、仮想テスト環境内で提案車両および提案車両に含まれる制御ソフトウェアをシミュレートする仮想車両の性能をテストするための仮想テスト環境を生成するように構成される。道路モデルは、実世界における道路システムに基づくものであってもよい。例えば、ゲームエンジンは、実世界における道路モデルセットを記述するデータを含むデータベースに通信可能に結合することができる。
いくつかの実装形態において、開発者は、車両運動力学モデルおよび制御ソフトウェアモデルをゲームエンジンにアップロードすることができる。またゲームエンジンは道路モデルも含むことができる。
いくつかの実装形態において、ゲームエンジンは実行可能ファイルを構築する。例えば、ゲームエンジンは、車両運動力学モデル、制御ソフトウェアモデルおよび道路モデルに基づいて実行可能ファイルをコンパイルする。実行可能ファイルは、プロセッサによって実行され、プロセッサに、仮想テスト環境において仮想車両のシミュレーションを提供させるように構成される。プロセッサは、クライアント装置の要素とすることができる。また、クライアント装置のユーザは、仮想テスト環境において仮想車両を運転することができる。ユーザがテスト環境において仮想車両を運転することで、実行可能ファイル(または何らかの他のクライアント側構成要素)は、仮想車両および仮想車両に含まれる制御ソフトウェアの性能を記述する車両シミュレーションデータを生成する。
いくつかの実装形態において、シミュレーションシステムは実行可能ファイルのコピーを1台または複数のクライアント装置へ配布する。1台または複数のクライアント装置もネットワークに通信可能に結合される。また、シミュレーションシステムは、ネットワークを介して実行可能ファイルのコピーを1台または複数のクライアント装置へ配布することができる。
クライアント装置は、ユーザによって操作されるデバイスである。ユーザは人間である。クライアント装置はプロセッサベースのコンピューティングデバイスを含むことができる。例えば、クライアント装置には、スマートフォン、ラップトップ、タブレット・コンピューティング・デバイス、スマートウォッチ、セットトップボックス、スマートテレビ、ゲームコンソールなどが含まれうる。
いくつかの実装形態において、クライアント装置は、仮想テスト環境においてテストされるべき仮想車両を含むシミュレーションを提供するために実行可能ファイルを実行する。仮想車両は車両運動力学モデルおよび制御ソフトウェアモデルに基づいて構築される。仮想テスト環境は道路モデルに基づいて構築される。仮想テスト環境は、他の車両、歩行者、交通管理機器などといった車道オブジェクトを含むことができる。シミュレーションにおける道路上のオブジェクトのうちのいくつかは、ほぼリアルタイムで他のユーザによって運転されている仮想車両とすることができる。また、これらの仮想車両は、同じモデルセットに基づくものであってもよいし、異なるモデルセットに基づくものであってもよい。例えば、2台以上のクライアント装置が実行可能ファイルのそれぞれのコピーを同時に実行していてもよい。
いくつかの実装形態において、クライアント装置は、シミュレートされる車両および車両に含まれるソフトウェアの性能を記述するデータである車両シミュレーションデータを収集する。
いくつかの実装形態において、クライアント装置は、車両シミュレーションデータをシミュレーションシステムへ送信する。
いくつかの実装形態において、シミュレーションシステムは、車両シミュレーションデータの集合(以下、車両シミュレーションデータセット)を形成するために、複数のクライアント装置から受信した車両シミュレーションデータを集約することができる。
いくつかの実装形態において、開発装置は、車両シミュレーションデータセット、およびオプションとして、シミュレーションシステムによって提供された解析を含むGUIを出力することができる。
いくつかの実装形態において、開発者は、車両シミュレーションデータセットに基づき、1つまたは複数のモデル生成アプリケーションを用いて、修正後の車両運動力学モデルまたは修正後の制御ソフトウェアモデルを開発することができる。
いくつかの実装形態においては、提案車両を、修正後の車両運動力学モデルまたは修正後の制御ソフトウェアモデルのうちの少なくともいずれかに基づいて製造することができる。
(システム概要)
図1は、いくつかの実施形態によるシミュレーションシステム199のための例示的動作環境100を示すブロック図である。動作環境100は、クライアント107と開発装置150を含む。図示の実施形態において、動作環境100のこれらのエンティティはネットワーク105を介して通信可能に結合される。クライアント107はユーザ103によって操作される。開発装置150は開発者104によって操作される。クライアント107は、開発装置150によってコンパイルされた実行可能ファイル130を実行したことに応答した出力としてGUI133を提供する。
動作環境100は、各々が異なるユーザ103によって操作される複数のクライアント107を含む。複数のクライアント107は各々、実行可能ファイル130の独自のコピーを含み、実行可能ファイル130を実行したことに応答して車両シミュレーションデータ163を生成する。複数のクライアント107は、ネットワーク105を介して開発装置150へ車両シミュレーションデータ163を送信することができる。開発装置150は、複数のクライアント107から車両シミュレーションデータ163を受信したことに応答した出力としてGUI134を提供する。
開発装置150およびクライアント107は例として示されたものである。図1には、1台の開発装置150が示されているが、本開示は1台または複数の開発装置150を有する動作環境100に適用できる。さらに、図1には、開発装置150と複数のクライアント107とに結合された1つのネットワーク105が示されているが、実際には、1つまたは複数のネットワーク105をこれらのエンティティに接続することができる。
ネットワーク105は従来型の有線または無線とすることができ、スター型構成、トークンリング構成、または他の構成を含む多くの異なる構成を有しうる。さらに、ネットワーク105は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)(例えばインターネット)、または、複数のデバイスが通信するための他の相互接続データパスを含むことができる。いくつかの実装形態において、ネットワーク105はピア・ツー・ピア・ネットワークとすることができる。またネットワーク105は、多種多様な通信プロトコルでデータを送るための電気通信ネットワークの各部分に結合され、またはこれらを含んでいてもよい。いくつかの実装形態において、ネットワーク105は、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メールなどによってデータを送受信するためのBluetooth(登録商標)通信
ネットワークまたはセルラ通信ネットワークを含む。ネットワーク105は、3G、4G、LTE、ボイスオーバLTE(VoLTE)、または任意の他のモバイル・データ・ネットワークもしくはモバイル・データ・ネットワークの組み合わせといったモバイル・データ・ネットワークとすることができる。
開発装置150は、プロセッサとメモリとネットワーク通信機能とを含むハードウェアサーバを含むことができる。また開発装置150は、ラップトップ、パーソナルコンピュータ、タブレットコンピュータまたは何らかの他のプロセッサベースのコンピューティングデバイスを含むこともできる。開発装置150はネットワーク105に通信可能に結合することができる。
開発装置150は開発者104によって操作される。開発者104は人間の設計技術者である。開発者104は開発装置150を用いて提案車両を開発することができる。提案車両は自律型車両または半自律型車両を含んでもよい。また、提案車両はADASソフトウェアを含んでもよい。
開発装置150は、シミュレーションシステム199、モデル生成アプリケーション140、実行可能ファイル130、シミュレーションマネージャ198、車両シミュレーションデータセット147、および修正モデルデータ135の各要素のうちの1つまたは複数を含むことができる。
シミュレーションシステム199は、複数のクライアント107から車両シミュレーションデータセット147をクラウドソース(クラウドを介して収集)し、修正モデルデータ135を生成し、開発者104が提案車両の設計を修正するのを支援するために開発者104にGUI134を提供するコンピューティングデバイスを含む。シミュレーションシステム199については、図2A、図2B、図3A、図3B、図6Aおよび図6Bを参照して以下でより詳細に説明する。
シミュレーションシステム199は、車両運動力学モデル110、制御ソフトウェアモデル115、および道路モデル125の各要素のうちの1つまたは複数を含む。
いくつかの実装形態において、車両運動力学モデル110は、提案車両の物理的現象および動きを推定するように動作するソフトウェアを含む。例えば、車両運動力学モデル110は、実行可能ファイル130の一部分とすることができる。クライアント107は実行可能ファイル130を実行し、結果として提案車両の仮想シミュレーションが得られる。例えば、シミュレーションは、提案車両を表す仮想車両および仮想車両を運転するための仮想テスト環境を含む。
ユーザ103が仮想テスト環境において仮想車両を運転する際に、クライアント107は、(1)仮想車両を運転するユーザが行った動作を表すユーザ入力、および(2)当該ユーザ入力を行った際の仮想テスト環境を表すテストシナリオデータ161を収集する。
仮想テスト環境は、車道の角度、車道の摩擦係数、車道上に存在する他の仮想車両、および、他の仮想車両が仮想車両の性能に及ぼす影響、歩行者および歩行者が仮想車両の性能に及ぼす影響、交通管理機器および交通管理機器が仮想車両の性能に及ぼす影響、ユーザ入力時に仮想テスト環境に含まれる任意の他の要素、を含むことができる。
また、ユーザ入力を表すデータ、および、仮想テスト環境を表すデータには、これら2つのデータが時刻によって相関/関連付けられるようにタイムスタンプすることができる。
クライアント107は、テストシナリオデータ161を収集し、ネットワーク105を介して開発装置150へ送信する。開発装置150は、テストシナリオデータセット146を形成するために複数のクライアント107から送信されたテストシナリオデータ16
1を集約する。車両運動力学モデル110は、テストシナリオデータ161(車両運動力学モデル110がネットワーク105のクライアント107側に存在する場合)またはテストシナリオデータセット146(車両運動力学モデル110がネットワーク105の開発装置150側に存在する場合)に一部基づいて、提案車両の物理的現象および動きを推定するソフトウェアを含む。このようにして、車両運動力学モデル110は、仮想テスト環境において提案車両を正確に表すために、仮想車両がある時間にユーザ入力および仮想テスト環境にどのように応答するかを推定する。これによりクライアント107は、提案車両が実世界において、ユーザ入力に対応する方法で運転されたときに、仮想テスト環境と類似した実環境において提案車両がどのように動くかを正確に記述した性能データ160を収集することができる。
モデル生成アプリケーション140は、車両モデル生成アプリケーションを含む(例えば、以下で図2Aについて記述する要素140Aを参照されたい)。車両モデル生成アプリケーションは、開発者104によって提供された入力に基づいて車両運動力学モデル110を生成するように動作するソフトウェアを含む。車両モデル生成アプリケーションの例には、Dymola(フランス、ヴェリジー=ヴィラクブレー、ルンド、Dassault Systemes AB社製)、MapleSim(カナダ、オンタリオ州、ウォータールー、Maplesoft社製)、または何らかの他のModelicaプラットフォームなどを含む。
いくつかの実装形態において、制御ソフトウェアモデル115は、テストシナリオデータ161(車両運動力学モデル110がネットワーク105のクライアント107側に存在する場合)またはテストシナリオデータセット146(車両運動力学モデル110がネットワーク105の開発装置150側に存在する場合)に一部基づいて、提案車両におけるADASソフトウェアの性能を推定するように動作するソフトウェアを含む。このようにして、制御ソフトウェアモデル115は、仮想テスト環境において提案車両を正確に表すために、ADASソフトウェアがある時間にユーザ入力および仮想テスト環境にどのように応答するかを推定する。これによりクライアント107は、提案車両が実世界においてユーザ入力に対応する方法で運転されたときに、仮想テスト環境と類似した実環境において提案車両またはADASソフトウェアがどのように動くかを正確に記述した性能データ160を収集することができる。
モデル生成アプリケーション140は、制御ソフトウェアモデル生成アプリケーションを含む(例えば、以下で図2Aについて記述する要素140Bを参照されたい)。車両モデル生成アプリケーションは、開発者104によって提供された入力に基づいて制御ソフトウェアモデル115を生成するように動作するソフトウェアを含む。車両モデル生成アプリケーションの例には、Simulink(米国マサチューセッツ州MathWorks社製)、PreScan(オランダ、TASS International社製)、または制御ソフトウェアモデルを生成するための何らかの他のソフトウェアを含む。
いくつかの実装形態において、道路モデル125は、プロセッサに仮想テスト環境を生成させるためのソフトウェアである。
道路モデル125は、仮想テスト環境に含まれる車道システムのための以下のパラメータのうちの1つまたは複数を定義することができる。
速度制限、車線の総数、右側車線の総数、左側車線の総数、車道の長さ、車線ごとの車線幅、車線ごとの境界線オプション(例えば「境界線なし」「破線または一点鎖線」「実線二重線」「左側が実線で右側が破線」「左側が破線で右側実線」「二重実線」)、外側車線にある車道外側線、カメラといった自動車センサによる境界線オプションまたは車道外側線の可視性(例えば、境界線または車道外側線が不明瞭であり、または古いために、
自律型車両のセンサによって識別されにくいか)、路肩幅、左側または右側の下り法面、左側または右側の車道横断勾配、車道に沿った曲線の配置、車道に沿った曲線の角度、車道に沿った曲線の内側の車道勾配、車道に沿った摩擦係数、車道に沿った摩擦係数の変化および車道上でのこれらの変化の配置等。
シミュレーションシステム199はゲームエンジンを含むことができる(例えば、図2Aの要素206を参照されたい)。ゲームエンジン206は、ビデオゲームを作成し、開発するように動作するソフトウェアを含む。ゲームエンジン206は、開発者104によって提供された入力に基づいて道路モデル125を生成するためのソフトウェアを含む。ゲームエンジン206の例には、Unityゲームエンジン(米国カリフォルニア州、サンフランシスコ、Unity Technologies社製)、または何らかの他のゲームエンジンが含まれうる。
ゲームエンジン206は、車両運動力学モデル110、制御ソフトウェアモデル115および道路モデル125に基づいて実行可能ファイル130をコンパイルするように動作するソフトウェアを含む。実行可能ファイル130は、クライアント107のプロセッサによって実行された場合に、仮想テスト環境における仮想車両のシミュレーションを提供するように動作するソフトウェアを含む。
いくつかの実装形態において、道路モデル125は、実世界に存在する車道システムに一部基づくものとすることができる。例えば、ゲームエンジン206は車道リアリズムデータを含む(またはこれにアクセスする)ことができる。車道リアリズムデータは、道路モデル125に含まれる実世界の車道のそれぞれについて、実世界に実際に存在する車道システムについての以下の車道パラメータのうちの1つまたは複数を記述することができる。
速度制限、車線の総数、右側車線の総数、左側車線の総数、車道の長さ、車線ごとの車線幅、車線ごとの境界線オプション(例えば「境界線なし」「破線または一点鎖線」「実線二重線」「左側が実線で右側が破線」「左側が破線で右側実線」「二重実線」)、外側車線にある車道外側線、カメラといった自動車センサによる境界線オプションまたは車道外側線の可視性(例えば、境界線または車道外側線が不明瞭であり、または古いために、自律型車両のセンサによって識別されにくいか)、路肩幅、左側または右側の下り法面、左側または右側の車道横断勾配、車道に沿った曲線の配置、車道に沿った曲線の角度、車道に沿った曲線の内側の車道勾配、車道に沿った摩擦係数、車道に沿った摩擦係数の変化および車道上でのこれらの変化の配置等。
道路モデル125に含まれる、異なる実世界の車道システムは、車道パラメータの異なる組み合わせによって表される。
シミュレーションシステム199は、実行可能ファイル130の複数のコピーを、ネットワーク105を介して複数のクライアント107へ配布することができる。複数のクライアント107は実行可能ファイル130を実行し、シミュレーションシステム199へ車両シミュレーションデータ163を周期的に報告する。例えば、実行可能ファイル130は、シミュレーションシステム199へ結果を返すように構成されたコードおよびルーチンを含む。返される結果には、車両シミュレーションデータ163が含まれる。シミュレーションシステム199は、車両シミュレーションデータセット147を形成するために、複数のクライアント107から送信された車両シミュレーションデータ163を集約することができる。車両シミュレーションデータセット147は、24時間以内に(または7日間以内、または30日間以内、またはADASソフトウェアを含む車両設計の従来のシミュレーションよりも短い何らかの他の期間)に仮想テスト環境において仮想車両が走行した数百マイル、数千マイル、または数百万マイルもの走行を表すものである。
車両シミュレーションデータセット147は、性能データセット145、およびテストシナリオデータセット146のうちの1つまたは複数を含む。
テストシナリオデータセット146については、車両運動力学モデル110に関連して前述したので、ここではその説明を繰り返さない。テストシナリオデータセット146(またはテストシナリオデータ161)の例示的要素が図4Aおよび図4Bに示されている。
性能データセット145は、ネットワーク105を介してクライアント107から受信された性能データ160を含む。性能データ160は、仮想テスト環境における仮想車両およびADASソフトウェアの性能を表すデータである。例えば、性能データ160は、以下のうちの1つまたは複数を表すデータである。
仮想車両のホイールの毎分回転数、シミュレートされたADASセンサデータ、経時的なホイールのトルク、仮想車両の車体およびフレームの性能、仮想車両のホイールの性能、仮想車両のタイヤの性能(タイヤのバーストまたは異常な接地面摩耗が生じたか)、仮想車両が走行した際の仮想テスト環境の道路の性能、仮想車両のブレーキの性能、仮想車両の構成要素がシミュレーションにおいて故障したか否か(例えばアクセルの破損など)、エンジン制御データ、トランスミッション制御データ、ブレーキ制御データ、ADAS制御データ等。
性能データセット145(または性能データ160)の例示的要素が図4Aおよび図4Bに示されている。
シミュレーションマネージャ198は、開発装置150から、複数のクライアント107上における実行可能ファイル130の実行態様を管理するように動作するソフトウェアである。
例えば、実行可能ファイル130は、シミュレーションマネージャ198を呼び出し、シミュレーションマネージャ198に車両シミュレーションデータ163を記述するフィードバックを提供することができる。シミュレーションマネージャ198は、複数のクライアント107にまたがって実行可能ファイル130の実行をモニタし、車両シミュレーションデータセット147が代表的なサンプルとみなされるための開発者104によって設定された閾値を満たすように、様々なシミュレーションのための仮想テスト環境が多様であり、実世界を表すものであることを保証することができる。
また、シミュレーションマネージャ198は、閾値が満たされることを保証するように仮想テスト環境を修正させるために、実行可能ファイル130に入力を提供することができる。
このようにして、シミュレーションマネージャ198は、複数のクライアント107への実行可能ファイル130の配布後24時間以内に車両シミュレーションデータセット147の代表的なサンプルを取得するようシミュレーションシステム199を支援することができる。
シミュレーションシステム199は、ある期間に複数のクライアント107によって行われた様々なシミュレーションについての、仮想車両のADASソフトウェアを含む仮想車両の性能を表す解析データを視覚的に描写するGUI134を生成することができる。
GUI134の一例を図6Aに示す。GUIは、仮想車両または仮想車両に含まれるADASソフトウェアの性能を改善するために修正されうる車両運動力学モデル110または制御ソフトウェアモデル115の要素を視覚的に描写したものである。GUI134は、修正すべき車両運動力学モデル110または制御ソフトウェアモデル115の態様を選択するために開発者104によって選択されうるグラフィック要素を含んでもよい。モデル生成アプリケーション140は、この選択に基づいて車両運動力学モデル110または
制御ソフトウェアモデル115のうちの1つまたは複数を修正し、修正モデルデータ135を生成することができる。
修正モデルデータ135は、複数のクライアント107からクラウドソースされた車両シミュレーションデータセットに基づいて修正された提案車両についての車両運動力学モデル110または制御ソフトウェアモデル115のうちの1つまたは複数を記述する。
クライアント107はプロセッサベースのコンピューティングデバイスを含む。例えば、クライアント107は、パーソナルコンピュータ、特定用途のコンピューティングデバイス、ラップトップ、タブレットコンピュータ、スマートフォン、セットトップボックス、スマートテレビ、ゲームコンソールなどうちの1つまたは複数を含むことができる。クライアント107は、ネットワーク105に通信可能に結合することができる。クライアント107は、1つまたは複数の入力を受け取り、1つまたは複数の出力を提供するための従来型の周辺機器を含んでもよい。
クライアント107は、実行可能ファイル130、シミュレーションアプリケーション155、および車両シミュレーションデータ163のうちの1つまたは複数を含む。実行可能ファイル130および車両シミュレーションデータ163については前述したので、ここではこれらの説明を繰り返さない。
シミュレーションアプリケーション155は、実行可能ファイル130向けのプラットフォームを提供するように動作するソフトウェアを含む。例えば、シミュレーションアプリケーション155は、クライアント107が実行可能ファイル130を実行し、ユーザ103にシミュレーションを提供し、シミュレーションシステム199に車両シミュレーションデータ163を提供するのに必要な任意のソフトウェアを含むことができる。
いくつかの実装形態において、シミュレーションアプリケーション155は物理演算エンジンを含むことができる。物理演算エンジンは実行可能ファイル130と共に動作することができる。
クライアント107は様々な異なるプラットフォームを含むことができる。複数のクライアント107のうちのいくつかは、異なる種類のゲームコンソール(例えば、Microsoft(登録商標)XBOX(登録商標)、Sony(登録商標)PlayStation(登録商標)、Nintendo(登録商標)Wii(登録商標)またはこれらの任意の派生製品もしくは新しいバージョン)、様々な種類のパーソナルコンピュータ(Microsoft Windows(登録商標)、Apple(登録商標)OSまたはUnixベースのOS)、様々な種類のスマートフォンまたはタブレットコンピュータ(Android(登録商標)、Apple iOS(登録商標)、Unixベースのモバイルもしくはタブレットコンピュータ動作環境、またはこれらの任意の派生製品もしくは新しいバージョン)などを含むことができる。したがって、実行可能ファイル130はプラットフォーム非依存とすることができる。
クライアント107は、実行可能ファイル130を実行することでGUI133を出力することができる。GUI133の例が図5Aおよび図5Bに示されている。
クライアント107および開発装置150は、入力を受け取り、出力を提供する従来型の周辺機器を含んでもよい。
いくつかの実装形態において、シミュレーションシステム199は、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向け集積回路(ASIC)を含
むハードウェアを用いて実施することができる。いくつかの他の実装形態において、シミュレーションシステム199は、ハードウェアとソフトウェアの組み合わせを用いて実施することができる。シミュレーションシステム199は、デバイスとサーバの組み合わせに、またはデバイスもしくはサーバのうちの1つに記憶することができる。
いくつかの実装形態において、シミュレーションシステム199は、図2Aを参照して以下で説明する、プロセッサ225といったプロセッサによって実行された場合に、図3Aおよび図3Bを参照して以下で説明する方法300の1つまたは複数のステップを行うように構成されたコードおよびルーチンを含む。
(シミュレーションシステムの例)
図2Aは、いくつかの実施形態によるシミュレーションシステム199を含む例示的なコンピュータシステム200を示すブロック図である。いくつかの実装形態において、シミュレーションシステム199は、図3Aおよび図3Bを参照して以下で説明する方法300の1つまたは複数のブロックを行うようにプログラムされ、または構成された電子デバイスを含むことができる。いくつかの実装形態において、シミュレーションシステム199は、シミュレーションシステム199に関連して前述した、または図3Aおよび図3Bを参照して以下で説明する方法300に関連して後述する機能の一部または全部を提供するように構成された専用コンピューティングデバイスを含む。
コンピュータシステム200は開発装置150を含む。コンピュータシステム200は、シミュレーションシステム199、通信ユニット245、プロセッサ225、メモリ227、ディスプレイ229、およびシミュレーションマネージャ198の各要素のうちの1つまたは複数を含む。コンピュータシステム200の構成要素はバス220によって通信可能に結合されている。いくつかの実施形態において、コンピュータシステム200の構成要素は、コンピュータシステム200の構成要素間の通信にバス220がなくてもすむように、同じハードウェアにローカルである。いくつかの実施形態においては、バス220以外の通信構造または通信方法が実施されうる。
シミュレーションマネージャ198については、図1に関連して前述したので、ここではその説明を繰り返さない。
通信ユニット245は、ネットワーク105との間でデータを送受信するハードウェアを含む。いくつかの実装形態において、通信ユニット245は、ネットワーク105への、または別の通信路への直接物理接続のためのポートを含む。例えば、通信ユニット245は、USB、SD、CAT−5、またはネットワーク105との有線接続のための類似のポートを含む。いくつかの実装形態において、通信ユニット245は、IEEE802.11、IEEE802.16、Bluetooth(登録商標)、または別の適切な無線通信方法を含む1つまたは複数の無線通信方法を用いてネットワーク105または他の通信路とデータを交換するための無線送受信機を含む。
いくつかの実装形態において、通信ユニット245は、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール、または別の適切な種類の電子通信によるものを含む、セルラ通信ネットワーク上でデータを送受信するためのセルラ通信送受信機を含む。いくつかの実装形態において、通信ユニット245は、有線ポートおよび無線送受信機を含む。また通信ユニット245は、TCP/IP、HTTP、HTTPS、およびSMTPなどを含む標準ネットワークプロトコルを用いたファイルまたはメディアオブジェクトの配布のためのネットワーク105への他の従来型の接続も提供する。
プロセッサ225は、計算処理を行い、表示装置へ電子表示信号を提供するための算術論理演算装置、マイクロプロセッサ、汎用コントローラ、または何らかの他のプロセッサアレイを含む。プロセッサ225は、データ信号を処理し、複雑命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組み合わせを実施するアーキテクチャを含む様々なコンピューティングアーキテクチャを含むことができる。図2Aは単一のプロセッサ225を含んでいるが、複数のプロセッサ225が含まれていてもよい。プロセッサ225はグラフィックス処理装置を含むことができる。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理構成も可能である。
ディスプレイ229は、データの視覚的提示のために構成された電子デバイスである。例えば、ディスプレイ229は、GUIデータ252を視覚的に提示するために構成することができる。ディスプレイ229はGUIデータ252を受け取り、GUIを出力する。
メモリ227は、プロセッサ225によってアクセスされ、実行されうる命令またはデータを記憶する、有形の、または非一時的な記憶媒体である。命令またはデータは、本明細書に記載される方法を行うためのコードを含むことができる。メモリ227は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、フラッシュメモリ、または何らかの他のメモリデバイスを含むことができる。いくつかの実装形態において、メモリ227は、ハード・ディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュ・メモリ・デバイス、またはより永続的に情報を記憶するための何らかの他の大容量記憶装置を含む、不揮発性メモリまたは類似した非一時的記憶装置および媒体も含む。
メモリ227は、車両運動力学モデル110、制御ソフトウェアモデル115、道路モデル125、実行可能ファイル130、統合モデル250、GUIデータ252、性能データセット145、テストシナリオデータセット146、シミュレーション結果データ244、修正モデルデータ135の各要素のうちの1つまたは複数を記憶することができる。車両運動力学モデル110、制御ソフトウェアモデル115、道路モデル125、実行可能ファイル130、性能データセット145、テストシナリオデータセット146、および修正モデルデータ135の各要素については図1に関連して前述したので、ここではこれらの説明を繰り返さない。
統合モデル250は、車両運動力学モデル110と制御ソフトウェアモデル115とを統合して得られる車両モデルを表すデータである。この統合の結果が統合モデル250である。統合モデル250の一例が図2Bに示されている。
GUIデータ252は、ディスプレイ229(またはクライアント107のディスプレイ)にGUIを出力するのに用いられるグラフィックデータを含む。例えば、GUIデータ252は、図5A、図5B、図6A、および図6Bのうちの1つまたは複数に示されているGUI133、GUI134のうちの1つまたは複数を出力するのに用いられる。
いくつかの実施形態においては、実行可能ファイル130を実行するクライアント107によって提供されるシミュレーションの様々な態様が、シミュレーションマネージャ198によって提供される。例えば、シミュレーションマネージャ198は、クライアント107のためのクラウドベースのリソースとすることができる。これは有利には、クライアント107を、モバイルプロセッサ、ARMプロセッサまたはGPUに基づいて動作す
るデバイスとすることを可能にする。シミュレーション結果データ244は、クライアント107のためのシミュレーションの各態様を実行するシミュレーションマネージャ198から得られるデータを表す。シミュレーションマネージャ198は、シミュレーションがクライアント107のユーザ103に実質的に遅延のないユーザ体験を提供するように、リアルタイム(またはほぼリアルタイム)で、クライアント107へシミュレーション結果データ244を送信することができる。
いくつかの実装形態において、シミュレーションシステム199は、通信モジュール202、統合モジュール204、ゲームエンジン206、集約モジュール208、決定モジュール210、GUIモジュール212、車両モデル生成アプリケーション140A、および制御ソフトウェアモデル生成アプリケーション140Bの各要素のうちの1つまたは複数を含む。シミュレーションシステム199のこれらの要素はバス220に通信可能に結合することができる。シミュレーションシステム199のこれらの要素のうちの1つまたは複数を、シミュレーションシステム199のメモリ227に記憶し、プロセッサ225によってアクセス可能、実行可能とすることができる。シミュレーションシステム199のゲームエンジン206、車両モデル生成アプリケーション140A、および制御ソフトウェアモデル生成アプリケーション140Bの各要素については図1に関連して前述したので、ここではこれらの説明を繰り返さない。
通信モジュール202は、シミュレーションシステム199とコンピュータシステム200の他の構成要素との間の通信を処理するように構成されたコードおよびルーチンを含む。いくつかの実装形態において、通信モジュール202は、開発装置150と、図1に関連して前述した環境100の他の構成要素との間の通信を処理するための後述する機能を提供するようにプロセッサ225によって実行可能な命令セットを含むことができる。いくつかの実装形態において、通信モジュール202は、シミュレーションシステム199のメモリ227に記憶することができ、プロセッサ225によってアクセス可能、実行可能とすることができる。
通信モジュール202は、通信ユニット245を介して、ネットワーク105との間でデータを送受信する。例えば、通信モジュール202は、通信ユニット245を介して、ネットワーク105から性能データセット145およびテストシナリオデータセット146を受信する。通信モジュール202は、通信ユニット245を介して複数のクライアント107へ実行可能ファイル130を送信することができる。
いくつかの実施形態において、通信モジュール202は、シミュレーションシステム199の構成要素からデータを受け取り、データをメモリ227に記憶する。例えば、通信モジュール202は、車両モデル生成アプリケーション140Aから車両運動力学モデル110を受け取り、車両運動力学モデル110をメモリ227に記憶する。
統合モジュール204は、統合モデル250を形成するために車両運動力学モデル110と制御ソフトウェアモデル115とを統合するように構成されたコードおよびルーチンを含む。いくつかの実装形態において、統合モジュール204は、コンピュータシステム200のメモリ227に記憶することができ、プロセッサ225によってアクセス可能、実行可能とすることができる。
集約モジュール208は、(1)性能データセット145を形成するために複数のクライアント107から受け取られた性能データ160を集約し、(2)テストシナリオデータセット146を形成するために複数のクライアント107から受け取られたテストシナリオデータ161を集約するように構成されたコードおよびルーチンを含む。集約モジュール208は、車両シミュレーションデータセット147を形成するために性能データセ
ット145およびテストシナリオデータセット146をさらに集約することができる。いくつかの実装形態において、集約モジュール208は、コンピュータシステム200のメモリ227に記憶することができ、プロセッサ225によってアクセス可能、実行可能とすることができる。
いくつかの実装形態において、性能データセット145は、仮想車両の性能を記述する個々のデータ点(data point)を含む。個々のデータ点は、1つまたは複数時点での仮想車両の性能を表すようにタイムスタンプされる。これは有利には、仮想車両の性能が、異なる仮想テスト環境条件の下で、異なるユーザ入力に応答して、異なる時点にアクセスされることを可能にする。
性能データセット145に含まれる個々のデータ点は、性能データセット内の当該データ点に寄与したユーザ入力を提供した特定のユーザと関連付けることができる。
また、性能データセット145に含まれる個々のデータ点は、シミュレーションデータ内の当該データ点に寄与した特定のユーザのユーザ入力を指示するテストシナリオデータセット146内のデータ点と関連付けることもできる。
さらに、テストシナリオデータセット146内のデータ点は、関連付けられたユーザ入力ごとに仮想テスト環境に存在する条件を表すテスト環境データを含むことができる。
このように、性能データセット145に含まれる各データ点を、当該データ点に寄与した1つまたは複数のユーザ入力を特定のユーザが提供した時点のテスト環境を記述するテストシナリオデータ146内のデータ点と関連付けることができる。
決定モジュール210は、仮想車両の不足性能を特定するために(集合的に車両シミュレーションデータセット147を形成する)性能データセット145およびテストシナリオデータセット146を解析するように構成されたコードおよびルーチンを含む。
例えば、決定モジュール210は、強い制約が満たされなかった事例を特定するために、車両シミュレーションデータセット147を解析する。強い制約は、政府規制機関、規格設定団体、開発者104または提案車両の製造者によって定義されうる。
また、決定モジュール210は、車両運動力学モデル110または制御ソフトウェアモデル115のうちの1つまたは複数を修正するための修正案のセットを決定することができ、修正案は仮想車両の不足性能を修正するように構成される。例えば、決定モジュール210は、修正される車両の設計に含まれる1つまたは複数のパラメータを識別するための到達可能性解析(reachability analysis)、および仮想車両の性能を修正するために
、それら識別されたパラメータの新しい値を何にすべきかを提供することができる。決定モジュール210は、修正モデルデータ135を生成させるために、車両モデル生成アプリケーション140Aまたは制御ソフトウェアモデル生成アプリケーション140Bのうちの1つまたは複数へ新しい値を提供することができる。
いくつかの実装形態において、決定モジュール210は、コンピュータシステム200のメモリ227に記憶することができ、プロセッサ225によってアクセス可能、実行可能とすることができる。
いくつかの実施形態において、到達可能性解析は、統合モデル250を複数のサブシステムへ解析的に分割する。到達可能性解析は、1つまたは複数の保証を異なるサブシステムと関連付けることを含む。1つまたは複数の保証は、その1つまたは複数の保証と関連付けられるサブシステムによって満足されなければならない1つまたは複数の強い制約を含む。到達可能性解析は、サブシステムごとの請負事項(contract)を決定することができる。請負事項は、サブシステムが1つまたは複数の想定を含むあらゆる状況について保証を満足させることを含む。1つまたは複数の想定には、例えば、提案車両がその意図される目的に用いられていること、提案車両が法に準拠したやり方で用いられていること、提案車両が過失のないやり方で用いられていること、提案車両が無謀でないやり方で用い
られていることなどのうちの1つまたは複数が含まれうる。請負事項が満足されない場合には、決定モジュール210は、1つまたは複数のパラメータうちのどれが否定的な結果(negative outcome)に影響を及ぼしたか判定することができる。
決定モジュール210は、否定的な結果に影響を及ぼした1つまたは複数のパラメータを修正するための1つまたは複数のオプションを決定する。例えば、あるオプションは、「第1のパラメータの第1の値が第2の値に修正される」ことを含むことができる。このオプションは、他のパラメータの現在の値が新しい値に修正されることを含むことができる。決定モジュール210は、統合モデル250のパラメータを修正するためのオプションのセットを形成するために、否定的な結果に影響を及ぼしたパラメータの異なる組み合わせについてこのプロセスを複数回繰り返すことができる。オプションの各々は、各オプションの実施により、1つまたは複数の想定(例えば、提案車両がその意図される目的に用いられていること、提案車両が法に違反して用いられていないこと、提案車両が不注意に用いられていないことなど)を含むあらゆる状況について1つまたは複数の保証を満足させるはずの(修正モデルデータ135によって記述される)修正統合モデルが得られるように、決定モジュール210によって構成される。
1つまたは複数のオプションは、メモリ227に記憶され、開発者104によって実施すべき1つまたは複数のオプション(例えば、図6Aのグラフィック要素610)を決定するのに用いられるGUI134を生成するのに用いることができる。これらのオプションは、ランク順にGUI134に表示することができる。オプションを実施した結果として、修正モデルデータ135(例えば、図6Bの要素135)を生成することができる。なお、修正モデルデータは、開発者104によって受け入れられる場合も、受け入れられない場合もある。
GUIモジュール212は、GUIデータ252に基づいて1つまたは複数のGUI134を生成するためのコードおよびルーチンを含む。いくつかの実装形態において、GUIモジュール212は、コンピュータシステム200のメモリ227に記憶することができ、プロセッサ225によってアクセス可能、実行可能とすることができる。
図2Bは、いくつかの実装形態によるシミュレーションシステム199を含む例示的フロープロセス270を示すブロック図である。
いくつかの実装形態において、開発者104は、車両モデル生成アプリケーション140A、制御ソフトウェアモデル生成アプリケーション140Bおよびゲームエンジン206に入力を提供する。
いくつかの実装形態において、車両モデル生成アプリケーション140Aは、開発者104からの1つまたは複数の入力に少なくとも部分的に基づいて車両運動力学モデル110を生成する。
いくつかの実装形態において、制御ソフトウェアモデル生成アプリケーション140Bは、開発者104からの1つまたは複数の入力に少なくとも部分的に基づいて制御ソフトウェアモデル115を生成する。
いくつかの実装形態において、ゲームエンジン206は、開発者104からの入力に少なくとも部分的に基づいて道路モデル125を生成する。またゲームエンジン206は、1つまたは複数の実世界の車道システムを記述するデータに基づいて道路モデル125を生成することもできる。
いくつかの実装形態において、車両運動力学モデル110および制御ソフトウェアモデ
ル115は統合モジュール204への入力である。統合モジュール204は、車両運動力学モデル110および制御ソフトウェアモデル115に基づいて統合モデル250を生成することができる。
道路モデル125および統合モデル250はゲームエンジン206への入力とすることができる。ゲームエンジン206は、道路モデル125および統合モデル250に少なくとも部分的に基づいて実行可能ファイル130をコンパイルすることができる。
(方法の例)
図3Aおよび図3Bは、いくつかの実装形態において、提案車両を同時にシミュレートした複数のクライアント装置からクラウドソースされた車両シミュレーションデータセットに基づいて、提案車両について生成された、修正モデルデータのためのGUIを生成する例示的方法300のフローチャートである。
いくつかの実装形態において、ステップ302で、開発者104が、1つまたは複数のモデル生成アプリケーション140を用いて車両運動力学モデル110および制御ソフトウェアモデル115を開発する。例えば、車両モデル生成アプリケーション140Aが、開発者104の入力に基づいて車両運動力学モデル110を生成する。制御ソフトウェアモデル生成アプリケーション140Bは、開発者104の入力に基づいて制御ソフトウェアモデル115を生成することができる。車両運動力学モデル110は、提案車両の設計の各部分を含むことができる。制御ソフトウェアモデル115は、提案車両の設計に含まれるADASソフトウェアをモデル化する。提案車両は、自律型車両または半自律型車両を含んでもよい。
いくつかの実装形態において、ステップ304で、開発者104が、ゲームエンジン206を用いて道路モデル125を開発する。例えば、ゲームエンジン206は、開発者104の入力に基づいて道路モデル125を生成する。道路モデル125は、仮想テスト環境内で提案車両および提案車両の設計に含まれる制御ソフトウェア(例えば、ADASソフトウェア)をシミュレートする仮想車両の性能をテストするための仮想テスト環境を生成するように構成される。道路モデル125は、実世界車道システムに基づいてもよい。例えば、ゲームエンジン206は、実世界車道モデルセットを記述するデータを含むデータベースに通信可能に結合することができる。
いくつかの実装形態において、ステップ306で、開発者104が、車両運動力学モデル110および制御ソフトウェアモデル115をゲームエンジン206にアップロードする。ゲームエンジン206は、道路モデル125を含んでもよい。
いくつかの実装形態において、ステップ308で、ゲームエンジン206が実行可能ファイル130をコンパイルする。例えば、ゲームエンジン206は、車両運動力学モデル110、制御ソフトウェアモデル115および道路モデル125に基づいて実行可能ファイル130をコンパイルする。実行可能ファイル130は、プロセッサによって実行され、プロセッサに、仮想テスト環境において仮想車両のシミュレーションを提供させるように構成される。プロセッサは、クライアント107の要素であってもよい。クライアント107のユーザ103は、仮想テスト環境において仮想車両を運転することができる。ユーザ103が仮想テスト環境において仮想車両を運転する際に、実行可能ファイル130(または何らかの他のクライアント側構成要素)は、仮想車両および仮想車両に含まれる制御ソフトウェアの性能を表す車両シミュレーションデータ163を収集する。
いくつかの実装形態において、ステップ310で、シミュレーションシステム199が実行可能ファイル130のコピーを複数のクライアント107へ配布する。複数のクライ
アント107もネットワーク105に通信可能に結合することができる。シミュレーションシステム199は、実行可能ファイル130のコピーを、ネットワーク105を介して複数のクライアント107へ配布することができる。
いくつかの実装形態において、ステップ312で、クライアント107が、仮想テスト環境においてテストされるべき仮想車両を含むシミュレーションを提供するために、実行可能ファイル130を実行する。仮想車両は車両運動力学モデル110および制御ソフトウェアモデル115に基づいて構築される。仮想テスト環境は道路モデル125に基づいて構築される。仮想テスト環境には、他の車両、歩行者、交通管理機器などといった車道オブジェクトが含まれる。
次に図3Bを参照する。シミュレーションにおける車道オブジェクトのうちのいくつかは、ほぼリアルタイムでクライアント107の他のユーザによって運転されている仮想車両とすることができ、これらの仮想車両は、同じモデルセットに基づくものとすることも、異なるモデルセットに基づくものとすることもできる。例えば、複数のクライアント107に含まれる2つ以上のクライアント107が実行可能ファイル130のそれぞれのコピーを同時に実行していてもよい。これらのクライアント107のユーザ103は、同時に仮想テスト環境における同じ車道上で仮想車両を運転していてもよい(ステップ314)。
いくつかの実装形態において、ステップ316で、複数のクライアント107が、仮想車両および仮想車両に含まれるシミュレート対象ソフトウェアの性能を記述する車両シミュレーションデータ163を収集する。
いくつかの実装形態において、ステップ318で、複数のクライアント107が、ネットワーク105を介してシミュレーションシステム199へ車両シミュレーションデータ163を送信する。
いくつかの実装形態において、ステップ320で、シミュレーションシステム199が、車両シミュレーションデータセット147を形成するために複数のクライアント107から受信された車両シミュレーションデータ163を集約する。
いくつかの実装形態において、ステップ322で、シミュレーションシステム199が、車両シミュレーションデータセット147(または車両シミュレーションデータ147を記述する解析データ)を含むGUI134を出力する。
いくつかの実装形態において、ステップ324で、開発者104が、車両シミュレーションデータセット147に基づき、1つまたは複数のモデル生成アプリケーション140を用いて車両運動力学モデルまたは制御ソフトウェアモデルを修正する。
いくつかの実装形態においては、提案車両を、修正後の車両運動力学モデルまたは修正後の制御ソフトウェアモデルのうちの1つまたは複数に基づいて製造することができる。
(動作の例)
図4Aおよび図4Bは、いくつかの実装形態によって、実行可能ファイル130がクライアント側415で実行されるときに行われる開発装置側410の動作およびクライアント側415の動作を示すブロック図である。図4Aおよび図4Bの中央に引かれた破線はネットワーク105を表す。
図4Aを参照する。このブロック図は、実行可能ファイル130を実行するクライアン
ト107のプロセッサ上でクライアント107のための操作のうちのいくつかを行うことによってクライアント107へのリソースとして働くシミュレーションマネージャ198の例を表している。シミュレーションマネージャ198は、クライアント107に、トルク入力440、ステアリング角入力441、およびGUIデータ入力442を提供する。クライアント107は、シミュレーションシステム199の集約モジュール208に、ホイール回転数データ443、ADASセンサデータ444、ならびにユーザ入力およびテスト環境データ445を提供する。
いくつかの実施形態においては、車両・道路インタラクションデータおよびテスト環境データを、性能データ160の例とすることができる。
図4Bを参照する。このブロック図は、シミュレーションマネージャに依拠せずに実行可能ファイル130を実行するクライアント107の例を表している。クライアント107は、シミュレーションシステム199に車両シミュレーションデータ163を提供する。
(GUIの例)
図5Aおよび図5Bは、いくつかの実装形態による例示的なGUI133を示す図である。
図5Aを参照すると、仮想テスト環境における仮想車両のグラフィック描写505と、仮想テスト環境における仮想車両の性能に関連した車両シミュレーションデータ163を表示するグラフィック要素510とを含むGUI133Aが示されている。
図5Bを参照すると、仮想テスト環境における同時の車道上の複数の仮想車両のグラフィック描写を含むGUI133Bが示されている。
ユーザA、ユーザBおよびユーザCは、各々、複数のクライアント107に含まれる異なるクライアント装置を操作することができる。仮想車両のうちの2台以上を、開発者104によって設計された提案車両を表す車両運動力学モデル110および制御ソフトウェアモデル115に基づくものとすることができる。言い換えると、複数のクライアント107のうちの少なくとものうちの一部が、同じタイミングで実行可能ファイル130を実行し、結果として、複数の仮想車両が同じタイミングでテスト環境に存在することになる。
このようにして、開発者104が車両障害物(例えば、車道上の車両であるボット)を道路モデルにハードコードしなくても、テスト環境が車両障害物を含み、複数の仮想車両が互いにとっての車両障害物となることができる。
GUI133Bは、仮想テスト環境における仮想車両の性能に関連した車両シミュレーションデータ163を表示するグラフィック要素520も含む。
図6Aおよび図6Bに、いくつかの実装形態による例示的GUI134を示す。
図6Aを参照すると、解析データの例示的表現を描写するグラフィック要素605(GUI134Aに含まれるテキストは見本)、および解析データに基づいて提案車両のための車両運動力学モデル110または制御ソフトウェアモデル115のうちの1つまたは複数を修正するためのオプションを描写する別のグラフィック要素610を含むGUI134Aが示されている。
開発者104は、グラフィック要素610で描写されるオプションに基づいて提案車両のための車両運動力学モデル110または制御ソフトウェアモデル115のうちの1つまたは複数を修正することを決めるためにグラフィックボタン615を選択することができ
る。
図6Bを参照すると、修正モデルデータ135の例を描写するグラフィック要素(GUI134Bに含まれるテキストは見本)を含むGUI134Bが示されている。GUI134Bは、開発者104が修正モデルデータ135を受け入れる際に選択する第1のグラフィックボタン625、および開発者104が車両運動力学モデル110または制御ソフトウェアモデル115を以前のバージョンに戻す際に選択する第2のグラフィックボタン630を含む。
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
本明細書における「一実施形態」または「ある実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「一実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
以上の詳細な説明の一部は、非一時的(non-transitory)なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において(また一般に)アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算(処理)」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー(登録商標)ディスク・光ディスク・CD−ROM・MOディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも1つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
入力/出力(I/O)装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはI/Oコントローラを介して直接あるいは間接的にシステムに接続される。
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット(登録商標)は、現在利用可能なネットワークアダプタのほんの一例である。
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプロ
グラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
100 動作環境
103 ユーザ
104 開発者
105 ネットワーク
107 クライアント
110 車両運動力学モデル
115 制御ソフトウェアモデル
125 道路モデル
130 実行可能ファイル
133,134 GUI
135 修正モデルデータ
140 モデル生成アプリケーション
145 性能データセット
146 テストシナリオデータセット
147 車両シミュレーションデータセット
150 開発装置
155 シミュレーションアプリケーション
160 性能データ
161 テストシナリオデータ
163 車両シミュレーションデータ
198 シミュレーションマネージャ
199 シミュレーションシステム

Claims (21)

  1. 車両のシミュレーションデータを収集する開発装置によって実行される方法であって、
    設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成ステップと、
    前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成ステップと、
    プロセッサにより実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成ステップと、
    前記実行可能ファイルを、ネットワークを介して複数のクライアント装置に配布する配布ステップと、
    前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを、ネットワークを介して収集する収集ステップと
    示装置に、前記仮想テスト環境における前記仮想車両の性能に関する情報を出力する出力ステップと、
    を含む、方法。
  2. 前記複数のクライアント装置は、複数の異なるプラットフォームを含む、
    請求項1に記載の方法。
  3. 前記車両シミュレーションデータは、前記仮想テスト環境における前記仮想車両の性能を表す性能データ、および、前記仮想車両の運転におけるユーザ入力を表すテストシナリオデータ、を含む、
    請求項1に記載の方法。
  4. 前記仮想車両の性能を表す性能データは、複数のデータ点を含み、
    前記データ点は、当該データ点に寄与した特定のユーザ入力に対応する、前記テストシナリオデータ内のデータ点と関連付けられる、
    請求項3に記載の方法。
  5. 前記テストシナリオデータは、前記仮想テスト環境に存在する条件を記述するテスト環境データを含み、
    前記性能データに含まれる各データ点が、当該データ点に寄与したユーザ入力を特定のユーザが提供した時点の仮想テスト環境を記述する、前記テスト環境データ内のデータ点と関連付けられる、
    請求項4に記載の方法。
  6. 記走行が延べ100万キロメートル以上である場合に、走行の量が十分であると決定する決定ステップをさらに含む、
    請求項1に記載の方法。
  7. 前記制御モデルは、前記設計対象車両向けに設計されたADAS(先進運転支援システム)ソフトウェアのデジタルモデルを含む、
    請求項1に記載の方法。
  8. 前記車両シミュレーションデータは、前記実行可能ファイルを前記クライアント装置に送信してから7日以内に収集される、
    請求項1に記載の方法。
  9. 前記車両シミュレーションデータは、前記実行可能ファイルを前記クライアント装置に送信してから24時間以内に収集される、
    請求項1に記載の方法。
  10. 前記車両シミュレーションデータに基づいて、修正された前記車両力学モデルおよび修正された前記制御モデルを表す修正モデルデータを生成する修正ステップをさらに含む、
    請求項1に記載の方法。
  11. 前記修正モデルデータに基づいて、前記設計対象車両を製造するステップをさらに含む、
    請求項10に記載の方法。
  12. 前記仮想車両の性能不足を特定するために前記車両シミュレーションデータを解析するステップと、
    前記性能不足を修正するように構成された、前記車両力学モデルまたは制御モデルに対する修正案を決定するステップと、
    前記修正案の少なくとも一つを選択するための入力を取得するステップと、
    前記入力に基づいて、修正された前記車両力学モデルおよび修正された前記制御モデルを表す修正モデルデータを生成するステップと、
    をさらに含む、請求項1に記載の方法。
  13. 前記修正モデルデータに基づいて、前記設計対象車両を製造するステップをさらに含む、
    請求項12に記載の方法。
  14. コンピュータに、
    設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成ステップと、
    前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成ステップと、
    プロセッサにより実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成ステップと、
    前記実行可能ファイルを、ネットワークを介して複数のクライアント装置に配布する配布ステップと、
    前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを、ネットワークを介して収集する収集ステップと
    示装置に、前記仮想テスト環境における前記仮想車両の性能に関する情報を出力する出力ステップと、
    を実行させるためのプログラム。
  15. 前記道路モデルは、実世界に存在する道路を表す実世界道路データに基づいて生成される、
    請求項14に記載のプログラム。
  16. 前記設計対象車両は自動運転車両である、
    請求項14に記載のプログラム。
  17. 前記複数のクライアント装置は、2台〜100万台であり、
    前記クライアント装置のそれぞれが、前記実行可能ファイルを同時刻に実行する、
    請求項14に記載のプログラム。
  18. 前記複数のクライアント装置の少なくとも一部はスマートフォンである、
    請求項17に記載のプログラム。
  19. 前記クライアント装置のそれぞれが、前記実行可能ファイルを同時刻に実行し、それにより、前記仮想テスト環境において、前記クライアント装置のそれぞれに対応する複数の仮想車両が出現する、
    請求項14に記載のプログラム。
  20. 前記複数の仮想車両が、前記仮想テスト環境内において互いに干渉可能である、
    請求項19に記載のプログラム。
  21. 開発装置と、複数のクライアント装置と、からなるシステムであって、
    前記開発装置は、
    設計対象車両に対応する車両力学モデルと、制御モデルと、を生成する第一の生成手段と、
    前記車両力学モデルおよび制御モデルによって構成される仮想車両をテストする仮想テスト環境を生成するための道路モデルを生成する第二の生成手段と、
    プロセッサにより実行され、前記プロセッサに、前記仮想テスト環境における前記仮想車両のシミュレーションを実行させるよう構成された実行可能ファイルを、前記車両力学モデルと、前記制御モデルと、前記道路モデルと、に基づいて生成する第三の生成手段と、
    前記実行可能ファイルを、ネットワークを介して複数のクライアント装置に配布する配布手段と、
    前記複数のクライアント装置から、前記仮想テスト環境内の走行における前記仮想車両の性能を表す車両シミュレーションデータを、ネットワークを介して収集する収集手段と
    示装置に、前記仮想テスト環境における前記仮想車両の性能に関する情報を出力する出力手段と、
    を有する、システム。
JP2017025679A 2016-03-18 2017-02-15 クラウドソースを利用した車両シミュレーション装置 Active JP6414247B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/074,842 US10552573B2 (en) 2016-03-18 2016-03-18 Vehicle simulation device for crowd-sourced vehicle simulation data
US15/074,842 2016-03-18

Publications (2)

Publication Number Publication Date
JP2017173309A JP2017173309A (ja) 2017-09-28
JP6414247B2 true JP6414247B2 (ja) 2018-10-31

Family

ID=59855625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017025679A Active JP6414247B2 (ja) 2016-03-18 2017-02-15 クラウドソースを利用した車両シミュレーション装置

Country Status (2)

Country Link
US (1) US10552573B2 (ja)
JP (1) JP6414247B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029257A1 (ja) * 2022-08-01 2024-02-08 株式会社堀場製作所 検証サイクル生成方法、検証サイクル生成システム、及び、検証サイクル生成プログラム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3309721A1 (en) * 2016-09-23 2018-04-18 KPIT Technologies Ltd. Autonomous system validation
US10019008B2 (en) * 2016-09-28 2018-07-10 Baidu Usa Llc Sideslip compensated control method for autonomous vehicles
US10343685B2 (en) 2016-09-28 2019-07-09 Baidu Usa Llc Physical model and machine learning combined method to simulate autonomous vehicle movement
US10884902B2 (en) * 2017-05-23 2021-01-05 Uatc, Llc Software version verification for autonomous vehicles
US10831636B2 (en) 2018-01-08 2020-11-10 Waymo Llc Software validation for autonomous vehicles
US10755007B2 (en) * 2018-05-17 2020-08-25 Toyota Jidosha Kabushiki Kaisha Mixed reality simulation system for testing vehicle control system designs
CN108804826A (zh) * 2018-06-12 2018-11-13 重庆穗通汽车工业发展有限公司 一种动力分析方法与装置
KR102587509B1 (ko) * 2018-08-20 2023-10-11 한화오션 주식회사 시뮬레이션을 이용한 선박용 어플리케이션 개발 시스템
KR102644366B1 (ko) 2018-08-27 2024-03-07 현대자동차주식회사 엔진 가상시험환경 시스템 및 ems 매핑 방법
AT521607B1 (de) * 2018-10-24 2020-03-15 Avl List Gmbh Verfahren und Vorrichtung zum Testen eines Fahrerassistenzsystem
CN109379233B (zh) * 2018-11-30 2022-04-19 北京仿真中心 一种云仿真平台模型安全保障系统、方法、服务器及终端
CN109740222B (zh) * 2018-12-25 2023-06-20 国汽(北京)智能网联汽车研究院有限公司 一种针对汽车网联化场景的测试装置和系统
JP7134903B2 (ja) * 2019-03-05 2022-09-12 株式会社日立製作所 不具合再現支援システム、不具合再現支援方法
KR102109710B1 (ko) * 2019-04-05 2020-05-12 재단법인한국조선해양기자재연구원 선박운항정보 가상신호출력 시뮬레이터
KR20200129803A (ko) 2019-05-10 2020-11-18 현대자동차주식회사 실도로 가상주행환경을 이용한 ems 매핑 최적화 방법 및 엔진 가상시험환경 시스템
EP3745381A1 (en) * 2019-05-27 2020-12-02 Zenuity Ab Method and device for supporting generation of scenarios for testing autonomous driving and/or advanced driver assistance system functionality
EP3745382A1 (en) * 2019-05-27 2020-12-02 Zenuity Ab Method and server for supporting generation of scenarios for testing autonomous driving and/or advanced driver assistance system functionality
US11814080B2 (en) 2020-02-28 2023-11-14 International Business Machines Corporation Autonomous driving evaluation using data analysis
US11702101B2 (en) 2020-02-28 2023-07-18 International Business Machines Corporation Automatic scenario generator using a computer for autonomous driving
US11644331B2 (en) 2020-02-28 2023-05-09 International Business Machines Corporation Probe data generating system for simulator
CN111897305B (zh) * 2020-06-02 2022-08-02 浙江吉利汽车研究院有限公司 一种基于自动驾驶的数据处理方法、装置、设备及介质
CN111753372B (zh) * 2020-06-11 2023-09-15 雷沃重工集团有限公司 一种挖掘机整机热平衡仿真方法及系统
CN111859618B (zh) * 2020-06-16 2024-03-29 长安大学 多端在环的虚实结合交通综合场景仿真测试系统及方法
CN113820964A (zh) * 2020-06-19 2021-12-21 上汽通用汽车有限公司 一种车辆电子控制单元仿真系统及其仿真方法
CN111913405A (zh) * 2020-06-23 2020-11-10 中车工业研究院有限公司 多软件联合仿真系统
EP3951673A1 (en) * 2020-08-04 2022-02-09 Aptiv Technologies Limited Method and system of collecting training data suitable for training an autonomous driving system of a vehicle
KR20220060404A (ko) * 2020-11-04 2022-05-11 현대자동차주식회사 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치
AT524822A1 (de) * 2021-03-01 2022-09-15 Avl List Gmbh Verfahren zum Testen eines Fahrerassistenzsystems eines Fahrzeugs
AT524821A1 (de) * 2021-03-01 2022-09-15 Avl List Gmbh Verfahren und System zum Erzeugen von Szenariendaten zum Testen eines Fahrerassistenzsystems eines Fahrzeugs
KR102587220B1 (ko) * 2021-03-29 2023-10-10 버추얼모션(주) 차량용 드라이브 라인의 내구 해석 장치 및 방법
CN113722814A (zh) * 2021-07-22 2021-11-30 江铃汽车股份有限公司 一种基于虚拟道路测试的车辆平顺性分析方法
CN113792428B (zh) * 2021-09-14 2024-04-02 万物镜像(北京)计算机系统有限公司 虚拟场景下车辆的测试方法、装置及电子设备
CN114139284A (zh) * 2021-12-06 2022-03-04 西南石油大学 一种基于adams的车辆载荷提取方法
SE2251199A1 (en) * 2022-10-13 2024-04-14 Remotive Labs Ab Simulation of functionalities of a physical vehicle or parts thereof
CN117746714B (zh) * 2024-02-20 2024-04-30 成都运达科技股份有限公司 一种模拟驾驶作业测试方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6080063A (en) * 1997-01-06 2000-06-27 Khosla; Vinod Simulated real time game play with live event
JP2004105671A (ja) * 2002-09-16 2004-04-08 Genki Kk 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント
JP4211594B2 (ja) * 2003-12-18 2009-01-21 日産自動車株式会社 3次元路面走行環境モデルおよび同モデルを備えた車両挙動制御システムの評価装置
US20070150254A1 (en) * 2005-12-23 2007-06-28 Choi Cathy Y Simulation engine for a performance validation system
EP1997705B1 (en) * 2005-12-28 2012-06-13 National University Corporation Nagoya University Drive behavior estimating device, drive supporting device, vehicle evaluating system, driver model making device, and drive behavior judging device
JP4510043B2 (ja) * 2007-03-09 2010-07-21 独立行政法人科学技術振興機構 車両走行仮想試験システム及びプログラム
US9053638B2 (en) * 2007-10-30 2015-06-09 Raytheon Company Unmanned vehicle simulation system
JP5685906B2 (ja) * 2010-11-29 2015-03-18 富士通株式会社 シミュレーション装置およびシミュレーションプログラム
JP5821745B2 (ja) * 2012-03-28 2015-11-24 富士通株式会社 シミュレーション方法、シミュレーション装置およびシミュレーションプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029257A1 (ja) * 2022-08-01 2024-02-08 株式会社堀場製作所 検証サイクル生成方法、検証サイクル生成システム、及び、検証サイクル生成プログラム

Also Published As

Publication number Publication date
US10552573B2 (en) 2020-02-04
US20170270236A1 (en) 2017-09-21
JP2017173309A (ja) 2017-09-28

Similar Documents

Publication Publication Date Title
JP6414247B2 (ja) クラウドソースを利用した車両シミュレーション装置
US20220012380A1 (en) Simulated vehicle operation modeling with real vehicle profiles
US10109106B2 (en) Scalable curve visualization for conformance testing in vehicle simulation
US10346564B2 (en) Dynamic virtual object generation for testing autonomous vehicles in simulated driving scenarios
US11427215B2 (en) Systems and methods for generating a task offloading strategy for a vehicular edge-computing environment
CN107063711B (zh) 用于测试无人车的方法和装置
US20180267538A1 (en) Log-Based Vehicle Control System Verification
US11087049B2 (en) Online self-driving car virtual test and development system
WO2019108985A1 (en) Autonomous vehicle simulation system
US10471967B2 (en) Optimization of a vehicle to compensate for water contamination of a fluid of a vehicle component
US11810460B2 (en) Automatic generation of pedestrians in virtual simulation of roadway intersections
Tideman et al. A simulation tool suite for developing connected vehicle systems
WO2022130019A1 (en) Vehicle operation safety model test system
US9459840B1 (en) Timing-oriented and architecture-centric system design using contracts
CN112346450A (zh) 鲁棒的自主驾驶设计
CN114175127A (zh) 用于支持生成用于测试自主驾驶和/或高级驾驶员辅助系统功能的场景的方法和设备
EP3701347A1 (en) A system and method for using knowledge gathered by a vehicle
Neumeier et al. Yet another driving simulator openrouts3d: The driving simulator for teleoperated driving
US20180157770A1 (en) Geometric proximity-based logging for vehicle simulation application
CN114207693A (zh) 用于支持生成用于测试自主驾驶和/或高级驾驶员辅助系统功能的场景的方法和服务器
CN115526069A (zh) 仿真驾驶场景生成方法、装置、设备和计算机可读介质
EP2988234A1 (en) Automated curvature modeling of polygonal lines
US20230358640A1 (en) System and method for simulating autonomous vehicle testing environments
US11834070B2 (en) Probabilistic simulation sampling from agent data
US20240199071A1 (en) Generating a driving assistant model using synthetic data generated using historical shadow driver failures and generative rendering with physical constraints

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180917

R151 Written notification of patent or utility model registration

Ref document number: 6414247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151