IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラックベリー リミテッドの特許一覧

特開2024-137845車両のための動的かつ自動開発構成のための方法およびシステム
<>
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図1
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図2
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図3
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図4
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図5
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図6
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図7
  • 特開-車両のための動的かつ自動開発構成のための方法およびシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137845
(43)【公開日】2024-10-07
(54)【発明の名称】車両のための動的かつ自動開発構成のための方法およびシステム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240927BHJP
   G01M 17/007 20060101ALI20240927BHJP
【FI】
G06F11/36 196
G06F11/36 188
G01M17/007 J
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024043150
(22)【出願日】2024-03-19
(31)【優先権主張番号】63/453,900
(32)【優先日】2023-03-22
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.SNAPDRAGON
(71)【出願人】
【識別番号】500043574
【氏名又は名称】ブラックベリー リミテッド
【氏名又は名称原語表記】BlackBerry Limited
【住所又は居所原語表記】2200 University Avenue East, Waterloo ON N2K 0A7, Canada
(74)【代理人】
【識別番号】100107489
【弁理士】
【氏名又は名称】大塩 竹志
(72)【発明者】
【氏名】アニッシュ アグラワル
(72)【発明者】
【氏名】ジョーダン トーマス ファーガソン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB08
5B042HH49
(57)【要約】      (修正有)
【課題】車両のための動的かつ自動開発構成のための方法およびシステムを提供する。
【解決手段】コンピューティングデバイスにおける方法であって、方法は、所望のテスト環境の指示を受信することと、構成カタログにアクセスして、所望のテスト環境に関する構成情報を取得することと、構成情報に基づいてテストノードを構成することと、所望のテスト環境に関するテスト信号を取得することと、テスト信号を使用して、構成されたテストノード上でテストを実施することと、を含む。
【選択図】図7
【特許請求の範囲】
【請求項1】
コンピューティングデバイスにおける方法であって、前記方法は、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境に関する構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を含む、方法。
【請求項2】
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記所望のテスト環境は、車両構成である、請求項2に記載の方法。
【請求項4】
前記テストノードを構成することは、前記所望のテスト環境に関するオペレーティングシステムと合致するように前記テストノード上のオペレーティングシステムを選択することを含む、請求項1に記載の方法。
【請求項5】
前記テストノードを構成することは、前記所望のテスト環境に関するハードウェアと合致するように前記テストノード上のハードウェアを選択することを含む、請求項1に記載の方法。
【請求項6】
前記指示を受信することは、開発ノードにおける車両のメーカーおよびモデルの選択に基づく、請求項1に記載の方法。
【請求項7】
前記テスト信号は、タスクを実施する車両に関する実世界の信号である、請求項1に記載の方法。
【請求項8】
テストを実施することは、
前記テストノードにおいて統合センサをインストールすることであって、前記統合センサは、前記テストノードの動作に対するインサイトを提供する、ことと、
前記テスト信号を印加することと、
ログおよびメトリクスを開発者ノードに提供することと
を含む、請求項1に記載の方法。
【請求項9】
前記テストノードは、ハードウェアと対話するエミュレータであり、前記構成することは、前記ハードウェアと対話するための信号構成を設定することを含む、請求項1に記載の方法。
【請求項10】
コンピューティングデバイスであって、前記コンピューティングデバイスは、
プロセッサと、
通信サブシステムと
を備え、前記コンピューティングデバイスは、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境の構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を行うように構成されている、コンピューティングデバイス。
【請求項11】
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、請求項10に記載のコンピューティングデバイス。
【請求項12】
前記所望のテスト環境は、車両構成である、請求項11に記載のコンピューティングデバイス。
【請求項13】
前記コンピューティングデバイスは、前記所望のテスト環境に関するオペレーティングシステムと合致するように前記テストノード上のオペレーティングシステムを選択することによって前記テストノードを構成するように構成されている、請求項10に記載のコンピューティングデバイス。
【請求項14】
前記コンピューティングデバイスは、前記所望のテスト環境に関するハードウェアと合致するように前記テストノード上のハードウェアを選択することによって前記テストノードを構成するように構成されている、請求項10に記載のコンピューティングデバイス。
【請求項15】
前記コンピューティングデバイスは、開発ノードにおける車両のメーカーおよびモデルの選択に基づいて前記指示を受信するように構成されている、請求項10に記載のコンピューティングデバイス。
【請求項16】
前記テスト信号は、タスクを実施する車両に関する実世界の信号である、請求項10に記載のコンピューティングデバイス。
【請求項17】
前記コンピューティングデバイスは、
テストノードにおいて統合センサをインストールすることであって、前記統合センサは、前記テストノードの動作に対するインサイトを提供する、ことと、
前記テスト信号を印加することと、
ログおよびメトリクスを開発者ノードに提供することと
を行うことによってテストを実施するように構成されている、請求項10に記載のコンピューティングデバイス。
【請求項18】
前記テストノードは、ハードウェアと対話するエミュレータであり、前記コンピューティングデバイスは、前記ハードウェアと対話するための信号構成を設定することによって構成するように構成されている、請求項10に記載のコンピューティングデバイス。
【請求項19】
命令コードを格納するためのコンピュータ読取可能な媒体であって、前記命令コードは、コンピューティングデバイスのプロセッサによって実行されると、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境に関する構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を前記コンピューティングデバイスに行わせる、コンピュータ読取可能な媒体。
【請求項20】
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、請求項19に記載のコンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(開示の分野)
本開示は、分散型システムに関し、具体的には、分散型システムのための開発環境に関する。
【背景技術】
【0002】
(背景)
現代の車両は、異なるプロセッサ、コントロールユニット、センサ、および他のコンピューティングノードを有する。このようなセンサは、車両上の様々なコンピューティングノード内に分散され得、各コンピューティングノードは、0、1またはそれより多くのセンサドライバへのアクセスを有し得る。このようなセンサノードは、さらに、異なる製造業者を有し得、異なるオペレーティングシステムを使用して動作し得る。異なる車両製造業者は、異なるハードウェアおよびソフトウェア構成を使用し得る。
【0003】
センサ、またはセンサのグループは、1つ以上の用途に対して有用であり得る情報を生成するために使用され得る。このような情報は、本明細書では、インサイトと呼ばれる。
【0004】
このようなインサイトを活用するために、ソフトウェアが、開発され得る。しかしながら、プロトタイピングおよび安全性の理由のために、開発およびテスティングは、実物の車両以外で行われる必要があり得る。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示は、コンピューティングデバイスにおける方法を提供し、方法は、所望のテスト環境の指示を受信することと、構成カタログにアクセスして、所望のテスト環境の構成情報を取得することと、構成情報に基づいてテストノードを構成することと、所望のテスト環境に関するテスト信号を取得することと、テスト信号を使用して、構成されたテストノード上でテストを実施することとを含む。
【0006】
本開示は、コンピューティングデバイスをさらに提供し、コンピューティングデバイスは、プロセッサと、通信サブシステムとを備え、コンピューティングデバイスは、所望のテスト環境の指示を受信することと、構成カタログにアクセスして、所望のテスト環境に関する構成情報を取得することと、構成情報に基づいてテストノードを構成することと、所望のテスト環境に関するテスト信号を取得することと、テスト信号を使用して、構成されたテストノード上でテストを実施することとを行うように構成されている。
【0007】
本開示は、命令コードを格納するためのコンピュータ読取可能な媒体をさらに提供し、命令コードは、コンピューティングデバイスのプロセッサによって実行されると、所望のテスト環境の指示を受信することと、構成カタログにアクセスして、所望のテスト環境に関する構成情報を取得することと、構成情報に基づいてテストノードを構成することと、所望のテスト環境に関するテスト信号を取得することと、テスト信号を使用して、構成されたテストノード上でテストを実施することとをコンピューティングデバイスに行わせる。いくつかの実施形態では、コンピュータ読取可能な媒体は、非一時的であり得る。
本発明は、例えば、以下の項目を提供する。
(項目1)
コンピューティングデバイスにおける方法であって、前記方法は、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境に関する構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を含む、方法。
(項目2)
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、上記項目に記載の方法。
(項目3)
前記所望のテスト環境は、車両構成である、上記項目のいずれかに記載の方法。
(項目4)
前記テストノードを構成することは、前記所望のテスト環境に関するオペレーティングシステムと合致するように前記テストノード上のオペレーティングシステムを選択することを含む、上記項目のいずれかに記載の方法。
(項目5)
前記テストノードを構成することは、前記所望のテスト環境に関するハードウェアと合致するように前記テストノード上のハードウェアを選択することを含む、上記項目のいずれかに記載の方法。
(項目6)
前記指示を受信することは、開発ノードにおける車両のメーカーおよびモデルの選択に基づく、上記項目のいずれかに記載の方法。
(項目7)
前記テスト信号は、タスクを実施する車両に関する実世界の信号である、上記項目のいずれかに記載の方法。
(項目8)
テストを実施することは、
前記テストノードにおいて統合センサをインストールすることであって、前記統合センサは、前記テストノードの動作に対するインサイトを提供する、ことと、
前記テスト信号を印加することと、
ログおよびメトリクスを開発者ノードに提供することと
を含む、上記項目のいずれかに記載の方法。
(項目9)
前記テストノードは、ハードウェアと対話するエミュレータであり、前記構成することは、前記ハードウェアと対話するための信号構成を設定することを含む、上記項目のいずれかに記載の方法。
(項目10)
コンピューティングデバイスであって、前記コンピューティングデバイスは、
プロセッサと、
通信サブシステムと
を備え、前記コンピューティングデバイスは、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境の構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を行うように構成されている、コンピューティングデバイス。
(項目11)
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、上記項目のいずれかに記載のコンピューティングデバイス。
(項目12)
前記所望のテスト環境は、車両構成である、上記項目のいずれかに記載のコンピューティングデバイス。
(項目13)
前記コンピューティングデバイスは、前記所望のテスト環境に関するオペレーティングシステムと合致するように前記テストノード上のオペレーティングシステムを選択することによって前記テストノードを構成するように構成されている、上記項目のいずれかに記載のコンピューティングデバイス。
(項目14)
前記コンピューティングデバイスは、前記所望のテスト環境に関するハードウェアと合致するように前記テストノード上のハードウェアを選択することによって前記テストノードを構成するように構成されている、上記項目のいずれかに記載のコンピューティングデバイス。
(項目15)
前記コンピューティングデバイスは、開発ノードにおける車両のメーカーおよびモデルの選択に基づいて前記指示を受信するように構成されている、上記項目のいずれかに記載のコンピューティングデバイス。
(項目16)
前記テスト信号は、タスクを実施する車両に関する実世界の信号である、上記項目のいずれかに記載のコンピューティングデバイス。
(項目17)
前記コンピューティングデバイスは、
テストノードにおいて統合センサをインストールすることであって、前記統合センサは、前記テストノードの動作に対するインサイトを提供する、ことと、
前記テスト信号を印加することと、
ログおよびメトリクスを開発者ノードに提供することと
を行うことによってテストを実施するように構成されている、上記項目のいずれかに記載のコンピューティングデバイス。
(項目18)
前記テストノードは、ハードウェアと対話するエミュレータであり、前記コンピューティングデバイスは、前記ハードウェアと対話するための信号構成を設定することによって構成するように構成されている、上記項目のいずれかに記載のコンピューティングデバイス。
(項目19)
命令コードを格納するためのコンピュータ読取可能な媒体であって、前記命令コードは、コンピューティングデバイスのプロセッサによって実行されると、
所望のテスト環境の指示を受信することと、
構成カタログにアクセスして、前記所望のテスト環境に関する構成情報を取得することと、
前記構成情報に基づいてテストノードを構成することと、
前記所望のテスト環境に関するテスト信号を取得することと、
前記テスト信号を使用して、前記構成されたテストノード上でテストを実施することと
を前記コンピューティングデバイスに行わせる、コンピュータ読取可能な媒体。
(項目20)
前記構成情報は、ハードウェア構成、ソフトウェア構成、および信号構成のうちの少なくとも1つを含む、上記項目のいずれかに記載のコンピュータ読取可能な媒体。
(摘要)
コンピューティングデバイスにおける方法であって、方法は、所望のテスト環境の指示を受信することと、構成カタログにアクセスして、所望のテスト環境に関する構成情報を取得することと、構成情報に基づいてテストノードを構成することと、所望のテスト環境に関するテスト信号を取得することと、テスト信号を使用して、構成されたテストノード上でテストを実施することとを含む。
【図面の簡単な説明】
【0008】
本開示は、図面の参照を伴って、よりよく理解されるであろう。
【0009】
図1図1は、コンピュータシステム内の例示的なコンピューティングノードを示すブロック図である。
【0010】
図2図2は、本開示の実施形態で使用されるためのシステムを示すブロック図である。
【0011】
図3図3は、統合センサを使用してインサイトを提供するための例示的なシステムを示すブロック図である。
【0012】
図4図4は、具体的な車両に関して構成されることが可能な開発者およびエミュレーションノードを示すブロック図である。
【0013】
図5図5は、例示的な車両構成を示すブロック図である。
【0014】
図6図6は、開発者ノードおよび車両からのハードウェアのブロック図である。
【0015】
図7図7は、ノードを構成し、統合センサをテストするためのプロセスを示すプロセス図である。
【0016】
図8図8は、本開示の実施形態とともに使用されることが可能な簡略化されたコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0017】
(図面の詳細な説明)
現代の車両において、1つ以上の物理センサからの情報は、システムにおいて価値のあり得る「インサイト」を生み出すように処理され得る。このような1つ以上の物理センサ、およびそれに関連した処理は、論理的に、マイクロサービスまたは統合センサ(SS)と呼ばれ得る。マイクロサービスまたは統合センサという用語は、本明細書では、互換的に使用される。
【0018】
統合センサは、他のタイプの用途に存在し得、他の用途は、限定されないが、とりわけ、医療の用途、製造の用途、Internet of Thingsの用途を含み、本開示は、車両の用途に限定されない。以下の例示に関しては、車両の用途が、提供される。
【0019】
インサイトは、本明細書では、基本となるセンサデータの、任意のコンピュータによって生み出された解釈を記述するために使用される用語である。インサイトは、データ集約または相関のように単純であり得、または、人工知能および機械学習のように複雑であり得る。例えば、通知のためのハイおよびローウォーターマークを提供する温度センサは、「インサイト」と見做され得る。位置情報サービスについては、ジオフェンシングが、インサイトである。カメラについては、占有者の認識が、インサイトであり得る。温度センサおよびカメラなどのセンサの組み合わせの使用は、カーシートが高温の車両内で占有されているかどうかを決定するために、人工知能モデルとともに使用され得、これは、インサイトであり得る。多くの他のインサイトの例が、可能性として考えられる。
【0020】
一実施形態では、車両アプリケーションは、開発者コミュニティに馴染みがありアクセス可能である手法において、車両データおよびインテリジェントインサイトへの一貫的なアクセスを提供するシステムにおいて実装され得る。このような環境は、クラウド開発者が、一般的なクラウド開発テクノロジーおよびパラダイムを使用した、車両データに対するインテリジェントインサイトを引き出す統合センサの開発を通じて車両内のエッジまで到達範囲を拡張することを可能にし得る。このような環境は、車両データへの一貫的なアクセスを提供し得、これにより、統合センサが、特注のカスタマイズを伴わずに幅広い車両ベースに対して記述および展開され得る。
【0021】
特に、各車両に対するハードウェアおよびソフトウェアは他の車両のそれと異なり得るが、抽象化を使用することは、同様のデータが統合センサに提供されることを可能にする。一部の車両は、他の車両には存在しないことがある特定のセンサ、ハードウェア、電子制御ユニット(ECU)、またはオペレーティングシステム(OS)を伴って構成され得る。
【0022】
これに関して、統合センサは、OS、ハードウェア、ECU、および車両構成に依存しないことを意図されているが、それらは、各ハードウェアコンポーネントに対して同じように走らないことがある。したがって、ソフトウェアを展開する前に複数のプラットフォーム上でそのようなソフトウェアをテストすることは、有益である。具体的には、特定の信号のセット(例えば、テスト信号)を使用して様々な車両構成に対してテストでき、それらの信号の現実的なデータセットでテストできることは、開発者にとって有用である。このような能力がない場合、開発者は、統合センサが所望の車両構成を伴って動き得るかどうかを確認できないことがある。
【0023】
したがって、本開示の実施形態によれば、開発者は、シームレスな手法において、場合によっては実際の車両ハードウェアおよびライブデータにアクセスすることなく、所望の車両構成およびテストデータに関するテストにおいて支援される。
【0024】
特に、本開示の実施形態によれば、ローカル開発環境をセットアップする必要なく統合センサを開発および検証できるように、事前構成された仮想環境が、開発者に提供される。特に、いくつかの実施形態では、そのような仮想環境は、クラウドまたはネットワークサーバー上に存在し得る。車両の構成およびテストデータに対する更新があった場合、クラウドまたはサーバー上の仮想環境は、開発者がタイムリーに最新情報にアクセスすることを可能にする。
【0025】
さらに、いくつかの実施形態では、様々な車両に関する構成のセットと、それらの車両構成の各々に関するテストデータおよび/または信号のセットとが、提供され得る。
【0026】
上記の項目が仮想環境に事前入力されると、開発者は、開発者がどの車両でテストしたいかを指定し得る。
【0027】
開発者の統合センサを展開する準備が整うと、シームレスな手法において、選択された車両構成を模倣し、テストデータを取り込むために、シミュレーション環境が、構成され得る。このようにして、統合センサは、開発者が実際の車両またはライブデータにアクセスすることなく、必要な構成およびテストデータ/信号を使用して検証され得る。
【0028】
さらに、本開示の実施形態は、サードパーティの開発者が統合センサを車両製造業者に提出する能力を可能にし、その後、車両製造業者は、車両製造業者の車両の構成を使用して提出物を自動的に検証し得る。このようにして、自動車製造業者は、統合センサが自社の自動車に対して動くという確信をもって提出物を承認し得る。
【0029】
(例示的車両システム)
【0030】
本開示は、ノードを伴う自動車システムに関して説明される。しかしながら、これは、単に説明の目的のために提供されるにすぎず、本明細書中で説明される方法およびシステムは、任意の他のシステムで同様に使用され得る。
【0031】
例えば、ここで、図1に対して参照がなされ、図1は、ノード110を示している。本明細書で使用される場合、ノードは、オプションの中でもとりわけ、電子制御ユニット、中央処理装置、またはカーネル制御のうちの1つまたはそれらのグループであり得、単一のコンピューティングユニットと見做され得る。
【0032】
図1の例では、ノード110は、サービスマネージャ120を含み、サービスマネージャ120は、ノードが接続されているセンサのためのドライバと対話し得る。例えば、ノード110は、ブロック122に示されている、全地球測位システム(GPS)チップセットなどの位置センサにアクセスし得る。
【0033】
ノード110が他のノード上のモジュールと対話することと、コンピューティングシステムに機能性を提供することとを可能にするために、ハードウェア抽象化レイヤー(HAL)が、ノード110上に提供され得、これは、HALサービス130を備える。各HALサービス130は、センサの統合を担い、基礎となるセンサへの統合、センサデータの正規化、および/または、必要に応じて、安全性認証済ソフトウェアと非認証ソフトウェアとの間にバリアを設けることを含む、様々な機能を提供し得る。HALサービスの他の機能も、可能性として考えられる。
【0034】
図1の例では、ブロック132で示されているように、HALが、カメラ情報のために提供される。
【0035】
図1の例は、単一のサービスおよび単一のHALを伴うノード110を示しているが、これは、単に説明の目的のために提供されているにすぎない。ノード110は、HALを伴わない単一のサービス、サービスを伴わない単一のHAL、HALを伴わない複数のサービス、サービスを伴わない複数のHAL、ならびに/または、サービスおよびHALの組み合わせを有し得る。
【0036】
ノード110を使用し得るシステムの一例は、車両のためのアプリケーション開発環境である。このようなアプリケーション開発環境は、快適性、ナビゲーション、インフォテインメントなどのユーザエクスペリエンスのためのアプリケーションを開発し得、とりわけ、安全性のためのアプリケーション、フリート管理のためのアプリケーション、パフォーマンス監視のためのアプリケーション、または車両環境のための他のこのようなアプリケーションを開発し得る。具体的には、車両は、複数のセンサを提供し、異なるメーカー、モデル、またはブランドが、異なるデータ形式または数値を伴う異なるセンサを使用し得、このようなセンサに依存して、断片化されたセンサの読取値を作成する。この断片化は、車両データを利用したアプリケーションエコシステムの育成を妨げる。加えて、低レベルのセンサデータは、大抵、アプリケーションに直ちに有用であるためには粒度が高すぎる。
【0037】
これに関して、基礎となるセンサドライバとの対話をカプセル化し得る、ハードウェアに依存しないセンサインターフェース/抽象化を提供するために、ハードウェア抽象化レイヤーが、使用され得る。様々なコンピューティングノードにおけるハードウェア抽象化の使用は、拡張可能なプラットフォームを作成し、例えば、オプションの中でもとりわけ、安全性が認証されたシステムを他のシステムから分離されていることを強制するために、モジュール間にバリアを設け得る。
【0038】
アプリケーションは、センサデータにアクセスするためにセンサハードウェアと直接対話するのではなく、代わりに、ハードウェア抽象化レイヤーを利用する。この分離は、HAL(センサの統合およびセンサデータの正規化)の役割と、車両データへのアクセスを管理し、付加価値のあるインサイトを提供するために使用される車両抽象化レイヤー(VAL)などの他の抽象化の役割との間の明確な区別を提供する。
【0039】
特に、インサイトは、車両の抽象化および付加価値のあるインサイトを提供するために、複数のHALからのセンサデータを活用し得る。VALにおける車両インサイトサービスは、正規化された形式の車両データへのアクセスを制御し得、付加価値のある推論を提供し得る。インサイトサービスの例は、とりわけ、ジオフェンシングなどのインサイトに加えて一貫した形式において座標位置データを提供し得る位置情報サービス、ベルトの状態、重量、位置、およびチャイルドロック状態などの無数のシート情報を提供し得るシートサービス、車室内カメラのためのビデオストリームと場合によっては変換および/またはクリッピングなどの機能とを提供し得るカメラサービス、充電状態/消費量/予想残り時間/予想航続距離などのバッテリーに対するインサイトおよびアクセスを提供し得るバッテリーサービス、車両のドアに関する抽象化およびドアの状態を提供し得るドアサービスを含み得る。
【0040】
インサイトサービスは、車両の抽象化および付加価値のあるインサイトを提供するために、複数のHALからのセンサデータを活用し得る。データに対するより高いレベルのインサイトは、アプリケーション開発者が将来の自動車エクスペリエンスを創造することを可能にする。インサイトは、基本的なセンサデータの任意の付加価値のある解釈を説明するために使用される用語である。インサイトは、データ集約もしくは相関のように単純であり得、または、人工知能および機械学習のように複雑であり得る。例えば、温度センサに関して、通知に関するハイおよびローウォーターマークを提供することは、「インサイト」と見做され得る。位置情報サービスに関して、ジオフェンシングが、インサイトであり、カメラに関して、乗員の認識が、インサイトと見做され得る。
【0041】
したがって、図1に説明されているようなサービスおよびHALマネージャを伴うノードが、このようなアプリケーション開発環境に関して必要とされる。多くのシステムにおいて、ノード110は、他のECU、CPU、またはコンピューティングシステムなどの他のノードと通信することを必要とし、そのようなECU、CPU、またはコンピューティングシステムは、ノード110のオペレーティングシステムと異なるオペレーティングシステムを使用し得る。
【0042】
ここで、図2に対して参照がなされ、図2は、様々なインサイトのジェネレータおよびコンシューマを示す例示的な展開されたシステムを示す。図2の実施形態は、単に説明の目的のために提供されているにすぎず、場合によっては、システム内により少ないパーティシパントが、存在する。他の場合には、システム内により多くのパーティシパントが、存在する。
【0043】
図2の実施形態では、車両200は、コンピューティングシステムおよび通信システムを具備し得る。コンピューティングシステムの一部は、ドメイン210を含み得、以下に説明されるように、インサイトを消費するアプリケーションを有し得る。さらに、車両210上のコンピューティングシステムの一部は、エッジドメイン212を含み得る。いくつかの実施形態では、エッジドメイン212は、インサイトを生成し得る。しかしながら、他の場合には、インサイトはドメイン210内で生成され得、または、エッジドメイン212内で消費され得る。
【0044】
図2の例では、車両200は、通信システムを利用して、図2においてeNB220として示されているセルラー基地局などのアクセスポイントと通信する。基地局はコアネットワーク230と通信し得、その後、コアネットワーク230は、ネットワーク232を通してクラウドサービスプロバイダ240に通信を転送し得る。ネットワーク232は、例えば、インターネットなどの広域ネットワークであり得る。
【0045】
他の実施形態では、コアネットワーク230ではなく、具体的なセルラーまたはワイヤレス通信プロトコルに関連付けられた任意の技術が、使用され得る。
【0046】
いくつかの実施形態では、クラウドサービス240は、サービスの中でもとりわけ、開発者ソフトウェア開発キット(SDK)、エッジノードインターフェースを提供し得る。
【0047】
いくつかの実施形態では、クラウドドメイン250は、インサイトを生成または消費し得る。クラウドドメイン250は、ネットワーク232を通してクラウドサービスプロバイダ240と通信し得、場合によっては、車両200上のドメイン212などの他のドメインと通信し得る。
【0048】
さらに、車両ではなく、デバイス260が、インサイトを消費し得る。デバイス260は、そのようなインサイトを生成または消費することができる任意のコンピューティングデバイスであり得、オプションの中でもとりわけ、モノのインターネットデバイス、モバイルデバイス、医療機器、車両または車両に関連付けられた機器を含み得る。デバイス260は、限定されないが、オプションの中でもとりわけ、イーサネット(登録商標)、ファイバ、セルラー、Wi-Fi、衛星などの様々な有線またはワイヤレス技術を利用して、ネットワーク232を通して通信し得る。
【0049】
デバイス260は、ドメイン262を含み得、ドメイン262は、いくつかの実施形態では、インサイトを消費し得る。さらに、デバイス260は、エッジドメイン264を含み得、エッジドメイン264は、場合によっては、インサイトを生成し得る。しかしながら、他の場合には、ドメイン262が、インサイトを生成し得、エッジドメイン264が、インサイトを消費し得る。
【0050】
さらに、図2の実施形態は、車両200またはデバイス260内の2つのドメインのみを示しているが、実際には、1つまたは複数のドメインのみが、車両200またはデバイス260内に存在し得、本開示は、いずれかの具体的なデバイス内の2つのドメインを有することのみに限定されない。具体的には、デバイス260は、インサイトを生成するためにのみ使用され得、その場合、それは、単一のドメインのみを有する。他の場合には、デバイス260は、インサイトを消費するのみであり得、やはり、ただ1つのドメインを有し得る。他の場合には、デバイス260または車両200は、エッジドメイン212とともに複数のドメインを有し得る。
【0051】
いくつかの実施形態では、デバイス260は、システムに関するインサイトの作成のための開発者デバイスであり得る。
【0052】
各ドメインまたはエッジドメインは、OSに依存しないアーキテクチャを有し得る。特に、図2に示されているドメインは、様々なドメイン上に実装され得、異なるドメインは、異なるオペレーティングシステムを有し得る。例えば、車両システムでは、異なる車両製造業者は、異なるオペレーティングシステムを使用し得る。したがって、エッジドメインに関するシステムアーキテクチャは、システムが異なるプラットフォーム上に実装されることを可能にするために、抽象化レイヤーを使用し得る。ここで、図3に対して参照がなされる。
【0053】
図3の実施形態では、アプリケーション310は、アプリケーションレイヤーの一部であり得る。アプリケーションは、場合によっては、ユーザフェイシングであり得、統合センサ320を利用してインサイトを取得し得る。
【0054】
統合センサ320は、統合センサフレームワークの一部である。具体的には、開発者は、統合センサフレームワークを使用して統合センサを構築し得る。フレームワークは、アクションの中でもとりわけ、ライフサイクルイベント、要求/応答アプリケーションプログラムインターフェース(API)に関するサービスに関するアクションを定義するメカニズムを公開する。
【0055】
図3のフレームワークは、ポリシーに基づく要求およびイベントの認証および認可のためのメカニズムをさらに定義し得る。統合センサがインストール/アンインストール/更新されるとき、インストールおよび更新サービスは、許可サービスと対話して認証および認可ポリシーを更新し得る。
【0056】
統合センサ320は、例えば、車両抽象化レイヤー(VAL)350とのインターフェースを通して通信し得る。車両抽象化レイヤー350は、車両データにアクセスするための、インサイトに富んだ付加価値のあるインターフェースを提供する。それは、ハードウェア抽象化レイヤー360を介してセンサドライバおよびハードウェアにアクセスする。
【0057】
車両抽象化レイヤー350は、車両データに基づくアクセスインサイトをさらに提供する。インサイトは、車両データに基づく推論であり、集計のように単純であり得、または、機械学習モデルのように複雑であり得る。例えば、位置インサイトサービスは、座標位置データに加えて、ジオフェンシングなどのより高いレベルのインサイトを提供し得る。
【0058】
したがって、インサイトは、図3の実施形態におけるインサイトサービス352の一部として提供され得る。そのようなインサイトサービス352は、正規化された形式の車両データへのアクセスを制御し、付加価値のある推論を提供する。
【0059】
インサイトサービスは、一般に、センサデータにアクセスするためにセンサハードウェアと直接対話することはなく、代わりに、ハードウェア抽象化レイヤー360を活用する。この分離は、ハードウェア抽象化レイヤー360(センサの統合およびセンサデータの正規化)の責任と車両抽象化レイヤー350(車両データへのアクセスの管理および付加価値のあるインサイトの提供)の責任との間に明確な区別を提供する。
【0060】
インサイトサービス352は、車両の抽象化および付加価値のインサイトを提供するために、複数のハードウェア抽象化レイヤーからのセンサデータを活用し得る。統合センサ320は、インサイトサービス352によって提供されるインサイト/推論に基づくさらなるインサイトを生成し得る。場合によっては、統合センサは、別の統合センサによって提供されるインサイトに基づくさらなるインサイトを生成し得る。
【0061】
ハードウェア抽象化レイヤー(HAL)360は、センサの統合、センサデータの正規化に焦点を当てており、安全性認証済ソフトウェアと非認証ソフトウェアとの間のバリアである。これは、HALサービスを通して行われ得、各HALサービス362は、3つの重要な機能、すなわち、基礎となるセンサへの統合、センサデータの正規化、および、必要に応じて、安全性認証済ソフトウェアと非認証ソフトウェアとの間にバリアを設けることを提供し得る。
【0062】
さらに、インサイトサービス352に戻ると、インサイトサービスの重要な機能の1つは、正規化されたセンサデータおよびインサイトへのアクセス制御を実施することである。サービスクライアントの認証および認可を検証するために、車両抽象化レイヤーサービスは、プラットフォーム抽象化レイヤー370からのポリシーサービス374および許可サービス372を活用する。
【0063】
上述のハードウェア抽象化レイヤーはハードウェア統合を説明するが、プラットフォーム抽象化レイヤー(PAL)370は、基礎となるオペレーティングシステム380およびプラットフォームの重要な側面をカプセル化し、基礎となるオペレーティングシステム380およびプラットフォームは、重要なプラットフォームの機能性に対する一貫したインターフェースを定義することと、基礎となるOSの詳細をOSバインディングコンポーネントにカプセル化することと、基本的なOS機能を超えた高レベル/粗粒度の抽象化をサポートすることとによって、異なるプラットフォームにシステムが移植されることを可能にする。
【0064】
PALインターフェースは、HALおよびVALに対して内部的に、かつ、クライアントに対して外部的に公開され、これにより、これらのコンポーネントの能力および可搬性は、クライアントにまで拡張される。
【0065】
PAL370は、様々なサービスを有し得る。許可サービス372およびポリシーサービス374が、図3の実施形態において示されている。場合によっては、ライフサイクルサービス、プロセスサービス、ならびにインストールおよび更新サービスなどの他のサービスが、さらに提供され得る。
【0066】
具体的には、ポリシーサービス374は、ポリシー値を永続化することと、ポリシークエリを実施することと、ポリシーの変更を通知することと、ポリシーの優先順位を解決することと、ポリシーの変更を制御することとを行う役割を担う。ここで、ポリシーは、様々なコンポーネントの動作の構成を扱い、各ポリシーは、一意の名前、文字列でエンコードされた設定値、および優先順位を有し得る。
【0067】
許可サービス372は、ドメイン許可に関する中心権限である。許可によって保護されているサービス機能は、適切な許可が付与されているかどうかを決定するために、許可サービスを活用する。一実施形態では、許可システム認証は、ポータブルオペレーティングシステムインターフェース(POSIX)プロセスのユーザおよびグループ割り当て(UID/GID)によって支えられる。許可サービスは、基礎となるオペレーティングシステムのプロセスに割り当てられたUIDに基づいてコンポーネントを識別/認証する。このUIDは、基盤となるオペレーティングシステムによって保持され、正当であると見做される(証明された/信頼されたスキームを使用して、基盤となるOSによってアクセスおよび管理される)。
【0068】
図1~3のシステムに関する統合センサの開発については、様々な車両構成およびそのような車両構成に関する一連のテストデータを使用してそのようなセンサをテストすることが、有益である。
【0069】
(テストツール)
【0070】
本開示の実施形態によれば、データをシミュレートすることが可能なマッピングツールが、提供される。具体的には、統合センサおよびインサイトを開発するために使用されるツールはハードウェアに依存しないことを意図されているが、実際には、異なる車両は、異なるセンサ、利用可能な信号の異なるセットを有し、一部の車両は、ハードウェアアクセラレーションを備え得る一方、他の車両は、プロセッサに依存し、これは、差異の中でもとりわけ、ものごとがどのように動作するかに影響を与え得る。これに関して、ツールは、開発者が差異を気にすることなく統合センサおよびインサイトを構築できるようにすることを目指している。しかしながら、ある時点で、開発者は、様々なタイプの車両ハードウェアおよびソフトウェアに対してソフトウェアをテストできる必要がある。
【0071】
これに関して、ここで、図4に対して参照がなされる。図4の実施形態では、とりわけ、開発ノード410は、インサイトソフトウェア開発キット(SDK)414、統合センサソフトウェア開発キット420、車両サービスソフトウェア開発キット422を含む様々なソフトウェア開発キットを含み得る。これらのソフトウェア開発キットは、開発者が、図1~3に関して上に説明された環境を使用してシステム用のソフトウェアを作成することを可能にする。
【0072】
随意に、インサイトSDK414は、コマンドラインインサイトリスナ416を有し得、これは、エッジエミュレーションノード430においてインサイト信号を聞くために使用され得る。
【0073】
開発ノード410は、オペレーティングシステム424を実行し得、場合によっては、以下に説明されるように、構成カタログを利用し得る事前構成された仮想環境モジュール426を含み得る。
【0074】
開発ノード410において作成されたコードは、エッジエミュレーションノード430上でテストされ得る。具体的には、エッジエミュレーションノード430は、様々なハードウェア抽象化レイヤーサービス実装(HSI)を含むエッジランタイムモジュール432を含み、ハードウェア抽象化レイヤーサービス実装(HSI)は、カメラシミュレータHSI434、位置シミュレータHSI436、信号シミュレータHSI438を含む。さらに、ランタイム432は、信号カタログ440、データ再生ツール(DPT)442、および開発ツール444を含み得る。
【0075】
以下に提供されるように、エッジランタイム432は、具体的には特定の構成信号をロードするために使用され得る構成ローダ446をさらに含み得る。
【0076】
一実施形態では、構成ローダ446は、カメラSIM HSI434と、位置SIM HSI436と、テストされている車両が実世界において利用する信号に対する信号SIM HSI438とを構成するために使用され得る。
【0077】
さらに、エッジエミュレーションノード430は、オペレーティングシステム450を含み得る。一実施形態では、オペレーティングシステム450は、構成カタログから見つけられたとき、実際の車両において使用されるオペレーティングシステムに基づいて構成され得る。
【0078】
さらに、仮想環境452が、エッジエミュレーションノード430内に提供される。仮想環境452は、実際の車両の構成と同様または同一になるようにエッジエミュレーションノード430を構成するために使用され得る。これに関して、仮想環境452は、局面の中でもとりわけ、特定のタイプのハードウェア、特定のハードウェアアクセラレータがエッジエミュレーションノード430に関して構成されることを指定するために使用され得る。エッジエミュレーションノード430はクラウドサービスであり得るため、とりわけ、ハードウェア、ハードウェアアクセラレーションの詳細は、クラウドサービス内で構成され得る。このようにして、エッジエミュレーションノード430は、テストされている実際の車両を模倣し得る。
【0079】
信号サービス454は、車両構成からの信号カタログを適用するように構成されている。
【0080】
図4の実施形態では、エッジエミュレーションノード430の制御プレーン内で、様々な信号が、統合センサ460をテストするためのトリガを含むコンソール470に提供され、またはそれから送信され得る。さらに、信号データアーティファクト462に関する要求は、データアーティファクトリポジトリ471に対して作成され得る。例えば、開発者は、コンソール上でコマンドを送信してエッジエミュレーションノード上でテストをトリガし得る。当業者に理解されるように、信号データアーティファクトは、実際のテストのための信号データを提供し得、テスト車両が特定のルート、状況、またはテストに関して提供する実際の信号を含み得る。
【0081】
このような信号データの例は、例えば、とりわけ、イグニッションオン/オフ信号、ドアロックステータスに関する信号、窓位置ステータスに関する信号、利用可能な場合には室内温度に関する信号、シートベルト係合に関する信号、車両内の動きに関する信号、車内の音に関する信号を含み、これらは、チャイルドシートに座っているかどうか、および、車両がオフになっているかどうか/ドアがロックされているかどうかなどについての決定を行うために組み合わされ得る。当業者に理解されるように、異なる車両は、異なる信号セットを提供し、したがって、このような車両内に実際に存在する信号を使用することによって、統合センサが特定の車両のチャイルドシートに人が乗っていることを検出することを確実にすることが、有益である。
【0082】
さらに、構成カタログ472は、車両の異なるメーカー、モデル、および/または構造に関する複数の車両構成を有し得る。これは、図4の例において、車両構成474、車両構成476、および車両構成478として示されている。
【0083】
具体的には、構成カタログ472は、図5の実施形態においてより詳細に示される。例えば、構成カタログ472は、車両構成474を含む。車両構成474は、車両構成530として展開されて示され、その具体的な車両の信号データを提供する車両信号カタログ532を含む。
【0084】
具体的には、車両信号カタログ532は、具体的な車両に対して利用可能な信号および車両データ項目のセットを説明する。例えば、車両データ項目の中でもとりわけ、名前、説明、データタイプ、単位、制限が、このカタログ内で提供され得る。信号構成は、エッジエミュレーションノードが、具体的な車両の統合センサに対して利用可能な車両データの正確なセットを模倣するように構成されることを可能にする。
【0085】
車両構成530は、オペレーティングシステム、オペレーティングシステムのバージョン、および他のソフトウェア構成を含む、システム上のソフトウェアについての詳細を含むソフトウェア構成534をさらに含む。例えば、これは、実行中の統合センサソフトウェアの具体的なバージョン、とりわけ、Open Neural Network Exchange(ONNX)、TensorFlow Lite(TFLite)、Snapdragon Neural Processing Engine(SNPE)などの車両上で利用可能な一連の機械学習ランタイムフレームワーク、または車両上の他のソフトウェアを含み得る。
【0086】
車両構成530は、車両上に見つかるチップセットの詳細、処理コアの数、ハードウェアアクセラレータが使用されているかどうか、他のそのようなハードウェア構成を含み得るハードウェア構成536をさらに含み得る。したがって、ハードウェア構成536は、具体的な車両に対して利用可能なハードウェアリソースのセットを定義し得る。ハードウェア構成は、異なるターゲットノードが可能な限り車両に近いことを可能にする具体的な車両の利用可能なハードウェアを説明する。例えば、これは、構成の中でもとりわけ、何のシステムオンチップ(SoC)が使用されるか、どのくらいのメモリおよび/または中央処理装置(CPU)が統合センサシステムに割り当てられるかを含み得る。このようなハードウェア構成は、機械学習の高速化にとって具体的に重要であり得、機械学習の高速化では、利用可能であるとき、CPU処理がグラフィックプロセッシングユニット(GPU)およびデジタルシグナルプロセッサ(DSP)にオフロードされることが多い。ハードウェア構成は、とりわけ、特にGPUおよびDSPを含む具体的な車両において何の追加ハードウェアが利用可能であるかを説明し得る。ハードウェア構成536は、エッジエミュレーションノード530が、具体的な車両に対して利用可能なものに最も近いハードウェアをオンザフライで割り当てまたは仮想化できることを可能にし得る。
【0087】
さらに、拡張可能構成538は、車両構成が時間の経過とともに拡張可能であることを可能にし、必要に応じて新しいフィールドを追加することを可能にする。
【0088】
したがって、車両構成530は、各サブ構成が異なるサブシステムによって使用されるサブ構成(532~538)から構成される。信号カタログ532は、信号サービス454によって適用され、ソフトウェア構成534は、他のコンポーネントによって吸収される。ハードウェア構成536は、仮想環境452に適用され得る。構成は、拡張可能であり、ブロック538に示されているように、これにより、追加のシステムコンポーネントは、エミュレーションの一部として適用される関連構成を有し得る。
【0089】
広範なカタログを推進するために、構成カタログ472内の車両構成は、様々な情報源から由来し得る。例えば、オリジナルの機器製造業者550に関する開発者が、構成を提供し得る。他のシステム開発者552が、構成を提供し得る。様々な車両または統合システムパートナー554が、構成を提供し得る。他のユーザ556も、構成を提供し得る。本開示は、車両構成を提供するエンティティまたは人物に限定されない。
【0090】
再び図4の実施形態を参照すると、エッジエミュレーションノード430は、統合センサがテストされている車両に関する具体的な構成を取得するために、メッセージ464において車両構成を要求し得る。この情報は、構成ローダ446に提供され得、その後、構成ローダ446は、ブロック452において仮想環境を事前構成することと、ブロック450においてOS(場合によってはOSおよびOSのバージョンを含み得る)を構成することと、信号カタログ440に加えてブロック434、436、および438において信号およびセンサ実装を構成することとを行うために使用され得る。
【0091】
エッジエミュレーションノート430が構成された後、開発ノード410は、統合センサを配備し得、これは、矢印480において示されている。エッジエミュレーションノード430は、統合センサをエミュレートし得、再生信号データを送信し得、これは、矢印482において示されている。エミュレートされた統合センサは、開発ノード410によって要求され得、これは、矢印484において示されており、ログおよびメトリクスは、開発ノード410において取得され得、これは、矢印486において示されている。
【0092】
このように、エミュレーションノード430は、可能な限り実際の車両と同じように振舞い得、統合センサと統合センサから生成されたインサイトとが実際の車両上で機能するという確信を開発者に提供し得る。さらに、そのようなカタログおよびハードウェア構成を使用してシミュレーションが実行されるため、OEMによる車両に関するソフトウェアの認証が、より簡単に行われ得る。
【0093】
さらなる実施形態では、エミュレーションノードを使用するのではなく、場合によっては、車両の実際のハードウェアが、テスト時に使用され得る。具体的には、車両からのプロセッサボードは、テストメカニズムの一部として使用され得る。これに関して、図6に対して参照がなされる。
【0094】
図6の実施形態では、開発ドメイン610は、インサイトSDK614、統合センサSDK620、および車両サービスSDK622を含む。
【0095】
インサイトSDK614は、コマンドラインインサイトリスナ616を含み得る。
【0096】
さらに、オペレーティングシステム624が、開発ドメイン内に存在し得る。
【0097】
事前構成された仮想環境626は、例えば構成カタログ482から、図6の実施形態において車両構成情報を取得するために使用され得る。これは、例えば、メッセージ694を使用して行われ得る。
【0098】
図6の実施形態では、ハードウェアボード650に信号を提供するために、エッジランタイム環境628が、存在し得る。しかしながら、いくつかの実施形態では、このランタイム環境は、ハードウェアおよび開発ノードと対話する別個のエミュレーションノード内に存在し得る。
【0099】
ハードウェアボード650は、実際の車両上に存在するアプリケーション672およびオペレーティングシステム670を含む。例えば、アプリケーション672は、上で説明された統合センサシステムを含み得る。
【0100】
エッジランタイム628は、開発ドメイン610とコンソール680との間のメッセージ690で示されるように、提出時に統合センサテストをトリガし得る。
【0101】
さらに、エッジランタイム628は、コンソール680からのメッセージ692における信号アーティファクトを要求し得る。
【0102】
ランタイムが構成されると、開発ドメイン610は、メッセージ630で示されるように統合センサを展開し得る。その後、開発ドメインは、メッセージ632で示されるように信号データを再生し得、メッセージ634で示されるようにインサイトを要求し得る。
【0103】
テストが終了すると、ログおよびメトリクスが、メッセージ636で示されるように取得され得る。
【0104】
したがって、図4および図6のシステムを使用して、環境が、提供され、その環境では、開発者は、図4の場合には、車両のハードウェア、信号およびソフトウェアをエミュレートするように構成されたクラウドサービス上で、または、図6の実施形態の場合、コンソール680内の車両に関して構成されたテストデータ/信号を使用しながら実際のハードウェアをエミュレートするように構成されたクラウドサービス上でソフトウェアをテストし得る。
【0105】
さらに、テストのために使用され得る構成のライブラリおよび信号のライブラリが、提供され、ハードウェア、ソフトウェア、および他の構成に関する実世界の信号および実世界の構成が、テストにおいて提供され得る。
【0106】
このシステムは、ユーザが意図された目的地を選択することを可能にし、構成ファイルおよび信号ライブラリの使用を通じて、テストは、カスタマイズされた環境を自動的に提供し、実際の車両上にソフトウェアをアップロードする負担および運転状況において車両をテストする危険性を取り除く。
【0107】
ローダは、システムがどこで実行されているかを見つけ出し得、エミュレータを構成し得る。実際のハードウェア上で実行される場合、ローダは、使用する信号を提供するのみであり得る。クラウドノードが使用される場合、ローダは、車両を模倣するためのノード上のハードウェアと信号の構成を可能にする。
【0108】
構成ライブラリおよび車両構成に関するテストデータのライブラリが設定されると、開発者は、どの車両でテストしたいかを指定し得る。開発者が統合センサを展開する準備ができると、テスト車両の構成を模倣し、シームレスな手法においてデータを取り込むためのシミュレーション環境が、セットアップされ得る。このようにして、統合センサは、開発者が実際の車両または実際のデータにアクセスする必要性を伴わずに、所望の構成およびテストデータを使用して検証され得る。
【0109】
さらに、機構は、サードパーティの開発者が統合センサを車両OEMに提出することを提供し、OEMは、車両の構成を使用してそのような提出を自動的に検証し得る。このようにして、OEMは、ソフトウェアが彼らの車両上で動作することの確信を伴って、彼らのソリューションを承認し得る。
【0110】
例えば、ここで、図7に対して参照がなされる。図7の例では、プロセスは、ブロック710において開始し、ブロック720へと進み、ブロック720では、車両構成情報が、取得され得る。車両構成情報は、オプションの中でもとりわけ、ソフトウェア情報、ハードウェア情報、車両信号カタログであり得る。
【0111】
その後、プロセスは、ブロック730へと進み、ブロック730では、テストシステムに関するハードウェアおよびソフトウェアのうちの少なくとも1つが、構成され得る。システムがコンピューティングノード上で実行されている場合、ハードウェアおよびソフトウェアは、ブロック720において受信された情報に基づいて構成され得る。システムが実際のハードウェア上で実行されている場合、エミュレーションノードにおけるソフトウェアは、例えば、ブロック740で提供されるように、信号データを提供するように構成され得る。
【0112】
その後、システムは、ブロック740へと進み、ブロック740では、テスト信号データが、取得され得る。例えば、これは、図4の実施形態からのコンソール470から、または、図6の実施形態からのコンソール680から取得され得る。
【0113】
その後、プロセスは、ブロック750へと進み、ブロック750では、開発中の新しい統合センサなどのテストソフトウェアが、ブロック740において取得された信号データおよびブロック730において構成された構成システムを使用してシステム上で実行され得る。
【0114】
その後、プロセスは、ブロック760へと進み、終了する。
【0115】
(ハードウェア)
【0116】
上記のノード、ドメイン、コンピューティングデバイス、プラットフォーム、電子制御ユニット、または他のコンピューティングシステムは、任意のコンピューティングデバイスを使用して実装され得る。コンピューティングデバイスの1つの簡略化された図が、図8に関して示されている。図8のコンピューティングデバイスは、任意の固定またはモバイルコンピューティングデバイスであり得る。
【0117】
図8において、デバイス810は、プロセッサ820および通信サブシステム830を含み、プロセッサ820および通信サブシステム830は、協働して上に説明された実施形態の方法を実施する。通信サブシステム830は、デバイス810が他のデバイスまたはネットワーク要素と通信することを可能にし、実施される通信のタイプに基づいて変化し得る。さらに、通信サブシステム830は、任意の有線またはワイヤレス通信技術を含む複数の通信技術を備え得る。
【0118】
プロセッサ820は、プログラマブルロジックを実行するように構成されており、プログラマブルロジックは、データとともにデバイス810上に格納され得、図8の例では、メモリ832として示されている。メモリ832は、任意の有形の非一時的なコンピュータ読取可能な記憶媒体であり得、これは、プロセッサ820によって実行されるとデバイス810に本開示の方法を実施させる命令コードを格納する。コンピュータ読取可能な記憶媒体は、当該技術分野において公知の光学式(例えば、CD、DVDなど)、磁気式(例えば、テープ)、フラッシュドライブ、ハードドライブ、または他のメモリなどの有形の、または一時的/非一時的な媒体であり得る。
【0119】
メモリ832の代わりに、またはメモリ832に加えて、デバイス810は、例えば通信サブシステム830を通して、外部記憶媒体からデータまたはプログラマブルロジックにアクセスし得る。
【0120】
図8の例では、1つまたは複数のセンサ840が、コンピューティングデバイスに関連付けられ得る。しかしながら、これは、随意であり、場合によっては、コンピューティングデバイス810は、センサに関連付けられない。
【0121】
デバイス810の様々な要素間の通信は、一実施形態において内部バス860を通して行われ得る。ただし、他の形式の通信が、可能である。
【0122】
本明細書に説明される実施形態は、本出願の技術の要素に対応する要素を有する構造、システム、または方法の例である。この記述された説明は、当業者が、本出願の技術の要素に同様に対応する代替要素を有する実施形態を作成し、使用することを可能にし得る。したがって、本出願の技術の意図された範囲は、本明細書に記載された本出願の技術と異ならない他の構造、システム、または方法を含み、本明細書に記載された本出願の技術からの実質的な相違を伴わない他の構造、システム、または方法をさらに含む。
【0123】
動作は具体的な順序において図面中に図示されているが、これは、望ましい結果を達成するために、そのような動作が、示された特定の順序もしくは連続した順序において実行されること、または、図示されたすべての動作が実施されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が、採用され得る。さらに、上で説明された実装における様々なシステムコンポーネントの分離は、すべての実装においてそのような分離が必要であると理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品の中に一緒に統合され得、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
【0124】
また、様々な実装において個別または別個として説明および図示された技術、システム、サブシステム、および方法は、他のシステム、モジュール、技術、または方法と結合または統合され得る。相互に結合または直接結合または通信するものとして示される、または検討される他のアイテムは、電気的、機械的、またはその他の方法のいずれかにおいて、何らかのインターフェース、デバイス、または中間コンポーネントを通して間接的に結合され得、または通信し得る。変更、置換、および改変の他の例は、当業者によって確認可能であり、行われ得る。
【0125】
上記の詳細な説明は、様々な実装に適用される本開示の基本的な新規の特徴を示し、説明し、指摘してきたが、図示されたシステムの形式および詳細において様々な省略、置換、および変更が当業者によって行われ得ることが、理解されるであろう。さらに、方法ステップの順序は、特許請求の範囲に記載されている順序によって暗示されない。
【0126】
メッセージが電子デバイスに/から送信されるとき、そのような操作は、即時ではないことがあり、サーバーから直接行われないことがある。それらは、本明細書で説明されるデバイス/方法/システムをサポートするサーバーまたは他のコンピューティングシステムインフラストラクチャから同期的または非同期的に配信され得る。前述のステップは、全体または一部において、デバイス/インフラストラクチャへの/からの同期/非同期通信を含み得る。さらに、電子デバイスからの通信は、ネットワーク上の1つまたは複数のエンドポイントに対して行われ得る。これらのエンドポイントは、サーバー、分散コンピューティングシステム、ストリームプロセッサなどによってサービスを行われ得る。コンテンツ配信ネットワーク(CDN)も、電子デバイスに通信を提供し得る。例えば、典型的なサーバー応答ではなく、サーバーは、電子デバイスの後続のアクティビティなど、後の電子デバイスによるダウンロードを待つコンテンツ配信ネットワーク(CDN)に関するデータをプロヴィジョニングまたは指示することも行い得る。したがって、データは、システムの一部として、またはシステムとは別個に、サーバー、または分散インフラストラクチャやCDNなどの他のインフラストラクチャから直接送信され得る。
【0127】
典型的には、記憶媒体は、以下のもののうちのいずれかまたはいくつかの組み合わせを含み得る:ダイナミックもしくはスタティックランダムアクセスメモリ(DRAMもしくはSRAM)、消去可能およびプログラマブル読取専用メモリ(EPROM)、電気的に消去およびプログラム可能な読取専用メモリ(EEPROM)およびフラッシュメモリなどの半導体メモリデバイス、固定ディスク、フロッピー(登録商標)ディスク、リムーバブルディスクなどの磁気ディスク、テープを含む別の磁気媒体、コンパクトディスク(CD)もしくはデジタルビデオディスク(DVD)などの光学メディア、または、別のタイプのストレージデバイス。上で検討された命令は、1つのコンピュータ読取可能または機械読取可能な記憶媒体上に提供され得、あるいは、場合によっては複数のノードを有する大規模システム内に分散している複数のコンピュータ読取可能または機械読取可能な記憶媒体上に提供され得ることに留意されたい。このようなコンピュータ読取可能または機械読取可能な記憶媒体は、物品(または製品)の一部と見做される。物品または製品は、任意の製造された単一のコンポーネントまたは複数のコンポーネントを指す。記憶媒体は、機械読取可能な命令を実行するマシン内に位置付けられ得、または、機械読取可能な命令が実行のためにネットワーク経由でダウンロードされ得るリモートサイトに位置付けられ得る。
【0128】
前述の説明には、本明細書に開示される主題の理解を提供するために、多くの詳細が、記載されている。しかしながら、実装は、これらの詳細の一部を伴わずに実践され得る。他の実装は、上で説明した詳細からの修正および変更を含み得る。付属の特許請求の範囲は、そのような修正および変形を包含することを意図されている。
図1
図2
図3
図4
図5
図6
図7
図8