(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-31
(45)【発行日】2024-08-08
(54)【発明の名称】自律運転センサシミュレーション
(51)【国際特許分類】
B60W 50/00 20060101AFI20240801BHJP
B60W 40/02 20060101ALI20240801BHJP
B60W 60/00 20200101ALI20240801BHJP
【FI】
B60W50/00
B60W40/02
B60W60/00
【外国語出願】
(21)【出願番号】P 2023015337
(22)【出願日】2023-02-03
【審査請求日】2023-02-03
(32)【優先日】2022-03-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100120499
【氏名又は名称】平山 淳
(72)【発明者】
【氏名】孫 林玉
【審査官】戸田 耕太郎
(56)【参考文献】
【文献】特表2019-504800(JP,A)
【文献】特開2018-060511(JP,A)
【文献】特開2018-060512(JP,A)
【文献】欧州特許出願公開第03618013(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 50/00
B60W 40/02
B60W 60/00
(57)【特許請求の範囲】
【請求項1】
自律運転シミュレーションにおいてセンサをシミュレートする方法であって、
前記自律運転シミュレーションにおいて、光線を対象物に出力し、前記対象物からの前記光線の反射を受信するアクティブセンサをシミュレートするセンサシミュレータにより感知される目標対象物の複数の属性に対する値を
メモリから取得することと、
前記取得した値に対応付けられている反射率を取得するために、前記複数の属性に対する前記取得した値を所定の反射率テーブルに入力すること
であって、前記所定の反射率テーブルは前記複数の属性に対する値と前記反射率とを予め対応付けていることと、
前記取得した反射率
と入射する反射された光線の数に基づいて、前記目標対象物に対応するセンサデータを生成することを備え、
前記目標対象物は車輪であり、前記複数の属性は、前記自律運転シミュレーションにおける車輪スポークの数、車輪の速度、および、前記車輪と自律車両との間の角度を備えていることを特徴とする方法。
【請求項2】
前記目標対象物に対して定義された反射情報を取得すること
と、
取得した前記反射情報に対応する前記所定の反射率テーブルを選択することと、
を更に備えていることを特徴とする請求項1に記載の方法。
【請求項3】
前記反射情報は、前記目標対象物の反射表面のテクスチャと材質を備えていることを特徴とする請求項2に記載の方法。
【請求項4】
前記複数の属性に対する前記値を、前記所定の反射率テーブルに入力することは、前記取得した反射情報に対応する前記所定の反射率テーブルを、それぞれが異なる反射情報に対応している複数の所定の反射率テーブルから選択することを備えていることを特徴とする請求項2又は3に記載の方法。
【請求項5】
前記所定の反射率テーブルは、前記目標対象物の前記複数の属性に対する値を、動的反射率に対応付けるため
、前記目標対象物に関して実行された実際の現実世界の反射率テスト
からのサンプルデータに基づいて予め決定されることを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項6】
前記生成されたセンサデータは、前記目標対象物に対する点群を備えていることを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項7】
前記センサデータを前記生成することは、前記取得した反射率および入射する反射された光線の数を、光線点を計算するためにランダム点関数に入力することと、各光線点のベクトルと強度を計算することを備えていることを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項8】
自律運転シミュレータであって、
コンピュータプログラムコードを格納するように構成されている少なくとも1つのメモリと、
少なくとも1つのプロセッサを備え、前記少なくとも1つのプロセッサは、
前記自律運転シミュレータにおける、光線を対象物に出力し、前記対象物からの前記光線の反射を受信するアクティブセンサをシミュレートするセンサシミュレータにより感知される目標対象物の複数の属性に対する値を
メモリから取得し、
前記取得した値に対応付けられている反射率を取得するために、前記複数の属性に対する前記取得した値を所定の反射率テーブルに入力し、
前記所定の反射率テーブルは前記複数の属性に対する値と前記反射率とを予め対応付けており、
前記取得した反射率
と入射する反射された光線の数に基づいて、前記目標対象物に対応するセンサデータを生成する、ために前記コンピュータプログラムコードを実行するように構成されており、
前記目標対象物は車輪であり、前記複数の属性は、前記自律運転シミュレータにおける車輪スポークの数、車輪の速度、および、前記車輪と自律車両との間の角度を備えていることを特徴とする自律運転シミュレータ。
【請求項9】
前記少なくとも1つのプロセッサは更に、前記目標対象物に対して定義された反射情報を取得
し、取得した前記反射情報に対応する前記所定の反射率テーブルを選択するために、前記コンピュータプログラムコードを実行するように構成されていることを特徴とする請求項8に記載の自律運転シミュレータ。
【請求項10】
前記反射情報は、前記目標対象物の反射表面のテクスチャと材質を備えていることを特徴とする請求項9に記載の自律運転シミュレータ。
【請求項11】
前記少なくとも1つのプロセッサは更に、前記取得した反射情報に対応する前記所定の反射率テーブルを、それぞれが異なる反射情報に対応している複数の所定の反射率テーブルから選択することにより、前記複数の属性に対する前記値を、前記所定の反射率テーブルに入力するために、前記コンピュータプログラムコードを実行するように構成されていることを特徴とする請求項9又は10に記載の自律運転シミュレータ。
【請求項12】
前記所定の反射率テーブルは、前記目標対象物の前記複数の属性に対する値を、動的反射率に対応付けるため
、前記目標対象物に関して実行された実際の現実世界の反射率テスト
からのサンプルデータに基づいて予め決定されることを特徴とする請求項8~10のいずれか1項に記載の自律運転シミュレータ。
【請求項13】
前記生成されたセンサデータは、前記目標対象物に対する点群を備えていることを特徴とする請求項8~10のいずれか1項に記載の自律運転シミュレータ。
【請求項14】
前記センサデータを前記生成することは、前記取得した反射率および入射する反射された光線の数を、光線点を計算するためにランダム点関数に入力することと、各光線点のベクトルと強度を計算することを備えていることを特徴とする請求項13に記載の自律運転シミュレータ。
【請求項15】
方法を実行するために少なくとも1つのプロセッサにより実行可能な命令を格納している非一時的コンピュータ読み取り可能格納媒体であって、前記方法は、
光線を対象物に出力し、前記対象物からの前記光線の反射を受信するアクティブセンサをシミュレートするセンサシミュレータにより感知される目標対象物の複数の属性に対する値を
メモリから取得することと、
前記取得した値に対応付けられている反射率を取得するために、前記複数の属性に対する前記取得した値を所定の反射率テーブルに入力すること
であって、前記所定の反射率テーブルは前記複数の属性に対する値と前記反射率とを予め対応付けていることと、
前記取得した反射率
と入射する反射された光線の数に基づいて、前記目標対象物に対応するセンサデータを生成することを備え、
前記目標対象物は車輪であり、前記複数の属性は、車輪スポークの数、車輪の速度、および、前記車輪と自律車両との間の角度を備えていることを特徴とする非一時的コンピュータ読み取り可能格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
開示は、自律運転シミュレーション技術の分野に関し、特には、自律車両の行動を、非自律車両アクタに対して相対的に定義できるシミュレーションシナリオを提供する装置と方法に関する。
【背景技術】
【0002】
自律運転車両は、自律リアルタイム制御を提供するために相互動作しなければならない多数のシステムを含んでいる。これらのシステムの中には、車両の周囲における対象物を感知するために使用されるセンサがあり、このセンサに基づいて、種々の知覚および意思決定タスクが実行される。例えば、センサは、車両の経路を妨害し得る対象物(歩行者または自転車などのような)を感知でき、その対象物に対する感知データを生成できる。感知データは、自律運転車両スタックに入力され、自律運転ソフトウェアは、対象物を検出且つ追尾でき、障害物を回避するように決定を行うことができ、制御に影響を与えることができる。
[先行技術文献]米国特許出願公開第2019/0302259号明細書
【0003】
自律運転シミュレーションシステムは、自律運転アプリケーションを開発し、それを自律ソフトウェアスタックにおいて安全に展開するために使用される。自律運転シミュレーションシステムは、開発中のアプリケーションをテストするためのシミュレーションを提供するために相互動作するツールまたはモデルの3つのカテゴリを含んでいる。
【0004】
コアシミュレータは、シミュレーションを作動させるシナリオを作成、編集、および実行する主要シミュレーションツールである。コアシミュレーションを介して、アクタおよびアクタの動きと共に、仮想世界自体を定義できる。例えば、シナリオは、自律車両がそのようなシナリオにおいてどのように挙動するかをテストするために、特別な軌道上を特別な速度で移動している歩行者と非自律車両を含むことができる。
【0005】
車両シミュレータは、自律車両をシミュレートする。車両シミュレータは、(a)車両の物理的動きをシミュレートする車両動力学シミュレーション、(b)車両の種々のユニット(エンジン、バッテリ、空調機などのような)をシミュレートする車両コントローラまたはユニットシミュレーション、および、(c)車両本体の構成要素(ライト、ドア、警告ランプなどのような)をシミュレートする車両本体シミュレーションを含んでいる。
【0006】
センサシミュレータは、カメラ、ライダーセンサ、レーダーなどのような、自律車両の種々のセンサをシミュレートする。センサシミュレータは、例えば、シミュレートされたカメラ画像を出力する。
【0007】
ライダーセンサなどのような、自律運転システムにおいて実現されているアクティブセンサは、光または波(例えば、レーザビーム)を送信して、目標対象物の表面で反射したその送信した光の反射を受信することによりセンサデータを生成する。言い換えれば、送信された光は、対象物の表面で反射され、センサにより受信され、その間に掛かった時間(time of flight)が、目標対象物までの距離を決定するために測定される。
【0008】
反射してセンサに戻ってくる光線または波はランダムであり、目標対象物の表面が、多数の角度を有し、凹凸、隆起などで複雑であるときは特にそうである。例えば、走行しているオートバイまたは自転車の車輪は、円筒形の表面を有する回転しているスポーク(またはワイヤ)を含んでおり、この表面は、送信された光が反射されるスポークの表面の点によっては、光をランダムに反射する。これは、センサをシミュレートするとき、およびセンサデータを生成するときにおける問題を提示する。つまり、シミュレーションを作成するときに、多くの時間と、演算の複雑さが、各スポークにおけるすべての多角形、および、それにより反射されるすべての光または波をシミュレートするために必要となる。そのようなシミュレーションを精度よく実現することは、シミュレーション速度を大幅に削減し、および/または、表面の各多角形からの各反射を計算するための演算および処理要請を増大させる。
【発明の概要】
【0009】
発明の概念と整合性のある装置と方法は、依然として精度のよいセンサシミュレーションを提供しながら、目標対象物の定義を簡素化にするシミュレーションツールを提供する。つまり、シミュレーション環境における対象物は、その形状、サイズ、および反射情報により定義される。反射情報は材質(例えば、光がどのように反射されるかを定義する)とテクスチャ(例えば、色情報)により定義される。更に、反射率テーブルが、複数の単純対象物の定義を、その対象物に対する反射率と対応付けるために使用される。
【0010】
例えば、自転車の車輪の場合、シミュレーションにおいて使用される対象物の定義は、車輪のワイヤまたはスポークの数、車輪の速度、および自律車両(またはそのセンサ)と車輪との間の角度を含んでいる。これら3つの項目に対する値は動的反射率テーブルに入力され、このテーブルは、これらの値の動的反射率への三次元対応付けを提供する。動的反射率は、センサが受信した反射された光線の率を表している。反射率テーブルは、リアルタイムテストデータサンプルに基づいて提供され、または、予め決定されている。
【0011】
例としての実施形態によれば、複数の異なる動的反射率テーブルが、反射情報(例えば、材質および/またはテクスチャ)に基づいて用意される。言い換えれば、各テーブルは、異なる反射情報を有する対象物に関して実行された実際のテストからのサンプルデータに基づいて用意される。従って、本実施形態に係わるセンサシミュレータは、対象物に対して設定された反射材質に対応する動的反射率テーブルを使用する。
【0012】
そして、反射率テーブルから出力された反射率は、その目標対象物に対する点群、例えば、ライダー点群を計算するために使用される。実施形態によれば、反射率と入射光線の数が、光線点を計算するランダム点関数に入力される(例えば、3つの反射された、または入射する光線と反射率10%)。更に、各光線点のベクトルと強度が、点群を生成するための種々の周知の技術の何れかを使用して計算または決定される。
【0013】
開示の例としての実施形態によれば、自律運転シミュレータにおけるセンサをシミュレートする方法は、自律運転シミュレーションにおいて、光線を対象物に出力し、その対象物からの光線の反射を受信するアクティブセンサをシミュレートするセンサシミュレータにより感知される目標対象物の複数の属性に対する値を取得することと、取得した値に対応付けられている反射率を取得するために、複数の属性に対する取得した値を所定の反射率テーブルに入力することと、取得した反射率に基づいて、目標対象物に対応するセンサデータを生成することを含んでおり、ここにおいて、目標対象物は車輪であり、複数の属性は、自律運転シミュレーションにおける車輪スポークの数、車輪の速度、および、車輪と自律車両との間の角度を備えている。
【0014】
例としての実施形態に係わる方法は更に、目標対象物に対して定義された反射情報を取得することを含むことができる。反射情報は、目標対象物の反射表面のテクスチャと材質を含むことができる。
【0015】
追加的に、例としての実施形態に係わる方法は、複数の属性に対する値を、所定の反射率テーブルに入力することと、取得した反射情報に対応する所定の反射率テーブルを、それぞれが異なる反射情報に対応している複数の所定の反射率テーブルから選択することを含むことができる。所定の反射率テーブルは、目標対象物の複数の属性に対する値を、動的反射率に対応付けるための現実世界の反射率テストに基づいて予め決定できる。追加的に、開示の例としての実施形態によれば、生成されたセンサデータは、目標対象物に対する点群を備えている。
【0016】
開示の更に他の例としての実施形態によれば、センサデータを生成することは、取得した反射率および入射する反射された光線の数を、光線点を計算するためにランダム点関数に入力することと、各光線点のベクトルと強度を計算することを含んでいる。
【0017】
開示の他の例としての実施形態によれば、非一時的コンピュータ読み取り可能格納媒体は、方法を実行するために少なくとも1つのプロセッサにより実行可能な命令を格納しており、方法は、自律運転シミュレーションにおいて、光線を対象物に出力し、その対象物からの光線の反射を受信するアクティブセンサをシミュレートするセンサシミュレータにより感知される目標対象物の複数の属性に対する値を取得することと、取得した値に対応付けられている反射率を取得するために、複数の属性に対する取得した値を所定の反射率テーブルに入力することと、取得した反射率に基づいて、目標対象物に対応するセンサデータを生成することを含んでいる。目標対象物は車輪であり、複数の属性は、自律運転シミュレーションにおける車輪スポークの数、車輪の速度、および、車輪と自律車両との間の角度である。
【図面の簡単な説明】
【0018】
開示の例としての実施形態の特徴、利点、および技術的且つ産業的意味は、付随する図面を参照して下記に記述され、図面においては類似の符号は類似の要素を示している。図面における種々の特徴は、例示の目的が、詳細な記述と連携して、この技術における技量を有する者の理解を促進することにおける明確性であるので、一定の比率で縮小/拡大されていない。
【
図1】例としての実施形態に係わる、自律運転シミュレーションを実現するためのシステムを例示しているブロック図である。
【
図2】例としての実施形態に係わる、シミュレートされたセンサの動作を例示している図である。
【
図3】例としての実施形態に係わる、自律運転シミュレーションにおいてセンサをシミュレートする方法を例示しているフローチャートである。
【発明を実施するための形態】
【0019】
開示の実施形態が、付随する図面を参照して詳細に記述される。図面において使用されている同じ参照番号は、同じまたは類似の要素を示すことができる。開示において使用されている用語は、開示において定義されているように厳密に解釈されるべきではなく、この技術における通常の技量を有する者が、開示の状況において理解するであろうものとして解釈されるべきである。開示の実施形態は、異なる形状であることもでき、ここにおいて記述されている開示の実施形態に制限されないということに留意すべきである。
【0020】
態様がここにおいて、種々の実施形態に係わる、方法、装置(システム)、およびコンピュータ読み取り可能媒体のフローチャートの例示および/またはブロック図を参照して記述される。フローチャートのブロックの例示および/またはブロック図の各ブロック、およびフローチャートの例示および/またはブロック図におけるブロックの組み合わせは、コンピュータ読み取り可能プログラム命令により実行できるということは理解されるであろう。
【0021】
図1は、例としての実施形態に係わる、自律運転シミュレーションにおいてセンサをシミュレートする方法を例示しているフローチャートである。
【0022】
図1に関して、端末100は、プロセッサ101、メモリ102、およびセンサシミュレータ103を含むことができる。しかし、端末は前述の構成要素に制限されず、ここにおいて記述されているよりも、より多い、またはより少ない構成要素を有するように構成できる。
【0023】
プロセッサ101は、端末100の全体動作を制御できる。具体的には、プロセッサ101は、メモリ102に接続でき、メモリ102の動作を制御するように構成できる。例えば、プロセッサ101は、特定用途向け集積回路(ASIC)、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械(FSM)、デジタル信号プロセッサ(DSP)、ニューラルネットワークプロセッサ(NPU)などの少なくとも1つとして実現できる。プロセッサ101は、中央演算処理装置(CPU)、グラフィック処理ユニット(GPU)、およびメイン処理ユニット(MPU)などを含むことができる。追加的に、プロセッサ101は、1つ以上のプロセッサを含むことができる。
【0024】
メモリ102は、開示の実施形態に係わる、端末100を動作させるための少なくとも1つの命令および種々のソフトウェアプログラムまたはアプリケーションを格納できる。例えば、メモリ102は、フラッシュメモリなどのような半導体メモリ、ハードディスクなどのような磁気格納媒体などを含むことができる。メモリ102とは、プロセッサ101に通信可能に結合される任意の揮発性または不揮発性メモリ、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、または、端末100に接続可能なメモリカード(例えば、マイクロSDカード、メモリスティック)を指すことができる。追加的にメモリ102は、1つ以上のメモリユニットを含むことができる。
【0025】
具体的には、メモリ102は、端末100を動作させるための種々のソフトウェアモジュールまたはコードを格納でき、プロセッサ101は、メモリ102に格納されている種々のソフトウェアモジュールを実行することにより、端末100の動作を制御できる。つまり、メモリ102は、データの読み取り、記録、修正、消去、更新などを実行するためにプロセッサ101によりアクセスできる。
【0026】
メモリ102は、車両の電子制御ユニット(ECU)上で実行可能なオペレーティングシステムなどのような、車両の自律制御のための自律運転オペレーティングシステム(OS)を格納できる。メモリ102また、OSと、自律運転のために使用されるアプリケーションとの間のインタフェースを取る少なくとも1つのアプリケーションプログラミングインタフェース(API)を格納でき、アプリケーションは、ここにおいて開示されているシミュレーション方法を介してテストできるアプリケーションを含んでいる。更に、メモリ102は、自律運転OSと、センサシミュレータ103、コアシミュレータ104、および車両シミュレータ105などのようなシミュレーションモデルとの間の通信のためのミドルウェアを格納できる。
【0027】
メモリ102はまた、自律運転シミュレーションアーキテクチャを提供するための種々のシミュレーションモデルを格納するように構成できる。例えば、メモリ102は、1つ以上のセンサシミュレータ103(または、センサシミュレーションモデル)、1つ以上のコアシミュレータ104、および/または1つ以上の車両シミュレータ105(または、車両シミュレーションモデル)に対応する実行可能な命令、コード、データオブジェクトなどを格納できる。
【0028】
コアシミュレータ104は、自律車両のシミュレーションを実行できるシナリオを作成、編集、および実行する主要シミュレーションツールであってよい。例えば、コアシミュレータ104は、仮想環境におけるアクタとアクタの動きと共に、仮想世界または環境を定義できる。具体的には、コアシミュレータ104は、自律車両がそのようなシナリオにおいてどのように挙動または動作するかをテストするためのシナリオをシミュレートするように構成できる。ここで、自律車両という用語は、自動化運転システム(ADS)により制御される、または、ADSを少なくとも装備している車両のことを指すことができる。ADSは、手動で車両を制御できる自律車両の運転手による何の物理的行動も要求されない自己運転機能を提供できる。自己運転機能は、例えば、人間の介在なしに、種々のセンサとソフトウェアを使用して車両を走行させ、または運転することを含むことができる。
【0029】
車両シミュレータ105は、自律車両をシミュレートするモデルであってよい。車両シミュレータは、車両の物理的動きをシミュレートする車両動力学シミュレーション、車両の種々のユニット(例えば、エンジン、バッテリ、空調機など)をシミュレートする車両コントローラまたはユニットシミュレーション、および車両本体の構成要素(例えば、ライト、ドア、警告ランプなど)をシミュレートする車両本体シミュレーションを含むことができる。車両シミュレータ105は、自動車製造業者により供給することができ、および/または、特別な車両とその属性に対応することができる。
【0030】
センサシミュレータ103は、自律車両の種々のセンサをシミュレートするモデルであってよい。センサシミュレータ103によりシミュレートできるセンサには、カメラ、ライダーセンサ、レーダーセンサなどを含むことができる。例えば、センサシミュレータ103は、シミュレートされたシーンのカメラ画像を出力できる。センサシミュレータ103によりシミュレートできるセンサはそれらに制限されず、自律車両の自己運転機能を提供することに適切であることができる他のセンサを含むことができる。
【0031】
例としての実施形態によれば、センサシミュレータ103、コアシミュレータ104、および車両シミュレータ105はメモリ102に格納でき、または、プロセッサ101に処理されるためにメモリ102に一時的に格納できる。代替的に、センサシミュレータ103、コアシミュレータ104、および車両シミュレータ105は、プロセッサ101およびメモリ102と通信する端末100内の別個の構成要素であってよい。
【0032】
追加的に、例としての実施形態によれば、ここにおいて開示されている方法と装置は、コンピュータプログラム製品のソフトウェアとして提供できる。コンピュータプログラム製品は、機械読み取り可能格納媒体(例えば、コンパクトディスクリードオンリメモリ(CD-ROM))の形で配布でき、または、アプリケーション店を通してオンラインで配布でき、または装置間で直接配布できる。オンライン配布の場合、コンピュータプログラム製品の少なくとも一部(例えば、ダウンロード可能アプリケーション)は、製造業者のサーバ、アプリケーション店におけるサーバ、または中継サーバにおけるメモリなどのような格納媒体に一時的に、または、少なくとも一時的に格納できる。
【0033】
図2は、例としての実施形態に係わる、シミュレートされたセンサの動作を例示している図である。
【0034】
図2を参照すると、例としての実施形態に係わるセンサシミュレータは、目標対象物の複数の属性を決定するために、自律運転シミュレーションにおける目標対象物を感知する。センサシミュレータは、出力光線204を対象物202に出力し、対象物からの反射光線203を受信するアクティブセンサ201をシミュレートできる。シミュレートされたアクティブセンサ201は、シミュレートされたライダー、レーダー、ソナーなどを含むことができる。つまり、シミュレートされたアクティブセンサ201は、対象物202に向けて光または波204を送ることができ、対象物からセンサに向けて反射されて戻る光または波203を検出できる。しかし、目標対象物に向けて出力されたすべての光線が反射されてセンサに戻るわけではない。そのため、目標202から反射されたが、シミュレートされたアクティブセンサ201に到達しない複数の光線205が存在する。
【0035】
目標対象物は、オートバイ、自転車、一輪車、三輪車などであってよい。しかし、目標対象物はそれらに制限されず、シミュレーションにおいてセンサにより検出可能な任意の対象物であってよい。
図2において示されているような開示の実施形態によれば、対象物202は、オートバイまたは自転車の車輪である。前述した対象物202の複数の属性は、目標対象物の車輪におけるワイヤの数を含むことができる。複数の属性の1つはまた、目標対象物の車輪の速度を含むことができる。更に、目標対象物の複数の属性の1つは、シミュレートされたセンサ201と目標対象物との間の角度であってよい。つまり、シミュレートされたセンサ201と目標対象物との間の角度は、対象物202がオートバイまたは自転車の車輪であるときに、シミュレートされたセンサ201から見たときの目標対象物の領域を定義する(例えば、センサ201は、車輪のタイヤの溝、車輪のスポーク、または両者の組み合わせの方を向いている)。
【0036】
図3は、例としての実施形態に係わる、自律運転シミュレーションにおいてセンサをシミュレートする方法を例示しているフローチャートである。
【0037】
例としての実施形態によれば、自律運転シミュレーションにおいてセンサをシミュレートする方法は、端末100のプロセッサ101(
図1において示されている)により命令を実行することを介して実行または制御できる。
【0038】
図3を参照すると、ステップS101において、例としての実施形態に係わる、センサをシミュレートするための自律運転シミュレーションを実行する方法が提供される。例えば、センサシミュレータ103、コアシミュレータ104、および車両シミュレータ105を統合することにより端末100上で実行される自律運転シミュレーションが提供される。つまり、少なくとも1つのプロセッサ101は、センサシミュレータ103、コアシミュレータ104、および車両シミュレータ105でシミュレーションデータを実行するための命令を実行するためにメモリ102にアクセスできる。ステップS101において、プロセッサは、自律運転シミュレーションにおいてセンサシミュレータ103により感知される目標対象物の複数の属性に対する値を取得するためにメモリにアクセスするように構成されている。センサシミュレータ103は、光線204を対象物に出力し、対象物から光線の反射203を受信するアクティブセンサをシミュレートする。対象物が自転車、オートバイなどの車輪である場合、複数の属性は、ワイヤスポークの数、車輪の回転速度、および/または、自律車両(つまり、アクティブセンサ)と車輪との間の角度を含むことができる。
【0039】
ステップS102において、複数の属性に対する取得した値は、取得された値に対応付けられる反射率を取得するために、所定の反射率テーブルに入力される。対象物(例えば、ワイヤスポークを含んでいるオートバイまたは自転車の車輪)に向けて出力された光線204は、ワイヤの数、車輪の速度、および自律車両(つまり、アクティブセンサ)と対象物202との間の角度に基づいてランダムに反射されるので、シミュレートされたセンサ201に向けて反射されて戻された光線の反射率は、所定の反射率テーブルを使用して決定できる。
【0040】
所定の反射率テーブルの値は、リアルタイムテストデータサンプルに基づいて提供でき、または予め決定できる。開示の例としての実施形態によれば、複数の異なる反射率テーブルは、対象物(例えば、ワイヤスポークを含んでいるオートバイまたは自転車の車輪)のリアルタイムテストの間に収集された反射情報に基づいて用意できる。複数の反射率テーブルのそれぞれは、異なる反射表面(例えば、材質および/またはテクスチャ)を表すことができる。言い換えれば、各テーブルは、異なる反射情報を有している対象物に関して実行された実際のテストからのサンプルデータに基づいて用意される。従って、例としての実施形態に係わるセンサシミュレータは、対象物に対して設定された反射材質に対応する反射率テーブルを使用する。そのため、ここにおいて記述されている、例としての方法はまた、目標対象物に対する反射情報を取得することを含むことができる。追加的に、プロセッサ101は更に、目標対象物の取得した反射情報に対応する所定の反射率テーブルを選択するように構成できる。
【0041】
ステップS103に関して、所定の反射率テーブルにおける取得された反射率情報を使用して、目標対象物に対応するセンサデータが生成される。具体的には、例としての実施形態によれば、反射率テーブルから出力された反射率は、目標対象物に対する点群、例えば、ライダー点群またはレーダー点群を計算するために使用される。例としての実施形態によれば、反射率と入射光線数が、光線点を計算するランダム点関数に入力される(例えば、3つの反射された、または入射する光線と、反射率10%)。更に、各光線点のベクトルと強度が、点群を生成するための種々の周知の技術の何れかを使用して計算または決定される。生成された点は、グラフィカルユーザインタフェースを介してユーザに表示でき、メモリ102に格納でき、リモートサーバにアップロードでき、または、ネットワークにより他の端末に送ることができる。
【0042】
例としての実施形態は、所定の動的反射率テーブルを使用するので、実施形態に係わるセンサシミュレータは、目標対象物の正確な形状を再現することにより目標対象物を定義する関連する技術のシミュレーションにより要求される演算の複雑さと過度の演算リソースなしで、目標対象物からのランダム反射を簡単に、迅速且つ容易に計算できる。これは、より短い時間で作動でき、各ワイヤ車輪スポークにおけるすべての多角形と、各ワイヤ車輪スポークにより反射されたすべての光線をシミュレートするために必要とされる演算の複雑さを削減するシミュレーションという結果になる。
【0043】
幾つかの実施形態は、統合の任意の可能な技術的詳細レベルにおいて、システム、方法、および/またはコンピュータ読み取り可能媒体に関連することができる。コンピュータ読み取り可能媒体は、プロセッサに動作を実行させるためのコンピュータ読み取り可能プログラム命令を有しているコンピュータ読み取り可能非一時的格納媒体を含むことができる。
【0044】
コンピュータ読み取り可能格納媒体は、命令実行装置による使用のための命令を保持および格納できる実体装置であることができる。コンピュータ読み取り可能格納媒体は、例えば、下記に制限されないが、電子格納装置、磁気格納装置、光格納装置、電磁格納装置、半導体格納装置、または、前述の任意の適切な組み合わせであることができる。コンピュータ読み取り可能格納媒体のより具体的な例の、すべてを網羅しているわけではないリストには下記の、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能型プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、フロッピー(登録商標)ディスク、パンチカードまたは、命令を記録した溝における隆起構造などのような機械的に符号化される装置、および、前述した任意の適切な組み合わせが含まれる。ここにおいて使用されているようなコンピュータ読み取り可能格納媒体は、電波または他の自由に伝播する電磁波、導波管または他の透過媒体を通して伝播する電磁波(例えば、光ファイバケーブルを通して通過する光パルス)、または、ワイヤを通して送信された電気信号などのような、それ自体が一時的信号と解釈されるべきではない。
【0045】
ここにおいて記述されているコンピュータ読み取り可能プログラム命令は、コンピュータ読み取り可能格納媒体からそれぞれの演算/処理装置に、または、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または無線ネットワークなどのようなネットワークを介して外部コンピュータまたは外部格納装置にダウンロードできる。ネットワークは、銅送信ケーブル、光送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各演算/処理装置におけるネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ読み取り可能プログラム命令を受信し、コンピュータ読み取り可能プログラム命令を、それぞれの演算/処理装置内のコンピュータ読み取り可能格納媒体における格納のために転送する。
【0046】
動作を実行するためのコンピュータ読み取り可能プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、Smalltalk、C++などのようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などのような、手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせにおいて記述されているソースコードまたはオブジェクトコードであってよい。コンピュータ読み取り可能プログラム命令は、ユーザのコンピュータ上で全体を実行でき、スタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上で一部を実行でき、ユーザのコンピュータ上で一部、そしてリモートコンピュータ上で一部を実行でき、または、リモートコンピュータまたはサーバ上で全体を実行できる。後者のシナリオにおいては、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続でき、または、外部コンピュータへの接続を行うことができる(例えば、インタ―ネットサービスプロバイダを使用してインターネットを通して)。幾つかの実施形態においては、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、動作の態様を実行するために、電子回路を個人化するコンピュータ読み取り可能プログラム命令の状態情報を利用することにより、コンピュータ読み取り可能プログラム命令を実行できる。
【0047】
これらのコンピュータ読み取り可能プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または、他のプログラマブルデータ処理装置のプロセッサに、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図のブロックにおいて指定されている機能/動作を実現するための手段を作成するようにマシンを生成するために提供できる。これらのコンピュータ読み取り可能プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、および/または他の装置に、命令を格納しているコンピュータ読み取り可能格納媒体が、フローチャートおよび/またはブロック図のブロックにおいて指定されている機能/動作の態様を実現する命令を含んでいる製造業者の製品を備えるように、特別な方法で機能するように命令できるコンピュータ読み取り可能格納媒体に格納できる。
【0048】
コンピュータ読み取り可能プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートおよび/またはブロック図のブロックにおいて指定されている機能/動作を実現するように、コンピュータにより実現されるプロセスを生成するために、一連の動作ステップが、コンピュータ、他のプログラマブル装置、または他の装置上で実行されるようにするために、コンピュータ、他のプログラマブルデータ処理装置、または他の装置上にロードできる。
【0049】
図におけるフローチャートとブロック図は、種々の実施形態に係わる、システム、方法、およびコンピュータ読み取り可能媒体の可能な実現形態のアーキテクチャ、機能、および動作を例示している。この点に関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実現するための1つ以上の実行可能な命令を備えているモジュール、セグメント、または命令の一部を表すことができる。方法、コンピュータシステム、およびコンピュータ読み取り可能媒体は、図において示されているブロック以外の追加的ブロック、それらよりもより少ないブロック、それらとは異なるブロック、または、それらとは異なるように配置されているブロックを含むことができる。幾つかの代替の実現形態においては、ブロックにおいて示されている機能は、図において示されている順序とは別の順序で起こることができる。例えば、連続して示されている2つのブロックは、実際は、同時に、または実質的に同時に実行でき、または、関連する機能によっては、ブロックは逆の順序で実行できることもある。ブロック図および/またはフローチャートの例示における各ブロック、および、ブロック図および/またはフローチャートの例示におけるブロックの組み合わせは、指定された機能または動作を実行する、または、特殊目的ハードウェアとコンピュータ命令の組み合わせを実行する、特殊目的ハードウェアに基づくシステムにより実現できるということが分かるであろう。
【0050】
ここにおいて記述されているシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形状で実現できるということは明白であろう。これらのシステムおよび/または方法を実現するために使用されている実際の特殊化された制御ハードウェアまたはソフトウェアコードは、実現形態を制限するものではない。そのため、システムおよび/または方法の動作と挙動は、ここにおいては、特定のソフトウェアコードに言及せずに記述したが、ソフトウェアとハードウェアは、ここにおける記述に基づいて、システムおよび/または方法を実現するために設計できるということは理解される。
【0051】
ここにおいて使用されている要素、行動、または命令は何れも、明示的に重要または必要不可欠なものとして記述されない限り、そのように解釈されるべきではない。また、ここにおいて使用されているような冠詞「ある」は、1つ以上の項目を含むことが意図されており、「1つ以上」と交換可能に使用できる。更に、ここにおいて使用されているような用語「セット」は、1つ以上の項目(例えば、関連する項目、関連しない項目、関連する項目と関連しない項目の組み合わせなど)を含むことが意図されており、「1つ以上」と交換可能に使用できる。1つの項目のみが意図されているときは、「1つの」という用語または類似の言語が使用される。また、ここにおいて使用されているような用語「有する」、「有している」などは、何の制約もない用語であることが意図されている。更に、「基づいて」というフレーズは、そうでないと明示的に記述されない限り、「少なくとも部分的には基づいて」を意味することが意図されている。
【0052】
種々の態様と実施形態の記述が例示の目的のために提示されてきたが、それらは、すべてを網羅していることは意図されておらず、また、開示された実施形態に制限されることも意図されていない。特徴の組み合わせが、特許請求の範囲において列挙され、および/または明細書において開示されているが、これらの組み合わせは、可能な実現形態の開示を制限することは意図されていない。実際には、これらの特徴の多くは、特許請求の範囲に具体的に列挙されていない、および/または明細書において具体的に開示されていない方法で組み合わせることができる。下記に一覧で示されているそれぞれの従属請求項は、1つの請求項のみに直接依存することができるが、可能な実現形態の開示は、請求項のセットにおけるすべての他の請求項との組み合わせにおける各従属請求項を含んでいる。多くの修正と変形が、記述された実施形態の範囲から逸脱することなく、この技術における通常の技量を有するものには明白であろう。ここにおいて使用されている用語は、実施形態の原理、実際の適用、または、市場における技術を超える技術的改良を最も良好に説明するために、または、この技術における通常の技量を有する他の者が、ここにおいて開示された実施形態を理解することを可能にするために選択された。