【宇宙機制御入門】キネマティクスその3,クォータニオン【第3弾】 | デイビッドの宇宙開発ブログ

【宇宙機制御入門】キネマティクスその3,クォータニオン【第3弾】

前回の記事

【宇宙機制御入門】キネマティクスその2,オイラー角【第2弾】
前回の記事 はじめに この講座では,宇宙機の主に姿勢力学・制御について,初学者の方が難しい専門書を読まずにサクッとエッセンスが習得できることを目指しています.また,そういった専門書では述べられない,理解の近道やちょっとし...

 

はじめに

この講座では,宇宙機の主に姿勢力学・制御について,初学者の方が難しい専門書を読まずにサクッとエッセンスが習得できることを目指しています.また,そういった専門書では述べられない,理解の近道やちょっとした工夫なども盛り込むようにしています.

宇宙工学の分野,特に宇宙機の制御に関する専門書は和書にはほとんどないのが現状です.またそういった専門書は,初学者にはあまりにも難解で途方にくれてしまいます.院試や学科の勉強で苦労される方も多いと思います.実際に筆者もそうでしたしなんなら今もよく困ります笑.そのような方が,まずは手軽に学習のとっかかりを得て・概観と本質を上手くつかんでいただくサポートができれば,と考えています.不明点などがあれば,ぜひ気軽にコメントいただければ,追記させていただきます!

姿勢の表記には,座標系が大切です.ある座標での姿勢と別の座標での姿勢は,座標を取っ払えば同じ姿勢です.しかしながら計算していく上で何かしら量を与えなくてはいけません,そこで,どのように姿勢を表記して,どのように二つの座標間で変換計算を行うかを考えるべきです.

キネマティクス表現

おさらいですが,方式には,

  1. DCM(Direction cosine matrix)方向余弦行列
  2. オイラー角
  3. クォータニオン

がありました.

今回はクォータニオンについてです.

クォータニオンによるDCM表現

クォータニオン(オイラーパラメーター)

2つの座標は,ある軸まわりの1回の回転で一致可能

  q_0, q_1, q_2, q_3 \quad ( q_0^2 + q_1^2 + q_2^2 + q_3^2 = 1)

クォータニオンを

    \begin{eqnarray*} \mathbf{q} &=& (q_0, q_1, q_2, q_3) \\ &=& \begin{pmatrix} \cos \frac{\phi}{2} \\ \sin \frac{\phi}{2} \mathbf{m} \end{pmatrix}\\ \quad (\mathbf{m} = \text{回転軸の単位ベクトル})\end{eqnarray*}

を定義する.

このとき,回転行列を求めると,

    \begin{eqnarray*} C^b_i =\begin{pmatrix} q_0^2 + q_1^2 - q_2^2 - q_3^2 & 2(q_1q_2 + q_0q_3) & 2(q_1q_3 - q_0q_2) \\ 2(q_1q_2 - q_0q_3) & q_0^2 - q_1^2 + q_2^2 - q_3^2 & 2(q_2q_3 + q_0q_1) \\ 2(q_1q_3 + q_0q_2) & 2(q_2q_3 - q_0q_1) & q_0^2 - q_1^2 - q_2^2 + q_3^2 \end{pmatrix}\end{eqnarray*}

これを時間微分することで,キネマティック方程式は,

    \begin{eqnarray*} \dot{\mathbf{q}} = \frac{1}{2} \begin{pmatrix} -q_1 & -q_2 & -q_3 \\ q_0 & -q_3 & q_2 \\ q_3 & q_0 & -q_1 \\ -q_2 & q_1 & q_0 \end{pmatrix}\mathbf{\omega}^b \end{eqnarray*}

 となります.クォータニオンは,計算量が少ないため,リアルタイム処理などでは必須級ですね.ドローンなどでもよく使われている印象です.

まとめ

今回はクォータニオンによる回転表現についてまとめました.クォータニオンはオイラー角に比べてさらに,航空宇宙以外でも,汎用的に利用される数学表現かなと,思いますので,ご参考になれば幸いです.

次回以降はダイナミクスです!

 

 

ほか記事もどうぞ.
【軌道力学入門】二体問題の基本方程式、軌道要素【第1弾】

【圧縮性流体力学入門】音速とマッハ数【第1弾】

コメント

タイトルとURLをコピーしました