特許第6786770号(P6786770)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ダイヘンの特許一覧

特許6786770通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法
<>
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000012
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000013
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000014
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000015
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000016
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000017
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000018
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000019
  • 特許6786770-通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6786770
(24)【登録日】2020年11月2日
(45)【発行日】2020年11月18日
(54)【発明の名称】通信機能を備えた装置、当該装置を備えたシステム、および、台数探索方法
(51)【国際特許分類】
   H04L 12/24 20060101AFI20201109BHJP
【FI】
   H04L12/24
【請求項の数】10
【全頁数】23
(21)【出願番号】特願2017-11012(P2017-11012)
(22)【出願日】2017年1月25日
(65)【公開番号】特開2018-121189(P2018-121189A)
(43)【公開日】2018年8月2日
【審査請求日】2019年11月21日
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100086380
【弁理士】
【氏名又は名称】吉田 稔
(74)【代理人】
【識別番号】100168044
【弁理士】
【氏名又は名称】小淵 景太
(72)【発明者】
【氏名】北村 高嗣
(72)【発明者】
【氏名】大堀 彰大
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2015−166901(JP,A)
【文献】 特開2010−122773(JP,A)
【文献】 特開平09−018516(JP,A)
【文献】 米国特許出願公開第2014/0355575(US,A1)
【文献】 韓国公開特許第10−2010−0133418(KR,A)
【文献】 特表2011−516998(JP,A)
【文献】 桜間 一徳 KAZUNORI SAKURAMA,マルチエージェントシステムの制御,システム/制御/情報 第57巻 第9号 SYSTEMS,CONTROL AND INFORMATION,日本,システム制御情報学会,2013年 9月15日,第57巻
【文献】 永原 正章 Masaaki NAGAHARA,合意制御と分散最適化 Consensus Control and Distributed Optimization,電子情報通信学会技術研究報告 Vol.115 No.396 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2016年 1月11日,第115巻
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/955
(57)【特許請求の範囲】
【請求項1】
複数の装置が通信によるネットワークを構成しているシステムであって、
前記装置は、
内部値を生成する内部値生成手段と、
前記内部値生成手段が生成した内部値を生成内部値として、他の装置の少なくとも1つに送信し、前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する通信手段と、
を備え、
前記内部値生成手段は、
前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算手段と、
前記演算手段が出力する演算結果を積分して、前記内部値を算出する積分手段と、
前記生成内部値の初期値として第1の値または第2の値を設定した後、前記演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信の繰り返しによって収束した生成内部値に基づいて、前記ネットワークを構成している装置の台数を算出する台数探索手段と、
を備えており、
前記ネットワークを構成している装置のうちのいずれか1つの装置において前記生成内部値の初期値として前記第1の値が設定され、その他の装置において前記生成内部値の初期値として前記第2の値が設定される、
ことを特徴とするシステム。
【請求項2】
前記第1の値は「1」であり、
前記第2の値は「0」であり、
前記台数探索手段は、前記収束した生成内部値の逆数に基づいて前記台数を算出する台数算出手段をさらに備えている、
請求項1に記載のシステム。
【請求項3】
前記台数探索手段は、前記生成内部値の変化に基づいて前記生成内部値が収束したことを検出する収束検出手段をさらに備えている、
請求項1または2に記載のシステム。
【請求項4】
前記装置は、
前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算手段と、
前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段と、
をさらに備えており、
前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う、
請求項1ないし3のいずれかに記載のシステム。
【請求項5】
前記設定値決定手段は、前記生成内部値が変化しなかった場合には前記第1の値を設定することを決定し、前記生成内部値が変化した場合には前記第2の値を設定することを決定する、
請求項4に記載のシステム。
【請求項6】
内部値を生成する内部値生成手段と、
前記内部値生成手段が生成した内部値を生成内部値として、他の装置の少なくとも1つに送信し、前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する通信手段と、
を備え、
前記内部値生成手段は、
前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算手段と、
前記演算手段が出力する演算結果を積分して、前記内部値を算出する積分手段と、
前記生成内部値の初期値として第1の値または第2の値を設定した後、前記演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信の繰り返しによって収束した生成内部値に基づいて、通信によるネットワークを構成している装置の台数を算出する台数探索手段と、
を備えている、
ことを特徴とする装置。
【請求項7】
前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算手段と、
前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段と、
をさらに備えており、
前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う、
請求項6に記載の装置。
【請求項8】
前記設定値決定手段は、前記生成内部値が変化しなかった場合には前記第1の値を設定することを決定し、前記生成内部値が変化した場合には前記第2の値を設定することを決定する、
請求項7に記載の装置。
【請求項9】
内部値を生成する内部値生成手段と、少なくとも1つの他の装置と通信を行う通信手段とを備える装置によって構成された通信によるネットワークにおいて、当該ネットワークを構成している装置の台数を探索する方法であって、
前記内部値生成手段が内部値を生成する内部値生成工程と、
前記内部値生成工程で生成した内部値を生成内部値として、前記他の装置の少なくとも1つに送信する送信工程と、
前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する受信工程と、
を各装置で行わせるものであり、
前記内部値生成工程は、
前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算工程と、
前記演算工程で出力された演算結果を積分して、前記内部値を算出する積分工程と、
を備えており、
前記ネットワークを構成している装置のうちのいずれか1つの装置において前記生成内部値の初期値として第1の値を設定し、その他の装置において前記生成内部値の初期値として第2の値を設定する設定工程と、
前記設定工程の後、前記内部値生成工程、前記送信工程および前記受信工程を繰り返して、収束した生成内部値に基づいて、前記ネットワークを構成している装置の台数を算出する台数算出工程と、
を備えていることを特徴とする方法。
【請求項10】
前記設定工程は、
前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算工程と、
前記生成内部値の初期値として乱数を設定する乱数設定工程と、
前記乱数設定工程の後、前記第2の演算工程、前記積分工程、前記送信工程および前記受信工程が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する決定工程と、
を備えており、
前記決定工程により決定された設定値を前記生成内部値の初期値として設定する、
請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信機能を備え、他の装置との間で通信を行う装置、および、当該装置を備え通信によるネットワークを構成するシステム、および、当該システムを構成する装置の台数を探索する方法に関する。
【背景技術】
【0002】
複数の装置の内部値を、これらの装置全体を管理する管理装置が一致させるのではなく、各装置同士が通信によって内部値を送受信することで一致させる方法であるコンセンサス協調制御が開発されている。コンセンサス協調制御は、各装置が内部値を少なくとも1つの他の装置に送受信して、生成した内部値と受信した内部値とに基づく演算結果を用いて内部値を生成するものである。この処理が各装置それぞれで行われることにより、各装置の内部値は同じ値に収束する。この方法を用いた例として、特許文献1にはインバータ装置の内部位相を同期することが記載され、特許文献2には各インバータ装置の補償値を一致させることで、出力有効電力の抑制量を調整することが記載されている。また、特許文献3には各計測装置が計測値に基づく内部平均値を一致させることで、全体の平均値を算出することが記載され、特許文献4には、各計測装置が計測値に基づく内部最大値(内部最小値)を一致させることで、全体の最大値(最小値)を算出することが記載されている。コンセンサス協調制御においては、装置全体を管理する管理装置を設ける必要がない。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015‐027155号公報
【特許文献2】特開2015‐084612号公報
【特許文献3】特開2015‐166901号公報
【特許文献4】特開2015‐215204号公報
【非特許文献】
【0004】
【非特許文献1】Reza Olfati-Saber, J. Alex Fax, and Richard M. Murray, "Consensus and Cooperation in Networked Multi-Agent Systems", Proceedings of the IEEE, Vol.95, No.1, (2007)
【非特許文献2】Mehran Mesbahi and Magnus Egerstedt, "Graph Theoretic Methods in Multiagent Networks", Princeton (2010)
【発明の概要】
【発明が解決しようとする課題】
【0005】
コンセンサス協調制御においては、装置全体を管理する管理装置が設けられていないので、制御のネットワークを構成している装置の台数を管理することが困難である。しかし、メンテナンスなどで、ネットワークを構成している装置の台数を把握する必要がある。また、台数に応じた係数を制御に用いる場合もある。
【0006】
本発明は上述した事情のもとで考え出されたものであって、ネットワークを構成している装置全体を管理する管理装置が設けられていない場合に、ネットワークを構成している装置の台数を探索する方法、当該方法を実行する装置およびシステムを提供することをその目的としている。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明では、次の技術的手段を講じている。
【0008】
本発明の第1の側面によって提供されるシステムは、複数の装置が通信によるネットワークを構成しているシステムであって、前記装置は、内部値を生成する内部値生成手段と、前記内部値生成手段が生成した内部値を生成内部値として、他の装置の少なくとも1つに送信し、前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する通信手段とを備え、前記内部値生成手段は、前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算手段と、前記演算手段が出力する演算結果を積分して、前記内部値を算出する積分手段と、前記生成内部値の初期値として第1の値または第2の値を設定した後、前記演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信の繰り返しによって収束した生成内部値に基づいて、前記ネットワークを構成している装置の台数を算出する台数探索手段とを備えており、前記ネットワークを構成している装置のうちのいずれか1つの装置において前記生成内部値の初期値として前記第1の値が設定され、その他の装置において前記生成内部値の初期値として前記第2の値が設定されることを特徴とする。この構成によると、内部値生成手段は、生成した生成内部値と通信手段が受信した受信内部値とに基づく演算によって、内部値を生成する。ネットワークを構成している各装置の内部値生成手段がこれを行うことで、すべての装置での内部値が相加平均値に収束する。また、ネットワークを構成している装置のうちのいずれか1つの装置において生成内部値の初期値として第1の値が設定され、その他の装置において生成内部値の初期値として第2の値が設定される。したがって、収束した生成内部値は、ネットワークを構成している装置の台数、第1の値および第2の値から算出された値になる。台数探索手段は、収束した生成内部値から、ネットワークを構成している装置の台数を算出する。これにより、ネットワークを構成している装置全体を管理する管理装置が設けられていない場合でも、ネットワークを構成している装置の台数を探索することができる。
【0009】
本発明の好ましい実施の形態においては、前記第1の値は「1」であり、前記第2の値は「0」であり、前記台数探索手段は、前記収束した生成内部値の逆数に基づいて前記台数を算出する台数算出手段をさらに備えている。この構成によると、台数算出手段での演算を容易にすることができる。
【0010】
本発明の好ましい実施の形態においては、前記台数探索手段は、前記生成内部値の変化に基づいて前記生成内部値が収束したことを検出する収束検出手段をさらに備えている。この構成によると、生成内部値が収束したことを、適切に検出することができる。
【0011】
本発明の好ましい実施の形態においては、前記装置は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算手段と、前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段とをさらに備えており、前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う。この構成によると、生成内部値の初期値として乱数が設定され、生成内部値を最大値に収束させる処理が行われた後、生成内部値に基づいて、第1の値を設定するか第2の値を設定するかが決定される。したがって、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【0012】
本発明の好ましい実施の形態においては、前記装置は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が負の値であるものだけをすべて加算して出力する第2の演算手段と、前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段とをさらに備えており、前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う。この構成によると、生成内部値の初期値として乱数が設定され、生成内部値を最小値に収束させる処理が行われた後、生成内部値に基づいて、第1の値を設定するか第2の値を設定するかが決定される。したがって、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【0013】
本発明の好ましい実施の形態においては、前記設定値決定手段は、前記生成内部値が変化しなかった場合には前記第1の値を設定することを決定し、前記生成内部値が変化した場合には前記第2の値を設定することを決定する。この構成によると、第1の値を設定するか第2の値を設定するかを適切に決定することができる。
【0014】
本発明の第2の側面によって提供される装置は、内部値を生成する内部値生成手段と、前記内部値生成手段が生成した内部値を生成内部値として、他の装置の少なくとも1つに送信し、前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する通信手段とを備え、前記内部値生成手段は、前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算手段と、前記演算手段が出力する演算結果を積分して、前記内部値を算出する積分手段と、前記生成内部値の初期値として第1の値または第2の値を設定した後、前記演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信の繰り返しによって収束した生成内部値に基づいて、通信によるネットワークを構成している装置の台数を算出する台数探索手段とを備えていることを特徴とする。
この構成によると、ネットワークを構成している装置全体を管理する管理装置が設けられていない場合でも、ネットワークを構成している装置の台数を探索することができる。
【0015】
本発明の好ましい実施の形態においては、前記装置は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算手段と、前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段とをさらに備えており、前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う。この構成によると、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【0016】
本発明の好ましい実施の形態においては、前記装置は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が負の値であるものだけをすべて加算して出力する第2の演算手段と、前記生成内部値の初期値として乱数を設定し、前記第2の演算手段による演算、前記積分手段による積分、および前記通信手段による内部値の送受信が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する設定値決定手段とをさらに備えており、前記設定値決定手段による決定後、決定された設定値を前記生成内部値の初期値として設定し、前記台数探索手段による処理を行う。この構成によると、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【0017】
本発明の好ましい実施の形態においては、前記設定値決定手段は、前記生成内部値が変化しなかった場合には前記第1の値を設定することを決定し、前記生成内部値が変化した場合には前記第2の値を設定することを決定する。この構成によると、第1の値を設定するか第2の値を設定するかを適切に決定することができる。
【0018】
本発明の第3の側面によって提供される方法は、内部値を生成する内部値生成手段と、少なくとも1つの他の装置と通信を行う通信手段とを備える装置によって構成された通信によるネットワークにおいて、当該ネットワークを構成している装置の台数を探索する方法であって、前記内部値生成手段が内部値を生成する内部値生成工程と、前記内部値生成工程で生成した内部値を生成内部値として、前記他の装置の少なくとも1つに送信する送信工程と、前記他の装置の少なくとも1つが送信した内部値を受信内部値として受信する受信工程とを各装置で行わせるものであり、前記内部値生成工程は、前記受信内部値から前記生成内部値をそれぞれ減算して減算結果をすべて加算する演算工程と、前記演算工程で出力された演算結果を積分して、前記内部値を算出する積分工程とを備えており、前記ネットワークを構成している装置のうちのいずれか1つの装置において前記生成内部値の初期値として第1の値を設定し、その他の装置において前記生成内部値の初期値として第2の値を設定する設定工程と、前記設定工程の後、前記内部値生成工程、前記送信工程および前記受信工程を繰り返して、収束した生成内部値に基づいて、前記ネットワークを構成している装置の台数を算出する台数算出工程とを備えていることを特徴とする。この構成によると、ネットワークを構成している装置全体を管理する管理装置が設けられていない場合でも、ネットワークを構成している装置の台数を探索することができる。
【0019】
本発明の好ましい実施の形態においては、前記設定工程は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が正の値であるものだけをすべて加算して出力する第2の演算工程と、前記生成内部値の初期値として乱数を設定する乱数設定工程と、前記乱数設定工程の後、前記第2の演算工程、前記積分工程、前記送信工程および前記受信工程が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する決定工程とを備えており、前記決定工程により決定された設定値を前記生成内部値の初期値として設定する。この構成によると、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【0020】
本発明の好ましい実施の形態においては、前記設定工程は、前記受信内部値から前記生成内部値をそれぞれ減算し、減算結果が負の値であるものだけをすべて加算して出力する第2の演算工程と、前記生成内部値の初期値として乱数を設定する乱数設定工程と、前記乱数設定工程の後、前記第2の演算工程、前記積分工程、前記送信工程および前記受信工程が行われた後、前記生成内部値に基づいて、前記第1の値を設定するか前記第2の値を設定するかを決定する決定工程とを備えており、前記決定工程により決定された設定値を前記生成内部値の初期値として設定する。この構成によると、第1の値を設定するか第2の値を設定するかを、人の手によらず、自動的に決定することができる。
【発明の効果】
【0021】
本発明によると、内部値生成手段は、生成した生成内部値と通信手段が受信した受信内部値とに基づく演算によって、内部値を生成する。ネットワークを構成している各装置の内部値生成手段がこれを行うことで、すべての装置での内部値が相加平均値に収束する。また、ネットワークを構成している装置のうちのいずれか1つの装置において生成内部値として第1の値が設定され、その他の装置において生成内部値として第2の値が設定される。したがって、収束した生成内部値は、ネットワークを構成している装置の台数、第1の値および第2の値から算出された値になる。例えば、第1の値が「1」で、第2の値が「0」の場合、収束した生成内部値は、ネットワークを構成している装置の台数の逆数になる。台数探索手段は、収束した生成内部値から、ネットワークを構成している装置の台数を算出する。これにより、ネットワークを構成している装置全体を管理する管理装置が設けられていない場合でも、ネットワークを構成している装置の台数を探索することができる。
【0022】
本発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【図面の簡単な説明】
【0023】
図1】第1実施形態に係る装置の内部構成を示す機能ブロック図である。
図2】第1実施形態に係るシステムにおける、各装置の接続状態を示す図である。
図3】第1実施形態に係る装置が行う構成台数探索処理を説明するためのフローチャートである。
図4図2に示す各装置において、構成台数が探索できることを確認するシミュレーションの結果を示す図である。
図5】各装置の接続状態の他の実施例を示す図である。
図6】タイミング生成部の他の実施例の内部構成を示す機能ブロック図である。
図7】第2実施形態に係る装置の内部構成を示す機能ブロック図である。
図8】第2実施形態に係る装置が行う構成台数探索処理を説明するためのフローチャートである。
図9】第2実施形態に係る構成台数探索処理を行ったシミュレーションの結果を示す図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態を、図面を参照して具体的に説明する。
【0025】
図1は、第1実施形態に係る装置の内部構成を示す機能ブロック図である。図2は、各装置の接続状態を示す図である。
【0026】
図1に示すように、装置Aは、内部値Xiを生成する内部値生成部1、他の装置Aとの間で通信を行う通信部2、および、内部値Xiに初期値を設定して、収束した内部値Xiからネットワークを構成している装置の台数(以下では、「構成台数」とする)を算出する台数探索部3を備えている。なお、図1においては、構成台数を探索するために必要な構成のみを記載している。実際には、各装置Aは、その他の構成を備えている。その他の構成は、コンセンサス協調制御を行うための構成(すなわち、内部値生成部1と同様の構成で所定の内部値を生成して制御を行ったり、演算を行ったりするもの)であってもよいし、それ以外の機能を果たすための構成であってもよい。
【0027】
通信部2は、他の装置Aとの間で通信を行うものである。通信部2は、内部値生成部1が生成した内部値Xiを入力され、他の装置Aの通信部2に送信する。また、通信部2は、他の装置Aの通信部2から受信した内部値Xjを、内部値生成部1に出力する。なお、通信方法は限定されず、有線通信であってもよいし、無線通信であってもよい。内部値Xiが本発明の「生成内部値」に相当し、内部値Xjが本発明の「受信内部値」に相当する。
【0028】
図2(a)に示すように、装置Aは他の装置Aと通信を行っており、通信を行っている装置A全体でネットワークを構成している。図2(a)においては、8つの装置A(A1〜A8)がネットワークを構成している状態を示している。この場合、ネットワークを構成している装置A1〜A8が、本発明の「システム」に相当する。なお、実際のシステムは、より多くの装置Aで構成されているが、説明の簡略化のために少ないケースを示している。
【0029】
図2(a)に示す実線矢印は、相互通信を行っていることを示している。装置A1は装置A2および装置A8とのみ相互通信を行っており、装置A2は装置A1および装置A3とのみ相互通信を行っている。また、装置A3は装置A2および装置A4とのみ相互通信を行っており、装置A4は装置A3および装置A5とのみ相互通信を行っており、装置A5は装置A4および装置A6とのみ相互通信を行っている。また、装置A6は装置A5および装置A7とのみ相互通信を行っており、装置A7は装置A6および装置A8とのみ相互通信を行っており、装置A8は装置A7および装置A1とのみ相互通信を行っている。このように、装置Aの通信部2は、ネットワークを構成している装置Aのうち、少なくとも1つの装置A(例えば、近隣に位置するものや、通信が確立されたもの)の通信部2と通信を行っており、ネットワークを構成している任意の2つの装置Aに対して通信経路が存在している状態(以下ではこの状態を「連結状態」と言う。)であればよく、ネットワークを構成しているすべての装置Aの通信部2と通信を行う必要はない。
【0030】
例えば、装置Aが装置A2の場合、通信部2は、内部値生成部1が生成した内部値X2を装置A1およびA3の通信部2に送信し、装置A1の通信部2から内部値X1を受信し、装置A3の通信部2から内部値X3を受信する。
【0031】
図1に戻って、内部値生成部1は、例えばマイクロコンピュータなどによって実現されており、生成した内部値Xiと、通信部2より入力される、他の装置Aの内部値Xjとを用いて、内部値Xiを生成する。内部値Xiと内部値Xjとが異なっていても、内部値生成部1での演算処理が繰り返されることで、内部値Xiと内部値Xjとが共通の値に収束する。図1に示すように、内部値生成部1は、演算部11、乗算器12および積分器13を備えている。
【0032】
演算部11は、下記(1)式に基づく演算を行う。すなわち、演算部11は、通信部2から入力される各内部値Xjから、内部値生成部1が生成した内部値Xiをそれぞれ減算し、減算結果をすべて加算した演算結果uiを乗算器12に出力する。
【数1】
【0033】
例えば、装置Aが装置A2であり(図2(a)参照)、装置A1および装置A3から同時に内部値Xjを受信した場合、演算部11は、下記(2)式の演算を行い、演算結果u2を出力する。
【数2】
【0034】
乗算器12は、演算部11から入力される演算結果uiに所定の係数εを乗算して積分器13に出力する。係数εは、0<ε<1/dmaxを満たす値であり、あらかじめ設定されている。dmaxは、通信部2に同時に入力される可能性のある内部値Xjの数の最大値である。なお、係数εは、積分器13への入力が大きく(小さく)なりすぎて、内部値Xiの変動が大きくなりすぎることを抑制するために、演算結果uiに乗算されるものである。
【0035】
積分器13は、乗算器12から入力される値を積分することで内部値Xiを生成して出力する。積分器13は、前回生成した内部値Xiに乗算器12から入力される値を加算することで内部値Xiを生成する。内部値Xiは、切替部31を介して、通信部2および演算部11に出力される。
【0036】
本実施形態において、内部値生成部1は、生成した内部値Xiと、通信部2より入力される、他の装置Aの内部値Xjとを用いて、内部値Xiを生成する。内部値Xiが各内部値Xjの相加平均値より大きい場合、演算部11が出力する演算結果uiは負の値になる。そうすると、積分器13には負の値が加算されることで、内部値Xiは小さくなる。一方、内部値Xiが各内部値Xjの相加平均値より小さい場合、演算部11が出力する演算結果uiは正の値になる。そうすると、積分器13には正の値が加算されることで、内部値Xiは大きくなる。つまり、内部値Xiは各内部値Xjの相加平均値に近づいていく。この処理が各装置Aそれぞれで行われることにより、各装置Aの内部値Xiは同じ値に収束する。内部値Xiが同じ収束値Xαに収束することは、数学的にも証明されている(非特許文献1,2参照)。また、収束値Xαが、下記(3)式に示すように、各装置Aの内部値Xiの初期値の相加平均値になることも証明されている。nはネットワークを構成している装置Aの数(構成台数)であり、下記(3)式は、装置A1〜Anの内部値X1〜Xnの初期値をすべて加算して構成台数nで除算した相加平均値を算出することを示している。
【数3】
【0037】
台数探索部3は、例えばマイクロコンピュータなどによって実現されており、構成台数を探索するためのものである。図1に示すように、台数探索部3は、切替部31、タイミング生成部32、収束検出部33、および、台数算出部34を備えている。
【0038】
切替部31は、内部値Xiに初期値を設定する。切替部31は、積分器13から内部値Xiを入力され、通常時には内部値Xiをそのまま演算部11および通信部2に出力する。しかし、タイミング生成部32から初期値入力の指示が入力された場合、「0」または「1」を内部値Xiの初期値として設定し、演算部11および通信部2に出力する。初期値は、基本的には「0」が設定されているが、ネットワークを構成している装置Aのうちのいずれか1つの装置Aでは、「1」が設定される。なお、初期値として「1」が設定されるのは、いずれの装置Aであっても構わない。例えば、全ての装置Aに「0」を設定しておいて、ユーザが一番身近な装置Aのみ、「1」に変更すればよい。本実施形態においては、「1」が本発明の「第1の値」に相当し、「0」が本発明の「第2の値」に相当する。
【0039】
タイミング生成部32は、所定のタイミングで、切替部31に初期値入力の指示を出力する。所定のタイミングは、構成台数を探索したいタイミングとして、あらかじめ設定されている。例えば、メンテナンスのために構成台数を探索するのであれば、メンテナンスのタイミングに合わせて設定され、構成台数に応じた係数を制御に用いるのであれば、当該制御に必要なタイミングに合わせて設定される。各装置Aにおいて同じタイミングで初期値を設定する必要があるので、各装置Aのタイミング生成部32は、タイミングを一致させるための時刻を共有している。例えば、タイミング生成部32は、インターネットにアクセスして、定期的に正確な時刻を入手してもよいし、GPS(Global Positioning System)を備えている場合は、受信した情報から時刻情報を入手するようにしてもよい。また、タイミング生成部32は、通信部2に通信を指示するタイミング信号を出力するようにしてもよい。
【0040】
収束検出部33は、内部値Xiが収束したことを検出して、収束した内部値Xiである収束値Xαを台数算出部34に出力する。収束検出部33は、切替部31が出力した内部値Xiが変化しなくなった場合に、内部値Xiが収束したと判断する。具体的には、収束検出部33は、内部値Xiと前回の内部値Xiとの差を算出し、当該差が所定の誤差の範囲内にある場合に内部値Xiが変化していないと判断する。そして、その状態が所定の時間継続した場合に、収束したと判断する。本実施形態では、所定の時間として、演算部11での演算の回数を利用している。なお、収束検出部33の構成は限定されない。収束検出部33は、収束値Xαを出力できればよい。例えば、内部値Xiと前回の内部値Xiとの差が所定の誤差の範囲内にある場合に収束したと判断するようにしてもよい。ただし、この場合は、所定の誤差の範囲が十分狭い必要がある。また、収束に必要な時間を考慮して、その時間が十分経過したときに、内部値Xiが収束したと判断して、このときの内部値Xiを収束値Xαとして出力するようにしてもよい。ただし、構成台数および各装置Aの通信接続の具合によって収束にかかる時間は変化する。構成台数が少ない場合や、各装置Aが多数の装置Aと通信している場合などには、収束にかかる時間が短くなるが、逆のケースの場合は、収束にかかる時間が長くなる。したがって、構成台数および各装置Aの通信接続の具合があらかじめ想定でき、収束にかかる時間が想定できる場合は、それに応じた時間を設定すればよい。一方、収束にかかる時間が想定できない場合は、十分長い時間を設定する必要がある。
【0041】
台数算出部34は、収束検出部33より入力される収束値Xαに基づいて、構成台数を算出する。上述したように、収束値Xαは、各装置Aの内部値Xiの初期値の相加平均値になる(上記(3)式参照)。各装置Aの内部値Xiの初期値は、1つだけ「1」が設定され、それ以外は「0」が設定されている。したがって、初期値の合計値が「1」になるので、構成台数をnとすると、収束値Xαは1/nになる。したがって、構成台数nは、収束値Xαの逆数(n=1/Xα)になる。台数算出部34は、収束検出部33より入力される収束値Xαの逆数(1/Xα)を算出して、構成台数nとして出力する。出力された構成台数nは、制御のための係数の演算に用いられたり、図示しない表示部に表示されてメンテナンスに利用される。なお、構成台数nの使用先は、限定されない。
【0042】
図3は、装置Aが行う構成台数nを探索するための処理(以下では、「構成台数探索処理」とする)を説明するためのフローチャートである。
【0043】
まず、初期値入力の指示を示すタイミング入力が有ったか否かが判別される(S1)。具体的には、タイミング生成部32から切替部31に、初期値入力の指示が入力されたか否かが判別される。タイミング入力が無い場合(S1:NO)、ステップS1に戻って判別が繰り返される。タイミング入力が有った場合(S1:YES)、ステップS2に進む。つまり、タイミング入力を待って、タイミング入力が有った時に、具体的な処理(S2〜S7)が開始される。
【0044】
次に、内部値Xiに初期値が入力される(S2)。具体的には、切替部31が内部値Xiに初期値「0」または「1」を設定する。次に、内部値Xiが送信され(S3)、内部値Xjが受信される(S4)。具体的には、通信部2が、内部値生成部1より入力される内部値Xiを他の装置Aに送信し、また、他の装置Aから内部値Xjを受信する。そして、内部値Xiが生成される(S5)。具体的には、演算部11が内部値Xiおよび内部値Xjに基づいて演算を行い、乗算器12が演算結果uiに所定の係数εを乗算して、積分器13が乗算結果を積分することで、内部値Xiを生成する。
【0045】
次に、内部値Xiが収束したか否かが判別される(S6)。具体的には、収束検出部33が内部値Xiが収束したか否かを判別する。収束していない場合(S6:NO)、ステップS3に戻って、ステップS3〜S6が繰り返される。収束した場合(S6:YES)、構成台数が算出され(S7)、構成台数探索処理は終了する。具体的には、収束検出部33は、内部値Xiが収束したと判断すると、収束値Xαを台数算出部34に出力し、台数算出部34は収束値Xαに基づいて構成台数を算出して出力する。なお、構成台数探索処理は、上述したものに限定されない。
【0046】
次に、図2に示す各装置A1〜A8において、構成台数が探索できることを確認するシミュレーションについて説明する。
【0047】
図4は、当該シミュレーションの結果を示す図である。図4(a)は、図2(a)に示す各装置A1〜A8の内部値Xiの時間変化を示している。縦軸は各内部値Xiの値を示しており、横軸は演算部11での演算回数を示している。装置A1の初期値を「1」、装置A2〜A8の初期値を「0」として、シミュレーションを開始した。
【0048】
図4(a)に示すように、演算回数が増加するごとに各装置A1〜A8の内部値Xiは同じ値に近づいていき、演算回数が80回ぐらいでほぼ同じ値に収束している。収束値Xαは、0.125になっている。よって、構成台数n=1/Xα=1/0.125=8台と算出される。
【0049】
図4(b)は、図2(b)に示す各装置A1〜A8の内部値Xiの時間変化を示している。図2(b)は、図2(a)において、装置A8がネットワークから切断された状態である。すなわち、装置A1は装置A2とのみ相互通信を行っており、装置A2は装置A1および装置A3とのみ相互通信を行っている。また、装置A3は装置A2および装置A4とのみ相互通信を行っており、装置A4は装置A3および装置A5とのみ相互通信を行っており、装置A5は装置A4および装置A6とのみ相互通信を行っている。また、装置A6は装置A5および装置A7とのみ相互通信を行っており、装置A7は装置A6とのみ相互通信を行っている。そして、装置A8はいずれの装置とも通信を行っていない。この場合でも、装置A1〜A7は、連結状態となっている。図4(a)におけるシミュレーションと同様、装置A1の初期値を「1」、装置A2〜A8の初期値を「0」として、シミュレーションを開始した。
【0050】
図4(b)に示すように、演算回数が増加するごとに各装置A1〜A7の内部値Xiは同じ値に近づいていくが、装置A8の内部値Xiは「0」のままである。そして、各装置A1〜A7の内部値Xiは、演算回数が200回ぐらいでほぼ同じ値に収束している。収束値Xαは、0.142857になっている。よって、各装置A1〜A7では、構成台数n=1/Xα=1/0.142857=7台と算出される。一方、装置A8の内部値Xiは「0」のままで、収束値Xαは「0」になり、構成台数n=1/Xαは計算できないので、装置A8がネットワークから切り離されていることが判る。
【0051】
次に、装置Aの作用効果について説明する。
【0052】
本実施形態によると、内部値生成部1は、生成した内部値Xiと通信部2が受信した内部値Xjとに基づく演算によって、内部値Xiを生成する。ネットワークを構成している各装置Aの内部値生成部1がこれを行うことで、すべての装置Aでの内部値Xiが相加平均値に収束する。また、ネットワークを構成している装置Aのうちのいずれか1つの装置Aにおいて内部値Xiとして「1」が設定され、その他の装置Aにおいて内部値Xiとして「0」が設定されている。したがって、収束した内部値Xiである収束値Xαは、構成台数nの逆数になる。台数算出部34は、収束値Xαから構成台数nを算出する。これにより、ネットワークを構成している装置A全体を管理する管理装置が設けられていない場合でも、ネットワークを構成している装置Aの台数を探索することができる。
【0053】
また、本実施形態によると、内部値Xiの初期値として、1つの装置Aでは「1」が設定され、その他の装置Aでは「0」が設定されている。したがって、収束値Xαが構成台数nの逆数になる。よって、構成台数nを容易に算出することができる。
【0054】
なお、本実施形態においては、各装置Aが相互通信を行う場合について説明したが、これに限られず、片側通信を行うようにしてもよい。例えば、図5に示すように、装置A1が装置A8から受信のみを行って、装置A2に送信のみを行い、装置A2が装置A1から受信のみを行って、装置A3に送信のみを行い、装置A3が装置A2から受信のみを行って、装置A4に送信のみを行い、装置A4が装置A3から受信のみを行って、装置A5に送信のみを行い、装置A5が装置A4から受信のみを行って、装置A6に送信のみを行い、装置A6が装置A5から受信のみを行って、装置A7に送信のみを行い、装置A7が装置A6から受信のみを行って、装置A8に送信のみを行い、装置A8が装置A7から受信のみを行って、装置A1に送信のみを行う場合でも、内部値Xiを相加平均値に収束させることができる。より一般的に言うと、ある装置Aから送信先をたどっていくと、任意の装置Aに到達することができる状態(グラフ理論における「全域木を含む」状態)であることが、内部値Xiを収束させるための条件であり、さらに、任意の装置Aから送信先をたどっていくと、任意の装置Aに到達することができる状態(グラフ理論における「強連結」状態)であり、かつ、すべての装置Aにおいて、送信先の装置Aの数と送信元の装置Aの数が等しい状態(グラフ理論における「平衡グラフ」状態)であることが内部値Xiを相加平均値に収束させるための条件である。
【0055】
また、本実施形態においては、内部値Xiの初期値として、1つの装置Aでは「1」が設定され、その他の装置Aでは「0」が設定される場合について説明したが、これに限られない。初期値がこれら以外であっても、収束値Xαから構成台数nを算出することができる。例えば、1つの装置Aでの初期値を「a」とし、その他の装置Aでの初期値を「b」とすると、構成台数nは、n=(a−b)/(Xα−b)で演算することができる。なお、b=0とすることで、n=a/Xαとして容易に算出することができ、さらに、a=1とすることで、nをXαの逆数として、より容易に算出することができる。つまり、1つの装置Aでは「1」を設定し、その他の装置Aでは「0」を設定することが、台数算出部34での演算を最も容易にする。なお、1つの装置Aでは想定される構成台数n’を設定し、その他の装置Aでは「0」を設定した場合、実際の構成台数nが想定される構成台数n’と等しければ、収束値Xαは「1」になる。したがって、この場合、収束値Xαが「1」であれば、収束値Xαに基づく演算をするまでもなく、実際の構成台数が想定される構成台数と等しいと判断することができる。
【0056】
また、本実施形態においては、タイミング生成部32が、インターネットなどから入手した時刻情報に基づくタイミングで、切替部31に初期値入力の指示を出力する場合について説明したが、これに限られない。タイミング生成部32の他の実施例について、以下に説明する。
【0057】
図6は、他の実施例であるタイミング生成部32’の内部構成を示す機能ブロック図である。タイミング生成部32’は、内部値生成部1と類似した構成で各装置Aの内部位相θiの同期を行い、当該内部位相θiに基づくタイミングで、切替部31に初期値入力の指示を出力する。タイミング生成部32’は、内部位相生成部8およびタイミング出力部9を備えている。また、通信部2は、内部値Xiに加えて内部位相θiの送受信も行う。
【0058】
内部位相生成部8は、切替部31に初期値入力の指示を出力するタイミングを決定するための内部位相θiを生成するものである。内部位相生成部8は、生成した内部位相θiを通信部2およびタイミング出力部9に出力する。内部位相生成部8は、生成した内部位相θiと、通信部2より入力される、他の装置Aの内部位相θjとを用いて、内部位相θiを生成する。内部位相θiと内部位相θjとが異なっていても、内部位相生成部8での演算処理が繰り返されることで、内部位相θiと内部位相θjとが共通の内部位相に収束する。図6に示すように、内部位相生成部8は、演算部81、乗算器82、加算器83および積分器84を備えている。
【0059】
演算部81は、下記(4)式に基づく演算を行う。すなわち、演算部81は、通信部2から入力される各内部位相θjから、内部位相生成部8が生成した内部位相θiをそれぞれ減算し、減算結果をすべて加算した演算結果u’iを乗算器82に出力する。
【数4】
【0060】
乗算器82は、演算部81から入力される演算結果u’iに所定の係数ε’を乗算して加算器83に出力する。係数ε’は、0<ε’<1/d’maxを満たす値であり、あらかじめ設定されている。d’maxは、通信部2に同時に入力される可能性のある内部位相θjの数の最大値である。なお、係数ε’は、積分器84への入力が大きく(小さく)なりすぎて、内部位相θiの変動が大きくなりすぎることを抑制するために、演算結果u’iに乗算されるものである。したがって、内部位相生成部8での処理が連続時間処理の場合は、乗算器82を設ける必要はない。
【0061】
加算器83は、乗算器82からの入力と、所定の角周波数ω0および積分器84のサンプリング周期Tに基づく値Tω0を加算して、積分器84に出力する。値Tω0は、サンプリング周波数f(=1/T)のタイミングで入力され、乗算器82からは、演算部81が演算を行ったタイミング(すなわち、内部位相θjを受信したタイミング)で乗算結果が入力される。積分器84は、加算器83からの入力を積分することで内部位相θiを生成して出力する。積分器84は、前回生成した内部位相θiに加算器83からの入力を加算することで内部位相θiを生成する。また、積分器84は、内部位相θiが無限に発散してしまうことを防ぐために、所定の閾値S(2πの倍数)を上限値として、内部位相θiを(0≦θi<S)の範囲の値として出力する。つまり、積分器84は、内部位相θiが範囲の上限値である閾値Sに達した場合に、ゼロクリアすることで、内部位相θiを範囲の下限値である「0」にする。内部位相θiは、タイミング出力部9、通信部2および演算部81に出力される。なお、本実施形態においては、内部位相生成部8が出力する内部位相θiを、タイミング出力部9がそのまま使用できるように、積分器84のサンプリング周波数fを高くして、サンプリング周波数fに応じたTω0を加算するようにしているが、これに限られない。例えば、サンプリング周波数fを低くしたり(例えば1Hz)、より高くしてもよい。この場合は、タイミング出力部9に出力するとき、または、タイミング出力部9内部で、分周するなどして調整すればよい。また、加算する値を角周波数ω0と関係ない値(例えば「1」)としてもよい。
【0062】
内部位相生成部8は、生成した内部位相θiと、通信部2より入力される、他の装置Aの内部位相θjとを用いて、内部位相θiを生成する。内部位相θiが各内部位相θjの相加平均値より大きい場合、演算部81が出力する演算結果u’iは負の値になる。そうすると、積分器84より出力される内部位相θiは減少されて、内部位相θjに近づく。一方、内部位相θiが内部位相θjより小さい場合、演算部81が出力する演算結果u’iは正の値になる。そうすると、積分器84より出力される内部位相θiは増加されて、内部位相θjに近づく。この処理が各装置Aそれぞれで行われることにより、各装置Aの内部位相θiは同じ値に収束する。内部位相θiは時間とともに変化するものであり、角周波数ω0に応じて変化する成分と、初期位相のずれを補償するように変化する成分とを合成したものと考えることができる。後者が同じ値θαに収束することで、各装置Aの内部位相θiも同じ値に収束する。後者が同じ値θαに収束することは、数学的にも証明されている(非特許文献1,2参照)。また、収束値θαが、下記(5)式に示すように、各装置Aの内部位相θiの初期値の相加平均値になることも証明されている。下記(5)式は、装置A1〜Anの内部位相θ1〜θnの初期値をすべて加算してnで除算した相加平均値を算出することを示している。
【数5】
【0063】
タイミング出力部9は、内部位相生成部8より入力される内部位相θiに基づいて、切替部31に初期値入力の指示を出力する。例えば、タイミング出力部9は、内部位相θiが「0」になるタイミングで初期値入力の指示を出力する。なお、初期値入力の指示を出力するタイミングは「0」に限定されない。また、内部位相θiが「0」になった回数が予定の回数になったタイミングで出力するようにしてもよい。また、タイミング出力部9は、通信部2にも、処理周期に応じて分周されたタイミング信号を出力するようにしてもよい。
【0064】
本実施例に係るタイミング生成部32’において、各装置Aの内部位相θiは同じ値に収束することで同期する。したがって、各装置Aのタイミング生成部32’は、同じタイミングで、切替部31に初期値入力の指示を出力することができる。
【0065】
なお、内部位相θiの初期位相のずれを補償するように変化する成分の収束値θαは、各装置Aの内部位相θiの初期値の相加平均値でなくてもよく、内部位相θiが同じ値に収束すればよい。したがって、演算部81に設定する演算式を上記(4)式とは異なる式として、収束値θαが例えば初期値の加重平均値や、相乗平均値(幾何平均値)、調和平均値、P次平均値になるようにしてもよい。また、後述するアルゴリズムを用いて、収束値θαを初期値の最大値(または最小値)とするようにしてもよい。
【0066】
上記第1実施形態においては、いずれかの装置Aにおいて、内部値Xiの初期値に「1」を設定する必要がある。この初期値の設定を自動化した場合を、第2実施形態として、以下に説明する。
【0067】
図7は、第2実施形態に係る装置A’の内部構成を示す機能ブロック図である。同図において、第1実施形態に係る装置A(図1参照)と同一または類似の要素には、同一の符号を付している。第2実施形態に係る装置A’は、演算部11および切替部31に代えて演算部11’および切替部31’を備えている点と、設定値決定部35を備えている点とで、第1実施形態に係る装置Aと異なる。
【0068】
演算部11’は、平均合意部11aおよび最大合意部11bを備えており、切替部31’からの指示により、両者を切り替える。平均合意部11aは、第1実施形態に係る演算部11と同じ機能を果たす。したがって、演算部11’が平均合意部11aに切り替えられている場合、内部値生成部1は、内部値Xiを、各装置A’の内部値Xiの初期値の相加平均値に収束させる。本実施形態においては、平均合意部11aが本発明の「演算手段」に相当する。
【0069】
最大合意部11bは、下記(6)式に基づく演算を行う。αijは、Xj>Xiの場合に「1」、Xj≦Xiの場合に「0」となる関数である。すなわち、最大合意部11bは、通信部2より入力される各内部値Xjから、内部値生成部1が生成した内部値Xiをそれぞれ減算し、減算結果が正の値であるものだけをすべて加算した演算結果uiを乗算器12に出力する。本実施形態においては、最大合意部11bが本発明の「第2の演算手段」に相当する。

