JPWO2019117249A1 - 制御装置、制御方法及びプログラム - Google Patents

制御装置、制御方法及びプログラム Download PDF

Info

Publication number
JPWO2019117249A1
JPWO2019117249A1 JP2019559199A JP2019559199A JPWO2019117249A1 JP WO2019117249 A1 JPWO2019117249 A1 JP WO2019117249A1 JP 2019559199 A JP2019559199 A JP 2019559199A JP 2019559199 A JP2019559199 A JP 2019559199A JP WO2019117249 A1 JPWO2019117249 A1 JP WO2019117249A1
Authority
JP
Japan
Prior art keywords
control
controlled
controlled device
control target
time
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.)
Pending
Application number
JP2019559199A
Other languages
English (en)
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.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
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 Preferred Networks Inc filed Critical Preferred Networks Inc
Publication of JPWO2019117249A1 publication Critical patent/JPWO2019117249A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25479Synchronize controllers using messages, add transmission time afterwards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31217Merge, synchronize process data and network data for trend analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32065Synchronise set points of processes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Selective Calling Equipment (AREA)
  • Feedback Control In General (AREA)

Abstract

多様な装置の組み合わせにおいてリアルタイム性の高いシステム制御を実現する。制御装置は、複数の被制御装置に対する制御の目標となる制御目標指示を受信する、制御指示受付部と、前記制御目標指示に基づいて、前記複数の被制御装置のそれぞれに対する制御信号を生成する 、制御処理生成部と、を備え、前記複数の被制御装置の通信遅延時間、位相ずれ時間、及び、動作周期時間の少なくとも1つに基づいて、前記複数の被制御装置が協働して前記目標を達成するように、前記複数の被制御装置の動作を制御する、制御装置。

Description

