IMU WT901からUARTでデータ取得④オイラー角
WT901からクオターニオンのデータだけを送っていますが、オイラー角angleも送れます。クオターニオンは0x55 0x59から始まりますがオイラー角は0x55 0x53です。matlabのプログラムでは両方を送ってきても同時に取得できますが、simulinkでは二つのデータを判別するような記述は簡単にはできません。
そこで、クオターニオンのデータをオイラー角へ変換します。オイラー角は、飛行機でいえば、機首方位角(heading angle)、ピッチ角(attitude angle)、バンク角(bank angle)で表せ、人が見てわかる数値になっています。ZYXオイラー角は,特別にロール・ピッチ・ヨー角と呼ばれることがありますが、各軸回転角度を反映してはいません。
●Coordinate Transformation Conversion
ライブラリCoordinate Transformation Conversionを使います。このブロックは、入力の座標変換の表現を、指定した出力表現に変換します。
ここでは、四元数 (Quat) – [w x y z]をオイラー角 (Eul) – [z y x]に変換します。
しかし、Fixed Point Toolboxがないと固定小数点演算できないとエラーが出ました。
そこで、浮動小数点へ変換します。ブロックconvertはデフォルトのままです。
画面中に型を表示するには、メニューのデバッグから、情報のオーバレイの画面を出し、端子-基本データ型を選択します。