最適制御の考え方とさまざまな応用, Overview and Applications of

京都大学宇宙総合学研究ユニット「宇宙学セミナー」
京都大学吉田キャンパス, 2016年7月4日
最適制御の考え方と
最近の展開
京都大学 大学院情報学研究科
システム科学専攻
大塚 敏之
自己紹介
• 氏名
• 所属
• 兼担
• 専門
大塚 敏之
情報学研究科 システム科学専攻
工学部 物理工学科 機械システム学コース
非線形システム理論,最適制御
モノの上手な動かし方
機械システム(自動車,ロボット, etc.),宇宙構造物,電
力市場,下水処理施設,などなど
2
今日の話題
• 制御とは
• 最適制御とは
• 実時間最適制御
• 応用事例(テザー衛星など)
3
「制御」とは?
• システムを思い通りに操ること
システムとは?
• 外部からの働きかけ(入力)によって時間的に変
化する結果(出力)を生じるもの
入力
出力
システム
ブロック線図
4
制御されているシステムの例
倒立振子
ロケット
重力に反して上向きの姿勢を
保つよう制御されているシステム
セグウェイ
5
フィードフォワード制御とフィードバック
制御
制御入力
制御信号
目標信号
制御対象
アクチュエータ
制御器
制御出力
フィードフォワード制御:時刻 t の関数
外乱
参照信号
+
制御信号
誤差
-
制御入力
制御出力
制御器
アクチュエータ
制御対象
出力信号
センサ
フィードバック制御:システムの状態 x の関数
フィードバック
6
フィードバック制御の効果:
自動車のアクティブサスペンション
車体の上下振動を抑えるよう,車輪と車体それぞれの変
位と速度をフィードバックして車輪と車体の間の力を決め
る(制御無しの場合,バネのみ).
7
産業革命を起こしたフィードバック制
御:ワットの遠心調速器(ガバナ)
重りの受ける遠心力によって,
回転速度が上がると蒸気弁
が閉じ,下がると開く.
→一定の回転速度に落ち着く.
遠心調速器の発明によってはじめて蒸気機関が
安定して動くようになった.
8
今日の話題
• 制御とは
• 最適制御とは
• 実時間最適制御
• 応用事例(テザー衛星など)
9
「良い」制御とは?
• 時刻 tf で目的地に到着するよう動かせ.ただし,消
費する燃料の量を最小にせよ.
なるべく少ない
燃料で着きたい!
10
「良い」制御とは?
• 目的地に到着する時刻 tf を最小にせよ.ただし,推
力の大きさには制限がある.
なるべく早く
着きたい!
11
「良い」制御とは?
• 着地時の距離 xf を最大にせよ.つまり、-xf を最小に
せよ.
距離xf
12
最適制御問題
• 制御目的を表す量(評価関数)を最小にするような制
御入力(操作量)を求めよ.
• 制御入力
フィードフォワード制御:時刻 t の関数
フィードバック制御:システムの状態 x の関数
非常に一般的な問題
13
最適制御問題
• 制御目的を表す量(評価関数)を最小にするような制
御入力(操作量)を求めよ.
• 制御入力
フィードフォワード制御:時刻 t の関数
フィードバック制御:システムの状態 x の関数
• 評価関数は関数の関数(汎関数)
• 例:惑星探査機の燃料消費量や目的地到着時刻は,
推力の大きさや向きの時間履歴によって決まる.
評価関数:燃料消費量,または,到着時刻
制御入力:推力の大きさや向き
最適制御:燃料消費量や到着時刻を最小化
14
汎関数(関数の関数)の例
• 長さ一定の曲線で囲まれる面積
関数 f(x) によって面積 S が決まる.
汎関数を最大ないし最小にする関数の求め方?
15
普通の関数の最小化
y
y=f(x)
接線
最小になる点
x
• 関数が最小になる点:接線の傾きが0
• 変数 x の微小変化 dx に対する関数 f(x) の微小変
化 df が0.
関数値の微小変化(微分)
df ( x)
df =
dx
dx
傾き
16
汎関数の最小化
• 関数や汎関数の微小変化:変分
• 汎関数が最小:関数 f(x) の変分 δf(x) に対する汎関
数の変分 δS = S[f+δf] – S[f] が0.
f(x) に対する
最適性条件
17
変分問題の例:最速降下線問題
• 質点が重力のみを受けて曲線に沿って運動するとき,
与えられた2点間の移動時間が最小になる曲線を求
めよ.
O
汎関数
2
tf = 
(x ,y(x))
xf
0
 dy ( x) 
1+ 

dx

 dt