本開示は、制御装置、制御方法及びプログラムに関する。
工場自動化等のクリティカルなシステムの実現するためには、リアルタイム性が要求される通信、例えば、リアルタイムな機器制御、安全・保全等のための通信と、そうでは無い通信、例えば、機器に対する次の目標の指示、保守用テレメトリ等のための通信が存在する。これらの通信を行い制御する例として、リアルタイム通信と、非リアルタイム通信に区分し、リアルタイム通信に係る送受信を優先的に実行することによりリアルタイム通信と非リアルタイム通信とを共存させることが挙げられる。別の例としては、柔軟な処理をするために、任意の複数の制御装置と、センサとをソフトウェア的に組み合わせる環境を想定し、全体を協働動作させる制御をするための協働制御装置が少なくとも1つ備えるシステムが挙げられる。
しかしながら、複数の制御装置、被制御装置、センサ及びこれらの組み合わせで実行するタスクは、それぞれ異なる時間サイクルを有している。例えば、制御装置と被制御装置間ではリアルタイム性の高い制御が必要となるので、4ミリ秒に1回の通信を行う一方、センサの情報取得周期は、16.67ミリ秒に1回、深層学習に基づく推定を行うための制御装置は、複雑な計算が必要となり200ミリ秒に1回の処理と指示しか行えないようなことがある。このような場合、個々に異なる制御サイクルを組み合わせて円滑に実行する方法は自明ではない。また、複数の被制御装置それぞれは同一の周期であったとしても、同一のタイミングで動作しているとは限られず、これらを円滑に協調動作させることも困難である。
さらに、サイクルが同期した環境では、リアルタイム通信と非リアルタイム通信のスケジューリングが実行可能ではある。しかしながら、現実の装置においては、動作サイクルは統一されていなかったり、動作サイクルが同一であっても同期していなかったりといった制約がある。また、従来の方式においては、通信遅延が考慮されておらず、通信装置の遅延及びジッタ(遅延揺らぎ)が存在する場合に、リアルタイム性を実現できなかった。
そこで、本発明は、複数の装置を組み合わせたシステムにおけるリアルタイム性の高い制御を提供することにある。
一実施形態に係る制御装置は、複数の被制御装置に対する制御の目標となる制御目標指示を受信する、制御指示受付部と、前記制御目標指示に基づいて、前記複数の被制御装置のそれぞれに対する制御信号を生成する 、制御処理生成部と、を備え、前記複数の被制御装置の通信遅延時間、位相ずれ時間、及び、動作周期時間の少なくとも1つに基づいて、前記複数の被制御装置が協働して前記目標を達成するように、前記複数の被制御装置の動作を制御する、制御装置。
一実施形態に係るシステムの構成を示すブロック図。 一実施形態に係る制御装置の構成を示すブロック図。 一実施形態に係る制御装置の処理の流れを示すフローチャート。 一実施形態に係る制御装置を備えるシステムの処理を示すフローチャート。 図4の別の例に係るフローチャート。 一実施形態に係る制御装置の動作を定義する擬似コードを示す図。 図6の別の例に係る擬似コードを示す図。 一実施形態に係る実装例を示すブロック図。 一実施形態に係る実装例を示す図。
以下、図面を参照して、本発明の実施形態についてより詳しく説明する。本実施形態は、本発明を限定するものではない。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一の構成要素の詳しい説明は繰り返さない。また、下記において、処理の1サイクルに掛かる時間、ディレイ時間及び位相ずれ時間等は、説明のために一例として示した数値であり、実際の数値ではない。このため、他の数値においても本実施形態と同様に処理できるものである。
本発明に係る協調制御装置は、最悪時の動作を規定した上で、通常時はデッドラインに間に合うスケジューリングを行うファームリアルタイムの特性を保持しつつ、柔軟なアプリケーションを構築する。このために、アプリケーションロジックを構築するストリーム処理のためのドメイン記述言語(DSL:Domain-Specific Language)を採用する。
図1は、本実施形態に係る協調制御装置により制御されているシステムの構成を示すブロック図である。システム1には、制御目標指示装置10と、制御装置20と、被制御装置30Aと、被制御装置30Bと、センサ40と、が備えられている。なお、例として被制御装置は、2個であるとしたが、被制御装置は、2よりも多い複数個あってもよい。また、センサ40も制御装置20により制御される被制御装置であってもよい。
これらの各装置は、インターネット、イーサネット(登録商標)等を利用した通信経路で相互に接続されている。この接続方法は、有線には限られず、無線で接続されていてもよい。また、規格や方式は、特に限られず、適切に信号の通信が行われる接続方法であればよい。通信におけるディレイが、制御装置20から各装置へ個々に対して存在していてもよい。
制御目標指示装置10は、制御装置20へとどのような制御を行うかの目標を指示する装置である。目標の指示とは、例えば、制御目標指示装置10内に形成されている機械学習済みのモデルに基づいてどのような動作を各被制御装置30が行うか、又は、これらの被制御装置30からのフィードバック情報若しくはセンサ40から取得した状態をモデルへと取り込み、その後の被制御装置30をどのように動作させるかの目標を指示する装置である。機械学習には、ディープラーニング等、他の処理と比較して時間の掛かる処理を用いてもよい。
より具体的な目標の指示の例としては、産業用ロボットに関する指示において、複数のアームで1つの物体を把持し、持ち上げた上で、当該複数のアーム以外のアームでその持ち上げた物体の下方に治具を設置する等といった協調制御に必要となる各アームの一連の操作である。
この制御目標指示装置10内で行う処理は、例えば、上記のように機械学習を行い、又は、機械学習済みのモデルから次の指示目標を取得するという比較的時間の掛かる処理であるので、100ミリ秒サイクルで実行されるものとする。制御装置20との間の通信ディレイは、例えば、5ミリ秒であるとする。
なお、図1においては、制御目標指示装置10は、1台しかないが、これには限られず、複数の制御目標指示装置10が備えられていてもよい。この場合、各制御目標指示装置10に対して個々に、上記の周期とディレイ等が存在する。
制御装置20は、制御目標指示装置10から取得した制御目標の指示に従い、各被制御装置30へと各装置に対する制御信号を送信する装置である。併せて、各被制御装置30及びセンサ40からの情報を受信し、その受信した状態に基づいて制御信号を生成する。また、この際、各被制御装置30及びセンサ40から取得した状態を制御目標指示装置10へと送信し、次に制御目標指示を取得するようにしてもよい。
被制御装置30は、制御装置20から受信した制御信号に基づいて動作を行う。上記の例で言うと、被制御装置30は、各アームに該当し、制御装置20が生成した制御信号に基づいて、物体を把持したり、把持した当該物体の下に治具を設置したりする。
複数の被制御装置30は、それぞれの動作サイクルで動作する。また、それぞれの被制御装置30は、制御装置20からの通信ディレイが存在していることもある。さらに、各被制御装置30は、その全てが同期して動作するわけではなく、上記のように動作サイクルが異なる上に、各被制御装置30が動作する際の位相ずれも存在する。位相ずれとは、例えば、各被制御装置30が制御装置20から同時に制御命令を受信した場合であっても、動作の開始までに掛かる時間が異なることがあり、この時間のずれを示すオフセットである。
被制御装置30は、制御装置20からの制御命令に従い、自らの動作サイクルにおいて動作を行う。これとともに、被制御装置30は、制御装置20へと動作を行った旨の信号をフィードバックするようにしてもよい。また、別の例としては、動作待ち或いは制御命令を受信可能である(アイドル状態である)場合には、当該状態を制御装置20へと送信するようにしてもよい。
センサ40は、例えば、被制御装置30の状態を撮影するカメラである。この他にも、振動を計測する振動センサであったり、音を計測する感音センサであったり、温度又は湿度を計測する温度、湿度センサであったり、感圧センサであったりしてもよい。必要となる被制御装置30の状態を感知するセンサであればよい。また、このセンサ40自体が制御装置20により制御される被制御装置30であってもよい。
センサ40がカメラである場合には、所定の周期、例えば、10ミリ秒のサイクルで被制御装置30の状態を撮影し、制御装置20へと送信する。制御装置20は、被制御装置30からのフィードバック信号とともに、センサ40が撮影した画像、及び、制御目標指示装置10から受信した制御目標値に基づいて、被制御装置30へと送信する次の制御信号を生成する。
図2は、制御装置20の構成を示すブロック図である。制御装置20は、動作周期推定部200と、制御指示受付部202と、制御処理生成部204と、例外処理実行部206と、プログラム格納部208と、アダプタ部210と、を備えて構成される。
動作周期推定部200は、各被制御装置30、センサ40及び制御目標指示装置10の動作周期を推定する。各装置の動作周期は、例えば、制御装置20からの命令に対してその返信が為されたタイミングにより推定する。被制御装置30等の制御周期は、あらかじめ与えられていてもよい。この場合、例えば、返信する旨の命令を発行した後、被制御装置30等から当該命令への返信を受信したタイミングに基づいて、タイミングのずれ(オフセット)を推定することができる。
さらに、被制御装置30のそれぞれは、ループ処理により動作している周期動作において、信号を返信できるタイミングが決まっているために、制御装置20が信号を送信してから被制御装置30が動作を開始するまでのオフセットを推定することが可能となる。すなわち、装置ごとに決まっている返信のタイミングを読み取ることにより、制御装置20と被制御装置30間、及び、複数の被制御装置30間のタイミングのずれを推定する。なお、この場合、各被制御装置30の動作周期は、カタログ値等から所与であってもよいし、上記のように、動作周期も動作周期推定部200が推定するようにしてもよい。
一度の返信タイミングから読み取れない場合においても、複数回異なるタイミングにおいて上記のような命令を発行し、返信を受信したタイミングを考慮することにより、オフセットを判断することが可能となる。ここで、オフセットとは、制御装置20から見た各被制御装置30の動作周期のずれを示す値を言う。
さらに、別の例として、定期的、例えば、1ミリ秒ごとに制御目標指示装置10又は被制御装置30へと返信をする旨の命令を発行し、この命令に対してどのようなタイミングで返信が行われたか、又は、いくつの命令をまとめて返信を行ったかにより推定することが可能である。このように返信タイミングを測定することにより、例えば、各被制御装置30の動作周期が不明な場合であっても、この動作周期自体をも推定することが可能である。
事前に周期を推定する場合には上記のような方法で行うことができるが、別の例として、動作中に推定を行うようにしてもよい。この場合も、制御装置20から発行された命令に対して返信のタイミング等から推定することが可能である。これにより、動作をしながらオフセットを推定することが可能となる。動作をしながらオフセットを推定すると、動作中において発生した時間のずれを推定し、この時間のずれをアダプタ部210に記憶させることにより、長時間の運用においても、動作中に発生した時間のずれを吸収した制御を行うことが可能となる。
上記のように、任意のタイミングにおいて制御装置20から被制御装置30へと返信をするように制御する信号を送信することにより、この信号に対する返信があったタイミングと、制御装置20が送信したタイミングとに基づいて、各被制御装置30の位相ずれを推定することができる。
なお、上記のように動作周期等を推定したとしても、実際に動作する際にはずれが発生する場合がある。このような場合に対応するために、動作周期推定部200は、センサ40からのセンサ信号を受信してそのずれや動作周期をさらに推定するようにしてもよい。
制御指示受付部202は、制御目標指示装置10から送信された制御目標値、又は、どのような制御を行うかの指示を受け付ける。この制御指示受付部202が受け付けた指示に従い、各被制御装置30、センサ40への制御信号を発行し、必要となる装置へと送信する。
制御処理生成部204は、受信した制御目標値に基づいて、被制御装置30の制御を行うための制御信号を生成する。制御信号は、被制御装置30の動作及び終了位置等の被制御装置30の動きの状態を示す信号である。この制御信号は、各被制御装置30に対応するアダプタ部210に遅延特性とともに送信される。
例外処理実行部206は、制御装置20に接続されている装置について例外が発生した場合に、例外処理を行う。例えば、被制御装置30の動作状態が安全の範囲を超える場合や、複数の被制御装置30同士が衝突する可能性がある場合等、事故又は故障が発生するような場合に、当該事故等が発生しないように例外処理を実行する。例外処理を行う原因となる事由としては、この他に、通信異常によるタイミングのずれ、又は、通信に対する応答がない等、通信に関する事由が含まれてもよい。さらに、一般的に危険となり得る状態となる事由が含まれてもよい。
プログラム格納部208は、制御装置20の動作をするためのプログラム等を格納する。プログラム格納部208は、揮発メモリ又は不揮発メモリを備えて構成されていてもよい。また、この格納部は、制御装置20の動作のみならず、被制御装置30等の制御を行うためのプログラムを格納していてもよい。
アダプタ部210は、被制御装置30等と、制御装置20とを接続するためのインターフェースであり、各被制御装置30等に対して、1つのアダプタ部210が備えられている。別の例として、1つのアダプタ部210で複数の被制御装置30等と接続するようにしてもよい。この場合、所定の通信プロトコルを設定しておくことにより、どの被制御装置30への通信かを判断できるようにしておいてもよい。このアダプタ部210は、制御処理生成部204が生成した被制御装置30に実行させる動作を記述した制御信号を、その遅延特性に基づいて被制御装置30へと送信する。
次に、制御装置20の動作について説明する。図3は、本実施形態に係る制御装置20の動作の一例を示すフローチャートである。なお、本フローチャートは、例えば、ループ処理中の1ループに係る動作を示しており、このような動作が繰り返し行われることにより、システム1の動作目標を達成するものであるとする。
このフローチャートの動作前に、動作周期推定部200により、制御目標指示装置10、被制御装置30及びセンサ40の各装置について、その制御周期を推定しておいてもよい。動作周期推定部200は、この周期の他、通信経路における遅延、及び/又は、被制御装置30ごとの位相ずれを併せて推定してもよい。これらのパラメータはあらかじめ測定されているものを利用してもよい。また、動作周期推定部200は、所定のタイミングで各装置の制御周期を推定し直すようにしてもよい。各被制御装置30に対応するアダプタ部210には、この制御周期、通信遅延及び位相ずれの情報が格納される。
まず、制御指示受付部202は、制御目標指示装置10から制御目標指示を受信する(ステップS10)。制御目標指示装置10は、システム1において行う動作についての目標となる指示を生成し、制御装置20の制御指示受付部202へと送信する。目標となる指示は、例えば、システム1内の状態を目標となる状態へとするために被制御装置30を将来的にどのような状態へと遷移させるかを示す指示である。この指示は、例えば、学習済みのモデルを用いて生成されたり、そのタイミングにおける被制御装置30の状態に基づいて実際に学習を行ったりすることにより生成される。例えば、この指示の生成には、100ミリ秒の時間が掛かる。
次に、制御目標指示を受信した制御指示受付部202は、制御目標指示の受信に例外があるか否かを判断する(ステップS12)。すなわち、制御目標指示が所定のタイミング通りに受信できたか否かを判断する。制御目標指示が所定のタイミング通りに受信できないとは、例えば、制御目標指示装置10が100ミリ秒ごとに制御装置20に対して制御目標の指示を行うとしている場合、100ミリ秒ごとのタイミングにおいて、制御目標指示が受信できているか否かを判定する。なお、この際、通信状態及び各種装置の状態によって時間のずれが発生する可能性があるので、前回の受信から100ミリ秒とするのではなく、120ミリ秒間は受信可能とするように、時間的なバッファを持たせてもよい。
制御目標指示が所定のタイミング通りに受信できていない場合(ステップS12:Yes)、制御装置20は、制御目標指示に関する例外処理を行う(ステップS14)。例外処理は、例外処理実行部206が実行する。
この例外処理は、例えば、前回までの制御目標に対して線形的に外挿補間してもよい。別の例としては、安全方向に制御、すなわち、前回までの制御目標に対して線形補間で行うよりも、動きを抑制するように外挿補間してもよい。各被制御装置30の状態によっては、外挿補間をすることにより、衝突等の事故が起こる可能性がある。このような場合には、さらに安全方向に制御し、被制御装置30がなめらかにその動きを停止するように制御信号を生成するようにしてもよい。
制御目標指示が所定のタイミング通りに受信できた場合(ステップS12:No)、制御処理生成部204は、制御目標の生成を行う(ステップS16)。制御目標は、制御目標指示装置10により生成された制御目標に対して、被制御装置30が現在の状態から将来へとむかってどのような動作により制御目標に到達できるかを考慮して生成される。
例えば、現在の位置から制御目標となる到達位置までの間の位置において、被制御装置30の次の制御周期においてどのくらい進むかを制御処理生成部204が算出し、被制御装置30の制御周期についての制御目標を生成する。より具体的には、制御目標指示装置10により、制御目標となる位置が指示されている場合、被制御装置30の次の制御周期においてどの位置を到達目標とするかを制御目標として生成する。例えば、次の制御目標指示が到達するまでの時間に、現在の制御目標まで被制御装置30が移動できるように、被制御装置30の次の制御周期における到達目標を制御目標として生成する。
次に、制御処理生成部204は、生成された制御目標までの被制御装置30の動作についての制御指示信号の生成を行う(ステップS16)。例えば、被制御装置30の制御周期における制御目標となる位置が指示されている場合、被制御装置30の制御周期に合わせて線形に移動するような信号を生成する。別の例としては、制御目標指示が到達してから、次の制御目標指示が到達するまでの間において、動作の開始又は動作の終了となる位置が存在する場合には、当該位置の周辺においては線形ではなく、徐々に動き出すように、又は、徐々に動きが止まるように制御信号を生成するようにしてもよい。
この制御信号は、例えば、プログラム格納部208に格納されているプログラムに基づいて生成される。移動位置を指定する場合には、3次元空間内においてどのように移動するかを判断し、当該移動に関するプログラムをプログラム格納部208に格納されているプログラムから抽出する。そして、移動方向又は移動距離等の必要なパラメータを設定することにより、制御信号を生成する。
この際、プログラム格納部208に格納されているプログラムがDSLで記載されているのであれば、そのままパラメータを設定して信号を生成することが可能である。さらに、複数の異なる種類の動作について合成することも容易となる。もちろん、DSLで記載されている必要はなく、他の設計思想のコンピュータ言語により記載されていても構わない。
なお、ステップS16及びステップS18における制御目標及び制御信号は、制御目標の位置及び被制御装置30の位置に基づいて生成されるものに限られない。例えば、被制御装置30に印加する電圧値、電流値等の制御に必要な電気、電力に関する制御信号、被制御装置30の回転角度、トルク等の回転及び力に関する制御信号、又は、被制御装置30の温度等に関する制御信号であってもよい。この他にも、被制御装置30がアームであり、複数のフィンガー部を備えている場合に、当該アーム内のフィンガー部の動きの制御信号等を生成するようにしてもよい。このように、被制御装置30の動作に関する制御信号の生成であれば、どのような信号にも対応することが可能である。さらに、上記の複数の動作を組み合わせた動作であってもよい。
次に、各被制御装置30に対する制御信号は、アダプタ部210に設定されている遅延時間等に基づいて、各被制御装置30へと送信される(ステップS20)。アダプタ部210に格納されている被制御装置30ごとの通信遅延の情報及び位相ずれの情報に基づいて、制御装置20から被制御装置30へと生成された制御信号が送信される。
図1に示す例を用いて説明する。被制御装置30Aと被制御装置30Bとの間には、3ミリ秒の位相ずれが存在する。そこで、被制御装置30Aに対応するアダプタ部210には、通信遅延を0ミリ秒、制御周期を10ミリ秒、位相ずれを0ミリ秒として設定し、これに対し、被制御装置30Bに対応するアダプタ部210には、通信遅延を0ミリ秒、制御周期を4ミリ秒、位相ずれを3ミリ秒として設定する。
このように設定されている場合、ステップS20においては、まず、被制御装置30Bに対して被制御装置30Bの制御信号を送信し、その3ミリ秒後に被制御装置30Aに対して被制御装置30Aの制御信号を送信する。図1においては、被制御装置30A及び被制御装置30Bについての通信遅延がいずれも0ミリ秒であるので、通信遅延に関する制御は特に行わないが、通信遅延に相違がある場合には、この通信遅延も吸収できるように生成した信号を送信する。被制御装置30Aには10ミリ秒ごとに、被制御装置30Bには4ミリ秒ごとに、このような信号が送信される。このように、制御装置20は、被制御装置30A及び被制御装置30Bが協働して動作を行うように通信遅延、制御周期及び位相ずれに基づいて制御信号を送信する。
なお、被制御装置30は、長時間動作させていると、100ppm程度の誤差が生じる場合がある。この場合、10秒動作させると、1ミリ秒ほどの誤差を生じさせる場合がある。このような誤差は、被制御装置30からのフィードバック信号又はセンサ40が検知した信号に基づいて動作周期推定部200等が推定し、誤差が生じた被制御装置30に対応するアダプタ部210に設定するようにしてもよい。
制御装置20は、上述のように、ステップS10からステップS20の動作に基づいて、受信した制御目標指示から各被制御装置30に対する制御信号の送信までの動作を行う。
各ステップの動作を行う間において、制御装置20は、随時センサ40からの信号を受信する(ステップS22)。センサ40は、例えば、センサ40の各制御周期において、検知した情報を制御装置20へと送信する。センサ40がカメラである場合、動作周期である10ミリ秒ごとに1枚の画像データを制御装置20へと送信してもよいし、転送速度及び処理速度に応じて、例えば、100ミリ秒に1枚の画像データを制御装置20へと送信するようにしてもよい。または、把握する必要がある被制御装置30の状態のスパンで撮影し、送信するようにしてもよい。センサ40がカメラではない場合には、当該センサ40により検知される情報を適宜適切なタイミングにおいて送信するようにしてもよい。
また、センサの故障、通信異常等により、センサ信号の受信ができない場合も考えられる。このような場合に対応するために、センサ信号を受信することのみならず、センサからの通信が受信できずに、所定の時間が経過した場合にも、ステップS22以下の処理を行ってもよい。所定の時間とは、例えば、センサから信号が送信される周期の1.5倍の時間等としてもよい。1.5倍は一例であり、2倍等の時間とし、通信ディレイを吸収する十分な時間としてもよいし、逆に、通信ディレイをも検知できるように、1.2倍等としてもよい。これには限られず、センサからの信号の送信される周期とは別に、所定の時間を定めるようにしてもよい。
次に、制御装置20は、受信したセンサ信号において、被制御装置30における例外となるような事故等が発生しているか否かを判定する(ステップS24)。例外が発生していない場合(ステップS24:No)には、制御装置20は、既存の処理(例えば、ステップS10からステップS20の間のいずれかの処理)を継続する。
一方、被制御装置30において例外となるような事故等が発生している場合(ステップS24:Yes)、被制御装置の例外処理を実行する(ステップS26)。この例外処理は、例えば、制御指示の生成が間に合わなかった場合に起こりうる。そこで、プログラム格納部208に、制御指示の生成が間に合わなかった場合に被制御装置30へと送信する被制御装置30の動作についてのプログラムを格納しておく。
制御指示の生成が間に合わずに、次の被制御装置30の動作が確定できない場合等には、プログラム格納部208に格納されている例外処理用のプログラムを呼び出し、制御信号として被制御装置30へと送信する。なお、この制御信号は、通信遅延及び位相ずれ等を考慮せずに送信するようにしてもよい。この際、深刻度パラメータを準備しておき、連続して制御信号の生成が間に合わなかった場合に、深刻度が高まるようにしてもよい。そして、深刻度の高さに基づいて、例外処理として送信する制御信号を変更するようにしてもよい。
この被制御装置30における例外を検出するのと並行して、被制御装置30を含む各種装置の制御が時間方向にずれた(ジッタが発生した)場合、又は、空間方向にずれた(制御エラーが発生した)場合にも例外処理を実行してもよい。この制御ずれに対する例外処理は、まず、センサ信号を受信し、制御ずれの例外が発生したか否かを判断する(ステップS28)。制御ずれが発生していない場合(ステップS28:No)には、制御装置20は、上記と同様に、既存の処理を継続して行う。
一方、被制御装置30等において例外となるような制御ずれが発生している場合(ステップS28:Yes)、制御ずれの例外処理を実行する(ステップS30)。この例外処理は、例えば、何らかの理由で通信遅延が発生したり、被制御装置30において制動が間に合わなかったり、又は、被制御装置30におけるオーバーシュート等により制御しようとした動作よりも多く動作してしまったりすることにより起こりうる。そこで、上記と同様に、プログラム格納部208に、このような場合に被制御装置30へと送信する被制御装置30の動作についてのプログラムを格納しておく。
上記のような場合、プログラム格納部208に格納されている例外処理用のプログラムを呼び出し、制御信号として被制御装置30等へと送信する。なお、この制御信号についても、通信遅延及び位相ずれ等を考慮せずに送信してもよい。この際、上記と同様の深刻度パラメータを用い、深刻度に基づいて実行する例外処理を変更するようにしてもよい。この深刻度パラメータは、被制御装置の例外処理と、制御ずれの例外処理とで同じ深刻度としておいてもよいし、別の深刻度として算出するようにしてもよい。
以上のように、制御装置20は、制御目標指示を受信し、被制御装置30を当該制御目標に基づいて動作させ、さらに、事故等が起こる可能性がある場合には、未然に防ぐように例外処理を被制御装置30へと実行させるようにする。
なお、例外処理として、被制御装置の動作を補完して制御するか、又は、被制御装置を安全に停止させるかの分岐は、例えば、例外が発生した回数に基づいて判断してもよい。例外は、上述したように、例えば、制御目標指示の受信の遅延、被制御装置に対する制御信号の生成の遅延、被制御装置の動作の時間的なずれ又は被制御装置の動作の空間的なずれの発生である。
例えば、例外が発生した回数が所定の回数以下である場合には、補完により制御を行い、例外が発生した回数が所定の回数を超える場合には、安全停止するようにする。例外が発生した回数は、連続して例外が発生した回数としてもよいし、所定の時間内において例外が発生した回数としてもよいし、又は、制御装置20が制御を開始してから累計した例外が発生した回数としてもよい。
例外処理を行う被制御装置30は、全ての被制御装置30としてもよいし、一部の被制御装置30としてもよい。例えば、一部の被制御装置30の動作が、他の被制御装置30に与える影響が少ない場合には、当該一部の被制御装置30の動作を行うとともに、他の被制御装置30の動作に対しては例外処理をするようにしてもよい。いずれにせよ、一部又は全部の被制御装置30が協働して安全に動作可能であるように例外処理を行う。
なお、図3においては、各処理は直列した動作として示されているがこれには限られず並列処理として行ってもよい。例えば、制御目標指示の受信及び制御目標の生成、制御指示信号の生成及び送信、各種例外処理は、それぞれフォークされた別のプロセスとして動作していてもよい。例外の発生の判断は、例えば、デーモンにより実行されてもよい。各被制御装置30に対する指示は、独立したものであるので、被制御装置30ごとに当該被制御装置30の動作周期に合わせた子プロセスを並列に実行させるようにしてもよい。
図4は、制御目標指示装置10、制御装置20、被制御装置30及びセンサ40を含めた処理のフローの一例を示す図である。
まず、それぞれの装置は、前処理として、所定の処理を行う。制御目標指示装置10は、制御目標の設定を行う(ステップS100)。制御目標の設定は、例えば、ユーザがシステム1に実行させるタスク等を入力することにより行われる。これには限られず、制御目標指示装置10等が自動的に制御目標を設定するようにしてもよい。また、ユーザが入力したタスク等に基づいて、制御目標指示装置10が設定するようにしてもよい。
制御装置20は、制御装置20において実行する各種プログラムを格納する(ステップS200)。プログラムの格納は、あらかじめ決められたファイルサーバ等からダウンロードすることにより行ってもよいし、あらかじめ制御装置20内のプログラム格納部208に格納されていてもよい。続いて、制御装置20は、動作周期推定部200により、初期状態における制御目標指示装置10、被制御装置30及びセンサ40に対する通信遅延時間、位相ずれ時間、制御周期を推定し、各装置に関する遅延時間等として設定する(ステップS202)。
被制御装置30は、初期化を行う(ステップS300)。初期化とは、パラメータの値をリセットして初期値に戻したり、被制御装置30の位置を初期状態に戻したりする動作のことを言う。また、初期化された状態における各種パラメータ等の情報を制御装置20へと送信するようにしてもよいし、あらかじめ制御装置20に初期値を設定しておくようにしてもよい。初期化が終了した被制御装置30は、初期化が終了した旨の信号を制御装置20へと送信するようにしてもよい。
センサ40もまた、初期化を行う(ステップS400)。被制御装置30と同様に、初期化とは、パラメータの値をリセットして初期値に戻したり、又は、感知する状態(スタンバイ状態)にしたりする動作のことを言う。センサ40は、スタンバイ状態になったことを制御装置20へと送信するようにしてもよい。
上記のような各種装置の初期化が完了した後、システム1は、制御目標に対する動作を開始する。
まず、制御目標指示装置10は、制御目標指示を生成し、生成した制御目標指示を制御装置20へと送信する(ステップS102)。制御目標指示は、ステップS100にて設定された制御目標と、生成のタイミングにおける被制御装置30との状態に基づいて生成される。例えば、1つ前の動作周期において生成した制御目標指示の続きの動作となるように、制御目標指示を生成する。また、別の例としては、1つ前の動作周期において生成した制御目標指示に従って被制御装置30がそれぞれ正常に制御されているような場合に、当該1つ前の動作周期において生成した制御目標指示における到達点からの続きとして制御目標指示を生成する。
この際、例外処理が起きている場合には、例外処理動作を行った続きの制御目標指示を生成するようにしてもよい。この場合、制御装置20から被制御装置30へとどのような例外処理の制御信号を送信したのかを、制御目標指示装置10が受信するようにしてもよい。
制御目標指示を受信した制御装置20は、被制御装置30のそれぞれに対する制御目標を生成する(ステップS204)。図1に示すように、制御目標指示装置10の動作周期が100ミリ秒であり、被制御装置30Aの動作周期が10ミリ秒であるような場合、1回の制御目標指示を受信すると、例えば、10ミリ秒ごとに区切った各被制御装置30の制御目標を生成する。
制御目標指示として、例えば、100ミリ秒後の到達地点が指定された場合、当該到達地点を10等分して10ミリ秒ごとの到達地点を制御目標として生成してもよいし、動作の開始及び到達地点の終了の前後においては、動作を緩和させるように制御目標を生成してもよい。各被制御装置30の制御目標は、制御目標指示を受信した後に次の制御目標指示を受信するまでの予想される時間分を全て生成する必要はなく、センサ40から受信した被制御装置30の状態に基づいて、逐次生成するようにしてもよい。
次に、制御装置20は、生成した制御目標に基づいて、指示信号を生成し、被制御装置30へと送信する。この信号の送信は、被制御装置30へと通信遅延及び複数の被制御装置30の動作に対する位相のずれ(信号を受信してから動作を開始するまでの時間のずれ)を考慮して実行される。
指示信号を受信した被制御装置30は、受信した指示信号に基づいて、動作を実行する(ステップS302)。通信による遅延及び位相ずれによる他の被制御装置30との動作タイミングのずれについては、上述したように制御装置20により吸収されているため、被制御装置30は、単純に受信した指示信号に基づいて動作を実行すればよい。
この制御装置20の指示信号の生成及び送信動作と、被制御装置30の動作の実行は、ループ処理により繰り返し行われる。
このようなループ処理中、センサ40は、各被制御装置30とは独立にセンサ情報を感知し(ステップS402)、当該感知したセンサ信号を制御装置20へと送信する(ステップS404)。センサ40についても、動作周期、通信遅延及び位相ずれは、推定済であるので、これらの情報をフィードバック情報として用いることにより、被制御装置30の動作のずれ等を推定することが可能となる。推定された遅延情報等は、対応するアダプタ部210に随時記述することにより、制御装置20は、より正確なタイミングで生成した制御信号を各被制御装置30へと送信することが可能となる。
制御装置20は、制御目標指示の受信状況、被制御装置30からのフィードバック信号又はセンサ40からの感知信号に基づいて、例外が発生していないか否かを監視する。例外が発生した場合(ステップS208)、制御装置20は、各被制御装置30に対して例外処理を行うための制御信号を送信する。
当該制御信号を受信した各被制御装置30は、制御信号に基づいて例外処理の動作を行う(ステップS304)。この際、被制御装置30側では、受信した信号が例外処理に関する信号であるか否かを判断する必要はなく、受信した制御信号に基づいた動作を行えばよい。
上述したように、例外処理に関する制御信号を生成する際に、制御装置20は、当該例外処理後に動作を継続させるか、又は、動作を終了させるかを判断する。動作を継続させる場合、例外処理後の到達位置等を制御目標指示装置10へと送信し、制御目標指示の設定を修正するようにしてもよい。このようにすることにより、新たな制御目標指示として、例外処理が発生した後に対応する制御目標指示を受信することも可能である。この場合、新たな制御目標指示が生成されるまで処理の遅延が発生する可能性があるので、前に受信した制御目標指示に基づいて、新たな制御目標指示を受信するまでの動作を、適宜制御装置20で補完するようにしてもよい。
例外処理により動作を終了させる場合、被制御装置30が安全に停止できるような制御信号を生成し、被制御装置30を制御する。このタイミングにおいて、被制御装置30から停止した時点における各種パラメータ等の情報を送信するように制御をしてもよい。また、動作の停止後に、各種パラメータ等の初期化を行うように制御してもよい。
この図4に示すように、制御目標指示装置10、被制御装置30及びセンサ40は、別個独立に動作を行い、制御装置20が同期信号を送受信することなくこれらの動作を統括する。図5は、被制御装置30同士で動作周期等が異なる場合の指示信号の生成、送信、及び、被制御装置30の動作の実行について示す図である。
被制御装置30Aは、動作周期が10ミリ秒、位相ずれが0ミリ秒であり、被制御装置30Bは、動作周期が4ミリ秒、位相ずれが3ミリ秒であるとする。制御装置20は、上述した手順に従い、制御目標を生成する(ステップS204)。次に、各被制御装置30に対する指示信号を生成する。なお、この図5において指示信号の生成と送信は同じタイミングで行われるように示されているがこれには限られず、指示信号を先に生成しておき、各被制御装置30に対応する各アダプタ部210の記述にしたがい、送信タイミングをずらすようにしてもよい。
生成した被制御装置30Bに対する指示信号は、まず、各被制御装置30に対応するアダプタ部210の記述にしたがい、被制御装置30Aに対して遅れた位相ずれを有する被制御装置30Bに送信される(ステップS206B)。
続いて、位相ずれ分ずれたタイミングにおいて、制御装置20は、被制御装置30Aに対する指示信号を被制御装置30Aへと送信する(ステップS206A)。このように位相ずれを考慮した指示信号の送信を行うことにより、被制御装置30Aと被制御装置30Bとは協働して動作を開始する(ステップS302A、ステップ302B)。
続いて、制御装置20は、被制御装置30A及び被制御装置30Bのそれぞれについて、その動作周期に合わせた指示信号の生成と送信とを繰り返す(ステップS206A、ステップS206B)。このように、被制御装置30A及び被制御装置30Bは、互いに同期信号を送受信することなく、また、制御装置20とも同期信号を送受信することなく、協働して、動作周期に合わせて、さらに、互いの位相ずれをも吸収した協働動作を行うことが可能となる。
各被制御装置30のフィードバック信号及びセンサ40のセンサ感知信号に基づいて、制御装置20は、位相ずれ等の時間的なずれ及び空間的なずれを適宜適切に補正する。このように、長時間の運用においても各被制御装置30の協働動作を継続する。
なお、図5においては、通信遅延は考慮されていないが、もちろん通信遅延も位相ずれと同様に処理することが可能である。
次に、擬似コードを用いて、例外処理の具体的な実装例を説明する。図6は、例外処理を含む処理についての擬似コードを示す図である。
図6は、補完処理の一例として、線形補間を行う処理を示す擬似コードを示す。モジュールLinearOperation()において、線形補間するモジュールが記載される。各種入出力の変数及びクラスの定義をした後、各装置をチャネルに接続する。この例において、被制御装置30である、deviceA及びdeviceBの間に位相ずれはなく、制御装置20との間の通信遅延もなく、かつ、センサ40と制御装置20との間に通信遅延delayが存在するものとする。
各装置には、アダプタ部210に記述された通信遅延等に基づいて、制御信号を送信する。このアダプタ部210の記述及び制御信号の送信タイミングにより、制御目標指示装置10、互いの被制御装置30及びセンサ40に同期信号を送受信することなく、各装置がリアルタイム性の高い協働動作を実行することを可能とする。
この図6では、一例として、制御装置20において、制御目標指示装置10からの指示が遅延した場合等、制御目標指示装置10に依存する遅延を検知した場合の例外処理を示している。アダプタの定義として、制御目標指示装置10の変数であるOperatorのアダプタ内に、例外処理が記述される。
制御目標指示を受信していない場合の例外処理として、動作を継続する場合に、value = currentValue + timeOffset * (currentValue - previousValue) / cycle;とすることにより、現在の値と、1つ前のサイクルの値との差に基づいて、線形的にtimeOffset後の値を外挿補間し、各被制御装置30及びセンサ40のサイクル内の目標として、例えば、deviceA.value += operator.value;により、外挿補間を行う。
制御目標指示を受信していない場合の例外処理として、安全停止をする場合に、value = currentValue + timeOut * (currentValue - previousValue) / cycle;とすることにより、timeOut値の時間が経過する間に被制御装置30及びセンサ40を安全に停止させる。
このように、アダプタの定義として通信遅延、位相ずれ等の記述をすることにより、同期信号を送受信することなく、リアルタイム性の高い協働動作を行うことが可能となる。
なお、図6の例においては、被制御装置30であるdeviceA及びdeviceBとの間に位相ずれ等がない状態としたがこれには限られない。図7は、擬似コードの別の例を示す図である。
この図7に示すように、被制御装置30であるdeviceA及びdeviceBのアダプタ定義を別のものにすることも可能である。図7の例では、deviceAとdeviceBとの間には、通信遅延であるdelay1及び位相ずれであるshift1の差異が生じるので、deviceBの装置タイプであるDeviceType2のアダプタ定義には、value = value - delay1 - shift1;として、これらの遅延等を吸収して制御信号を送信する。センサに対しても同様に位相ずれが存在する場合には、図7のようにアダプタの定義を行う。
また、図6においては、制御目標指示装置10に起因する例外処理を記述したが、図7のように、例えば、DeviceType1に固有の例外処理が起因する場合には、DeviceType1のアダプタ定義に、例外処理を記述するようにしてもよい。このように、各装置に固有の例外処理を記述することも可能である。
上述したように、例外処理が起こる原因としては、例えば、デバイス同士の衝突が起こるような事由、通信異常(通信障害)、その他の一般的に人間又は装置に危険を及ぼしうる事由がある。通信の異常を検知するために、operatorから通信を行う場合、deviceA等からアダプタを介してoperatorへと応答信号、例えば、ACK/NACK等の信号を送信するようにしてもよいし、カメラ等で撮影された画像に基づいて各デバイスの動作を解析して通信が行われていないことを検知するようにしてもよい。また、通信状態をモニタリングし、各デバイス又はoperator等で検知するようにしてもよい。
すなわち、上述したように、制御目標指示の受信の遅延、被制御装置に対する制御信号の生成の遅延、被制御装置の動作の時間的なずれ、被制御装置の動作の空間的なずれ及び通信異常のうち少なくとも1つが発生した回数が所定の回数以下である場合に、被制御装置の動作を補完して制御を行う。一方で、制御目標指示の受信の遅延、被制御装置に対する制御信号の生成の遅延、被制御装置の動作の時間的なずれ、被制御装置の動作の空間的なずれ及び通信異常のうち少なくとも1つが発生した回数が所定の回数を超える場合に、被制御装置の動作を安全に停止する制御を行う。
図8は、本実施形態の具体的な実装の一例を示す図である。
Fogレベルに、制御目標指示装置10が存在し、制御目標指示装置10と制御装置20との間の通信はTCP/IPを用いたイーサネットにより接続される。制御目標指示装置10と、制御装置20との間の通信については、リアルタイム性の高い通信が必要とされないため、このように通常のTCP/IPを用いた通信であってもよい。
制御装置20は、セルレベルに存在し、例えば、各被制御装置30とEtherCAT(登録商標)で接続され、センサとは、被制御装置30との通信よりもデータ量の多い通信にも耐えうるTSN(Time-Sensitive Networking)により拡張されたイーサネットで接続される。制御目標指示装置10と比べ、被制御装置30及びセンサ40と、制御装置20間においては、よりリアルタイム性の高い通信が必要とされるため、例えば、このように拡張されたイーサネットによる通信手法により接続される。
各被制御装置30は、図8に示すように、リング状に接続されてもよいし、複数の被制御装置30が制御装置20と各々接続されるようにしてもよい。
センサ40は、スイッチ42及びコントローラ44を介して制御装置20と接続される。TSN拡張されたイーサネットを用いることにより、データ量の多い通信に耐えうるとともに、低遅延の通信を優先するため、リアルタイム性の高い感知情報を制御装置20へと送信することが可能となる。
このように接続することにより、複数の被制御装置30の動作状態をセンサ40が感知し、感知した情報を素早く制御装置20へと送信することが可能となる。そして、上述したように、同期信号を送信することなく、各被制御装置30の制御指令を、制御目標指示装置10の生成した制御目標指示に基づいて送信することが可能となる。
以上のように、本実施形態によれば、各被制御装置30の動作周期等を推定し、各被制御装置30に対応するアダプタ部210に当該動作周期等を記述し、制御装置20において通信遅延、位相ずれ等のディレイ、シフト、レイテンシ等を吸収して制御信号を送信することにより、制御目標指示装置10が生成した制御目標指示に従った複数の被制御装置30の制御を、同期信号の送受信を行うことなくリアルタイム性の高い通信(被制御装置30及びセンサ40と、制御装置20間)と、そうでは無い通信(制御目標指示装置10と、制御装置20間)とが混在した状態で実行することが可能となる。このような構成にすることにより、制御目標指示装置10においては、より精密度の高い制御目標を生成することが可能となるとともに、被制御装置30及びセンサ40においては、リアルタイム性の高い制御を行うことが可能となる。
なお、システム1内における全ての遅延等を制御装置20で吸収できるようにしてもよいし、一部の遅延等を吸収するようにしてもよい。全ての遅延等を制御装置20で吸収する場合は、センサ40のような外部からの観測手段があるとよい。これは、外部からの観測手段と、各被制御装置30の現在の指示状態とのずれから、各被制御装置30の遅延特性を制御装置20又は周辺機器により分析し、制御装置20内の各被制御装置30に対応するアダプタ部に遅延特性を記述し、この遅延特性を用いてプログラム処理部が命令列を生成することが可能となるためである。ここで、遅延特性とは、値とワーク遅延のみならず、各被制御装置30等の特性をも含む概念である。また、各被制御装置30に、ディープラーニングを用いる装置として、制御目標指示装置10のような装置が含まれていてもよい。
このDSLは、その構成要素が事前に構成された動的テストにより動的特性、特にCPU時間の特性が確認済のものであり、これをDSLにより合成したアプリケーションロジックは、所望のリアルタイム属性をどの程度の確率で充足するかが明らかなものである。また、位相がずれて動作する被制御機器、そもそも周期の異なる装置、又は、遅延特性若しくはジッタ特性の異なる装置等において、ファームリアルタイム性を保証しつつ中間値を補完することが可能となる。
さらに、所望のリアルタイム特性を充足しなかった場合に備え、機器への出力データ部分でのデフォルト戦略、非常時戦略を定義する。デフォルト戦略、非常時戦略は、組み込みのハードリアルタイム処理で動作し、リアルタイムに制御が間に合わなかった場合に、ファームリアルタイムとして動作する場合に採択される。デフォルト戦略が一定時間以上続いた場合に、非常として判断され、非常時戦略により安全停止を行うことが可能となる。これにより、システム自体の安全を保証し、かつ、システム内の各種デバイスの故障等も防ぐことが可能となる。
前述の実施形態では、制御装置20と被制御装置30は、別個に備えられるものとしたが、これには限られない。同じ機械、装置内に、制御装置20と被制御装置30が備えられてもよい。また、この場合、複数の被制御装置が1つの装置に含まれていてもよい。
図9は、1実装例を示す模式図である。例えば、システム1が1体のロボット1Rの内部に備えられている。ロボット1R内において、制御周期が同期されていない複数の被制御装置30を備える場合にも、前述の実施形態は適用することが可能である。
例えば、それぞれの被制御装置30は、センサ、アクチュエータが接続されており、ミッションクリティカルな処理を実現するための制御ループを実行している。異なる被制御装置30に属するセンサ及びアクチュエータが協調動作をする場合には、本実施形態を適用することで、制御周期、各センサの計測周期のズレの補正、及び、処理時間の揺らぎ、通信遅延の吸収等を実行することが可能である。これらの補正等を行うことにより、ロボット1Rを操作する場合において、リアルタイム性を実現することができる。
処理時間、通信遅延等が所定のしきい値を超えた場合には、例えば、処理時間、通信遅延等が所定の時間を超えるような場合には、あらかじめ定義した協調動作作業を安全に中止する処理が、被制御装置30ごとに実行されてもよい。前述したように、この処理中にあらかじめ定義された処理の例外が発生した場合には、緊急停止してもよい。
例えば、図9に示すように、ロボット1Rは、2つの被制御装置である、アーム300、302を備えている。これらのアーム300、302は、協働操作を行うことが可能である。1つの物体を把持する協働操作を行う場合、アーム300、302の制御周期について同期がとれていない場合であっても、それぞれの被制御装置について、この制御周期のズレを補正することにより、各アーム部が協働して動作し、把持動作を実現する。
例えば、被制御装置であるアーム300、302との通信に大きな遅延が発生し、協働操作を停止しなければいけない場合、急停止すると把持している物体に損傷を与えてしまうことがある。このような場合に、あらかじめプログラム部に例外処理を定義することにより、被制御装置であるそれぞれのアーム300、302の動作にしたがった安全停止処理を定義することができる。例えば、この定義により、アーム300、302を緩やかに停止させ、物体を損傷させることなく処理することが可能である。
前述したように、システム1、すなわち、ロボット1Rは、センサ40を備えていてもよい。例えば、ロボット1Rは、カメラ400を備えている。同一の制御装置20に接続されたセンサ40及び被制御装置30についても、前述したように本実施形態によればそれぞれ制御することが可能である。1つの制御装置20においては、バスクロック等の制御信号で同期を実行する手法が一般的であるが、例えば、計算量が可変であり、クロック周期に合わせて計算結果が確定しない処理やセンサの計測周期が一定では無い場合には、補正値を用いた同期処理を用いることが可能となる。
図9の例では、カメラ400が取得した映像に基づいて、アーム300、302を用いて物体を把持することを、1つの制御装置20が制御することができる。アーム300、302、及び、カメラ400について異なる同期周期を持っていたとしても、本実施形態によれば、カメラ400からの映像に基づいて、アーム300、302を制御し、例外が発生した場合にも、適切に協働動作を行うことが可能となる。
さらには、インターネットなどのデータ通信ネットワークを介してロボットを遠隔操作する場合にも、本実施形態を適用することができる。通信遅延が大きくなった場合や、データ欠損がある場合にも、リアルタイム性の高いシステム制御を行うことが可能である。これによれば、操作対象のロボットがあらかじめ定義された例外処理により緊急停止などの異常事態になる恐れを低減することもできる。このように、ロボットによるミッションクリティカルな作業をも継続することができる。
また、前述の実施形態に係る装置は、
複数の被制御装置を制御する、制御装置であって、
前記被制御装置のそれぞれについて、前記制御の目標となる制御目標指示を受信する、制御指示受付部と、
受信した前記制御目標指示に基づいて、前記被制御装置の動作の制御を行う信号を生成する、制御処理生成部と、
を備え、
前記被制御装置のそれぞれについての通信遅延時間、位相ずれ時間及び動作周期時間に基づいて、前記被制御装置のそれぞれが協働して制御の目標に到達するように動作の制御を行う、制御装置、
として実施することが可能である。
また、前述の実施形態に係る方法は、
複数の被制御装置を制御する、制御方法であって、被制御装置のそれぞれについて、制御の目標となる制御目標指示を受信するステップと、
受信した制御目標指示に基づいて、前記被制御装置の動作の制御を行う信号を生成するステップと、
前記被制御装置のそれぞれについての通信遅延時間、位相ずれ時間及び動作周期時間に基づいて、前記被制御装置のそれぞれが協働して制御の目標に到達するように動作の制御を行うステップと
を備える制御方法、
として実施することが可能である。
また、前述の実施形態に係るプログラムは、
コンピュータに複数の被制御装置を制御させるプログラムであって、
前記被制御装置のそれぞれについて、制御の目標となる制御目標指示を受信するステップと、
受信した制御目標指示に基づいて、前記被制御装置の動作の制御を行う信号を生成するステップと、
前記被制御装置のそれぞれについての通信遅延時間、位相ずれ時間及び動作周期時間に基づいて、前記被制御装置のそれぞれが協働して制御の目標に到達するように動作の制御を行うステップと
を実行させるプログラム、
として実施することが可能である。
上記の全ての記載において、システム1の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU(Central Processing Unit)等が実施をしてもよい。ソフトウェアで構成される場合には、システム1及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA(Field-Programmable Gate Array)等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU(Graphical Processing Unit)等のアクセラレータを使用して行ってもよい。
また、本実施形態に係る学習モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのCPUが制御目標指示装置10に格納されているモデルに基づいて、センサ40により検知されたデータ又は動作目標となるデータに対して演算を行い、学習済みモデルから結果を出力するように動作する。
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。
1:システム
10:制御目標指示装置
20:制御装置
200:動作周期推定部
202:制御指示受付部
204:制御処理生成部
206:例外処理実行部
208:プログラム格納部
210:アダプタ部
30:被制御装置
40:センサ
1R:ロボット
300、302:アーム
400:カメラ

