クアッドコプターのダイナミクス[Advent2016]

クアッドコプターのダイナミクスについて思考したことをまとめる.

諸量の定義

クアッドコプターを,本体1つとローター(羽)4つからなる,5つの剛体がとみる.この5つの剛体と剛体の相互作用に関する物理量を次のように定義する.
クアッドコプターの羽に対して,番号を回転順で振る.ベクトルはすべて代数ベクトル.
本体質量M
羽質量m_i
慣性系から見た慣性座標系で測った本体並進速度V
慣性系から見た慣性座標系で測った羽並進速度v_i
慣性系から見た本体座標系で測った本体回転速度\Omega
本体系から見た本体座標系で測った羽回転速度\omega_i
本体座標系で測った本体へのコプター外からの外力F
各羽座標系で測った羽へのコプター外からの外力F_i
本体座標系で測った本体へのコプター外からの外トルクT
各羽座標系で測った羽へのコプター外からの外トルクT_i
本体座標系から羽座標系への回転行列R_i
本体座標系から羽座標系への並進ベクトルr_i
本体座標系で測った本体の慣性行列J
各羽座標系で測った各羽の慣性行列j_i
各羽座標系で測った本体から羽へのの拘束力f_i
各羽座標系で測った本体から羽へのの拘束トルクt_i
慣性座標系から本体座標系への回転行列R_o
慣性座標系から羽座標系への回転行列R_{oi}

運動方程式

上で定義した量によって,クアッドコプターの運動方程式は次の4本でかけるはずだ.
ただし,本体から羽へのの拘束力f_iによるトルクは発生しないとする.

J  \dot{\Omega}=-\Omega\times J\Omega + T - \Sigma_i R_i t_i - \Sigma_i r_i \times (R_i f_i)
j_i \dot{(R_i^{-1}\Omega+\omega_i)}=-(R_i^{-1}\Omega+\omega_i)\times j_i(R_i^{-1}\Omega+\omega_i) + t_i + T_i
M\dot{V} = R_o(F - \Sigma_i R_i f_i)
m_i \dot{v_i} = R_{oi}(F_i + f_i)

運動方程式の変形

これらの仮定による変形は,それぞれ独立である.

仮定による変形1

R_i,\omega_iについては,拘束条件から,本体座標系から見て上方向を軸とした回転しかしない.また,j_iについては,羽座標系を適切にとることで,対角行列とでき,対称性から上方向以外の2つ成分は等しいと仮定することができる.このことより,回転の運動方程式(運動方程式上2つ)は拘束トルクを消去して,次のようにまとめることができるだろう.

J  \dot{\Omega}=-\Sigma_i j_i\dot{(\Omega+\omega_i)} -\Omega\times J\Omega + T  - \Sigma_i r_i \times (R_i f_i) - \Sigma_i(\Omega+\omega_i)\times j_i(\Omega+\omega_i)-\Sigma_i R_i T_i

仮定による変形2

拘束より,明らかにv_i = V + \Omega \times R_o r_i が成り立っている.
かき途中.

運動方程式の解法

考え中… (かき途中)Advent 担当の日になるまでには何か書く.
ドローンのリアルタイム制御に使用したいので,なるべく軽く,かつ精度よくしたい.
そのために拘束力は事前に数式から消しておくべきだろう.
現在は運動方程式が正しいか検証中.

計算メモ

回転行列の微分と角速度の関係
\dot{R}=\omega \times R 明らか.
0 = \dot{1} = \dot{(R R^{-1})} = \dot{R} R^{-1} + R \dot{R^{-1}} より,
 \dot{R^{-1}} = -R^{-1} \dot{R} R^{-1}

間違いがあったら教えてください

$latex $

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中