クアッドコプタのパーティクルフィルタモデル予測制御

RSJ2014AC3M1-03
クアッドコプタのパーティクルフィルタモデル予測制御
島田 健人 (九州工業大学) 津上 聖也 (九州工業大学) ○西田 健 (九州工業大学)
1.
はじめに
近年,マルチコプタと呼ばれる垂直上方を向いた複数
のプロペラを有する UAV(Unmanned Aerial Vehicle)
の設計 [1] やその制御 [2, 3] に関する研究が数多く行わ
れており,特に,四つのプロペラを有するクアッドコ
プタに関する研究が盛んに行われている.クアッドコ
プタには十字のボディーフレームの端にロータとプロ
ペラが組み合わされて搭載されている.クアッドコプ
タは,それぞれのプロペラの回転速度を変化させるこ
とで,前後上下左右の移動やピッチング動作が可能で
あり,垂直離着陸や一定位置でのホバリングが可能で
ある.
一方で,クアッドコプタは入力飽和が発生する非線
形システムであり,空中で風などの外乱の影響を強く
受ける.位置誤差のフィードバック制御系などの簡便な
制御系では,制御入力の変動や絶対値が過大になり飽
和する傾向があり,不安定化を招く場合がある [4].そ
こで本研究では,このような問題の解決に有効なモデ
ル予測制御法 (model predictive control, MPC) の導入
を考える.しかし一般の予測制御法では,参照軌道に
対する最適な予測入力の算出は確定論的に行われ,予
測制御中の確率的に振舞う外乱の影響は考慮されない.
そこで,本研究ではパーティクルフィルタモデル予測
制御 [5, 6] を,上述の不確実さを考慮したクアッドコ
プタの予測制御法のために導入する.これにより,ク
アッドコプタの状態量を任意の範囲に留め,制御不能
や墜落を生じる可能性のある制御入力の発生を防ぐこ
とができるようになることが期待できる.
2.
クアッドコプタの運動モデル
2.1
連続時間モデル
座標系とクアッドコプタ座標系の関係を図 1 に示す.
慣性座標系を Σo ,ロボットに固定されたロボット座標
系を Σr とする.また Σr の z 軸の上向きを正とする.
Σo に対する Σr の回転姿勢は,3 つのオイラー角によっ
て定まる.回転変換は次のように表すことができる.
RO
r (θz , θy , θx ) = Rz (θz )Ry (θy )Rx (θx )
(1)
ここで,Rz (θz ),Ry (θy ),Rx (θx ) はそれぞれ z 軸,y
軸,x 軸周りの回転座標変換を表す.また Σo に対す
る Σr の位置を z(t) = [x(t) y(t) z(t)]T とする.ロボッ
トは四つのプロペラがあり,十字のボィーフレームの
四端にそれぞれ固定されており,プロペラはロータに
よって回転し推力を得る.ローターの角速度を si (t) と
表すと,鉛直上向きの推力は
fi (t) = bs2i (t)
(i = 1, 2, 3, 4)
(2)
と表せる.ここで,b は推力定数と呼ばれる正の定数
である.ΣO に対するクアッドコプタの運動モデルは
ニュートンの第二法則に従って次のように与えられる.

  


0
0
vx (t)

  


(3)
m¨
z (t) = RO
r  0  −  0  − K vy (t)
F (t)
mg
vz (t)
ただし,g は重力加速度,m はロボットの質量,F (t) =
∑
fi (t) は上方向の推力である.右辺第二項は重力であ
り,Σo の Z 軸方向,すなわち鉛直下向きに作用する.
右辺第三項は空気抵抗に関する項で K ∈ R3×1 は比例
定数による行列を表し,v(t) , [vx (t) vy (t) vz (t)]T は
Σo に対するロボットの速度である.
次に,オイラーの運動方程式より回転に関する運動
は次のように与えられる.
˙
J ω(t)
= −ω(t) × J ω(t) + T (t) − K e ω(t)
(4)
ここで,J ∈ R3×3 は慣性行列,ω(t) は角速度ベクト
T
ル,T (t) , [τxr (t) τyr (t) τzr (t)] はロボットに働くト
ルクである.右辺第三項は角速度による抵抗に関する
項で K e , [Kex Key Kez ]T は比例定数行列である.慣
性行列は正定値対称行列であり,適当な直交座標系を
選ぶことで対角化できる.また,そのときの座標軸を
慣性主軸と呼び,慣性行列 J は次のように表される.


