Simulink を使用した IMU センサー フュージョン
この例では、Simulink® を使用して IMU センサー データを生成および融合する方法を説明します。加速度計、ジャイロスコープ、および磁力計の動作を正確にモデル化し、それらの出力を融合して向きを計算できます。
慣性計測ユニット
慣性計測ユニット (IMU) は、加速度を測定する加速度計と角速度を測定するジャイロスコープで構成されるセンサーのグループです。地球の磁場を測定する磁力計も含まれていることがよくあります。これら 3 つの各センサーで 3 軸の測定値が生成され、これら 3 つの測定値は 9 軸の測定値を構成します。
姿勢方位基準装置
姿勢方位基準装置 (AHRS) は、9 軸のセンサー読み取り値を受け取り、デバイスの向きを計算します。この向きは NED 座標系を基準に与えられます。ここで、N は磁北方向です。Simulink の AHRS ブロックは、間接的なカルマン フィルター構造を使用してこれを行います。
Simulink システム
IMU センサー データを融合する Simulink モデルを開きます。
open_system('IMUFusionSimulinkModel');
入力とコンフィギュレーション
IMU ブロックへの入力は、デバイスの線形加速度、角速度、およびナビゲーション座標系を基準とした向きです。向きの形式は、四元数 (Simulink では 4 行 1 列のベクトル) またはナビゲーション座標系の数量をボディ座標系に対して回転する回転行列 (Simulink では 3 行 3 列の行列) です。このモデルでは、向きの入力を作成するために角速度が単に積分されています。角速度の単位は rad/s で、線形加速度の単位は m/s^2 です。AHRS の並進に関連する入力は 1 つのみであるため (加速度計の入力)、重力と線形加速度を区別できません。したがって、AHRS アルゴリズムでは、線形加速度は緩やかに変化するホワイト ノイズ過程であると仮定されます。これは 9 軸のフュージョン アルゴリズムでは一般的な仮定です。
真北と磁北
IMU ブロックのダイアログ ボックスの磁場パラメーターはローカルの磁場値に設定できます。磁場値は NOAA の Web サイトで確認するか、Aerospace Toolbox の wrldmagm
関数を使用して確認できます。IMU ブロックのダイアログ ボックスの磁場値は、真北を向いている完全な磁力計の読み取り値に対応します。そのため、IMU ブロックへの向きの入力は NED 座標系を基準とします。ここで、N は真北方向です。ただし、AHRS フィルターは磁北に向かってナビゲートします。これはこのタイプのフィルターでは一般的です。したがって、IMU への向きの入力と AHRS の出力で推定される向きは、真北と磁北の間の偏角だけ異なります。
このシミュレーションは、緯度を 、経度を
として設定されています。この位置の磁場は、IMU ブロックでは [27.5550, -2.4169, -16.0849] マイクロテスラとして設定されています。この位置の偏角は約
です。
シミュレーション
モデルのシミュレーションを実行します。IMU の入力の向きと AHRS の出力で推定される向きが四元数距離を使用して比較されます。これは、オイラー角の特異点を考慮すると、同等のオイラー角の差異計算と比較して推奨されます。
sim('IMUFusionSimulinkModel');
推定される向き
推定される向きと実際の向きの差はほぼ となります。これは、この緯度と経度における偏角です。
ジャイロスコープのバイアス
AHRS フィルターの 2 番目の出力は、バイアスを補正したジャイロスコープの読み取り値です。IMU ブロックでは、ジャイロスコープに 0.0545 rad/s または 3.125 deg/s のバイアスが与えられています。これは Gyroscope Bias
Scope ブロックの定常状態値と一致する必要があります。
追加の演習
IMU のパラメーターを変化させると、AHRS の出力で向きが対応して変化することがわかります。実際の IMU データシートに合わせて IMU ブロックのパラメーターを設定し、要件を満たすように AHRS パラメーターを調整できます。