MATLAB ヘルプ センター
加速度計のキャリブレーション パラメーター
R2023b 以降
[A,b] = accelcal(D)
[A,b] = accelcal(XUP,XDOWN,YUP,YDOWN,ZUP,ZDOWN)
[A,b] = accelcal(___,Gravity=g)
[A,b] = accelcal(D) は、キャリブレーションされていない加速度計の測定値をキャリブレーション データ D に基づいて修正するために使用される行列 A とベクトル b を返します。
A
b
D
A と b の取得後、キャリブレーションされたデータ C をキャリブレーションされていないデータ U から C = U*A + b を使用して取得します。ここで、U は M 行 3 列の行列、U の各行はキャリブレーションされていない加速度計の測定値です。
C
U
例
[A,b] = accelcal(XUP,XDOWN,YUP,YDOWN,ZUP,ZDOWN) は、加速度計のキャリブレーション方向に示す 6 つのキャリブレーション方向の測定データを指定します。
XUP
XDOWN
YUP
YDOWN
ZUP
ZDOWN
[A,b] = accelcal(___,Gravity=g) は、地球重力定数 g の値を指定します。
g
すべて折りたたむ
測定データの生成用に imuSensor オブジェクトを作成します。既定では、オブジェクトの基準座標系は北-東-下 (NED) 座標系です。測定値が一定のバイアスといくつかのランダム ノイズをもつように加速度計のパラメーターを指定します。
imuSensor
accelParams = accelparams(ConstantBias=[.1 .2 -.1],... NoiseDensity=1e-2*ones(1,3)); imu = imuSensor(Accelerometer=accelParams); disp(imu.ReferenceFrame)
NED
6 つのキャリブレーション方向のオイラー角を定義し、それらを四元数に変換します。
orients = [... 0 90 0 % xUp 0 0 -90 % yUp 0 180 0 % zUp 0 -90 0 % xDown 0 0 90 % yDown 0 0 0]; % zDown quats = quaternion(orients,"eulerd","ZYX","frame"); N = numel(quats);
外部の加速度と角速度はいずれも 0 であると仮定します。IMU センサーをシミュレートしてキャリブレーション測定値を取得します。
exAcc = zeros(N,3); angVel = zeros(N,3); D = imu(exAcc,angVel,quats)
D = 6×3 -9.6490 0.2225 -0.1925 0.0146 -9.5593 0.0153 -0.0210 0.1928 -9.9271 9.9363 0.1840 -0.0210 0.0008 9.9094 -0.0655 0.2828 0.1528 9.7232
accelcal 関数を使用してキャリブレーション パラメーターを取得します。
accelcal
A = 3×3 1.0018 0.0019 -0.0087 0.0006 1.0078 0.0041 -0.0154 0.0020 0.9986
b = 1×3 -0.0956 -0.1852 0.0779
キャリブレーション測定値を使用してキャリブレーション パラメーターを検証します。
DCali = D*A+b
DCali = 6×3 -9.7587 0.0199 -0.0298 -0.0872 -9.8187 0.0534 0.0365 -0.0111 -9.8339 9.8589 0.0196 -0.0284 -0.0875 9.8012 0.0535 0.0380 -0.0109 9.7852
ランダムな方向をいくつか作成して加速度計の測定値を取得し、測定値をキャリブレーションします。
M = 10; randomQuats = randrot(M,1); U = imu(zeros(M,3),zeros(M,3),randomQuats); C = U*A+b
C = 10×3 9.1400 3.5374 -1.3008 -7.1185 -6.8126 -0.7088 7.1372 -6.8065 -0.5943 -7.9362 1.5605 5.6203 7.4397 -2.3143 -6.2363 7.0758 -4.0794 -5.7321 3.1250 -5.4306 7.2655 0.8261 -9.7286 1.3509 0.8486 2.8606 -9.2705 -2.4922 8.5000 -3.9532
加速度計の 6 つのキャリブレーション方向の測定値。N 行 3 列の行列として指定します。N は測定値の総数です。行列の各行は加速度計のキャリブレーション方向に示す 6 つのキャリブレーション方向のいずれかにおける加速度計の測定値です。最良の結果を得るには、6 つのすべての方向について、等しい数の測定値を行列に含める必要があります。
関数は D のデータを解釈するとき、既定では、地球重力定数 g を 9.81m/s2 または 1 のいずれかの、データのノルムの平均に近い方と仮定します。
データ型: single | double
single
double
加速度計の x が上向きの方向の測定値。N1 行 3 列の行列として指定します。N1 は x が上向きの測定値の総数です。行列の各行は加速度計の測定値です。x が上向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
加速度計の x が下向きの方向の測定値。N2 行 3 列の行列として指定します。N2 は x が下向きの測定値の総数です。行列の各行は加速度計の測定値です。x が下向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
加速度計の y が上向きの方向の測定値。N3 行 3 列の行列として指定します。N3 は y が上向きの測定値の総数です。行列の各行は加速度計の測定値です。y が上向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
加速度計の y が下向きの方向の測定値。N4 行 3 列の行列として指定します。N4 は y が下向きの測定値の総数です。行列の各行は加速度計の測定値です。y が下向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
加速度計の z が上向きの方向の測定値。N5 行 3 列の行列として指定します。N5 は z が上向きの測定値の総数です。行列の各行は加速度計の測定値です。z が上向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
加速度計の z が下向きの方向の測定値。N6 行 3 列の行列として指定します。N6 は z が下向きの測定値の総数です。行列の各行は加速度計の測定値です。z が下向きの方向の定義については、加速度計のキャリブレーション方向のセクションを参照してください。
地球重力定数。正のスカラーとして指定します。この引数を指定しない場合、関数は地球重力定数 g を 9.81m/s2 または 1 のいずれかの、D のデータのノルムの平均に近い方と仮定します。
例: 9.807
9.807
キャリブレーション行列。3 行 3 列の行列として返されます。
キャリブレーション オフセット ベクトル。1 行 3 列のベクトルとして返されます。
加速度計のキャリブレーション用の測定データを取得するには、加速度計の測定座標系 (X-Y-Z) の方向を次の図に示す 6 つの方向のいずれかに揃えます。たとえば、x が上向きの測定値を取得するには、1 つ目の図に示すように、加速度計の測定座標系の正の X 方向を重力の反対方向に揃えます。
加速度計にキャリブレーション誤差が一切なく、その測定座標系が図のとおりに完全に揃っていれば、次の表に示す理想的な測定値を取得できます。
-g
0
+g
この表の aX、aY、aZ は、それぞれ X 方向、Y 方向、Z 方向の加速度成分です。g はローカルの地球重力定数です。
[1] AN4508 Application Note: Parameters and Calibration of a Low-G 3-Axis Accelerometer.
R2023b で導入
magcal | imuSensor | accelparams
magcal
accelparams
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