Ixx 0
0


J =  0 Iyy 0 
(5)
0
0
Izz
これを用いると,式 (4) は次のように表される.
Ixx ω˙1 (t) + (Izz − Iyy ) ω2 (t)ω3 (t) = τx (t) − Kex ω1
Iyy ω˙2 (t) + (Ixx − Izz ) ω3 (t)ω1 (t) = τy (t) − Key ω2
図 1 慣性座標系とクアッドコプタの座標系の関係.
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
Izz ω˙3 (t) + (Iyy − Ixx ) ω1 (t)ω2 (t) = τz (t) − Kez ω3 ,
RSJ2014AC3M1-03
T
˙
こ こ で ,ω(t)
, [ω˙ 1 (t) ω˙ 2 (t) ω˙ 3 (t)] ,ω(t) ,
T
[ω1 (t) ω2 (t) ω3 (t)] である.
クアッドコプタの運動モデルは式 (3) と式 (4) を統合
することによって得ることができる.
]
[
F (t)
= As2 (t)
(6)
T (t)
ここで,

b
b

 0
−db
A,
−db
0

−k
k
[
s2 (t) , s21 (t) s22 (t)
b
0
db
−k

b

db

0

k
(7)
s23 (t) s24 (t)
]T
xk+1 = xk


∆2 {
vk }
∆3 v k + { 2 3 RO
r (θ k )F k (sk ) − g − K
m
}
vk


∆3 RO
r (θ k )F k (sk ) − g − K m

+
}

