JP7458521B2 - 制御システム上の機能の実行を最適化する方法およびそのための装置 - Google Patents

制御システム上の機能の実行を最適化する方法およびそのための装置 Download PDF

Info

Publication number
JP7458521B2
JP7458521B2 JP2023010931A JP2023010931A JP7458521B2 JP 7458521 B2 JP7458521 B2 JP 7458521B2 JP 2023010931 A JP2023010931 A JP 2023010931A JP 2023010931 A JP2023010931 A JP 2023010931A JP 7458521 B2 JP7458521 B2 JP 7458521B2
Authority
JP
Japan
Prior art keywords
solution
solutions
hardware components
control function
desirability
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
JP2023010931A
Other languages
English (en)
Other versions
JP2023164278A (ja
Inventor
バスティエン ジャーン-フランスワー
ラパニク ドミトリ
Original Assignee
ウーブン・バイ・トヨタ株式会社
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 ウーブン・バイ・トヨタ株式会社 filed Critical ウーブン・バイ・トヨタ株式会社
Publication of JP2023164278A publication Critical patent/JP2023164278A/ja
Application granted granted Critical
Publication of JP7458521B2 publication Critical patent/JP7458521B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本開示は、制御システムの動作に関し、より詳細には、ハードウェアコンポーネントおよびハードウェアコンポーネント間の通信接続の特性に基づいて、多数のハードウェアコンポーネント上で制御機能を実行するために制御システムを最適化することに関する。
埋込み型ハードウェアおよびソフトウェアを格納するデバイスのための制御システムの開発が進むにつれて、デバイス内で使用されるハードウェアコンポーネントの開発速度もまた進展してきた。デバイスのオペレーティングシステムプラットフォーム、ライブラリまたはプラットフォーム上のアプリケーションが開発されるとき、オペレーティングシステムは、デバイス内に含まれるハードウェアコンポーネント(例えばセンサ、マイクロプロセッサ、カメラなど)向けに特定的に設計される。したがって、新しいハードウェアコンポーネントを含む新規モデルを設計する場合、または、既存モデル上のハードウェアコンポーネントを異なるハードウェアコンポーネントで置換する場合、ソフトウェアの互換性および継続的機能性を保証するために、ソフトウェアを手作業で更新しなければならない。
新しいハードウェアコンポーネントを含むデバイスを設計する場合、または既存のデバイス上のハードウェアコンポーネントを異なるハードウェアコンポーネントで置換する場合、ソフトウェアエンジニアには、プロセスが実行される「場所」およびオペレーティングシステムを開発するときにデバイス内でデータ信号が送信される「経路」を手作業で決定することが求められる。このプロセスは時間がかかり、労働集約的であり、ソフトウェア内でのテストやシミュレーションが困難であり、既存のオペレーティングシステムプラットフォームにハードウェアコンポーネントを組込む速度は制限される。
本開示は、問題に対するソリューションが実行される「場所」および「経路」を、事前に静的にあるいは実行時に動的に決定する問題解決アーキテクチャを提供する。
本開示の一態様によると、複数のハードウェアコンポーネントを含む制御システム上での制御機能の実行を最適化する方法には、複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定するステップと;複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、複数のハードウェアコンポーネントを用いて制御機能を実行するための複数のソリューションを生成するステップと;各ソリューションの望ましさに基づいて複数の生成されたソリューションにスコア付けするステップと;最高の望ましさスコアを有するソリューションを選択するステップと;選択されたソリューションに基づいて制御機能を実行するように制御システムを制御するステップと;が含まれる。
該方法は、各ソリューションの望ましさを増大させるために複数の生成されたソリューションを最適化するステップをさらに含み得る。
該方法は、複数の生成されたソリューションの中から1つ以上の有効なソリューションを得るステップであって、有効なソリューションが複数のハードウェアコンポーネントを用いて制御機能を実行する能力を有しているステップと;機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、有効なソリューションを修正するステップと;をさらに含み得る。
該方法は、機械学習を用いて各ソリューションの望ましさスコアを改善するように複数の生成されたソリューションを修正するステップと;最高の望ましさスコアを有する複数の修正済みソリューションの中から1つのソリューションを、選択されたソリューションとして選択するステップと;をさらに含み得る。
該方法は、予め決定された期間にわたって複数のソリューションを生成するステップをさらに含み得る。期間の終りにおいて最高の望ましさスコアを有するソリューションが、選択されたソリューションとして選択され得る。
該方法は、予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して複数のソリューションの生成を終了するステップをさらに含み得る。
各々の生成されたソリューションは、複数のハードウェアコンポーネントのうち制御機能が実行される1つ以上のハードウェアコンポーネント、および1つ以上のハードウェアコンポーネントへおよびこのハードウェアコンポーネントからデータが送信される経路を標示し得る。
本開示の別の態様によると、制御システムには、命令を記憶する少なくとも1つのメモリと;命令を実行するように構成された少なくとも1つの主プロセッサと;少なくとも1つの主プロセッサと通信状態にあり、各々少なくとも1つのプロセッサを含む、複数のハードウェアコンポーネントと;が含まれ得る。少なくとも1つの主プロセッサは:複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定し;複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、複数のハードウェアコンポーネントを用いて制御機能を実行するための複数のソリューションを生成し;各ソリューションの望ましさに基づいて、複数の生成されたソリューションにスコア付けし;最高の望ましさスコアを有するソリューションを選択し;選択されたソリューションに基づいて制御機能を実行するように制御システムを制御する;ための命令を実行するように構成されていてよい。
少なくとも1つの主プロセッサはさらに、各ソリューションの望ましさを増大させるために複数の生成されたソリューションを最適化するための命令を実行するように構成され得る。
少なくとも1つの主プロセッサはさらに、複数の生成されたソリューションの中から、複数のハードウェアコンポーネントを用いて制御機能を実行する能力を有する1つ以上の有効なソリューションを得;かつ機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、有効なソリューションを修正する;ための命令を実行するように構成されていてよい。
少なくとも1つの主プロセッサはさらに、機械学習を用いて各ソリューションの望ましさスコアを改善するように複数の生成されたソリューションを修正し;かつ最高の望ましさスコアを有する複数の修正済みソリューションの中から1つのソリューションを、選択されたソリューションとして選択する;ための命令を実行するように構成されていてよい。
少なくとも1つの主プロセッサはさらに、予め決定された期間にわたって複数のソリューションを生成するための命令を実行するように構成されていてよい。期間の終りにおいて最高の望ましさスコアを有するソリューションが、選択されたソリューションとして選択され得る。
少なくとも1つの主プロセッサはさらに、予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して複数のソリューションの生成を終了するための命令を実行するように構成されていてよい。
各々の生成されたソリューションは、複数のハードウェアコンポーネントのうち制御機能が実行される1つ以上のハードウェアコンポーネント、および1つ以上のハードウェアコンポーネントへおよびこのハードウェアコンポーネントからデータが送信される経路を標示する。
本開示のさらに別の態様によると、非一時的コンピュータ可読媒体は、電子デバイスの少なくとも1つのプロセッサにより実行された時点で、少なくとも1つのプロセッサに:複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定させ;複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、複数のハードウェアコンポーネントを用いて制御機能を実行するための複数のソリューションを生成させ;各ソリューションの望ましさに基づいて複数の生成されたソリューションにスコア付けさせ;最高の望ましさスコアを有するソリューションを選択させ;選択されたソリューションに基づいて制御機能を実行するように制御システムを制御させる;命令を記憶することができる。
少なくとも1つのプロセッサはさらに、各ソリューションの望ましさを増大させるために複数の生成されたソリューションを最適化するための命令を実行するように構成されていてよい。
少なくとも1つのプロセッサはさらに:複数の生成されたソリューションの中から、複数のハードウェアコンポーネントを用いて制御機能を実行する能力を有する1つ以上の有効なソリューションを得;かつ機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、有効なソリューションを修正する;ための命令を実行するように構成されていてよい。
少なくとも1つのプロセッサはさらに:機械学習を用いて各ソリューションの望ましさスコアを改善するように複数の生成されたソリューションを修正し;最高の望ましさスコアを有する複数の修正済みソリューションの中から1つのソリューションを、選択されたソリューションとして選択する;ための命令を実行するように構成されていてよい。
少なくとも1つのプロセッサはさらに、予め決定された期間にわたって複数のソリューションを生成するように構成されていてよい。期間の終りにおいて最高の望ましさスコアを有するソリューションが、選択されたソリューションとして選択され得る。
少なくとも1つのプロセッサはさらに、予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して複数のソリューションの生成を終了するための命令を実行するように構成されていてよい。
各々の生成されたソリューションは、複数のハードウェアコンポーネントのうち制御機能が実行される1つ以上のハードウェアコンポーネント、および1つ以上のハードウェアコンポーネントへおよびこのハードウェアコンポーネントからデータが送信される経路を標示することができる。
本開示の例示的実施形態の特徴、利点および技術的および工業的意義が以下で添付図面に関連して説明されるものとし、図面中では同様の番号が同様の要素を示している。
図1は、一実施形態に係る制御システム上での一機能の実行を最適化する方法の概要の流れ図である。 図2は、一実施形態に係る例示的制御システムの略図である。 図3は、一実施形態に係る制御システムの例示的ハードウェアコンポーネントの略図である。
本開示に係る方法は、1つの機能が実行される「場所」および「経路」を、事前に静的にあるいは実行時に動的に決定する制御システム最適化アーキテクチャを提供する。車両のような複雑な制御システムを有するデバイス、モノのインターネット(IoT)上で動作するデバイスなどにおいては、全て1つのプログラムまたはそのサブセットを実行する能力を有するコンピュータプロセッサおよび/または特定用途向けコンピュータデバイスを含む複数のハードウェアコンポーネントが存在し得る。これらのコンポーネントの各々は、異なるタイプの接続を用いて相互接続され得、異なるソフトウェアベースのメカニズムにより内部的に通信可能である。各接続タイプは、ハードウェアコンポーネントの能力により制限される異なる特性を有し得る。さらに、各ハードウェアコンポーネントは、ハードウェアコンポーネント内に含まれるプロセッサのタイプおよびメモリなどの他の資源の利用可能性に基づいて、異なる処理能力を有し得る。提供されている制御システム最適化アーキテクチャは、所与のハードウェアコンポーネントを用いてどのようにして所望の機能を最良の形で実施すべきかを、事前に静的にあるいは実行時に動的に決定することができる。
場所および経路についてのソリューションは、コードをどこで実行するか、そして通信がどのように搬送されるかを決定する。例えば、多数のコンピュータ電子制御ユニット(ECU)を搭載した接続された車両において、各ECU上ならびにクラウド内でコードを実行する。1つのECU中では、主中央処理ユニット(CPU)上、アクセラレータ、グラフィクス・プロセッシング・ユニット(GPU)上でコードを実行し得ると考えられ、特定のコアならびに特定のハイパバイザ、オペレーティングシステム、プロセスまたはスレッドに対し付着可能であると考えられる。状況(例えば冗長性のニーズ、電力制限、接続性の問題など)に対し動的に適応するため、1つのまたは多数のコードコピーが存在し得る。異なる機能間の通信メカニズムは、場所と経路に基づいて決定される。例えば、イーサネット、Wifi、5G、コントローラ・エリア・ネットワーク(CAN)、共有メモリ、パイプ、循環バッファまたは他の通信メカニズム上で、通信が発生し得ると考えられる。
図1は、一実施形態に係る制御システム上での一機能の実行を最適化する方法の概要の流れ図である。
図1を参照すると、動作110において、制御システム内の複数のハードウェアコンポーネントの各々の処理能力および通信能力を決定することができる。これには、機能および通信をマッピングするトポロジ情報が含まれ得る。トポロジ情報は、各々のコンピュータデバイス、例えばCPU、それらの能力(コア数、計算能力、信頼性特性など)、それらの間の通信、利用可能なクラウド資源などを含むことができる。
通信データストリームのいくつかは、実際のハードウェア(例えばカメラ、ライダ、ソナー、レーダ)によって生成され得、一方他のデータストリームは、ソフトウェア(個別の機能)によって生成され得る。ハードウェアにより生成された通信は同様に、先行記録済みデータストリームをリプレーすることによってか、またはソフトウェアを用いてハードウェアをエミュレートすることによってシミュレート可能である。
動作120において、制御機能を実行するための多数のソリューションを、得られた処理能力および通信能力の制約条件内で生成することができる。ソリューションには、処理が行なわれる1つ以上の場所(例えばハードウェアコンポーネント)および1つ以上の場所の間でデータが送信される経路が含まれ得る。
一実施形態によると、手作業入力またはコンピュータにより生成された入力であり得る初期推測を行なうこと、および離散的最適化、線形計画法などの機能最適化技術を用いて目的機能を最適化することによって、多数のソリューションを生成することができる。
別の実施形態によると、確率的最適化を用いて多数のソリューションを生成することができる。この実施形態は、ヒューリスティクスを用いたランダム試行を行なうことができる。確率的最適化を実装する際には、より良いソリューションを発見する確率の高い方法で修正アルゴリズムに対して変換を教示することができる。
別の実施形態によると、予備学習ソリューションによる機械学習を用いて、ソリューションを生成することができる。予備学習ソリューションは、例えば確率的最適化を通して、目的最適化を伴う初期推定を通して、または人間による手渡しを通して、計算コストの高い方法で得ることができるが、本開示はこれらの例に限定されない。
動作130においては、ひとたび多数のソリューションが生成されると、各ソリューションの有効性を確認することができる。すなわち、方法100は、所与の特性(ハードウェアコンポーネントおよびハードウェアコンポーネント間の通信経路の特性)に基づいて問題を解決する(制御機能を行なう)ことのできるのはどのソリューションであるかを決定する。
有効なソリューションを発見できない場合には、ベリファイヤ(例えばSMTソルバ)は、何が有効なソリューションの発見を妨げているかの診断を出力することができる。診断は、このとき、人間の介入によってかまたは機械学習を用いた方法を通して行なわれ得る。
動作140では、有効なソリューションは、スコア付けアルゴリズムを用いて望ましさに基づきスコア付けされ得る。例えば、電力使用量、短い待ち時間、安全マージン、干渉の不在、有効化フィーチャ、商用チャネルの飽和度、存在するセキュリティリスクの低さに基づいて、有効なソリューションにスコア付けすることができる。しかしながら、本開示は、これらの例に限定されない。
ソリューションが発見されたもののスコアの高さが不充分である場合には、ベリファイヤおよびスコア付けアルゴリズムは、ソリューションを過度に制約しより高いスコアを妨げる設計上の決断を発見するためにいずれの人間または機械学習に基づくモデルが分析を行なうことができるかの診断を出力することができる。
動作150では、スコア付けされたソリューションを最適化することができる。すなわち、問題に対するより良いソリューションを得るための後続する修正の出発点として、複数のスコア付けされたソリューションを使用することができる。一実施形態によると、修正のために最高スコアのソリューションを選択することができる。
次に、より高いスコアを得る修正済みソリューションを、最適化されたソリューションとして選択することができる。一実施形態によると、無効となる修正済みソリューションを、有効なソリューションを得るためにさらに最適化可能な最適化されたソリューションとして選択することができる。これにより、さらに高いスコアを有するソリューションが提供され得、こうして局所的最適条件を回避するためのソリューションアルゴリズムが導かれる。
ベイズ法などの機械学習に基づく最適化において、非最適修正を行なうことも可能である。これらの非最適ソリューションは、機械学習に基づくモデルの最適化戦略を改善することができる。
最適化修正は、制限時間に達するまで、予め決定された閾値を超えるスコアを有するソリューションが得られるまで、スコアが有意に変化しなくなるまで、または2つのソリューションの望ましさスコア間の差が閾値を超えるまで、反復的に行なわれてよい。
ソリューションを最適化するとき、各機能の特性のいくつかをプログラムで誘導することができる。例えば、コードをコンパイルし解析して、どれほどの時間が実行に必要かを推定することができる。このプログラムで誘導された情報は、開発者提供情報がアルゴリズムに入力されるのと同じように、アルゴリズムへの入力として処理される。
ソリューションを最適化する場合、各通信の特性のいくつかをプログラムで誘導することもできる。例えば、異なる安全性レベルを有する2つの機能は通信可能であるが、より高い安全性レベル要件を掲げる(例えばチェックサムおよびハートビートを有する)通信メカニズムしか使用できない。
動作160では、最適化されたソリューションに等級付けすることができる。等級付けは、スコア付けアルゴリズムと類似のアルゴリズムを用いてスコア付けと同じ基準に基づいて行なうことができる。
動作170では、制御システムによって、最高の等級を有するソリューションが行なわれ得る。すなわち、最高の等級を有するソリューションは、制御機能のための必要な処理を行なう1つ以上のコンポーネント、ならびに制御機能を行なうためにデータが必要とされている場所までそのデータを移動させるための通信経路を指定することになる。
図2は、一実施形態に係る制御システムの略図である。
図2に示されているように、制御システム20は、多数のハードウェアコンポーネント21、22、23および24、多数の通信経路41、42、43、44、45および46、および多数の出力デバイス51および52を含む。
ハードウェアコンポーネント21~24の各々は、異なる特性および能力を有し得る。例えば、ハードウェアコンポーネント21~24は、異なる量の処理力、異なるタイプのプロセッサ、異なる量のメモリ、および/または異なる資源へのアクセスを有し得る。しかしながら、本開示は、これらの例に限定されない。
同様にして、通信経路41、42、43、44、45および46の各々は、異なる特性を有し得る。例えば通信経路の各々は、異なる速度でデータを転送できる可能性があり、異なるタイプの暗号化を使用でき、かつ/または、異なる安全性レベルを有し得る。しかしながら、本開示は、これらの例に限定されない。例えば、図2に示された実施形態において、経路41は、最高のデータ転送速度を提供してよく、経路43は、第1の技術を用いてデータをエンコードしてよく、経路44は、第2の技術を用いてデータをエンコードしてよく、経路42、45および46は、低い転送速度を提供してもよい。
出力デバイス51および52は、制御機能によって制御され得る。例えば、制御システム20が車両用である場合、ハードウェアコンポーネント23は、エンジン制御ユニット(ECU)であり得、ハードウェアコンポーネント24は、トランスミッション制御ユニット(24)であり得、出力デバイス51は、エンジンであり得、出力デバイス52はトランスミッションであり得る。
一実施形態によると、制御機能を実行するために制御システムを最適化する方法100には、制御機能の処理を行なうための最適化された場所を得るステップと、ハードウェアコンポーネント21~24の処理特性および通信経路41~46の特性に基づいて対応するデータを伝送するための最適化された通信経路を得るステップが含まれ得る。
図3は、一実施形態に係るハードウェアコンポーネントの略図である。図3に示されているように、ハードウェアコンポーネント300は、バス310、プロセッサ320(または少なくとも1つのプロセッサ)、メモリ330(または少なくとも1つのメモリ)、記憶コンポーネント340、入力コンポーネント350、出力コンポーネント360および通信インタフェース370を含むことができる。
バス310は、デバイス300のコンポーネント間での通信を可能にするコンポーネントを含むことができる。すなわち、バス310は、デバイス300のコンポーネント間でのデータおよび情報の転送を可能にする通信システムまたはサブシステムである。
プロセッサ320は、ハードウェア、ファームウェアまたはハードウェアとソフトウェアの組合せの形で実装されてよい。プロセッサ320は、中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)、加速処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)または別のタイプの処理コンポーネントのうちの少なくとも1つを含み得る。いくつかの実施形態において、プロセッサ320は、一機能を行なうようにプログラミングされる能力を有する1つ以上のプロセッサを含む。
メモリ330は、プロセッサ320による使用のための情報および/または命令を記憶する。メモリ330は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)および/または情報および/または命令を記憶するための別のタイプの動的または静的記憶デバイス(例えばフラッシュメモリ、磁気メモリおよび/または光メモリ)のうちの少なくとも1つを含むことができる。
記憶コンポーネント340は、デバイス300の動作および使用に関連する情報および/またはソフトウェアを記憶することができる。例えば、記憶コンポーネント340は、ハードディスク(例えば、磁気ディスク、光ディスク、磁気光ディスク、および/または固体ディスク)、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、フロッピディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブと共に含み得る。
入力コンポーネント350は、デバイス300が、例えばユーザ入力(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチおよび/またはマイクロホン)を介して情報を受信できるようにするコンポーネントを含み得る。付加的にまたは代替的に、入力コンポーネント350は、情報を感知するためのセンサ(例えば全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープおよび/またはアクチュエータ)を含むことができる。出力コンポーネント360は、デバイス300からの出力情報を提供するコンポーネント(例えばディスプレイ、スピーカ、1つ以上の発光ダイオード(LED)、外部ディスプレイまたはスピーカに接続するためのインタフェースなど)を含むことができる。
通信インタフェース370は、デバイス300が、例えば有線接続、無線接続または有線および無線接続の組合せを介して他のデバイスと通信できるようにする送受信機様のコンポーネント(例えば送受信機および/または別個の受信機と送信機)を含み得る。通信インタフェース370は、デバイス300が、別のデバイスから情報を受信しかつ/または別のデバイスに情報を提供することを可能にし得る。例えば、通信インタフェース370は、イーサネットインタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラーネットワークインタフェースなどを含み得る。通信インタフェース370は、制御システム内部の通信路の一端部、例えば図2の通信路41~46のいずれか1つの一端部として作用し得る。
デバイス300は、制御機能を実行するための1つ以上のプロセスを行なうことができる。デバイス300は、例えばメモリ330および/または記憶コンポーネント340などの非一時的コンピュータ可読媒体中に記憶されたソフトウェア命令を実行するプロセッサ320を介して、これらのプロセスを行なうことができる。コンピュータ可読媒体とは、本明細書では、非一時的メモリデバイスとして定義される。メモリデバイスには、単一の物理的記憶デバイス内部のメモリ空間または多数の物理的記憶デバイスを横断して広がるメモリ空間が含まれる。
ソフトウェア命令は、別のコンピュータ可読媒体または別のデバイスから通信インタフェース370を介してメモリ330および/または記憶コンポーネント340内に読み込まれ得る。実行された時点で、メモリ330および/または記憶コンポーネント340内に記憶されたソフトウェア命令は、プロセッサ320に、本明細書中に記載の1つ以上のプロセスを行なわせることができる。付加的にまたは代替的には、本明細書中に記載の1つ以上のプロセスを行なうためにソフトウェア命令の代りにまたはソフトウェア命令と組合せた形で、ハードワイヤード型回路を使用することができる。したがって、本明細書中に記載の実装は、ハードウェア回路とソフトウェアのいずれかの具体的組合せに限定されない。
図3に示されたコンポーネントの数および配設は、一例として提供されている。実際には、デバイス300は、図3に示されたものと比べて、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる形で配設されたコンポーネントを含むことができる。付加的にまたは代替的に、デバイス300の1組のコンポーネント(例えば1つ以上のコンポーネント)は、デバイス300の別の1組のコンポーネントによって行なわれているものとして説明された1つ以上の機能を行なうことができる。
上述のように、実施形態に係る方法およびシステムは、反復的に多数のソリューションを生成し所望の基準に基づいて最良のソリューションを選択することにより、制御システムの使用を最適化する。ソリューションは、最良のソリューションが実行のために選択される前に、1回以上増強される。
以上の開示は、例示および説明を提供しているが、網羅的であるようにまたは開示された精確な形態に実装を限定するように意図されたものではない。以上の開示に照らして、修正および変形形態が可能であり、それらは実装を実践することで獲得可能である。
本明細書中で使用されるコンポーネントなる用語は、広範にハードウェア、ファームウェアまたはハードウェアとソフトウェアの組合せとみなされるように意図されている。
本明細書中に記載のシステムおよび/または方法は、異なる形態のハードウェア、ファームウェアまたはハードウェアとソフトウェアの組合せで実装可能であることは、明白である。これらのシステムおよび/または方法を実装するために使用された実際の特化された制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、本明細書において、具体的ソフトウェアコードに言及することなく説明されており、本明細書中の説明に基づいてシステムおよび/または方法を実装するためにソフトウェアおよびハードウェアが設計され得るということが理解される。
特徴の特定の組合せがクレーム中に列挙されかつ/または明細書中で開示されているとしても、これらの組合せは、考えられる実装の開示を限定するように意図されていない。実際、これらの特徴の多くが、クレーム中に具体的に列挙されていないおよび/または明細書中で開示されていない形で組合せ可能である。以下に記載の各々の従属クレームは1つのクレームのみに直接従属するかもしれないものの、考えられる実装の開示には、クレームセット内の他の全てのクレームと組合せた形での各々の従属クレームが含まれる。
本明細書中で使用されるいかなる要素、行為または命令も、そのように明示的に記載されているのでないかぎり、重大なものまたは不可欠なものとみなされるべきではない。同様に、本明細書中で使用される冠詞「a」および「an」は、1つ以上のアイテムを含むように意図されており、「1つ以上(one or more)」と互換的に使用され得る。さらに、本明細書中で使用される「組」なる用語は、1つ以上のアイテム(例えば関連アイテム、非関連アイテム、関連アイテムと非関連アイテムの組合せなど)を含むように意図され、「1つ以上」と互換的に使用され得る。唯1つのアイテムが意図される場合、「1つ」なる用語または類似の言語が使用される。同様に、本明細書中で使用される「has」、「have」、「having」(~を有する)などの用語は、開放型専門用語として意図されている。さらに「~に基づく」なる用語は、別段の明示的記載の無いかぎり、「少なくとも部分的に~に基づく」を意味するように意図されている。

