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

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

▶ ルノー エス.ア.エス.の特許一覧 ▶ 日産自動車株式会社の特許一覧

特表2024-502313駆動パラメータを計算するためのデバイスおよび方法
<>
  • 特表-駆動パラメータを計算するためのデバイスおよび方法 図1
  • 特表-駆動パラメータを計算するためのデバイスおよび方法 図2
  • 特表-駆動パラメータを計算するためのデバイスおよび方法 図3
  • 特表-駆動パラメータを計算するためのデバイスおよび方法 図4
  • 特表-駆動パラメータを計算するためのデバイスおよび方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-18
(54)【発明の名称】駆動パラメータを計算するためのデバイスおよび方法
(51)【国際特許分類】
   G06F 11/14 20060101AFI20240111BHJP
【FI】
G06F11/14 687
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023539155
(86)(22)【出願日】2022-01-06
(85)【翻訳文提出日】2023-08-22
(86)【国際出願番号】 EP2022050206
(87)【国際公開番号】W WO2022148812
(87)【国際公開日】2022-07-14
(31)【優先権主張番号】2100170
(32)【優先日】2021-01-08
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】507308902
【氏名又は名称】ルノー エス.ア.エス.
【氏名又は名称原語表記】RENAULT S.A.S.
【住所又は居所原語表記】122-122 bis, avenue du General Leclerc, 92100 Boulogne-Billancourt, France
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ベルトラン, パトリス
(72)【発明者】
【氏名】ペロー, エリク
(57)【要約】
本発明の実施形態は計算デバイス(10)を提供する。デバイスは、有利には、第1のユニット(100)と第2のユニット(200)とを備え得る。計算機能に対応する要求の受信に応答して、第1のユニット(100)は、実行コンテキストを決定することと、第2のユニット(200)上の機能の第1の実行をトリガすることであって、これにより、第1の時間的実行パラメータが関連づけられた第1の比較パラメータを供給する、第1の実行をトリガすることと、第2のユニット(200)上の機能の第2の実行をトリガすることであって、これにより第2の時間的実行パラメータが関連づけられた第2の比較パラメータを供給する、第2の実行をトリガすることと、第1の比較パラメータと第2の比較パラメータとを比較することであって、時間的比較パラメータが比較の結果に関連づけられる、第1の比較パラメータと第2の比較パラメータとを比較することと、計算ステータスを決定することとを行うように構成され得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両に搭載されることを目的とした、駆動パラメータを計算するためのデバイス(10)であって、前記デバイス(10)は、
所与の計算能力と所与の完全性レベルとに関連づけられた第1の計算ユニット(100)と、
1つまたは複数のコンピュータを備える第2の計算ユニット(200)であって、前記第2の計算ユニット(200)が、前記第1の計算ユニット(100)に関連づけられた前記計算能力よりも高い計算能力と、前記第1の計算ユニット(100)に関連づけられた前記完全性レベルよりも低い完全性レベルとに関連づけられ、前記第2の計算ユニット(200)が、1つまたは複数の計算機能を実行するように構成され、これにより、各計算機能について、計算結果と、前記計算結果を表す比較パラメータとを含む出力を提供する、第2の計算ユニット(200)と
を備えること、を特徴とし、かつ
所与の計算機能に対応する、駆動パラメータの計算に対する要求の受信に応答して、前記第1の計算ユニット(100)が、
前記第2の計算ユニット(200)上の前記所与の計算機能の実行コンテキストを決定することと、
前記第2の計算ユニット(200)上の、前記決定された実行コンテキストにおける、前記所与の計算機能の、公称実行と称される第1の実行をトリガすることであって、これにより、前記駆動パラメータの計算の第1の結果と、第1の実行時間パラメータが関連づけられている第1の比較パラメータとを含む第1の出力を提供する、第1の実行をトリガすることと、
前記第2の計算ユニット(200)上の、前記決定された実行コンテキストにおける、前記所与の計算機能の、冗長実行と称される第2の実行をトリガすることであって、これにより、前記駆動パラメータの計算の第2の結果と、第2の実行時間パラメータが関連づけられている第2の比較パラメータとを含む第2の出力を提供する、第2の実行をトリガすることと、
前記第1の比較パラメータと前記第2の比較パラメータとを比較することであって、比較時間パラメータが前記比較の結果に関連づけられる、前記第1の比較パラメータと前記第2の比較パラメータとを比較することと、
前記比較の前記結果に応じた条件の関数として、および前記時間パラメータの関数として、前記駆動パラメータの計算ステータスを決定することであって、2つの前記比較パラメータが同じであり、前記時間パラメータが有効である場合に、前記計算ステータスが正である、前記駆動パラメータの計算ステータスを決定することと
を行うように構成されること
を特徴とする、デバイス(10)。
【請求項2】
時間パラメータが対応するしきい値よりも低い場合に、前記時間パラメータが有効であることを特徴とする、請求項1に記載のデバイス。
【請求項3】
前記比較パラメータが、ハッシュ関数を適用することによって対応する前記計算結果から得られることを特徴とする、請求項1または2に記載のデバイス。
【請求項4】
前記公称実行および前記冗長実行が時間上で連続的に実行され、前記第2の計算ユニット(200)が1つまたは複数のコンピュータを備える、ことを特徴とする、請求項1から3のいずれか一項に記載のデバイス。
【請求項5】
前記公称実行および前記冗長実行が前記第2の計算ユニット(200)の同じコンピュータ上で実行されることを特徴とする、請求項4に記載のデバイス。
【請求項6】
前記公称実行および前記冗長実行が前記第2の計算ユニット(200)の2つの別個のコンピュータ上で時間上で並行して実行されることを特徴とする、請求項1から3のいずれか一項に記載のデバイス。
【請求項7】
前記計算要求が送信デバイス(20)によって送られることと、前記計算デバイスが、前記計算ステータスが正である場合に、前記第1の計算ユニット(100)を介して、前記送信デバイス(20)に第1の計算結果と正の計算ステータスの通知とを送信するようにさらに構成されることと、を特徴とする、請求項1から6のいずれか一項に記載のデバイス。
【請求項8】
前記計算要求が送信デバイス(20)によって送られることと、前記計算デバイスが、前記計算ステータスが負である場合に、前記第1の計算ユニット(100)を介して、前記送信デバイス(20)に計算ダイバージェンス通知を送信するようにさらに構成されることと、を特徴とする、請求項1から7のいずれか一項に記載のデバイス。
【請求項9】
前記第1の計算ユニット(100)は、前記計算ステータスが正になるまで複数の反復を実施するように構成されることを特徴とする、請求項1から8のいずれか一項に記載のデバイス。
【請求項10】
前記第1の計算ユニット(100)が、前記受信された計算要求の完全性を検証するようにさらに構成されることを特徴とする、請求項1から9のいずれか一項に記載のデバイス。
【請求項11】
前記実行コンテキストが、外部センサ(12)から前記第2の計算ユニット(200)に直接送信される生データのフローの関数として、前記第1の計算ユニット(100)によって定義されることを特徴とする、請求項1から10のいずれか一項に記載のデバイス。
【請求項12】
前記第1の計算ユニット(100)の前記完全性レベルがハードウェア冗長技術によって保証されることを特徴とする、請求項1から11のいずれか一項に記載のデバイス。
【請求項13】
前記実行コンテキストが、複数の入力変数と、複数の乱数と、時間情報とを含むことを特徴とする、請求項1から12のいずれか一項に記載のデバイス。
【請求項14】
車両に搭載された計算デバイスにおいて実施されることを目的とした、駆動パラメータを計算するための方法であって、前記計算デバイスが、
所与の計算能力と所与の完全性レベルとに関連づけられた第1の計算ユニット(100)と、
1つまたは複数のコンピュータを備える第2の計算ユニット(200)であって、前記第2の計算ユニット(200)が、前記第1の計算ユニット(100)に関連づけられた前記計算能力よりも高い計算能力と、前記第1の計算ユニット(100)に関連づけられた前記完全性レベルよりも低い完全性レベルとに関連づけられ、前記第2の計算ユニット(200)が、1つまたは複数の計算機能を実行するように構成され、これにより、各計算機能について、計算結果と、前記計算結果を表す比較パラメータとを含む出力を提供する、第2の計算ユニット(200)と
を備え、
前記方法は、所与の計算機能に対応する、駆動パラメータの計算に対する要求の受信に応答して、前記第1の計算ユニット(100)によって実施される以下のステップ、すなわち、
前記第2の計算ユニット(200)上の前記所与の計算機能の実行コンテキストを決定するステップ(402)と、
前記第2の計算ユニット(200)上の、前記決定された実行コンテキストにおける、前記所与の計算機能の、公称実行と称される第1の実行をトリガするステップ(403)であって、これにより、前記駆動パラメータの計算の第1の結果と、第1の実行時間パラメータが関連づけられている第1の比較パラメータとを含む第1の出力を提供する、第1の実行をトリガするステップ(403)と、
前記第2の計算ユニット(200)上の、前記決定された実行コンテキストにおける、前記所与の計算機能の、冗長実行と称される第2の実行をトリガするステップ(404)であって、これにより、前記駆動パラメータの計算の第2の結果と、第2の実行時間パラメータが関連づけられている第2の比較パラメータとを含む第2の出力を提供する、第2の実行をトリガするステップ(404)と、
前記第1の比較パラメータと前記第2の比較パラメータとを比較するステップ(405)であって、比較時間パラメータが前記比較の結果に関連づけられる、前記第1の比較パラメータと前記第2の比較パラメータとを比較するステップ(405)と、
前記比較の前記結果に応じた条件の関数として、および前記時間パラメータの関数として、前記駆動パラメータの計算ステータスを決定するステップ(406)であって、2つの前記比較パラメータが同じであり、前記時間パラメータが有効である場合に、前記計算ステータスが正である、前記駆動パラメータの計算ステータスを決定するステップ(406)と
にあるステップを含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、一般に、計算システムに関し、特に、車両に搭載して用いられることを目的とした、駆動パラメータを計算するためのデバイスおよび方法に関する。
【0002】
自動車分野では、近年、車両自動化の観点で大きな開発が行われている。自動化車両または半自動化車両は、先進運転支援システム(advanced driver assistance system)(ADAS)、アダプティブクルーズコントロール(adaptive cruise control)、衝突回避システムなど、車両を駆動する、および/または車両の安全を保証するための制御システムを組み込んでいる。そのような制御システムによって使用される制御アプリケーションの実装では、一般に、環境を知覚するための複数のセンサと、計算能力に関するおよび信頼性レベル(level of dependability)(LoD)に関する需要がますます高まっているアルゴリズムを実行する1つまたは複数のコンピュータとを車両に配備する必要がある。自動車分野では、LoDは主に規格ISO26262によって調整され、規格ISO26262は、集積回路の供給業者が、供給業者のコンピュータの品質を保証する設計ルールに従うことを要求している。規格ISO26262は、これらの集積回路を自社の車両に組み込む製造業者にも適用され、製造業者は、所与のアルゴリズムの実行中にコンピュータ中で起こりやすいエラーが制御可能であることを保証する必要がある。そのようなエラーは、本質的に系統的であるか、または本質的にランダムであり得る。
【0003】
システマティックエラーを処理するために開発方法と徹底的なテストキャンペーンとを使用することが知られている。そのような手法は、一般に、レジスタもしくはメモリからの読取りもしくはレジスタもしくはメモリへの書込み中の、または、所与のアルゴリズムの命令の実行中のビットの反転に対応し得る、ランダムエラーの処理に適合しない。ランダムエラーは、たとえば、それの発生源が外部環境であるフォトニック干渉または電磁干渉によって誘発され得る。これらのランダムエラーの発生確率は、数ナノメートルのライン幅を採用する半導体技術において開発される超高性能プロセッサにおいて高くなる。
【0004】
コンピュータに影響を及ぼしやすいランダムエラーを処理するための1つの知られている解決策は、採用されるハードウェアリソース(とりわけ、プロセッサ、メモリ)を複製することと、アルゴリズムのすべての命令を冗長な様式で実行し、次いで、ランダムエラーの出現を表す電位差を識別するために、得られた結果を比較することとにある。そのような解決策は「ハードウェアロックステップ」と称される。ハードウェアロックステップソリューションは、特に、計算速度が低い適用例において効果的であり、車両において必要とされるものなど、高い計算速度を必要とする複雑なアルゴリズムに好適であろう。しかしながら、そのような複雑なアルゴリズムとともに使用されるハードウェアロックステップソリューションは市販されておらず、極めて高価である。
【0005】
したがって、採用されるすべてのハードウェアリソースを複製する必要なしに、アルゴリズムの実行中に起こり得るランダムエラーを処理することが可能な、改善された計算デバイスおよび方法が必要である。
【発明の概要】
【0006】
発明の一般的定義
この目的のために、本発明は、車両に搭載されることを目的とした、駆動パラメータを計算するためのデバイスであって、本デバイスは、
所与の計算能力と所与の完全性(integrity)レベルとに関連づけられた第1の計算ユニットと、
1つまたは複数のコンピュータを備える第2の計算ユニットであって、第2の計算ユニットが、第1の計算ユニットに関連づけられた計算能力よりも高い計算能力と、第1の計算ユニットに関連づけられた完全性レベルよりも低い完全性レベルとに関連づけられ、第2の計算ユニットが、1つまたは複数の計算機能を実行するように構成され、これにより、各計算機能について、計算結果と、計算結果を表す比較パラメータとを含む出力を提供する、第2の計算ユニットと
を備えるデバイスを提供する。
有利には、所与の計算機能に対応する、駆動パラメータの計算に対する要求の受信に応答して、第1の計算ユニットは、
第2の計算ユニット上の所与の計算機能の実行コンテキストを決定することと、
第2の計算ユニット上の、決定された実行コンテキストにおける、所与の計算機能の、公称実行(nominal execution)と称される第1の実行をトリガすることであって、これにより、駆動パラメータの計算の第1の結果と、第1の実行時間パラメータが関連づけられている第1の比較パラメータとを含む第1の出力を提供する、第1の実行をトリガすることと、
第2の計算ユニット上の、決定された実行コンテキストにおける、所与の計算機能の、冗長実行(redundant execution)と称される第2の実行をトリガすることであって、これにより、駆動パラメータの計算の第2の結果と、第2の実行時間パラメータが関連づけられている第2の比較パラメータとを含む第2の出力を提供する、第2の実行をトリガすることと、
第1の比較パラメータと第2の比較パラメータとを比較することであって、比較時間パラメータが比較の結果に関連づけられる、第1の比較パラメータと第2の比較パラメータとを比較することと、
比較の結果に応じた条件の関数として、および時間パラメータの関数として、駆動パラメータの計算ステータスを決定することであって、2つの比較パラメータが同じであり、時間パラメータが有効である場合に、計算ステータスが正である、駆動パラメータの計算ステータスを決定することと
を行うように構成され得る。
【0007】
一実施形態では、時間パラメータが対応するしきい値よりも低い場合に、時間パラメータは有効であり得る。
【0008】
別の実施形態では、比較パラメータは、ハッシュ関数を適用することによって対応する計算結果から得られ得る。
【0009】
有利には、公称実行および冗長実行は時間上で連続的に実行され得、第2の計算ユニットは1つまたは複数のコンピュータを備える。
【0010】
変形形態として、公称実行および冗長実行は第2の計算ユニットの同じコンピュータ上で実行され得る。
【0011】
一実施形態では、公称実行および冗長実行は第2の計算ユニットの2つの別個のコンピュータ上で時間上で並行して実行され得る。
【0012】
別の実施形態では、計算要求は送信デバイスによって送られ得、計算デバイスは、計算ステータスが正である場合に、第1の計算ユニットを介して、送信デバイスに第1の計算結果と正の計算ステータスの通知とを送信するようにさらに構成され得る。
【0013】
随意に、計算要求は送信デバイスによって送られ得、計算デバイスは、計算ステータスが負である場合に、第1の計算ユニットを介して、送信デバイスに計算ダイバージェンス通知を送信するようにさらに構成され得る。
【0014】
有利には、第1の計算ユニットは、計算ステータスが正になるまで複数の反復を実施するように構成され得る。
【0015】
変形形態として、第1の計算ユニットは、受信された計算要求の完全性を検証するようにさらに構成され得る。
【0016】
一実施形態では、実行コンテキストは、外部センサから第2の計算ユニットに直接送信される生データのフローの関数として、第1の計算ユニットによって定義され得る。
【0017】
別の実施形態では、第1の計算ユニットの完全性レベルはハードウェア冗長技術によって保証され得る。
【0018】
有利には、実行コンテキストは、複数の入力変数と、複数の乱数と、時間情報とを含み得る。
【0019】
車両に搭載された計算デバイスにおいて実施されることを目的とした、駆動パラメータを計算するための方法であって、計算デバイスは、
所与の計算能力と所与の完全性レベルとに関連づけられた第1の計算ユニットと、
1つまたは複数のコンピュータを備える第2の計算ユニットであって、第2の計算ユニットが、第1の計算ユニットに関連づけられた計算能力よりも高い計算能力と、第1の計算ユニットに関連づけられた完全性レベルよりも低い完全性レベルとに関連づけられ、第2の計算ユニットが、1つまたは複数の計算機能を実行するように構成され、これにより、各計算機能について、計算結果と、計算結果を表す比較パラメータとを含む出力を提供する、第2の計算ユニットと
を備える、方法がさらに提供される。
有利には、本方法は、所与の計算機能に対応する、駆動パラメータの計算に対する要求の受信に応答して、第1の計算ユニットによって実施される以下のステップ、すなわち、
第2の計算ユニット上の所与の計算機能の実行コンテキストを決定するステップと、
第2の計算ユニット上の、決定された実行コンテキストにおける、所与の計算機能の、公称実行と称される第1の実行をトリガするステップであって、これにより、駆動パラメータの計算の第1の結果と、第1の実行時間パラメータが関連づけられている第1の比較パラメータとを含む第1の出力を提供する、第1の実行をトリガするステップと、
第2の計算ユニット上の、決定された実行コンテキストにおける、所与の計算機能の、冗長実行と称される第2の実行をトリガするステップであって、これにより、駆動パラメータの計算の第2の結果と、第2の実行時間パラメータが関連づけられている第2の比較パラメータとを含む第2の出力を提供する、第2の実行をトリガするステップと、
第1の比較パラメータと第2の比較パラメータとを比較するステップであって、比較時間パラメータは比較の結果に関連づけられる、第1の比較パラメータと第2の比較パラメータとを比較するステップと、
比較の結果に応じた条件の関数として、および時間パラメータの関数として、駆動パラメータの計算ステータスを決定するステップであって、2つの比較パラメータが同じであり、時間パラメータが有効である場合に計算ステータスが正である、駆動パラメータの計算ステータスを決定するステップと
にあるステップを含む。
【0020】
以下の説明および図の助けを借りれば本発明の他の特徴および利点が明らかになろう。
【図面の簡単な説明】
【0021】
図1】本発明の一実施形態による、駆動パラメータを計算するためのデバイスの一般的なアーキテクチャを示す図である。
図2】本発明の一実施形態による、駆動パラメータを計算するためのデバイスの詳細なアーキテクチャを示す図である。
図3】本発明の別の実施形態による、駆動パラメータを計算するためのデバイスの別のアーキテクチャを示す図である。
図4】本発明の一実施形態による、駆動パラメータを計算するための方法において実施されるステップを示すフローチャートである。
図5】本発明の別の実施形態による、駆動パラメータを計算するための方法において実施されるステップを示すフローチャートである。
【発明を実施するための形態】
【0022】
図1は、本発明の一実施形態による、駆動パラメータを計算するためのデバイス10の一般的なアーキテクチャを示す。計算デバイスは第1の計算ユニット100と第2の計算ユニット200とを備える。2つの計算ユニット100、200は、2つの計算ユニット100、200間の信頼できる通信を保証することが可能である通信ユニット11を介してデジタルデータを交換するように構成される。2つの計算ユニット100、200の各々は、調整機能または計算機能を表すプログラムを表す命令を実行することが可能な1つまたは複数のコンピュータと、そのような命令に関連づけられたデータを揮発性の様式または永久的な様式で保存することが可能なメモリリソースとを備え得る。有利には、2つの計算ユニット100、200の各々は、計算能力と完全性レベルとを含む性能メトリックに関連づけられ得る。
【0023】
計算ユニットの計算能力は、たとえば、計算速度に関して、すなわち、計算ユニットが実行することが可能である毎秒の命令数に関して定義され得る。本明細書の残りでは、第1の計算ユニット100の計算能力は、第2の計算ユニット200の計算能力よりも、たとえば10分の1まで、低くなるように選定される。
【0024】
その上、計算ユニットの完全性レベルは、たとえば、供給された計算結果に関連づけられた信頼度を定量化し得る。特に、計算ユニットによって供給された計算結果は、計算ユニットによって生成されたシステマティックエラーおよび/またはランダムエラーに続いて破損し得る。さらに、有利には、関連づけられた完全性レベルが事前定義された完全性しきい値よりも高い場合に、計算ユニットが「保証された信頼性レベル(LoD)」カテゴリに分類され得るように、事前定義された完全性しきい値が使用され得る。本明細書の残りでは、第1の計算ユニット100の完全性レベルは、第2の計算ユニット200の完全性レベルよりもおよび事前定義された完全性しきい値よりも高くなるように選定され、LoDは、したがって、第1の計算ユニット100において保証される。
【0025】
本発明の一実施形態では、第1の計算ユニット100のLoDは、ハードウェアリソース(プロセッサおよびメモリリソース)を複製することと、実装されたソフトウェアリソースを冗長的に実行することとにある、「ハードウェアロックステップ」としても知られるハードウェア冗長技術によって保証され得る。この場合、LoDは、プログラムのすべての命令を時間上で並行してまたは連続的に冗長的に実行することを介して、および潜在的エラーを検出するために、得られた結果を比較することであって、2つの得られた結果が同じでないときにエラーが検出される、比較することを介して、保証される。有利には、第1の計算ユニット100は、高い完全性レベルを必要とする機能を実行するために使用され得る。
【0026】
別の実施形態では、第2の計算ユニット200のLoDは保証されないことがあり、すなわち、第2の計算ユニット200に関連づけられた完全性レベルは事前定義された完全性しきい値よりも低いことがある。この場合、第2の計算ユニット200に実装されるハードウェアリソースを複製する必要はない。たとえば、第2の計算ユニット200は単一のコンピュータを備え得る。有利には、第2の計算ユニット200は、高い計算能力を必要とする機能を実行するために使用され得る。
【0027】
計算デバイス10は、外部送信デバイス20によって生成される駆動パラメータ計算要求を受信し、処理し得る。計算要求の例は、例として、たどるべきルートを計算することと、最適な駆動速度を決定することと、衝突を引き起こし得る物体を識別することとを含む。一般に、計算要求の処理は、高い完全性レベルを必要とする1つまたは複数の調整機能の実行と、高い計算能力を必要とする1つまたは複数の計算機能の実行とを伴う。
【0028】
本発明の実施形態では、第1の計算ユニット100は、計算要求の処理に関連づけられた調整機能を実行するように構成される。調整機能の例は、たとえば、受信された計算要求の完全性の検証、計算要求に関連づけられた計算機能の実行コンテキストの決定、および計算機能を実行することによって生成された計算結果の受信を含む。さらに、第2の計算ユニット200は、調整機能によって要求される計算能力よりも高い計算能力を使用する計算機能を実行するように構成され得る。
【0029】
本発明の他の実施形態では、第1の計算ユニット100は、第2の計算ユニット200上の各計算機能の実行を制御するようにさらに構成され得る。たとえば、第1の計算ユニット100は、第2の計算ユニット200上の計算機能の実行コンテキストを決定し得る。本発明の実施形態によれば、第1の計算ユニット100は、さらに、第2の計算ユニット200上の同じ計算機能の第1および第2の実行をトリガし得、第1の実行と第2の実行とは同じ実行コンテキストにおいて実行される。この場合、第1の計算ユニット100は、次いで、同じ計算機能の第1の実行によって生成された計算結果と計算機能の第2の実行によって生成された計算結果とを受信し、比較し得る。
【0030】
本発明の一実施形態では、駆動パラメータを計算するためのデバイス10は、第1の計算ユニット100上の1つまたは複数の調整機能の実行と、第2の計算ユニット200上の計算機能の実行とを要求する、「要求/応答」タイプの駆動パラメータ計算要求を受信し、処理し得る。この場合、第1の計算ユニット100は、第2の計算ユニット200上の、同じ実行コンテキストにおける、計算機能の第1の実行と第2の実行とをトリガし得る。さらに、駆動パラメータを計算するためのデバイス10は、本明細書の後で詳述するように、計算エラーが検出されなかった場合に、計算要求を送ったデバイス20に、計算機能の計算結果と通知とを送信し得る。
【0031】
本発明の別の実施形態では、駆動パラメータを計算するためのデバイス10は、「非同期または周期イベント」タイプの駆動パラメータ計算要求を受信し、処理し得る。そのような計算要求は、本明細書の後で詳述するように、計算が検出された場合に、実行された計算機能の計算結果を送信デバイス20に送信することなしに、「要求/応答」タイプの計算要求と同様の様式で処理され得る。
【0032】
本発明の実施形態では、第2の計算ユニット200に実装されるハードウェアリソースは複製されない。この場合、公称実行とも称される、計算機能の第1の実行、および冗長実行とも称される、同じ計算機能の第2の実行は、第1の計算ユニット100によってあらかじめ決定された同じ実行コンテキストにおいて、時間上で連続的に第2の計算ユニット200上で実行される。第1の計算ユニット100は、計算機能の第1の実行によって生成された計算結果と計算機能の第2の実行によって生成された計算結果とを受信し、比較するように構成される。
【0033】
本発明の他の実施形態では、とりわけ、第2の計算ユニット200に実装されるハードウェアリソース、プロセッサ、メモリリソースは、第1の計算ユニット100によってあらかじめ決定された同じ実行コンテキストにおいて、所与の計算機能の公称実行と冗長実行とを同時に達成するように複製され得る。そのような実施形態では、第1の計算ユニット100はまた、計算機能の第1の実行によって生成された計算結果と計算機能の第2の実行によって生成された計算結果とを受信し、比較する。
【0034】
有利には、第2の計算ユニット200は、各実行された計算機能によって生成された計算結果にハッシュ関数を適用し得、ハッシュ関数の出力は、計算結果を表す比較パラメータを形成する。一般に、計算結果から比較パラメータを得ることを可能にする任意の方法が第2の計算ユニット200によって実施され得る。この場合、第1の計算ユニット100は、計算結果を受信し、比較する代わりに、比較パラメータを受信し、比較する。これにより、第1の計算ユニット100と第2の計算ユニット200との間で交換されるデータの量を著しく低減することが可能になる。第2の計算ユニット200に実装されるハッシュ関数は、非限定的な例として、SHAファミリー(SHAはSecure Hash Algorithmの頭字語である)に属し得る。「要求/応答」タイプの計算要求の場合、第1の計算ユニット100は、さらに、2つの比較パラメータが有効であり、同じであるときに、計算機能の公称実行に関連づけられた計算結果を受信し得る。当業者は、ハッシュ関数が使用されない場合、比較パラメータは関連づけられた計算機能の計算結果に対応することを理解するだろう。
【0035】
変形形態として、第1の計算ユニット100は、計算機能の各実行に関して実行時間パラメータを計算するように構成され得、実行は公称または冗長であることが可能である。そのような実行時間パラメータは、第1の計算ユニット100による、計算機能の実行のトリガと、比較パラメータの受信とを分離する時間間隔を測定し得る。第1の計算ユニット100は、第2の計算ユニット200上で実行される各計算機能に関して比較時間パラメータを計算するようにさらに構成され得る。そのような比較時間パラメータは、計算機能の公称実行のトリガと、2つの比較パラメータの比較の結果の決定とを分離する時間間隔であり得る。
【0036】
本発明の実施形態では、計算機能の計算結果を表す比較パラメータを有効にするかまたは無効にするために、実行時間しきい値が第1の計算ユニット100によって定義され、使用され得る。たとえば、関連づけられた実行時間パラメータが実行時間しきい値よりも小さい場合に、すなわち、比較パラメータが、実行時間しきい値よりも小さい遅延を伴って受信される場合に、比較パラメータが第1の計算ユニット100によって有効にされ得る。有利には、計算機能の公称実行に関連づけられた比較パラメータは、同じ計算機能の冗長実行に関連づけられた比較パラメータとの比較の前に有効にされ得る。2つの比較パラメータが同じである場合でさえ、少なくとも1つの比較パラメータが無効であるときに、計算エラーが第1の計算ユニット100によって決定され得る。
【0037】
本発明の他の実施形態では、同じ計算機能の公称実行と冗長実行とに関連づけられた2つの比較パラメータの比較の結果を有効にするかまたは無効にするために、比較時間しきい値が第1の計算ユニット100によって定義され、使用され得る。さらに、比較時間しきい値は、公称実行および冗長実行が時間上で連続的に実行されるのか並行して実行されるのかに応じて異なり得る。たとえば、関連づけられた比較時間パラメータが比較時間しきい値よりも小さい場合に、比較結果が第1の計算ユニット100によって有効にされ得る。2つの比較パラメータが有効であり、同じである場合でさえ、比較結果が無効にされたときに、計算エラーが第1の計算ユニット100によって決定され得る。
【0038】
有利には、第1の計算ユニット100は、非限定的な例として述べられる、以下の3つの条件、すなわち、
比較パラメータのうちの少なくとも1つが無効にされた、
比較結果が無効にされた、
少なくとも2つの比較パラメータが同じでない
のうちの少なくとも1つが検出されたときに、計算エラーを検出するように構成され得る。
【0039】
有利には、第1の計算ユニット100は、計算エラーがない場合に正であり得る、計算ステータスを決定するように構成され得る。したがって、本発明の実施形態は、たとえば、計算機能の実行中に起こりやすいランダムエラーを検出することが可能でありながら、それの信頼性レベルが保証されない第2の計算ユニット200上での高い計算能力を使用して計算機能を実行することが可能である駆動パラメータを計算するためのデバイス10を提供する。
【0040】
図2は、本発明の一実施形態による、駆動パラメータを計算するためのデバイス10のアーキテクチャを示す。第1の計算ユニット100は処理モジュール101、102、103、104、105、106のセットを備え、各処理モジュールは、受信された計算要求の処理において使用される特定の調整機能を実装するように構成される。第1の計算ユニット100に属する処理モジュールは、計算能力と信頼性レベルとに関して第1の計算ユニット100と同じ特性を有する。一般に、処理モジュールは、処理モジュールがそれに属する計算ユニットと同じハードウェアリソースおよび/またはソフトウェアリソースを使用する。特に、第1の計算ユニット100に属する各処理モジュールの信頼性レベルはハードウェア冗長技術によって保証され得る。
【0041】
第1の計算ユニット100は、外部送信デバイス20からの、駆動パラメータを計算するためのデバイス10によって受信された計算要求の完全性を検証するように構成された第1の処理モジュール101を備え得る。完全性は、SHAファミリーに属し得る所与のハッシングアルゴリズムによって外部送信デバイス20と協同する様式で第1の処理モジュール101によって検証され得る。この場合、外部送信デバイス20は、計算要求にハッシングアルゴリズムを適用することによって、「シグネチャ」または「フィンガープリント」とも称されるチェックサムを計算するように構成され得る。外部送信デバイス20は、さらに、計算要求と、関連づけられたチェックサムとを同時にまたは時間上で連続的に送り得る。この場合、第1の処理モジュール101は、計算されたチェックサムを外部送信デバイス20によって送信されたチェックサムと比較する前に、受信された計算要求に同じハッシングアルゴリズムを適用するように構成され得る。2つのチェックサムが同じである場合、第1の処理モジュール101は、計算要求を処理することを目的として計算要求を別の処理モジュールに送信し得る。
【0042】
有利には、第1の計算ユニット100は、受信された計算要求の処理に関連づけられた計算機能であって、第2の計算ユニット200上で実行される計算機能の実行コンテキストを決定するために、それの完全性があらかじめ検証されている計算要求を受信することが可能な第2の処理モジュール102を備え得る。第2の処理モジュール102による実行コンテキストの決定は、計算機能の実行において要求されるすべての入力パラメータを決定することからなり得る。入力パラメータの例は、例として、計算機能によって実装される数式に関与する固定量の値、乱数、公称実行がトリガされた時間などの時間情報、入力変数などを含み得る。より一般的には、計算コンテキストの決定は、ランダム計算エラーがない場合、計算結果に影響を及ぼしやすいすべての入力パラメータを定義することにある。さらに、第2の処理モジュール102は、第2の計算ユニット200上の計算機能の実行をトリガするように構成され得る。たとえば、第2の処理モジュール102は計算機能の公称実行と冗長実行とを同時にトリガし得る。
【0043】
決定された計算コンテキストは、第1の計算ユニット100に属し、第2の計算ユニット200と通信するように構成された、第3の処理モジュール103によって受信され得る。そのような通信は、暗号化されることも暗号化されないこともあり、たとえば数Gb/s程度の高いスループットと、たとえば1マイクロ秒未満の低いレイテンシとを与える通信媒体によって実行され得る。
【0044】
第1の計算ユニット100は、第2の計算ユニット200によって供給された、計算結果および/または計算結果を表す比較パラメータを受信することが可能な、第4の処理モジュール104をさらに備え得る。そのような計算結果および/または比較パラメータは、次いで、第5の処理モジュール105によって受信され、処理され得る。第5の処理モジュール105は、比較パラメータを比較することによって、および関連づけられた実行と比較時間パラメータとを監視することによって、計算エラーを検出するように構成され得る。計算デバイスによって処理される「要求/応答」タイプの計算要求に関する計算エラー(正の計算ステータス)がない場合、第5の処理モジュール105は、正の計算ステータスの通知を用いて関連づけられた計算結果をフォーマット化するようにさらに構成され得る。有利には、第6の処理モジュール106は、第1の計算ユニット100に実装され得、また、処理された計算要求への応答を作成することを目的として、計算結果と正の計算ステータスの通知とを受信するか、または計算ダイバージェンスの通知、すなわち負の計算ステータスの通知を受信するように構成され得る。随意に、第6の計算ユニットは、外部送信デバイス20によって使用されるものなど、ハッシングアルゴリズムを使用してチェックサムを計算するように構成され得る。
【0045】
第1の計算ユニット100と同様に、第2の計算ユニット200は、計算機能を実行するために使用される複数の計算モジュール201、202、203、204、205を備え得る。第2の計算ユニット200を形成する計算モジュールの信頼性レベルは保証されないことがある。その上、第2の計算ユニット200に実装される計算モジュールは複製する必要はない。この場合、計算機能の公称実行と冗長実行とは、相互接続された計算モジュールのセットを指定する本発明の実施形態によるコンピュータである、同じコンピュータ上で時間上で連続的に実行される。代替的に、第2の計算ユニット200を形成する計算モジュールは、2つの別個のコンピュータ上での時間に伴う並列の計算機能の公称実行と冗長実行とを可能にするように複製され得る。いくつかの実施形態についての以下の説明は、主に、第2の計算ユニット200に実装されるコンピュータを形成する計算モジュールに関して与える。
【0046】
第2の計算ユニット200は、計算機能の実行を伴う計算要求に関して、実行コンテキストと、計算機能の公称実行をトリガする第1の指令と、同じ計算機能の冗長実行をトリガする第2の指令とを受信するように、第1の計算ユニット100と通信することが可能な第1の計算モジュール201を備え得る。
【0047】
第2の計算ユニット200は、駆動パラメータを計算するためのデバイス10によって処理される過程において、計算要求に関連づけられた計算機能を、決定された実行コンテキストにおいて実行するように構成された第2の計算モジュール202をさらに備え得る。実行コンテキストにおける計算機能の実行は計算結果を供給する。たどるべき最適なルートの計算についての要求の例では、計算結果は、計算された最適なルートを形成する道路セクションのすべてを含み得る。
【0048】
さらに、第2の計算ユニット200は、それぞれ、計算機能の実行によって生成された計算結果を受信するように、および、受信された計算結果を揮発性メモリに、すなわち一時的に保存するように構成された、第3の計算モジュール203と第4の計算モジュール204とを備え得る。
【0049】
有利には、第2の計算ユニット200は、計算結果を受信することと、受信された計算結果に所与のハッシュ関数を適用することとが可能な第5の計算モジュール205をさらに備え、これにより、よりコンパクトであり、したがって処理モジュール104に送り返すのがより速く、処理モジュール105が処理することがより可能な、計算結果を表す比較パラメータを供給する。
【0050】
図3は、本発明の別の実施形態による、駆動パラメータを計算するためのデバイス10のアーキテクチャを示す。そのような実施形態では、計算デバイスは、駆動パラメータを計算するためのデバイス10によって受信された1つまたは複数の計算要求を処理するために必要とされる生データのフローを供給する外部センサ12に接続される。外部センサ12は、たとえば、車両に搭載されるカメラであり得る。この場合、対応する計算機能の実行が生データのそのようなフローをそれに対して使用する、計算要求の受信に応答して、第2の計算ユニット200は、外部センサ12によって直接供給された生データのフローを受信するように構成され得、すなわち、生データのフローは第1の計算ユニット100を通らない。さらに、第1の計算ユニット100は、外部センサ12から第2の計算ユニット200への生データのフローの送信の通知を受信するように構成され得る。
【0051】
図3に関して説明した実施形態では、計算機能の公称実行と冗長実行とは時間上で並行して実行される。この場合、生データのフローは、同じ計算機能を実行する2つの計算モジュールによって同時に受信される。代替的に、2つの公称実行および冗長実行が時間上で連続的に実行された場合、第2の計算ユニット200は、計算機能の冗長実行中に使用することを目的として生データのフローを一時的に保存するように構成され得る。
【0052】
本発明の実施形態では、第1の計算ユニット100は、公称実行および冗長実行が時間上で並行して実行される第1の実行モードと、公称実行および冗長実行が時間上で連続的に実行される第2の実行モードとの中から、計算機能の実行モードを決定するようにさらに構成され得る。第1の計算ユニット100による実行モードの選択では、たとえば、計算要求を送ったデバイス20のレイテンシに関する要件を考慮に入れることがある。
【0053】
図4は、本発明の一実施形態による、駆動パラメータを計算するための方法のステップを示すフローチャートである。計算方法は、本発明の実施形態による、第1の計算ユニット100と第2の計算ユニット200とを備える計算デバイスにおいて実施され得る。
【0054】
ステップ401では、第1の計算ユニット100が外部送信デバイス20からの駆動パラメータ計算要求を受信し得る。受信された計算要求は、第1の計算ユニット100によって決定された実行コンテキストにおける第2の計算ユニット200上の対応する計算機能の実行を伴う。本発明の実施形態では、受信された計算要求の処理は、外部センサ12によって供給された生データのフローをさらに必要とし得る。有利には、ステップ401は、受信された計算要求の完全性の検証をさらに含み得る。したがって、それの完全性が検証される計算要求のみが、駆動パラメータを計算するためのデバイス10によって処理されることになる。
【0055】
ステップ402では、第1の計算ユニット100は、たとえば、計算機能を実行するために必要とされるすべての入力パラメータを決定することによって、計算機能の実行コンテキストを決定し得る。有利には、ステップ402は、計算機能の実行モードを決定することをさらに含み得、実行モードは、公称実行および冗長実行が時間上で並行して実行される第1の実行モードと、公称実行および冗長実行が時間上で連続的に実行される第2の実行モードとの中から選定され得る。図4の説明の残りは、主に、例示的な例として、第1の実行モードに関して与える。
【0056】
ステップ403では、第1の計算ユニット100は、第2の計算ユニット200上の計算機能の第1の実行(公称実行)をトリガし得る。計算機能の公称実行は、第1の計算結果と、第1の計算結果を表す第1の比較パラメータとを含む第1の出力を提供する。有利には、比較パラメータは、対応する計算結果にハッシュ関数を適用することによって得られ得る。ステップ403は、第1の比較パラメータに関連づけられた第1の実行時間パラメータを決定することをさらに含み得る。
【0057】
ステップ404では、第1の計算ユニット100が第2の計算ユニット200上の計算機能の第2の実行(冗長実行)をトリガし得る。計算機能の冗長実行は、関連づけられた公称実行と同じ実行コンテキストにおいて実行される。さらに、計算機能の公称実行と冗長実行とは時間上で並行して実行される。計算機能の冗長実行は、第2の計算結果と、第2の計算結果を表す第2の比較パラメータとを含む第2の出力を提供する。ステップ404は、第2の比較パラメータに関連づけられた第2の実行時間パラメータを決定することをさらに含み得る。
【0058】
ステップ405では、第1の計算ユニット100は、第1の比較パラメータと第2の比較パラメータとを受信し、比較し得る。2つの比較パラメータは同じであることも異なることもある。ステップ405は、さらに、比較時間パラメータを比較の結果に関連づけることにあり得る。
【0059】
ステップ406では、第1の計算ユニット100は、ステップ405において決定された比較の結果に応じて、および、上記で詳述したような、比較パラメータと比較の結果とを有効にするかまたは無効にするために使用される実行時間パラメータと比較時間パラメータとの関数として、受信された計算要求に関連づけられた計算ステータスを決定し得る。計算エラーが検出されなった場合、すなわち、2つの比較パラメータが同じであり、有効である場合、および計算結果も有効である場合は、計算ステータスは正であることが決定される。反対に、計算エラーが検出されたとき、たとえば、パラメータもしくは比較結果が無効であるとき、または2つの比較パラメータが同じでないときは、計算ステータスは負であることが決定される。
【0060】
有利には、「要求/応答」タイプの計算要求について、計算方法は、計算結果と正の計算ステータスの通知とを、計算要求を送ったデバイス20に送信することにある追加のステップをさらに含み得る。
【0061】
図5は、本発明の別の実施形態による、駆動パラメータを計算するための方法を示す。図5の方法は、反復的である点で図4の方法と異なり、図4の方法のステップ402~406は、計算ステータスが正になるまで有限の回数繰り返される。図5の方法のステップ407は、計算結果と正の計算ステータスの通知とを、計算要求を送ったデバイス20に送信することにある。
【0062】
本発明の実施形態は、したがって、車両など、任意の移動体に搭載され得る、駆動パラメータを計算するためのデバイス10を提供する。計算デバイスにより、自律走行車に実装されるものなど、制御アプリケーションに適合する高い計算能力と高い完全性レベルとを必要とする計算要求を処理することが可能になる。有利には、本発明の実施形態によれば、それの信頼性レベルが保証されない第2の計算ユニット200上で、対応する計算機能を2回実行することによって、計算要求が処理される。
【0063】
実施形態による、駆動パラメータを計算するための方法は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せによって様々な方法で、特に、配信され得るプログラムコードの形態で、プログラム製品の形態で、様々な形態で、実装され得ることを、当業者は理解するだろう。特に、プログラムコードは、コンピュータ可読記憶媒体と通信媒体とを含み得るコンピュータ可読媒体を使用して配信され得る。本明細書で説明した方法は、特に、計算デバイス中の1つまたは複数のプロセッサが実行することが可能なコンピュータプログラム命令の形態で実装され得る。これらのコンピュータプログラム命令はコンピュータ可読媒体にも記憶され得る。
【0064】
本発明は、非限定的な例として上記で説明した実施形態に限定されない。本発明は、当業者によって想定され得るすべての変形実施形態を包含する。
図1
図2
図3
図4
図5
【国際調査報告】