JP7387053B2 - 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム - Google Patents

制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム Download PDF

Info

Publication number
JP7387053B2
JP7387053B2 JP2023500521A JP2023500521A JP7387053B2 JP 7387053 B2 JP7387053 B2 JP 7387053B2 JP 2023500521 A JP2023500521 A JP 2023500521A JP 2023500521 A JP2023500521 A JP 2023500521A JP 7387053 B2 JP7387053 B2 JP 7387053B2
Authority
JP
Japan
Prior art keywords
communication
control system
control
parameter
devices
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
JP2023500521A
Other languages
English (en)
Other versions
JPWO2022176266A5 (ja
JPWO2022176266A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022176266A1 publication Critical patent/JPWO2022176266A1/ja
Publication of JPWO2022176266A5 publication Critical patent/JPWO2022176266A5/ja
Application granted granted Critical
Publication of JP7387053B2 publication Critical patent/JP7387053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システムに関する。
従来、制御システムに含まれるネットワークの通信帯域を最適化する方法が知られている。たとえば、特表2004-533184号公報(特許文献1)には、ネットワークを介したデータ伝送のための方法であって、データ伝送の予め定められた要件を満たすようデータ伝送速度を高めるために、データ・パケット・サイズがネットワーク状況に適応される方法が開示されている。当該方法においては、ファジー・ロジック・アナライザまたはニューラル・ネットワーク・アナライザによって、最適なパケットサイズおよび最適なパケット間隔が決定される。
制御対象(たとえば産業機器または車載機器)に対するリアルタイム処理が必要とされる制御システムにおいて、当該制御システムを統合的に制御するマスタ装置は、イーサネット(登録商標)等のネットワークを介して、当該制御対象を直接に制御する制御装置と接続されることが多い。マスタ装置は、当該ネットワークを介して、制御装置および制御対象に対する制御に必要な情報を含む制御系データを定時に(たとえばサンプリングタイム毎に)制御装置に送信する。マスタ装置は、制御対象から取得されたデータを解析して、当該制御対象を制御する。リアルタイム処理が必要とされる制御システムにおいて、制御系データは、定時に送信される性質(定時性)を有する。本開示においては、定時性を有するデータの通信を定時性通信とも呼ぶ。
特表2004-533184号公報
制御系データの通信が行われるネットワークにおいては、制御系データよりも定時性が低い、制御装置の状態を監視するための情報系データの通信も行われる。その結果、当該ネットワークの通信帯域が情報系データに起因して変動する。また、制御装置の通信機能に起因する遅延、あるいはマスタ装置と制御装置との通信を中継する中継装置で発生する輻輳等によっても、当該ネットワークの通信帯域が変動する。さらに、当該ネットワークに含まれる装置の接続形態によっても制御系データの通信に使用される伝送路の通信帯域は変動する。
制御系データの通信が行われるネットワークの通信帯域は、様々な要因によって動的に変動し得る。そのため、リアルタイム性を維持しながら制御システムを正常に稼働させるためには、当該ネットワークの通信帯域を動的に変動させる様々な要因を考慮して、制御システムのパラメータを適切に設定する必要がある。
しかし、特許文献1に開示されている方法においては、制御系データの通信フレームが他のデータの通信フレームから識別されていないため、制御系データの通信が行われるネットワークの通信帯域を動的に変動させる要因を、定時性通信に関わるパラメータの設定に反映させることが困難である。また、特許文献1においてパケットサイズおよびパケット間隔の最適化のために測定されるパラメータは、接続の待ち時間および揺らぎのみである。そのため、特許文献1に開示されている方法によると、ネットワークの通信帯域を動的に変動させる、接続の待ち時間および揺らぎ以外の要因をパラメータ設定に反映させることが困難になり得る。その結果、制御系データの定時性通信を実現することが困難になり得る。
本開示は、上記のような課題を解決するためになされたものであり、その目的は、ネットワークを介した制御のリアルタイム性を向上させることである。
本開示の一局面に係る方法は、少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムにおいて行われる、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する方法である。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。ネットワークの通信帯域に関する通信パラメータを設定する方法は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定するステップと、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定するステップと、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定するステップとを含む。
本開示の他の局面に係る装置は、制御システムに含まれる複数の通信装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する。制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信される。複数の通信装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。装置は、測定部と、推定部と、判定部とを備える。測定部は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。推定部は、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。判定部は、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
本開示の他の局面に係るプログラムは、処理回路によって実行されることにより、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する。制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信される。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。処理回路によって実行されることによりプログラムは、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。処理回路によって実行されることによりプログラムは、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。処理回路によって実行されることによりプログラムは、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
本開示の他の局面に係る制御システムは、少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する。制御システムは、複数の装置を備える。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。複数の装置に含まれる装置のいずれかである特定装置は、複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する装置である。特定装置は、測定部と、推定部と、判定部とを備える。測定部は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。推定部は、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。判定部は、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
本開示に係る方法、装置、プログラム、および制御システムによれば、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定することにより、ネットワークを介した制御のリアルタイム性を向上させることができる。
実施の形態1に係る制御システムの構成を示すブロック図である。 図1のマスタ装置のハードウェア構成を示すブロック図である。 マスタ装置と制御装置との間で行われる定時性通信に用いられる通信フレームの一例を示す図である。 制御システムにおいて行われる、パラメータ設定処理の流れを示すフローチャートである。 強化学習のフレームワークを説明するための図である。 マスタ装置に含まれる機械学習器の入力パラメータおよび出力パラメータ(推定パラメータ)を説明するための図である。 マスタ装置の機能構成を示すブロック図である。 図4のフローチャートを強化学習の例に合わせて具体化したフローチャートである。 実施の形態2に係る制御システムの構成を示すブロック図である。 図9のマスタ装置と制御装置との間における時刻同期の手順の一例を示すシーケンス図である。 時刻同期されたネットワークにおいて、定時性通信が制御周期で繰り返し行われる様子を示す図である。 図11の制御用タイムスロットを拡大した図である。 実施の形態2,3の各々に係る制御システムにおいて行われる定時制通信の制御周期に含まれる各タイムスロットの通信フレーム構成の一例を示す図である。
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
実施の形態1.
図1は、実施の形態1に係る制御システム100の構成を示すブロック図である。制御システム100は、マスタ装置1(特定装置)と、複数の制御装置21~2N(Nは2以上の自然数)と、中継装置3とを備える。マスタ装置1は、通信部41を含む。複数の制御装置21~2Nは、通信部421~42Nをそれぞれ含む。中継装置3は、通信部43を含む。通信部41,421~42N,43の各々は、イーサネットの通信プロトコルに対応するネットワーク機能を有する。なお、図1においては、制御システム100に含まれるマスタ装置1の数および中継装置3の数がいずれも1である場合が示されているが、マスタ装置1の数および中継装置3の数の各々は2以上であってもよい。
マスタ装置1は、中継装置3を介して、複数の制御装置21~2Nに接続されている。通信部41は、伝送路5を介して通信部43に接続されている。通信部421~42Nの各々は、伝送路5を介して、通信部43に接続されている。マスタ装置1、複数の制御装置21~2N、および中継装置3は、中継装置3をハブ(または、ルート)とするスター型(または、ツリー型)のネットワークを形成している。
制御装置21は、制御点611~618を含む。制御点611~618の各々は、センサ7と通信を行うためのインターフェースである。制御装置22は、制御点621~629を含む。制御点621は、センサ7(制御対象)と通信を行うためのインターフェースである。制御点622~629の各々は、アクチュエータ8(制御対象)と通信を行うためのインターフェースである。制御装置2Nは、制御点6N1~6NM(Mは自然数)を含む。制御点6N1~6NMの各々は、アクチュエータ8と通信を行うためのインターフェースである。
マスタ装置1は、制御装置21を制御することにより、制御点611~618の各々に接続されたセンサ7を制御する。マスタ装置1は、制御装置22を制御することにより、制御点621に接続されたセンサ7、および制御点622~629の各々に接続されたアクチュエータ8を制御する。マスタ装置1は、制御装置2Nを制御することにより、制御点6N1~6NMの各々に接続されたアクチュエータ8を制御する。
マスタ装置1は、制御装置21を介して制御点611~618の各々に接続されたセンサ7によって測定された測定データを取得する。マスタ装置1は、当該測定データを解析して、アクチュエータ8を操作する指令(操作指令)を決定する。マスタ装置1は、制御点621~629の各々に接続されたアクチュエータ8への操作指令を制御装置22に送信する。マスタ装置1は、制御点6N1~6NMの各々に接続されたアクチュエータ8への操作指令を制御装置2Nに送信する。制御装置22は、マスタ装置1からの操作指令に従って、制御点621~629の各々に接続されたアクチュエータ8を操作する。制御装置2Nは、マスタ装置1からの操作指令に従って、制御点6N1~6NMの各々に接続されたアクチュエータ8を操作する。
リアルタイム処理を実現するために、制御システム100は、予め定められた間隔(たとえば制御周期またはサンプリングタイム)内でセンサ7の測定データを取得して、当該測定データに応じてアクチュエータ8の操作を完了する必要がある。マスタ装置1は、制御装置21~2Nと定期的な通信周期(定時性通信周期)で通信し、制御装置21~2Nを制御する。制御装置21は、制御点611~618の各々に接続されたセンサ7と定期的な通信周期(データ取得周期)で通信し、センサ7の測定データを取得する。制御装置22は、制御点621に接続されたセンサ7とデータ取得周期で通信し、センサ7の測定データを取得する。制御装置22は、制御点622~629の各々に接続されたアクチュエータ8と定期的な通信周期(操作周期)で通信し、アクチュエータ8を操作する。制御装置2Nは、制御点6N1~6NMの各々に接続されたアクチュエータ8と操作周期で通信し、アクチュエータ8を操作する。
図2は、図1のマスタ装置1のハードウェア構成を示すブロック図である。マスタ装置1、制御装置21~2N、および中継装置3は、典型的には同様のハードウェア構成を有するネットワーク機器である。ここでは、マスタ装置1、制御装置21~2N、および中継装置3を代表して、マスタ装置1のハードウェア構成について説明する。
図2に示されるように、マスタ装置1は、通信部41と、処理回路412と、記憶装置413と、入出力部44とを含む。通信部41、処理回路412、記憶装置413、および入出力部44は、バス45によって結合されている。
通信部41には、有線または無線で構成される伝送路5が接続されている。マスタ装置1は、通信部41、伝送路5、および中継装置3を介して、制御装置21~2Nと通信する。
処理回路412は、たとえばCPU(Central Processing Unit)を含む。処理回路412は、GPU(Graphics Processing Unit)を含んでいてもよい。処理回路412は、記憶装置413に記憶されたプログラムを読み出して実行することにより、マスタ装置1の各部の動作を制御する。当該プログラムには、たとえばOS(Operating System)プログラム、システム制御プログラム、および機械学習プログラムが含まれる。処理回路412は、当該プログラムを実行することによって、後述するマスタ装置1の機能を実現する。なお、マスタ装置1は、複数の処理回路412を有していてもよい。
記憶装置413は、たとえばRAM(Random Access Memory)、ROM(Read-Only Memory)、あるいはフラッシュメモリ等によって実装される。記憶装置413は、たとえば、処理回路412によって実行されるプログラム、あるいは処理回路412によって用いられるデータなどを記憶する。
入出力部44は、ユーザからの操作を受けるとともに、処理結果をユーザに出力する。入出力部44は、たとえば、マウス、キーボード、タッチパネル、ディスプレイ、およびスピーカを含む。
図3は、マスタ装置1と制御装置21~2Nとの間で行われる定時性通信に用いられる通信フレームCF1の一例を示す図である。通信フレームCF1は、制御系データの通信フレームである。通信フレームCF1は、ヘッダー10と、複数の制御装置データ11と、FCS(Frame Check Sequence)13とを含む。複数の制御装置データ11は、制御装置21~2Nに関する情報をそれぞれ含み、ヘッダー10とFCS13との間に配置されている。制御装置データ11は、複数の制御点データ12を含む。複数の制御点データ12は、対応する制御装置に含まれる複数の制御点に関する情報をそれぞれ含む。なお、制御系データの通信フレームは、図3に示される通信フレームCF1の構成に限定されない。制御系データの通信フレームは、複数のフレームに分かれていてもよい。
マスタ装置1に接続する制御装置21~2Nの数N、および制御装置21~2Nに含まれる制御点の数(制御対象の数)によって、通信フレームCF1のデータサイズは変わる。そのため、通信フレームCF1のデータサイズによって制御系データの通信に要する時間が変化する。
伝送路5を介して制御系データが送信されるとともに受信されるため、伝送路5の通信帯域によって制御系データの通信に要する時間が変化する。伝送路5においては、制御系データの通信以外に制御装置21~2Nの状態を監視するための、定時性が制御系データより低い情報系データの通信も制御系データと同じ回線を用いて行われる。そのため、情報系データの通信量によって伝送路5の通信帯域が変動する。また、通信部41内で発生する処理遅延、あるいは中継装置3で発生する輻輳等によっても、伝送路5の通信帯域が変動する。さらに、マスタ装置1と制御装置21~2Nとの接続態様、あるいは、制御装置21~2Nとセンサおよびアクチュエータとの接続態様によっても伝送路5の通信帯域は変動する。
制御系データの通信帯域を変動させる要因には、上述のように動的な要因が多い。そのため、制御システム100の予め定められた構成に応じて、リアルタイム処理を実現するための最適な通信帯域を求めることは困難である場合が多い。動的に通信帯域を変動させる要因が制御系データの定時性通信に関する通信パラメータの設定に反映されない場合、制御システム100のリアルタイム性を実現することが困難になり得る。
そこで、制御システム100においては、動的に通信帯域を変動させる要因を、機械学習を介して定時性通信に関する通信パラメータの設定に反映させる。図4は、制御システム100において行われる、パラメータ設定処理の流れを示すフローチャートである。以下では、ステップを単にSと記載する。
図4に示されるように、S1において、制御システム100のならし運転(試運転)が行われ、制御システム100において形成されているネットワークの通信状況に関するパラメータ(第1パラメータ)および当該ネットワークの通信品質に関するパラメータ(第2パラメータ)が測定される。ならし運転において、制御システム100の通信パラメータは、予め定められた初期値に設定されている。通信パラメータは、ネットワークの通信状況に関するパラメータ、ネットワークの構成に関するパラメータ(第3パラメータ)、制御装置21~2Nの構成に関するパラメータ(第4パラメータ)、制御装置21~2Nの制御点611~6NMの各々と制御対象との通信状況に関するパラメータ(第5パラメータ)、および制御装置21~2Nの制御点611~6NMの各々と制御対象との通信品質に関するパラメータ(第6パラメータ)の少なくとも1つを含む。S1においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが測定されてもよい。
ネットワークの構成に関するパラメータは、マスタ装置1の個数、制御装置21~2Nの個数、中継装置3の個数、ネットワークに含まれる装置の総数、ネットワークにおける複数の装置の接続形態、および当該複数の装置の各々がネットワークを介して通信する装置の数の少なくとも1つを含む。制御装置21~2Nの構成に関するパラメータは、センサ7およびアクチュエータ8のそれぞれに対応する複数の制御対象の種別、当該複数の制御対象の種別の各々の数、制御装置21~2Nの数、制御装置21~2Nとセンサ7およびアクチュエータ8との接続形態、ならびに制御装置21~2Nの各々が通信する制御対象の数、制御装置21~2Nに含まれる制御点の数、各制御点にそれぞれ接続された制御対象の数、ネットワークにおいてマスタ装置1から中継装置3を介して制御装置21~2Nに至る伝送路の数、制御点と制御対象との接続形態、および制御点から制御対象に至る伝送路の数の少なくとも1つを含む。
ネットワークの通信状況に関するパラメータは、たとえば、通信フレームに含まれるデータの種別、制御システム100に含まれるネットワークの通信速度、当該ネットワークにおいて通信される単位時間当たりの通信量、連続して送信される2つの通信フレームの時間間隔、および複数の通信フレームが通信される順番の少なくとも1つを含む。ネットワークの通信品質に関するパラメータは、当該ネットワークにおける通信フレームの損失量、および通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む。
制御対象との通信状況に関するパラメータは、制御点の各々における通信速度、制御点の各々において通信される単位時間当たりの通信量、当該制御点において連続して通信される2つの通信フレームの時間間隔、当該制御点において通信される複数の通信フレームの順番の少なくとも1つを含む。制御対象との通信品質に関するパラメータは、制御点における通信フレームの損失量、および通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む。
S2において、機械学習によって学習済みモデルに最適化される推定モデルによって、制御システム100の定時性通信に最適な通信パラメータが推定される。なお、機械学習には、教師あり学習、教師なし学習、あるいは強化学習を挙げることができる。S1においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが推定されてもよい。
S3において、S2で推定されたパラメータを用いるならし運転が再び行われ、制御システム100に含まれるネットワークの通信状況および通信品質が測定される。S3においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが測定されてもよい。
S4において、S3で測定された通信品質が予め定められた目標条件を満たすか否かが判定される。当該目標条件は、マスタ装置1による制御対象の測定データの取得および制御対象の操作を完了するまでに要する時間が制御周期以内という条件である。当該目標条件は、たとえば、推定されたパラメータが設定された制御システム100が運転された場合の通信帯域の下で、制御周期以内に、マスタ装置1が少なくとも1つの制御対象からデータを取得し、当該データの解析結果に応じた制御系データを少なくとも1つの制御対象に送信することが完了するという条件を含む。
当該目標条件が満たされていない場合(S4においてNO)、再びS2が行われる。当該条件が満たされた場合(S4においてYES)、S5において最適なパラメータがユーザに通知される。ユーザは、当該パラメータを用いて制御システム100の実際の運用を開始することができる。
図4に示される処理において、異なるパラメータ設定の下でのならし運転が繰り返し試行される。ならし運転の繰り返しにより、制御システム100に求められるリアルタイム性を実現するために最適なパラメータが探索される。
なお、図4のS1~S3は、制御システム100の運転開始時に実行されるか、予め定められた周期で定期的に実行されるか、またはネットワークの通信状況に関するパラメータ、ネットワークの構成に関するパラメータおよび制御装置21~2Nの構成に関するパラメータの少なくとも一方が変更された場合に実行される。
以下では、図4のS2の機械学習が強化学習である場合について説明する。強化学習を用いることにより、教師あり学習と比較して、予め教師データを用意する必要がない。
図5は、強化学習のフレームワークを説明するための図である。図5に示されるように、強化学習のフレームワークは、エージェントAgt、環境Env、およびエージェントAgtと環境Envとの間の相互作用から構成される。エージェントAgtは、行動aを決定する主体である。制御システム100においては、マスタ装置1に含まれる機械学習器がエージェントAgtに対応する。環境Envは、エージェントAgtが相互作用を行なう対象である。マスタ装置1によって直接的に統合制御されて状態が変化する制御システム100が環境Envに対応する。
具体的には、エージェントAgtは、時刻tにおける環境の状態sを観測する。エージェントAgtは、状態sの観測結果と過去の学習に基づいて行動aを選択して行動aを実行する。行動aが実行されることで環境の状態sが次の状態st+1へと変化する。状態の変化に応じて、エージェントAgtに報酬rt+1が与えされる。エージェントAgtが状態s、行動a、報酬rt+1、および過去に学習した結果を用いて学習を進め、最適な方策が得られるように行動選択を収束させていく。
強化学習においては、環境Env内におけるエージェントAgtが、現在の状態を観測し、取るべき行動を決定する。エージェントAgtは行動を選択することで環境Envから報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、たとえば、Q学習、TD(Temporal Difference)学習が知られている。Q学習の場合、行動価値関数Q(s,a)(行動価値テーブル)の一般的な更新式は以下の式(1)で表される。
Figure 0007387053000001
式(1)において、sは、時刻tにおける状態を表す。aは、時刻tにおける行動を表す。行動aにより、状態はsからst+1に変わる。rt+1は状態の変化によって環境から与えられる報酬を表す。γは、割引率を表す。αは、学習係数を表す。なお、割引率γの範囲は、0<γ≦1である。学習率αの範囲は、0<α≦1である。
式(1)で表される更新式は、時刻t+1における最良の行動at+1の行動価値が時刻tにおいて実行された行動aの行動価値よりも大きければ、行動aの行動価値を増加させる。時刻t+1における最良の行動at+1の行動価値が、時刻tにおいて実行された行動aの行動価値よりも小さい場合、行動aの行動価値を減少させる。すなわち、時刻tにおける行動aの行動価値を、時刻t+1における最良の行動at+1の行動価値に近づけるように、行動価値関数Q(s,a)が式(1)によって更新される。その結果、或る時刻の状態における最良の行動価値が、当該時刻以前の状態における行動価値に順次伝播していく。
図6は、マスタ装置1に含まれる機械学習器としての推定部20の入力パラメータsおよび出力パラメータa(推定パラメータ)を説明するための図である。入力パラメータsは、強化学習の状態に対応する状態変数である。出力パラメータaは、強化学習の行動に対応する行動値である。図6に示されるように、入力パラメータsには、通信フレームに関する情報(通信状況)s_frm、通信品質s_qlt、ネットワーク構成s_ntw、および制御装置構成s_cntが含まれる。出力パラメータaには、通信フレームに関する情報a_frm、ネットワーク構成a_ntw、および制御装置構成a_cntが含まれる。
通信フレーム情報s_frm,a_frmには、通信フレームの種別(たとえば制御系データであるか、または情報系データであるかを示すフラグ)、通信帯域(たとえばネットワークの通信速度、または当該ネットワークにおいて通信される単位時間当たりの通信量(パケットデータサイズ))、および通信手順(たとえば、連続して送信される2つの通信フレームの時間間隔、または複数の通信フレームが通信される順番)が含まれる。
通信品質s_qltには、通信フレームの損失量、および通信フレームの遅延時間(通信フレームが送信されてから受信されるまでの時間間隔)が含まれる。制御系データの損失および遅延は、制御システム100の誤動作を生じさせる。情報系データの損失および遅延は、音声または画像の品質の低下、あるいは音声または画像の乱れを生じさせる。
ネットワーク構成s_ntw,a_ntwには、マスタ装置1に関する情報、複数の制御装置21~2Nの各々に関する情報、中継装置3に関する情報、マスタ装置1の個数、複数の制御装置21~2Nの個数、中継装置3の個数、制御システム100に含まれる総装置数、制御システム100における複数の装置の接続形態(たとえばピアツーピア、ツリー、あるいはデイジーチェーン等)、および接続形態に応じた、各装置が通信する装置数が含まれる。
制御装置構成s_cnt,a_cntには、複数の制御装置21~2Nの各々について、当該制御装置によって制御される、センサ7に関する情報、アクチュエータ8に関する情報、センサ7の個数、アクチュエータ8の個数、センサ7およびアクチュエータ8の総数、センサ7およびアクチュエータ8と対応する制御装置との接続形態(たとえば、ピアツーピア、ツリー、あるいはデイジーチェーン等)、ならびに当該接続形態に応じた、センサ7およびアクチュエータ8の各々が通信する装置数が含まれる。
図7は、マスタ装置1の機能構成を示すブロック図である。マスタ装置1は、通信部41に加えて、推定部20と、ユーザ通知部60と、測定部70と、判定部71と、パラメータ設定部80とをさらに含む。推定部20は、学習部30と、状態観測部31と、行動選択部40とを含む。
測定部70は、通信部41と中継装置3との間で行われる通信の品質を測定する。状態観測部31は、測定部70から取得される、通信フレーム情報s_frmと、通信品質s_qltと、ネットワーク構成s_ntwと、制御装置構成s_cntとを状態変数として観測する。
判定部71は、推定部20によって推定された通信パラメータが設定された制御システム100が運転された場合の通信帯域が目標条件を充足するか否かを判定する。判定部71は、判定結果をユーザ通知部60に出力する。
推定部20は、通信フレーム情報s_frmと、通信品質s_qltと、ネットワーク構成s_ntwと、制御装置構成s_cntとを用いて作成される機械学習用のデータセットに従って、制御システム100を最適化するための通信状況と、通信品質と、ネットワーク構成と、制御装置構成とを学習する。推定部20は、報酬基準設定部32と、報酬計算部33と、関数更新部34と、学習結果記憶部35とを含む。
学習結果記憶部35は、機械学習によって最適化される推定モデルM1を記憶する。強化学習においては、学習結果記憶部35は、推定モデルM1を行動価値関数Q(Qテーブル)として記憶する。行動価値関数Q(s,a)は、推定部20の学習結果である。なお、強化学習開始時の初期状態においては、行動価値テーブルの報酬は0である。
行動選択部40は、学習結果記憶部35に記憶された行動価値関数Q(s,a)を用いて、次の行動を選択する。典型的には、行動選択部40は、初期状態においては、ランダムに分類情報および各グループの同期周期を選択する。行動選択部40は、学習途中段階においては、たとえば、ε-greedy法を用いて、次の行動を選択する。ε-greedy法とは、一定の確率εで、或る環境において取り得る行動のうち一つをランダムに選び、(1-ε)の確率で或る環境において最大のQ値を有する行動を選択する手法である。なお、その他の公知の行動選択方式が採用されてもよい。行動選択部40により選択された次の行動が、推定部20の出力(推定)パラメータとなる。
報酬基準設定部32は、推定モデルM1の学習に用いられる報酬をどのような基準で増加または減少させるのかを規定する報酬基準値を設定する。報酬計算部33は、報酬基準設定部32により設定された報酬基準値と、状態観測部31により観測された状態変数とを用いて報酬を計算する。
関数更新部34は、報酬計算部33によって計算された報酬に従って、推定部20の出力パラメータを決定するための関数を更新する。関数更新部34は、学習結果記憶部35に記憶された行動価値テーブル(推定モデルM1)を更新することにより当該関数を更新する。行動価値テーブルは、任意の行動と、当該行動の行動価値とを関連付けてテーブルの形式で記憶されたデータセットである。たとえば、Q学習の場合、式(1)で表される行動価値関数Q(s,a)が、出力パラメータを求めるための関数として用いられる。関数更新部34は、行動価値テーブルの更新が行われなくなり行動価値関数Q(s,a)が収束した場合、推定部20による学習は終了したと判定する。この場合、行動選択部40は、収束した行動価値関数Q(s,a)に基づいて報酬が最も多く得られる次の行動を選択する。
以下では、報酬基準設定部32によって設定される報酬基準値の例について説明する。報酬基準値は、どのような観点から行動を評価するかで異なる。どの観点において制御システム100を最適化するか、あるいは様々な観点のバランスをとって制御システムを最適化するかは、報酬基準設定部32において予め選択することができる。
表1は、通信フレーム情報に含まれる各パラメータ(状態変数)に対して、制御システム100の性能を向上させるか否かという観点で報酬基準値が決定される例を示す表である。表1においては、状態変数として、制御系データの比率と情報系データの比率、通信速度、通信量、通信フレーム間隔、および通信フレームの通信順番が示されている。制御系データの比率は、単位時間当たりの通信フレームの総数に対する、制御系データを含む通信フレームの数の比率である。情報系データの比率は、単位時間当たりの通信フレームの総数に対する、情報系データを含む通信フレームの数の比率である。
Figure 0007387053000002
報酬基準設定部32は、制御系データの比率が情報系データの比率に対して大きくなると制御システム100の性能が向上すると仮定し、制御系データの比率が情報系データの比率に対して大きくなる場合の報酬基準値を、現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、制御系データの比率が情報系データに対して小さくなると制御システムの性能が劣化すると仮定し、制御系データの比率が情報系データの比率に対して小さくなる場合の報酬基準値を現在の値よりも小さい値に設定する。同様に、報酬基準設定部32は、通信速度が速くなる場合、通信量が多くなる場合、通信フレーム間隔が短くなる場合、および制御系データが情報系データよりも優先的に送信されるようになる場合の報酬基準値を現在の値よりも大きい値に設定する。また、報酬基準設定部32は、通信速度が遅くなる場合、通信量が少なくなる場合、通信フレーム間隔が短くなる場合、および情報系データが制御系データよりも優先的に送信されるようになる場合の報酬基準値を現在の値よりも小さい値に設定する。
表2は、通信フレーム情報に含まれる各パラメータに対して、制御システム100の通信品質が向上するか否かという観点で報酬基準値が決定される例を示す表である。表2においては、表1に示される通信速度、通信量、および通信フレーム間隔が状態変数として示されている。
Figure 0007387053000003
報酬基準設定部32は、通信速度が速くなると通信品質が劣化すると仮定し、通信速度が速くなる場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、通信速度が遅くなると通信品質が向上すると仮定し、通信速度が遅くなる場合の報酬基準値を現在の値よりも大きい値に設定する。同様に、報酬基準設定部32は、通信量が多くなる場合、および通信フレーム間隔が短くなる場合の報酬基準値を現在の値よりも小さい値に設定する。また、報酬基準設定部32は、通信量が少なくなる場合、および通信フレーム間隔が長くなる場合の報酬基準値を現在の値よりも大きい値に設定する。
表3は、通信品質に関する各パラメータに対して、報酬基準値が決定される例を示す表である。表3においては、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレーム比率が状態変数として示されている。通信フレームの遅延時間は、通信目標時間に対する遅延時間である。遅延通信フレームの比率は、単位時間当たりの通信フレームの総数に対する、通信目標時間に対して遅延した通信フレームの数の比率である。
Figure 0007387053000004
通信フレームの欠損率が減少すると通信品質が向上するため、報酬基準設定部32は、当該欠損率が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、通信フレームの欠損率が増加すると通信品質が低下するため、報酬基準設定部32は、当該欠損率が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。また、報酬基準設定部32は、通信フレームの遅延時間が短縮すると中継装置3等での輻輳が減少して通信帯域が上昇すると仮定し、当該遅延時間が短縮する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、遅延時間が延長すると輻輳が増加して通信帯域が低下すると仮定し、当該遅延時間が延長する場合の報酬基準値を現在の値よりも小さい値に設定する。さらに、報酬基準設定部32は、遅延通信フレームの比率が減少すると通信目標時間内に到達する通信フレームが増加すると仮定し、当該比率が減少する場合の報酬基準値を現在の値よりも大きく設定する。一方、報酬基準設定部32は、遅延通信フレームの比率が増加すると通信目標時間内に到達する通信フレームが少なくなると仮定し、当該比率が増加する場合の報酬基準値を現在の値よりも小さく設定する。
表4は、制御システム100においてネットワークを形成するマスタ装置1および制御装置21~2Nに関する各パラメータに対して、制御システム100の性能を向上させるか否かという観点で報酬基準値が決定される例を示す表である。
Figure 0007387053000005
報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が増加すると制御システムの規模が大きくなって制御システム100全体の性能が向上すると仮定し、マスタ装置1の数および制御装置21~2Nの数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が減少すると制御システム100の規模が小さくなって制御システム100全体の性能が低下すると仮定し、マスタ装置1の数または制御装置21~2Nの数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
なお、マスタ装置1の数および制御装置21~2Nの数の各々の変化(増加または減少)については、一旦、マスタ装置1および制御装置21~2Nを停止して、ならし運転を再開させる手順において、マスタ装置1の数および制御装置21~2Nの数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にマスタ装置1の数および制御装置21~2Nの数を変化させることが可能な場合、ならし運転を停止させることなく、マスタ装置1の数および制御装置21~2Nの数の各々の変化を検知して、マスタ装置1の数および制御装置21~2Nの数の各々の情報も推定部20に入力することにより、マスタ装置1の数および制御装置21~2Nの数を状態変数として機械学習を進めることができる。以下で説明する表5に関しても同様である。
表5は、制御システム100においてネットワークを形成するマスタ装置1および制御装置21~2Nに関する各パラメータに対して、制御システム100のコストを減少させるか否かという観点で報酬基準値が決定される例を示す表である。
Figure 0007387053000006
報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が増加すると制御システム100の規模が大きくなって制御システム100のコスト(たとえば全装置の購入費用および全装置の維持費用等)が増加すると仮定し、マスタ装置1の数または制御装置21~2Nの数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、マスタ装置1の数または制御装置21~2Nの数が減少すると制御システム100の規模が小さくなって制御システム100のコストが減少すると仮定し、マスタ装置1の数または制御装置21~2Nの数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
表6は、制御装置21~2Nによって直接制御されるセンサ7およびアクチュエータ8に関する各パラメータに対して、制御システム100の性能が向上するか否かという観点で報酬基準値が決定される例を示す表である。
Figure 0007387053000007
報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が増加すると制御システム100の規模が大きくなって制御システム100の性能が向上すると仮定し、センサ7の数またはアクチュエータ8の数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が減少すると制御システム100の規模が小さくなって制御システム100の性能が低下すると仮定し、センサ7の数またはアクチュエータ8の数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
なお、センサ7の数およびアクチュエータ8の各々の数の変化(増加または減少)については、一旦、センサ7およびアクチュエータ8を停止して、ならし運転を再開させる手順において、センサ7の数またはアクチュエータ8の数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にセンサ7の数およびアクチュエータ8の数を変化させることが可能な場合、ならし運転を停止させることなく、センサ7の数およびアクチュエータ8の数の各々の変化を検知して、センサ7の数およびアクチュエータ8の数の各々の情報も推定部20に入力することにより、センサ7の数およびアクチュエータ8の数の各々を状態変数として機械学習を進めることができる。以下で説明する表7に関しても同様である。
表7は、制御装置21~2Nによって直接制御される制御対象に関する各パラメータに対して、制御システム100のコストを減少させるか否かという観点で報酬基準値が決定される例を示す表である。制御システム100においては、制御対象は、センサ7およびアクチュエータ8を含む。
Figure 0007387053000008
報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が増加すると制御システム100の規模が大きくなって制御システム100のコストが増加すると仮定し、センサ7の数またはアクチュエータ8の数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が減少すると制御システム100の規模が小さくなって制御システム100のコストが減少すると仮定し、センサ7の数またはアクチュエータ8の数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
表8は、マスタ装置1および複数の制御装置21~2Nの接続形態、および制御装置21~2Nおよび制御装置21~2Nによって直接接続される制御対象の接続形態に関する各パラメータに対して、制御システム100の性能が向上するか否かの観点で報酬基準値が決定される例を示す表である。制御システム100において形成されるネットワークにおいては、様々な接続形態が想定され得る。
Figure 0007387053000009
ピアツーピアで接続された装置間の通信においては、当該装置以外の他の装置との通信の輻輳が発生しない。そこで、報酬基準設定部32は、ピアツーピアで接続された装置数が増加すると通信帯域を増加させることができると仮定し、ピアツーピアで接続された装置数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、ピアツーピアで接続された装置数が減少すると通信帯域を減少させる必要があると仮定し、ピアツーピアで接続された装置数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
ツリーで接続された装置間の通信においては、ツリーのノードまたはルートに対応する中継装置3に通信が集中し易いため、中継装置3において輻輳が発生し易い。そこで、報酬基準設定部32は、ツリーで接続された装置数が増加すると1経路当たりの通信帯域を減少させる必要があると仮定し、ツリーで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、ツリーで接続された装置数が減少すると1経路当たりの通信帯域を増加させることができると仮定し、ツリーで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
デイジーチェーンで接続された装置の数が増加するほど、当該装置間に接続された中継装置3の数が増加し得るため、中継装置3において輻輳が発生し易い。そこで、報酬基準設定部32は、デイジーチェーンで接続された装置数が増加すると1経路当たりの通信帯域を減少させる必要があると仮定し、デイジーチェーンで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、デイジーチェーンで接続された装置数が減少すると1経路当たりの通信帯域を増加させることができると仮定し、デイジーチェーンで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
中継装置3において発生する輻輳による遅延はデイジーチェーンよりもツリーの方が短いことが、たとえば中継装置3の仕様、シミュレーション、または実機実験から予想されている場合、ツリーで接続された装置数がデイジーチェーンで接続された装置数よりも大きければ通信帯域を増加させることができる。そこで、報酬基準設定部32は、ツリーで接続された装置数がデイジーチェーンで接続された装置数より大きくなる場合の報酬基準値を現在の値よりも大きい値に設定する。
なお、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の変化(増加または減少)については、一旦、マスタ装置1、制御装置21~2N、および制御対象を停止して、ならし運転を再開させる手順において、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を変化させることが可能な場合、ならし運転を停止させることなく、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の変化を検知して、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の情報も推定部20に入力することにより、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を状態変数として機械学習を進めることができる。以下で説明する表9に関しても同様である。
表9は、マスタ装置1および複数の制御装置21~2Nの接続形態、ならびに制御装置21~2Nおよび制御装置21~2Nによって直接接続される制御対象の接続形態に関する各パラメータに対して、制御システム100のコストが減少するか否かの観点で報酬基準値が決定される例を示す表である。
Figure 0007387053000010
装置間のピアツーピアでの接続において、当該装置間の接続に必要なケーブル数は、ツリーまたはデイジーチェーン等の他の接続形態におけるケーブル数よりも多くなることが多い。そのため、ピアツーピアで接続された装置数が多いほど、制御システム100のコスト(たとえば全ケーブルの購入費用、および全ケーブルの敷設費用等)が増加する。そこで、報酬基準設定部32は、ピアツーピアで接続された装置数が増加すると必要なケーブル数が増加して制御システム100のコストが増加すると仮定して、ピアツーピアで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、ピアツーピアで接続された装置数が減少すると必要なケーブル数が減少して制御システム100のコストが減少すると仮定して、ピアツーピアで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。なお、実際には、ピアツーピア以外の接続形態においてはケーブル以外に中継装置3等も必要となる。そのため、他の接続形態でのケーブル以外に要するコストを加味して報酬基準値が決定されてもよい。
ツリーで接続された装置数が増加すると、比較的多くのポートを有する中継装置3が必要になる場合がある。ポート数が多い程、中継装置3の購入コストは増加する場合が多い。そこで、報酬基準設定部32は、ツリーで接続された装置数が増加すると中継装置3のコストが増加して制御システム100のコストが増加すると仮定して、ツリーで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、ツリーで接続された装置数が減少すると中継装置3のコストが減少して制御システム100のコストが減少すると仮定して、ツリーで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
デイジーチェーンで接続された装置数が増加すると、全装置の購入コストが増加する。そこで、報酬基準設定部32は、デイジーチェーンで接続された装置数が増加すると制御システム100のコストが増加すると仮定して、デイジーチェーンで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、デイジーチェーンで接続された装置数が減少すると制御システム100のコストが減少すると仮定して、デイジーチェーンで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
なお、報酬基準値の設定例は、表1~表9に示される設定例に限定されない。たとえば、制御システム100の性能、通信品質、およびコストに関する観点であれば、どのような観点であっても報酬基準値を決定することができる。また、性能とコストという観点以外にも信頼性という観点で報酬基準値が設定されてもよい。
たとえば、図2の通信フレームにCRC(Cyclic Redundancy Check)が付与される通信フレームの範囲と通信フレームのサイズとの間には、当該範囲を広くすれば、通信の信頼性は向上するが、通信フレームのデータサイズは増加するというトレードオフの関係が存在する。伝送路の品質によっては、CRCを付与せずとも通信の信頼性を確保することができる場合があるため、伝送路の品質に応じてCRCを付与する範囲を変更する必要がある。
また、伝送路を多重化することによって、信頼性を向上させ得る。しかし、伝送路を多重化するほど、伝送路を形成するケーブルの数、および通信部の回路のコスト等が増加する。
さらに、通信フレームの再送制御の有無の選択、あるいは、再送回数の増加によっても通信の信頼性を向上させ得る。しかし、再送回数を増やすほど、通信帯域が大きくなるため制御系データが少なくなるというトレードオフが存在する。
上記のように各観点の間でも報酬基準を変更することによって、様々なトレードオフの関係が存在する。これらの観点およびパラメータの膨大の組合せを、機械学習によって最適な通信パラメータの推定に反映させることができる。
なお、他の報酬基準の設定方法として、制御システム100に要求される目標を満たさない行動は、機械学習において優先度が低い(あるいは最低)と学習されるように報酬が小さく(あるいは0に)設定されてもよい。制御システム100の目標には、たとえば、制御システム100の規模として、制御システム100に含まれるマスタ装置1の数、制御装置21~2Nの数、センサ7の数、およびアクチュエータ8の数等が含まれる。また、要求されるネットワーク通信周期、センサ取得周期、およびアクチュエータ操作周期等も目標に含まれる。これら以外の制御システム100に関するパラメータも目標に加えられても良い。これらの要求される目標は、必ず達成する必要がある目標と、必ずしも達成する必要のない目標とに分けられてもよい。
図8は、図4のフローチャートを強化学習の例に合わせて具体化したフローチャートである。図8に示されるように、S1は、S11、S12、およびS13を含む。S11において、マスタ装置1は、制御システム100の通信部41,421~42N,43に関する通信パラメータに初期値を設定する。S12において、マスタ装置1は、初期値が設定された通信パラメータの下でのならし運転を初期試行として実行する。S13において、測定部70は、初期パラメータの下で実行されたならし運転の通信状況および通信品質の測定を行う。S13において測定される項目は、以下で説明するS21,S22において行われる強化学習の入力となる状態変数の一部である。
S2は、S21、S22、およびS23を含む。S21において、報酬計算部33は、行動選択部40によって選択された行動に対する報酬を計算する。S22において、関数更新部34は、式(1)に示される更新式を用いて行動価値関数を更新する。S23において、ユーザ通知部60は、行動選択部40によって選択された行動である推定された通信パラメータ(出力パラメータ)をユーザに通知する。ユーザは、必要に応じて、パラメータ設定部80を用いて制御システム100に関する通信パラメータを変更してもよいし、ケーブルの繋ぎ変え等を行って、制御システム100に含まれる装置(たとえばマスタ装置1、あるいは制御装置2等)の接続形態を変更してもよい。
S3は、S31、S32、およびS33を含む。S31において、マスタ装置1は、測定部70の結果を参照して、自動的に通信部に関する通信パラメータ(たとえば通信フレームに関するパラメータ)を変更する。S32において、マスタ装置1は、推定された通信パラメータの下でのならし運転を実行する。S33において、測定部70は、当該ならし運転の通信状況および通信品質の測定を行う。
S4において、判定部71は、推定パラメータによって目標条件が充足されるか否かを判定する。当該目標条件が充足されていない場合(S4においてNO)、マスタ装置1は、処理をS21に戻す。当該目標条件が充足された場合(S4においてYES)、ユーザ通知部60は、S5において、最適な通信パラメータをユーザに通知して処理を終了する。S5の後に、制御システム100の本格稼働が開始される。
なお、S2は、制御システム100の性能、通信品質、コスト、および信頼性に関する報酬基準値によって強化学習を行って制御システム100に要求される目標を満たす最適な通信パラメータを推定する処理、または、通信パラメータの一部を固定化もしくは通信パラメータが変動する範囲を制限して強化学習をする処理を含んでもよい。制御システム100の性能に関する報酬基準値は、たとえば、同期周期、タイムスロット幅、通信速度、通信量、および通信フレーム間隔の少なくとも1つを含んでもよい。制御システムの通信品質に関する報酬基準値は、たとえば、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレームの比率の少なくとも1つを含んでもよい。制御システム100のコストに関する報酬基準値は、マスタ装置1の数、中継装置3の数、制御装置21~2Nの数、制御装置21~2Nに含まれる制御点の数、制御対象の数、制御システム100に含まれる複数の伝送路を形成する少なくとも1つのケーブルの長さ、当該少なくとも1つのケーブルの本数、および当該少なくとも1つのケーブルの敷設費用の少なくとも1つを含んでもよい。制御システム100の信頼性に関する報酬基準値は、たとえば、通信フレームへのCRCの付与の有無、通信フレームの再送制御の有無、および再送回数の少なくとも1つを含んでもよい。
なお、測定部70、判定部71、推定部20、およびユーザ通知部60は、マスタ装置1に実装されている必要はなく、中継装置3、制御装置21~2N、センサ7、あるいはアクチュエータ8に実装されていてもよい。測定部70、判定部71、推定部20、およびユーザ通知部60は、制御システムに含まれる全装置に実装されてもよいし、あるいは或いは、一部の装置に実装されても良い。これらが実装される範囲に応じて、通信フレーム(または通信状況)の測定情報、あるいは通信品質の測定情報の量に差が生じる。その結果、測定精度が低下し、通信パラメータの推定の精度に影響が生じる。なお、入力パラメータの一部を固定したり、パラメータが変動する範囲を制限して機械学習が行われたりしてもよい。
また、制御システム100には、実際に存在する装置が含まれる場合が想定されている。しかし、実施の形態1に係る制御システムは、仮想空間上に仮想システムとして再現(シミュレート)されてもよい。実施の形態に係る制御システムが仮想システムである場合、S5の後に、最適な通信パラメータに従って、ユーザが手動で、制御装置数および接続形態などの構成を変更する必要はない。
以上、実施の形態1に係るネットワークの通信帯域に関する通信パラメータを最適化する方法、装置、プログラム、および制御システムによれば、ネットワークを介した制御のリアルタイム性を向上させることができる。
実施の形態2.
実施の形態2においては、制御システムが時刻同期プロトコル(たとえばIEEE1588)によって、ネットワークに接続された装置が高精度に時刻同期される場合について説明する。実施の形態2に係る制御システムにおいては、ならし運転が繰り返されて目標条件を充足する通信帯域を有する制御システムが探索される。制御系データの通信帯域の測定が行われて、制御装置の数、制御点の数、ネットワークに含まれる装置の接続形態、通信手順、通信帯域、および制御用タイムスロットの各々の最適解が、機械学習によって最適化された推定モデルによって求められる。その結果、目標条件を充足する最適パラメータを、ユーザに通知することができる。
図9は、実施の形態2に係る制御システム200の構成を示すブロック図である。制御システム200は、マスタ装置1と、制御装置2と、中継装置3とを備える。マスタ装置1および中継装置3は、図1のマスタ装置1および中継装置3にそれぞれ対応する。制御装置2は、図1の制御装置21~2Nの各々と同様の構成を有する。制御システム200は、図1の制御システム100における制御装置の数が1とされた構成である。これら以外は同様であるため、説明を繰り返さない。
次に、時刻同期プロトコルについて簡単に説明する。図10は、図9のマスタ装置1と制御装置2との間における時刻同期の手順の一例を示すシーケンス図である。具体的には、図10に示される手順は、IEEE1588に従う時刻同期手順である。図10に示される各処理は、主に、マスタ装置1および制御装置2の各々に含まれるCPUによって実行される。以下ではシーケンスを単にSQと記載する。
マスタ装置1は、SQ2において、Syncメッセージを制御装置2に送信するとともに、Syncメッセージの送信時刻t1をマスタ装置1の記憶装置に記憶する。制御装置2は、SQ2において、Syncメッセージを受信するとともに、Syncメッセージの受信時刻t2を制御装置2の記憶装置に記憶する。
マスタ装置1は、SQ4において、Syncメッセージの送信時刻t1をマスタ装置1の記憶装置から読み出して、送信時刻t1を格納したFollow_Upメッセージを制御装置2に送信する。制御装置2は、SQ4において、受信したFollow_Upメッセージに格納された送信時刻t1を制御装置2の記憶装置に記憶する。なお、マスタ装置1は、送信時刻t1が格納されたSyncメッセージを制御装置2に送信してもよい。
制御装置2は、SQ6において、マスタ装置1にDelay_Reqメッセージを送信するとともに、Delay_Reqメッセージの送信時刻t3を制御装置2の記憶装置に記憶する。マスタ装置1は、SQ6においてDelay_Reqメッセージを受信するとともに、Delay_Reqメッセージの受信時刻t4をマスタ装置1の記憶装置に記憶する。
マスタ装置1は、SQ8において、Delay_Reqメッセージの受信時刻t4が格納されたDelay_Respメッセージを制御装置2に送信する。制御装置2は、SQ8において、Delay_Respメッセージを受信して、Delay_Respメッセージに格納された受信時刻t4を制御装置2の記憶装置に記憶する。
図10に示されるシーケンスにより、制御装置2の記憶装置には、Syncメッセージの送信時刻t1、Delay_Reqメッセージの送信時刻t3、Syncメッセージの受信時刻t2、およびDelay_Reqメッセージの受信時刻t4が記憶されている。制御装置2は、送信時刻t1と受信時刻t2との時刻差td1(=t2-t1)を計算することにより、マスタ装置1から制御装置2への伝送路5について、マスタ装置1および制御装置2の各々における時刻のずれと伝送路遅延との和を取得する。また、制御装置2は、送信時刻t3と受信時刻t4との時刻差td2(=t4-t3)を計算することにより、制御装置2からマスタ装置1への伝送路5について、マスタ装置1および制御装置2の各々における時刻のずれと伝送路遅延との和を取得する。
また、時刻差td2とtd1との和は、伝送路遅延の2倍の時間に相当する。時刻差td2とtd1との差は、マスタ装置1の時刻(マスタ時刻)と制御装置2の時刻(制御装置時刻)とのずれの2倍の時間に相当する。ここで、IEEE1588プロトコルの伝送路5の遅延計算では、マスタ装置1と制御装置2との間の伝送遅延は、往路と復路とで等価であると仮定する。したがって、単一方向の伝送路の遅延時間tdは、以下の式(2)のように表わされる。
td=(td2+td1)/2 …(2)
また、マスタ時刻と制御装置時刻との時刻差tdiffは、以下の式(3)のように表わされる。
tdiff=(td2-td1)/2 …(3)
制御装置2は、時刻差tdiffを時刻同期の補正量として、制御装置2の時刻を補正することにより、マスタ装置1との時刻同期を実施する。
マスタ装置1と制御装置2との間の時刻同期においては、PTP(Precision Time Protocol)メッセージの往復の遅延が等しいか、あるいは往復の遅延に時間差がある場合でも、当該時間差が既知であることが前提とされる。しかし、各装置の通信部に含まれるクロック発振器のジッタ、中継装置3から各装置内のクロックへの載せ替え、あるいは各装置を使用する周辺環境の温度変化等の要因により、遅延時間tdおよび時刻差tdiffは、測定を行なう度にバラツキが生じ得る。そのため、マスタ装置時刻と制御装置時刻とのずれを防ぎ、マスタ装置1と制御装置2との時刻同期の精度を確保するためには、定期的にマスタ装置1と制御装置2との間で図10に示される時刻同期に係る処理を実行する必要がある。
図11は、時刻同期されたネットワークにおいて、定時性通信が制御周期Prdで繰り返し行われる様子を示す図である。IEEE1588によって時刻同期された制御システム200において、各装置は精度よく時刻同期されている。定時性通信の制御周期Prdは、用途毎に複数のタイムスロットに分割されている。各装置は、時刻同期されているので、各タイムスロットの開始および終了にも正確に同期している。
図11に示されるように、制御周期Prdは、制御用タイムスロットSlt1、画像送信用タイムスロットSlt2、および診断用タイムスロットSlt3に分割されている。タイムスロットSlt1~Slt3の中で、最も定時性の要求が高いタイムスロットは、制御用タイムスロットSlt1である。画像送信用タイムスロットSlt2においては、カメラ等で取得した画像データが送信される。診断用タイムスロットSlt3においては、制御システム200に含まれる各装置を診断するためのデータが通信される。
図12は、図11の制御用タイムスロットSlt1を拡大した図である。図12に示されるように、制御用タイムスロットSlt1においては、たとえば、制御系データが通信フレームCF21とCF22とに分割されて、通信フレームCF21とCF22とが送信間隔Tint1を空けて、マスタ装置1から、中継装置3を経由して、制御装置2に送信される。中継装置3を経由して通信フレームCF21,CF22が送信される間に、輻輳あるいは遅延が発生し、制御装置2には、制御系データが遅延して受信される。定時性通信の各制御周期に、同一サイズの制御系データを同じ送信間隔で送信したとしても、中継装置3などで発生する輻輳等によって、マスタ装置1から制御系データが送信された時刻から当該制御系データが制御装置2に受信されるまでの時間間隔である通信時間Tcomは、一定とならずに揺らぐ。
曲線FL1は、横軸を時間とするとともに縦軸を頻度とする座標平面における、マスタ装置1が制御系データを中継装置3に送信するのに要する時間間隔の揺らぎ量(最頻値の時間間隔との差)の分布を模式的に表す。曲線FL2は、曲線FL1と同様の座標平面において、中継装置3が制御系データを制御装置2に送信するのに要する時間間隔の揺らぎ量の分布を模式的に表す。曲線FL3は、曲線FL1と同様の座標平面において、制御装置2が中継装置3から制御系データを受信するのに要する時間間隔の揺らぎ量の分布を模式的に表す。通常の通信負荷においては、図12に示されるように、分布FL1~FL3の各々は、中央付近に最頻値が現れ、最頻値を通過する直線に対して線対称な山なり形状になる傾向がある。しかし、制御装置の通信負荷が常時高い場合、中継装置3と制御装置2との通信に遅延が発生し易いため、通常の通信負荷における最頻値よりも時間間隔が長くなる領域に分布FL3における頻度が偏る傾向がある。また、制御装置の通信負荷が不安定である場合、分布FL3の形状が山なり形状とならずに平坦となる傾向がある。
このように、制御装置の通信負荷は状況によって大きく変化し得るため、通信時間Tcomの揺らぎ量の予測は困難な場合が多い。当該揺らぎ量の予測が外れ、制御用タイムスロットSlt1が適切に設定されない場合、制御系データが次の画像送信用タイムスロットSlt2に溢れ得る。画像送信用タイムスロットSlt2において制御系データが制御装置2において受信される場合、制御装置2が正しく稼働することができない状況が発生し得る。
そこで、実施の形態2においては、制御用タイムスロットSlt1に必要な通信帯域を正確に測定するために、IEEE1588等の時刻同期プロトコルのPTPメッセージ(たとえば、Sync,Follow_Up,Delay_Req,Delay_Resp等)を制御系データのCF22の後に送信間隔Tint2を空けて送信する。IEEE1588等の時刻同期プロトコルのPTPメッセージ(同期メッセージ)は、時刻同期のためだけではなく、制御用タイムスロットの通信帯域の測定にも利用される。なお、PTPメッセージは、定時性通信の制御周期毎に送信する必要はなく、装置間で時刻同期の精度を確保可能な周期で送信されてもよい。また、PTPメッセージは、制御用タイムスロット以外のタイムスロットの通信帯域の測定に利用されてもよい。また、送信間隔Tint2は、送信間隔Tint1と同じであってもよい。
制御用タイムスロットSlt1の開始時刻ts1から、制御装置2によって制御系データが受信されるまでの受信時刻tr1までの通信時間Tcomは、以下の式(4)のように表される。
Tcom=tr1-ts1 (4)
通信時間Tcomの揺らぎ量の最大値をマージンTmrgとすると、制御用タイムスロットSlt1は、以下の式(5)のように表される。
Slt1=Tcom+Tmrg (5)
制御装置の性能の個体差および通信状況に起因する揺らぎ量の分布によらず、制御用タイムスロットSlt1を跨いで制御系データの通信が行われる確率がほぼ0となるような最適なマージンTmrgを求める必要がある。
実施の形態2においては、マージンTmrgを正確に求めるために、制御システム200のならし運転によって、制御システム200を構成するネットワークの通信フレーム(または通信状況)、および通信品質の測定を行う。通信フレーム(または通信状況)の測定項目には、実施の形態1の測定項目に、通信時間Tcomが加えられる。
実施の形態2においては、制御装置2が実施の形態1のマスタ装置1と同様の構成(図7参照)を有する。制御装置2は、実施の形態1のマスタ装置1と同じように、機械学習によって最適化された学習済みの推定モデルを用いて、制御システム200に含まれるネットワークの通信帯域に関する通信パラメータを推定する。推定される通信パラメータには、制御システム200に含まれるネットワークに含まれる装置数、センサ7およびアクチュエータ8の数、ネットワークに接続される装置の接続形態、通信フレームの種別、通信帯域、通信フレームの通信手順、およびマージンTmrgが含まれる。制御システム200においては、制御装置2によって選択される行動に対する報酬値が最大となる、最適な通信パラメータの組合せが探索される。推定された通信パラメータが使用されて、再びならし運転が行われ、通信状況および通信品質の測定が行われる。
実施の形態2においては、制御装置2に含まれる報酬基準設定部32で設定される報酬基準値に、以下の表10に示される報酬基準値が加えられる。表10は、マージンTmrgに対して、制御システム200の通信品質が向上するか否かという観点で報酬基準値が決定される例を示す表である。
Figure 0007387053000011
報酬基準設定部32は、マージンTmrgが延長すると制御用タイムスロットSlt1内での制御系データの通信が完了する可能性が高まると仮定し、マージンTmrgが延長する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、マージンTmrgが短縮すると制御用タイムスロットSlt1内での制御系データの通信が完了する可能性が低下すると仮定し、マージンTmrgが短縮する場合の報酬基準値を現在の値よりも小さい値に設定する。
表10に示される報酬基準値により、制御システム200の構成に応じて、制御用タイムスロットに適切な通信帯域を設定することができる。なお、実施の形態1に係る制御システムと同様に、実施の形態2に係る制御システムも仮想空間に形成された仮想システムであってもよい。
以上、実施の形態2に係る方法、装置、プログラム、および制御システムによれば、ネットワークを介した制御のリアルタイム性を向上させることができる。
実施の形態3.
実施の形態2においては、制御周期Prdに含まれるタイムスロットには、定時性通信の要求の度合い(優先度)に違いがあり、制御用タイムスロットSlt1に対する優先度が最も高いことを説明した。定時性通信を維持するためには、制御用タイムスロットSlt1の時間間隔(タイムスロット幅)を維持する必要がある。一方で、画像送信用タイムスロットSlt2および診断用タイムスロットSlt3のような、制御用タイムスロット以外のタイムスロット(通常タイムスロット)の優先度は制御用タイムスロットSlt1の優先度よりも低いため、当該タイムスロットのタイムスロット幅を変更することが可能である。すなわち、優先度が相対的に低いタイムスロットは、定時性の要求がほとんどないため、通信フレームを分割することによって次の制御周期において当該タイムスロットを送信することができる。その結果、制御システムの制御周期Prdを変更することができる。実施の形態3においては、優先度が相対的に低いタイムスロットの通信フレームを分割し、制御システムの制御周期Prdを変更する構成について説明する。
図13は、実施の形態2,3の各々に係る制御システムにおいて行われる定時制通信の制御周期に含まれる各タイムスロットの通信フレーム構成の一例を示す図である。図13においては、制御装置2に受信される通信フレームが示されている。図13に示されるように、実施の形態2における制御周期Prdは、制御用タイムスロットSlt1、画像送信用タイムスロットSlt2、および診断用タイムスロットSlt3に分割されている。制御用タイムスロットSlt1の通信フレーム構成は、図12に示される制御用タイムスロットSlt1の通信フレーム構成と同様であるため、説明を繰り返さない。画像送信用タイムスロットSlt2,診断用タイムスロットSlt3は、通信フレームCF31,CF41をそれぞれ含む。
実施の形態3に関しては、連続する2つの制御周期Prd1(<Prd)が示されている。制御周期Prd1は、制御用タイムスロットSlt31、画像送信用タイムスロットSlt32、および診断用タイムスロットSlt33に分割されている。先行する制御周期Prd1における制御用タイムスロットSlt31の通信フレーム構成は、制御用タイムスロットSlt1の通信フレーム構成と同様である。後続する制御周期Prd1における制御用タイムスロットSlt31は、通信フレームCF23,CF24を含む。制御用タイムスロットSlt31の時間間隔は、制御用タイムスロットSlt1の時間間隔と同じである。
先行する制御周期Prd1における画像送信用タイムスロットSlt32および後続する制御周期Prd1における画像送信用タイムスロットSlt32は、画像送信用タイムスロットSlt2に含まれる通信フレームCF31が2分割された通信フレームCF31A,CF31Bをそれぞれ含む。画像送信用タイムスロットSlt32の時間間隔は、画像送信用タイムスロットSlt2の時間間隔よりも短い。
先行する制御周期Prd1における診断用タイムスロットSlt33および後続する制御周期Prd1における診断用タイムスロットSlt33は、診断用タイムスロットSlt3に含まれる通信フレームCF41が2分割された通信フレームCF41A,CF41Bをそれぞれ含む。診断用タイムスロットSlt33の時間間隔は、診断用タイムスロットSlt3の時間間隔よりも短い。
実施の形態3においては、実施の形態2の画像送信用タイムスロットSlt2,診断用タイムスロットSlt3の各々に含まれる通信フレームが2分割されて、連続する2つの制御周期Prd1において分割された2つの通信フレームがそれぞれ通信される。このように定時性通信の優先度が低いタイムスロットに含まれる通信フレームを分割することにより、実施の形態3の制御周期Prd1を実施の形態2の制御周期Prdよりも短くすることができる。なお、図13においては、通信フレームを2分割する場合について説明したが、通信フレームの分割数は2に限定されない。分割数を増やすほど、制御周期を短縮することができる。
図13においては、制御装置が1個の場合について説明したが、ネットワークに複数の制御装置が接続される場合には、制御装置の数と通信フレームの分割数との組合せは膨大となる。また、前述したように、ネットワークには通信帯域を変動させる様々な要因がある。そこで、実施の形態3においては、機械学習によって制御周期の最適解を探索する。実施の形態3においては、ネットワークの通信状況に関するパラメータに、通信フレームの分割数が含まれる。図4,図8に示されるフローチャートに従って、機械学習によって構築された推定モデルによって、優先度の低いタイムスロットの制御装置毎の通信フレームの分割数の通信パラメータが推定される。そして、推定された通信パラメータの下で、ならし運転が行われ、通信状況および通信品質の測定が行われる。制御システムの制御周期Prdの目標条件(たとえば、最小の制御周期)が達成されたか否かが判定される。当該目標条件が達成された場合には、ならし運転に使用された通信パラメータがユーザに通知される。当該目標条件が達成されない場合には、再度、機械学習とならし運転が繰り返される。
具体的には、図7のマスタ装置1は、通信部41で、優先度の低いタイムスロットにおいて通信パラメータの組合せを変えて、通信フレームを送信する。通信フレームを送信した後、時刻同期プロトコルのPTPメッセージを送信しタイムスロット幅を求める。測定部70では通信状況および通信品質を測定する。なお、優先度の低いタイムスロットにおいて、必ずしもPTPメッセージを送信し、優先度の低いタイムスロット幅を求める必要はなく、通信状況および通信品質のみが測定されてもよい。推定部20においては、制御周期が最小となるときに大きな報酬値が与えられ、制御周期が大きくなる程、小さい報酬値が与えられる。通信パラメータが推定モデルに記録され、最良の通信パラメータが選択される。通信部41では、推定された通信パラメータを使用して、再び、ならし運転が行われ、通信状況および通信品質の測定が行われる。これらの処理を繰り返し行うことによって、最適な通信パラメータの組合せを探索し、制御システムの最適な制御周期を求めることができる。
以上、実施の形態3に係る方法、装置、プログラム、および制御システムによれば、優先度の低いタイムスロットの通信フレームを分割し、ネットワークを介した制御のリアルタイム性を向上させることができる。
今回開示された各実施の形態は、矛盾しない範囲で適宜組み合わせて実施することも予定されている。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 マスタ装置、2,21,22,2N 制御装置、3 中継装置、5 伝送路、7 センサ、8 アクチュエータ、10 ヘッダー、11 制御装置データ、20 推定部、30 学習部、31 状態観測部、32 報酬基準設定部、33 報酬計算部、34 関数更新部、35 学習結果記憶部、40 行動選択部、41,421~42N,43 通信部、412 処理回路、413 記憶装置、44 入出力部、45 バス、60 ユーザ通知部、70 測定部、71 判定部、80 パラメータ設定部、100,200 制御システム、CF1,CF21~CF24,CF31,CF31A,CF31B,CF41,CF41A,CF41B 通信フレーム、M1 推定モデル。

Claims (18)

  1. 少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムにおいて行われる、前記制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する方法であって、
    前記複数の装置は、
    前記制御系データを送信する少なくとも1つのマスタ装置と、
    前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
    前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
    前記方法は、
    前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定するステップと、
    前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定するステップと、
    推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定するステップとを含む、方法。
  2. 前記目標条件が充足されるまで、前記推定するステップが反復される、請求項1に記載の方法。
  3. 前記目標条件は、前記通信帯域の下で、前記予め定められた間隔以内に、前記少なくとも1つのマスタ装置が前記少なくとも1つの制御対象から測定データを取得し、前記測定データの解析結果に応じた前記制御系データを前記少なくとも1つの制御対象に送信することが完了するという条件である、請求項1または2に記載の方法。
  4. 前記ネットワークにおいては、データを含む通信フレームが通信され、
    前記第1パラメータは、前記通信フレームに含まれるデータの種別、前記ネットワークの通信速度、前記ネットワークにおいて通信される単位時間当たりの通信量、連続して送信される2つの通信フレームの時間間隔、および複数の通信フレームが通信される順番の少なくとも1つを含み、
    前記第2パラメータは、前記ネットワークにおける通信フレームの損失量、および前記通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含み、
    前記通信パラメータは、前記第1パラメータ、前記ネットワークの構成に関する第3パラメータ、前記少なくとも1つの制御装置の構成に関する第4パラメータ、第5パラメータ、および第6パラメータの少なくとも1つを含み、
    前記測定するステップは、前記第5パラメータおよび前記第6パラメータをさらに測定し、
    前記推定するステップは、前記第5パラメータおよび前記第6パラメータをさらに推定し、
    前記第3パラメータは、前記少なくとも1つのマスタ装置の個数、前記少なくとも1つの制御装置の個数、前記少なくとも1つの中継装置の個数、前記ネットワークに含まれる装置の総数、前記ネットワークにおける前記複数の装置の接続形態、および前記複数の装置の各々が前記ネットワークを介して通信する装置の数の少なくとも1つを含み、
    前記第4パラメータは、前記少なくとも1つの制御対象のそれぞれに対応する少なくとも1つの種別、前記少なくとも1つの種別の各々の数、前記少なくとも1つの制御装置の数、前記少なくとも1つの制御装置と前記少なくとも1つの制御対象との接続形態、前記少なくとも1つの制御装置の各々が通信する制御対象の数、前記少なくとも1つの制御装置に含まれる少なくとも1つの制御点の数、前記少なくとも1つの制御点にそれぞれ接続された前記少なくとも1つの制御対象の数、前記ネットワークにおいて前記少なくとも1つのマスタ装置から前記少なくとも1つの中継装置を介して前記少なくとも1つの制御装置に至る伝送路の数、前記少なくとも1つの制御点と前記少なくとも1つの制御対象との接続形態、および前記少なくとも1つの制御点から前記少なくとも1つの制御対象にそれぞれ至る伝送路の数の少なくとも1つを含み、
    前記第5パラメータは、前記少なくとも1つの制御点の各々における通信速度、前記少なくとも1つの制御点の各々において通信される単位時間当たりの通信量、当該制御点において連続して通信される2つの通信フレームの時間間隔、当該制御点において通信される複数の通信フレームの順番の少なくとも1つを含み、
    前記第6パラメータは、前記少なくとも1つの制御点における通信フレームの損失量、および前記通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む、請求項1~3のいずれか1項に記載の方法。
  5. 前記測定するステップおよび前記推定するステップは、前記制御システムの運転開始時に実行されるか、予め定められた周期で定期的に実行されるか、または前記第3パラメータおよび前記第4パラメータが変更された場合に実行される、請求項4に記載の方法。
  6. 前記推定するステップは、強化学習によって最適化される推定モデルを用いて前記入力パラメータから前記通信パラメータを推定し、
    前記測定するステップにおいて、前記第1パラメータ、前記第2パラメータ、前記第3パラメータ、前記第4パラメータ、前記第5パラメータ、および前記第6パラメータの各々は状態変数として測定され、
    前記推定するステップにおいて、前記通信パラメータは行動として推定される、請求項5に記載の方法。
  7. 前記推定するステップは、前記制御システムの性能、通信品質、コスト、および信頼性に関する報酬基準値によって前記強化学習を行って前記制御システムに要求される目標を満たす最適な通信パラメータを推定する処理、または、前記通信パラメータの一部を固定化もしくは前記通信パラメータが変動する範囲を制限して前記強化学習をする処理を含む、請求項6に記載の方法。
  8. 前記制御システムの性能に関する前記報酬基準値は、同期周期、タイムスロット幅、通信速度、通信量、および通信フレーム間隔の少なくとも1つを含む、請求項7に記載の方法。
  9. 前記制御システムの通信品質に関する前記報酬基準値は、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレームの比率の少なくとも1つを含む、請求項7に記載の方法。
  10. 前記制御システムのコストに関する前記報酬基準値は、前記少なくとも1つのマスタ装置の数、前記少なくとも1つの中継装置の数、前記少なくとも1つの制御装置の数、前記少なくとも1つの制御点の数、前記制御対象の数、前記制御システムに含まれる少なくとも1つの伝送路を形成する少なくとも1つのケーブルの長さ、前記少なくとも1つのケーブルの本数、および前記少なくとも1つのケーブルの敷設費用の少なくとも1つを含む、請求項7に記載の方法。
  11. 前記制御システムの信頼性に関する前記報酬基準値は、通信フレームへのCRC(Cyclic Redundancy Check)の付与の有無、通信フレームの再送制御の有無、および再送回数の少なくとも1つを含む、請求項7に記載の方法。
  12. 前記複数の装置は、時刻同期プロトコルによって互いに同期され、
    前記予め定められた間隔には、前記制御系データの通信が行われる制御用タイムスロットが含まれ、
    前記制御用タイムスロットにおける通信帯域の測定に、前記時刻同期プロトコルの同期メッセージが用いられ、
    前記第1パラメータは、前記少なくとも1つのマスタ装置から前記制御系データが送信された時刻から前記制御系データが前記少なくとも1つの制御装置に受信されるまでの時間間隔である通信時間を含み、
    前記通信パラメータは、前記通信時間の揺らぎ量の最大値を含む、請求項1~11のいずれか1項に記載の方法。
  13. 前記複数の装置は、時刻同期プロトコルによって互いに同期され、
    前記予め定められた間隔には、前記制御系データの通信が行われる制御用タイムスロットと、前記制御用タイムスロットより定時性通信の要求の低い情報を送信する通常タイムスロットが含まれ、
    前記制御用タイムスロットにおける通信帯域の測定に、前記時刻同期プロトコルの同期メッセージが用いられ、
    前記第1パラメータは、前記通常タイムスロットの通信フレームの分割数を含む、請求項1~11のいずれか1項に記載の方法。
  14. 前記通常タイムスロットにおける通信帯域の測定にも、前記同期メッセージが用いられる、請求項13に記載の方法。
  15. 前記制御システムは、仮想システムとして1つのコンピュータにおいてモデル化されている、請求項1~14のいずれか1項に記載の方法。
  16. 制御システムに含まれる複数の通信装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する装置であって、
    前記制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信され、
    前記複数の通信装置は、
    前記制御系データを送信する少なくとも1つのマスタ装置と、
    前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
    前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
    前記装置は、
    前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定する測定部と、
    前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定する推定部と、
    推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定する判定部とを備える、装置。
  17. 処理回路によって実行されることにより、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定するプログラムであって、
    前記制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信され、
    前記複数の装置は、
    前記制御系データを送信する少なくとも1つのマスタ装置と、
    前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
    前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
    前記処理回路によって実行されることにより前記プログラムは、
    前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定し、
    前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定し、
    推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定する、プログラム。
  18. 少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムであって、
    前記制御システムは、複数の装置を備え、
    前記複数の装置は、
    前記制御系データを送信する少なくとも1つのマスタ装置と、
    前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
    前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
    前記複数の装置に含まれる装置のいずれかである特定装置は、前記複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを設定する装置であって、
    前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定する測定部と、
    前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定する推定部と、
    推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定部とを備える、制御システム。
JP2023500521A 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム Active JP7387053B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021022312 2021-02-16
JP2021022312 2021-02-16
PCT/JP2021/037729 WO2022176266A1 (ja) 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム

Publications (3)

Publication Number Publication Date
JPWO2022176266A1 JPWO2022176266A1 (ja) 2022-08-25
JPWO2022176266A5 JPWO2022176266A5 (ja) 2023-03-28
JP7387053B2 true JP7387053B2 (ja) 2023-11-27

Family

ID=82931267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023500521A Active JP7387053B2 (ja) 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム

Country Status (2)

Country Link
JP (1) JP7387053B2 (ja)
WO (1) WO2022176266A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295516A (ja) 2005-04-11 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> パケット発生方法及び装置
WO2012108194A1 (ja) 2011-02-10 2012-08-16 パナソニック株式会社 通信システム及び通信方法
WO2016135821A1 (ja) 2015-02-23 2016-09-01 三菱電機株式会社 検査装置、検査方法、及び、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295516A (ja) 2005-04-11 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> パケット発生方法及び装置
WO2012108194A1 (ja) 2011-02-10 2012-08-16 パナソニック株式会社 通信システム及び通信方法
WO2016135821A1 (ja) 2015-02-23 2016-09-01 三菱電機株式会社 検査装置、検査方法、及び、プログラム

Also Published As

Publication number Publication date
WO2022176266A1 (ja) 2022-08-25
JPWO2022176266A1 (ja) 2022-08-25

Similar Documents

Publication Publication Date Title
US8340790B2 (en) Methods and apparatus to adjust control loop timing in a process control system
CN112235194B (zh) 在线路由调度时延敏感流量的方法和装置
CN111865781B (zh) 用于路径优化的方法、设备和计算机程序产品
KR20100016364A (ko) 한 네트워크 구성요소의 클록을 다른 네트워크 구성요소의 클록과 동기화시키기 위한 방법 및 이를 위한 네트워크 구성요소
JP7387053B2 (ja) 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム
Jiang et al. Copa+: Analysis and improvement of the delay-based congestion control algorithm copa
CN114584494B (zh) 一种边缘云网络中测量实际可用带宽的方法
US20230051166A1 (en) Delay Sensitive Network Estimation System
Grigorjew et al. ML-assisted latency assignments in time-sensitive networking
Gabel et al. QoS-adaptive control in NCS with variable delays and packet losses-a heuristic approach
Khan et al. Optimal Kalman consensus filter for weighted directed graphs
US20220343220A1 (en) Control apparatus, method and system
CN110611599A (zh) 一种网络控制系统及其控制方法
Cai et al. Modeling and simulation of a real-time ethernet protocol for smart grids
KR102620137B1 (ko) Tsn 트래픽 스케줄링에 대한 구현 및 평가 방법
CN105162612A (zh) 一种计算afdx网络中数据积压的方法
JP7208560B2 (ja) 制御システム及び制御方法
Wei et al. Research on time triggered ethernet scheduling planning method
Wang et al. Real-time performance evaluation of urgent aperiodic messages in FF communication and its improvement
KR102028321B1 (ko) 인지 무선 네트워크에서 세션 연결 제어 방법 및 그를 위한 장치
JPWO2022176266A5 (ja) 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム
WO2011132758A1 (ja) 速度推定方法、速度推定装置、速度推定システム及び速度推定装置の制御プログラムの記録媒体
Jiang et al. Modelling delay propagation within a train communication network
CN118487988A (zh) 一种tsn的时延保障智能路由方法及系统
Riley et al. Simulating realistic packet routing without routing protocols

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231114

R150 Certificate of patent or registration of utility model

Ref document number: 7387053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150