Claims (16)

  1. 複数の被制御装置に対する制御の目標となる制御目標指示を受信する、制御指示受付部と、
    前記制御目標指示に基づいて、前記複数の被制御装置のそれぞれに対する制御信号を生成する 、制御処理生成部と、
    を備え、
    前記複数の被制御装置の通信遅延時間、位相ずれ時間、及び、動作周期時間の少なくとも1つに基づいて、前記複数の被制御装置が協働して前記目標を達成するように、前記複数の被制御装置の動作を制御する、制御装置。
  2. 前記被制御装置のそれぞれに対して、同期信号を出力せずに前記被制御装置のそれぞれを協働するように制御する、請求項1に記載の制御装置。
  3. 前記制御目標指示の受信の遅延、前記被制御装置に対する制御信号の生成の遅延、前記被制御装置の動作の時間的なずれ、及び、前記被制御装置の動作の空間的なずれのうち少なくとも1つが発生した場合に、例外処理を行う、例外処理実行部をさらに備える、請求項1又は請求項2に記載の制御装置。
  4. 前記例外処理実行部は、例外処理を行う場合に、その原因となった動作の頻度に基づいて実行する例外処理を切り替える、請求項3に記載の制御装置。
  5. 前記例外処理実行部は、
    前記制御目標指示の受信の遅延、前記被制御装置に対する制御信号の生成の遅延、前記被制御装置の動作の時間的なずれ、前記被制御装置の動作の空間的なずれ及び通信異常のうち少なくとも1つが発生した回数が所定の回数以下である場合に、前記被制御装置の動作を補完して制御を行い、
    前記制御目標指示の受信の遅延、前記被制御装置に対する制御信号の生成の遅延、前記被制御装置の動作の時間的なずれ、前記被制御装置の動作の空間的なずれ及び通信異常のうち少なくとも1つが発生した回数が所定の回数を超える場合に、前記被制御装置の動作を安全に停止する制御を行う、
    請求項4に記載の制御装置。
  6. センサから受信した情報、前記制御信号の遅延及び通信異常のうち少なくとも1つに基づいて例外処理を行う、請求項3乃至請求項5のいずれかに記載の制御装置。
  7. 前記被制御装置の動作周期を推定する、動作周期推定部をさらに備える、請求項1乃至請求項6のいずれかに記載の制御装置。
  8. 前記動作周期推定部は、前記被制御装置のそれぞれに信号を送信したタイミングと、前記被制御装置のそれぞれからの返信を受信したタイミングと、に基づいて前記被制御装置のそれぞれの動作周期を推定する、請求項7に記載の制御装置。
  9. 前記動作周期推定部は、前記被制御装置に対する通信遅延及び位相ずれをさらに推定する、請求項7又は請求項8に記載の制御装置。
  10. 前記被制御装置のそれぞれについての通信遅延時間、位相ずれ時間及び動作周期時間を記憶し、記憶している各情報に基づいて、前記制御処理生成部が生成した前記被制御装置のそれぞれに対する制御信号を、それぞれの前記被制御装置へと送信する、アダプタ部をさらに備える、請求項1乃至請求項9のいずれかに記載の制御装置。
  11. 前記制御目標指示は、あらかじめ学習されたモデルに基づいて生成される、請求項1乃至請求項10のいずれかに記載の制御装置。
  12. 前記制御目標指示は、前記被制御装置の制御と並行し、前記被制御装置の制御状態及び前記被制御装置の動作状態に基づいた学習を行って生成される、請求項1乃至請求項11のいずれかに記載の制御装置。
  13. 請求項1乃至請求項12のいずれかに記載の制御装置と、
    前記制御装置に制御される複数の被制御装置と、
    を備える、システム。
  14. 複数の被制御装置を制御する、制御装置であって、
    前記被制御装置のそれぞれについて、前記制御の目標となる制御目標指示を受信する、制御指示受付部と、
    受信した前記制御目標指示に基づいて、前記被制御装置の動作の制御を行う信号を生成する、制御処理生成部と、
    を備え、
    前記被制御装置のそれぞれについての通信遅延時間、位相ずれ時間及び動作周期時間に基づいて、前記被制御装置のそれぞれが協働して制御の目標に到達するように動作の制御を行う、制御装置。
  15. 複数の被制御装置に対する制御の目標となる制御目標指示を受信するステップと、
    前記制御目標指示に基づいて、前記複数の被制御装置のそれぞれに対する制御信号を生成するステップと、
    前記複数の被制御装置の通信遅延時間、位相ずれ時間、及び、動作周期時間の少なくとも1つに基づいて、前記複数の被制御装置が協働して前記目標を達成するように、前記複数の被制御装置の動作を制御するステップと
    を備える制御方法。
  16. コンピュータに、
    複数の被制御装置に対する制御の目標となる制御目標指示を受信する手段、
    前記制御目標指示に基づいて、前記複数の被制御装置のそれぞれに対する制御信号を生成する手段、
    前記複数の被制御装置の通信遅延時間、位相ずれ時間、及び、動作周期時間の少なくとも1つに基づいて、前記複数の被制御装置が協働して前記目標を達成するように、前記複数の被制御装置の動作を制御する手段、
    として機能させるプログラム。
