Madgwick Filterをライブラリ化しました.内容はオープンソースになっていたやつのほぼ同じです.
Dependencies: Quaternion
Dependents: Hybrid_main_FirstEdtion rocket_logger_sinkan2018_v1 HYBRYD2018_IZU_ROCKET Hybrid_IZU2019 ... more
Fork of MadgwickFilter by
MadgwickFilter Class Reference
Madgwick Filterを用いて,角速度・加速度・地磁気データを統合し,姿勢を推定するライブラリです. More...
#include <MadgwickFilter.hpp>
Public Member Functions | |
MadgwickFilter (float B=BETA_DEF) | |
マドグウィックフィルター(マッジュウィックフィルター)クラスのコンストラクタ | |
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 13 of file MadgwickFilter.hpp.
Constructor & Destructor Documentation
MadgwickFilter | ( | float | B = BETA_DEF ) |
マドグウィックフィルター(マッジュウィックフィルター)クラスのコンストラクタ
- Parameters:
-
B double型, この値を大きくすると重力の影響を大きく取るようになります.
- Note:
- 引数無しの場合,B = 0.1fが代入されます.
Definition at line 82 of file MadgwickFilter.hpp.
Member Function Documentation
void getAttitude | ( | Quaternion * | Q ) |
姿勢を四元数で取得します.
- Parameters:
-
Q クォータニオンクラスのインスタンスアドレス, w・i・j・kを更新します.
- Note:
- unityに入れる際は軸方向を修正してください.
Definition at line 95 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 102 of file MadgwickFilter.hpp.
void getEulerAngle | ( | float * | val ) |
オイラー角で姿勢を取得します.
- Parameters:
-
val ロール,ピッチ,ヨーの順に配列に格納します.3つ以上の要素の配列を入れてください.
- Note:
- 値は[rad]です.[degree]に変換が必要な場合は別途計算して下さい.
Definition at line 111 of file MadgwickFilter.hpp.
void MadgwickAHRSupdate | ( | float * | gyro, |
float * | acc, | ||
float * | mag | ||
) |
MadgwickFilterによって角速度・加速度・地磁気データを統合し,姿勢計算します.
- Parameters:
-
gyro 角速度データ,[rad]に変換してから入れてください. acc 加速度データ, 特に規格化は必要ありません mag 地磁気データ, キャリブレーションを確実に行って下さい.
- Note:
- 角速度は[rad]にしてください.この関数は出来るだけ高速に呼び出し続けた方が良いと思います.
- 外部でローパスフィルタなどをかけることをお勧めします.
Definition at line 238 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 120 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 370 of file MadgwickFilter.hpp.
Generated on Tue Jul 12 2022 18:24:13 by 1.7.2