【数6】
【0070】
例えば、装置A’が図2(a)に示す装置A2の場合、X1>X2>X3であった場合、最大合意部11bは、下記(7)式の演算を行い、演算結果u2を出力する。
【数7】
【0071】
内部値生成部1は、生成した内部値Xiと、通信部2より入力される、他の装置A’の内部値Xjとを用いて、内部値Xiを生成する。演算部11’が最大合意部11bに切り替えられている間は、内部値Xiがいずれかの内部値Xjより小さい場合、その差が加算されて、内部値Xiは大きくなる。これにより、内部値Xiは、内部値Xjの最大値に近づいていく。内部値Xiが、内部値Xjの最大値に一致した場合、演算結果uiは「0」になって、演算結果uiは変化しなくなる。しかし、この処理が各装置A’それぞれで行われるので、より大きな内部値があると、いずれかの内部値Xjがその内部値に一致するように変化して、内部値Xiもその内部値Xjに一致するようになる。したがって、内部値Xiは全体での最大値に収束する。つまり、内部値生成部1は、内部値Xiを各装置A’の内部値Xiの初期値の最大値に収束させる。
【0072】
切替部31’は、タイミング生成部32から初期値入力の指示が入力された場合、乱数を発生させて、当該乱数を内部値Xiの初期値として設定し、演算部11’および通信部2に出力する。このとき、演算部11’は、最大合意部11bに切り替えられている。したがって、内部値生成部1は、内部値Xiを各装置A’の内部値Xiの初期値の最大値に収束させるように機能する。そして、切替部31’は、設定値決定部35から設定値を入力された場合、演算部11’を平均合意部11aに切り替え、当該設定値を内部値Xiの初期値として設定し、演算部11’および通信部2に出力する。したがって、内部値生成部1は、内部値Xiを各装置A’の内部値Xiの初期値の相加平均値に収束させるように機能する。
【0073】
設定値決定部35は、切替部31’が出力した内部値Xiに基づいて、切替部31’に入力する設定値を決定する。設定値決定部35は、内部値Xiの初期値が、各装置A’の内部値Xiの初期値の最大値である場合には、設定値「1」を切替部31’に出力し、それ以外の場合には、設定値「0」を切替部31’に出力する。最大値は1つなので、いずれか1つの装置A’においてのみ、設定値「1」が切替部31’に出力され、その他の装置A’においては、設定値「0」が切替部31’に出力されることになる。演算部11’が最大合意部11bに切り替えられている内部値生成部1は、内部値Xiを各装置A’の内部値Xiの初期値の最大値に収束させるように機能するので、内部値Xiの初期値が各装置A’の内部値Xiの初期値の最大値でない場合、内部値Xiは、最大値に収束するように変化する。一方、内部値Xiの初期値が各装置A’の内部値Xiの初期値の最大値である場合、内部値Xiは変化しない。したがって、内部値Xiが変化するか否かで、内部値Xiの初期値が最大値であるか否かを判断することができる。設定値決定部35は、切替部31’が出力した内部値Xiの初期値と、所定時間経過後(例えば、演算部11’での演算が所定回数行われた後)に切替部31’が出力した内部値Xiとを比較して、変化がない場合には、内部値Xiが最大値であると判断して、設定値「1」を切替部31’に出力する。一方、変化があった場合には、内部値Xiが最大値ではなかったと判断して、設定値「0」を切替部31’に出力する。なお、構成台数nおよび各装置A’の通信接続の具合によって収束にかかる時間は変化する。構成台数nが少ない場合や、各装置A’が多数の装置A’と通信している場合などには、収束にかかる時間が短く、所定時間を短くしても、設定値決定部35は、最大値であるか否かの判断を適切にすることができる。逆に、収束にかかる時間が長い場合は、所定時間を長くして、設定値決定部35が適切に判断できるようにする必要がある。なお、設定値決定部35の構成は限定されない。設定値決定部35は、内部値Xiが最大値であるか否かを判断でき、その判断に応じて設定値を出力できればよい。
【0074】
図8は、装置A’が行う構成台数探索処理を説明するためのフローチャートである。
【0075】
まず、初期値入力の指示を示すタイミング入力が有ったか否かが判別される(S11)。具体的には、タイミング生成部32から切替部31に、初期値入力の指示が入力されたか否かが判別される。タイミング入力が無い場合(S11:NO)、ステップS11に戻って判別が繰り返される。タイミング入力が有った場合(S11:YES)、ステップS12に進む。つまり、タイミング入力を待って、タイミング入力が有った時に、具体的な処理(S11〜S12〜S24)が開始される。
【0076】
次に、内部値Xiに乱数が入力される(S12)。具体的には、切替部31’が乱数を発生させて、当該乱数を内部値Xiの初期値として設定する。次に、内部値Xiが送信され(S13)、内部値Xjが受信される(S14)。具体的には、通信部2が、内部値生成部1より入力される内部値Xiを他の装置A’に送信し、また、他の装置A’から内部値Xjを受信する。そして、内部値Xiが生成される(S15)。具体的には、演算部11’(最大合意部11b)が内部値Xiおよび内部値Xjに基づいて演算を行い、乗算器12が演算結果uiに所定の係数εを乗算して、積分器13が乗算結果を積分することで、内部値Xiを生成する。
【0077】
次に、所定時間が経過したか否かが判別される(S16)。所定時間が経過していない場合(S16:NO)、ステップS13に戻って、ステップS13〜S16が繰り返される。所定時間が経過した場合(S16:YES)、内部値Xiが変化したか否かが判別される(S17)。具体的には、設定値決定部35が、内部値Xiの初期値と、切替部31’より入力された内部値Xiとを比較して判別する。内部値Xiが変化した場合(S17:YES)、内部値Xiは最大値でなかったと判断されて、内部値Xiに設定値「0」が入力される(S18)。一方、内部値Xiが変化しなかった場合(S17:NO)、内部値Xiは最大値であったと判断されて、内部値Xiに設定値「1」が入力される(S19)。具体的には、設定値決定部35が判別に応じて設定値「0」または「1」を切替部31’に出力し、切替部31’が入力された設定値を、内部値Xiに設定する。
【0078】
ステップS20〜S24については、図3に示すフローチャートのステップS3〜S7と同様なので、説明を省略する。なお、構成台数探索処理は、上述したものに限定されない。
【0079】
次に、第2実施形態に係る構成台数探索処理を行ったシミュレーションについて説明する。
【0080】
図9は、当該シミュレーションの結果を示す図である。図9(a)は、図2(a)に示す各装置A1〜A8(内部構成を、第2実施形態に係る装置A’の内部構成(図7参照)としたもの)に対してシミュレーションを行った場合の、各装置A1〜A8の内部値Xiの時間変化を示している。縦軸は各内部値Xiの値を示しており、横軸は演算部11’での演算回数を示している。各装置A1〜A8において発生させた乱数を初期値として、シミュレーションを開始した。
【0081】
図9(a)に示すように、内部値Xiの初期値が最大値の0.92である装置A1は当該初期値を継続し、その他の装置A2〜A8の内部値Xiは最大値0.92に近づいている。そして、演算回数が100回のときに、各装置A1〜A8の設定値決定部35がそれぞれ設定値を決定し、装置A1の内部値Xiには「1」が設定され、装置A2〜A8の内部値Xiには「0」が設定されている。なお、今回のシミュレーションでは装置A1で発生させた乱数が最大値になったので、装置A1の内部値Xiに「1」が設定されることになったが、いずれの装置A1〜A8で発生させた乱数が最大値になるかによって、内部値Xiに「1」が設定されるのがいずれになるか変わってくる。その後、演算回数が増加するごとに各装置A1〜A8の内部値Xiは同じ値に近づいていき、演算回数が200回ぐらいでほぼ同じ値に収束している。収束値Xαは、0.125になっている。よって、構成台数n=1/Xα=1/0.125=8台と算出される。
【0082】
図9(b)は、8台の装置A1〜A8(内部構成を、第2実施形態に係る装置A’の内部構成(図7参照)としたもの)に対してシミュレーションを行った場合の、各装置A1〜A8の内部値Xiの時間変化を示している。各装置A1〜A8において発生させた乱数を初期値として、シミュレーションを開始した。
【0083】
図9(b)に示すように、内部値Xiの初期値が最大値の0.77である装置A6は当該初期値を継続し、装置A7,A8の内部値Xiは最大値0.77に近づいている。また、装置A1の内部値Xiは初期値0.28を継続し、装置A2〜A5の内部値Xiは0.28に近づいている。そして、演算回数が100回のときに、各装置A1〜A8の設定値決定部35がそれぞれ設定値を決定し、装置A1,A6の内部値Xiには「1」が設定され、装置A2〜A5、A7〜A8の内部値Xiには「0」が設定されている。その後、演算回数が増加するごとに各装置A1〜A5の内部値Xiは同じ値に近づいていき、演算回数が140回ぐらいでほぼ同じ値に収束している。収束値Xαは、0.2になっている。よって、構成台数n=1/Xα=1/0.2=5台と算出される。また、各装置A6〜A8の内部値Xiは同じ値に近づいていき、演算回数が160回ぐらいでほぼ同じ値に収束している。収束値Xαは、0.33になっている。よって、構成台数n=1/Xα=1/0.33≒3台と算出される。つまり、装置A1〜A5は構成台数5台のネットワークを構成し、装置A6〜A8は構成台数3台のネットワークを構成している状態であることが判る。
【0084】
次に、装置A’の作用効果について説明する。
【0085】
第2実施形態によると、切替部31’は、タイミング生成部32から初期値入力の指示が入力された場合、乱数を内部値Xiの初期値として設定する。そして、内部値生成部1は、演算部11’が最大合意部11bに切り替えられている状態で、生成した内部値Xiと通信部2が受信した内部値Xjとに基づく演算によって、内部値Xiを生成する。ネットワークを構成している各装置A’の内部値生成部1がこれを行うことで、すべての装置A’での内部値Xiが最大値に収束する。設定値決定部35は、内部値Xiの初期値が最大値である場合には設定値「1」を出力し、それ以外の場合には設定値「0」を出力する。これにより、ネットワークを構成している装置A’のうちのいずれか1つの装置A’において内部値Xiとして「1」が設定され、その他の装置A’において内部値Xiとして「0」が設定される。したがって、人の手によることなく、内部値Xiの初期値を自動的に設定することができる。また、その後の処理は第1実施形態に係る装置Aと同様なので、第2実施形態においても、第1実施形態と同様の効果を奏することができる。
【0086】
なお、第2実施形態においては、最大合意部11bが上記(6)式に基づく演算を行う場合について説明したが、これに限られない。最大値に収束させることができるのであれば、他の演算式を用いるようにしてもよい。例えば、最大合意部11bが下記(8)式に基づく演算を行うようにしてもよい。βijは、すべてのXj≦Xi(すなわちXiが最大値)の場合に「0」となり、それ以外の場合に「1」となる関数である。すなわち、演算部11’は、内部値生成部1が生成した内部値Xiが通信部2より入力されるすべての内部値Xj以上である場合に、演算結果uiとして「0」を出力し、それ以外の場合に、各内部値Xjから、内部値Xiをそれぞれ減算して減算結果をすべて加算した演算結果uiを出力する。この場合でも、内部値Xiを最大値に収束させることができる。
【数8】
【0087】
また、第2実施形態においては、内部値Xiの初期値が最大値であるか否かで、設定値を「1」とするか「0」とするかを決定しているが、これに限られない。例えば、内部値Xiの初期値が最小値であるか否かで、設定値を「1」とするか「0」とするかを決定するようにしてもよい。この場合、上記(6)式に基づく演算を行う最大合意部11bに代えて、下記(9)式に基づく演算を行う最小合意部(図示なし)を備えるようにすればよい。αij’は、Xj<Xiの場合に「1」、Xj≧Xiの場合に「0」となる関数である。すなわち、最小合意部は、通信部2より入力される各内部値Xjから、内部値生成部1が生成した内部値Xiをそれぞれ減算し、減算結果が負の値であるものだけをすべて加算した演算結果uiを乗算器12に出力する。当該実施例においては、最小合意部が本発明の「第2の演算手段」に相当する。この場合、内部値Xiを最小値に収束させることができる。
【数9】
【0088】
なお、最小合意部は、上記(9)式に基づく演算を行う場合に限定されない。最小値に収束させることができるのであれば、他の演算式を用いるようにしてもよい。例えば、最小合意部が下記(10)式に基づく演算を行うようにしてもよい。βij’は、すべてのXj≧Xi(すなわちXiが最小値)の場合に「0」となり、それ以外の場合に「1」となる関数である。すなわち、演算部11’は、内部値生成部1が生成した内部値Xiが通信部2より入力されるすべての内部値Xj以下である場合に、演算結果uiとして「0」を出力し、それ以外の場合に、各内部値Xjから、内部値Xiをそれぞれ減算して減算結果をすべて加算した演算結果uiを出力する。この場合でも、内部値Xiを最小値に収束させることができる。
【数10】
【0089】
本発明は、通信機能を備えて、ネットワークを構成する他の装置との間で通信を行うあらゆる装置において、適用することができる。例えば、電力システムを構成する各インバータ装置が内部位相を同期する場合や、各種タイミングを一致させたり、一致しないようにずらしたりする場合、電力システムを構成する各インバータ装置が内部補償値を一致させることで、出力有効電力や出力無効電力の抑制量を調整する場合、各計測装置が計測値に基づく内部平均値や最大値、最小値を一致させる場合などにも適用することができる。また、コンセンサス協調制御を行う装置以外の装置にも適用することができる。
【0090】
本発明に係る通信機能を備えた装置、当該装置を備えたシステムおよび台数探索方法は、上述した実施形態に限定されるものではない。本発明に係る通信機能を備えた装置、当該装置を備えたシステムおよび台数探索方法の各部の具体的な構成は、種々に設計変更自在である。
【符号の説明】
【0091】
A,A1〜A8,A’ 装置
1 内部値生成部(内部値生成手段)
11 演算部(演算手段)
11’ 演算部
11a 平均合意部(演算手段)
11b 最大合意部(第2の演算手段)
12 乗算器
13 積分器
2 通信部
3 台数探索部(内部値生成手段、台数探索手段)
31,31’ 切替部
32,32’ タイミング生成部
8 内部位相生成部
81 演算部
82 乗算器
83 加算器
84 積分器
9 タイミング出力部
33 収束検出部
34 台数算出部
35 設定値決定部
図1
図2
図3
図4
図5
図6
図7
図8
図9