【ロードセル】干渉補正式の基礎再学習<2年ぶり>

スマートキャリブレーションプローブで秋月のSC301AがY方向偏荷重Mxモーメントで4%以上のクロストークが発生したため、FxFyの分力を使って干渉補正して、精度を向上させないといけません。
幸いクロストークが完全な線形なので、干渉補正結果はよくなると思います。クロストークの線形性が悪い場合は干渉補正しても改善できない場合があるので、きちんと分力がでる起歪体を作ることが大原則です。
プロの6分力計は、ハードがきちんと作られていて、干渉補正
がオプションでついている程度ですので、ハードが基本です。
最高峰のロードセルメーカー HBMのページ
https://www.hbm.com/jp/7115/how-does-a-multi-axis-sensor-work/
https://www.hbm.com/jp/5626/multi-axis-sensor-mcs10/

 

●2年前のEXCELを眺めた
同志社大学の論文を参考にしました
MFT2018で会場で慌てて、干渉補正をやり直したのが2018年8月だったので2年ぶりに干渉補正のEXCELを眺めてみますが、完全に忘れてしまっていたので当時のファイル類バックアップをみつけて、理解するのに、2日かかってしまいました。当時でも、あまり干渉補正計算を理解してなかった節がありますので、今回でようやく、原理を理解してきたという感じです。
●干渉補正概要:
6分力n干渉補正は、6つの分力を6つの分力ブリッジの出力で1次式で表現されます。Aは求める変換係数、Eはひずみ値(電圧)
Fx=A11*Efx+A12*Efy+A13*Efz+A14*Emx+A15*Emy+A16*Emz
Fy=A21*Efx+A22*Efy+A23*Efz+A24*Emx+A25*Emy+A26*Emz
Fz=A31*Efx+A32*Efy+A33*Efz+A34*Emx+A35*Emy+A36*Emz
Mx=A41*Efx+A42*Efy+A43*Efz+A44*Emx+A45*Emy+A46*Emz
My=A51*Efx+A52*Efy+A53*Efz+A54*Emx+A55*Emy+A56*Emz
Mz=A61*Efx+A62*Efy+A63*Efz+A64*Emx+A65*Emy+A66*Emz
と6x6の連立方程式があります。
理想だと測定したEと分力の値を代入すれば、Aの計算は、連立方程式で
得られるはずですが、実際の実験値では、解がでません。
6次元グラフをイメージすれば、6本の直線が交わるのですが、1点に決まらないということです。交わらないので、たくさんデータを測定して、代入すすることで、それぞれが一番近い近似点を求める方法をとります。多元の最小二乗法になります。その場合は、縦長の矩形行列ができます。行数が試行データセット数で、列は、分力の数だけあります。矩形行列の連立方程式で近似解を得るための
手法として、以下の一般逆行列解法が一般に使われてます。

■こういう現象は、工学では、日常的に存在することで、お決まりの解法としてMoore-Penroseの法則
(MP逆行列とか一般化逆行列とか疑似逆行列と呼ばれてます。)
参照資料は、WEB上に無数にあります。
・いろいろな応用例がみたい場合はこちらが詳しかったです。
http://kaji-lab.jp/kajimoto/leastsquare.htm

・素人用に分かりやすいのがこちらでした。作者様へ感謝です。これだけで、EXCELの計算までもっていけます。
https://imagingsolution.net/math/pseudoinversematrix/

 

 

●私のEXCELにあった式を理解する
EXCELの行列式関数の基本はこちらです。
https://imagingsolution.blog.fc2.com/blog-entry-82.html

 

■Fx My2軸センサの場合の式
 目標の式は、の[a11,a12][a21,a22]を求めるのが計算の目的
Fx=a11*FxmV+a12*MymV
My=a21*FxmV+a22*MymV

例えばせん断力FxとモーメントMyだけの2分力センサで干渉補正を行う場合 mVは、測定ひずみ値 、
校正荷重を3
水準測定したとします。
校正負荷1kgの場合の分力値(Fx1、My1)
校正負荷2kgの場合の分力値(Fx2、My2)
校正負荷3kgの場合の分力値(Fx3、My3)
◆行列への割り付け

X=[FxmV1,MymV1] [FxmV2,MymV2][FxmV3,MymV3] :[3行][2列]
A=[a11,a12][a21,a22] :[2行][2列]
Y=[Fx1,My1][Fx2,My2][Fx3,My3]  :[3行][2列]

測定ひずみ電圧をX行列、分力をY行列、求める係数A行列として
X行列の一般化逆行列*Y行列の計算式をEXCEL式を1行でまとめてあります。
XA=Y
         A=XY ;一般化逆行列X

※以下[][]を1行で横に列を並べて表現して、
行列計算の[行][列]の数合わせで検算

  行列Aは、[a11,a12][a21,a22]の[2行][2列]
行列Xは、[FxmV1,MymV1][FxmV2,MymV2][FxmV3,MymV3]の[3行][2列]

行列Xは、矩形型なので、正方型に変換処理するために
転置x元行列で正方化となる法則を使う
XTXは、転置[2行][3列」*元[3行][2列] =>[2行][2列]の正方行列になる
この正方行列の逆行列を計算(XTX)-1  

一般化逆行列:X(XTX)-1XT
          正方[2行][2列]*転置[2行][3列]=>[2行][3列]

A[2行][2列]=XYは、[2行][3列]*[3行][2列]=>[2行][2列]

 

●EXCELからプログラムへ移行
上記EXCELでの計算は、手動で、
  「SHIFT+CTRL+ENTER」というおまじない
 操作しないと、行列計算がスタートしません。
全自動干渉補正システムを構築するうえで、EXCELから脱却しないと
できませんので、上記行列計算をC++にするかProcessingに
するかプログラム化しないといけません。

 

●以後
  行列関係のプログラミングの事例がたくさんあるので、コピペでなんとかできると思います。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です