(57)【特許請求の範囲】
【請求項１】
内部値を生成する内部値生成手段と、
少なくとも１つの他の装置と通信を行う通信手段と、
を備え、
前記内部値生成手段は、前記生成した内部値と、前記通信手段が前記他の装置の少なくとも１つより受信した内部値とに基づく演算結果を用いて、内部値を生成し、
前記通信手段は、
前記内部値生成手段が生成した内部値を、前記他の装置の少なくとも１つに送信し、
通信失敗による再送信依頼を受信した場合、当該再送信依頼を受信したときの前記内部値生成手段が生成した内部値を、受信を失敗した装置に送信する、
ことを特徴とする装置。
【請求項２】
前記内部値生成手段は、
前記生成した内部値と、前記受信した内部値とに基づく演算を行う演算手段と、
前記演算手段が出力する演算結果を積分して、内部値を算出する積分手段と、
を備えている、
請求項１に記載の装置。
【請求項３】
前記演算手段は、前記受信した内部値から前記生成した内部値をそれぞれ減算し、減算結果をすべて加算することで、演算結果を演算する、
請求項２に記載の装置。
【請求項４】
内部値を生成する内部値生成手段と、少なくとも１つの他の装置と通信を行う通信手段とを備える複数の装置が内部値を一致させる方法であって、
内部値生成手段が内部値を生成する第１の工程と、
前記第１の工程で生成した内部値を少なくとも１つの他の装置に送信する第２の工程と、
少なくとも１つの他の装置が送信した内部値を受信する第３の工程と、
を各装置で行わせるものであり、
前記第１の工程は、生成した内部値と、前記第３の工程で受信した内部値とに基づく演算結果を用いて、内部値を生成し、
前記通信手段は、通信失敗による再送信依頼を受信した場合、当該再送信依頼を受信したときの前記内部値生成手段が生成した内部値を、受信を失敗した装置に送信する、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を備え、他の装置との間で内部値を送受信することで当該内部値を一致させることができる装置、および、内部値を一致させる方法に関する。
【背景技術】
【０００２】
複数の装置の内部値を、これらの装置全体を管理する管理装置が一致させるのではなく、各装置同士が通信によって内部値を送受信することで一致させる方法が開発されている。当該方法は、各装置が内部値を少なくとも１つの他の装置に送受信して、生成した内部値と受信した内部値とに基づく演算結果を用いて内部値を生成するものである。この処理が各装置それぞれで行われることにより、各装置の内部値は同じ値に収束する。この方法を用いた例として、特許文献１にはインバータ装置の内部位相を同期することが記載され、特許文献２には各インバータ装置の補償値を一致させることで、出力有効電力の抑制量を調整することが記載され、特許文献３には各計測装置が計測値に基づく内部平均値を一致させることで、全体の平均値を算出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５‐０２７１５５号公報
【特許文献２】特開２０１５‐０８４６１２号公報
【特許文献３】特開２０１５‐１６６９０１号公報
【非特許文献】
【０００４】
【非特許文献１】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)
【非特許文献２】Mehran Mesbahi and Magnus Egerstedt, "Graph Theoretic Methods in Multiagent Networks", Princeton (2010)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、当該方法においては、通信を失敗した場合に、内部値の再送信が行われることで、内部値の収束に障害が発生することが確認されている。図４は、当該障害を説明するための図である。各装置は、それぞれ自装置のタイミングで送信を行う。そして、他の装置と演算タイミングを同期していない場合、各装置は、他の１つの装置から内部値を受信するたびに演算を行う。
【０００６】
図４（ａ）は、装置Ａ１から装置Ａ２への内部値Ｘ1の送信タイミングと、装置Ａ２から装置Ａ１への内部値Ｘ2の送信タイミングとが一致したことにより、装置Ａ１が送信した内部値Ｘ1を装置Ａ２が正しく受信できなかった状態を示している。送信タイミングを制御していない場合、まれに送信タイミングが一致してしまうことがある。この場合、装置Ａ２（またはルータ）が再送信を依頼する信号を装置Ａ１に送信する。図４（ｂ）は、装置Ａ３から装置Ａ２へ内部値Ｘ3が送信されて受信されたことを示している。この場合、装置Ａ２は、受信した内部値Ｘ3と自装置の内部値Ｘ2とに基づいて演算を行い、内部値Ｘ2を更新する。
【０００７】
図４（ｃ）は、再送信の依頼に応じて、装置Ａ１が装置Ａ２へ内部値Ｘ1を再送信して受信されたことを示している。この場合、装置Ａ２は、受信した内部値Ｘ1と自装置の内部値Ｘ2とに基づいて演算を行い、内部値Ｘ2を更新する。内部値Ｘ1は、本来、図４（ａ）のタイミングのときに受信されて、内部値Ｘ2の更新の演算に用いられるはずであった。しかし、先に受信した内部値Ｘ3に基づく演算で、内部値Ｘ2はすでに更新されている。図４では単純化のために３つの装置での送受信を説明しているが、実際にはより多くの装置との間で内部値の送受信が行われている。つまり、内部値Ｘ2は収束に向かって何度も更新されている。また、同様に、装置Ａ１の内部値Ｘ1も収束に向かって何度も更新されている。ここで古い情報である内部値Ｘ1に基づく演算で内部値Ｘ2を更新すると、収束に向かっていた内部値Ｘ2の値が、大きく外れた値に更新されてしまう。この場合、内部値Ｘ2が他の装置に送信されることにより、内部値Ｘ2を受信した装置の内部値も影響を受け、その影響はシステム全体に広がる。これにより、内部値の収束が乱され、収束に係る時間が増大する。
【０００８】
本発明は上述した事情のもとで考え出されたものであって、通信を失敗した場合であっても、内部値の収束に与える影響を抑制することができる装置を提供することをその目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明では、次の技術的手段を講じている。
【００１０】
本発明の第１の側面によって提供される装置は、内部値を生成する内部値生成手段と、少なくとも１つの他の装置と通信を行う通信手段とを備え、前記内部値生成手段は、前記生成した内部値と、前記通信手段が前記他の装置の少なくとも１つより受信した内部値とに基づく演算結果を用いて、内部値を生成し、前記通信手段は、前記内部値生成手段が生成した内部値を、前記他の装置の少なくとも１つに送信し、送信時に通信失敗が発生した場合、送信した内部値の再送信を行わないことを特徴とする。
【００１１】
本発明の好ましい実施の形態においては、前記通信手段は、通信失敗による再送信依頼を受信した場合、当該再送信依頼を受信したときの前記内部値生成手段が生成した内部値を、受信を失敗した装置に送信する。
【００１２】
本発明の好ましい実施の形態においては、前記通信手段は、前記他の装置からの受信を失敗した場合、当該他の装置に再送信依頼を送信しない。
【００１３】
本発明の好ましい実施の形態においては、前記内部値生成手段は、前記生成した内部値と、前記受信した内部値とに基づく演算を行う演算手段と、前記演算手段が出力する演算結果を積分して、内部値を算出する積分手段とを備えている。
【００１４】
本発明の好ましい実施の形態においては、前記演算手段は、前記受信した内部値から前記生成した内部値をそれぞれ減算し、減算結果をすべて加算することで、演算結果を演算する。
【００１５】
本発明の第２の側面によって提供される方法は、内部値を生成する内部値生成手段と、少なくとも１つの他の装置と通信を行う通信手段とを備える複数の装置が内部値を一致させる方法であって、内部値生成手段が内部値を生成する第１の工程と、前記第１の工程で生成した内部値を少なくとも１つの他の装置に送信する第２の工程と、少なくとも１つの他の装置が送信した内部値を受信する第３の工程とを各装置で行わせるものであり、前記第１の工程は、生成した内部値と、前記第３の工程で受信した内部値とに基づく演算結果を用いて、内部値を生成し、前記第２の工程で送信に失敗した場合に、送信した内部値の再送信を行わないことを特徴とする。
【発明の効果】
【００１６】
本発明によると、送信時に通信失敗が発生した場合でも、送信した内部値の再送信を行わないので、通信相手の装置が古い内部値を受信することで生じる、内部値の収束が乱されるという障害を回避できる。したがって、通信を失敗した場合であっても、内部値の収束に与える影響を抑制することができる。
【００１７】
本発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係る装置を説明するための図である。
【図２】第１実施形態に係る通信部が行う送受信処理を説明するためのフローチャートである。
【図３】第１実施形態に係る通信部が行う送受信処理の変形例を説明するためのフローチャートである。
【図４】通信を失敗した場合に、内部値の再送信が行われることで発生する障害を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を、図面を参照して具体的に説明する。
【００２０】
図１は、第１実施形態に係る装置を説明するための図である。図１（ａ）は、第１実施形態に係る装置Ａの内部構成を示すブロック図である。図１（ｂ）は、複数の装置Ａが近隣の装置Ａと通信を行っている状態を示している。
【００２１】
図１（ａ）に示すように、装置Ａは、内部値Ｘiを生成する内部値生成部１、および、他の装置Ａとの間で通信を行う通信部２を備えている。装置Ａは、内部値生成部１が生成した内部値Ｘiに基づいて制御を行ったり、内部値Ｘiを用いた演算を行ったりするものである。なお、実際には、装置Ａは、用途に応じて、内部値Ｘiを入力されて制御を行う制御手段や、演算を行う演算手段、内部値Ｘiを表示するための表示手段などを備えているが、本実施形態では、これらの手段の記載および説明を省略している。
【００２２】
通信部２は、他の装置Ａとの間で通信を行うものである。通信部２は、内部値生成部１が生成した内部値Ｘiを入力され、他の装置Ａの通信部２に送信する。また、通信部２は、他の装置Ａの通信部２から受信した内部値Ｘjを、内部値生成部１に出力する。なお、通信方法は限定されず、有線通信であってもよいし、無線通信であってもよい。
【００２３】
図１（ｂ）に示すように、装置Ａは他の装置Ａと通信を行っており、通信を行っている装置Ａ全体でネットワークを構成している。図１（ｂ）においては、５つの装置Ａ（Ａ１〜Ａ５）がネットワークを構成している状態を示している。なお、実際のネットワークにおいては、より多くの装置Ａで構成されているが、説明の簡略化のために極端に少ないケースを示している。
【００２４】
図１（ｂ）に示す実線矢印は、相互通信を行っていることを示している。装置Ａ１は装置Ａ２とのみ相互通信を行っており、装置Ａ２は装置Ａ１および装置Ａ３とのみ相互通信を行っている。また、装置Ａ３は装置Ａ２および装置Ａ４とのみ相互通信を行っており、装置Ａ４は装置Ａ３および装置Ａ５とのみ相互通信を行っており、装置Ａ５は装置Ａ４とのみ相互通信を行っている。このように、装置Ａの通信部２は、ネットワークを構成している装置Ａのうち、少なくとも１つの装置Ａ（例えば、近隣に位置するものや、通信が確立されたもの）の通信部２と通信を行っており、ネットワークを構成している任意の２つの装置Ａに対して通信経路が存在している状態（以下ではこの状態を「連結状態」と言う。）であればよく、ネットワークを構成しているすべての装置Ａの通信部２と通信を行う必要はない。
【００２５】
例えば、装置Ａが装置Ａ２の場合、通信部２は、内部値生成部１が生成した内部値Ｘ2を装置Ａ１およびＡ３の通信部２に送信し、装置Ａ１の通信部２から内部値Ｘ1を受信し、装置Ａ３の通信部２から内部値Ｘ3を受信する。
【００２６】
通信を失敗してデータを正しく受信できなかった場合、通常の通信手段（またはルータ）は、受信できなかったデータを再送信させるための再送信指令を送信元の通信手段に送信する。送信元の通信手段は、再送信指令を受信すると、データを再送信する。これにより、受信元の通信手段は、受信できなかったデータを受信することができる。しかし、本実施形態に係る通信部２は、再送信指令を受信した場合、通信失敗時の内部値Ｘiを再送信するのではなく、内部値生成部１から内部値Ｘiを再度取得して、最新の内部値Ｘiを送信する。
【００２７】
図２は、通信部２が行う送受信処理を説明するためのフローチャートである。当該送受信処理は、装置Ａが起動された時に、実行が開始される。
【００２８】
まず、所定タイミングになったか否かが判別される（Ｓ１）。通信部２は、図示しない内部クロックに基づいて計時を行っており、計時された時間が所定の時間になったか否かで所定タイミングであるか否かを判別する。本実施形態では、所定タイミングを例えば１秒毎としているが、これに限られない。所定タイミングになった場合（Ｓ１：ＹＥＳ）、内部値Ｘiが内部値生成部１より取得されて（Ｓ２）、他の装置Ａに送信され（Ｓ３）、ステップＳ１に戻る。
【００２９】
ステップＳ１において、所定タイミングになっていない場合（Ｓ１：ＮＯ）、内部値Ｘjが受信されたか否かが判別される（Ｓ４）。内部値Ｘjが受信された場合（Ｓ４：ＹＥＳ）、当該受信された内部値Ｘjが内部値生成部１に出力され（Ｓ５）、ステップＳ１に戻る。内部値生成部１は、入力された内部値Ｘjと、このときの内部値Ｘiとに基づいて演算を行って、新しい内部値Ｘiを生成する。
【００３０】
ステップＳ４において、内部値Ｘjが受信されていない場合（Ｓ４：ＮＯ）、再送信依頼が受信されたか否かが判別される（Ｓ６）。再送信依頼が受信された場合（Ｓ６：ＹＥＳ）、内部値Ｘiが内部値生成部１より取得されて（Ｓ７）、再送信依頼を送信した他の装置Ａに送信され（Ｓ８）、ステップＳ１に戻る。つまり、通信失敗時の内部値Ｘiではなく、最新の内部値Ｘiが送信される。
【００３１】
ステップＳ６において、再送信依頼が受信されていない場合（Ｓ６：ＮＯ）、受信を失敗したか否かが判別される（Ｓ９）。例えば、受信したデータの誤り検出符号が適切でない場合などに、受信を失敗したと判別される。受信を失敗した場合（Ｓ９：ＹＥＳ）、再送信依頼が送信元の装置Ａに送信されて（Ｓ１０）、ステップＳ１に戻る。受信を失敗していない場合（Ｓ９：ＮＯ）、ステップＳ１に戻り、ステップＳ１，Ｓ４，Ｓ６，Ｓ９の判別が繰り返される。なお、受信失敗時に、通信部２ではなくルータが再送信依頼を送信するようにしてもよい。この場合、ステップＳ９，Ｓ１０は行われない。なお、通信部２が行う送受信処理は、上述したものに限定されない。
【００３２】
図１に戻って、内部値生成部１は、例えばマイクロコンピュータなどによって実現されており、生成した内部値Ｘiと、通信部２より入力される、他の装置Ａの内部値Ｘjとを用いて、内部値Ｘiを生成する。内部値Ｘiと内部値Ｘjとが異なっていても、内部値生成部１での演算処理が繰り返されることで、内部値Ｘiと内部値Ｘjとが共通の内部位相に収束する。図１（ａ）に示すように、内部値生成部１は、演算部１１、乗算器１２および積分器１３を備えている。
【００３３】
演算部１１は、下記（１）式に基づく演算を行う。すなわち、演算部１１は、通信部２から入力される各内部値Ｘjから、内部値生成部１が生成した内部値Ｘiをそれぞれ減算し、減算結果をすべて加算した演算結果ｕiを乗算器１２に出力する。
【数１】
0006665391.tif 000002
【００３４】
例えば、装置Ａが装置Ａ２であり（図１（ｂ）参照）、装置Ａ１および装置Ａ３から同時に内部値Ｘjを受信した場合、演算部１１は、下記（２）式の演算を行い、演算結果ｕ2を出力する。
【数２】
0006665391.tif 000003
【００３５】
本実施形態では、各装置Ａの演算部１１での演算タイミングを同期しておらず、演算部１１は、いずれかの装置Ａから内部値Ｘjを受信する毎に、逐次演算を行う。例えば、装置Ａ２の演算部１１は、装置Ａ１から内部値Ｘ1を受信したときに、ｕ2＝Ｘ1−Ｘ2を演算し、装置Ａ３から内部値Ｘ3を受信したときに、ｕ2＝Ｘ3−Ｘ2を演算する。
【００３６】
乗算器１２は、演算部１１から入力される演算結果ｕiに所定の係数εを乗算して積分器１３に出力する。係数εは、０＜ε＜１／ｄmaxを満たす値であり、あらかじめ設定されている。ｄmaxは、通信部２に同時に入力される可能性のある内部値Ｘjの数の最大値である。なお、係数εは、積分器１３への入力が大きく（小さく）なりすぎて、内部値Ｘiの変動が大きくなりすぎることを抑制するために、演算結果ｕiに乗算されるものである。
【００３７】
積分器１３は、乗算器１２から入力される値を積分することで内部値Ｘiを生成して出力する。積分器１３は、前回生成した内部値Ｘiに乗算器１２から入力される値を加算することで内部値Ｘiを生成する。内部値Ｘiは、通信部２および演算部１１に出力される。
【００３８】
本実施形態において、内部値生成部１は、生成した内部値Ｘiと、通信部２より入力される、他の装置Ａの内部値Ｘjとを用いて、内部値Ｘiを生成する。内部値Ｘiが内部値Ｘjより大きい場合、演算部１１が出力する演算結果ｕiは負の値になる。そうすると、積分器１３には負の値が加算されることで、内部値Ｘiは小さくなる。一方、内部値Ｘiが内部値Ｘjより小さい場合、演算部１１が出力する演算結果ｕiは正の値になる。そうすると、積分器１３には正の値が加算されることで、内部値Ｘiは大きくなる。つまり、内部値Ｘiは内部値Ｘjに近づいていく。この処理が各装置Ａそれぞれで行われることにより、各装置Ａの内部値Ｘiは同じ値に収束する。内部値Ｘiが同じ値Ｘαに収束することは、数学的にも証明されている（非特許文献１，２参照）。また、各装置Ａの演算部１１での演算タイミングを同期している場合は、収束値Ｘαが、下記（３）式に示すように、各装置Ａの内部値Ｘiの初期値の相加平均値になることも証明されている。ｎはネットワークを構成している装置Ａの数であり、下記（３）式は、装置Ａ１〜Ａｎの内部値Ｘ1〜Ｘnの初期値をすべて加算してｎで除算した相加平均値を算出することを示している。ただし、本実施形態では当該タイミングを同期していないので、収束値Ｘαは相加平均値に収束するとは限らない。しかし、同じ値に収束するので、収束値Ｘαが相加平均値でないことは、問題にならない。
【数３】
0006665391.tif 000004
【００３９】
次に、装置Ａの作用について説明する。
【００４０】
本実施形態によると、通信部２は、通信失敗により再送信指令を受信した場合、通信失敗時の内部値Ｘiを再送信するのではなく、内部値生成部１から内部値Ｘiを再度取得して、最新の内部値Ｘiを送信する。したがって、送信先の装置Ａは、収束に向かって何度も更新された後の最新の内部値Ｘiを内部値Ｘjとして受信することができる。これにより、通信失敗時の内部値Ｘiが再送信されて内部値Ｘjとして受信する場合よりも、内部値の収束に与える影響を抑制することができる。
【００４１】
また、本実施形態によると、内部値生成部１は、演算部１１での演算と、積分器１３での積分によって、内部値Ｘiを内部値Ｘjに近づけるように更新することができる。
【００４２】
なお、上記第１実施形態においては、演算部１１が上記（１）式に基づく演算を行う場合について説明したが、これに限られない。
【００４３】
例えば、演算部１１に設定する演算式を下記（４）式としてもよい。この場合、収束値Ｘαは上記（１）式を用いた場合と異なるが、内部値Ｘiは同じ値に収束する。ｄiは、通信部２に入力される内部値Ｘjの数である。
【数４】
0006665391.tif 000005
【００４４】
また、演算部１１に設定する演算式を下記（５）、（６）、（７）式としてもよい。これらの場合も、収束値Ｘαは上記（１）式を用いた場合と異なるが、内部値Ｘiは同じ値に収束する。
【数５】
0006665391.tif 000006
【００４５】
上記第１実施形態においては、各装置Ａの演算部１１での演算タイミングを同期していない場合について説明したが、これに限られない。各装置Ａの演算部１１での演算タイミングを同期していてもよい。この場合、演算部１１は、通信部２が受信した各内部値Ｘjに基づいて、所定のタイミングで上記（１）式の演算を行う。各装置Ａの通信部２が内部値Ｘiを出力するタイミングを少しずつずらすようにしていれば、通信の失敗は発生しにくい。また、通信の失敗が発生した場合でも、通信を失敗した装置Ａが、演算部１１での演算のタイミングが来るまでに再送信を行った場合は、内部値Ｘiは更新されておらず、送信先での演算のタイミングに間に合うので、内部値の収束が乱されることはない。通信を失敗した装置Ａが、演算部１１での演算のタイミングが来た後に再送信を行った場合でも、更新された後の内部値Ｘiが送信されるので、内部値の収束に与える影響を抑制することができる。
【００４６】
上記第１実施形態においては、通信部２が最新の内部値Ｘiを送信する場合について説明したが、これに限られない。例えば、送信に失敗した場合は、次の送信タイミングまでなにも送信しないようにしてもよい。
【００４７】
図３は、通信部２が行う送受信処理の変形例を説明するためのフローチャートである。当該送受信処理は、装置Ａが起動された時に、実行が開始される。
【００４８】
まず、所定タイミングになったか否かが判別される（Ｓ１）。所定タイミングになった場合（Ｓ１：ＹＥＳ）、内部値Ｘiが内部値生成部１より取得されて（Ｓ２）、他の装置Ａに送信され（Ｓ３）、ステップＳ１に戻る。ステップＳ１において、所定タイミングになっていない場合（Ｓ１：ＮＯ）、内部値Ｘjが受信されたか否かが判別される（Ｓ４）。内部値Ｘjが受信された場合（Ｓ４：ＹＥＳ）、当該受信された内部値Ｘjが内部値生成部１に出力され（Ｓ５）、ステップＳ１に戻る。ステップＳ４において、内部値Ｘjが受信されていない場合（Ｓ４：ＮＯ）、ステップＳ１に戻り、ステップＳ１，Ｓ４の判別が繰り返される。つまり、本変形例の送受信処理は、受信を失敗しても再送信依頼の送信を行わないし、再送信依頼が受信されたとしても再送信の処理を行わない。なお、通信部２が行う送受信処理は、上述したものに限定されない。
【００４９】
本変形例においては、通信を失敗した場合でも対応する処理を行わないので、通信失敗時の内部値Ｘiが再送信されない。したがって、内部値の収束が大きく乱されることはない。通信を失敗した場合、当該通信による内部値Ｘiの更新は行われないが、次の通信タイミングで最新の内部値Ｘjを受信して内部値Ｘiの更新が行われるので、内部値Ｘiの収束が大きく乱されることはない。つまり、通信失敗時の内部値Ｘiが再送信される場合よりも、内部値Ｘiの収束に与える影響を抑制することができる。
【００５０】
本発明は、通信機能を備えて、ネットワークを構成する他の装置との間で内部値を送受信することで内部値を一致させるあらゆる装置において、適用することができる。例えば、電力システムを構成する各インバータ装置の内部位相を同期する場合や、各種タイミングを一致させたり、一致しないようにずらしたりする場合、電力システムを構成する各インバータ装置の内部補償値を一致させることで、出力有効電力や出力無効電力の抑制量を調整する場合、各計測装置が計測値に基づく内部平均値や最大値、最小値を一致させる場合などにも適用することができる。
【００５１】
本発明に係る通信機能を備えた装置は、上述した実施形態に限定されるものではない。本発明に係る通信機能を備えた装置の各部の具体的な構成は、種々に設計変更自在である。
【符号の説明】
【００５２】
Ａ，Ａ１〜Ａ５  装置
１  内部値生成部
１１  演算部
１２  乗算器
１３  積分器
２  通信部
【図１】
0006665391.tif 000007
【図２】
0006665391.tif 000008
【図３】
0006665391.tif 000009
【図４】
0006665391.tif 000010