京都大学宇宙総合学研究ユニット「宇宙学セミナー」
京都大学吉田キャンパス， 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

普通の関数の最小化
yy=f(x)接線最小になる点x• 関数が最小になる点：接線の傾きが0• 変数 x の微小変化 dx に対する関数 f(x) の微小変
化 df が0．
関数値の微小変化（微分） df =df ( x)
dxdx

傾き16

汎関数の最小化• 関数や汎関数の微小変化：変分• 汎関数が最小：関数 f(x) の変分 δf(x) に対する汎関数の変分 δS = S[f+δf] – S[f] が0．
f(x) に対する最適性条件17変分問題の例：最速降下線問題• 質点が重力のみを受けて曲線に沿って運動するとき，与えられた2点間の移動時間が最小になる曲線を求めよ．
O汎関数
2tf = (x ,y(x))

xf0

 dy ( x) 1+ dx
 dt
2 gy

P(xf ,yf)mgvy（ヨハン・ベルヌーイ 1696）18変分問題の例：最速降下線問題• 最速降下線は，出発点と終点を結ぶサイクロイドx(θ ) =b(θ − sin θ )2y (θ ) =b(1 − cos θ )2

θ : 媒介変数b : 曲線の大きさを決める係数19変分問題の例：懸垂曲線• 両端が固定された一定長さのひもに一様な重力が加わるとき，平衡状態でひもが描く曲線を求めよ．
OxP(xf ,yf)

汎関数：全位置エネルギー

U = − ρg xf02

 dy ( x) y ( x) 1 +  dxdx


ひもの長さ：一定値y=

xf02

 dy ( x) 1+  dxdx

20

変分問題の例：懸垂曲線• 懸垂曲線（カテナリー）
1  x+b  a coshy ( x) = + c ρg 
 a  a, b, c: 曲線の長さ，始点，終点を決めるパラメータ（ヨハン・ベルヌーイ 1691）21変分問題の例：フェルマーの原理• 与えられた2点を通る光の経路は所要時間を最小にする．

22

変分問題の例：最小作用の原理• 力学系に保存力のみが働いて実現される運動は，作用積分を最小にする．

t2

 Tdt
t1t1
運動エネルギーt223変分問題の例：プラトー問題• 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の距離を重力だけで移動することができます．その時の所要時間はどれくらいだと思いますか？
（１）約10分（２）約1時間（３）約10時間（４）約1日28

答え（１）約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

ホバークラフト
左の推力

２入力

位置 y
姿勢角 θ３出力

制御目的：所定の位置・姿勢にホバークラフトを移動させよ．

評価関数：位置・姿勢のずれ，速度の大きさ，制御入力の大きさ
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