Claims (19)

  1. 複数のハードウェアコンポーネントを含む制御システム上での制御機能の実行を最適化する方法において:
    前記複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定するステップと;
    前記複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、前記複数のハードウェアコンポーネントを用いて前記制御機能を実行するための複数のソリューションを生成するステップと;
    各ソリューションの望ましさに基づいて前記複数の生成されたソリューションにスコア付けするステップと;
    最高の望ましさスコアを有するソリューションを選択するステップと;
    前記選択されたソリューションに基づいて前記制御機能を実行するように前記制御システムを制御するステップと;
    を含み、
    各々の生成されたソリューションは、前記複数のハードウェアコンポーネントのうち前記制御機能が実行される1つ以上のハードウェアコンポーネントと、前記制御機能を行なうためにデータが必要とされている前記1つ以上のハードウェアコンポーネントまで当該データを移動させるための通信経路と、を標示する、
    方法。
  2. 各ソリューションの望ましさを増大させるために前記複数の生成されたソリューションを最適化するステップをさらに含む、
    請求項1に記載の方法。
  3. 前記複数の生成されたソリューションの中から1つ以上の有効なソリューションを得るステップであって、前記有効なソリューションが前記複数のハードウェアコンポーネントを用いて前記制御機能を実行する能力を有しているステップと;
    機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、前記有効なソリューションを修正するステップと;
    をさらに含む、
    請求項1又は請求項2に記載の方法。
  4. 機械学習を用いて各ソリューションの前記望ましさスコアを改善するように前記複数の生成されたソリューションを修正するステップと;
    最高の望ましさスコアを有する前記複数の修正済みソリューションの中から1つのソリューションを、前記選択されたソリューションとして選択するステップと;
    をさらに含む請求項1又は請求項2に記載の方法。
  5. 予め決定された期間にわたって前記複数のソリューションを生成するステップをさらに含み、
    ここで前記期間の終りにおいて最高の望ましさスコアを有するソリューションが、前記選択されたソリューションとして選択される、
    請求項1又は請求項2に記載の方法。
  6. 予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して、前記複数のソリューションの生成を終了するステップをさらに含む、
    請求項1又は請求項2に記載の方法。
  7. 命令を記憶する少なくとも1つのメモリと;
    前記命令を実行するように構成された少なくとも1つの主プロセッサと;
    前記少なくとも1つの主プロセッサと通信状態にあり、各々少なくとも1つのプロセッサを含む、複数のハードウェアコンポーネントと;
    を含む制御システムにおいて、前記少なくとも1つの主プロセッサが:
    前記複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定し;
    前記複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、前記複数のハードウェアコンポーネントを用いて前記制御機能を実行するための複数のソリューションを生成し;
    各ソリューションの望ましさに基づいて、前記複数の生成されたソリューションをスコア付けし;
    最高の望ましさスコアを有するソリューションを選択し;
    前記選択されたソリューションに基づいて前記制御機能を実行するように前記制御システムを制御する;
    ための命令を実行するように構成されており、
    各々の生成されたソリューションは、前記複数のハードウェアコンポーネントのうち前記制御機能が実行される1つ以上のハードウェアコンポーネントと、前記制御機能を行なうためにデータが必要とされている前記1つ以上のハードウェアコンポーネントまで当該データを移動させるための通信経路と、を標示する、
    制御システム。
  8. 前記少なくとも1つの主プロセッサがさらに、各ソリューションの望ましさを増大させるために前記複数の生成されたソリューションを最適化するための命令を実行するように構成されている、
    請求項7に記載のシステム。
  9. 前記少なくとも1つの主プロセッサがさらに、
    前記複数の生成されたソリューションの中から、前記複数のハードウェアコンポーネントを用いて前記制御機能を実行する能力を有する1つ以上の有効なソリューションを得;かつ
    機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、前記有効なソリューションを修正する;
    ための命令を実行するように構成されている、
    請求項7又は請求項8に記載のシステム。
  10. 前記少なくとも1つの主プロセッサがさらに、
    機械学習を用いて各ソリューションの前記望ましさスコアを改善するように前記複数の生成されたソリューションを修正し;かつ
    最高の望ましさスコアを有する前記複数の修正済みソリューションの中から1つのソリューションを、前記選択されたソリューションとして選択する;
    ための命令を実行するように構成されている、
    請求項7又は請求項8に記載のシステム。
  11. 前記少なくとも1つの主プロセッサがさらに、予め決定された期間にわたって前記複数のソリューションを生成するための命令を実行するように構成されており、
    ここで前記期間の終りにおいて最高の望ましさスコアを有するソリューションが、前記選択されたソリューションとして選択される、
    請求項7又は請求項8に記載のシステム。
  12. 前記少なくとも1つの主プロセッサがさらに、予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して前記複数のソリューションの生成を終了するための命令を実行するように構成されている、
    請求項7又は請求項8に記載のシステム。
  13. 電子デバイスの少なくとも1つのプロセッサにより実行された時点で、前記少なくとも1つのプロセッサに、:
    数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力を決定させ;
    前記複数のハードウェアコンポーネントの各々のハードウェアコンポーネントの処理能力および通信能力に基づいて、前記複数のハードウェアコンポーネントを用いて前記制御機能を実行するための複数のソリューションを生成させ;
    各ソリューションの望ましさに基づいて前記複数の生成されたソリューションをスコア付けさせ;
    最高の望ましさスコアを有するソリューションを選択させ;
    前記選択されたソリューションに基づいて前記制御機能を実行するように前記制御システムを制御させる;
    命令を記憶し、
    各々の生成されたソリューションは、前記複数のハードウェアコンポーネントのうち前記制御機能が実行される1つ以上のハードウェアコンポーネントと、前記制御機能を行なうためにデータが必要とされている前記1つ以上のハードウェアコンポーネントまで当該データを移動させるための通信経路と、を標示する、
    非一時的コンピュータ可読媒体。
  14. 前記少なくとも1つのプロセッサがさらに、各ソリューションの望ましさを増大させるために前記複数の生成されたソリューションを最適化するための命令を実行するように構成されている、
    請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記少なくとも1つのプロセッサがさらに:
    前記複数の生成されたソリューションの中から、前記複数のハードウェアコンポーネントを用いて前記制御機能を実行する能力を有する1つ以上の有効なソリューションを得;かつ
    機械学習を用いて、改善された望ましさスコアを有する1つ以上の最適化されたソリューションを得るように、前記有効なソリューションを修正する;
    ための命令を実行するように構成されている、
    請求項13又は請求項14に記載の非一時的コンピュータ可読媒体。
  16. 前記少なくとも1つのプロセッサがさらに:
    機械学習を用いて各ソリューションの前記望ましさスコアを改善するように前記複数の生成されたソリューションを修正し;
    最高の望ましさスコアを有する前記複数の修正済みソリューションの中から1つのソリューションを、前記選択されたソリューションとして選択する;
    ための命令を実行するように構成されている、
    請求項13又は請求項14に記載の非一時的コンピュータ可読媒体。
  17. 前記少なくとも1つのプロセッサがさらに、予め決定された期間にわたって前記複数のソリューションを生成するように構成されており、
    ここで前記期間の終りにおいて最高の望ましさスコアを有するソリューションが、前記選択されたソリューションとして選択される、
    請求項13又は請求項14に記載の非一時的コンピュータ可読媒体。
  18. 前記少なくとも1つのプロセッサがさらに、予め決定された閾値より高い望ましさスコアを有するソリューションが得られたのに応答して前記複数のソリューションの生成を終了するための命令を実行するように構成されている、
    請求項13又は請求項14に記載の非一時的コンピュータ可読媒体。
  19. 各々の生成されたソリューションは、前記複数のハードウェアコンポーネントのうち制御機能が実行される1つ以上のハードウェアコンポーネント、および前記1つ以上のハードウェアコンポーネントへおよびこのハードウェアコンポーネントからデータが送信される経路を標示する、
    請求項13又は請求項14に記載の非一時的コンピュータ可読媒体。
