JP6464300B1 - 処理ユニット、リアルタイムシステムおよび処理プログラム - Google Patents

処理ユニット、リアルタイムシステムおよび処理プログラム Download PDF

Info

Publication number
JP6464300B1
JP6464300B1 JP2018077293A JP2018077293A JP6464300B1 JP 6464300 B1 JP6464300 B1 JP 6464300B1 JP 2018077293 A JP2018077293 A JP 2018077293A JP 2018077293 A JP2018077293 A JP 2018077293A JP 6464300 B1 JP6464300 B1 JP 6464300B1
Authority
JP
Japan
Prior art keywords
input
signal
time
output signal
predictive
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
JP2018077293A
Other languages
English (en)
Other versions
JP2019185503A (ja
Inventor
宏 山川
宏 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dwango Co Ltd
Original Assignee
Dwango Co Ltd
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 Dwango Co Ltd filed Critical Dwango Co Ltd
Priority to JP2018077293A priority Critical patent/JP6464300B1/ja
Application granted granted Critical
Publication of JP6464300B1 publication Critical patent/JP6464300B1/ja
Publication of JP2019185503A publication Critical patent/JP2019185503A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

【課題】動的に再構成可能なリアルタイムシステムを構成する。
【解決手段】本発明の一態様によれば、処理ユニットは、入力ポートと、処理部と、予測部と、出力ポートとを含む。処理部は、入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、に内部出力信号を生成する。予測部は、入力ポートが入力信号を受け取るタイミングの1つである第1の時点よりも第2の遅延時間以上前に入力バッファおよび内部出力バッファにそれぞれ保持されている入力信号および/または内部出力信号を読み出し、読み出した信号に基づいて第1の時点に入力ポートによって受け取られる第1の入力信号に対応する第1の内部出力信号を予測し、第1の時点以前に第1の予測的出力信号を生成する。出力ポートは、第1の時点以前に、予測的出力バッファに保存された第1の予測的出力信号を送出する。
【選択図】 図2

Description

本発明は、入力信号に既定の処理を行う処理ユニットに関する。
外部環境の変化にリアルタイムに反応するリアルタイム制御システムは、外部環境に現に生じている変化を捉えてこれに応じた事後的な制御を行うよりも寧ろ、近い将来にどのような変化が生じるかを予測して制御を行うことが求められる。なお、ここでいうリアルタイム制御システムは、外部環境が例えばスペースインベーダ(登録商標)、パックマン(登録商標)、などのいわゆるアタリゲーム環境に相当する場合、システム側のレスポンス速度が外部環境の変化に比べて極めて速い場合、など、外部環境が静止状態にあると近似し得る場合を対象としていない。
従来のリアルタイム制御システムでは、信号経路上に配置された各ノード(処理ユニット)において行われる信号処理によって生じる遅延および/またはノード間の信号伝送によって生じる遅延を、当該信号経路上に配置されたいずれかのノードにおいてまとめて補償することで、システム出力のリアルタイム性が確保されてきた。
例えば、弾道ミサイルに対して迎撃ミサイルを命中させるための迎撃ミサイルシステムもかかるリアルタイム制御システムの1種である。迎撃ミサイルシステムにおいてシステム内部の遅延が全く補償されなければ、迎撃ミサイルが弾道ミサイルに命中することはないであろう。迎撃ミサイルシステムは、ごく単純化すれば、センシングユニットと、画像認識ユニットと、判断ユニットと、制御ユニットとをこの順で直列に接続したものに相当する。判断ユニットは、センシングユニットによって捉えられた時点での弾道ミサイルの位置ではなくこれから発射する迎撃ミサイルが到達する時点での弾道ミサイルの位置を予測して制御ユニットに指示を与えることで、システム内部の遅延を実質的に補償し、迎撃ミサイルを弾道ミサイルに命中させることを可能にする。
このように、システム入力からシステム出力までの信号経路が固定されていれば、信号経路内のいずれかのノードにおいて当該システム全体の遅延時間をまとめて補償することで、システム出力のリアルタイム性を確保できることもある。
従来、リアルタイム制御システムとは異なるが、制御モデルの構築において入出力間の遅延差を補正することは提案されている。例えば、特許文献1([0009],[0017]−[0019])には、プラントから採取した、制御モデルの入力値(P,V,D,H)と出力値(M)との対データセットに対して、これらを採取した時のプラントの状態量から時間差を補正し、入力と対応する出力との対(P,V,D,H,M)を生成することが記載されている。特許文献1では、この時間的に対応した入力および出力の対に基づいて制御モデルを構築する。
また、特許文献2には、特定された学習パターンを用いて「第1の時系列データよりもタイミング的に後の第2の時系列データが未来値として決定」されること(要約)が記載されている。具体的には、車両制御システムにおいて、ドライバーの運転操作および車両の運動状態を含む車両全般の状態を予測すべき事象として、事象の未来値を予測すること、予測された未来値を考慮した上で、車両に対する適切な制御量を決定し、これを車両の各種アクチュエータに対して出力することが記載されている([0017])。
特開平10−301617号公報 特開2005−216202号公報
リアルタイム制御システムにおいて、例えば、ノードの追加、変更または削除などにより、信号経路に変化が生じると、補償すべき遅延時間も変化するためシステムの再設計が必要となる。また、処理時間は長いもののシステムの性能向上に資する処理(例えば、弾道ミサイルの回避行動を予測する、などの熟考的な処理)を行うユニットを追加しようとすれば、この追加分の処理時間に応じてシステム全体の処理時間(先の例であれば、弾道ミサイルが捉えられてから迎撃ミサイルが発射されるまでの時間)も長くなるという問題もある。
さらに、リアルタイム制御システムを、複数のノードがネットワークを形成する分散システムとして構成すれば、2ノード間で取り得る信号経路が複数に増えることがあり、しかもそれぞれの信号経路において生じる遅延時間は異なり得る。また、信号経路の合流点となる各ノードにおいて複数の入力信号間の遅延時間の調整が必要となる可能性もある。
例えば、音響センサ/レーダセンサユニットをネットワークに追加する場合には、外部環境のイベントに起因する、異なるモダリティのセンサ信号の処理および伝送によって生じる遅延時間を調整する必要がある。
故に、従来のリアルタイム制御システムにおいて、ノード間のネットワークを動的に再構成することが困難であった。この問題は、リアルタイム制御システムが大規模/複雑化するほど深刻である。しかしながら、今後の知能技術の発展を踏まえれば、クラウド上に分散して存在する多種多様な知識を統合的かつ柔軟に利用し、リアルタイム制御を行うことが有効となる場面はますます増加すると考えられ、リアルタイム制御システムの大規模/複雑化、そして動的再構成の要請は避けられないと予想される。
本発明は、動的に再構成可能なリアルタイムシステムを構成することを目的とする。
本発明の一態様によれば、処理ユニットは、入力ポートと、入力バッファと、処理部と、内部出力バッファと、予測部と、予測的出力バッファと、出力ポートとを含む。入力ポートは、入力信号を順次受け取る。入力バッファは、入力ポートによって受け取られた入力信号を順次保存する。処理部は、入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、入力信号の読み出しから第1の遅延時間後に内部出力信号を生成する。内部出力バッファは、処理部によって生成された内部出力信号を順次保存する。予測部は、入力ポートが入力信号を受け取るタイミングの1つである第1の時点よりも第2の遅延時間以上前に入力バッファおよび内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて第1の時点に入力ポートによって受け取られる第1の入力信号に対応する第1の内部出力信号を予測し、第1の時点以前に第1の予測的出力信号を生成する。予測的出力バッファは、第1の予測的出力信号を含む予測的出力信号を順次保存する。出力ポートは、第1の時点以前に、予測的出力バッファに保存された第1の予測的出力信号を送出する。
本発明によれば、動的に再構成可能なリアルタイムシステムを構成することができる。
実施形態に係る処理ユニットを含むリアルタイムシステムを例示する図。 実施形態に係る処理ユニットを例示するブロック図。 図2の処理ユニットの第1の動作例の概念的な説明図。 図2の処理ユニットの第1の動作例を示すフローチャート。 図2の処理ユニットの第2の動作例の概念的な説明図。 図2の処理ユニットの第2の動作例を示すフローチャート。 図2の処理ユニットの第3の動作例の概念的な説明図。 図2の処理ユニットの第3の動作例を示すフローチャート。
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
(実施形態)
実施形態に係る処理ユニットは、例えば図1に示されるリアルタイムシステムにノードの1つとして組み込むことができる。リアルタイムシステムは、リアルタイム制御システム、リアルタイム信号処理システム、などがあり得、例えば人工知能システムであってよいが、これに限られない。リアルタイムシステムに含まれる複数のノード(図1の例では、ノードN1,・・・,N16)の少なくとも一部(第1のノード群)に属するノードが、実施形態に係る処理ユニットであるとする。
図1のリアルタイムシステムは、ネットワークを形成する16個のノードN1,・・・,N16と、アクチュエータと、触覚センサと、カメラ(イメージセンサ)と、マイクロフォンとを含む。以降の説明では、アクチュエータ、触覚センサ、カメラおよびマイクロフォンを、外部環境インターフェース(I/F)と総称することもある。
触覚センサ、カメラおよびマイクロフォンは、外部環境の情報を信号に変換するセンサである。図1では、これら3つのセンサが描かれているが、他のセンサまたは入力装置がリアルタイムシステムに組み込まれてもよいし、これら3つのセンサの一部または全部がリアルタイムシステムから削除されてもよい。
触覚センサは、例えば、接触覚、圧覚、分布圧覚、力覚、すべり覚、などの主に人間の手が有する触覚を人工的に模したセンサである。触覚センサは、外部環境からの触覚情報を電気信号へ変換し、次段のノード(図1の例では、ノードN3)へと送る。
カメラは、外部環境に対して撮影を行い、画像信号(電気信号)を生成する。そして、カメラは、画像信号を次段のノード(図1の例では、ノードN14)へと送る。他方、マイクロフォンは、外部環境から音波を受け取り、これを電気信号へ変換する。そして、マイクロフォンは、この電気信号を次段のノード(図1の例では、N16)へと送る。
アクチュエータは、前段のノード(図1の例では、ノードN1)から電気信号を受け取り、これを機械的仕事へと変換する。アクチュエータは、例えば、ソノレイド(電磁弁)、電動機、サーボモーターなどであってよい。このようにアクチュエータは、機械的仕事を行うことで外部環境に作用する。図1では、かかる外部環境に作用する要素としてアクチュエータのみが描かれているが、他の要素、例えば何らかの出力装置がリアルタイムシステムに組み込まれてもよいし、アクチュエータがリアルタイムシステムから削除されてもよい。
ノードN1,・・・,N16は、それぞれ、他のノードまたは外部環境I/Fのいずれかと接続可能である。ノードN1,・・・,N16は、基本的に、それぞれその前段のノードまたは外部環境I/Fから入力信号を受け取り、例えば、データ圧縮、エラーの計算、周波数解析、など既定の処理を行って出力信号を生成し、次段のノードまたは外部環境I/Fへ送出する。ここで、図1における、ノードの数、ノード間の接続関係、およびノードと外部環境I/Fとの接続関係は例示に過ぎない。
また、図1のようなリアルタイム(分散処理)システムでは、あるノード(または外部環境I/F)から他のノード(または外部環境I/F)までに複数の信号経路が存在することがあり得る。例えば、触覚センサからアクチュエータまでの信号経路を考察すると、(信号経路1)「触覚センサ」→「ノードN3」→「ノードN2」→「ノードN1」→「アクチュエータ」と、(信号経路2)「触覚センサ」→「ノードN3」→「ノードN8」→「ノードN13」→「ノードN16」→「ノードN15」→「ノードN12」→「ノードN11」→「ノードN10」→「ノードN7」→「ノードN2」→「ノードN1」→「アクチュエータ」とがある。信号経路2は、信号経路1におけるノードN3からノードN1への直接路が、8個のノードを経由する迂回路に置き換わっている。
故に、仮にアクチュエータがこれら両方の信号経路を通った信号を利用するにしても、通常であれば両信号経路の遅延時間は全く異なるので、アクチュエータは同一の触覚情報に基づく信号を両方の信号経路から同時に受け取ることはできない。アクチュエータが同一の触覚情報に基づく2つの信号を利用する必要があるならば、触覚情報が検知されてからこれに対応する機械的仕事がなされるまでの遅延時間は、信号経路1ではなく信号経路2の遅延時間に左右されることになる。
そこで、後述されるように、実施形態に係る処理ユニットは、その入力から出力までの遅延が略零以下となるように、入力信号の到達と同時またはそれよりも前に予測的出力信号を生成し、出力する。このように、処理ユニットによって生じる信号処理遅延、すなわち処理ユニットが入力信号を受け取ってからその対応する出力信号を生成するまでに生じる遅れ、は、その処理ユニット内で補償される。故に、処理ユニットのある時点の入力信号に対応する予測的出力信号を、当該処理ユニットの次段の処理ユニットまたは外部環境I/Fが当該時点における入力信号として受け取ることができる。
これにより、実施形態に係る処理ユニットにおける予測的出力信号の予測の妥当性が保証される限りにおいて、すなわち予測的出力信号がその予測対象となる信号(後述される内部出力信号)と一致しまたはその誤差が許容できる程度に小さい限りにおいて、かかる処理ユニットを接続したネットワーク内で交換される信号の同一時刻性が成り立つ。すなわち、仮に、上記信号経路2の少なくとも迂回路上の各ノードが本実施形態に係る処理ユニットであるとする。この場合に、ノードN3がノードN2および迂回路の始点であるノードN8へそれぞれ出力信号を送出するのと略同時に、当該迂回路の終点であるノードN7は当該ノードN3の出力信号に間接的に対応する予測的出力信号をノードN2へ送出できる。故に、信号経路1および信号経路2の合流点であるノードN2は、ノードN3およびノードN7から同一時点の触覚情報に対応する(予測的)出力信号を同時に受け取ることができる。
このような同一時刻性は、ネットワークの構成によらず成り立つので、実施形態に係る処理ユニット間の接続関係を(動的に)再構成したとしても、これによる遅延時間の変化は生じない。例えば上記信号経路2の迂回路上からいずれかの処理ユニットを削除したり、逆に本実施形態に係る処理ユニットを追加したりしたとしても、何らの設計変更も必要とすることなく、信号経路1および信号経路2の合流点であるノードN2は依然として、両信号経路から同一時点の触覚情報に対応する(予測的)出力信号を受け取ることができる。同一時刻性がネットワークの構成によらず成り立つということは、大規模/分散化したリアルタイム制御システムにおいても、ネットワークの再構成(さらには動的再構成)、すなわち、柔軟かつ動的な処理の結合/組み合わせ、を行えることを意味する。これを知能システムに応用した場合には、知識を動的に結合させることでAI(Artificial Intelligence)システムとしての汎用性を高めることもできる。
なお、実施形態に係る各処理ユニットにおける入力信号および予測的出力信号は、時間軸上で連続的な値を持つアナログ信号であってもよいし、時間軸上で離散的な値を持つデジタル信号であってもよい。以降の説明では後者の実施を想定しているが、例えば以降の説明における種々の要素をアナログ要素に置き換えることで前者の実施も可能である。
上記第1のノード群の少なくとも一部である第2のノード群に属する処理ユニットの各々において、入力信号および予測的出力信号が同一の周期で入出力されてよい。さらに、この周期は、上記第2のノード群に属する処理ユニットのうち最も動作速度の遅い1つを駆動するクロックの周期の自然数倍であってよい。
以下、図2乃至図8を用いて、実施形態に係る処理ユニットについて詳しく説明する。
処理ユニットは、コンピュータであって、例えば、入出力制御、通信制御、そして既定の処理および/または予測、などを行うプロセッサを含む。プロセッサは、典型的には、CPU(Central Processing Unit)および/またはGPU(Graphics Processing unit)であるが、マイコン、FPGA(Field Programmable Gate Array)もしくはDSP(Digital Signal Processor)、などであってもよい。また、処理ユニットは、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリを含んでいる。
なお、処理ユニットは、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、処理ユニットに内蔵または外付けされたHDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどであってもよいし、処理ユニットからアクセス可能なデータベースサーバであってもよい。
1つのコンピュータが1つの処理ユニットを実装することもあり得るし、1つのコンピュータが複数の処理ユニットを実装することもあり得る。後者の場合に、同一のコンピュータに実装された複数のノード間、またはノードと外部環境I/Fとの間の信号伝送は例えばバスを介して行われ得る。他方、異なるコンピュータに実装されたノード間、またはノードと外部環境I/Fとの間の信号伝送は、例えばインターネットなどのネットワークを介して行われ得る。
処理ユニットは、さらに、ネットワークに接続するための通信I/Fを利用可能である。通信I/Fは、処理ユニットに内蔵されてもよいし、処理ユニットに外付けされてもよい。通信I/Fは、ネットワーク経由で、他のノードを実装するコンピュータ、または外部環境I/Fと通信をするためのモジュールであってよい。
次に、図2を用いて処理ユニットの構成例の説明を続ける。図2の処理ユニット100は、入力ポート101と、入力バッファ102と、処理部103と、内部出力バッファ104と、予測部105と、予測的出力バッファ106と、タイミング調整部107と、出力ポート108と、予測学習部109とを含む。
入力ポート101は、処理ユニット100の前段、例えば他の処理ユニットまたは外部環境I/Fから入力信号を順次受け取る。以降の説明では、任意の時刻t(第1の時点)に入力ポート101によって受け取られた入力信号(第1の入力信号)をx(t)として表す。入力ポート101は、入力信号を入力バッファ102に順次保存する。入力ポート101は、前述のプロセッサ(および通信I/F)であってよい。
入力バッファ102は、入力信号を保存する。入力信号は、入力ポート101によって順次書き込まれる。入力信号は、処理部103および予測部105によって順次読み出される。また、入力信号は、予測学習部109によって読み出されることもあり得る。入力バッファ102は、前述のメモリであってよい。
処理部103は、入力バッファ102に保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、入力信号の読み出しからT1(第1の遅延時間)後に内部出力信号を生成する。ここで、入力信号x(t)に対応する内部出力信号(第1の内部出力信号)をz(t)として表す。すなわち、処理部103は、入力信号x(t)に対応する内部出力信号z(t)を時刻t+T1に生成する。処理部103は、生成した内部出力信号を内部出力バッファ104に順次保存する。ここで、既定の処理は、例えば、データ圧縮、エラーの計算、周波数解析、などであってもよいし、これ以外の処理であってもよい。処理部103は、前述のプロセッサであってもよいし、専用の処理回路、例えば、ハードウェアエンコーダ、FFT(Fast Fourier Transform)回路、などであってもよい。
内部出力バッファ104は、内部出力信号を保存する。内部出力信号は、処理部103によって順次書き込まれる。内部出力信号は、予測部105によって順次読み出される。また、内部出力信号は、予測学習部109によって読み出されることもあり得る。内部出力バッファ104は、前述のメモリであってよい。
予測部105は、入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を順次読み出し、読み出した信号に基づいて、将来に入力ポート101によって受け取られる入力信号に対応する内部出力信号を予測し、入力信号および内部出力信号の少なくとも一方の読み出しからT2(第2の遅延時間)後に予測的出力信号を生成する。予測部105は、予測的出力信号を予測的出力バッファ106に順次保存する。予測部105は、前述のプロセッサであってよい。
予測部105は、例えば、内部出力信号またはその予測値を示す予測的出力信号の時間的変動を、自己回帰モデルとして予測し得る。また、予測部105は、後述されるように、例えば、学習済みの統計モデル、例えばニューラルネットワークを用いて予測を行ってよい。この学習済みの統計モデルは、例えば予測学習部109によって作成および/または更新されてもよいし、他のコンピュータによって作成され、それから処理ユニット100に移植されたものであってもよい。
より具体的には、予測部105は任意の時刻tについて、時刻tよりもT2以上前、すなわち時刻t−T2以前に入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号x(t−T2)および/もしくはより古い入力信号、ならびに/または内部出力信号z(t−T1−T2)および/もしくはより古い内部出力信号をそれぞれ読み出し、読み出した信号に基づいて入力信号x(t)に対応する内部出力信号z(t)を予測し、時刻t以前に予測的出力信号p(t)(第1の予測的出力信号)を生成する。ここで、予測部105の入力から出力までの遅延時間であるT2は、実測により求められてもよいし、シミュレーションにより求められてもよい。
なお、予測部105は、入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号および/または内部出力信号に加えて、予測的出力バッファ106に保持されている予測的出力信号に基づいて予測を行ってもよい。具体的には、予測的出力信号p(t)を生成するために、時刻t−T2以前に予測的出力バッファに保持されている予測的出力信号p(t−T2)および/またはより古い予測的出力信号が利用可能である。
予測的出力バッファ106は、予測的出力信号を保存する。予測的出力信号は、予測部105によって順次書き込まれる。予測的出力信号は、タイミング調整部107によって順次読み出される。また、予測的出力信号は、予測部105によって読み出されることもあり得る。さらに、予測的出力信号は、予測学習部109によって読み出されることもあり得る。予測的出力バッファ106は、前述のメモリであってよい。
タイミング調整部107は、予測部105における予測的出力信号の生成と、出力ポート108における当該予測的出力信号の送出との間のタイミング差を調整する。具体的には、タイミング調整部107は、任意の時刻tについて、予測部105によって生成された予測的出力信号p(t)が出力ポート108によって送出される前に、タイミング差の調整幅に相当する第3の遅延時間(T3)分の遅延を与える。
例えば、タイミング調整部107は、予測的出力信号p(t)が予測的出力バッファ106に書き込まれてからT3後、すなわち時刻t−T3以前に当該予測的出力信号p(t)を読み出して、出力ポート108へ送ってもよいし、予測的出力信号p(t)が予測的出力バッファ106に書き込まれると同時にこれを読み出してT3後、すなわち時刻t−T3以前に当該予測的出力信号p(t)を出力ポート108へ送ってもよいし、予測的出力信号p(t)が生成されてからT3後、すなわち時刻t以前に予測的出力信号p(t)を予測的出力バッファ106に書き込んでもよい。タイミング調整部107は、前述のプロセッサであってよいし、専用の遅延回路であってもよい。なお、タイミング調整部107は、オプションであり削除可能である。
例えば、入力信号および予測的出力信号が時間軸上で離散的な値を持ち、かつ、同一の周期(T)で入出力されると仮定する。T2がこの周期(Tio)未満であるとすれば、予測的出力信号p(t)は、時刻t−Tio以前に入力バッファ102および内部出力バッファ104にそれぞれ保持されている信号に基づいて、時刻t−Tio+T2以前に生成することができる。T3≒Tio−T2となるように、すなわちT2およびT3の和がTに略一致するようにT3を定めれば、出力ポート108は略時刻tに予測的出力信号p(t)を次段へ送出できる。ただし、後述される遅延時間T4も考慮する場合には、Tio≒T2+T3+T4となるようにT3を定めてもよい。この場合には、Tio>T2+T3となる。
出力ポート108は、タイミング調整部107から予測的出力信号を順次受け取り、処理ユニット100の次段、例えば他の処理ユニットまたは外部環境I/Fへ送出する。出力ポート108は、前述のプロセッサ(および通信I/F)であってよい。
具体的には、出力ポート108は、任意の時刻tについて、時刻t以前に予測的出力信号p(t)を送出する。予測的出力信号p(t)の送出タイミングは、時刻tに一致してもよいし、これより前であってもよい。処理ユニット100から次段までの予測的出力信号p(t)の信号伝送時間が零または零と見なせる程度に微少である場合には、予測的出力信号p(t)を時刻tに送出すれば、次段は同時刻tにこれを入力信号として受け取ることができる。他方、上記信号伝送時間が零と見なせない程度に大きい場合には、予測的出力信号p(t)を時刻tに送出したとしても、次段は時刻tよりも遅い時刻にこれを入力信号として受け取ることになる。ここで、上記信号伝送時間は、実測により求められてもよいし、シミュレーションにより求められてもよい。
そこで、出力ポート108は、必要に応じて、時刻tよりも第4の遅延時間(T4)以上前に、すなわち時刻t−T4以前に予測的出力信号を次段へ送出してもよい。このT4の長さは、例えば、処理ユニット100から次段までの予測的出力信号p(t)の信号伝送時間以上に定められ得る。これにより、処理ユニット100の次段は、予測的出力信号p(t)を時刻tかそれよりも前に受け取ることができる。予測的出力信号p(t)が時刻tよりも早く処理ユニット100の次段に到着した場合には、次段において適切な遅延を与えることで予測的出力信号p(t)を時刻tと同時に受け付けることができる。
予測学習部109は、入力信号および/または内部出力信号から将来の内部出力信号を予測する能力を獲得するための機械学習を行い、学習済みの統計モデルを作成する。この学習済みの統計モデルは、予測部105によって使用され得る。
予測学習部109は、例えば、入力信号および/または内部出力信号の履歴に基づいて学習データを生成し、この学習データを用いて機械学習を行う。具体的には、学習データは、ある時刻tml(第2の時点)よりT2以上前に入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号x(tml−T2)(第2の入力信号)および/もしくはより古い入力信号、ならびに/または内部出力信号z(tml−T1−T2)(第2の内部出力信号)および/もしくはそれより古い内部出力信号に、時刻tml+T1に生成される内部出力信号z(tml)を教師ラベルとして付与したものであってよい。
これにより、例えば、z(t)の予測値を返す予測関数P(z(t−T1−T2),・・・,z(0),x(t−T2),・・・,x(0))が学習される。ここで、予測関数の引数、すなわち統計モデルに与えられる入力値は、時刻0以降の全ての入力信号および/または内部出力信号を必ずしも含む必要はなく、例えばそれぞれ最新の1個または複数個に限られてもよい。なお、前述のように、過去の入力信号および/または内部出力信号に加えて、過去の予測的出力信号も、統計モデルに与えられる入力値として利用可能である。
予測学習部109は、処理ユニット100を含んだリアルタイムシステムの運用前に機械学習を行うが、その運用前に機械学習を完了させてもよいし、させなくてもよい。前者の場合には、予測学習部109はリアルタイムシステムの運用時には必須の要素とはならないので削除され得る。他方、後者の場合には、予測学習部109は、運用時に収集された入力信号および/または内部出力信号を用いて統計モデルの再学習(更新)を行うことができる。さらに、前述のように、学習済みの統計モデルは、他のコンピュータによって作成されそれから処理ユニット100に移植されたものであってもよく、この場合にも予測学習部109は削除され得る。
以下、図3乃至図8を用いて、図1の処理ユニット100の動作例を3つ紹介する。
まず、図3および図4を用いて、処理ユニット100の第1の動作例を説明する。
第1の動作例では、入力信号および予測的出力信号の入出力周期をτとし、T1=2τとし、T2=τとしている。また、T3=T4=0、すなわち、タイミング調整部107は使用されず、予測的出力信号p(t)は時刻tに送出されることとしている。
第1の動作例では、時刻tに入力信号x(t)が入力バッファ102に書き込まれ、これに基づいて処理部103は時刻t+2τに内部出力信号z(t)を生成し、内部出力バッファ104に書き込む。
他方、予測部105は、時刻t−T2(=t−τ)に入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号x(t−τ)および/もしくはより古い入力信号、ならびに/または内部出力信号z(t−3τ)および/もしくはより古い内部出力信号を読み出す(ステップS201)。
次に、予測部105は、ステップS201において読み出した信号に基づいて、時刻tに、入力信号x(t)に対応する内部出力信号z(t)の予測値を示す予測的出力信号p(t)を生成して予測的出力バッファ106に書き込む(ステップS202)。そして、出力ポート108は、時刻tに、予測的出力バッファ106から予測的出力信号p(t)を読み出し、次段へ送出する(ステップS203)。
次に、図5および図6を用いて、処理ユニット100の第2の動作例を説明する。
第2の動作例では、入力信号および予測的出力信号の入出力周期をτとし、T1=2τとし、T2=T3=0.5τとしている。また、T4=0、すなわち、予測的出力信号p(t)は時刻tに送出されることとしている。
第2の動作例では、時刻tに入力信号x(t)が入力バッファ102に書き込まれ、これに基づいて処理部103は時刻t+2τに内部出力信号z(t)を生成し、内部出力バッファ104に書き込む。
他方、予測部105は、時刻t−T2−T3(=t−τ)に入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号x(t−τ)および/もしくはより古い入力信号、ならびに/または内部出力信号z(t−3τ)および/もしくはより古い内部出力信号を読み出す(ステップS301)。
次に、予測部105は、ステップS301において読み出した信号に基づいて、時刻t−T3(=t−0.5τ)に、入力信号x(t)に対応する内部出力信号z(t)の予測値を示す予測的出力信号p(t)を生成して予測的出力バッファ106に書き込む(ステップS302)。
次に、タイミング調整部107は、ステップS302において生成された予測的出力信号p(t)にT3(=0.5τ)分の遅延を与え、時刻tに当該予測的出力信号p(t)を出力ポート108へ送る。そして、出力ポート108は、時刻tに、予測的出力信号p(t)を次段へ送出する(ステップS304)。
次に、図7および図8を用いて、処理ユニット100の第3の動作例を説明する。
第3の動作例では、入力信号および予測的出力信号の入出力周期をτとし、T1=2τとし、T2=T4=0.5τとしている。また、T3=0、すなわち、タイミング調整部107は使用されないこととしている。
第3の動作例では、時刻tに入力信号x(t)が入力バッファ102に書き込まれ、これに基づいて処理部103は時刻t+2τに内部出力信号z(t)を生成し、内部出力バッファ104に書き込む。
他方、予測部105は、時刻t−T2−T4(=t−τ)に入力バッファ102および内部出力バッファ104にそれぞれ保持されている入力信号x(t−τ)および/もしくはより古い入力信号、ならびに/または内部出力信号z(t−3τ)および/もしくはより古い内部出力信号を読み出す(ステップS401)。
次に、予測部105は、ステップS401において読み出した信号に基づいて、時刻t−T4(=t−0.5τ)に、入力信号x(t)に対応する内部出力信号z(t)の予測値を示す予測的出力信号p(t)を生成して予測的出力バッファ106に書き込む(ステップS402)。
そして、出力ポート108は、時刻t−T4(t−0.5τ)に、予測的出力バッファ106から予測的出力信号p(t)を読み出し、次段へ送出する(ステップS403)。ステップS403において送出された予測的出力信号p(t)は、信号伝送時間である0.5τ後、すなわち時刻tに次段に入力信号x(t)として取り込まれる。
以上説明したように、実施形態に係る処理ユニットは、その入力から出力までの遅延が略零以下となるように、入力信号の到達と同時またはそれよりも前に予測的出力信号を生成し、出力する。故に、この処理ユニットのある時点の入力信号に対応する予測的出力信号を、当該処理ユニットの次段の処理ユニットまたは外部環境I/Fが当該時点における入力信号として受け取ることができる。
この処理ユニットによれば、予測的出力信号の予測の妥当性が保証される限りにおいて、かかる処理ユニットを接続したネットワーク内で交換される信号の同一時刻性が成り立つ。かかる同一時刻性は、ネットワークの構成によらず成り立つので、この処理ユニットをリアルタイムシステムに組み込めば少なくとも当該処理ユニットからなるノード群において接続関係を動的に再構成することができる。
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、1つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が1つの装置に実装されることもあり得る。
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
N1〜N16・・・ノード
100・・・処理ユニット
101・・・入力ポート
102・・・入力バッファ
103・・・処理部
104・・・内部出力バッファ
105・・・予測部
106・・・予測的出力バッファ
107・・・タイミング調整部
108・・・出力ポート
109・・・予測学習部

Claims (11)

  1. 入力信号を順次受け取る入力ポートと、
    前記入力ポートによって受け取られた入力信号を順次保存する入力バッファと、
    前記入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、前記入力信号の読み出しから第1の遅延時間後に内部出力信号を生成する処理部と、
    前記処理部によって生成された内部出力信号を順次保存する内部出力バッファと、
    前記入力ポートが前記入力信号を受け取るタイミングの1つである第1の時点よりも第2の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて前記第1の時点に前記入力ポートによって受け取られる第1の入力信号に対応する第1の内部出力信号を予測し、前記第1の時点以前に第1の予測的出力信号を生成する予測部と、
    前記第1の予測的出力信号を含む予測的出力信号を順次保存する予測的出力バッファと、
    前記第1の時点以前に、前記予測的出力バッファに保存された第1の予測的出力信号を送出する出力ポートと
    を具備する、処理ユニット。
  2. 前記出力ポートは、前記第1の時点に、前記予測的出力バッファに保存された第1の予測的出力信号を送出する、請求項1に記載の処理ユニット。
  3. 前記予測部は、学習済みの統計モデルを用いて予測を行い、
    前記学習済みの統計モデルは、前記第1の時点に比べて古い第2の時点よりも前記第2の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方に、前記第2の時点に前記入力ポートによって受け取られる第2の入力信号に対応する第2の内部出力信号を教師ラベルとして付与した学習データを用いた機械学習によって作成される、
    請求項1または請求項2に記載の処理ユニット。
  4. 前記入力信号および前記予測的出力信号は、時間軸上で連続的な値を持つ、請求項1乃至請求項3のいずれか1項に記載の処理ユニット。
  5. 前記入力信号および前記予測的出力信号は、時間軸上で離散的な値を持つ、請求項1乃至請求項3のいずれか1項に記載の処理ユニット。
  6. 前記第1の時点よりも第3の遅延時間以上前に生成された前記第1の予測的出力信号が前記出力ポートによって出力される前に前記第3の遅延時間分の遅延を与えるタイミング調整部をさらに具備し、
    前記第3の遅延時間は、前記第2の遅延時間および前記第3の遅延時間の和が前記入力信号および前記予測的出力信号の入出力周期以下となるように定められる、
    請求項5に記載の処理ユニット。
  7. ネットワークを形成する複数のノードを具備するリアルタイムシステムであって、
    前記複数のノードの少なくとも一部である第1のノード群に属するノードは、請求項1乃至請求項3のいずれか1項に記載の処理ユニットである、
    リアルタイムシステム。
  8. 前記第1のノード群の少なくとも一部である第2のノード群に属する前記処理ユニットの各々において、前記入力信号および前記予測的出力信号は、時間軸上で離散的な値を持ち、かつ、同一の周期で入出力される、請求項7に記載のリアルタイムシステム。
  9. 前記周期は、前記第2のノード群に属する前記処理ユニットのうち最も動作速度の遅い処理ユニットを駆動するクロックの周期の自然数倍である、請求項8に記載のリアルタイムシステム。
  10. 前記第1のノード群に属する第1の処理ユニットにおいて、前記出力ポートは、前記第1の時点よりも第4の遅延時間以上前に、前記予測的出力バッファに保存された第1の予測的出力信号を送出し、
    前記第4の遅延時間の長さは、前記第1の処理ユニットから次段までの前記第1の予測的出力信号の信号伝送時間以上に定められる、
    請求項7乃至請求項9のいずれか1項に記載のリアルタイムシステム。
  11. コンピュータを、
    入力信号を順次受け取る手段、
    受け取った入力信号を入力バッファに順次保存する手段、
    前記入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、前記入力信号の読み出しから第1の遅延時間後に内部出力信号を生成する手段、
    生成した内部出力信号を内部出力バッファに順次保存する手段、
    前記入力信号を順次受け取る手段が前記入力信号を受け取るタイミングの1つである第1の時点よりも第2の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて前記第1の時点に受け取られる第1の入力信号に対応する第1の内部出力信号を予測し、前記第1の時点以前に第1の予測的出力信号を生成する手段、
    前記第1の予測的出力信号を予測的出力バッファに保存する手段、
    前記第1の時点以前に、前記予測的出力バッファに保存された第1の予測的出力信号を送出する手段
    として機能させるための処理プログラム。
JP2018077293A 2018-04-13 2018-04-13 処理ユニット、リアルタイムシステムおよび処理プログラム Active JP6464300B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018077293A JP6464300B1 (ja) 2018-04-13 2018-04-13 処理ユニット、リアルタイムシステムおよび処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077293A JP6464300B1 (ja) 2018-04-13 2018-04-13 処理ユニット、リアルタイムシステムおよび処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019000580A Division JP2019185735A (ja) 2019-01-07 2019-01-07 処理ユニット、リアルタイムシステムおよび処理プログラム

Publications (2)

Publication Number Publication Date
JP6464300B1 true JP6464300B1 (ja) 2019-02-06
JP2019185503A JP2019185503A (ja) 2019-10-24

Family

ID=65270460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077293A Active JP6464300B1 (ja) 2018-04-13 2018-04-13 処理ユニット、リアルタイムシステムおよび処理プログラム

Country Status (1)

Country Link
JP (1) JP6464300B1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216202A (ja) * 2004-02-02 2005-08-11 Fuji Heavy Ind Ltd 未来値予測装置および未来値予測方法
JP2007164504A (ja) * 2005-12-14 2007-06-28 Fuji Heavy Ind Ltd ストリームデータ処理方法およびストリームデータ処理装置
US20130031335A1 (en) * 2011-07-26 2013-01-31 International Business Machines Corporation Using predictive determinism within a streaming environment
JP2017130094A (ja) * 2016-01-21 2017-07-27 ファナック株式会社 セル制御装置、及び製造セルにおける複数の製造機械の稼働状況を管理する生産システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216202A (ja) * 2004-02-02 2005-08-11 Fuji Heavy Ind Ltd 未来値予測装置および未来値予測方法
JP2007164504A (ja) * 2005-12-14 2007-06-28 Fuji Heavy Ind Ltd ストリームデータ処理方法およびストリームデータ処理装置
US20130031335A1 (en) * 2011-07-26 2013-01-31 International Business Machines Corporation Using predictive determinism within a streaming environment
JP2017130094A (ja) * 2016-01-21 2017-07-27 ファナック株式会社 セル制御装置、及び製造セルにおける複数の製造機械の稼働状況を管理する生産システム

Also Published As

Publication number Publication date
JP2019185503A (ja) 2019-10-24

Similar Documents

Publication Publication Date Title
CN109375951B (zh) 一种用于执行全连接层神经网络正向运算的装置和方法
JP5403760B2 (ja) 実行時間推定方法、実行時間推定プログラムおよび実行時間推定装置
CN109284825B (zh) 用于执行lstm运算的装置和方法
US10025343B2 (en) Data transfer between asynchronous clock domains
US20210406437A1 (en) Programmable chip, design method and device
US20150242548A1 (en) Simulation of programmable logic controller inputs and outputs
US9335947B2 (en) Inter-processor memory
KR102038703B1 (ko) 동적 전이 앙상블 모형을 통한 실시간 다변량 시계열 예측방법 및 그 시스템
WO2018143019A1 (ja) 情報処理装置、情報処理方法およびプログラム記録媒体
JP2021131894A (ja) シミュレーション車両を制御するための方法、装置、電子機器及び記憶媒体
EP1615139A2 (en) Processor and pipeline configuration control method
JP2022523484A (ja) 観測値の尤度を使用して環境を探索するためのエージェントを制御すること
JPWO2018150798A1 (ja) モデル推定システム、方法およびプログラム
JP5910499B2 (ja) 拡張性評価装置、拡張性評価方法および拡張性評価プログラム
JP6464300B1 (ja) 処理ユニット、リアルタイムシステムおよび処理プログラム
EP3800518A1 (en) System, device and method for testing autonomous vehicles
JP2019185735A (ja) 処理ユニット、リアルタイムシステムおよび処理プログラム
JP2023542852A (ja) ニューラル・ネットワークを用いたシステム、および方法
US20120204181A1 (en) Reconfigurable device, processing assignment method, processing arrangement method, information processing apparatus, and control method therefor
US20210394772A1 (en) Handling input data errors in an autonomous vehicle
JP7215966B2 (ja) ハイパーパラメータ管理装置、ハイパーパラメータ管理方法及びハイパーパラメータ管理プログラム製品
US8954312B2 (en) Hardware emulation proxy for hardware software co-emulation
WO2023020238A1 (en) Balancing cycle stealing with early mode violations
US20230350354A1 (en) Method of optimizing execution of a function on a control system and apparatus for the same
JP2020191595A (ja) 電波伝搬シミュレーション装置及び電波伝搬シミュレーションプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180809

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6464300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250