IMU WT901からUARTでデータ取得②クオータニオンのデータを取得
MPU9250はTDK InvenSenseのGyroscope(ジャイロスコープ)、Accelerometer(加速度)、Magnetometer(磁力)の9軸慣性測定ユニットですが、WT901ボードでは、オイラー角やクオータニオンの出力も行います。
しかし、デフォルトでは9軸データの出力だけなので、設定を変更しなければ、オイラー角やクオータニオンの値は得られません。
●Windowsアプリ
https://drive.google.com/drive/folders/1dWvJU2Ug7MpcwTPWoARw2KJI8oYbuVEW
から、Standard Software for Windows PC.zipをダウンロードし、解凍(展開)します。MiniIMU.exeをダブルクリックします。アプリケーションが立ち上がります。
Dataのタブをクリックします。
TIME、ACCELERATION、MAGNETIC FILED(uT)、PRESSURE(Tempratur)、Angleの値が更新されています。
メイン・メニューのConfigを選択します。
Contentの設定で、全部のチェックを外し、Quaternionだけにチェックを入れます。
Dataの画面を見ます。
TimeとQuaternionのデータが更新されています。
●プログラム
clear
close all;
s = serialport('COM3', 9600);
Q=[0 0 0 0];
figure;
while (1)
Head = read(s,2,'uint8');
if (Head(1)~=uint8(0x55))
continue;
end
if (Head(2) == uint8(0x59))
Q = (read(s,4,'int16')/32768);
%fprintf("%.4f ",Q);
poseplot(quaternion([Q(4) Q(1) Q(2) Q(3)]), MeshFileName="plane3.stl",scaleFactor=0.3);
view([50 50 -10]);
pause(0.1);
end
end
実行している様子です。クオータニオンの四つのデータの並びがデータシートでは不明なので、上記のように変更していますが、正しいかどうかは検証できていません。