stormworks/座標系
#stormworks
https://wikiwiki.jp/sbarjp/SENSORS#b48edf9e から引用
Physics Sensorから出力される座標やオイラー角を利用するにあたり、このセンサーが採用している座標系について理解する必要がある。
Mマップ画面で右下に表示される座標やGPS Sensorから出力される2次元座標は、東方向をX軸正方向、北方向をY軸正方向に取っている。
これに加えAltimeterから出力される高度をZ座標として採用するとこの座標系は右手系となる。以下この座標系をGPS座標系と呼ぶ。
これに対し、Physics SensorやCamera Stabilizedから出力される座標は、東方向をX軸正、鉛直上方向をY軸正、北方向をZ軸正に取った左手系の座標系となっている。
以下この座標系をPhysics Sensor座標系と呼ぶ。
座標の数値をPhysics Sensor座標系からGPS座標系へ変換したい場合は、古いY座標を新しいZ座標に、Z座標をY座標にそれぞれ読み替えればよい。
Physics Sensor上部に表示されている水色の矢印はセンサー自体の向きを表し、Physics SensorのLocal座標系の基準となる。
以下Physics SensorのLocal座標系は、水色の大きい矢印をZ軸正、小さい矢印をX軸正に取った左手系の座標であるとする。
Physics Sensorから出力されるオイラー角は、Physics SensorのLocal座標系とGlobal座標系の向きを一致させ、そこからセンサーをZ軸まわり→Y軸まわり→X軸まわりの順に回転させたときのLocal座標系の姿勢を表すオイラー角となっている(回転の向きは、軸正方向に左ネジが進む向きを正としている)。いわゆるZ-Y-X系のオイラー角である。
GPS 座標系
https://scrapbox.io/files/681b5fefc20238ad87838b69.png
GPS自体は高さの情報を持たない。
北がY軸正、東がX軸正
よく見るタイプの座標系
Altimeterの数字をz軸として導入すると"右手系"となる
多くの分野(測量を除く)では一般に右手系が標準とされているらしい
https://ja.wikipedia.org/wiki/右手系
Physics Sensor 座標系
https://scrapbox.io/files/681b61e7c1f0d3d9d33fc712.png
真上がY軸正、北がZ軸正、東がX軸正
Physics Sensorのローカル座標系は図の通りに取られる
https://scrapbox.io/files/681b639cca5223a780aed61e.png
ここで、姿勢はオイラー角で表現される
ただし、回転する座標系は回転に着いてこないタイプの(extrinsic)座標系になる
よーするに、基準となる回転軸そのものは空間に固定され、回転に合わせて回ってくれない、ということ
先程引用した記事では、Z-Y-Xのオイラー角だと言われている
以下記事では、X-Y-Zのオイラー角だと言われている
https://steamcommunity.com/sharedfiles/filedetails/?id=3302971632
いずれにせよ、Proper Euler型ではなくTait-Bryan型のオイラー角である
Proper Euler: X-Y-XやY-Z-Yのように同じ軸が二度登場する。オイラーが元々定式化したのはこちら
?同じ軸が前と後ろに二度登場してもちゃんと3次元回転できるのか?
→回転操作は可換ではない。最初の2回転で軸が動いているので同じ軸をもういちど使っても問題ない
Tait-Bryan: X-Y-ZやY-Z-Xのようにすべてばらばらの軸で回転させる。航空宇宙産業ではこちらが便利なので使われる
今回登場したのもこちら
Intrinsic euler angles can be converted to extrinsic euler angles just be reversing their order
https://jp.mathworks.com/matlabcentral/answers/2074066-convert-quaternion-to-euler-angle-extrinsically
とのことなので、後者記事ではextrinsicに測り、前者記事ではintrinsicに測定したのではないか
検証
真北、真南のときY軸は0になっている(yaw)
母艦ごと真北で、真上にピッチアップしたときX軸は-1/2pi 真下にピッチダウンしたとき1/2pi
右に90度傾けたときZ軸は-1/2pi
全然分からない、何も……
比例航法ミサイルを作ろう Stormworks: Build and Rescue #初心者 - Qiita
これを見てとにかくやる……