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はデフォルトのままです。

 画面中にを表示するには、メニューのデバッグから、情報のオーバレイの画面を出し、端子-基本データ型を選択します。

前へ

IMU WT901からUARTでデータ取得③simulinkでクオータニオンのデータを取得

次へ

IMU WT901からUARTでデータ取得⑤9軸の情報の取得