JP2019559199A 2017-12-13 2018-12-13 制御装置、制御方法及びプログラム Pending JPWO2019117249A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017238384 2017-12-13
JP2017238384 2017-12-13
PCT/JP2018/045878 WO2019117249A1 (ja) 2017-12-13 2018-12-13 制御装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JPWO2019117249A1 true JPWO2019117249A1 (ja) 2020-12-17

Family

ID=66820326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019559199A Pending JPWO2019117249A1 (ja) 2017-12-13 2018-12-13 制御装置、制御方法及びプログラム

Country Status (5)

Country Link
US (1) US20200310364A1 (ja)
JP (1) JPWO2019117249A1 (ja)
CN (1) CN111417906A (ja)
DE (1) DE112018005805T5 (ja)
WO (1) WO2019117249A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022180157A (ja) * 2021-05-24 2022-12-06 オムロン株式会社 制御装置、ロギング方法およびプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH063452A (ja) * 1992-06-19 1994-01-11 Nippon Telegr & Teleph Corp <Ntt> 移動ロボット間の環境認識方式
JPH07248810A (ja) * 1994-03-11 1995-09-26 Mitsubishi Electric Corp 数値制御装置
JPH07271415A (ja) * 1994-03-30 1995-10-20 Nec Corp 協調ロボット制御方法
JP2007259294A (ja) * 2006-03-24 2007-10-04 Mitsubishi Electric Corp 基地局集線装置および基地局集線システムにおける装置間同期制御方法
JP2008146149A (ja) * 2006-12-06 2008-06-26 Yaskawa Electric Corp 分散システムの同期処理装置および同期処理方法
WO2010095713A1 (ja) * 2009-02-23 2010-08-26 三菱電機株式会社 無線通信システム、無線通信装置および無線通信方法
JP2013066088A (ja) * 2011-09-20 2013-04-11 Advanced Telecommunication Research Institute International ネットワークシステム、ネットワーク機器および配信方法
JP2013084111A (ja) * 2011-10-07 2013-05-09 Canon Inc 通信システム、制御装置、通信装置、制御方法、通信方法、及びプログラム
WO2016009518A1 (ja) * 2014-07-16 2016-01-21 株式会社安川電機 機器制御システム、タイムチャート作成装置、機器制御装置、機器制御方法、タイムチャート作成方法及びコンピュータプログラム
JP2017049903A (ja) * 2015-09-04 2017-03-09 Kddi株式会社 作業装置及び通信制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4348276B2 (ja) * 2004-11-02 2009-10-21 本田技研工業株式会社 ロボット制御装置
JP4185926B2 (ja) * 2005-08-26 2008-11-26 ファナック株式会社 ロボット協調制御方法及びシステム
JP5578220B2 (ja) * 2012-10-22 2014-08-27 株式会社安川電機 ロボットシステム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH063452A (ja) * 1992-06-19 1994-01-11 Nippon Telegr & Teleph Corp <Ntt> 移動ロボット間の環境認識方式
JPH07248810A (ja) * 1994-03-11 1995-09-26 Mitsubishi Electric Corp 数値制御装置
JPH07271415A (ja) * 1994-03-30 1995-10-20 Nec Corp 協調ロボット制御方法
JP2007259294A (ja) * 2006-03-24 2007-10-04 Mitsubishi Electric Corp 基地局集線装置および基地局集線システムにおける装置間同期制御方法
JP2008146149A (ja) * 2006-12-06 2008-06-26 Yaskawa Electric Corp 分散システムの同期処理装置および同期処理方法
WO2010095713A1 (ja) * 2009-02-23 2010-08-26 三菱電機株式会社 無線通信システム、無線通信装置および無線通信方法
JP2013066088A (ja) * 2011-09-20 2013-04-11 Advanced Telecommunication Research Institute International ネットワークシステム、ネットワーク機器および配信方法
JP2013084111A (ja) * 2011-10-07 2013-05-09 Canon Inc 通信システム、制御装置、通信装置、制御方法、通信方法、及びプログラム
WO2016009518A1 (ja) * 2014-07-16 2016-01-21 株式会社安川電機 機器制御システム、タイムチャート作成装置、機器制御装置、機器制御方法、タイムチャート作成方法及びコンピュータプログラム
JP2017049903A (ja) * 2015-09-04 2017-03-09 Kddi株式会社 作業装置及び通信制御方法

