Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: NineIMUAttitude_MadgwickFilter
MadgwickFilter Class Reference
Madgwick Filterを用いて,角速度・加速度・地磁気データを統合し,姿勢を推定するライブラリです. More...
#include <MadgwickFilter.hpp>
Public Member Functions | |
| MadgwickFilter (float B=BETA_DEF, float dT_sec=0.05f) | |
| マドグウィックフィルター(マッジュウィックフィルター)クラスのコンストラクタ | |
| void | MadgwickAHRSupdate (float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz) |
| MadgwickFilterによって角速度・加速度・地磁気データを統合し,姿勢計算します. | |
| void | MadgwickAHRSupdate (float *gyro, float *acc, float *mag) |
| MadgwickFilterによって角速度・加速度・地磁気データを統合し,姿勢計算します. | |
| void | MadgwickAHRSupdateIMU (float gx, float gy, float gz, float ax, float ay, float az) |
| MadgwickFilterを角速度と加速度のみで動かし,姿勢計算を更新します. | |
| void | getAttitude (Quaternion *Q) |
| 姿勢を四元数で取得します. | |
| void | getAttitude (float *_q0, float *_q1, float *_q2, float *_q3) |
| 姿勢を四元数で取得します. | |
| void | getEulerAngle (float *val) |
| オイラー角で姿勢を取得します. | |
Detailed Description
Madgwick Filterを用いて,角速度・加速度・地磁気データを統合し,姿勢を推定するライブラリです.
- Note:
- Quaternion.hppを利用されることをお勧めいたします.
Definition at line 14 of file MadgwickFilter.hpp.
Constructor & Destructor Documentation
| MadgwickFilter | ( | float | B = BETA_DEF, |
| float | dT_sec = 0.05f |
||
| ) |
マドグウィックフィルター(マッジュウィックフィルター)クラスのコンストラクタ
- Parameters:
-
B double型, この値を大きくすると重力の影響を大きく取るようになります.
- Note:
- 引数無しの場合,B = 0.1fが代入されます.
Definition at line 100 of file MadgwickFilter.hpp.
Member Function Documentation
| void getAttitude | ( | Quaternion * | Q ) |
姿勢を四元数で取得します.
- Parameters:
-
Q クォータニオンクラスのインスタンスアドレス, w・i・j・kを更新します.
- Note:
- unityに入れる際は軸方向を修正してください.
Definition at line 118 of file MadgwickFilter.hpp.
| void getAttitude | ( | float * | _q0, |
| float * | _q1, | ||
| float * | _q2, | ||
| float * | _q3 | ||
| ) |
姿勢を四元数で取得します.
- Parameters:
-
_q0 実部w, double型, アドレス _q1 虚部i, double型, アドレス _q2 虚部j, double型, アドレス _q3 虚部k, double型, アドレス
- Note:
- unityに入れる際は軸方向を修正してください.
Definition at line 126 of file MadgwickFilter.hpp.
| void getEulerAngle | ( | float * | val ) |
オイラー角で姿勢を取得します.
- Parameters:
-
val ロール,ピッチ,ヨーの順に配列に格納します.3つ以上の要素の配列を入れてください.
- Note:
- 値は[rad]です.[degree]に変換が必要な場合は別途計算して下さい.
Definition at line 136 of file MadgwickFilter.hpp.
| void MadgwickAHRSupdate | ( | float * | gyro, |
| float * | acc, | ||
| float * | mag | ||
| ) |
MadgwickFilterによって角速度・加速度・地磁気データを統合し,姿勢計算します.
- Parameters:
-
gyro 角速度データ,[rad]に変換してから入れてください. acc 加速度データ, 特に規格化は必要ありません mag 地磁気データ, キャリブレーションを確実に行って下さい.
- Note:
- 角速度は[rad]にしてください.この関数は出来るだけ高速に呼び出し続けた方が良いと思います.
- 外部でローパスフィルタなどをかけることをお勧めします.
Definition at line 329 of file MadgwickFilter.hpp.
| void MadgwickAHRSupdate | ( | float | gx, |
| float | gy, | ||
| float | gz, | ||
| float | ax, | ||
| float | ay, | ||
| float | az, | ||
| float | mx, | ||
| float | my, | ||
| float | mz | ||
| ) |
MadgwickFilterによって角速度・加速度・地磁気データを統合し,姿勢計算します.
- Parameters:
-
gx,gy,gz 角速度データ,[rad]に変換してから入れてください. ax,ay,az 加速度データ, 特に規格化は必要ありません mx,my,mz 地磁気データ, キャリブレーションを確実に行って下さい.
- Note:
- 角速度は[rad]にしてください.この関数は出来るだけ高速に呼び出し続けた方が良いと思います.
- 外部でローパスフィルタなどをかけることをお勧めします.
Definition at line 146 of file MadgwickFilter.hpp.
| void MadgwickAHRSupdateIMU | ( | float | gx, |
| float | gy, | ||
| float | gz, | ||
| float | ax, | ||
| float | ay, | ||
| float | az | ||
| ) |
MadgwickFilterを角速度と加速度のみで動かし,姿勢計算を更新します.
- Parameters:
-
gx,gy,gz 角速度データ,[rad]に変換してから入れてください. ax,ay,az 加速度データ, 特に規格化は必要ありません
- Note:
- 通常の関数でも,地磁気成分を0.0にすればこの関数が呼ばれます.
Definition at line 462 of file MadgwickFilter.hpp.
Generated on Wed Jul 20 2022 11:03:10 by
1.7.2