こんにちは、
ロール、ピッチ、ヨーを取得するために、FXOS8700CQ (線形加速度センサと磁力計を統合した 6 軸センサー) と FXAS21002 (3 軸デジタル角速度ジャイロスコープ) を使用しています。
両方の IC の x、y、z 軸を揃えることは必須ですか?
私たちの PCB では、両方の IC の x、y、z 軸が揃っていません。ここに、PCB 上で IC をどのようにコネクテッドしたかを示す画像を添付します。ロール、ピッチ、ヨーのデータを取得していますが、取得する値は有効ではありません。ハードウェアに変更を加えずに正しいデータを取得する方法。
問題解決にご協力ください。
こんにちは、アンキットさん。
より深く理解するために、アプリケーションノート AN5017 (具体的には段落 1.4 と 1.5) を参照してください。
簡単な例として、Aerospace / NED 標準を使用していると仮定します。加速度計が最終製品に水平に取り付けられている場合、少なくとも製品が水平に置かれているときは、FXOS8700 データシートに記載されているように +1g が測定されます (下の図 4 の切り取り線を参照)。
地球の重力ベクトルは下向きになっているため、NED XYZ 参照フレームの Z「下」軸と一致します。その結果、Zout = +1g 加速度センサの読み取り値も NED フレームに直接適用されます。
最終製品にセンサが逆さまに取り付けられた場合(例:たとえば、PCB の下側にある加速度センサを使用する場合、NED フレーム規則と一致するように加速度センサデータを反転する必要があります。センサの場合は Zout = -1g ですが、NED フレームでは Z = +1g になります (最終製品では変更されません)。
実際には、センサーと NED 軸が反対方向にある場合はセンサー データをそのまま使用できますが、同じ方向にある場合は適切な HAL マトリックスを使用してセンサー データを反転する必要があります。このマトリックスは、軸の順列がある場合はそれも処理します。
よろしくお願いいたします、ジャック。
こんにちは、ジャック。
ジャック・トリシェはこう書いている。
NED システムは「重力正」規則を使用していますが、当社の加速度センサは「加速度正」を使用していることに注意してください。
上記の記述についてもう少し簡単に説明していただけますか?理解できませんでした。
ありがとうございます
アンキット
こんにちは、アンキットさん。
NXP Kinetis SDK に追加できる ISSDK ミドルウェア ライブラリの Sensor Fusion ソース コードを使用しているものと想定しています。
まず、最終製品の XYZ 参照フレーム (右手の法則に従う) と座標系を定義する必要があります。
私たちは通常、「NED」(北、東、下)とも呼ばれる航空宇宙座標系を採用しています。最終製品用に選択された XYZ 参照フレームに関連付けられた座標系によって、ピッチ、ロール、ヨー角度の計算が制御されます。詳細については、AN5017 を参照してください。NED システムは「重力正」規則を使用していますが、当社の加速度センサは「加速度正」を使用していることに注意してください。
次に、最終製品内の正確なセンサ レイアウトに応じて、変換マトリックス (HAL ハードウェア抽象化レイヤー) を適用して、各センサの XYZ 参照フレームを最終製品の参照フレームに揃える必要がある場合があります。これは通常、軸の交換や反転から構成されます。
実際の例は、 issdk\algorithms\sensorfusionフォルダーに含まれるhal_frdm_fxs_mult2_b.cソース ファイルにあります。これは FIFO データ読み取りの使用に対応していますが、単一データ ポイント読み取りに簡単に変更できます (ループ カウンターを削除します)。また、各センサのレイアウトに応じて軸のスワップ/反転を調整します。
HAL 補正を使用すると、さまざまなセンサの方向を補正し、それらの測定値をシステム参照フレームに合わせることができます。
これが役に立つことを願います、ジャック。