∆23 { −1
∆3 ω k +{ 2 J (−ω k × J ω k + T k (sk ) − K e}ω k )
∆3 J −1 (−ω k × Jω k + T k (sk ) − K e ω k )
ここで,F k (sk ) = [0 0 F (t)/m]T ,g = [0 0 g]T であ
る. したがって, この状態方程式は非線形である.
離散時間状態方程式と観測方程式は次のように表現
できる.
(8)
である.これは,ロータ回転数の関数である.Aは,
b, k, d > 0 ならばフルランクであり,機体に特定の推
力とモーメントを与えるロータの回転周波数は次のよ
うに与えられる.
[
]T
s2 (t) = A−1 F (t) τxr (t) τyr (t) τzr (t)
(9)
2.2
行列, 03 ∈ R3×3 は零行列, ∆3 = diag[∆, ∆, ∆], そし
て ∆23 = diag[∆2 , ∆2 , ∆2 ] である. さらに,方程式は
次のように表現できる.
離散時間状態方程式
計算機やセンサによる計測,通信などの実際のクアッ
ドコプタの構成要素は離散時間で駆動されるため,そ
の制御系も実際には離散系として構成される.また,予
測制御系や時系列の確率推定手法は離散時間系を対象
として理論が構築されている.したがって,ここでは
前述した連続時間における運動方程式を離散時間の記
述に変換する.
まず,クアッドコプタの重力中心の速度,加速度,角
速度,角加速度を次のように表す.
¨ (t) , v(t)
˙
z
, a(t),
(10)
¨ , ω(t)
˙
θ(t)
, α(t)
(11)
(
)
xk = ϕ xk−1 , uk−1 , ξk−1
(15)
y k = ψ (xk , η k )
(16)
ここで,ϕ は状態遷移関数, ξ k はシステムノイズ, ψ は
計測関数,η k は計測ノイズである.
3.
パーティクル予測制御
従来の MPC は,有限の予測時間区間において入力
を最適化する.MPC の主な利点は現在の時間区間を最
適化することができ,一方で将来の時間区間を考慮す
ることができることである (図 2) が,計測ノイズや不
確定な外乱を考慮しない.そこで,そのような不確定
性を考慮できる PF-MPC [6] を導入する.
PF-MPC では,現時刻から NP までの複数の予測
¯ k:k+NP が計測ノイズやシステムノイズを考慮し生成
x
され,入力は目標軌道との偏差と xk:k+NP に基づいた
評価関数によって制御則が最適化される.以下に具体
的な PF-MPC のアルゴリズムを示す.
(Particle Filtering)
[m]
これらにテーラー展開を適用し,利用可能な信号が存
在する次元までの項を用いると次のように表現できる.
xk+1 = Φxk + Γ uk
ここで,
(12)
given 粒子の初期状態 x0 を想定される状態量周辺
[m]
に与える.粒子の重みは w0 = 1/M とする.
step 1-1 サンプリングする.
(m)



zk
I3
 

 vk 
03


xk , 
 θ  , Φ , 0
 k
 3
ωk
03

 ∆2
3
03

 2
 ∆3
0 
 , uk

Γ ,
2

 03 ∆2 3 
03 ∆ 3
∆3
I3
03
03
03
03
I3
03
xk

03

03 

∆3 

I3
(m)
= ϕ(xk−1 , uk−1 , ξ k−1 )
(17)
(13)
Reference trajectory
Predicted output
Measured output
Predicted control input
[
ak
,
αk
Past control input
]
(14)
k は離散時間,∆ はサンプリング時間,ak ∈ ΣO は加
速度 ω k は角速度,αk は角加速度,I 3 ∈ R3×3 は単位
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
Prediction horizon
Sampling time
k
k+1 k+2
...
図 2 モデル予測制御.
k+p
RSJ2014AC3M1-03
step 1-2 正規化重みを計算する.
(m)
w
¯k
(m)
(m)
= wk−1 h(y k |xk )
(18)
w
¯
= ∑M k
j=1
軌道追従シミュレーション
4.1
条件
4.1.1
(m)
(m)
wk
4.
(19)
(j)
w
¯k
step 1-3 Nef f < NT であればリサンプリングを行う.
[7]: リサンプリングは次式によって行う [7].
1
Nef f = ∑
)2 .
(
(i)
M
w
i=1
k
(20)
各パラメータを次のように設定した.∆ = 0.01
[s], m = 420 [g], Ixx = Iyy = 5.136 [gm2 ],
Izz = 10.16 [gm2 ], d = 0.21 [m], NP = 40,
ξk ∼ N (0, Σv ), Σv = diag(0.03, 0, 0.03, 0, 0, 0), η k ∼
N (0, Σw ), Σw = diag(0.001, 0, 0.001, 0, 0, 0), Σu =
diag(10.5, 0, 10.5, 0, 6, 0), g = 9.807 [ms−2 ]. 粒子数
は M = 20 とした. 実験的に,比例定数ベクトルは
K = [1 1 1]T ,K e = [1 1 1]T とした.
4.1.2
全ての粒子の重みが等しい場合は Nef f = M ,重みの
種類が最大のときは Nef f = 1 となり,有効に利用され
ている粒子の数を示す指標として用いることができる.
これは,頻繁なリサンプリングを避けるために導入さ
れる.適切な閾値 NT を設定し,得られた Nef f が NT
未満であるときリサンプリングを行う.
(Particle Filtering-Model Predictive Control)
Given それぞれの粒子の入力は次のように生成される.
(m)
¯k
u
= uk−1 + v, v ∼ N (0, Σu )
(m)
¯k
さらに, x
(m)
(m)
= xk ,w
¯k
(m)
= wk
(21)
これらの関係を図 3 に示す.
4.1.3
(m)
Step 2-2 粒子のサンプリング
(
)
(m)
(m)
(m)
¯ k+j = ϕ x
¯ k+j−1 , u
¯ k+j−1 , ξ k+j−1
x
(
hp
(m)
w
¯k+j =
(m)
sk+j |¯
xk+j
(23)
}
2σd2
(28)
ここで,σd2 = 0.03 である.
4.1.4
入力の決定
パーティクル予測によって,時刻 k + NP ステップで
目標軌道と最も近い状態を持った粒子の時刻 k + 1 に
(25)
Step 2-5 j = 1 から j = NP まで上記の過程を繰り
返す.
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
∼ exp −
(m)
dk+j
(m)
rz
次の評価関数に基づいている.
{
¯ k+j と目標軌道との
ここで,j ステップ後の予測粒子 x
距離は次のように計算できる.
(
)
(m)
x
¯
−yxk
(m)
(m)
− k+jTs
dk+j , z¯k+j − (rz − yzk ) 1 − e
+ yzk x[m]
k+3
¯ef f < N
¯T であればリサンプリングを行う.
Step 2-4 N
[m]
¯ k+j を決める.
入力系列 u
Step 3 次式から uk+1 を決定する.
}
{
(m)
(m)
(m)
¯ k+1:k+NP , u
¯ k+1:k+NP , wk+1:k+NP
x
)
(22)
Step 2-3 目標軌道 sk+j を用いた尤度計算を行い, 次
式より重みを更新する.
(
)
(m)
(m)
(m)
w
˜k+j = w
¯k+j−1 hp sk+j |¯
xk+j
(24)
(m)
w
˜k+j
∑M (m)
˜l
l=1 w
尤度評価関数
尤度評価のために次の評価関数を与える.
Step 2-1 入力のサンプリング
(m)
目標軌道
簡単のため前進および上下方向の移動のみを考える.
[m]
[m]
[m]
[m]
[m]
[m]
つまり,y0 = vy0 = θx0 = θz0 = ωx0 = ωz0 = 0
と設定した.
次に,離散時間 k におけるクアッドコプタの計測位
置 y k , [yxk 0 yzk ]T から目標位置 r , [rx 0 rz ]T =
[20 0 5]T まで徐々に近づくような参照軌道 s(x) を次の
ように構築した.
)
(
x−yxk
+ yzk
s(x) = (rz − yzk ) 1 − e− Ts
(27)
である.
¯ k+j = u
¯ k+j−1 + v, v ∼ N (0, Σu )
u
パラメータ
z
s(z) (=s(x))
d [m]
k+1
Particle cloud
Measurement
x[m]
k+2
(yxk yzk)
x[m]
k+1
(26)
x
図 3 参照軌道,目標軌道,粒子雲の関係.
RSJ2014AC3M1-03
おける入力 uk+1 が次の入力として採用される.すな
わち,次の処理を実行する.
{ N
}
P
∑
(m)
(m) ¯ k+Np uk+1 = argmin λ
dk+i + (1 − λ) r − x
¯ (m)
u
i=0
k+1
(29)
4.2
結果
クアッドコプタの位置の時間推移と粒子の軌道の一
部を図 4 に示す. この図で示される結果は,外乱や計
測ノイズの影響を受けるクアッドコプタの制御におい
て提案した PF-MPC の手法が有効であることを示して
いる.さらに,様々のパラメータを変化させたシミュ
レーションより入力系列の時間推移が安定であること
を確かめた.
5.
(a) State values (k=10)
まとめ
本論文では環境外乱や計測ノイズによって影響を受
けるクアッドコプタの制御システムにパーティクル予
測制御を用いる手法を提案した.提案手法は逆モデル
を要求しないので,クアッドコプタの非線形系モデル
を予測制御に用いることができる.さらに,パーティ
クルフィルタモデル予測制御が有効に作動したことを
シミュレーションにより示した.
今後の課題は,シミュレーション条件における y 軸方
向への拡張,および回転角度の制御などが挙げられる.
(b) Input (k=10)
参考文献
[1] V.Kumar, N.Michael: Opportunities and challenges with autonomous micro aerial vehicles,
The International Journal of Robotics Research,
Vol. 31, No. 11, pp. 1279–1291, 2012.
[2] B.Sumantri, N.Uchiyama, S.Sano, Y.Kawabata:
Robust tracking control of a quad-Rotor helicopter utilizing sliding mode control with a nonlinear sliding surface, Journal of System Design
and Dynamics, Vol.7, No.2, pp.226–241, 2013.
[3] D.Mellinger, N.Michael, V.Kumar: Trajectory
generation and control for precise aggressive maneuvers with quadrotors, The International Journal of Robotics Research, Vol.31, No.5, pp.664–
674, 2012.
[4] P.Corke: Robotics,Vision and Control Fundamental Algorithms in MATLAB, Springer,
pp.78–86, 2011.
[5] J.P.de Villiers, S.J.Godsill, S.S.Singh: Particle
predictive control, Journal of Statistical Planning
and Inference, Vol.141, No.5, pp.1753–1763, 2011.
[6] D.Stahl, J.Hauth: PF-MPC particle filter-model
predictive control, Systems & Control Letters,
Vol.60, No.8, pp.632–643, 2011.
[7] J.S.Liu, R. Chen: Sequential Monte Carlo methods for dynamic systems, Journal of the American
Statistical Association, Vol.93, No.443, pp.1032–
1044, 1998.
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
(a) State values (k=100)
(b) Input (k=100)
(c) State values (k=200)
(d) Input (k=200)
図 4 クアッドコプタの位置の時間推移と粒子の軌道.