【回転】Pitch Roll Yawから、純粋な傾きを求めたい。クォータニオンとか回転行列とかオイラー角とか(まだ調べ中)【座標変換】

スポンサーリンク
広告

座標変換と回転

ドローンのピッチ・ロール・ヨー って角度が あって、方位角と合わせて、ちょっと地球座標からの角度を出したいんですよね。

昔、むか~し、ロボットやってたのよね。僕。。それでロボットって地面があって足があって胴体があって腕があって、なので、手を動かすと、ベクトルを足から計算していって手の先の位置を決めるのに、座標軸がいっぱいあって。。いや~ん。人間ってそんなの計算してないやん!ってことで、ニューラルネットワークとかファジィ制御とかやってたわけです(笑)

クリックしてmech_ctrl_eng_study_20160120.pdfにアクセス

が。。ここに来て。。やっぱ、座標変換便利だよなとw

座標変換については、今だとむちゃくちゃ便利に。。Pythonだとライブラリーがあったりする

scipy.spatial.transform.Rotation — SciPy v1.8.0 Manual

まぁ、きっとUnityとかAnimationとか3D系ができてるってことは、こういう座標系の変換の嵐なんで、ライブラリーきっとしっかりしているんだろうねぇ~

UnityEngine.Transform - Unity スクリプトリファレンス
オブジェクトの位置、回転、スケールを扱うクラス
Transform-Rotate - Unity スクリプトリファレンス
Use Transform.Rotate to rotate GameObjects in a variety of ways. The rotation is often provided as an Euler angle and not a Quaternion.

しかし。。ライブラリーを使うと、何やっているのか??わかんなかったりする(笑)

Python♪FEM:回転行列による座標やベクトルの回転
回転行列による座標やベクトルの回転について説明します。なお、回転では同じ座標を回転する場合と、座標系を回転させる場合で計算方法が変わります。図を見ながら「座標」「節点荷重ベクトル」「節点変位ベクトル」の座標変換について説明したいと思います。

このあたりを読むと良さそう。

ピッチ・ロール・ヨー

とはいえ、ドローンが飛んでたとして。。

ドローンの座標系があって(本当は真ん中だけど)。。

ドローンの場合、前後左右がわかりにくいけど。。 前と思う方に対して 傾いているのを、ピッチ角がついた状態っていう。

それに対して、横向きに傾くと、ロールしているといい。

Z軸に対して、回転しているのを、ヨー角がついているという。

飛行機の操作系 だと ピッチ(エレベータ) ロール(エルロン) ヨー(ラダー)。。飛行機やってた僕にはわかりやすいけど。。今ドローンやってる人って、進行方向ってあまり気にしないみたいなので、ピッチとロールの表現って難しいって感じました(笑)

座標変換

座標系をあわせる 絶対座標とローカル座標|医療のためのPythonプログラミング
2つのものの角度をみるときに、一方からみたときのもう一方の角度を計算する必要がある事があります。 私は整形外科ですが、例
Python NumPy サンプルコード: 3 次元回転行列の座標変換
Python NumPy サンプルコード: 3 次元回転行列の座標変換

このあたりを読むとわかるのかな?<おぃ

画像イメージとかだと、アフィン変換になって、OpenCVとかの出番になるんですね。

Python, OpenCVで幾何変換(アフィン変換・射影変換など) | note.nkmk.me
Python, OpenCVで画像の幾何変換(線形変換・アフィン変換・射影変換)を行うには関数cv2.warpAffine()およびcv2.warpPerspective()を使う。ここでは以下の内容について説明する。幾何変換(幾何学的変換)の種類線形変換同次座標で表す変換アフィン変換射影変換 線形変換 同次座標で表す...

って横道にそれると余計にわからないですね。。

EKFによる姿勢推定

GitHub - kouhei1970/pico_copter: Flightcontrol system for quadcopter using Raspberry Pi Pico
Flightcontrol system for quadcopter using Raspberry Pi Pico - GitHub - kouhei1970/pico_copter: Flightcontrol system for quadcopter using Raspberry Pi Pico

GitHub - adreena/Drone-EKF
Contribute to adreena/Drone-EKF development by creating an account on GitHub.
Build software better, together
GitHub is where people build software. More than 73 million people use GitHub to discover, fork, and contribute to over 200 million projects.

Kalman-and-Bayesian-Filters-in-Python/11-Extended-Kalman-Filters.ipynb at master · rlabbe/Kalman-and-Bayesian-Filters-in-Python
Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, un...

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。