2 gy
P(xf ,yf)
mg
v
y
(ヨハン・ベルヌーイ 1696)
18
変分問題の例:最速降下線問題
• 最速降下線は,出発点と終点を結ぶサイクロイド
x(θ ) =
b
(θ − sin θ )
2
y (θ ) =
b
(1 − cos θ )
2
θ : 媒介変数
b : 曲線の大きさを決める係数
19
変分問題の例:懸垂曲線
• 両端が固定された一定長さのひもに一様な重力が
加わるとき,平衡状態でひもが描く曲線を求めよ.
O
x
P(xf ,yf)
汎関数:全位置エネルギー
U = − ρg 
xf
0
2
 dy ( x) 
y ( x) 1 + 
 dx
dx


ひもの長さ:一定値
y
=
xf
0
2
 dy ( x) 
1+ 
 dx
dx


20
変分問題の例:懸垂曲線
• 懸垂曲線(カテナリー)
1 
 x+b 
 a cosh
y ( x) =
 + c 
ρg 
 a  
a, b, c: 曲線の長さ,始点,終
点を決めるパラメータ
(ヨハン・ベルヌーイ 1691)
21
変分問題の例:フェルマーの原理
• 与えられた2点を通る光の経路は所要時間を最小に
する.
22
変分問題の例:最小作用の原理
• 力学系に保存力のみが働いて実現される運動は,
作用積分を最小にする.

