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

 実行している様子です。クオータニオンの四つのデータの並びがデータシートでは不明なので、上記のように変更していますが、正しいかどうかは検証できていません。

前へ

IMU WT901からUARTでデータ取得①接続