IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社豊田中央研究所の特許一覧

特許7173059分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム
<>
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図1
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図2
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図3
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図4
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図5
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図6
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図7
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図8
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図9
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図10
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図11
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図12
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図13
  • 特許-分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】分散制御システム、分散制御システムの制御方法、およびコンピュータプログラム
(51)【国際特許分類】
   G05B 11/00 20060101AFI20221109BHJP
   B64C 13/16 20060101ALI20221109BHJP
   G08G 5/00 20060101ALN20221109BHJP
【FI】
G05B11/00 Z
B64C13/16 Z
G08G5/00 A
【請求項の数】 16
(21)【出願番号】P 2020004995
(22)【出願日】2020-01-16
(65)【公開番号】P2021114014
(43)【公開日】2021-08-05
【審査請求日】2021-04-05
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(74)【代理人】
【識別番号】100160691
【弁理士】
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100157277
【弁理士】
【氏名又は名称】板倉 幸恵
(74)【代理人】
【識別番号】100182718
【弁理士】
【氏名又は名称】木崎 誠司
(72)【発明者】
【氏名】天野 也寸志
(72)【発明者】
【氏名】丹羽 貴寛
(72)【発明者】
【氏名】神保 智彦
【審査官】黒田 暁子
(56)【参考文献】
【文献】特開2019-025625(JP,A)
【文献】特開2018-194937(JP,A)
【文献】特開平03-121505(JP,A)
【文献】米国特許出願公開第2018/0188724(US,A1)
【文献】中国特許出願公開第104808668(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00
B64C 13/16
G08G 5/00
(57)【特許請求の範囲】
【請求項1】
任意の制御対象に対する共通の目的達成を図る分散制御システムであって、
協働して前記目的達成を図るための動作を行う複数の被制御装置にそれぞれ搭載される複数のエージェントであって、前記複数の被制御装置の動きをそれぞれ制御する複数のエージェントと、
前記制御対象の情報を取得する中央制御部であって
前記制御対象の観測値に関する情報および前記目的達成のための前記制御対象の状態の目標値である第1情報、または、前記観測値に関する情報と前記目標値とのそれぞれに関連する情報である第2情報前記複数のエージェントに一律に送信する中央制御部と、
を備え、
前記エージェントは、他の前記エージェントとの間で、他の前記被制御装置の動きの制御に関する情報を交換することなく、前記中央制御部から取得した前記第1情報または前記第2情報を用いて、前記被制御装置の動きを制御することにより前記制御対象の状態を前記目標値に追従させる、分散制御システム。
【請求項2】
請求項1に記載の分散制御システムであって、
前記中央制御部または前記エージェントは、前記第2情報として、前記観測値と前記目標値との誤差を算出する誤差算出部を有し、
前記複数のエージェントのそれぞれは、前記第2情報としての前記誤差を用いて、現時点での前記被制御装置の出力を算出する、分散制御システム。
【請求項3】
請求項2に記載の分散制御システムであって、
前記中央制御部または前記エージェントは、前記観測値に関する情報を用いて、現時点から所定時間経過後の前記制御対象の状態を予測する状態予測部を有し、
前記誤差算出部は、前記第2情報として、前記状態予測部により予測された前記所定時間経過後の前記制御対象の状態と、前記目標値との予測誤差を算出する、分散制御システム。
【請求項4】
請求項に記載の分散制御システムであって、
前記目的は前記制御対象としての物体を目的地まで移動させることであり
前記目標値は、前記目的地における前記制御対象の位置および姿勢であり、
前記観測値は、現時点での前記制御対象の位置および姿勢である、分散制御システム。
【請求項5】
請求項4に記載の分散制御システムであって、
前記中央制御部は、
前記複数の被制御装置の出力に応じて変化する前記物体の位置および姿勢の変化量を検出するセンサと、
検出された前記変化量から前記制御対象の位置および姿勢の前記観測値を算出し、算出された前記観測値と前記目標値との差である前記第2情報としての前記誤差を算出する前記誤差算出部と、
前記誤差を前記複数のエージェントに送信する通信部と、
を有し、
前記エージェントは、
前記誤差を受信する受信部と、
受信された前記誤差を用いて、現時点での前記被制御装置の出力を算出するエージェント側制御部と、
を有する、分散制御システム。
【請求項6】
請求項に記載の分散制御システムであって、
前記誤差算出部は、前記誤差を、複数の所定軸により構成される座標軸における各前記所定軸に沿うように分解された成分を算出し、
前記通信部は、前記誤差算出部により算出された前記成分を前記エージェントに送信し、
前記エージェント側制御部は、
各前記成分に応じて正または負に決定される作用係数と、各前記成分と、各前記成分に応じて設定された重みとを乗じた値の合計である統合誤差を算出する誤差統合部と、
算出された前記統合誤差を用いて、前記被制御装置の動きを制御する装置制御部と、を有
前記統合誤差の算出の際に乗じられる前記成分が、前記被制御装置の出力を増やしたときに減る場合には、前記成分に乗じられる前記作用係数を正に設定し、前記被制御装置の出力を増やしたときに増える場合には、前記成分に乗じられる前記作用係数を負に設定する、分散制御システム。
【請求項7】
請求項5に記載の分散制御システムであって、
前記誤差算出部は、前記誤差を、複数の所定軸により構成される座標軸における各前記所定軸に沿うように分解された成分を算出し、
前記通信部は、前記誤差算出部により算出された各前記成分を前記エージェントに送信し、
前記エージェント側制御部は、
前記所定軸に沿うように分解された各前記成分の絶対値と、前記成分ごとに設定された重みとの積が大きい順に優先順位を付し、前記優先順位が大きい有限個の前記成分と、前記成分ごとに設定された作用係数との積を用いた値の合計である統合誤差を算出する誤差統合部と、
算出された前記統合誤差を用いて前記被制御装置の動きを制御する装置制御部と、
を有する、分散制御システム。
【請求項8】
請求項5に記載の分散制御システムであって、
前記誤差算出部は、前記誤差を、複数の所定軸により構成される座標軸における各前記所定軸に沿うように分解された成分を算出し、
前記通信部は、前記誤差算出部により算出された各前記成分を前記エージェントに送信し、
前記エージェント側制御部は、
前記所定軸に沿うように分解された前記成分のそれぞれの内、前記成分ごとに個別に設定された閾値以上である前記成分を用いて算出されるそれぞれの合計である統合誤差を算出する誤差統合部と、
算出された前記統合誤差を用いて前記被制御装置の動きを制御する装置制御部と、
を有する、分散制御システム。
【請求項9】
請求項6から請求項8までのいずれか一項に記載の分散制御システムであって、
前記エージェント側制御部は、
前記統合誤差が正の場合には、前記統合誤差の大きさにかかわらず、予め設定された定数を前記被制御装置への出力とし、
前記統合誤差が零以下の場合には、前記統合誤差の大きさにかかわらず、前記被制御装置への出力をゼロとする、分散制御システム。
【請求項10】
請求項6から請求項8までのいずれか一項に記載の分散制御システムであって、
前記エージェント側制御部は、
前記統合誤差が正の場合には、前記統合誤差の大きさにかかわらず、予め設定された定数を前記被制御装置への出力とし、
前記統合誤差が零以下であり、かつ、前記統合誤差が零よりも小さい所定値以上の場合に、前記統合誤差の大きさにかかわらず、前記被制御装置への出力をゼロとし、
前記統合誤差前記所定値未満の場合に、予め設定された負の定数を前記被制御装置への出力とする、分散制御システム。
【請求項11】
請求項から請求項10までのいずれか一項に記載の分散制御システムであって、
前記エージェント側制御部
記誤差統合部で求められた前記統合誤差に動的な処理を加える動的誤差調整部と、
前記動的誤差調整部によって位相やゲインを調整した動的調整誤差を用いて前記被制御装置の出力を制御する装置制御部と、
を有する、分散制御システム。
【請求項12】
請求項に記載の分散制御システムであって
記中央制御部は、前記複数の被制御装置の出力に応じて変化する前記物体の位置および姿勢の変化量を、取得すると共に前記複数のエージェントに送信し、
前記エージェントは、前記誤差を算出し、算出された前記誤差を用いて現時点での前記被制御装置の出力算出する、分散制御システム。
【請求項13】
請求項から請求項12までのいずれか一項に記載の分散制御システムであって、
前記中央制御部または前記エージェントは、前記複数の被制御装置の出力に応じて変化する前記物体の位置および姿勢の変化量を、前記制御対象を前記目的地まで移動させる制御の前に予め取得しておく、分散制御システム。
【請求項14】
請求項2に記載の分散制御システムであって、
前記目的は、前記制御対象としての電力を、電力源から電力供給先に供給することであり、
前記目標値は、前記電力供給先へと供給する供給目標である要求電力であり、
前記観測値は、現時点で前記電力供給先へと供給されている電力であり、
前記誤差算出部は、前記第2情報としての前記誤差として、前記要求電力と、現時点で前記電力供給先へと供給されている電力との電力誤差を算出し、
前記複数のエージェントのそれぞれは、制御する前記被制御装置である電力変換装置の動きとして、算出された前記電力誤差に応じて、前記電力源から前記電力供給先へと供給される電力を調整し、前記要求電力を達成する、分散制御システム。
【請求項15】
任意の制御対象に対する共通の目的達成を図る分散制御システムの制御方法であって、
前記目的達成のための前記制御対象の情報を取得する情報取得工程と、
協働して前記目的達成を図るための動作を行う複数の被制御装置にそれぞれ搭載されると共に前記複数の被制御装置の動きをそれぞれ制御する複数のエージェントへと前記制御対象の観測値に関する情報および前記目的達成のための前記制御対象の状態の目標値である第1情報、または、前記観測値に関する情報と前記目標値とのそれぞれに関連する情報である第2情報、一律に送信する情報送信工程と、
各前記エージェント間で他の前記被制御装置の動きの制御に関する情報を交換することなく、送信された前記第1情報または前記第2情報情報を用いて、前記被制御装置の動きを制御することにより前記制御対象の状態を前記目標値に追従させる制御工程と
を備える、制御方法。
【請求項16】
任意の制御対象に対する共通の目的達成を図るコンピュータプログラムであって、
前記目的達成のための前記制御対象の情報を取得する機能と、
協働して前記目的達成を図るための動作を行う複数の被制御装置にそれぞれ搭載されると共に前記複数の被制御装置の動きをそれぞれ制御する複数のエージェントへと前記制御対象の観測値に関する情報および前記目的達成のための前記制御対象の状態の目標値である第1情報、または、前記観測値に関する情報と前記目標値とのそれぞれに関連する情報である第2情報、一律に送信する機能と、
各前記エージェント間で他の前記被制御装置の動きの制御に関する情報を交換することなく、送信された前記第1情報または前記第2情報を用いて、前記被制御装置の動きを制御することにより前記制御対象の状態を前記目標値に追従させる機能と、
をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散制御システム、分散制御システムの制御方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
複数のロボットによって制御対象を搬送するシステムが知られている(例えば、特許文献1参照)。特許文献1には、各種のモデルを使って制御対象に加わる外力の推定および制御対象に対する制御量が算出される協調搬送ロボットシステムが開示されている。特許文献2には、位置および姿勢を制御するための推力を発生する推力発生手段を備えた飛翔体が開示されている。非特許文献1には、複数のロボットによって制御対象を搬送するシステムが開示されている。このシステムは、制御対象の速度がモデル化され、制御対象の特性と、複数のロボットが制御対象を把持する位置とが不明な状態で、推定された各種パラメータを用いて制御対象が制御される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-99524号公報
【文献】特開2009-248808号公報
【非特許文献】
【0004】
【文献】Preston Culbertson, Mac Schwager, "Decentralized Adaptive Control for Collaborative Manipulation", IEEE International Conference on Robotics and Automation (ICRA), 21-25 May 2018
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載された技術では、各種のモデルが用いられて外力の推定および制御量が定まる。そのため、用いられたモデルのパラメータと、実際のパラメータとが異なると、制御に大きな影響が出るおそれがある。また、特許文献2に記載された技術では、集中制御が行われているため、外乱などの全ての情報が取り込まれた後に、各推力発生手段の制御量が決定される。そのため、各種の状況判定と、判定結果に応じて制御則を調整する機能とが不可欠になり、システムの計算負荷およびセンサ数が増加してしまう。また、状況判定の方法および制御則の調整方法は予めどのようなことが起こるか分かっていないと設定できないため、各種の特性や環境変化に対するロバスト性の面で課題がある。非特許文献1に記載された技術では、推定されたパラメータが実際のパラメータに近くなるためには、モデル化した制御対象と実際の制御対象の構造とが酷似し、かつ、未知のパラメータの変動が小さい場合である。そのため、ごく単純な場合や限定された条件以外では、非特許文献1の技術を用いて制御対象を制御することは難しい。また、可調整パラメータのゲインの値の設定によっては、適切な値への収束に時間を要したり、発散してしまう。そのため、非特許文献1に記載された技術を用いて、各種の条件下で制御系を確実に動作させることは難しい。
【0006】
本発明は、上述した課題を解決するためになされたものであり、制御対象および制御対象を制御する制御装置に関する詳細な情報がない状態でも、制御対象を安定的に制御することを目的とする。任意の制御対象に対する共通の目的達成を図る分散制御システムであって、協働して前記目的達成を図るための動作を行う複数の被制御装置にそれぞれ搭載される複数のエージェントであって、前記複数の被制御装置の動きをそれぞれ制御する複数のエージェントと、前記制御対象の情報を取得する中央制御部であって、前記制御対象の観測値に関する情報および前記目的達成のための前記制御対象の状態の目標値である第1情報、または、前記観測値に関する情報と前記目標値とのそれぞれに関連する情報である第2情報を、前記複数のエージェントに一律に送信する中央制御部と、を備え、前記エージェントは、他の前記エージェントとの間で、他の前記被制御装置の動きの制御に関する情報を交換することなく、前記中央制御部から取得した前記第1情報または前記第2情報を用いて、前記被制御装置の動きを制御することにより前記制御対象の状態を前記目標値に追従させる、分散制御システム。そのほか、本発明は、以下の形態としても実現可能である。
【課題を解決するための手段】
【0007】
本発明は、上述の課題を解決するためになされたものであり、以下の形態として実現できる。
【0008】
(1)本発明の一形態によれば、分散制御システムが提供される。この分散制御システムは、協働して共通の目的達成を図るための動作を行う複数の被制御装置にそれぞれ搭載される複数のエージェントであって、前記複数の被制御装置の動きをそれぞれ制御する複数のエージェントと、前記目的達成のための観測値に関する情報を取得し、前記観測値に関する情報を前記複数のエージェントに送信する中央制御部と、を備え、前記エージェントは、他の前記エージェントと動きの制御に関する情報を交換することなく、前記中央制御部から取得した前記観測値に関する情報を用いて、前記目的達成のための動作をさせるように前記被制御装置の動きを制御する。
【0009】
この構成によれば、複数のエージェントは、中央制御部から送信された観測値に関する情報を用いて、それぞれが搭載された被制御装置の動きを制御する。各エージェントは、互いが制御する被制御装置の動きの情報を交換せずに、協働して共通の目的達成のための動作を被制御装置に行わせる。すなわち、エージェントは、自身が制御する被制御装置に、他のエージェントが制御する被制御装置の動きに応じて受ける影響を観測値を用いて間接的に考慮し、また、自身の制御が目標に与える影響を簡易的な出力特性としてモデル化する。この結果、エージェントは、他の被制御装置の位置などの情報が正確に把握できなくても、被制御装置を制御できる。すなわち、本構成によれば、制御対象の物体を安定的に制御できる。また、複数の被制御装置は、搭載する各エージェントによって独立に制御されている。そのため、ある被制御装置の特性や中央制御部自体の特性が変化しても、他の被制御装置の制御によって共通の目的が達成される。これにより、複数の内のある被制御装置を交換しても、交換後の被制御装置を、他の被制御装置に合わせて設定し直す必要もない。
【0010】
(2)上記態様の分散制御システムにおいて、前記目的には、物体を移動させることを含み、前記中央制御部は、前記複数の被制御装置が前記物体にそれぞれ力を加えた際の、前記物体の状態の変化量から、目標に対する誤差(もしくは指令値)を算出すると共に、前記誤差を前記複数のエージェントに送信し、前記エージェントは、前記誤差を用いて指令値を算出して前記被制御装置の動きを制御してもよい。
この構成によれば、誤差(もしくは指令値)が中央制御部で算出されることにより、各エージェントで共通して行われる演算処理が中央制御部で行われているため、各エージェントが各指令値を算出する場合と比較して、分散制御システム全体の負荷を低減できる。
【0011】
(3)上記態様の分散制御システムにおいて、前記中央制御部は、前記複数の被制御装置が前記物体にそれぞれ力を加えた際の前記物体の状態の変化量を検出するセンサと、前記目的と、前記センサにより検出された前記物体の状態の変化量との差分から、複数の座標軸に分解された差分を含む前記指令値を算出する誤差算出部と、前記誤差算出部により算出された前記指令値を前記エージェントに送信する通信部と、を有し、前記エージェントは、前記指令値を受信する受信部と、前記指令値に含まれる、前記所定軸に分解された差分の正負を用い、かつ、前記所定軸に沿う分解された差分の大きさを用いずに、前記被制御装置の動きを制御するエージェント側制御部と、を有してもよい。
この構成によれば、エージェント側制御部は、受信部を介して取得した物体の状態の変化量を、所定軸を含む1つ以上の軸に差分に分解する。エージェント側制御部は、所定軸に分解された差分について、差分の大きさを用いずに、差分の正負のみを用いて被制御装置の動きを制御する。すなわち、エージェント側制御部は、単に所定軸に分解された差分における正負のみの判定結果を用いて、被制御装置への出力を決定する。これにより、エージェント側制御部は、差分の大きさに応じて変化する異なる出力を計算しなくても済む。そのため、演算負荷が抑制され、被制御装置が簡単に制御される。
【0012】
(4)上記態様の分散制御システムにおいて、前記エージェント側制御部は、前記所定軸に分解された差分が正の場合には、前記所定軸に分解された差分の大きさにかかわらず、予め設定された定数を前記被制御装置への出力とし、前記所定軸に分解された差分が零以下の場合には、前記所定軸に分解された差分の大きさにかかわらず、前記被制御装置への出力をゼロとしてもよい。
この構成によれば、エージェント側制御部は、所定軸に分解された差分が零以下の場合に、被制御装置への出力を一律でゼロとする。そのため、被制御装置の制御がさらに簡単になる。
【0013】
(5)上記態様の分散制御システムにおいて、前記エージェント側制御部は、前記所定軸に分解された差分が零以下であり、かつ、前記所定軸に分解された差分の大きさが所定値未満の場合に、予め設定された負の定数を前記被制御装置への出力としてもよい。
この構成によれば、エージェント側制御部は、所定軸に分解された差分が所定値以上の大きさの負の値であった場合に、被制御装置の出力を負の定数とする。そのため、所定軸に分解された差分が零以下の場合に、エージェント側制御部は、絶対値の大きさで出力を2通りに切り替えることにより、1通りに切り替える場合と比較して、被制御装置および物体に対しての制御の精度や応答性を向上させることができる。
【0014】
(6)上記態様の分散制御システムにおいて、前記エージェントは、分解された差分の絶対値が大きい順に優先順位を付し、前記優先順位が大きい有限個の分解された差分を用いた値の合計である統合誤差を算出する誤差統合部と、算出された統合誤差を用いて前記被制御装置の動きを制御する装置制御部とを有してもよい。
この構成によれば、優先順位が大きい順の有限個の分解された差分のみが、被制御装置への出力に利用される差分として用いられる。すなわち、出力への影響が小さい差分は、被制御装置の出力として計算対象に含まれない。これにより、演算負荷を軽減した上で、優先順位の低い差分の被制御装置の出力への影響を抑制できる。
【0015】
(7)上記態様の分散制御システムにおいて、前記エージェントは、分解された差分のそれぞれに、分解された差分ごとに個別に設定された重み付けを乗じた値を用いて算出されるそれぞれの値の合計である統合誤差を算出する誤差統合部と、算出された統合誤差を用いて前記被制御装置の動きを制御する装置制御部と、を有してもよい。
この構成によれば、分解された差分に、分解された差分ごとに設定された重み付けを乗じた各値が算出される。重み付けを変化させることにより、目的に対する影響が大きい被制御装置のパラメータを、統合誤差に及ぼす影響が大きくなるように調整できる。これにより、重要度の高い差分に対する制御性能を向上できる。
【0016】
(8)上記態様の分散制御システムにおいて、前記エージェントは、分解された差分のそれぞれの内、分解された差分ごとに個別に設定された閾値以上である差分を用いて算出されるそれぞれの合計である統合誤差を算出する誤差統合部と、算出された統合誤差を用いて前記被制御装置の動きを制御する装置制御部と、を有してもよい。
この構成によれば、分解された差分が予め差分ごとに設定された閾値以上の場合に、統合誤差の計算対象に含まれる。そのため、閾値を変化させることにより、目的に対する影響が大きい差分を統合誤差に含ませて、一方で、影響が小さい差分を統合誤差に含ませないことができる。これにより、被制御装置の出力への影響を抑制した上で、本構成のシステムへの演算負荷を軽減できる。
【0017】
(9)上記態様の分散制御システムにおいて、前記エージェントは、分解された差分に重みや順位付けを行った統合誤差を算出する誤差統合部と、前記誤差統合部で求められた統合誤差に動的な処理を加える動的誤差調整部と、前記動的誤差調整部によって位相やゲインを調整した動的調整誤差を用いて前記被制御装置の動きを制御する装置制御部と、を有していてもよい。
各被制御装置は、目的に対する変化量として間接的に統合誤差に含まれる他の被制御装置の状態の変化に影響される。この構成によれば、統合誤差の算出に用いられる分解された差分は、そのままの値ではなく、動的な処理を加えられたものである。そのため、エージェント及びエージェント間への誤差の影響を動的に変えることが可能になり、応答性の違いへの対応やエージェント毎に動作を変えるなどの、対象や環境の変化に対する適応性の高い制御系を構成できる。
【0018】
(10)上記態様の分散制御システムにおいて、前記目的には、物体を移動させることを含み、前記中央制御部は、前記複数の被制御装置が前記物体にそれぞれ力を加えた際の、前記物体の状態の変化量を、前記観測値に関する情報として取得すると共に、前記複数のエージェントに送信し、前記エージェントは、前記物体の状態の変化量を用いて前記被制御装置の動きを制御してもよい。
観測値に関する情報として物体の状態の変化量が用いられることにより、この構成を用いて、物体を目的の場所まで移動させることができる。
【0019】
(11)上記態様の分散制御システムにおいて、前記中央制御部または前記エージェントは、前記複数の被制御装置が前記物体にそれぞれ力を加えた際の前記物体の状態の変化量を、前記目的達成のための制御の前に予め取得しておいてもよい。
この構成によれば、予め取得されて紐付けられた被制御装置の制御と、物体の状態の変化量を用いることにより、目的達成の精度を向上させることができる。
【0020】
なお、本発明は、種々の態様で実現することが可能であり、例えば、制御装置、分散制御システム、およびこれらを備える装置およびシステム、および制御方法、およびこれらシステムや方法を実行するためのコンピュータプログラム、このコンピュータプログラムを配布するためのサーバ装置、コンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0021】
図1】本発明の実施形態としての分散制御システムの概略斜視図である。
図2】中央制御装置および1つの被制御装置の概略ブロック図である。
図3】分散制御システムの制御方法を示すフローチャートである。
図4】物体の位置変化の時間推移を表すグラフである。
図5】物体の姿勢変化の時間推移を表すグラフである。
図6図4に示される期間における各出力の時間推移である。
図7図4に示される期間における各出力の時間推移である。
図8】第1実施形態の第3変形例における中央制御装置および1つの被制御装置の概略ブロック図である。
図9】第1実施形態の第3変形例における出力の算出方法のフローチャートである。
図10】第1実施形態の第3変形例における追従性能の説明図である。
図11】比較例における追従性能の説明図である。
図12】第1実施形態の第4変形例における中央制御装置および1つの被制御装置の概略ブロック図である。
図13】第2実施形態の分散制御システムの概略ブロック図である。
図14】第2実施形態の分散制御システムの制御方法のフローチャートである。
【発明を実施するための形態】
【0022】
<第1実施形態>
図1は、本発明の実施形態としての分散制御システム100の概略斜視図である。第1実施形態の分散制御システム100は、搬送対象である物体OBを目的地まで飛行させて搬送する搬送システムである。図1に示されるように、分散制御システム100は、物体OBに取り付けられた中央制御装置(中央制御部)50と、中央制御装置50から送信される情報を用いて制御される4つの被制御装置10~40とを備えている。なお、図1では、4つの被制御装置10~40および中央制御装置50は、簡略化して表現されている。
【0023】
4つの被制御装置10~40は、同じ構成および形状を有する。各被制御装置10~40は、物体OBを目標に移動させることが可能な位置に固定されており、その位置は未知である。なお、図1には、X軸、Y軸、およびZ軸で構成される絶対座標ACと、x軸、y軸、およびz軸で構成される中央制御装置50に設定された相対座標RCとが示されている。絶対座標ACにおけるZ軸と、相対座標RCにおけるz軸とは、互いに重力方向に平行な軸である。本実施形態では、x軸回りの角度がφ、y軸回りの角度がθ、z軸回りの角度がΨとして定義されている。
【0024】
図2は、中央制御装置50および1つの被制御装置10の概略ブロック図である。図2に示されるように、中央制御装置50は、観測値に関する情報を取得するセンサ51と、中央制御装置50を制御する第1制御部52と、第1制御部52およびセンサ51のバッテリ57とを備えている。センサ51は、加速度センサおよびジャイロセンサである。中央制御装置50は物体OBに固定されているため、センサ51は、相対座標RCにおける物体OBの位置(座標値)および姿勢(各角度φ、θ、Ψ)を検出する。なお、以降では、検出された物体OBの位置および姿勢を物体OBの状態量とも呼ぶ。
【0025】
図2に示されるように、第1制御部52は、CPU(Central Processing Unit)53と、ROM(Read Only Memory)55と、RAM(Random Access Memory)56と、通信部54とを備えている。通信部54は、無線通信を行うことによって、各被制御装置10~40に各種情報を送信する。また、通信部54は、図示されていない入力部(例えば、キーボードやマウス)から入力された物体OBの搬送先である目的地の絶対座標ACにおける座標値および姿勢を取得する。本実施形態における目的地は、4つの被制御装置10~40が協働して達成する共通の目的に相当する。目的地の絶対座標ACにおける座標値および姿勢を、単に目標値(目標)とも呼ぶ。通信部54は、クロック周期dT(s)が経過する度に、中央制御装置50から物体OBの状態量をブロードキャスト送信する。なお、通信部54は、中央制御装置50から4つの被制御装置10~40へと物体OBの状態量をユニキャスト送信してもよい。
【0026】
CPU53は、ROM55およびRAM56に接続され、ROM55に格納されているコンピュータプログラムをRAM56に展開して実行することにより、状態予測部531および誤差算出部532として機能する。状態予測部531は、センサ51の検出値を用いて、物体OBにおける加速度および角速度を含む状態量を算出する。状態予測部531は、下記式(1)に示される、時刻tからτ秒後の物体OBの予測位置(x(t+τ),y(t+τ),z(t+τ))および予測ヨー角(Ψ(t+τ))の予測値を算出する。
【0027】
【数1】
【0028】
誤差算出部532は、状態予測部531によって算出されたτ秒後の予測値と、通信部54を介して取得した物体OBの目標値とを用いて、τ秒後の状態量と目標値との予測誤差(ex,ey,ez,eΨ)を下記式(2)のように算出する。なお、第1実施形態における予測誤差(ex,ey,ez,eΨ)は、目標に対する誤差および指令値に相当する。また、予測誤差(ex,ey,ez,eΨ)に含まれる各成分(例えば、「ex」)は、所定軸に沿うように分解された誤差に相当する。
【0029】
【数2】
【0030】
なお、式(2)で表される予測誤差(ex,ey,ez,eΨ)は、相対座標RCにおける誤差になる。そのため、誤差算出部532は、下記式(3)に示される座標変換を行うことによって、絶対座標ACにおける目標値(Xm,Ym)を相対座標RCにおける目標値(xm、ym)に変換する。式(2),(3)を用いて算出された予測誤差(ex,ey,ez,eΨ)は、通信部54を介して、各被制御装置10~40に送信される。
【数3】
【0031】
図2に示される被制御装置10は、プロペラ13と、プロペラ13を回転させるモータ12と、被制御装置10を制御する第2制御部(エージェント)14と、モータ12および第2制御部14のバッテリ11とを備えている。モータ12の駆動によってプロペラ13が回転し、被制御装置10は飛行移動する。なお、図2では、各被制御装置10~40が同じ構成を有するため、被制御装置10のみについて説明するが、中央制御装置50は、被制御装置20~40に対して、以降で説明する被制御装置10に対する制御と同じ制御を行っている。
【0032】
第2制御部14は、CPU15と、ROM17と、RAM18と、受信部16と、ハードディスクドライブ(HDD:Hard Disk Drive)などで構成された記憶部19とを備えている。受信部16は、無線通信を行うことによって、中央制御装置50の通信部54から送信される予測誤差(ex,ey,ez,eΨ)を受信する。なお、CPU15,ROM17,およびRAM18は、エージェント側制御部に相当する。
【0033】
CPU15は、ROM17およびRAM18に接続され、ROM17に格納されているコンピュータプログラムをRAM18に展開して実行することにより、誤差統合部151およびモータ制御部(装置制御部)152として機能する。誤差統合部151は、下記式(4)のように表される、各入力の各出力に対する作用を考慮した統合誤差Eiを算出する。
【0034】
【数4】
【0035】
式(4)において、本実施形態では、誤差統合部151は、出力ui(i=1,2,3,4:被制御装置の数)を増やしたときに、ejが減る作用係数qijに対しては正(qij=1)とし、増える作用係数qijに対しては負(qij=-1)として、統合誤差Eiを算出する。すなわち、誤差統合部151は、uiに対する「ex」などの各要素の正負を用いて、各要素の大きさにかかわらず、予め設定された定数の作用係数qijを割り当てている。また、誤差統合部151は、重みgiを用いて、制御すべき目標に順位付けを行っている。すなわち、誤差統合部151は、「ex」などの各要素のそれぞれに、要素ごとに個別に設定された重みgiを乗じた値のそれぞれの合計である統合誤差Eiを算出している。
【0036】
誤差統合部151は、算出された統合誤差Eiと、下記式(5)とを用いて、出力uiを算出する。モータ制御部152は、算出した出力uiに応じた電圧をモータ12に出力することにより、物体OBの位置および姿勢を制御する。
【0037】
【数5】
【0038】
図3は、分散制御システム100の制御方法を示すフローチャートである。図3のフローチャートは、各被制御装置10の位置(Xi,Yi,Zi)およびヨー角度(Ψi)が、目標値(Xmi,Ymi,Zmi,Ψmi)に追従するように制御された場合の制御フローを示している。図3に示されるように、初めに、第1制御部52は、通信部54を介して、物体OBの搬送先としての絶対座標ACにおける目標値を取得する(ステップS1)。誤差算出部532は、式(3)を用いて取得された絶対座標ACにおける目標値を、相対座標RCにおける目標値に変換する(ステップS2)。
【0039】
センサ51は、加速度センサおよびジャイロセンサのセンサ値を取得する(ステップS3)。状態予測部531は、センサ51の検出値を用いて物体OBの状態量(物体OBの位置および姿勢)を算出する(ステップS4)。誤差算出部532は、状態予測部531によって算出された、式(1)に表されるτ秒後の物体OBの予測値(x(t+τ),y(t+τ),z(t+τ)),Ψ(t+τ))を用いて、式(2)で表される予測誤差(ex,ey,ez,eΨ)を算出する(ステップS5)。
【0040】
各被制御装置10~40は、それぞれが備える受信部を介して、予測誤差(ex,ey,ez,eΨ)を取得する(ステップS6)。なお、各被制御装置10~40が以降で説明する制御フローを行うが、各被制御装置10~40での制御フローが同じであるため、被制御装置10が行う制御フローについて説明し、被制御装置20~40が行う制御フローについての説明を省略する。
【0041】
被制御装置10の誤差統合部151は、取得した予測誤差(ex,ey,ez,eΨ)を用いて、式(4)に示される統合誤差Eiを算出する(ステップS7)。誤差統合部151は、算出された統合誤差Eiを用いて式(5)に示される出力uiを算出して、モータ制御部152が出力uiに用いてモータ12を制御する(ステップS8)。
【0042】
誤差統合部151は、時間t1を、クロック周期dTを加えた時間に更新する(ステップS9)。誤差統合部151は、時間t1が演算周期Tc(s)を経過したか否かを判定する(ステップS10)。演算周期Tcは、各種パラメータを算出するために必要な時間である。時間t1が演算周期Tcを経過していないと判定された場合には(ステップS10:NO)、誤差統合部151は、引き続き、時間t1の演算周期Tcの経過を待機する。時間t1が演算周期Tcを経過したと判定された場合には(ステップS10:YES)、誤差統合部151は、時間t1をゼロにリセットする(ステップS12)。その後、被制御装置10の受信部16は、予測誤差(ex,ey,ez,eΨ)を取得し(ステップS6)、ステップS7以降の処理が行われる。これらの制御フローは、各被制御装置10~40において、物体OBが目的地に到達するまで行われる。
【0043】
図4は、物体OBの位置変化の時間推移を表すグラフである。図4には、物体OBの位置が目標値(Xm,Ym,Zm)に到達するまでの各座標軸における推移が示されている。図4に示されるように、物体OBは、時間の経過と共に目標値に近づく。
【0044】
図5は、物体OBの姿勢変化の時間推移を表すグラフである。図5には、物体OBの位置が目標値に近づくにつれ、物体OBの姿が目標の姿勢(Ψm)に変化するまでの推移が示されている。図5に示されるように、物体OBは、時間の経過と共に目標の姿勢に近づく。
【0045】
図6は、図4に示される期間T1における各出力u1~u4の時間推移である。図7は、図4に示される期間T2における各出力u1~u4の時間推移である。図6には、物体OBが目標値に到達する前の過渡状態のモータの制御量が示されている。一方で、図7には、物体OBが目標値に到達した後の定常状態のモータの制御量が示されている。図6および図7に示されるように、統合誤差Eiによって決定する各被制御装置10~40の出力u1~u4では、式(5)に示される所定値Ubと0との切替が頻繁に起こっている。
【0046】
以上説明したように、第1実施形態の分散制御システム100は、被制御装置10~40に搭載された複数の第2制御部14と、中央制御装置50とを備えている。被制御装置10~40は、物体OBを目的地に搬送するという共通の目的を達成するために協働している。中央制御装置50は、センサ51から物体OBの状態量を検出し、検出した状態量を各第2制御部へと送信する。例えば、被制御装置10の第2制御部14は、他の被制御装置20~40と制御情報を交換せずに、被制御装置10を制御する。そのため、第1実施形態では、第2制御部14は、第2制御部14が制御する被制御装置10に、他の被制御装置20~40の制御が物体OBに及ぼす影響を観測値を用いて間接的に考慮し、また、自身の制御が目標に与える影響を簡易的な出力特性としてモデル化すれば済む。この結果、第2制御部14は、他の被制御装置20~40の位置などの情報が正確に把握できなくても、被制御装置10を制御できる。すなわち、分散制御システム100によれば、物体OBを安定的に制御できる。また、各被制御装置10~40は、各被制御装置10~40が搭載する第2制御部14によって独立に制御されている。そのため、ある被制御装置の特性や中央制御装置50の特性が変化しても、他の被制御装置の制御によって目的地まで物体OBが搬送される。これにより、複数の内のある被制御装置を交換しても、交換後の被制御装置を、他の被制御装置に合わせて設定し直す必要がない。
【0047】
また、第1実施形態の中央制御装置50は、目標に対する誤差(もしくは指令値)を算出し、その誤差を各被制御装置10~40に送信し、各被制御装置10~40内で指令値を算出する。これにより、各被制御装置10~40で共通して行われる演算処理が中央制御装置50で行われている。そのため、各被制御装置10~40で、誤差算出から指令値算出までの全てを行う場合と比較して、分散制御システム100の負荷は低減する。
【0048】
また、第1実施形態の誤差統合部151は、式(5)に示されるように、統合誤差Eiの正負によって出力uiを決定している。そのため、誤差統合部151は、出力uiの決定に統合誤差Eiの正負判定のみを用いて、予測誤差の各構成の大きさを計算せずに、統合誤差Eiを算出できる。これにより、誤差統合部151の演算負荷が抑制され、被制御装置10が簡単に制御される。
【0049】
また、第1実施形態の誤差統合部151は、式(5)に示されるように、統合誤差Eiが負の場合の出力uiをゼロに設定している。そのため、誤差統合部151の演算負荷がさらに抑制され、被制御装置10がより簡単に制御される。
【0050】
また、第1実施形態の誤差統合部151は、式(4)に示されるように、各差分に重みgiを乗じた値を用いて、統合誤差Eiを算出する。これにより、重みgiを変化させることにより、物体OB搬送時において重要度の高い誤差の統合誤差Eiが及ぼす影響を大きくできる。これにより、物体OBの状態の変化量の精度が向上する。
【0051】
<実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0052】
<第1実施形態の第1変形例>
上記第1実施形態では、誤差統合部151は、重みgijを用いて式(4)に示されるように統合誤差Eiを算出したが、第1変形例の誤差統合部151は、下記式(6)に示されるようにm個の被制御装置から優先順位を付ける。誤差統合部151は、優先順位の結果から、下記式(7)に示されるように、有限個の各予測誤差(eij(i=1,2,…,4),(j=x,y,z,ψ))と作用係数q ij との積の合計となる統合誤差Eiを算出する。算出された第1変形例の統合誤差Eiが用いられて、上記第1実施形態と同じ制御が行われる。
【0053】
【数6】
【数7】
【0054】
第1変形例では、誤差統合部151は、式(6)に示されるように、各予測誤差に含まれる要素の絶対値と、重みg ij との積が大きい順に優先順位を付す。誤差統合部151は、優先順位が大きい順に有限個(式(7)では1個)の要素の差分のみを統合誤差Eiの算出に用いる。これにより、統合誤差Eiの算出に使用する要素の数を変化させることにより、物体OBへの影響が大きい被制御装置10~40のパラメータが統合誤差Eiに及ぼす影響を大きくできる。これにより、物体OBの状態の変化量の精度が向上する。
【0055】
<第1実施形態の第2変形例>
第2変形例では、上記第1実施形態と異なり、m個の被制御装置の各予測誤差(ej)に含まれる各要素を判定するための閾値Ciが、予め記憶部19に記憶されている。誤差統合部151は、各要素の絶対値が対応する閾値Ci以上であるか否かを判定し、閾値Ci以上の要素のみを統合誤差Eiの算出に用いる。例えば、下記式(8)に示されるような関係がある場合に、誤差統合部151は、下記式(9)に示される統合誤差Eiを算出する。誤差統合部151は、優先順位の結果から、下記式(9)に示されるように、各誤差の絶対値と、重みgiとの積が最大となる統合誤差Eiを算出する。算出された第2変形例の統合誤差Eiが用いられて、上記第1実施形態と同じ制御が行われる。
【0056】
【数8】
【数9】
【0057】
第2変形例では、誤差統合部151は、式(8)に示されるように、各差分の絶対値が個別に予め設定された閾値Ci以上である差分のみを用いて、式(9)に示されるように、統合誤差Eiが算出される。これにより、統合誤差Eiの算出に使用する各閾値Ciを変化させることにより、物体OBへの影響が大きい又は重要な被制御装置10~40のパラメータが統合誤差Eiに及ぼす影響を大きくできる。これにより、物体OBの状態の変化量の精度が向上する。
【0058】
<第1実施形態の第3変形例>
図8は、第1実施形態の第3変形例における中央制御装置50および1つの被制御装置10aの概略ブロック図である。第3変形例では、第1実施形態と比較して、被制御装置10aの第2制御部14aのうち、CPU15aが統合誤差に動的な処理を加える誤差調整部(動的誤差調整部)153として機能すること、誤差統合部151aの出力算出、およびモータ制御部152aの制御が異なり、その他の構成および制御については第1実施形態と同じである。そのため、第3変形例では、第1実施形態と異なる構成および制御について説明し、同じ構成および制御についての説明を省略する。なお、第3変形例では、他の被制御装置20a~40aも被制御装置10aと同じ構成を有している。
【0059】
誤差調整部153は、受信部16を介して中央制御装置50から受信した予測誤差(ex,ey,ez,eΨ)に含まれる各要素を動的処理し、動的処理後の予測誤差(後述の位相に相当)を算出する。第3変形例では、誤差統合部151が、予測誤差(ex,ey,ez,eΨ)の代わりに動的処理後の予測誤差を用いて統合誤差Eiを算出する。
【0060】
具体的には、誤差調整部153は、予測誤差を用いて、式(10)で表される動的処理された位相αiを算出する。なお、式(10)における分子は、予測誤差に相当する。分母の最大出力値Umaxは、モータ12に最大電圧が加圧された時の出力値である。第3変形例のモータ制御部152aは、誤差調整部153によって位相やゲインが調整された予測誤差を用いて、被制御装置10aの動きを制御する。なお、第3変形例における予測誤差は、位相やゲインが調整された動的調整誤差に相当する。
【0061】
上記第1実施形態では、式(5)に示されるように、出力uiは、ONのUbと、OFFのゼロとであったが、第3変形例の誤差統合部151aは、位相の変化によって出力uiのONとOFFとを切り替える。そのため、誤差統合部151aは、下記式(10)に示されるように、位相αiを設定する。なお、式(10)におけるKiは、追従性能を決める関数であり、そのパラメータは適宜設定される。
【0062】
【数10】
【0063】
誤差統合部151aは、算出された式(10)の位相を用いて、下記式(11)で表される出力uiを算出する。
【0064】
【数11】
【0065】
誤差統合部151aは、下記式(12)に示されるように、算出された出力uiを、時定数τおよび出力値Tiを用いて、なました値を算出する。
【0066】
【数12】
【0067】
図9は、第1実施形態の第3変形例における出力uiの算出方法のフローチャートである。図9に示される算出フローは、図5に示される第1実施形態の制御フローにおけるステップS7のサブフローに相当する。そのため、図5のステップS6において、予測誤差が被制御装置10aに取得されると、誤差調整部153は、予測誤差と、式(10)とを用いて、位相αiを算出する(ステップS71)。
【0068】
誤差統合部151aは、式(10)を計算することにより、振動子の位相を算出する。誤差統合部151aは、算出された振動子の位相を用いて、式(11)に示される出力uiを算出する(ステップS72)。さらに、誤差統合部151aは、算出された出力uiを、式(12)に代入することにより、時定数τおよび出力値Tiでなました値を算出する(ステップS73)。その後、なました値が用いられて図3のステップS8以降の処理が行われる。
【0069】
図10は、第1実施形態の第3変形例における追従性能の説明図である。図11は、比較例における追従性能の説明図である。図10および図11には、破線で示される目標値の時間推移LNtrに対する出力uiの時間推移LN1,LN2が示されている。図10は、式(10)において下記関係式(13)とした場合、図11は式(10)において下記関係式(14)とした場合の結果を示す。
【0070】
【数13】
【0071】
【数14】
【0072】
図10に示される第3変形例の出力uiの時間推移LN1は、図11に示される比較例の時間推移LN2よりも振幅が小さい。また、時間推移LN1と目標値との差分の累計は、時間推移LN2と目標値との差分の累計よりも小さい。すなわち、第3変形例の時間推移LN1の追従性能は、比較例の時間推移LN2の追従性能よりも優れている。
【0073】
第3変形例の誤差調整部153は、式(11)の処理を行う場合、ejが十分小さくなくてもKiの構造により、Ki(ej,αi)≒0となり、eが大きい場合でもαiの更新が遅れることにより発生する振動を低減できる。
【0074】
<第1実施形態の第4変形例>
図12は、第1実施形態の第4変形例における中央制御装置50bおよび1つの被制御装置10bの概略ブロック図である。第4変形例では、第1実施形態における中央制御装置50の第1制御部52が行っていた機能の一部が、各被制御装置の第2制御部14bで行われる点が大きく異なる。そのため、第4変形例では、第1実施形態と異なる点について説明し、第1実施形態と同じ構成および制御についての説明を省略する。
【0075】
図12に示されるように、中央制御装置50bは、センサ51と、バッテリ57と、通信部54bとを備えている。通信部54bは、センサ51の検出値を被制御装置10bに送信する。被制御装置10bの第2制御部14bは、CPU15bと、ROM17と、RAM18と、受信部16bと、記憶部19とを備えている。受信部16bは、通信部54bから送信されたセンサ51の検出値を受信する。また、受信部16bは、物体OBの搬送先である目標値を受信する。
【0076】
CPU15bは、誤差統合部151、モータ制御部152、状態予測部154、および誤差算出部155として機能する。第4変形例の状態予測部154は、第1実施形態における第1制御部52の状態予測部531と同じ機能を実行する。同様に、第4変形例の誤差算出部155は、第1実施形態における第1制御部52の誤差算出部532と同じ機能を実行する。このように、第1実施形態の中央制御装置50で行われる機能の一部が、各被制御装置(例えば、被制御装置10b)で実行されてもよい。
【0077】
第4変形例では、第1実施形態の中央制御装置50が行っていた機能の一部が、被制御装置10bで行われている。このように、中央制御装置50の一部の機能が被制御装置10bで行われていても、共通の目的として物体OBの目的地への搬送は完了する。
【0078】
<第1実施形態のその他の変形例>
上記第1実施形態および各変形例では、分散制御システム100の一例について説明したが、分散制御システム100の各構成および各制御については、種々変形可能である。例えば、被制御装置10は、記憶部19を備えていなくてもよく、その他の構成(例えば、音声入力可能な入力部)などを備えていてもよい。被制御装置10~40は、中央制御装置50から送信されるセンサ51の検出値を用いて、他の被制御装置と情報交換することなく、自身が搭載された被制御装置10~40を制御する範囲で種々変形可能である。被制御装置10~40は、同じ構成を備えておらず、異なる形状や異なる出力形態であってもよい。
【0079】
上記第1実施形態および各変形例では、被制御装置10~40が制御されるまでに算出される各パラメータの一例について説明したが、各パラメータについては周知技術の範囲で各種適用可能である。例えば、式(2)において、角度θ,φが用いられてもよい。第1実施形態の誤差統合部151は、統合誤差Eiを算出するために、式(4)に示される重みgiを用いたが、さらに、第1変形例の優先順位(式(6),(7))および第2変形例の閾値判定(式(8),(9))を合わせて用いてもよい。第4変形例では、誤差の動的処理として、少なくとも式(10)で表される動的処理が適用されればよく、式(11)および式(12)で示されるパラメータはなくてもよい。
【0080】
また、図3に示される制御フローについても種々変形可能である。例えば、ステップS5の予測誤差(ex,ey,ez,eΨ)が算出される範囲で、各工程の前後は入れ替え可能である。例えば、ステップS3のセンサ値の取得の工程が、ステップS1の目標値の取得の工程前に行われてもよい。
【0081】
また、第1実施形態では、式(5)に示されるように、統合誤差Eiの正負判定によって、出力uiが2通りに決定したが、3通り以上に決定してもよい。例えば、統合誤差Eiがゼロ以下で、かつ、統合誤差Eiの絶対値が所定以上の場合に、誤差統合部151は、出力uiとして-Um(Um>0)を設定してもよい。このように、絶対値の大きさで出力が異なることにより、被制御装置10~40および物体OBに対しての制御の精度が向上する。
【0082】
また、中央制御装置50または被制御装置10~40の第2制御部(例えば、第2制御部14)は、物体OBを搬送する前に、物体OBに各被制御装置10~40が力を加えた際のセンサ51の検出値を取得してもよい。各第2制御部は、取得された検出値を用いて、実際の物体OBの搬送制御を行ってもよい。なお、センサ51の検出値は、観測値に関する情報に相当する。
【0083】
<第2実施形態>
図13は、第2実施形態の分散制御システム200の概略ブロック図である。第2実施形態の分散制御システム200は、複数の電力源PW1~PWn(n=1,2,・・・n)から電力供給先FCに供給される電力を制御するシステムである。図13に示されるように、分散制御システム200は、電力供給先FCと、電力供給先FCに供給される電力を検出する電力検出装置S50と、各電力源PW1~PWnから供給される電力を変換する複数の電力変換装置CH1~CHnと、各電力変換装置CH1~CHnを制御するエージェントC1~Cnと、各電力変換装置CH1~CHnから電力供給先FCへと供給される電力を検出する複数の電力検出装置S1~Snとを備えている。なお、各エージェントC1~Cnは、同じ構成を有するため、図1には、エージェントC1のブロック図のみを示し、他のブロック図の図示を省略している。以降では、複数のエージェントC1~Cnの内、1つのエージェントC1について説明し、他のエージェントC2~Cnの説明を省略する。
【0084】
中央制御装置150は、CPU53Cと、通信部154と、ROM155と、RAM156とを備えている。通信部154は、電力検出装置S50から電力供給先FCに供給される電力の合計である現状電力Pを取得する。また、通信部154は、他の入力装置で入力された、電力供給先FCへの供給目標となる要求電力Pmを取得する。CPU53Cは、要求電力Pmから現状電力Pを差し引いた誤差e(=Pm-P)を算出する誤差算出部539として機能する。誤差算出部539は、算出した誤差eを、通信部154を介して各エージェントC1~Cnに送信する。
【0085】
各エージェントC1~Cnは、誤差算出部539から送信された誤差eを用いて、電力供給先FCへと供給する電力を制御する。1つのエージェントC1は、CPU115と、受信部116と、ROM117と、RAM118と、記憶部119とを備えている。受信部116は、誤差算出部539から定期的に送信される誤差eと、電力検出装置S1により検出される電力を受信する。記憶部119は、電力変換装置CH1から電力供給先FCへと供給される電力の大きさを判定する基準値を記憶している。なお、基準値の詳細については、後述する。
【0086】
CPU115は、誤差統合部158、および、電力変換装置CH1を制御する装置制御部159として機能する。誤差統合部158は、受信された誤差eを用いて、下記式(15)で表される切替変数βiを定義する。
【0087】
【数15】
【0088】
誤差統合部158は、式(15)を用いて算出した値が正であるか負であるかを判定する。具体的には、誤差統合部158は、e(t)>0の場合にKi(e)を下記式(16)のように設定し、e(t)≦0の場合にKi(e)を下記式(17)のように設定する。誤差統合部158は、式(15)で算出されたβi(t)を用いて、電力変換装置CH1の電力供給のスイッチのON/OFFを下記関係式(18)のように切り替える。
【0089】
【数16】
【0090】
【数17】
【0091】
【数18】
【0092】
装置制御部159は、式(18)で示されるスイッチのON/OFFに応じて、電力源PW1から電力供給先FCに供給する電力を制御する。電力検出装置S1は、電力変換装置CH1から電力供給先FCへと供給される電力を検出する。装置制御部159は、電力検出装置S1により検出された電力と、制御によって電力変換装置CH1により供給される推定電力との差が、記憶部119に記憶された基準値以内である場合には電力供給を行う。一方で、装置制御部159は、当該差が基準値よりも大きい場合には、電力供給を停止する。
【0093】
図14は、第2実施形態の分散制御システム200の制御方法のフローチャートである。図14に示される制御フローでは、初めに、中央制御装置150の通信部154が、電力供給先FCに求められる要求電力Pmを取得する(ステップS21)。通信部154は、電力検出装置S50から電力供給先FCに供給される現状電力Pを取得する(ステップS22)。誤差算出部539は、要求電力Pmから現状電力Pを差し引いた誤差eを算出する(ステップS23)。誤差算出部539は、算出した誤差eを、通信部154を介して、各エージェントC1~Cnに送信する。なお、誤差eの送信は、定期的に行われる。
【0094】
各エージェントC1~Cnの受信部(例えば、受信部116)は、中央制御装置150から送信された誤差eを受信する(ステップS25)。なお、以降では、1つのエージェントC1の制御について説明する。他のエージェントC2~CnもエージェントC1と同じ制御を行うため、他のエージェントC2~Cnの制御についての説明を省略する。誤差統合部158は、式(15)に受信された誤差eを代入することにより、切替変数βiを演算する(ステップS26)。誤差統合部158は、式(15)を用いて、切替変数βiの正負を判定する(ステップS27)。誤差統合部158は、式(15)により算出されたβi(t)を用いて、式(15)に示される電力変換装置CH1の変換電力を制御する(ステップS28)。装置制御部159は、誤差統合部158によって決定された電力を変換するように電力変換装置CH1を制御する。
【0095】
電力検出装置S1は、電力変換装置CH1から変換されて、電力供給先FCへの供給電力を検出する(ステップS29)。装置制御部159は、検出された供給電力と、制御によって電力変換装置CH1により変換される推定電力との差が基準値以内であるか否かを判定する(ステップS30)。当該差が基準値以内であると判定された場合には(ステップS30:YES)、装置制御部159は、電力変換装置CH1から電力供給先FCへの電力供給を続行し(ステップS31)、ステップS25以降の処理が繰り返される。一方で、当該差が基準値以内ではないと判定された場合には(ステップS30:NO)、装置制御部159は、電力変換装置CH1から電力供給先FCへの電力供給を停止し(ステップS32)、ステップS25以降の処理が繰り返される。
【0096】
以上説明したように、第1実施形態の分散制御システム100と異なっていても、第2実施形態の分散制御システム200でも、当該システムを簡単な出力特性によってモデル化できる。
【0097】
<第2実施形態の変形例>
上記第2実施形態では、分散制御システム200の一例について説明したが、分散制御システム200の各構成および各制御については、種々変形可能である。例えば、エージェントC1~Cnは、中央制御装置150から送信される電力検出装置S50の検出値を用いて、他のエージェントと情報交換することなく、自身の制御対象である電力変換装置CH1~CHnを制御する範囲で種々変形可能である。エージェントC1~Cn、電力検出装置S1~Sn、電力変換装置CH1~CHn、および電力源PW1~PWnは、同じ構成を備えておらず、異なる形状や異なる出力規模であってもよい。
【0098】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【符号の説明】
【0099】
10~40,10a,10b,20a…被制御装置
11,57…バッテリ
12…モータ
13…プロペラ
14,14a,14b…第2制御部(エージェント)
15,15a,15b…CPU
16,16b,116…受信部
19,119…記憶部
50,50b,150…中央制御装置(中央制御部)
51…センサ
52…第1制御部
53,53C,115…CPU
54,54b,154…通信部
100,200…分散制御システム
151,158,151a…誤差統合部
152,152a…モータ制御部(装置制御部)
153…誤差調整部(動的誤差調整部)
154,531…状態予測部
155,532,539…誤差算出部
159…装置制御部
AC…絶対座標
C1~Cn…エージェント
CH1~CHn…電力変換装置
i…閾値
i…統合誤差
FC…電力供給先
LN1,LN2,LNtr…時間推移
OB…物体
P…現状電力
PW1~PWn…電力源
Pm…要求電力
RC…相対座標
S1~Sn,S50…電力検出装置
T…目標値
Tc…演算周期
i…出力値
b…所定値
max…最大出力値
dT…クロック周期
e…誤差
x,ey,ez,eΨ,eij…予測誤差(指令値)
αi…位相
βi…切替変数
i,gij…重み
ij…作用係数
1…時間
1~u4,ui…出力
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14