t2
t1
Tdt
t1
運動エネルギー
t2
23
変分問題の例:プラトー問題
• 3次元空間中の閉曲線を境界に持ち表面積が最小
の曲面を求めよ.・・・針金の枠にできる石けん膜
(ジョセフ・プラトー 1760)
24
最適制御問題の難しさ
• 制御入力に対する最適性条件
多くの場合,手計算では解けない(制御入力が求めら
れない).
• 最適制御問題の数値解法
最適性条件が成り立つように制御入力の修正を繰り返
す.・・・反復法
複雑な問題も扱えるが,計算時間がかかる.
フィードバック制御には使えない,と長い間考えられて
きた.
25
最適制御問題の反復解法
青:制御入力
緑:最適性の誤差
制御入力の修
正を反復
↓
徐々に最適制
御へ近づく
制御対象の状態
計算時間を気にしなければ,さまざまな問題が数値的に解ける.
26
最適制御問題の例:最速上昇
• F4戦闘機が高度
20km,マッハ1の水
平飛行に最短時間
で到達する飛行経路
• 空気力学を考慮した
数値解では332秒,
実際の飛行では338
秒
• 経験的な経路より大
幅に短縮
A. E. Bryson, Jr.: Optimal Control – 1950 to 1985, Control Systems Magazine, Vol.
16, No. 3, pp. 26-33 (1996)
27
皆さんへ質問!
京都大学の時計台から東京駅まで最速降下線の形
にトンネルを掘って,摩擦のない理想的な状態で列
車を走らせることができたら,約370kmの距離を重
力だけで移動することができます.その時の所要時
間はどれくらいだと思いますか?
(1)約10分
(2)約1時間
(3)約10時間
(4)約1日
28
答え
(1)約10分(8分7秒)
計算式は
2πL
2 × 3.14 × 370000
=
= 487 [sec]
g
9.8
(地球の丸みは無視)
29
今日の話題
• 制御とは
• 最適制御とは
• 実時間最適制御
• 応用事例(テザー衛星など)
30
実時間最適制御
• 各時刻で,最適制御問題を高速に解きフィードフォ
ワード制御を求める.
• 求めたフィードフォワード制御はシステムの状態に
依存する.
• 求めたフィードフォワード制御の一部(最初だけ)を
入力として使って,時々刻々最適制御問題を解き
直すと,結果的にフィードバック制御が実現できる.
31
実時間最適制御のイメージ
少し未来までの最適
制御を計算する.
時々刻々最適制御を
計算し直す.
求めた最適制御の一部
(最初)だけを実際の入
力として用いる.
求めた最適制御の一部
(最初)だけを実際の入
力として用いる.
32
移動する評価区間
• 各時刻で,最適制御問題を高速に解きフィードフォ
ワード制御を求める.
• 求めたフィードフォワード制御の一部(最初だけ)を
入力として使って,時々刻々最適制御問題を解き
直す.
• Receding Horizon制御
または,モデル予測制御
33
実時間最適制御の難しさ
• 各時刻で,最適制御問題を高速に解きフィードフォ
ワード制御を求める.
• 求めたフィードフォワード制御の一部(最初だけ)を
入力として使って,時々刻々最適制御問題を解き
直す.
•ミリ秒単位の計算時間
Receding Horizon制御
または,モデル予測制御
で最適制御問題を解か
なければならない!
34
計算方法の考え方
• オフライン計算
起こりうるすべての状態に対する最適制御をあらかじ
め計算して保存しておく.
計算時間はあまり気にしなくて良いが,保存するデータ
量が膨大になる.
• オンライン計算
時々刻々計測されたシステムの状態に対して即座に最
適制御を計算する.
最適制御をミリ秒単位の計算時間で求めなければなら
ない.
どちらも難しい!
35
オンライン計算:時々刻々の最
適化
• 短い計算時間で解き直す
難しい
しかし
• 短い時間間隔なので,解くべき問題はほとんど同じ
易しい
時々刻々の最適制御の変化を正確
に追跡できれば,反復法は不要
効率的な計算が可能
T. Ohtsuka: A Continuation/GMRES Algorithm for Fast Computation of Nonlinear
Receding Horizon Control, Automatica, Vol. 40, No. 4, pp. 563-574 (2004)
36
今日の話題
• 制御とは
• 最適制御とは
• 実時間最適制御
• 応用事例(テザー衛星など)
37
例:ホバークラフトの位置制御
356 [mm] × 212 [mm] × 142 [mm], 0.894 [kg]
H. Seguchi, and T. Ohtsuka: Nonlinear Receding Horizon Control of an
Underactuated Hovercraft, Int. J. of Robust and Nonlinear Control, Vol. 13, Nos.
3-4, pp. 381-398 (2003)
38
ホバークラフトのモデル
右の推力
位置 x
ホバークラフト
左の推力
2入力
位置 y
姿勢角 θ
3出力
制御目的:所定の位置・姿勢にホバークラフトを移動させよ.
評価関数:位置・姿勢のずれ,速度の大きさ,
制御入力の大きさ
39
制御系の構成
センサ
(位置・姿勢)
コントローラ
(センサ情報から
推力を計算)
アクチュエータ
(推力)
40
制御系の構成
センサ
(位置・姿勢)
コントローラ
(センサ情報から
推力を計算)
アクチュエータ
(推力)
情報の流れ
毎秒120回最適制御問題を解く.
41
制御のようす
毎秒120回最適制御を計算
42
例:自動操船システム
最適推力配分
最適経路追従
写真提供:川崎重工業
浜松正典, 加賀谷博昭, 河野行伸:非線形Receding Horizon制御の自
動操船システムへの適用, 計測自動制御学会論文集, 44巻8号, pp.
685-691 (2008)
43
他の応用
• 自動車の経路生成,テザー衛星,ロボット,ヘリコプター
の編隊制御など
• 飛行機のオンライン飛行経路生成(領域回避誘導則の
飛行実証)
テザー衛星
M. Okazaki, and T. Ohtsuka: Switching Control for
Guaranteeing the Safety of a Tethered Satellite, J.
Guidance, Control, and Dynamics, Vol. 29, No. 4, pp. 822830 (2006)
実験用航空機 MuPAL-α
永塚満ほか: 耐故障飛行制御システム―緊急領
域回避制御, 日本航空宇宙学会誌, 57巻669号,
pp. 285-287 (2009)
46
宇宙に作る構造物―テザー衛星
• テザー:つなぎひも,
ロープでつなぐ
• 軌道変換,発電などさ
まざまな用途
• 1966年ジェミニ11号
30m
テザーが切断し失敗
• 1992年TSS-1 256m
(20km予定)
• 1993年SEDS-1 20km
スペースデブリ(宇宙のゴミ)
による切断の危険性も
47
テザー衛星の伸展・回収制御
母船 : 半径
,角速度
の円軌道を周回
座標系 : 母船と地球が相対的に静止した
回転座標系
母船の速度方向
地球の重力中心方向
に垂直な方向
テザーの張力 (制御入力)
母船からとった衛星の位置ベクトル
48
テザー衛星の伸展・回収制御
無次元入力:
衛星の質量
=
2Ω − Ω
−Ω − Ω
3Ω − 2Ω − Ω
状態と入力の積を含む非線形な方程式
49
回収制御のシミュレーション例
• テザーが切れても母船の高度に到達しないことを保証した制御
• 衛星の位置や速度に応じて実時間最適制御と一定値入力とを切替え
50
おわりに
• 最適制御とは:制御の「良さ」を表す評価関数(関
数の関数:汎関数)を最小にする制御
• 実時間最適制御:複雑な最適制御問題を高速に
解いて,状況に応じたフィードバック制御を実現.
さまざまな応用が可能.
http://www.ids.sys.i.kyoto-u.ac.jp/~ohtsuka/index_j.htm
51