JP2023010931A 2022-04-28 2023-01-27 制御システム上の機能の実行を最適化する方法およびそのための装置 Active JP7458521B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/731,586 2022-04-28
US17/731,586 US20230350354A1 (en) 2022-04-28 2022-04-28 Method of optimizing execution of a function on a control system and apparatus for the same

Publications (2)

Publication Number Publication Date
JP2023164278A JP2023164278A (ja) 2023-11-10
JP7458521B2 true JP7458521B2 (ja) 2024-03-29

Family

ID=85569878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023010931A Active JP7458521B2 (ja) 2022-04-28 2023-01-27 制御システム上の機能の実行を最適化する方法およびそのための装置

Country Status (4)

Country Link
US (1) US20230350354A1 (ja)
EP (1) EP4270189A1 (ja)
JP (1) JP7458521B2 (ja)
CN (1) CN117008982A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117742361A (zh) * 2023-12-07 2024-03-22 哈尔滨工业大学 基于smt的航天器多种轨道威胁自主规避机载任务规划方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197741A (ja) 2013-03-29 2014-10-16 セイコーエプソン株式会社 無線通信機器、無線通信方法、無線通信機器制御プログラム、無線通信システム
JP2018101306A (ja) 2016-12-20 2018-06-28 横河電機株式会社 作業支援装置、作業支援システム、作業支援方法、プログラム、および記録媒体
US20200383170A1 (en) 2019-05-14 2020-12-03 Qubercomm Technologies, Inc. System and method for selecting a path in a communication network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389918B2 (en) * 2008-06-24 2016-07-12 International Business Machines Corporation Job plan selection for reducing instability of a job within a heterogeneous stream processing application
GB2613509B (en) * 2018-10-30 2023-11-22 Motional Ad Llc Redundancy in autonomous vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197741A (ja) 2013-03-29 2014-10-16 セイコーエプソン株式会社 無線通信機器、無線通信方法、無線通信機器制御プログラム、無線通信システム
JP2018101306A (ja) 2016-12-20 2018-06-28 横河電機株式会社 作業支援装置、作業支援システム、作業支援方法、プログラム、および記録媒体
US20200383170A1 (en) 2019-05-14 2020-12-03 Qubercomm Technologies, Inc. System and method for selecting a path in a communication network

