軌道決定・推定に使いたい誤差伝播のお話
この記事は、東京大学航空宇宙工学科/専攻 Advent Calendar 2019 の17日目の記事として書かれています
理論的な学術記事ってなんだろうね
「まな板にしようぜ!」
Jo論
実在するモノをどうにかして推定・制御しようとする私たちは、「誤差」という恐怖から逃れることができません。技術屋が用いる「誤差」という言葉は、理論値――選りすぐりの天才たちが考案した数式や、CPUを利用した(誤差無し)数値計算――からの実際の物理現象のずれのことで、これが大したことない内は無視した議論ができます。一方、未来のことを予測して制御しようと考えると、大体の場合は誤差が拡大していって酷いことになります。誤差が未来でどうなっているか考える時に、最終的に確率的な考え方を導入するというのがダイナミクス界隈で主流になっているやり方です。
この未来の誤差を考えるために使う手法が誤差伝播であり、だいたい確率的な事象を扱うときに出てきます。確率論的な考えは対称な意味合いで用いられる決定論的事象とセットで考えるとその性質がわかりやすく、
- 「決定論的」(Deterministic)
ある事象が必ず決まった道筋をたどると考えて現象を考えること。例えば、ある時間に+1にある物体は次に必ず+2にある…というように時間ごとに状態が定まる現象の考え方。摩擦0の坂を一定の重力加速度のみを受けて進んでいく箱とか。
- 「確率論的」(Statistic)
ある事象がその状態でいる確率から、次の時間の条件付確率を考えて事象の遷移を考察すること。例えば、ある時間に+1に80%で、-1に20%の確率で存在するので、次の時間では+1に60%、-1に40%の確率で存在する。という解析をすること。お酒君の力で生じる千鳥足ウォークとか。
といった比較ができます。
条件付確率・ベイズ推定
誤差伝播とフィルタリング手法
カルマンフィルター (KF) 、拡張カルマンフィルター (EKF)
無香カルマンフィルター (UKF)
誤差伝播の手法
Uncented Transform
Uncented Transform は、UKFのアルゴリズム途中に出てきた誤差伝播の手法で、
1.推定誤差共分散行列からシグマポイントと呼ばれる「分布の代表点」を、次元数nに対して2n+1個取る
2.それぞれの点を状態遷移モデルに従って遷移させ,これらの点から重み付け和により状態量と観測量を推定する
という手法です.UTでは2次までのモーメントを求められます。(つまり、シグマポイントを取る際の分布にガウシアン仮定をしています)
CADFT
Covariance Analysis Describing Function Techniqueの略
統計的線形化という手法を用いて期待値と共分散行列の微分方程式を作り、それを伝搬していく方法です。利点と欠点は
メリット:伝搬時間が短い間は線形化共分散分析より正確であり、またヤコビアンが定義できないシステムにも用いることができる。
デメリット:非線形性に弱く、伝搬時間が長い場合は正確性が失われること、また3回微分まで計算する必要がある。
といった点を挙げられます。
統計的線形化は、その名の通り非線形ベクトル関数を統計的にのように線形化することです。まずの期待値と共分散行列をとして線形化誤差を定義し、線形化誤差の二次形式の期待値を最小にする2パラメータを求めます。(Aは任意の半正定値行列です)
より、であり、に代入して,
従ってとなり、最終的に
となります。
これを状態方程式
期待値を取ることと時間微分は可換なので、
また、共分散行列を考えると、
より、この期待値を取ることで
がわかります。つまり、がわかればを伝播できます。
について、多変量の場合、期待値を解析的に求めるのは難しいので、を周りでテイラー展開し、二次近似を行います(これは、少なくともがガウシアンに従うときは妥当な仮定のように思えます)。計算は省略して、
となります。二次元二体問題について(ガウシアンを仮定して)やってみると結構よい計算練習になると思います。
State Transition Tensor
STM(State Transition Matrix)の高次拡張版という感覚的な説明ができます。
特徴としては、ダイナミクスをテイラー展開して近似しており、統計量を近似する手法とは異なるアプローチである
ダイナミクスの高次項を考慮してSTMと比べて高精度な不確定性伝搬が可能である
というものを備えています。一方でダイナミクスは微分できる必要があり、高事項であるほどSTTの計算は煩雑になっていきます。
①ノミナル軌道生成
②ノミナル軌道から各時間のダイナミクスf_iを求め,微分方程式より欲しい次数のSTTを伝播
③STTが求まれば,初期値の平均,共分散行列より任意時刻での平均,共分散行列が求まる(ただし,初期分布がガウス分布の場合)
ただ、このテンソル計算は相応のモジュールを用意しなければかなりの重さになり、実装するにあたっての壁が高そうな手法だなぁというのが、解説を聞いたり実装の様子を見た感想であったりします。
Polynominal Chaos
多項式カオス展開手法 と訳すことができます。ランダム変数空間を直行多項式基底を用いて確率解へ射影する手法であり、特徴を列挙すると、
- 確率微分方程式を解いて得られる確率解の確率密度分布を直接近似してくれる。
- 確率微分方程式の解なので、初期状態量の不確定性だけでなくダイナミクス自体の不確定性も扱える。(太陽輻射圧, 重力場, 大気密度の不確定性など)
- GMMやSTTと比較して、多くの項を更新する煩雑な手続きがなく精密な確率密度分布を近似できる。
といった特徴を挙げられます。
~ざっくりしたやり方~
定式化は
とできます。ここでそれぞれの成分は、
:時刻tにおけるランダムな出力 (n×1)
:時刻によらない互いに独立な成分を持つランダムベクトル (m×1)
:時刻tにおける係数 (n×1)
:時刻によらないスカラー出力の基底関数
:は既定関数の次元を定めるインデックスベクトル
となっています。以下では簡単にn=1のがスカラである場合を考えます。
ランダムベクトルの成分は互いに独立なので、同時確率密度関数を定義できます。
基底関数は、インデックスベクトルに対して一つ定まる基底関数です。に対応した正規化直交多項式により、
と定義できます。
直交多項式は漸化式で逐次的に求まり、帰納的には必ずn次の多項式になります。
このように変換したは、異なる基底関数の積の期待値が持つ性質から、
(興味のある方は計算してみてください)
実際の計算では、インデックスベクトルが無限にあっても意味がないので、truncation schemeというものを用いて有限個のaを求め、任意のオーダーpまでの近似を取る手法が一般的なようです。モデルによってエルミート多項式、ルジャンドル多項式等を用いるようです。
は、モデルに踏み込んで直接微分方程式を解く手法・モデルをBlock Boxと考えて解く手法により求められ、前者にはGalerkin Projection method, 後者にはSpectral Projection, Ordinary Least squaresといった手法が存在します。
まとめ
・誤差伝播という、誤差とダイナミクスに向き合う手段にどんなものがあるのかざっくり見てみました。
・王道の誤差伝播に対するフィルタリングとしてはカルマンフィルターがあります。
・その他、いろいろなフィルタリングや誤差伝播手法があるので紹介しました。
ざっくりこんな感じになったと思います。推定・制御界隈は猛者の巣窟なので、この貧弱記事では無限に背中から刺されそうですが…手法の名称間違いや前提・数式的な誤りがあれば是非ご指摘ください。
力尽きた中途半端な記事で失礼しました…見たまま編集とかいう見えてる地雷を踏んだ結果がこれだよ
「あったよ!質点として扱っても力学的誤差が観測できないぐらい小さい球が!」
「おい、それ俺たちを吸い込もうとしてな
終
制作・著作
━━━━━
ⓃⒽⓀ
*1:確率ロボティクス pp.024 - 031
*2:電子情報通信学知識ベース 6章 カルマンフィルタ
*3:UKF (Unscented Kalman Filter) って何? 山北 昌毅 2006
*4:S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte, “New approach for filtering nonlinear systems,” Proc. Am. Control Conf., vol. 3, no. June, pp. 1628–1632, 1995.
*5:Y. Luo and Z. Yang, “A review of uncertainty propagation in orbital mechanics,” Prog. Aerosp. Sci., vol. 89, no. December 2016, pp. 23–39, 2017.