Also Published As

Publication number Publication date
US20200310364A1 (en) 2020-10-01
WO2019117249A1 (ja) 2019-06-20
DE112018005805T5 (de) 2020-09-03
CN111417906A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
US11613015B2 (en) Technique for providing reliable control in a cloud robotics system
JP5916716B2 (ja) 自動化作業セルを制御するための方法
JP6593715B2 (ja) 異常判定システム、モータ制御装置
JP6724831B2 (ja) コントロールシステム、コントローラ及び制御方法
US10780583B2 (en) System and method of controlling robot
US8901870B2 (en) Synchronous control apparatus
US20220147022A1 (en) Control system
JP6272599B1 (ja) 制御装置およびモータ制御システム
JP5895420B2 (ja) ロボット制御装置、及びロボットシステム
JP2021086232A (ja) 制御システム、制御装置および制御方法
JPWO2019117249A1 (ja) 制御装置、制御方法及びプログラム
US12007739B2 (en) Method and system for executing an event-oriented control program
Blevins et al. Process control over real-time wireless sensor and actuator networks
GB2587576A (en) Reducing controller updates in a control loop
JP2015056766A (ja) クラウド制御システム、及びその制御プログラムの実行方法
EP4067016A1 (en) Control device
US20230401090A1 (en) Control device, control method, and non-transitory computer readable medium
WO2022180805A1 (ja) 機器制御システム、機器制御方法、および機器制御プログラム
EP3992735B1 (en) Control device
WO2022162959A1 (ja) 制御システム、ロボットコントローラおよび制御方法
WO2022158079A1 (ja) 制御装置及び自動作業方法
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
CN113225367A (zh) 主机和客户端之间基于包通信的自动化网络及其运行方法
WO2024002830A1 (en) A controller for communicating with a plurality of industrial iot devices
JP2020146766A (ja) ロボットシステム、ロボットの制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220128

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220128

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220207

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220516

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220729

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220802

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220826

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220930

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230106

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20230118

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230127

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230127