Also Published As

Publication number Publication date
JP2023164278A (ja) 2023-11-10
US20230350354A1 (en) 2023-11-02
EP4270189A1 (en) 2023-11-01
CN117008982A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
JP5750657B2 (ja) 強化学習装置、制御装置、および強化学習方法
JP7458521B2 (ja) 制御システム上の機能の実行を最適化する方法およびそのための装置
US11175895B2 (en) Code generation and simulation for graphical programming
US10338879B2 (en) Synchronization object determining method, apparatus, and system
US20200122039A1 (en) Method and system for a behavior generator using deep learning and an auto planner
US11790042B1 (en) Mitigating reality gap through modification of simulated state data of robotic simulator
US11707840B1 (en) Mitigating reality gap through optimization of simulated hardware parameter(s) of simulated robot
KR102171269B1 (ko) 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램과 인공 신경망 학습 방법, 장치 및 컴퓨터 프로그램
US11619929B2 (en) Automatic operation control method and system
JP5969734B2 (ja) 分散モデル同定
CN116339349A (zh) 路径规划方法、装置、电子设备及存储介质
KR102635546B1 (ko) 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
US20220300316A1 (en) Verification system, verification method, and recording medium
WO2019103773A1 (en) Automatically identifying alternative functional capabilities of designed artifacts
KR20160070631A (ko) 프로세서 및 프로세서의 명령어 처리 방법
US11682217B2 (en) Surveillance device, learning device, surveillance method and storage medium
US10406439B1 (en) Method and system for facilitating generation of a virtual world including one or more objects and one or more agents based on a user intention
CN114090466A (zh) 一种指令处理装置、方法、计算机设备及存储介质
KR102255470B1 (ko) 인공신경망 모델의 검증 방법 및 장치
US20100333070A1 (en) Multiple ECU Software-In-The-Loop Simulation Environment
JP6572668B2 (ja) 検査方法
EP3630318B1 (en) Selective acceleration of emulation
JP7429809B2 (ja) 自律運転シミュレーションのためのシナリオを作成する装置と方法
US11544430B2 (en) Advanced model mapping and simulations
US20230252763A1 (en) Model generation method, model generation device, and inference device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230127

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20230519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231214

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: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240318

R150 Certificate of patent or registration of utility model

Ref document number: 7458521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150