Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1© 2016 The MathWorks, Inc.
マルチエージェントシステムの制御入門
MathWorks Japan
アプリケーションエンジニアリング部 制御
赤阪 大介
2
IoT 時代の制御への挑戦
制御システムのネットワーク化に伴う大規模化・複雑化
自律分散的な制御の考え方が必要とされる
協調的な制御による新たなシステムの価値創発
環境
互いに協調しながら各々が意思決定を行う制御の仕組みは?
システム
3
お伝えしたいこと
マルチエージェントシステム制御の枠組みや手法をどのように適用すべきか一緒に考えて行きませんか?
IoT 時代に求められる制御アルゴリズムの統合開発環境として MATLAB® を是非ご利用ください
提起
提案
4
内容
マルチエージェントシステムの概要
マルチエージェントシステム制御の基礎
MATLAB の提案と例題
まとめ
5環境
マルチエージェントシステムとは?
エージェント(コンピュータ)
行動 知覚
エージェント(コンピュータ)
多数の自律的に意思決定を行うことのできる構成要素(エージェント)から成るシステム
エージェントの特徴
1. 自律的に行動できる能力を持つ(目標に向けて自ら行動を決定可能)
2. 他のエージェントと相互作用する能力を持つ(情報交換・協調・調整・交渉)
相互作用
6
マルチエージェントシステムの応用範囲は幅広い
航空管制システム
高度知的交通システム
人工衛星のランデブー、干渉計配置
ビークルの隊列走行/飛行
アンテナアレイ
マルチホップ通信
電力系統の同期制御
エネルギー管理
金融ポートフォリオ、電子商取引
生産ライン、在庫管理最適化
マルチエージェントシステム
ビークル/ロボットネットワーク
社会ネットワーク
電力ネットワーク
センサーネットワーク
生産/製造ネットワーク
市場取引ネットワーク
7
応用例:ビークル群の協調制御
複数台の協調により、精細な天体画像を合成することが可能に
衛星群による干渉計の配置
アンテナアレイ
ビークルのフォーメーションにより、無線通信の距離を伸ばすことが可能に
エージェントエージェント
8
応用例:エレベータ群の協調制御
ビルの混雑状況に応じたエレベータの最適な割り当て
最適な割り当て制御
エージェント
季節や日時のような周期的な変化に応じたエレベータ群の運行
9
応用例:エネルギー管理システムの分散化
地域や系統ごとの管理の分散化消費電力や電力売買の情報通信
地域 A
?
地域 B
地域 C
分散制御・推定
情報・エネルギー
需要家・供給家
エネマネの目的・需給バランス・電力の安定供給・双方の利益を最大化
10
応用例:工場スケジューリング
在庫を最小化しつつ生産目標を達成する最適な制御運用時間や在庫量に応じた工程間の協調稼動
生産ラインの最適化
工程 1 工程 2 工程 3 工程 4
工作や運搬などの工程(ロボット)毎にエージェントを割り当て
11
応用例:ロボカップ(サッカー/レスキュー)
マルチエージェントシステムの標準問題
日本の研究者によって提唱された、ロボット工学や人工知能など各分野の基礎技術の促進を目的としたランドマークプロジェクト
自律型ロボット群による協調行動・チームワーク
12
マルチエージェントシステムに期待される 4 つの利点
1. 問題解決能力や適応能力の向上
– 複数で協調し高度な問題を解決、問題の変更や変化に柔軟に対応
2. モジュール化(拡張性・再利用性)
– 設計コストや時間の抑制、テストや維持管理のし易さ
3. ロバスト性(冗長性)
– エージェントが欠けた場合にもシステム全体の機能を維持
4. 並列性(タスク分散)
– システム全体の処理速度の高速化・処理効率の向上
13
複合的かつ数理的な技術要素が求められる … 鍵となる 5 つの技術
ネットワークモデル(グラフ理論、行列)
エージェントの動的モデル(微分方程式)
1. モデリング技術2. 制御器設計技術
4. 学習技術3. 最適化技術
5. 数値シミュレーション
分散フィードバック制御(線形/非線形)
機械学習(強化学習) 分散最適化
動的システム+ネットワーク
待ち行列シミュレーション
14
要点まとめ
制御システムのネットワーク化に伴う大規模化・複雑化
– 自律分散的な制御の考え方が必要とされる
– 協調的な制御による新たなシステムの価値創発
マルチエージェントシステムの概念
– システムの問題解決能力や適応能力の向上
– 幅広いアプリケーション
– 複合的かつ数理的な手段が求められる分野(モデリング、制御器設計、最適化、学習など)
15
内容
マルチエージェントシステムの概要
マルチエージェントシステム制御の基礎
MATLAB の提案と例題
まとめ
16
頂点集合 𝑽𝑉 = {1,2,⋯ , 9}
ネットワークと分散制御器のモデル
ሶ𝑥1(𝑡) = 𝑓1(𝑥1(𝑡), 𝑢1(𝑡)) ሶ𝑥6(𝑡) = 𝑓6(𝑥6(𝑡), 𝑢6(𝑡))
𝑢1(𝑡) = 𝑐1(𝑥1 𝑡 , 𝑥2(𝑡)) 𝑢6(𝑡) = 𝑐6(𝑥6 𝑡 , 𝑥5 𝑡 , 𝑥7(𝑡))
1
6
3
9
4
7
2
5
8
無向グラフ G
ダイナミクス
分散制御器
隣接集合
𝑁1 = {2} 𝐺 = {𝑉, 𝐸}
ダイナミクス
分散制御器
隣接集合
𝑁6 = {5, 7}
エージェント 1 エージェント 6
辺集合 𝑬伝達経路がある頂点の組の集合
17
合意制御問題 (Consensus)
任意の初期状態 𝑥1 0 ,⋯ , 𝑥𝑛(0) に対して、すべてのエージェントの状態がある定数 𝛼(合意値)に収束すること
すべてのエージェントがネットワークにおける情報交換を通じて、状態変数を一致させること
𝜶
𝒙𝟏(𝟎) 𝒙𝟐(𝟎)
𝒙𝟑(𝟎)
いかに初期情報から有益な情報を得るか?
合意の種類
平均合意
幾何平均合意
最大(小)合意
リーダー・フォロワー合意…
18
頂点集合 𝑽𝑉 = {1,2,⋯ , 9}
ダイナミクスと分散制御器を簡略化
ሶ𝑥1(𝑡) = 𝑢1(𝑡) ሶ𝑥6(𝑡) = 𝑢6(𝑡)
𝑢1 𝑡 = −(𝑥1 𝑡 − 𝑥2(𝑡)) 𝑢6 𝑡 = −(𝑥6 𝑡 − 𝑥5 𝑡 )−(𝑥6 𝑡 − 𝑥7(𝑡))
1
6
3
9
4
7
2
5
8
ダイナミクス(積分器)
分散制御器(線形)
隣接集合
𝑁1 = {2} 𝐺 = {𝑉, 𝐸}
ダイナミクス(積分器)
分散制御器(線形)
隣接集合
𝑁6 = {5, 7}
エージェント 1 エージェント 6
辺集合 𝑬伝達経路がある頂点の組の集合
無向グラフ G
19
システムの特性は「ネットワーク構造」によって特徴付けされる
ሶ𝑥1(𝑡)ሶ𝑥2(𝑡)ሶ𝑥3(𝑡)ሶ𝑥4(𝑡)ሶ𝑥5(𝑡)ሶ𝑥6(𝑡)ሶ𝑥7(𝑡)ሶ𝑥8(𝑡)ሶ𝑥9(𝑡)
= −
1 −1 0 0 0 0 0 0 0−1 3 −1 0 0 0 0 0 −10 −1 2 −1 0 0 0 0 00 0 −1 2 −1 0 0 0 00 0 0 −1 2 −1 0 0 00 0 0 0 −1 2 −1 0 00 0 0 0 0 −1 2 −1 00 0 0 0 0 0 −1 2 −10 −1 0 0 0 0 0 −1 2
𝑥1(𝑡)𝑥2(𝑡)𝑥3(𝑡)𝑥4(𝑡)𝑥5(𝑡)𝑥6(𝑡)𝑥7(𝑡)𝑥8(𝑡)𝑥9(𝑡)
𝐿
ሶ𝒙 𝒕 = −𝑳𝒙 𝒕 , 𝒙 𝟎 = 𝒙𝟎
グラフラプラシアン
システム全体の表現:
𝒙𝒊:エージェントの状態
20
合意を達成するための線形な分散制御器は? … 無向グラフの場合
1. 無向グラフが連結であること(必要十分条件)
– 任意のエージェント(グラフ頂点)間を移動できる経路が存在
2. 合意が達成されるとき、平均合意となる
– 状態は初期状態の平均値に収束
3. 合意が達成されるとき、指数合意となる
– 状態は指数的に合意値に収束
合意速度は、グラフラプラシアン L の 2 番目に小さな固有値で決定一般的に合意速度は、ネットワーク構造に依存
21
例題: 合意制御問題
1
6
3
9
4
7
2
5
8 1
6
3
9
4
7
2
5
8 1
6
3
9
4
7
2
5
8
𝐺1 𝐺2 𝐺3
𝜆2=0.4131 𝜆2=1
合意値 10
合意せず
合意値 10
22
被覆制御問題 (Coverage)
ネットワークにおける情報交換を通じて、エージェントを空間上に指定された分布で配置すること
任意の初期状態から被覆を達成するような制御入力を求める問題
エージェント
エージェント被覆は評価関数を最小化することで実現
(各エージェントの位置のばらつき度合いを評価)
23
被覆制御問題 (Coverage)
ネットワークにおける情報交換を通じて、エージェントを空間上に指定された分布で配置すること
任意の初期状態から被覆を達成するような制御入力を求める問題
例えば、ある距離より近づかないように均一に配置
24
被覆制御問題の一般的な評価関数 J(x)
𝐽 𝑥 = නmin𝑖∈𝑉
ℎ( 𝑞 − 𝑥𝑖 ) 𝜙 𝑞 𝑑𝑞
𝑞 地点の重要度を表す重み被覆対象領域 𝑄 で積分
𝑞 地点から 𝑥𝑖 地点への行きにくさを表す(離れるほど ℎ(⋅) の値は大きくなる)
被覆領域内の各地点から各エージェントの地点への行きにくさの重み付き総量を最小化
各エージェントへの行きにくさを出来るだけ無くすように配置
一番行きやすいエージェントを選択
※ ℎ(⋅) は単調増加関数
𝑄
25
𝐶𝑖 𝑥 :ボロノイ領域(青枠で囲まれた各領域)
𝐶𝑖 𝑥 = {𝑞 ∈ Q: 𝑞 − 𝑥𝑖 ≤ 𝑞 − 𝑥𝑗 ∀𝑗 ∈ 𝑉}
𝑥1
𝑥2𝑥3
𝑥7𝑥8
𝑥6
𝑥10
𝑥9
𝑥5
𝑥4
𝑥1
𝑥2𝑥3
𝑥7𝑥8
𝐶7
𝐶1
𝐶2𝐶3
𝐶8
𝑥6𝐶6𝑥9
𝐶9
𝑥5
𝑥4
𝐶5
𝐶4
𝑥10𝐶10
ボロノイ図と最適配置問題
𝐽 𝑥 =
𝑖=1
𝑛
නℎ( 𝑞 − 𝑥𝑖 ) 𝜙 𝑞 𝑑𝑞𝐶𝑖(𝑥)
被覆制御問題(元の評価関数)
ボロノイ領域で積分
𝐽 𝑥 = නmin𝑖∈𝑉
ℎ( 𝑞 − 𝑥𝑖 ) 𝜙 𝑞 𝑑𝑞𝑄
各点 𝒙𝒊 に最も近い点からなる領域に分割
帰着
被覆は最適配置問題の解を得ることに対応
最適配置問題
26
被覆を達成するための分散制御器は?
𝑢𝑖 𝑡 = −𝑘(𝑥𝑖 𝑡 − 𝑐𝑒𝑛𝑡(𝐶𝑖(𝑥)))
質量
ሶ𝑥𝑖 𝑡 = 𝑢𝑖(𝑡)
ダイナミクス
分散制御器
評価関数 J(x) の停留点に収束
𝑚𝑎𝑠𝑠(𝐶𝑖 𝑥 ) = න𝜙 𝑞 𝑑𝑞𝐶𝑖(𝑥)
重心
𝐶10𝑥10
ボロノイ領域 = 剛体𝝓 𝒒 = 密度領域
ボロノイ線図
𝑐𝑒𝑛𝑡(𝐶𝑖 𝑥 ) =1
𝑚𝑎𝑠𝑠(𝐶𝑖 𝑥 )න𝑞𝜙 𝑞 𝑑𝑞𝐶𝑖(𝑥)
27
要点まとめ
合意制御問題
– エージェントの状態変数を一致させること
– ネットワーク構造により合意の仕方が決まる
被覆制御問題
– 空間上にエージェントを指定された分布で配置すること
– 評価関数を最小にするような分散制御器(最適配置問題の解)
28
内容
マルチエージェントシステムの概要
マルチエージェントシステム制御の基礎
MATLAB の提案と例題
まとめ
29
MATLAB を使う理由
数値シミュレーション技術
数式処理技術
プログラミング環境行列計算・数学関数
統計・学習技術
数値最適化技術
制御アルゴ開発
制御系設計・解析
本質的に “Math” に基づくアプローチを支援する環境
制御アルゴリズムの開発を強力に支援する共通プラットフォーム
30
マルチエージェントシステムの統合開発を支える MATLAB
MATLAB
Control System Toolbox™
Symbolic Math Toolbox™
Simulink®
モデリング技術 制御器設計技術
学習技術
最適化技術 数値シミュレーション
Statistics and Machine Learning Toolbox™
Neural Network Toolbox™
Optimization Toolbox™
Global Optimization Toolbox
MATLAB
Simulink
SimEvents®
Control System Toolbox
Symbolic Math Toolbox
数値最適化ソルバー
状態方程式
微分方程式グラフ
古典・現代制御
統計・機械学習
数式処理(非線形制御)
待ち行列シミュレーション
(製造工程、通信、物流、交通 …)
31
例題:ビークルのフォーメーション制御
𝐷𝑜
システム要件
目標フォーメーションを形成
目標速度に追従
ビークル同士の衝突回避
障害物回避
𝑣
通信機能
グラフ上で隣接したビークルと情報交換可
センサー
自身の状態(位置・姿勢)は計測可
センサー範囲に侵入した障害物を検知エージェント x 5
ビークルの能力
例:全方位検知
32
数値シミュレーション例
𝑥
𝑦
障害物
エージェント
目標速度1
3
42
5
軌跡
33
制御の方策 ①
フォーメーション形成
1
3
4
2
5
各ビークルに仮想ビークルを用意し、位置・姿勢を合意させる
仮想ビークルを一致(座標変換を行う)
線形な分散制御器で合意を達成
ビークル間通信は連結な無向グラフ
ሶ𝑥𝑖ሶ𝑦𝑖ሶ𝜃𝑖
=cos 𝜃𝑖 0sin 𝜃𝑖 00 1
𝑣𝑖𝜔𝑖
1
2
3
5
4
運動モデル
34
制御の方策 ②
ビークル同士の衝突回避
障害物回避
1 2
相対距離に関するポテンシャル関数により斥力を発生
相対距離 𝑟
近づくほど反発
𝑈 𝑟 =𝑑
𝑟+ log 𝑟
勾配 𝛻𝑟𝑈 𝑟 を制御器に利用
例:
各障害物に最も近い距離に基づくポテンシャル関数により斥力を発生
𝑈𝑜 = 𝑘𝑜 exp −𝑟1𝑜 2
𝜎+ 𝑘𝑜 exp(−
𝑟2𝑜 2
𝜎)例:2
1
𝑟1𝑜
𝑟2𝑜
𝑟
𝑈𝑟
35
制御系設計・検証の方法
非線形制御への数式処理活用 Symbolic Math Toolbox
障害物回避に使用するポテンシャル関数を定義し、勾配の式を導出
エージェント間情報通信
MATLAB function/S-function ブロック
Simulinkによりシステムを見通しよく表現(再利用性・拡張性)
通信 エージェント i 号 環境
MATLAB 言語によるアルゴリズムや制御対象モデルの記述積分演算は Simulink の積分ブロックを利用(ode ソルバー)
I/F I/F
障害物センサ プラント制御器
36
要点まとめ
MATLAB の提案
– 制御アルゴリズムの開発を強力に支援する共通プラットフォーム
– マルチエージェントシステムに求められる幅広い技術領域を支援
フォーメーション制御の例
– 線形分散制御で合意を達成し、非線形制御で障害物回避
– MATLAB 言語と Simulink モデルにより見通しよく制御系の構造を
記述し、系の振る舞いや性能をすぐに確認
37
内容
マルチエージェントシステムの概要
マルチエージェントシステム制御の基礎
MATLAB の提案
まとめ
38
まとめ
マルチエージェントシステム制御の枠組みや手法をどのように適用すべきか一緒に考えて行きませんか?
IoT 時代に求められる制御アルゴリズムの統合開発環境として MATLAB® を是非ご利用ください
提起
提案
次世代の制御手法について今後とも是非議論させてください
MathWorks 製品やワークフローを評価・導入してゆきませんか?
39
© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.
See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
ご清聴いただき誠にありがとうございました
赤阪 大介 MathWorks Japan
40
参考文献
マルチエージェントシステムの制御,東,永原(編著),石井,林,桜間,畑中 (共著) コロナ社 (2015)
宮崎,鷹羽:障害物回避を考慮した移動ロボット群のフォーメーション制御,システム/制御/
情報 : システム制御情報学会誌 28(2), 50-57, 2015
Yoshioka and Namerikawa: Formation Control of Nonholonomic Multi-Vehicle Systems based
on Virtual Structure, Proc. of the 17th IFAC World Congress Seoul, Korea, July6-11, 2008
桜間:マルチエージェントシステムの制御:III 合意制御(1),システム/制御/情報 : システム制御情報学会誌 57(9), 386-396, 2013
東:マルチエージェントシステムの制御:V 被覆制御,システム/制御/情報 : システム制御情報学会誌 58(1), 36-44, 2014